Безпечне обладнання оточує нас, тихо працюючи за лаштунками, щоб захистити наше цифрове життя.
Ваш ноутбук, телефон, смарт-годинник, автомобіль, телевізор, ігрова приставка, Blu-Ray-плеєр, Chromecast, система домашнього кінотеатру, криптогаманець, дата-центри, постачальники сертифікатів, вузли блокчейну, WorldCoin Orb і навіть монітор вашого ПК — все це працює на захищеному обладнанні. Якщо зазирнути глибше, то можна знайти його в кожному пристрої, яким ви користуєтесь.
У цій четвертій частині серії “Демістифікація SGX” ми зосередимося на улюблених заняттях кожного: гратися з iPhone та дивитися Netflix.

У сучасну епоху смартфони — це скарбниці конфіденційної інформації, де зберігається все: від даних кредитних карток і паролів до електронних листів, приватних розмов, документів і приватних фотографій. Однак ці пристрої також схильні до втрати або крадіжки, що створює значні проблеми із захистом даних, які на них зберігаються. Ця проблема стає ще більш очевидною, коли йдеться про бізнес-телефони, які часто містять корпоративні секрети, що ретельно охороняються.
Перші iPhone, до третього покоління, не мали майже ніякого захисту. Наприклад, злодій міг витягти карту пам’яті, перенести її на інший пристрій і отримати необмежений доступ до всього вмісту, включно з секретними паролями.
Щоб зменшити цю вразливість, Apple запровадила заходи, спрямовані на відлякування непрофесійних злодіїв. Один із таких заходів передбачав автоматичне стирання даних після десяти невдалих спроб введення PIN-коду.
Хоча ця функція забезпечувала певний рівень захисту, було зрозуміло, що терміново потрібне більш комплексне рішення.
Додавання шифрування
У прагненні забезпечити безпеку даних на наших пристроях є спокуса думати, що шифрування всіх даних за допомогою ключа, отриманого з PIN-коду, відомого лише користувачеві, є надійним рішенням. Однак, як ми з’ясуємо в цьому розділі, цей простий підхід має суттєві обмеження.
Фундаментальним недоліком використання чотири- або шестизначного PIN-коду як єдиного ключа шифрування є відсутність ентропії, що робить дані вразливими для зловмисників, озброєних сучасними обчислювальними потужностями.
Вимога до користувачів вводити складний пароль щоразу, коли вони розблоковують свій пристрій, могла б вирішити проблему, але це непрактично і обтяжливо.
Ще одним критичним недоліком є те, що всі дані втрачаються, якщо користувач забуває PIN-код. Примітка: Хороша новина полягає в тому, що його можна відновити за допомогою “корисного” сервісу, оскільки ентропія була низькою.
Суть проблеми полягає у виборі “ центру довіри”. Цей наївний підхід покладає відповідальність виключно на користувачів і, використовуючи криптографічний термін, дає їм повну владу над даними. Однак ця модель є непрактичною, що спонукає виробників смартфонів, зокрема Apple, до іншого підходу.
Вони повинні перенести центр довіри на себе, щоб забезпечити користувачам хороший досвід.
Цифрова фортеця
Компанія Apple взяла на себе завдання захистити дані користувачів, у тому числі й від них самих, а також забезпечити безперебійну та зручну роботу користувачів.
Їхні високі вимоги полягають у тому, щоб користувач міг швидко отримати доступ до свого телефону, а злодії і хакери були позбавлені доступу до нього, навіть якщо вони фізично володіють пристроєм або намагаються обдурити користувача за допомогою шкідливих додатків. По суті, вони прагнуть запропонувати користувачеві досвід, подібний до використання звичного веб-сайту, такого як Facebook, з однією важливою відмінністю — “ територія атаки”, яку їм доводиться захищати, значно більша, коли дані знаходяться на пристрої, контрольованому зловмисниками.
Отже, як Apple досягає цих амбітних цілей у сфері безпеки?
Вони роблять це, перетворюючи частини пристрою на цифрову фортецю, яка може захищати себе в автономному режимі. Зловмисник не зможе отримати доступ до даних, навіть якщо видалити накопичувач, додати вимірювальні пристрої або замінити різні електронні схеми.
Apple бере на себе відповідальність за безпеку фортеці доти, доки користувач підтримує її в актуальному стані та не розблоковує двері.
Аутентифікація
Щоб задовольнити першу вимогу, пристрій повинен мати засоби для миттєвої перевірки особи користувача в автономному режимі. Отже, програма автентифікації є першою лінією захисту, і вона повинна працювати безпечно, оскільки її компрометація надає повний доступ до даних.
Типова програма — це набір файлів, які знаходяться у сховищі і завантажуються та виконуються за потреби. Хитрі зловмисники, якщо вони заволодіють пристроєм, можуть ідентифікувати файли, замінити їх на пошкоджену версію і згодом запустити пристрій в обхід автентифікації.
Найпростіше рішення — вбудувати програму в процесор, але це нездійсненно, оскільки його неможливо оновити. Натомість більш складний підхід передбачає вбудовування відкритого ключа та механізму, який дозволяє виконувати лише програми, підписані цим ключем.
Таке поєднання криптографії та апаратного захисту формує першу ланку довіри, що дозволяє Apple вдосконалювати програмне забезпечення без ризику корупції.
Шифрування
Тепер у нас є надійний механізм автентифікації, тому настав час розглянути питання шифрування даних.
Якщо ключ зберігається у відкритому вигляді, зловмисник може знайти його, просканувавши сховище. Він не може бути зашифрований сам по собі, тому що тоді ви зіткнетеся з циклічною проблемою, де зберігати цей новий ключ, і так далі.
Рішення полягає у тому, щоб вбудувати його в процесор разом з механізмом передачі його лише програмі аутентифікації.
Концептуально, нам потрібен процесор з деякою базовою логікою і два “злитих” ключа, щоб задовольнити наші вимоги. Перший ключ буде захищати програму автентифікації, а другий буде використовуватися для шифрування.
Примітка: Якщо ви читали перші частини цієї серії, ви могли помітити схожість з Intel SGX.
Після прочитання цього спрощеного високорівневого огляду ви повинні бути підготовлені до розуміння того, як Apple досягла цього.
Процесор із захищеним корпусом
Apple обрала інший підхід, ніж Intel. Замість того, щоб розширити функціональність основного процесора і перетворити його на довірене середовище виконання (Trusted Execution Environment, TEE), як це зробила Intel з “Software Guard eXtensions”, вони вирішили впровадити спеціальний захищений співпроцесор. iPhone 5S став першим поколінням, яке його отримало.
Apple досить відкрито говорить про ці аспекти безпеки:
Як ви можете бачити з наведеного вище опису, процесор Apple Secure Enclave Processor (SEP) відповідає лише за безпеку. Він об’єднаний з ключами, що дозволяє йому створити апаратний ключ довіри. Іншими словами, це дозволяє йому завантажуватися через безпечний процес, так що в нього завантажуються тільки довірені і схвалені прошивки, ядро (SEPOS) і додатки. Це більш складний спосіб опису того, як тільки підписані програми можуть виконуватися.
SEP також має унікальний ідентифікатор (UID) кореневого криптографічного ключа, “вплавлений” в нього. UID не відомий нікому, включаючи Apple*. Вони лише записують похідну від цього UID, яку використовують для автентифікації повідомлень з телефонів. UID використовується як ентропія для генерації ключа шифрування.
Примітка*: Ця гарантія не може бути доведена, оскільки Apple контролює процес виробництва та програмне забезпечення, встановлене на SEP.
Як бачите, цей механізм задовольняє всі вимоги. SEP запускає лише перевірені програми та виконує автентифікацію та шифрування в повній ізоляції. Апаратний захист використовується як для створення кореня довіри, так і для досягнення ізоляції.
Примітка 1: Проводячи паралель з SGX, основна операційна система, що працює на iPhone, і всі встановлені додатки вважаються “ненадійним кодом”.
Примітка 2: Джейлбрейк iPhone зазвичай означає, що перевірка root-of-trust обходиться, тому можна встановлювати і запускати програмне забезпечення, не підписане Apple.
Корисно заглибитися в логіку автентифікації, що виконується в сучасному iPhone, щоб зрозуміти, наскільки важлива апаратна безпека для всіх аспектів.
Автентифікація за допомогою Face ID
На вищому рівні користувач входить в телефон, вводячи PIN-код, прикладаючи відбиток пальця або дивлячись в камеру.
В останньому випадку логіка автентифікації порівнює зображення, отримані з камери, з біометричним шаблоном, записаним при створенні облікового запису.
Існує багато атак, які потрібно врахувати і запобігти, перш ніж таке рішення стане безпечним, саме тому його впровадження зайняло так багато часу. Першим iPhone з такою функцією став “iPhone X” у 2017 році.
Наприклад, зловмисник може спробувати обдурити механізм, направивши камеру на зображення власника. Apple вирішує цю проблему, роблячи кілька знімків з дещо різних кутів і створюючи глибину.
Більш витончений зловмисник, який отримав доступ до телефону, міг під’єднатися до ланцюгів і завжди надсилати потрібну послідовність зображень, щоб створити потрібну глибину. Ці фотографії жертви можуть бути зроблені на вулиці. Це вирішується шляхом введення апаратних елементів безпеки в усі пов’язані ланцюги, які повинні аутентифікуватися один з одним.
Зауважте, що якщо ви впустите iPhone і пошкодите схему FaceId, її неможливо буде замінити без заміни процесора захищеного корпусу, а це означає втрату всіх даних. Реальна історія.
Резервне копіювання
Можливо, вам вже цікаво, як працюють резервні копії, адже телефон шифрує дані, а Apple не має ключа. Як вони можуть допомогти вам відновити дані з резервної копії на іншому пристрої, якщо ви втратите телефон?
Щоб вирішити цю проблему, Apple використала ще більш захищене обладнання. Вони створили внутрішню інфраструктуру, засновану на складному наборі апаратних модулів безпеки (HSM), які працюють без доступу людини.
Кожному телефону присвоєно резервний ключ, який може оброблятися кількома HSM з резервуванням. Ключ переноситься на телефон під час регулярних оновлень програмного забезпечення і шифрує дані перед завантаженням у хмару.
HSM обробляє резервну копію лише після того, як користувач підтвердить свою особу.
Це дійсно безпечне обладнання на всьому шляху.
Управління цифровими правами (DRM)

Хоча захист даних користувачів на фізичних пристроях, таких як iPhone, є складним завданням, ставки зростають, коли компанія намагається захистити свій преміум-контент, такий як високоякісні медіа, на різних пристроях користувачів.
“Управління цифровими правами”, хоч і викликає суперечки, відіграє ключову роль у тому, як ми споживаємо медіа, незалежно від того, чи поширюються вони на фізичних дисках, чи транслюються через онлайн-платформи на кшталт Netflix.
Наприкінці цього розділу ви зрозумієте, що суперечливим є не технічне рішення, а той факт, що захист права власності споживачів на медіа не був вимогою.
Стандарт AACS
Механізм Blu-Ray DRM, який ми розглянемо нижче, визначається стандартом під назвою “Система розширеного доступу до контенту” (Advanced Access Content System, або AACS).
Фільм на диску Blu-Ray – це набір файлів, що містять високоякісні відео- та аудіоматеріали. AACS захищає їх переважно за допомогою шифрування, але з деякими елементами запатентованих форматів, наприклад, вимагаючи нестандартних дисководів.
Основна вимога досить очевидна: ніхто не повинен мати змоги ” скопіювати” фільм. Це означає створення незашифрованих файлів з високоякісним контентом, які можна завантажити і відтворити за допомогою звичайного медіаплеєра. Друга вимога – унеможливити клонування диска по частинах.
Існують і більш тонкі вимоги. Наприклад, скомпрометовані плеєри повинні бути “відкликані” і не повинні завдавати подальшої шкоди. Все це має бути досягнуто без доступу до інтернету, оскільки користувачі мають споживати контент і в автономному режимі.
Як ви можете собі уявити, рішення досить складне, тому ми розглянемо його лише з високого рівня.
Відтворення Blu-Ray дисків на спеціальних програвачах

“Центр довіри” в схемі AACS – це сам плеєр, який зчитує вміст на диску, розшифровує його, а потім завантажує відкритий медіаконтент у свою внутрішню пам’ять, щоб декодувати і відтворити його на телевізорі. Якщо власник може відкрити його і підключити кабелі, він може легко скопіювати фільм.
Як наслідок, сумісний плеєр має бути побудований як фортеця, щоб з нього не можна було витягти нічого, окрім вихідного HDMI-кабелю.
Зрештою, проблема, яку вирішує AACS, полягає в тому, щоб фільми можна було відтворювати лише на сумісних плеєрах.
Перейдемо безпосередньо до цього.
На кожному диску Blu-Ray записано серійний номер Volume ID (VID), який можна записати та прочитати лише за допомогою спеціального обладнання. Цей механізм запобігає побітовому копіюванню диска за допомогою стандартного обладнання або навіть відтворенню диска на пристрої, який не має такої функції.
На додачу до цього захисту, VID зашифровано ключем, виданим органом AACS, так що розшифрувати його можуть лише затверджені виробники.
VID використовується як перший з вхідних даних для розшифрування.
Може здатися, що це вирішує проблему, але це недостатньо досконалий механізм, тому стандарт визначає другий механізм.
Під час виробництва кожен пристрій, що відповідає вимогам стандарту, отримує набір секретних ключів пристрою (Device Keys). Медіафайли шифруються за допомогою складної комбінації ключів пристроїв усіх сумісних і не відкликаних плеєрів.
Коли певний пристрій виявляється вразливим, його ключі відкликаються, і жоден наступний фільм не використовуватиме цей ключ під час шифрування, тож скомпрометований пристрій більше не зможе розшифрувати жодного нового диска, навіть якщо він залишатиметься в автономному режимі.
Примітка: Скомпрометований пристрій можна виявити за допомогою складних методів, подібних до нанесення водяних знаків.
Відтворення Blu-Ray на ПК

Більш цікавою проблемою для читачів цієї серії є розгляд того, що потрібно для відтворення диска Blu-Ray на ПК, обладнаному AACS-сумісним дисководом (таким, що може зчитувати VID).
Найактуальнішою проблемою є керування “Ключами пристрою” та ключем розшифрування VID.
Якщо ці ключі входять до складу інсталятора, навіть якщо вони приховані, їх можна відновити за допомогою зворотного інжинірингу. Але навіть якщо це не вдасться, програма врешті-решт завантажить ключі в пам’ять, а отже, вони будуть доступні з програм, що працюють з вищим рівнем привілеїв. По суті, будь-який користувач комп’ютера, дотримуючись простої інструкції, може легко отримати секретний ключ і таким чином наблизитися до копіювання фільму.
Ми бачимо, що чисто програмну реалізацію медіаплеєра неможливо захистити від компетентного зловмисника, тому єдиним рішенням є додавання апаратного компоненту і створення довіреного “Віртуального Blu-Ray плеєра”, що працює на недовіреному комп’ютері.
Безпечний медіаплеєр на базі Intel SGX
Оскільки ця серія статей присвячена SGX, давайте спробуємо використати його для захисту нашого медіаплеєра для ПК.
Перша проблема полягає у наданні захищених ключів. Вони не можуть постачатися зашифрованими разом з інсталятором, оскільки ключ запечатування кожного процесора є унікальним.
Як наслідок, ми повинні запровадити схвалений AACS віддалений сервіс для перевірки атестацій, а потім надсилати секретні ключі, запечатані для кожного процесора. Це також означає, що комп’ютер повинен бути онлайн під час встановлення.
Інші функції SGX, описані в попередніх статтях, дозволять програмі працювати в повній ізоляції, щоб безпечно розшифровувати вміст, а потім надсилати його на дисплей зашифрованим за стандартом HDCP, ще одним протоколом для захисту медіа під час проходження через з’єднання.
Примітка: HDCP також захищений надійним апаратним забезпеченням і шифруванням. Монітор створює безпечне з’єднання з програмою медіаплеєра.
Існує думка, що таким чином кіностудії “запускають програми на моєму комп’ютері поза моїм контролем”, що не відповідає дійсності, оскільки користувач сам вирішує запустити медіаплеєр і натиснути кнопку відтворення фільму. Тут немає великої різниці зі звичайним програвачем Blu-Ray.
Альтернативою цьому механізму є те, що комп’ютери взагалі не зможуть відтворювати високоякісні медіафайли. Це саме те, що сталося, коли Intel зняла з виробництва SGX для споживчих процесорів.
Суперечки щодо DRM
DRM є суперечливою технологією не без причини. Але проблема не в самій технології, а в медіа-індустрії, яка не захищає споживачів, коли формати кодування застарівають.
Як ми бачили на прикладі Blu-Ray, потрібно купувати спеціальний плеєр або встановлювати програму, яка запитує дозвіл на відтворення такого контенту. Уявіть, що формат AACS застаріє через п’ять років, а ваш плеєр зламається. Купівля нового плеєра може не відтворити фільм, і ваш Blu-ray диск стане непридатним для використання.
Щоб вирішити цю проблему, споживачі повинні придбати право власності на фільм, яке повинно бути портативним для різних провайдерів. На жаль, це не було вимогою.

Безпечний потоковий перегляд
Ви коли-небудь пробували дивитися “Netflix” на своєму комп’ютері і помічали низьку якість, навіть якщо у вас було відмінне підключення до інтернету? Або вам доводилося переходити з Chrome на Safari на вашому Macbook, щоб покращити якість?
Причиною цього є DRM та захищене обладнання.
Коли ми подивилися на програмний медіаплеєр, то дійшли висновку, що зробити його безпечним неможливо. Та ж проблема стосується і потокового мовлення, за винятком того, що джерелом контенту є не диск, а мережа.
Коли ваш пристрій підключається до потокового сервера і запитує відтворення фільму, його попросять підтвердити свою безпеку. Сервер у режимі реального часу вирішує, наскільки якісним буде потік і як він буде його шифрувати.
У кожного виробника своя система.
Apple використовує захищені сопроцесори, які присутні на всіх своїх пристроях, включаючи Macbook. Їхній рідний браузер Safari має прямий доступ до SEP (захищеного процесора оточення) і використовує його для DRM. Сервери потокового мовлення, такі як Netflix, довіряють стеку Apple для захисту своїх даних і трансляції високоякісного контенту.
Коли ви підключаєтеся до Netflix з пристрою Apple, він підтверджує свою особу, підписуючи повідомлення з UID, який Netflix може перевірити на серверах Apple, щоб зрозуміти, чи є пристрій справжнім та актуальним. Після цього потік буде спрямований через SEP, а потім на монітор.
Альтернативні браузери, такі як Chrome, не можуть отримати доступ до вбудованих функцій безпеки на пристроях Apple, тому вони повинні впроваджувати DRM лише програмно, що пояснює низьку якість.
Microsoft має подібну технологію на основі захищених співпроцесорів під назвою “Pluton”.
Стрімінг вирішує суперечливу проблему застарілих форматів, оскільки користувачі тепер володіють правом на перегляд фільму на сервісі, але він запроваджує прив’язку до постачальника. Наприклад, титри, якими ви володієте на “Amazon Video”, не можна перенести на “Disney”.
Висновок
Безпечне апаратне забезпечення – це неоспіваний герой сучасних пристроїв.
Воно зберігає наші дані в безпеці, надає нам надзвичайну зручність входу в систему, просто глянувши на камеру, і дозволяє нам дивитися високоякісні фільми у вітальні або під час подорожі.
Хоча нові технології, такі як Zero Knowledge Proofs (ZKP) або Fully Homomorphic Encryption (FHE), отримали багато інвестицій і обіцянок, вони все ще залишаються областями досліджень, які, в кращому випадку, доповнюють безпечне апаратне забезпечення для нашого захисту.
Серія статей “Розкриваємо таємниці SGX”:
- У першій частині ми розглянемо апаратні особливості SGX.
- У частині 2 ми розглянемо особливості, які роблять процесори швидкими, і як їх можна використовувати.
- У частині 3 ми розглянемо архітектуру анклаву SGX, потім дослідимо, як виконується програма, і навіть створимо просту програму.
- У цій 4 частині ми розглянемо реальні застосування захищеного апаратного забезпечення.
Дізнатися більше
Якщо вам цікаво дізнатися більше про те, що розробляє компанія TEN (раніше Obscuro), перегляньте інші публікації в блозі тут або зануртеся в наш whitepaper. Спілкуйтеся з нами у Discord та Telegram, а також підписуйтесь на нас у Twitter.

