CSS, Content Scramble System — система захисту цифрового медіаконтенту на DVD-носіях. Система вкрай нестійка до злому. Через обмеження на експорт криптографічних технологій із США довжина ключа шифрування обмежена 40 бітами, що вкрай мало. Більше того, через знайдену уразливість ефективна довжина ключа приблизно дорівнює 16 біт — тобто всі можливі варіанти можуть бути перебрані на сучасному комп'ютері всього за кілька секунд, що обумовлюється примітивним методом захисту. У 2005 на зміну CSS прийшла більш надійна AACS.
Історія створення
Специфікація DVD була готова у грудні 1995 року. Виробникам DVD-плеєрів та DVD-приводів було необхідна наявність значної кількості фільмів і музики на DVD. Однак кіностудії помітили, що DVD-диски були б ідеальним джерелом для копіювання фільмів: цифрова інформація не буде втрачати своєї якості при перезаписі (відеокасети не мали цього захисту аналогового виходу APS). Від DVD Consortium зажадали надання відповідного захисту від копіювання. В результаті DVD Consortium створив Технічну Робочу Групу по Захисту від Копіювання (англ. Copy Protection Technical Working Group, CPTWG). 29 жовтня 1996 році CPTWG оголосила про створення CSS, яку в основному розробили компанії Toshiba і Matsushita Electric Industrial. Для ліцензування використання CSS була створена некомерційна організація Асоціація з Контролю Копіювання DVD (англ. Copy Control Association, DVD CCA).
Історія зломів
Перша програма для обходу CSS з'явилася в Інтернеті у листопаді 1997 року під назвою softDVDcrack. Ця програма фактично ламала не CSS, а програвач Zoran. Zoran незабаром виправив помилки у зламаній версії програвача, але в мережі залишалися копії старої версії. Процес злому був досить складний, тому масового поширення програма не отримала. Після цього було ще багато подібних додатків. Проте крах CSS асоціюється з появою в листопаді 1999 року програми DeCSS. Її написав норвезький школяр Йон Йохансен (Jon Johansen) на основі зворотньої розробки коду програвача Xing, проведеної командою німецьких програмістів MoRE (Masters of Reverse Engineering). Компанія Xing, як виявилося, не закодувала ключ для розблокування захищених DVD. DeCSS відрізняється від всіх попередніх програм тим, що вона дешифрує CSS, а не перехоплює потік відео з ліцензованого програвача. Більш того, будь-який комп'ютер, який в змозі відтворити фільм з DVD, зможе досить легко зламати CSS за допомогою DeCSS. Тому DeCSS швидко поширилася по світу, навіть незважаючи на незаконність у деяких державах розміщення коду DeCSS на вебсайтах.
Алгоритм CSS
В дію алгоритму CSS залучені кілька компонентів: DVD-диск, DVD-привід, програвач і хост. При цьому всі вони повинні бути ліцензовані DVD Copy Control Association (DVD CCA) для використання CSS. Алгоритм CSS складається з двох частин: автентифікація та шифрування.
Автентифікація
- DVD-привід запитує у хоста 2-бітовий ідентифікатор аутентифікації (англ. Authentication Grant ID). Це значення використовується для назви аутентифікаційної сесії.
- Відбувається взаємна автентифікація між DVD-приводом і хостом. Хост генерує випадкову послідовність з 40 біт і посилає її DVD-приводу. DVD-привід шифрує цю послідовність за допомогою CSS хеш-функції (англ. CSS hash), отримує 80-бітове значення, так званий ключ виклику (англ. Challenge Key), і відправляє його хосту. Хост сам розшифровує відповідь і порівнює його зі згенерованою послідовністю. При збігу значень хост довіряє DVD-приводу, так як вважається, що тільки ліцензовані пристрої можуть знати секретну хеш-функцію CSS. Проводиться зворотна операція (хост і DVD-привід міняються ролями) після чого DVD-привід довіряє або не довіряє хосту в залежності від результату порівняння.
- Генерується ключ шини (англ. Bus Key). Хост і DVD-привід комбінують використовувалися при аутентифікації випадкові послідовності, і за допомогою хеш-функції CSS кожен отримує ключ шини. За допомогою цього ключа шифрується подальша передача ключів між хостом і DVD-приводом. Цей ключ ніколи не передається по шині.
- Відбувається автентифікація програвача DVD-диска. Кожен ліцензований програвач має один або кілька ключів програвача (англ. Player Key) з списку із 409 ключів. На захищеному диску в невидимій області зберігається ключ диска (англ. Disk Key), зашифрований кожним з 409 ключів, і ключ аутентифікації (англ. Autentication Key), тобто ключ диска, зашифрований самим собою. Ці ключі складають 2048-байтовий блок. Блок відправляється програвача. Програвач знає в якій області знаходиться ключ диска, зашифрований його ключем, і розшифровує значення в цій області. Потім, щоб перевірити справжність ключа, він розшифровує ключ аутентифікації за допомогою знайденого ключа диска і порівнює результат з ключем диска. При збігу ключів аутентифікація вважається успішною. У зворотному випадку програвач проробляє всі операції з наступним відомим йому ключем програвача і так далі. Ключ диска використовується в подальшому.
Дешифрування
Дані DVD-диска зашифровані за секторами. Інформація про те, зашифрований сектор чи ні, зберігається в заголовку сектора. Зашифровані тільки сектори, несучі потокове інформацію (відео, зображення, звук), інші, наприклад відповідають за навігацію, не зашифровані. Шифрування даних засноване на побитовом складання з псевдовипадковою послідовністю бітів і взаимнооднозначной табличній підстановці байтів. Для реалізації псевдовипадковою послідовності використовуються лінійні регістри зсуву зі зворотнім зв'язком (англ. Linear Feedback Shift Register, LFSR)
- Програвач запитує у DVD-приводу ключ найменування (англ. Title Key). Потім, щоб отримати ключ найменування, він розшифровує отримані дані за допомогою ключа диска.
- Регістри зсуву CSS заповнюються байтами ключа найменування. В алгоритмі CSS беруть участь два лінійних регістра зсуву зі зворотнім зв'язком: 17-бітовий і 25-бітовий. Перед заповненням ключ найменування побитово складається з ключем сектора (англ. Sector Key). Ключ сектора міститься в байтах з 80 з 84 сектора. Після складання, перший та другий байт ключа найменування заповнюють 17-бітовий регістр, а решта заповнюють 25-бітний. В четвертий біт кожного регістра зсуву вставляється логічна одиниця, щоб запобігти нульове зациклення.
- Регістри зсуву проходять вісім тактів і кожен видає вихідний байт. В якості зворотного зв'язку в регістрах зсуву використовується функція «Виключаюче Або». У разі 17-бітного регістра на її вхід подаються біти 1 і 15, а вихід подається на біт 17 і є виходом регістра зсуву. У випадку 25-бітного регістра на вхід функції подаються біти 1, 4, 5 та 15, а вихід подається на біт 25 і на вихід регістра.
- Виходи регістрів складаються між собою певним чином. Перед складанням вихід 17-бітового регістра побітово інвертується. Байти виходу регістрів складаються звичайним восьми бітовим складанням, і до них додається біт переповнення від попереднього складання, а отриманий біт переповнення (дев'ятий біт суми) йде на вхід наступного складання. Результат утворює загальний вихід регістрів зсуву. У загальному випадку вихід кожного регістра зсуву може бути або інвертованим або ні. Звідси випливає що регістри зсуву можуть працювати в чотирьох режимах. Для шифрування даних використовується режим шифрування даних.
- Байт зашифрованих даних проходить табличну взаємно однозначну підстановку і складається із загальним виходом регістрів зсуву. Результат може бути відтворений.
Регістри зсуву CSS
В CSS використовуються два лінійних регістра зсуву зі зворотнім зв'язком (англ. Linear Feedback Shift Register). Зрушення в регістрах відбувається зліва направо. Вихідним бітом є значення функції зворотного зв'язку. В четвертий біт кожного регістра при початковому заповненні регістра зсуву виставляється логічна одиниця.
Режими шифрування
CSS має чотири режими шифрування. Режим вибирається в залежності від того, яка інформація шифрується. Режим впливає на те, що відбувається інверсія виходу певного регістра зсуву чи ні.
Режим шифрування | LSFR-17 | LSFR-25 |
---|---|---|
Аутентифікація | інвертований | неинвертирован |
Шифрування ключа шини | неинвертирован | неинвертирован |
Шифрування ключа найменування | неинвертирован | інвертований |
Шифрування даних | інвертований | неинвертирован |
Функція спотворення CSS
При шифруванні ключ диска і ключа найменування крім регістрів зсуву використовується функція спотворення (англ. Mangling Function).
Байти A1—A5 є входом функції спотворення, в них підставляються байти ключа який шифрується. Байти С1—С5 це вихід функції. Байти B1—B5 — проміжні значення. Байти k1—k5 це байти загального виходу регістрів зсуву у відповідному режимі. Регістри зсуву спочатку заповнюються ключем, з допомогою якого відбувається шифрування. Символом F позначена взаимнооднозначная заміна байта по таблиці. Плюс означає побітове додавання байтів. Вихід функції спотворення є шифрованим ключем.
Види ключів
Система володіла наступними видами ключів:
- Ключі DVD-програвача (англ. Player Keys). Кожен виробник ліцензував свій ключ (один з 409 наявних) для використання у своїх DVD-програвачах у DVD Copy Control Association — організації, заснованої DVD Forum.
- Ключі диска (англ. Disk Keys), зашифровані з допомогою ключів DVD-програвачів. Кожен DVD-програвач розшифровував ключ диска за допомогою свого ключа програвача.
- Ключі найменування (англ. Title Keys) — ключі, зашифровані з допомогою ключа диска і потрібні для розшифрування окремих фрагментів даних.
Ключі диска і найменувань записувалися в lead-in-області диска, щоб унеможливити їх безпосереднє копіювання.
Вразливості системи і можливі атаки
- Безпека алгоритму. У криптографії прийнято вважати шифри з секретним алгоритмом шифрування більш слабкими, ніж шифри з відкритим алгоритмом. У відкритому шифрі більш ймовірно виявлення вразливостей на етапі розробки та їх виправлення. При розголосу ж секретного алгоритму, система втрачає криптостійкість, обеспечивавшуюся секретністю алгоритму, і виправити алгоритм після початку широкого його використання проблематично. Угода про нерозголошення внутрішнього устрою CSS, що укладається при отриманні ліцензії, не виключає можливість розголошення. Використання CSS у великій кількості програм і пристроїв підвищувало ризик розсекречення алгоритму за допомогою зворотної розробки.
- Довжина ключа. Ключі диска в CSS мають довжину 40 біт. Ключ такої довжини можна підібрати на сучасному персональному комп'ютері за час близько доби. Однак розробники CSS виходили з припущення, що така атака буде досить витратною щоб використовуватися в масовому копіювання дисків; поодинокі випадки зломів вони не виключали.
- Атака (складність 240): Повний перебір.
- Вихід лінійних регістрів зсуву. При відомих декількох байтах загального виходу регістрів зсуву можна дізнатися початковий стан регістрів зсуву, а значить і ключ, яким заповнювалися регістри.
- Атака 1 (складність 216): Для здійснення атаки треба знати 6 байт загального виходу регістрів зсуву.
- Припустити початкового стану регістра LFSR-17
- Отримати 4 байта виходу з LSFR-17
- Знаючи вихід LSFR-17 за допомогою побітового складання з 4 байтами загального виходу (які відомі) отримати вихід LSFR-25
- На основі виходу з'ясувати початковий стан LSFR-25, прокрутивши його на 4 байта тому
- Видати ще 2 байта і порівняти з рештою 2 відомими байтами загального виходу
- При розбіжності почати заново
- Атака 2 (складність 217): Для здійснення атаки треба знати 5 байт загального виходу регістрів зсуву. Дана атака практичніше попередньої, так як дізнатися 5 байт виходу регістрів зсуву можна з атаки на функцію спотворення.
- Припустити початкового стану регістра LFSR-17
- Отримати 3 байти виходу з LSFR-17
- Отримати 3 байти виходу LSFR-25 (тим же способом, що і в Атаці 1). Для з'ясування початкового стану LSFR-25 потрібне знання ще одного біта
- Припустити значення відсутнього біта
- Вибрати значення біта, якому відповідає початковий стан з логічною одиницею в четвертому біті (ознака початкового стану)
- Якщо обидва значення підходять, то перевірити і те й інше
- Видати ще два байти і порівняти їх з відомими байтами виходу
- При розбіжності почати заново
- Атака 1 (складність 216): Для здійснення атаки треба знати 6 байт загального виходу регістрів зсуву.
- Функція спотворення
З відомого входу і виходу функції спотворення (A і C) можна дізнатися 5 байт виходу регістрів зсуву (k)- Атака (складність 28): Для здійснення необхідно знати вхід A і вихід C функції спотворення. Передбачається також, що правило взаємно однозначною підстановки F теж відомо
- Припустити значення k5
- По черзі з'ясувати всі невідомі значення k і B
- Порівняти відоме значення C1 і отримане із знайдених k1 і B1
- Повторити всі дії при розбіжності
- Атака (складність 28): Для здійснення необхідно знати вхід A і вихід C функції спотворення. Передбачається також, що правило взаємно однозначною підстановки F теж відомо
- Ключ автентифікації
Ключ аутентифікації — це ключ диска, зашифированный з допомогою ключа диска. Ця інформація полегшує знаходження ключа диска з ключа аутентифікації- Атака (складність 225) Ключ аутентифікації, тобто вхід функції спотворення A, вважається відомим. Знайдені значення C будуть ключем диска. Дана атака словникова тому необхідно побудувати декілька таблиць:
1) Зіставлення кожній парі B1 і k2 (при відомих A1 і A2) відповідного C2
2) Зіставлення кожного початкового стану LSFR-25 першого, другого і п'ятого з 5 байтів його виходу- Припустити значення B2 і початковий стан регістра LSFR-17
- Знайти k1 і k5 (C1 і C2 відомі, ними заповнюється LSFR-17)
- Знайти можливі для вибраного B1 і C2 всі можливі k2 (знайдеться не більше восьми)
- Знайти перший, другий і п'ятий байт виходу регістра LSFR-25 (вихід LSFR-17 можемо отримати, загальний вихід дорівнює k і відомий)
- Відновити по другій таблиці початковий стан регістра LSFR-25 і тим самим отримати значення C3, C4 і C5.
- За аналогією з атакою функції спотворення знайти B2 і перевірити, чи можливо таке значення при даних A1,A2 і k2
- При розбіжності почати алгоритм заново
- Атака (складність 225) Ключ аутентифікації, тобто вхід функції спотворення A, вважається відомим. Знайдені значення C будуть ключем диска. Дана атака словникова тому необхідно побудувати декілька таблиць:
Дивись також
Примітки
- Frank A. Stevenson. Cryptanalysis of Contents Scrambling System. Архів оригіналу за 2 червня 2012. Процитовано 25 квітня 2018.
- http://www.valimaki.com/org/docs/css/css_opinion_holman.pdf [ 1 липень 2013 у Wayback Machine.] Technical Opinion regarding CSS
- . Архів оригіналу за 25 квітня 2018. Процитовано 25 квітня 2018.
- . Архів оригіналу за 8 січня 2019. Процитовано 25 квітня 2018.
- Cryptography in Home Entertainment — A look at content scrambling in DVDs. Архів оригіналу за 2 червня 2012. Процитовано 25 квітня 2018.
- Scott Mueller. Upgrading and repairing PCs, с. 744 [ 14 квітня 2018 у Wayback Machine.].
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
CSS Content Scramble System sistema zahistu cifrovogo mediakontentu na DVD nosiyah Sistema vkraj nestijka do zlomu Cherez obmezhennya na eksport kriptografichnih tehnologij iz SShA dovzhina klyucha shifruvannya obmezhena 40 bitami sho vkraj malo Bilshe togo cherez znajdenu urazlivist efektivna dovzhina klyucha priblizno dorivnyuye 16 bit tobto vsi mozhlivi varianti mozhut buti perebrani na suchasnomu komp yuteri vsogo za kilka sekund sho obumovlyuyetsya primitivnim metodom zahistu U 2005 na zminu CSS prijshla bilsh nadijna AACS Istoriya stvorennyaSpecifikaciya DVD bula gotova u grudni 1995 roku Virobnikam DVD pleyeriv ta DVD privodiv bulo neobhidna nayavnist znachnoyi kilkosti filmiv i muziki na DVD Odnak kinostudiyi pomitili sho DVD diski buli b idealnim dzherelom dlya kopiyuvannya filmiv cifrova informaciya ne bude vtrachati svoyeyi yakosti pri perezapisi videokaseti ne mali cogo zahistu analogovogo vihodu APS Vid DVD Consortium zazhadali nadannya vidpovidnogo zahistu vid kopiyuvannya V rezultati DVD Consortium stvoriv Tehnichnu Robochu Grupu po Zahistu vid Kopiyuvannya angl Copy Protection Technical Working Group CPTWG 29 zhovtnya 1996 roci CPTWG ogolosila pro stvorennya CSS yaku v osnovnomu rozrobili kompaniyi Toshiba i Matsushita Electric Industrial Dlya licenzuvannya vikoristannya CSS bula stvorena nekomercijna organizaciya Asociaciya z Kontrolyu Kopiyuvannya DVD angl Copy Control Association DVD CCA Istoriya zlomivPersha programa dlya obhodu CSS z yavilasya v Interneti u listopadi 1997 roku pid nazvoyu softDVDcrack Cya programa faktichno lamala ne CSS a progravach Zoran Zoran nezabarom vipraviv pomilki u zlamanij versiyi progravacha ale v merezhi zalishalisya kopiyi staroyi versiyi Proces zlomu buv dosit skladnij tomu masovogo poshirennya programa ne otrimala Pislya cogo bulo she bagato podibnih dodatkiv Prote krah CSS asociyuyetsya z poyavoyu v listopadi 1999 roku programi DeCSS Yiyi napisav norvezkij shkolyar Jon Johansen Jon Johansen na osnovi zvorotnoyi rozrobki kodu progravacha Xing provedenoyi komandoyu nimeckih programistiv MoRE Masters of Reverse Engineering Kompaniya Xing yak viyavilosya ne zakoduvala klyuch dlya rozblokuvannya zahishenih DVD DeCSS vidriznyayetsya vid vsih poperednih program tim sho vona deshifruye CSS a ne perehoplyuye potik video z licenzovanogo progravacha Bilsh togo bud yakij komp yuter yakij v zmozi vidtvoriti film z DVD zmozhe dosit legko zlamati CSS za dopomogoyu DeCSS Tomu DeCSS shvidko poshirilasya po svitu navit nezvazhayuchi na nezakonnist u deyakih derzhavah rozmishennya kodu DeCSS na vebsajtah Algoritm CSSV diyu algoritmu CSS zalucheni kilka komponentiv DVD disk DVD privid progravach i host Pri comu vsi voni povinni buti licenzovani DVD Copy Control Association DVD CCA dlya vikoristannya CSS Algoritm CSS skladayetsya z dvoh chastin avtentifikaciya ta shifruvannya Avtentifikaciya DVD privid zapituye u hosta 2 bitovij identifikator autentifikaciyi angl Authentication Grant ID Ce znachennya vikoristovuyetsya dlya nazvi autentifikacijnoyi sesiyi Vidbuvayetsya vzayemna avtentifikaciya mizh DVD privodom i hostom Host generuye vipadkovu poslidovnist z 40 bit i posilaye yiyi DVD privodu DVD privid shifruye cyu poslidovnist za dopomogoyu CSS hesh funkciyi angl CSS hash otrimuye 80 bitove znachennya tak zvanij klyuch vikliku angl Challenge Key i vidpravlyaye jogo hostu Host sam rozshifrovuye vidpovid i porivnyuye jogo zi zgenerovanoyu poslidovnistyu Pri zbigu znachen host doviryaye DVD privodu tak yak vvazhayetsya sho tilki licenzovani pristroyi mozhut znati sekretnu hesh funkciyu CSS Provoditsya zvorotna operaciya host i DVD privid minyayutsya rolyami pislya chogo DVD privid doviryaye abo ne doviryaye hostu v zalezhnosti vid rezultatu porivnyannya Generuyetsya klyuch shini angl Bus Key Host i DVD privid kombinuyut vikoristovuvalisya pri autentifikaciyi vipadkovi poslidovnosti i za dopomogoyu hesh funkciyi CSS kozhen otrimuye klyuch shini Za dopomogoyu cogo klyucha shifruyetsya podalsha peredacha klyuchiv mizh hostom i DVD privodom Cej klyuch nikoli ne peredayetsya po shini Vidbuvayetsya avtentifikaciya progravacha DVD diska Kozhen licenzovanij progravach maye odin abo kilka klyuchiv progravacha angl Player Key z spisku iz 409 klyuchiv Na zahishenomu disku v nevidimij oblasti zberigayetsya klyuch diska angl Disk Key zashifrovanij kozhnim z 409 klyuchiv i klyuch autentifikaciyi angl Autentication Key tobto klyuch diska zashifrovanij samim soboyu Ci klyuchi skladayut 2048 bajtovij blok Blok vidpravlyayetsya progravacha Progravach znaye v yakij oblasti znahoditsya klyuch diska zashifrovanij jogo klyuchem i rozshifrovuye znachennya v cij oblasti Potim shob pereviriti spravzhnist klyucha vin rozshifrovuye klyuch autentifikaciyi za dopomogoyu znajdenogo klyucha diska i porivnyuye rezultat z klyuchem diska Pri zbigu klyuchiv autentifikaciya vvazhayetsya uspishnoyu U zvorotnomu vipadku progravach proroblyaye vsi operaciyi z nastupnim vidomim jomu klyuchem progravacha i tak dali Klyuch diska vikoristovuyetsya v podalshomu Deshifruvannya Dani DVD diska zashifrovani za sektorami Informaciya pro te zashifrovanij sektor chi ni zberigayetsya v zagolovku sektora Zashifrovani tilki sektori nesuchi potokove informaciyu video zobrazhennya zvuk inshi napriklad vidpovidayut za navigaciyu ne zashifrovani Shifruvannya danih zasnovane na pobitovom skladannya z psevdovipadkovoyu poslidovnistyu bitiv i vzaimnoodnoznachnoj tablichnij pidstanovci bajtiv Dlya realizaciyi psevdovipadkovoyu poslidovnosti vikoristovuyutsya linijni registri zsuvu zi zvorotnim zv yazkom angl Linear Feedback Shift Register LFSR Progravach zapituye u DVD privodu klyuch najmenuvannya angl Title Key Potim shob otrimati klyuch najmenuvannya vin rozshifrovuye otrimani dani za dopomogoyu klyucha diska Registri zsuvu CSS zapovnyuyutsya bajtami klyucha najmenuvannya V algoritmi CSS berut uchast dva linijnih registra zsuvu zi zvorotnim zv yazkom 17 bitovij i 25 bitovij Pered zapovnennyam klyuch najmenuvannya pobitovo skladayetsya z klyuchem sektora angl Sector Key Klyuch sektora mistitsya v bajtah z 80 z 84 sektora Pislya skladannya pershij ta drugij bajt klyucha najmenuvannya zapovnyuyut 17 bitovij registr a reshta zapovnyuyut 25 bitnij V chetvertij bit kozhnogo registra zsuvu vstavlyayetsya logichna odinicya shob zapobigti nulove zaciklennya Registri zsuvu prohodyat visim taktiv i kozhen vidaye vihidnij bajt V yakosti zvorotnogo zv yazku v registrah zsuvu vikoristovuyetsya funkciya Viklyuchayuche Abo U razi 17 bitnogo registra na yiyi vhid podayutsya biti 1 i 15 a vihid podayetsya na bit 17 i ye vihodom registra zsuvu U vipadku 25 bitnogo registra na vhid funkciyi podayutsya biti 1 4 5 ta 15 a vihid podayetsya na bit 25 i na vihid registra Vihodi registriv skladayutsya mizh soboyu pevnim chinom Pered skladannyam vihid 17 bitovogo registra pobitovo invertuyetsya Bajti vihodu registriv skladayutsya zvichajnim vosmi bitovim skladannyam i do nih dodayetsya bit perepovnennya vid poperednogo skladannya a otrimanij bit perepovnennya dev yatij bit sumi jde na vhid nastupnogo skladannya Rezultat utvoryuye zagalnij vihid registriv zsuvu U zagalnomu vipadku vihid kozhnogo registra zsuvu mozhe buti abo invertovanim abo ni Zvidsi viplivaye sho registri zsuvu mozhut pracyuvati v chotiroh rezhimah Dlya shifruvannya danih vikoristovuyetsya rezhim shifruvannya danih Bajt zashifrovanih danih prohodit tablichnu vzayemno odnoznachnu pidstanovku i skladayetsya iz zagalnim vihodom registriv zsuvu Rezultat mozhe buti vidtvorenij Registri zsuvu CSSRegistri zsuvu CSS V CSS vikoristovuyutsya dva linijnih registra zsuvu zi zvorotnim zv yazkom angl Linear Feedback Shift Register Zrushennya v registrah vidbuvayetsya zliva napravo Vihidnim bitom ye znachennya funkciyi zvorotnogo zv yazku V chetvertij bit kozhnogo registra pri pochatkovomu zapovnenni registra zsuvu vistavlyayetsya logichna odinicya Rezhimi shifruvannyaCSS maye chotiri rezhimi shifruvannya Rezhim vibirayetsya v zalezhnosti vid togo yaka informaciya shifruyetsya Rezhim vplivaye na te sho vidbuvayetsya inversiya vihodu pevnogo registra zsuvu chi ni Rezhim shifruvannya LSFR 17 LSFR 25 Autentifikaciya invertovanij neinvertirovan Shifruvannya klyucha shini neinvertirovan neinvertirovan Shifruvannya klyucha najmenuvannya neinvertirovan invertovanij Shifruvannya danih invertovanij neinvertirovanFunkciya spotvorennya CSSFunkciya spotvorennya CSS Pri shifruvanni klyuch diska i klyucha najmenuvannya krim registriv zsuvu vikoristovuyetsya funkciya spotvorennya angl Mangling Function Bajti A1 A5 ye vhodom funkciyi spotvorennya v nih pidstavlyayutsya bajti klyucha yakij shifruyetsya Bajti S1 S5 ce vihid funkciyi Bajti B1 B5 promizhni znachennya Bajti k1 k5 ce bajti zagalnogo vihodu registriv zsuvu u vidpovidnomu rezhimi Registri zsuvu spochatku zapovnyuyutsya klyuchem z dopomogoyu yakogo vidbuvayetsya shifruvannya Simvolom F poznachena vzaimnoodnoznachnaya zamina bajta po tablici Plyus oznachaye pobitove dodavannya bajtiv Vihid funkciyi spotvorennya ye shifrovanim klyuchem Vidi klyuchivSistema volodila nastupnimi vidami klyuchiv Klyuchi DVD progravacha angl Player Keys Kozhen virobnik licenzuvav svij klyuch odin z 409 nayavnih dlya vikoristannya u svoyih DVD progravachah u DVD Copy Control Association organizaciyi zasnovanoyi DVD Forum Klyuchi diska angl Disk Keys zashifrovani z dopomogoyu klyuchiv DVD progravachiv Kozhen DVD progravach rozshifrovuvav klyuch diska za dopomogoyu svogo klyucha progravacha Klyuchi najmenuvannya angl Title Keys klyuchi zashifrovani z dopomogoyu klyucha diska i potribni dlya rozshifruvannya okremih fragmentiv danih Klyuchi diska i najmenuvan zapisuvalisya v lead in oblasti diska shob unemozhliviti yih bezposerednye kopiyuvannya Vrazlivosti sistemi i mozhlivi atakiBezpeka algoritmu U kriptografiyi prijnyato vvazhati shifri z sekretnim algoritmom shifruvannya bilsh slabkimi nizh shifri z vidkritim algoritmom U vidkritomu shifri bilsh jmovirno viyavlennya vrazlivostej na etapi rozrobki ta yih vipravlennya Pri rozgolosu zh sekretnogo algoritmu sistema vtrachaye kriptostijkist obespechivavshuyusya sekretnistyu algoritmu i vipraviti algoritm pislya pochatku shirokogo jogo vikoristannya problematichno Ugoda pro nerozgoloshennya vnutrishnogo ustroyu CSS sho ukladayetsya pri otrimanni licenziyi ne viklyuchaye mozhlivist rozgoloshennya Vikoristannya CSS u velikij kilkosti program i pristroyiv pidvishuvalo rizik rozsekrechennya algoritmu za dopomogoyu zvorotnoyi rozrobki Dovzhina klyucha Klyuchi diska v CSS mayut dovzhinu 40 bit Klyuch takoyi dovzhini mozhna pidibrati na suchasnomu personalnomu komp yuteri za chas blizko dobi Odnak rozrobniki CSS vihodili z pripushennya sho taka ataka bude dosit vitratnoyu shob vikoristovuvatisya v masovomu kopiyuvannya diskiv poodinoki vipadki zlomiv voni ne viklyuchali Ataka skladnist 240 Povnij perebir Vihid linijnih registriv zsuvu Pri vidomih dekilkoh bajtah zagalnogo vihodu registriv zsuvu mozhna diznatisya pochatkovij stan registriv zsuvu a znachit i klyuch yakim zapovnyuvalisya registri Ataka 1 skladnist 216 Dlya zdijsnennya ataki treba znati 6 bajt zagalnogo vihodu registriv zsuvu Pripustiti pochatkovogo stanu registra LFSR 17 Otrimati 4 bajta vihodu z LSFR 17 Znayuchi vihid LSFR 17 za dopomogoyu pobitovogo skladannya z 4 bajtami zagalnogo vihodu yaki vidomi otrimati vihid LSFR 25 Na osnovi vihodu z yasuvati pochatkovij stan LSFR 25 prokrutivshi jogo na 4 bajta tomu Vidati she 2 bajta i porivnyati z reshtoyu 2 vidomimi bajtami zagalnogo vihodu Pri rozbizhnosti pochati zanovo Ataka 2 skladnist 217 Dlya zdijsnennya ataki treba znati 5 bajt zagalnogo vihodu registriv zsuvu Dana ataka praktichnishe poperednoyi tak yak diznatisya 5 bajt vihodu registriv zsuvu mozhna z ataki na funkciyu spotvorennya Pripustiti pochatkovogo stanu registra LFSR 17 Otrimati 3 bajti vihodu z LSFR 17 Otrimati 3 bajti vihodu LSFR 25 tim zhe sposobom sho i v Ataci 1 Dlya z yasuvannya pochatkovogo stanu LSFR 25 potribne znannya she odnogo bita Pripustiti znachennya vidsutnogo bita Vibrati znachennya bita yakomu vidpovidaye pochatkovij stan z logichnoyu odiniceyu v chetvertomu biti oznaka pochatkovogo stanu Yaksho obidva znachennya pidhodyat to pereviriti i te j inshe Vidati she dva bajti i porivnyati yih z vidomimi bajtami vihodu Pri rozbizhnosti pochati zanovo Funkciya spotvorennya Z vidomogo vhodu i vihodu funkciyi spotvorennya A i C mozhna diznatisya 5 bajt vihodu registriv zsuvu k Ataka skladnist 28 Dlya zdijsnennya neobhidno znati vhid A i vihid C funkciyi spotvorennya Peredbachayetsya takozh sho pravilo vzayemno odnoznachnoyu pidstanovki F tezh vidomo Pripustiti znachennya k5 Po cherzi z yasuvati vsi nevidomi znachennya k i B Porivnyati vidome znachennya C1 i otrimane iz znajdenih k1 i B1 Povtoriti vsi diyi pri rozbizhnosti Klyuch avtentifikaciyi Klyuch autentifikaciyi ce klyuch diska zashifirovannyj z dopomogoyu klyucha diska Cya informaciya polegshuye znahodzhennya klyucha diska z klyucha autentifikaciyi Ataka skladnist 225 Klyuch autentifikaciyi tobto vhid funkciyi spotvorennya A vvazhayetsya vidomim Znajdeni znachennya C budut klyuchem diska Dana ataka slovnikova tomu neobhidno pobuduvati dekilka tablic 1 Zistavlennya kozhnij pari B1 i k2 pri vidomih A1 i A2 vidpovidnogo C2 2 Zistavlennya kozhnogo pochatkovogo stanu LSFR 25 pershogo drugogo i p yatogo z 5 bajtiv jogo vihodu Pripustiti znachennya B2 i pochatkovij stan registra LSFR 17 Znajti k1 i k5 C1 i C2 vidomi nimi zapovnyuyetsya LSFR 17 Znajti mozhlivi dlya vibranogo B1 i C2 vsi mozhlivi k2 znajdetsya ne bilshe vosmi Znajti pershij drugij i p yatij bajt vihodu registra LSFR 25 vihid LSFR 17 mozhemo otrimati zagalnij vihid dorivnyuye k i vidomij Vidnoviti po drugij tablici pochatkovij stan registra LSFR 25 i tim samim otrimati znachennya C3 C4 i C5 Za analogiyeyu z atakoyu funkciyi spotvorennya znajti B2 i pereviriti chi mozhlivo take znachennya pri danih A1 A2 i k2 Pri rozbizhnosti pochati algoritm zanovoDivis takozhTehnichni zasobi zahistu avtorskih prav AACS DVD DeCSSPrimitkiFrank A Stevenson Cryptanalysis of Contents Scrambling System Arhiv originalu za 2 chervnya 2012 Procitovano 25 kvitnya 2018 http www valimaki com org docs css css opinion holman pdf 1 lipen 2013 u Wayback Machine Technical Opinion regarding CSS Arhiv originalu za 25 kvitnya 2018 Procitovano 25 kvitnya 2018 Arhiv originalu za 8 sichnya 2019 Procitovano 25 kvitnya 2018 Cryptography in Home Entertainment A look at content scrambling in DVDs Arhiv originalu za 2 chervnya 2012 Procitovano 25 kvitnya 2018 Scott Mueller Upgrading and repairing PCs s 744 14 kvitnya 2018 u Wayback Machine