Systém kódování obsahu
CSS , Content Scramble System je systém pro ochranu obsahu digitálních médií na médiích DVD . Systém je extrémně nestabilní vůči hackování. Z důvodu omezení exportu kryptografických technologií ze Spojených států je délka šifrovacího klíče omezena na 40 bitů, což je extrémně málo. Navíc vzhledem k nalezené zranitelnosti je efektivní délka klíče přibližně 16 bitů - to znamená, že všechny možné možnosti lze na moderním počítači vyřešit během několika sekund, což je způsobeno primitivní metodou ochrany. [1]
V roce 2005 byl CSS nahrazen robustnějším AACS .
Historie vytvoření
Specifikace DVD byla připravena v prosinci 1995 . Výrobci DVD přehrávačů a DVD mechanik potřebovali mít na DVD značné množství filmů a hudby. Filmová studia si však všimla, že disky DVD by byly ideálním zdrojem pro kopírování filmů: digitální informace by při opětovném záznamu neztratily svou kvalitu (videokazety to neumožňovaly kvůli ochraně analogového výstupu APS ). Konsorcium DVD muselo poskytnout vhodnou ochranu proti kopírování. V důsledku toho konsorcium DVD vytvořilo technickou pracovní skupinu pro ochranu proti kopírování (CPTWG ) . Dne 29. října 1996 CPTWG oznámila založení CSS, který byl vyvinut především společnostmi Toshiba a Matsushita Electric Industrial . Nezisková organizace, DVD Copy Control Association (DVD CCA ) , byla vytvořena za účelem licence na používání CSS . [2]
Historie hacků
První CSS crawler se objevil na internetu v listopadu 1997 pod názvem softDVDcrack. Tento program ve skutečnosti nerozbil CSS, ale přehrávač Zoran. Zoran brzy opravil chyby v hacknuté verzi přehrávače, ale kopie staré verze zůstaly online. Proces hackování byl poměrně komplikovaný, takže program nedostal masovou distribuci. Poté bylo podobných aplikací mnohem více. Kolaps CSS je však spojen s příchodem programu DeCSS v listopadu 1999 . Napsal ji norský školák Jon Johansen na základě reverzního inženýrství kódu přehrávače Xing týmem německých programátorů MoRE (Masters of Reverse Engineering). Nezdá se, že by Xing zakódoval klíč k odemčení chráněných DVD. DeCSS se liší od všech předchozích programů v tom, že dešifruje CSS spíše než zachycuje video stream z licencovaného přehrávače. A co víc, každý počítač, který umí přehrát film na DVD, bude schopen docela snadno prolomit CSS pomocí DeCSS . Proto se DeCSS rychle rozšířil po celém světě, i když je v některých státech nezákonné zveřejňovat kód DeCSS na webových stránkách. [3]
CSS algoritmus
V algoritmu CSS se podílí několik komponent: DVD, jednotka DVD, přehrávač a hostitel. Všechny však musí mít licenci od Asociace kontroly kopírování DVD (DVD CCA), aby mohly používat CSS. Algoritmus CSS se skládá ze dvou částí: autentizace a šifrování.
Autentizace
- Jednotka DVD požádá hostitele o 2bitové ID udělení autentizace . Tato hodnota se používá k pojmenování relace ověřování.
- Vzájemné ověřování probíhá mezi jednotkou DVD a hostitelem. Hostitel vygeneruje náhodnou 40bitovou sekvenci a odešle ji do jednotky DVD. Jednotka DVD zašifruje tuto sekvenci pomocí hashovací funkce CSS , přijme 80bitovou hodnotu, tzv. Challenge Key , a odešle ji hostiteli . Host sám dešifruje odpověď a porovná ji s vygenerovanou sekvencí. Pokud se hodnoty shodují, hostitel důvěřuje jednotce DVD, protože tajnou hashovací funkci CSS znají pouze licencovaná zařízení a programy. Provede se obrácená operace (role mezi hostitelem a jednotkou DVD se obrátí), načež jednotka DVD důvěřuje nebo nedůvěřuje hostiteli, v závislosti na výsledku porovnání.
- Vygeneruje se klíč sběrnice . Hostitel a jednotka DVD kombinují náhodné sekvence používané pro ověřování a pomocí hashovací funkce CSS každý získá klíč sběrnice. Tento klíč šifruje další přenosy klíčů mezi hostitelem a jednotkou DVD. Tento klíč není nikdy přenášen po sběrnici.
- Přehrávač a DVD jsou ověřeny. Každý licencovaný hráč má jeden nebo více hráčských klíčů ze seznamu 409 klíčů. Na chráněném disku se v neviditelné oblasti nachází diskový klíč ( angl. Disk Key ), zašifrovaný každým ze 409 klíčů, a ověřovací klíč ( angl. Authentication Key ), tj. diskový klíč, který je sám zašifrován. uloženy. Tyto klíče tvoří 2048bajtový blok. Blok je odeslán hráči. Přehrávač ví, ve které oblasti se klíč disku nachází, zašifruje se svým klíčem a dešifruje hodnotu v této oblasti. Poté, aby ověřil pravost klíče, dešifruje ověřovací klíč pomocí nalezeného diskového klíče a porovná výsledek s diskovým klíčem. Pokud se klíče shodují, ověření je považováno za úspěšné. V opačném případě provede přehrávač všechny operace s klávesou dalšího přehrávače, kterou zná, a tak dále. Diskový klíč se použije později. [3]
Dešifrování
Data DVD jsou šifrována podle sektorů. Informace o tom, zda je sektor zašifrován nebo ne, je uložena v záhlaví sektoru. Šifrovány jsou pouze sektory, které nesou streamované informace (video, obraz, zvuk), zbytek, například ty, které zodpovídají za navigaci, šifrovány nejsou. Šifrování dat je založeno na sčítání bit po bitu s pseudonáhodnou sekvencí bitů a substitucí bajtů jedna ku jedné. Pro implementaci pseudonáhodné sekvence se používají posuvné registry s lineární zpětnou vazbou ( anglicky Linear Feedback Shift Register, LFSR )
- Přehrávač si vyžádá titulkový klíč z jednotky DVD . Poté pomocí diskového klíče dešifruje přijatá data, aby získal pojmenovací klíč.
- Posuvné registry CSS jsou naplněny bajty klíče názvu. Algoritmus CSS používá dva lineární zpětnovazební posuvné registry: 17bitový a 25bitový. Před vyplněním je klíč názvu bitově přidán k klíči sektoru ( Sector Key ) . Klíč sektoru je obsažen v bajtech 80 až 84 sektoru. Po přidání první a druhý bajt jmenného klíče vyplní 17bitový registr a zbytek vyplní 25bitový registr. Logická jednička je vložena do čtvrtého bitu každého posuvného registru, aby se zabránilo nulové smyčce.
- Posuvné registry procházejí osmi cykly a každý vytváří výstupní bajt . Funkce XOR se používá jako zpětná vazba v posuvných registrech. V případě 17bitového registru jsou jeho vstupem bity 1 a 15 a výstupem bit 17 a je výstupem posuvného registru. V případě 25bitového registru jsou vstupem funkce bity 1, 4, 5 a 15 a výstupem je bit 25 a výstup registru. [čtyři]
- Výstupy registrů se určitým způsobem sčítají. Před přidáním je výstup 17bitového registru bitově invertován. Výstupní bajty registru se sčítají obvyklým osmibitovým sčítáním a k nim se přičte bit přetečení z předchozího sčítání a výsledný bit přetečení (devátý bit součtu) jde na vstup dalšího sčítání. Výsledek tvoří společný výstup posuvných registrů. Obecně platí, že výstup každého posuvného registru může být invertován nebo ne. Z toho vyplývá, že posuvné registry mohou pracovat ve čtyřech režimech. Režim šifrování dat se používá k šifrování dat.
- Šifrovaný datový bajt prochází substitucí tabulkou jedna ku jedné a je přidán k celkovému výstupu posuvných registrů. Výsledek lze reprodukovat. [čtyři]
CSS posuvné registry
CSS používá dva posuvné registry lineární zpětné vazby . K posunu v registrech dochází zleva doprava. Výstupní bit je hodnota zpětné vazby. Čtvrtý bit každého registru je nastaven na logickou jedničku, když je posuvný registr zpočátku naplněn. [čtyři]
Režimy šifrování
CSS má čtyři režimy šifrování. Režim se volí podle toho, jaké informace jsou zašifrovány. Režim ovlivňuje, zda je výstup konkrétního posuvného registru invertován nebo ne.
Režim šifrování
|
LSFR-17
|
LSFR-25
|
Autentizace
|
obrácený
|
nepřevrácené
|
Šifrování klíče sběrnice
|
nepřevrácené
|
nepřevrácené
|
Šifrování klíče názvu
|
nepřevrácené
|
obrácený
|
Šifrování dat
|
obrácený
|
nepřevrácené
|
[čtyři]
Funkce zkreslení CSS
Při šifrování diskového klíče a jmenného klíče se kromě posuvných registrů využívá funkce zkreslení ( anglicky Mangling Function ).
Bajty A1-A5 jsou vstupem funkce zkreslení, jsou nahrazeny bajty klíče, který je zašifrován. Výstupem funkce jsou bajty C1-C5 . Bajty B1-B5 jsou střední hodnoty. Byty k1-k5 jsou byty obecného výstupu posuvných registrů v odpovídajícím režimu. Posuvné registry jsou zpočátku naplněny klíčem používaným pro šifrování. Symbol F označuje výměnu bajtu v tabulce jedna ku jedné. Plus znamená bitové sčítání bajtů. Výstupem funkce zkreslení je šifrovaný klíč. [jeden]
Typy klíčů
Systém měl následující typy klíčů [5] :
- Klávesy DVD přehrávače . _ Každý výrobce licencoval svůj vlastní klíč (jeden ze 409 dostupných) pro použití ve svých DVD přehrávačích od DVD Copy Control Association , organizace založené DVD fórem .
- Diskové klíče zašifrované klíči DVD přehrávače . Každý přehrávač DVD dešifroval klíč disku pomocí vlastního klíče přehrávače.
- Title Keys jsou klíče zašifrované pomocí diskového klíče a potřebné k dešifrování jednotlivých datových fragmentů .
Diskové a titulkové klíče byly napsány v úvodní oblasti disku, aby nebylo možné je přímo zkopírovat [6] .
Chyby zabezpečení a možné útoky
- Utajení algoritmu . V kryptografii je obvyklé považovat šifry s tajným šifrovacím algoritmem za slabší než šifry s otevřeným algoritmem. Otevřená šifra s větší pravděpodobností odhalí zranitelnosti ve fázi vývoje a opraví je. Když je tajný algoritmus zveřejněn, systém ztratí šifrovací sílu poskytovanou utajením algoritmu a je problematické algoritmus po jeho širokém použití opravit. Smlouva o mlčenlivosti pro vnitřní strukturu CSS, uzavřená po obdržení licence, nevylučuje možnost zveřejnění. Použití CSS ve velkém množství programů a zařízení zvýšilo riziko odtajnění algoritmu pomocí reverzního inženýrství .
- Délka klíče . Diskové klíče v CSS jsou dlouhé 40 bitů. Klíč této délky lze vyzvednout na moderním osobním počítači přibližně za den. Vývojáři CSS však vycházeli z předpokladu, že takový útok by byl dostatečně nákladný na to, aby byl použit při hromadném kopírování disku; nevyloučili ojedinělé případy hackování.
- Útok (obtížnost 2 40 ): Prsa.
- Výstup lineárních posuvných registrů . Se známými několika bajty celkového výstupu posuvných registrů můžete zjistit počáteční stav posuvných registrů, a tedy klíč, kterým byly registry naplněny.
- Útok 1 (obtížnost 2 16 ): K provedení útoku potřebujete znát 6 bajtů celkového výstupu posuvných registrů.
- Předpokládejme počáteční stav registru LFSR-17
- Získejte 4 bajty výstupu z LSFR-17
- Znáte-li výstup LSFR-17, pomocí bitového sčítání se 4 bajty celkového výstupu (které jsou známé) získáte výstup LSFR-25
- Na základě výstupu zjistěte počáteční stav LSFR-25 "posouváním" o 4 bajty zpět
- Vytiskněte 2 další bajty a porovnejte se zbývajícími 2 známými bajty celkového výstupu
- Pokud se neshoduje, začněte znovu.
- Útok 2 (obtížnost 2 17 ): K provedení útoku potřebujete znát 5 bajtů celkového výstupu posuvných registrů. Tento útok je praktičtější než ten předchozí, jelikož z útoku na funkci zkreslení zjistíte 5 bajtů výstupu posuvných registrů.
- Předpokládejme počáteční stav registru LFSR-17
- Získejte 3 bajty výstupu z LSFR-17
- Přijměte 3 bajty výstupu LSFR-25 (stejným způsobem jako v Attacku 1). Pro zjištění počátečního stavu LSFR-25 je nutná znalost ještě jednoho bitu
- Odhadněte hodnotu chybějícího bitu
- Vyberte hodnotu bitu, která odpovídá počátečnímu stavu s logickou jednotkou ve čtvrtém bitu (znaménko počátečního stavu)
- Pokud se obě hodnoty shodují, zkontrolujte obě.
- Zadejte další dva bajty a porovnejte je se známými výstupními bajty
- Pokud se neshoduje, začněte znovu.
- Funkce zkreslení
Ze známého vstupu a výstupu funkce zkreslení ( A a C ) se můžete naučit 5 bajtů výstupu posuvných registrů ( k )
- Útok (obtížnost 2 8 ): Pro realizaci je nutné znát vstup A a výstup C funkce zkreslení. Předpokládá se také, že pravidlo F substituce jedna ku jedné je také známé
- Hádejte hodnotu k5
- Zjistěte postupně všechny neznámé hodnoty k a B
- Porovnejte známou hodnotu C1 a hodnotu získanou z nalezených k1 a B1
- V případě neshody opakujte všechny kroky [4]
- Autentizační
klíč Autentizační klíč je diskový klíč zašifrovaný diskovým klíčem. Tato informace usnadňuje nalezení diskového klíče z ověřovacího klíče.
- Útok (obtížnost 2 25 ) Předpokládá se, že ověřovací klíč, tj. vstup funkce zkreslení A , je známý. Nalezené hodnoty C budou klíčem disku. Tento útok je slovníkový , takže je nutné sestavit několik tabulek:
1) Přiřazení každého páru B1 a k2 (se známými A1 a A2 ) k odpovídajícímu C2
2) Porovnání každého počátečního stavu LSFR-25 s prvním, druhý a pátý z 5 bajtů jeho výstupu
- Předpokládejte hodnotu B2 a počáteční stav registru LSFR-17
- Najděte k1 a k5 ( C1 a C2 jsou známé, LSFR-17 je jimi vyplněn)
- Najděte všechny možné k2 pro vybrané B1 a C2 (není jich více než osm)
- Najděte první, druhý a pátý bajt výstupu registru LSFR-25 (lze získat výstup LSFR-17, celkový výstup je k a je známý)
- Obnovte počáteční stav registru LSFR-25 z druhé tabulky a tím získejte hodnotu C3 , C4 a C5 .
- Analogicky k útoku funkce zkreslení najděte B2 a zkontrolujte, zda je taková hodnota možná vzhledem k A1 , A2 a k2
- V případě neshody spusťte algoritmus znovu [1]
Viz také
Poznámky
- ↑ 1 2 3 Frank A. Stevenson. Kryptoanalýza systému kódování obsahu . Získáno 16. listopadu 2009. Archivováno z originálu 2. června 2012. (neurčitý)
- ↑ Archivovaná kopie (odkaz není dostupný) . Získáno 26. listopadu 2009. Archivováno z originálu 1. července 2013. (neurčitý) Technický názor na CSS
- ↑ 1 2 Taylor J. DVD Demystified . Získáno 2. října 2017. Archivováno z originálu dne 25. dubna 2018. (neurčitý)
- ↑ 1 2 3 4 5 Operační systémy: Návrh a implementace. Přednáší Gregory Kesden . Získáno 19. listopadu 2009. Archivováno z originálu 8. ledna 2019. (neurčitý)
- ↑ Kryptografie v domácí zábavě – pohled na kódování obsahu na discích DVD . Získáno 16. listopadu 2009. Archivováno z originálu 2. června 2012. (neurčitý)
- ↑ Scott Mueller. Upgrade a opravy PC, str. 744 Archivováno 14. dubna 2018 na Wayback Machine .
optický disk |
---|
obecná informace |
| |
---|
Typy optických disků |
- Laserdisc / Laserdisc
- Kompaktní disk / Kompaktní disk (CD): Audio CD , 5.1 Music Disc , Super Audio CD , Photo CD , CD-R , CD-ROM , CD-RW , CD Video (CDV), Video CD (VCD), Super Video CD , CD+G , CD-Text , CD-ROM XA , CD-Extra , CD-i Bridge , CD-i
- MiniDisc / MiniDisc : Hi-MD
- DVD : DVD-Audio , DVD-R , DVD+R , DVD-R DL , DVD+R DL , DVD-RW , DVD+RW , DVD-RW DL , DVD+RW DL , DVD-RAM , DVD-D , DVD ENAV
- Blu-ray Disc (BD): BD-R , BD-RE , BD-ROM
- HD DVD
- CH DVD
- HD VMD
- UDO
- UMD
- Holografická paměť : HVD
- 3D optické úložiště dat
|
---|
Formáty |
|
---|
Ochranné technologie |
|
---|