FairPlay.no

What follows is a high-level description of FairPlay that I wrote for a Norwegian journalist:

Kryptoalgoritmen som benyttes i FairPlay heter AES. Nøklene som benyttes er 128-bit.

Når man kjøper en sang i iTunes Music Store fra en ny PC for første gang så genererer Music Store serverne en tilfeldig brukernøkkel. Når sangen er ferdig lastet ned så bruker iTunes denne brukernøkkelen til å legge DRM på filen. Det som skjer når iTunes ber om brukernavn og passord for å autorisere datamaskinen er at alle brukernøklene som tilhører kontoen din blir lastet ned og lagret på PC’en.

Under Windows lagres brukernøklene i en fil i mappen

C:Documents and SettingsAll UsersApplication DataApple ComputeriTunesSC Info

og under MacOS X i mappen

/Users/Shared/SC Info

Dette brukernøkkellageret er kryptert med en nøkkel som beregnes på bakgrunn av diverse informasjon (under Windows er dette BIOS versjon, navnet på CPU’en, Windows Produkt ID og serienummeret på C: harddisken).

Hvis du har en iPod så vil iTunes under synkronisering kopiere over brukernøkkellageret og kryptere det med en nøkkel som beregnes på bakgrunn av serienummeret til iPod’en.

Det eneste man trenger for å dekryptere en FairPlay fil er altså brukernøkkelen som ble brukt for å legge til FairPlay på filen.

For å skaffe seg brukernøklene sine kan man enten hente de ut fra brukernøkkellageret som ligger på PC’en eller iPod’en, eller man kan laste de ned fra Apple sine servere (FairKeys) på samme måte som iTunes gjør det når maskinen autoriseres.

Apple har aldri endret hvordan FairPlay legges til på filene. Det de derimot har endret flere ganger er hvordan brukernøkkellageret blir kryptert. De har også endret protokollen for kommunikasjon mot Music Store serverne i et forsøk på å stenge ute andre programmer enn iTunes fra å f.eks. laste ned brukernøklene.

Protokollen for kommunikasjon mot Music Store serverne er HTTP basert. Se disse to XML filene for en oversikt over kommandoer:

http://phobos.apple.com/storeBag.xml
http://phobos.apple.com/secureBag.xml

Det er samme protokollen som benyttes i SharpMusique for å kjøpe filer fra iTunes Music Store uten DRM.

Real Music

Article: Real in online music price war

Media software firm RealNetworks has halved the price of its music downloads in an aggressive attempt to boost its share of the online music market.

The company is offering songs for $0.49 each, down from the usual $0.99, while albums are available for just $4.99.

Interview with Rob Glaser over at news.com:

Q: Has the Harmony project met your expectations?

A: No, it has blown them away. We took the decision at the beginning of the year to implement Harmony. It really went back to some things we were working on before, where we’ve had good experience with creating technology with interoperability in the past.

What a coincidence 🙂

Article: Real ‘frees’ Apple’s iPod player

It says its engineers used publicly-available information in order to work out how to make files compatible with Apple’s digital rights management (DRM) software, which is called FairPlay.

Article: The Apple of forbidden knowledge (via Luis Villa)

How exactly had Real “broken into” the iPod? It hadn’t broken into my iPod, which is after all my iPod. If I want to use Real’s service to download music to my own device, where’s the breaking and entering? … So leaving aside the legal claim for a moment, where is the ethical foul? Apple was saying (and apparently believed) that Real had broken into something different from my iPod or your iPod. They had broken into the idea of an iPod. (I imagine a small, Platonic white rectangle, presumably imbued with the spirit of Steve Jobs.)

Reversing AirTunes

I’ve released JustePort, a tool which lets you stream MPEG4 Apple Lossless files to your AirPort Express.

The stream is encrypted with AES and the AES key is encrypted with RSA.

AirPort Express RSA Public Key, Modulus:
59dE8qLieItsH1WgjrcFRKj6eUWqi+bGLOX1HL3U3GhC/j0Qg90u3sG/1CUtwC
5vOYvfDmFI6oSFXi5ELabWJmT2dKHzBJKa3k9ok+8t9ucRqMd6DZHJ2YCCLlDR
KSKv6kDqnw4UwPdpOMXziC/AMj3Z/lUVX1G7WSHCAWKf1zNS1eLvqr+boEjXuB
OitnZ/bDzPHrTOZz0Dew0uowxf/+sG+NCK3eQJVxqcaJ/vEHKIVd2M+5qL71yJ
Q+87X6oV3eaYvt3zWZYD6z5vYTcrtij2VZ9Zmni/UAaHqn9JdsBWLUEpVviYnh
imNVvYFZeCXg/IdTQ+x4IRdiXNv5hEew==
Exponent: AQAB

MD5(JustePort-0.1.tar.gz) = fe13e96751958c6e9d57cce0caa7b17b

Update: JustePort is not Windows-only. Thanks to mono it runs under GNU/Linux, MacOS X and Windows.

Update: List of all iTunes RSA Public keys.