CPRM-сумісні флеш-картки
Варто зазначити, що єдина карта, у тому числі інформація про яку доступна в Internet обсягом, достатньому розуміння загальних принципів реалізованого захисту.
До відносяться Secure CF. Спочатку спробуємо розібратися в тому, що таке CPRM.
CPRM/CPPM I/II (Content Protection for Recordable Media and Media –
технологія Захисту Контенту для Носіїв, що запиваються і перезаписуються). Одна з технологій шифрування контенту схвалена комітетом SDMI.
Технологія CPRM розроблена групою 4C (IBM, Intel, Matsushita Electronic Industrial та Toshiba). Дана технологія у тому чи іншому вигляді використовується в записуваних DVD, Audio DVD, та Secure CompactFlash.
Коротко суть технології зводиться до наступного:
Ліцензуюча організація 4С (центр) має в своєму розпорядженні деяку таблицю (назвемо її являє собою матрицю, розміром в "a" рядків і "b" стовпців, заповнену ключами пристроїв. Кожен пристрій містить "b" таких ключів (по одному ключу з кожного стовпця)). лунають виробникам обладнання ліцензуючою організацією (4C) і записуються в пристрій (плеєр) в процесі виробництва.Комбінація ключів, отриманих кожним пристроєм, унікальна і однозначно ідентифікує пристрій.
На носій на етапі виробництва записується унікальний ідентифікаційний номер носія. Також на носій записується Блок ключів носія (Media Key Block - MKB). MKB збігається за кількістю рядків і стовпців з У кожному осередку MKB записаний ключ носія ( Media Key ), зашифрований відповідним ключем пристрою з MKB і підлягають тільки читання і, у звичайних умовах, недоступні кінцевому користувачеві.
"Захищений" контент шифрується ключем сесії та записується на CPRMсумісний носій. Ключ сесії шифрується УнікальнимКлючом накопичувача (Media Unique Key - MUK) і так само записується на носій. MUK отримують хешування ключа носія.
При читанні пристрій зчитує та дешифрує з MKB ключ носія одним зі своїх ключів. За допомогою отриманого ключа носія пристрій, що зчитує, відновлює MUK. За допомогою MUK відновлюється ключ сесії. Контент дешифрується за допомогою ключа сесії.

Наведена схема дозволяє одноразово шифрувати контент ключем сесії для тиражу. Виробнику (записуючої компанії) необхідно лише обчислювати нове значення MUK для кожного носія та шифрувати за допомогою нього ключ сесії.
Зашифрований контент із захищеного можна скопіювати на інший Також можна скопіювати і заголовок, в якому зберігається зашифрований ключ сесії. Однак ми не зможемо скопіювати і не зможемо скопіювати MKB (принаймні це малоймовірно). Відповідно, пристрій не зможе отримати з копії такого носія ключ сесії і не зможе розшифрувати записані на такому носії дані.
У цій схемі можливе відкликання зламаних ключів пристроїв. Ключі відповідають ліцензійній організації (4C), і надалі не використовуються в MKB. Внаслідок цього, теоретично, можлива ситуація, коли ні в чому не винний пристрій не зможе декодувати абсолютно легально набутий контент ( . ).
У можливе відкликання до 10000 пристроїв (на чому заснований подібний розрахунок - невідомо). На кожен пристрій припадає 16 ключів (тобто кількість стовпців в MKB і-16). Також сказано, що відкликання кожного пристрою коштує 300 байт.
Примітка: в описі CPRM немає поняття, цей термін введений нами для наочності.
В основі CPRM II лежить схема розподілу ключів пристроїв,заснована на повному бінарному дереві (замість CPRM I). У цій схемі устрою (u) представлені у вигляді листочків бінарного дерева.
На етапі ініціалізації кожному вузлу бінарного дерева надається випадкова мітка (LABEL i).
Потім для кожного вузла обчислюється безліч вторинних міток (LABEL i, j). Вторинна мітка обчислюється кожної пари (V i ) – (V j ) .
Таким чином, кількість вторинних міток, приписаних кожному вузлу, дорівнює кількості предків цього вузла. Призначення вторинних
міток проводиться за допомогою спеціальної рекурсивної функції G, вихідним значенням для якої є первинна мітка (LABEL i ). Сама функція (точніше, трійка криптографічно стійких функцій G = [G_L, G_M, G_R]), обчислює вторинні мітки для лівих (G_L) і правих (G_R) а також на основі отриманих вторинних міток генерує ( G_M ) ключі ( L i,j ).
Вторинна мітка відповідає парі піддерев, вкладених одне в інше [коренем першого піддерева є вузолпредок (V i ), а коренем другого поддерева

пристрої, а пристрої, що залишилися непокритими всередині більшого піддерева вважаються невідкликаними. Таким чином, кожна вторинна мітка (LABEL i,j) відповідає потенційному підмножині невідкликаних пристроїв (Si,j).
У наведеній схемі, як і в CPRM I, контент шифрується ключем сесії, а заголовком контенту вважається ключ сесії [пов'язаний із зашифрованим ключами L i,j. Набір ключів L i,j, якими шифрується ключ сесії, вибираються таким
чином, щоб число відповідних цим ключам підмножини S i,j було мінімальним.
Кожен пристрій отримує всі вторинні мітки всіх вузлів, що лежать з боків на шляху від кореня деревакожен пристрій отримує функцію G, тобто. здатне обчислити всі вторинні мітки, які можуть бути отримані з набору вторинних міток, що є у пристрою.
На етапі дешифрування контенту, пристрій знаходить у заголовку контенту (у термінах криптографії - повідомлення) запис із зашифрованим ключем сесії, що відповідає підмножині S i,j, до якого воно належить. Потім (використовуючи одну з вторинних міток, що є у пристрою, і, можливо, функцію G) обчислює вторинну мітку LABEL i,j для свого підмножини S i,j , а потім
відповідний їй ключ Li,j, яким дешифрується ключ сесії. Отриманим ключем сесії дешифрує контент. Відкликаний пристрій не може дешифрувати ключ сесії, а відповідно не зможе дешифрувати контент, тому що не знайде відповідний запис в заголовку, а також тому, що за допомогою набору вторинних міток не зможе обчислити ключ L i,j .
Приклад: ключ сесії зашифрований ключем L 0,4. Пристрої 9 та 10 у цьому випадку виявляються відкликаними.
Розглянемо випадки для пристроїв u 8 , u 10 та u 13 . Пристрій u 8 отримало мітки LABEL (0,2; 0,4; 1,4; 0,7; 1,7; 3,7).
Пристрій u 10 отримало мітки LABEL (0,2; 0,3; 1,3; 0,9; 1,9; 4,9).
Пристрій u 13 отримало мітки LABEL (0,1; 0,5; 2,5; 0,14; 2,14; 6,14).
u 8 зможе обчислити L 0,4 оскільки має мітку LABEL 0,4 в явному вигляді. тобто. L 0,4 = G_M (LABEL 0,4).
u 13 зможе обчислити L 0,4 оскільки має мітку LABEL 0,1 , з якої може отримати
LABEL 0,4. тобто. L 0,4 = G_M (G_R (LABEL 0,1)).
u 10 не може обчислити L 0,4 оскільки серед наявних у пристрою міток немає LABEL 0,4 і її значення неможливо обчислити, використовуючи інші мітки, отримані пристроєм u 10 (подібно тому,як це вдалося для u 13).
Примітки: У CPRM II виправлено головний недолік CPRM I, суть якого полягає в тому, що існує ймовірність ненавмисного відкликання
пристроїв. Обидві версії CPRM підходять для широкомовного шифрування (цифрового телебачення та радіо), більше того, в оригіналі CPRM II описується саме у термінах мовлення (broadcasting). Чи застосовується CPRM II на практиці - поки що невідомо.
Secure CF – 31 травня 2001
31 травня 2001 року Compact Flash Association (CFA) випустила в якому оголошено про прийняття специфікація Secure CompactFlash. Специфікацією передбачається до 16 видів різних методів захисту контенту, а як перший прийнятий метод вказується CPRM.
Інших подробиць наразі немає.
Як CPRM потрапив до стандарту Secure CompactFlash?
У другій половині 2000 року стало відомо, що комітет T13 (комітет стандартизації ATA/ATAPI інтерфейсу, частина комітету NCITS – колишнього X3) працює над створенням ATA/ATAPI стандарту з підтримкою CPRM. З'ясувалося, що CPRM в ATA активно просувалася IBM, яка розробила відповідне розширення стандарту ATA.
Причиною невдоволення громадськості стало те, що стандарт був насамперед орієнтований на ATA накопичувачі (зокрема жорсткі диски). Intel і IBM (входять до складу T13) намагалися довести усьому світу, що це розширення стандарту стосується передусім портативних переносних ATAPI накопичувачів (типу Zip чи Jazz), а чи не HDD. З'ясувалося, що інтерфейс CPRM ATA вимагає для своєї роботи ту саму інформацію, яка необхідна звичайним ATA HDD, і не потрібно пристроям з інтерфейсом ATAPI. Виходячи з цього, можна з великою часткою впевненості говорити про те, що якби стандарт було прийнято, насамперед постраждали бКористувачі ПК.