Content Scramble System

CSS , Content Scramble System  är ett system för att skydda digitalt medieinnehåll på DVD- media . Systemet är extremt instabilt mot hackning. På grund av restriktioner för export av kryptografisk teknik från USA är längden på krypteringsnyckeln begränsad till 40 bitar, vilket är extremt litet. Dessutom, på grund av den upptäckta sårbarheten, är den effektiva nyckellängden cirka 16 bitar - det vill säga alla möjliga alternativ kan sorteras ut på en modern dator på bara några sekunder, vilket beror på en primitiv skyddsmetod. [1] 2005 ersattes CSS av den mer robusta AACS .

Skapande historia

DVD - specifikationen var klar i december 1995 . Tillverkare av DVD-spelare och DVD-enheter behövde ha en betydande mängd filmer och musik på DVD. Filmstudior märkte dock att DVD-skivor skulle vara en idealisk källa för att kopiera filmer: digital information skulle inte förlora sin kvalitet när den spelades in igen (videokassetter tillät inte detta på grund av APS analog utgångsskydd ). DVD -konsortiet var skyldigt att tillhandahålla lämpligt kopieringsskydd. Som ett resultat skapade DVD-konsortiet Copy Protection Technical Working Group (CPTWG ) .  Den 29 oktober 1996 tillkännagav CPTWG etableringen av CSS, som huvudsakligen utvecklades av Toshiba och Matsushita Electric Industrial . En ideell organisation, DVD Copy Control Association (DVD CCA ) , skapades för att licensiera användningen av CSS . [2] 

Hackens historia

Den första CSS-sökroboten dök upp på Internet i november 1997 under namnet softDVDcrack. Det här programmet bröt faktiskt inte CSS, utan Zoran-spelaren. Zoran fixade snart buggarna i den hackade versionen av spelaren, men kopior av den gamla versionen fanns kvar online. Hackingsprocessen var ganska komplicerad, så programmet fick ingen massdistribution. Efter det fanns det många fler liknande applikationer. Kollapsen av CSS är dock förknippad med tillkomsten av DeCSS- programmet i november 1999 . Den skrevs av en norsk skolpojke Jon Johansen baserat på omvänd konstruktion av Xing - spelarkoden av ett team av tyska programmerare MoRE (Masters of Reverse Engineering). Xing verkar inte ha kodat en nyckel för att låsa upp skyddade DVD-skivor. DeCSS skiljer sig från alla tidigare program genom att dekrypterar CSS snarare än att fånga upp videoströmmen från en licensierad spelare. Dessutom kommer vilken dator som helst som kan spela upp en DVD-film att kunna knäcka CSS ganska enkelt med DeCSS . Därför spreds DeCSS snabbt över världen, även om det är olagligt i vissa stater att lägga ut DeCSS-kod på webbplatser. [3]

CSS -algoritm

Det finns flera komponenter inblandade i CSS-algoritmen: DVD-skivan, DVD-enheten, spelaren och värden. De måste dock alla vara licensierade av DVD Copy Control Association (DVD CCA) för att använda CSS. CSS-algoritmen består av två delar: autentisering och kryptering.

Autentisering

  1. DVD -enheten ber värden om ett 2-bitars autentiserings-ID .  Detta värde används för att namnge autentiseringssessionen.
  2. Ömsesidig autentisering sker mellan DVD-enheten och värden. Värden genererar en slumpmässig 40-bitarssekvens och skickar den till DVD-enheten. DVD-enheten krypterar denna sekvens med CSS-hashfunktionen ,  tar emot ett 80-bitars värde, den så kallade Challenge Key , och skickar det till värden .  Värden själv dekrypterar svaret och jämför det med den genererade sekvensen. Om värdena matchar litar värden på DVD-enheten, eftersom endast licensierade enheter och program anses känna till den hemliga CSS-hashfunktionen. Den omvända operationen utförs (rollerna är omvända mellan värden och DVD-enheten), varefter DVD-enheten litar på eller inte litar på värden, beroende på resultatet av jämförelsen.
  3. En bussnyckel genereras .  Värden och DVD-enheten kombinerar de slumpmässiga sekvenserna som används för autentisering, och med hjälp av CSS-hashfunktionen får var och en en bussnyckel. Denna nyckel krypterar ytterligare nyckelöverföringar mellan värden och DVD-enheten. Denna nyckel sänds aldrig över bussen.
  4. Spelaren och DVD:n är autentiserade. Varje licensierad spelare har en eller flera spelarnycklar från en  lista med 409 nycklar. På en skyddad disk, i ett osynligt område, är en disknyckel ( eng. Disk Key ), krypterad med var och en av de 409 nycklarna, och en autentiseringsnyckel ( eng. Authentication Key ), det vill säga disknyckeln som är krypterad av sig själv . lagrad. Dessa nycklar utgör ett 2048-byte block. Blocket skickas till spelaren. Spelaren vet i vilket område skivnyckeln finns, krypterad med dess nyckel, och dekrypterar värdet i detta område. Sedan, för att verifiera nyckelns äkthet, dekrypterar den autentiseringsnyckeln med den hittade disknyckeln och jämför resultatet med disknyckeln. Om nycklarna matchar anses autentiseringen vara framgångsrik. Annars utför spelaren alla operationer med nästa spelarnyckel som den känner till, och så vidare. Disknyckeln används senare. [3]  

Dekryptering

DVD-data krypteras efter sektor. Information om huruvida en sektor är krypterad eller inte lagras i sektorhuvudet. Endast sektorer som bär strömmande information (video, bild, ljud) är krypterade, resten, till exempel de som ansvarar för navigering, är inte krypterade. Datakryptering är baserad på bit-för-bit-tillägg med en pseudo-slumpmässig bitsekvens och en-till-en-tabellbytesubstitution. För att implementera en pseudo-slumpmässig sekvens används linjära återkopplingsskiftregister ( engelska  Linear Feedback Shift Register, LFSR )

  1. Spelaren begär titelnyckeln från DVD -enheten .  Den dekrypterar sedan mottagna data med hjälp av disknyckeln för att erhålla namnnyckeln.
  2. CSS-skiftregister fylls med namnnyckelbytes. CSS-algoritmen använder två linjära återkopplingsskiftregister: 17-bitars och 25-bitars. Innan du fyller på läggs namnnyckeln bitvis till sektornyckeln ( Sektornyckel ) .  Sektornyckeln finns i byte 80 till 84 i sektorn. Efter tillägg fyller den första och andra byten av namnnyckeln ett 17-bitars register, och resten fyller ett 25-bitars register. En logisk etta infogas i den fjärde biten i varje skiftregister för att förhindra nollslinga.
  3. Skiftregistren går igenom åtta cykler och var och en producerar en utgångsbyte . XOR-funktionen används som återkoppling i skiftregister. I fallet med ett 17-bitars register är dess ingång bitarna 1 och 15, och utsignalen är bit 17 och är utsignalen från skiftregistret. I fallet med ett 25-bitars register är ingången till funktionen bitarna 1, 4, 5 och 15, och utgången är bit 25 och utgången från registret. [fyra]
  4. Registrens utgångar adderas på ett visst sätt. Före addition inverteras utsignalen från 17-bitarsregistret bitvis. Registerutmatningsbitgrupperna läggs till med den vanliga åttabitars additionen, och överflödesbiten från den föregående additionen läggs till dem, och den resulterande spillbiten (den nionde biten av summan) går till ingången för nästa addition. Resultatet bildar den gemensamma utsignalen från skiftregistren. I allmänhet kan utsignalen från varje skiftregister antingen inverteras eller inte. Härav följer att skiftregister kan arbeta i fyra lägen. Datakrypteringsläget används för att kryptera data.
  5. Den krypterade databyten går genom en tabell en-till-en-substitution och läggs till den totala utmatningen av skiftregistren. Resultatet kan reproduceras. [fyra]

CSS-skiftregister

CSS använder två Linear Feedback Shift Register .  Förskjutning i register sker från vänster till höger. Utgångsbiten är värdet på återkopplingsfunktionen. Den fjärde biten i varje register sätts till en logisk etta när skiftregistret initialt fylls. [fyra]

Krypteringslägen

CSS har fyra krypteringslägen. Läget väljs beroende på vilken information som är krypterad. Moden påverkar huruvida utsignalen från ett visst skiftregister är inverterad eller inte.

Krypteringsläge LSFR-17 LSFR-25
Autentisering omvänd icke-inverterad
Bussnyckelkryptering icke-inverterad icke-inverterad
Namnnyckelkryptering icke-inverterad omvänd
Datakryptering omvänd icke-inverterad

[fyra]

CSS-distorsionsfunktion

Vid kryptering av disknyckeln och namnnyckeln används, förutom skiftregistren, distortionsfunktionen ( English  Mangling Function ).

Byte A1-A5 är indata för distorsionsfunktionen, de ersätts med byte av nyckeln som är krypterad. Byte C1-C5 är utdata från funktionen. Byte B1-B5  är mellanvärden. Byte kl-k5 är byte av den allmänna utsignalen från skiftregistren i motsvarande mod. Skiftregistren fylls initialt med nyckeln som används för kryptering. Symbolen F betecknar en en-till-en-ersättning av en byte i tabellen. Plus står för bitvis addition av bytes. Utdata från distorsionsfunktionen är den krypterade nyckeln. [ett]

Typer av nycklar

Systemet hade följande typer av nycklar [5] :

Disk- och titelnycklarna skrevs i inledningsområdet på disken för att göra det omöjligt att kopiera dem direkt [6] .

Systemsårbarheter och möjliga attacker

Se även

Anteckningar

  1. 1 2 3 Frank A. Stevenson. Krypteringsanalys av innehållsförvrängningssystem . Hämtad 16 november 2009. Arkiverad från originalet 2 juni 2012.
  2. Arkiverad kopia (länk ej tillgänglig) . Hämtad 26 november 2009. Arkiverad från originalet 1 juli 2013.   Tekniskt yttrande angående CSS
  3. 1 2 Taylor J. DVD Demystified . Hämtad 2 oktober 2017. Arkiverad från originalet 25 april 2018.
  4. 1 2 3 4 5 Operativsystem: Design och implementering. Föreläsare: Gregory Kesden . Hämtad 19 november 2009. Arkiverad från originalet 8 januari 2019.
  5. Kryptografi i hemunderhållning - En titt på innehållsförvrängning i DVD-skivor . Hämtad 16 november 2009. Arkiverad från originalet 2 juni 2012.
  6. Scott Mueller. Uppgradering och reparation av datorer, sid. 744 Arkiverad 14 april 2018 på Wayback Machine .