Криптография белого ящика
В криптографии модель белого ящика относится к сценарию экстремальной атаки, в котором злоумышленник имеет полный неограниченный доступ к криптографической реализации, чаще всего к блочному шифру , такому как Advanced Encryption Standard (AES). Могут быть поставлены различные цели безопасности (см. раздел ниже), наиболее фундаментальной из которых является «нерушимость», требующая, чтобы любой (ограниченный) злоумышленник не имел возможности извлечь секретный ключ, жестко закодированный в реализации, в то время как в то же время реализация должна быть полностью функциональной. Напротив, модель черного ящика обеспечивает доступ оракула только к анализируемому криптографическому примитиву (в форме запросов шифрования и/или дешифрования). Существует также промежуточная модель, так называемая модель серого ящика, которая соответствует утечке дополнительной информации из реализации, чаще называемой утечкой по побочным каналам .
Криптография белого ящика — это практика и изучение методов разработки и атаки на реализации белого ящика. Имеет множество приложений, включая управление цифровыми правами (DRM), платное телевидение , защиту криптографических ключей при наличии вредоносного ПО , [1] мобильные платежи и криптовалютные кошельки. Примеры систем DRM, использующих реализации «белого ящика», включают CSS , Widevine .
Криптография белого ящика тесно связана с более общими понятиями обфускации , в частности, с обфускацией черного ящика , которая оказалась невозможной, и с обфускацией неотличимости , построенной недавно на основе хорошо обоснованных предположений, но пока неосуществимой для реализации на практике. . [2]
По состоянию на январь 2023 года не существует общеизвестных непрерывных схем стандартного симметричного шифрования «белого ящика». С другой стороны, существует множество непрерывных реализаций специальных блочных шифров «белого ящика», разработанных специально для достижения несжимаемости (см. «Цели безопасности» ).
Цели безопасности
[ редактировать ]В зависимости от приложения от реализации «белого ящика» могут требоваться разные цели безопасности. В частности, для алгоритмов с симметричным ключом различают: [3]
- Неуязвимость — это наиболее фундаментальная цель, требующая, чтобы ограниченный злоумышленник не имел возможности восстановить секретный ключ, встроенный в реализацию «белого ящика». Без этого требования все остальные цели безопасности недостижимы, поскольку успешный злоумышленник может просто использовать эталонную реализацию схемы шифрования вместе с извлеченным ключом.
- Однонаправленность требует, чтобы реализация схемы шифрования «белого ящика» не могла быть использована ограниченным злоумышленником для расшифровки зашифрованного текста. Это требование по существу превращает схему симметричного шифрования в схему шифрования с открытым ключом , где реализация «белого ящика» играет роль открытого ключа, связанного со встроенным секретным ключом. Эта идея была предложена уже в знаменитой работе Диффи и Хеллмана в 1976 году. [4] как потенциальный кандидат на шифрование с открытым ключом.
- Безопасность снятия кода — это неформальное требование к контексту, в котором выполняется программа «белого ящика». Он требует, чтобы злоумышленник не мог извлечь работоспособную копию программы. Эта цель особенно актуальна в условиях DRM . обфускации кода . Для достижения этой цели часто используются методы
- Обычно используемый метод — составление реализации «белого ящика» с так называемыми внешними кодировками . [1] Это облегченные секретные кодировки, которые изменяют функцию, вычисляемую частью «белого ящика» приложения. Требуется, чтобы их эффект был скрытым образом отменен в других частях приложения, используя методы обфускации кода . Альтернативно, отменяющие аналоги могут быть применены на удаленном сервере.
- Несжимаемость требует, чтобы злоумышленник не мог существенно сжать данную реализацию белого ящика. Это можно рассматривать как способ обеспечить безопасность снятия кода (см. выше), поскольку удаление большой программы с ограниченного устройства (например, встроенного или мобильного устройства) может занять много времени и может быть легко обнаружено с помощью брандмауэр . [5]
- Примеры несжимаемых конструкций включают шифр SPACE, [5] СПНбокс, [6] УайтКей и УайтБлок. [7] Эти шифры используют большие таблицы поиска, которые могут быть сгенерированы псевдослучайным образом на основе секретного главного ключа. Хотя это затрудняет восстановление главного ключа, сами таблицы поиска играют роль эквивалентного секретного ключа. Таким образом, нерушимость достигается лишь частично.
- Отслеживаемость ( отслеживание предателей ) требует, чтобы каждая распределенная реализация белого ящика содержала цифровой водяной знак , позволяющий идентифицировать виновного пользователя в случае утечки программы белого ящика и ее публичного распространения.
История
[ редактировать ]Модель «белого ящика» с первоначальными попытками реализации DES и AES «белого ящика » была впервые предложена Чоу, Эйзеном, Джонсоном и ван Ооршотом в 2003 году. [1] [8] Проекты были основаны на представлении шифра как сети справочных таблиц и запутывании таблиц путем составления их из небольших (4- или 8-битных) случайных кодировок. Такая защита удовлетворяет тому свойству, что каждая отдельная запутанная таблица в отдельности не содержит никакой информации о секретном ключе. Поэтому потенциальному злоумышленнику при анализе приходится объединять несколько таблиц.
Первые две схемы были взломаны в 2004 году Билле, Гилбертом и Эх-Шатби с помощью структурного криптоанализа. [9] Впоследствии атаку назвали «атакой BGE».
Многочисленные последующие попытки проектирования (2005–2022 гг.) [10] [11] [12] [13] [14] [15] были быстро сломлены практическими целенаправленными атаками. [16] [17] [18] [19] [20] [21] [22]
В 2016 году Бос, Хубейн, Михилс и Тьювен показали, что адаптация стандартных атак анализа мощности по побочным каналам может использоваться для эффективного и полностью автоматического взлома большинства существующих схем «белого ящика». [23] Этот результат создал новое направление исследований в области универсальных атак (корреляционных, алгебраических, с внедрением ошибок ) и защиты от них. [24] [25] [26] [27] [28] [29]
Соревнования
[ редактировать ]Три конкурса WhibOx прошли в 2017, 2019 и 2021 годах соответственно. белого ящика» как из научных кругов, так и из промышленности было предложено представить свою реализацию в форме (возможно, запутанного) кода C. На этих конкурсах дизайнерам « В то же время каждый может попытаться атаковать эти программы и восстановить встроенный секретный ключ. Каждое из этих соревнований длилось около 4-5 месяцев.
- WhibOx 2017 / CHES 2017 Capture the Flag Challenge нацелен на стандартный блочный шифр AES. Из 94 представленных реализаций все были сломаны во время конкурса, причем самая сильная оставалась неповрежденной в течение 28 дней.
- WhibOx 2019 / CHES 2019 Capture the Flag Challenge снова нацелен на блочный шифр AES. Среди 27 представленных реализаций 3 программы оставались не сломанными на протяжении всего конкурса, но были сломаны через 51 день с момента публикации. [30] [31]
- WhibOx 2021 / CHES 2021 Capture the Flag Challenge изменил цель на ECDSA , схему цифровой подписи, основанную на эллиптических кривых . Среди 97 представленных реализаций все были сломаны максимум за 2 дня. [32] [33]
См. также
[ редактировать ]- Запутывание черного ящика , более сильная форма запутывания, оказалась невозможной.
- Запутывание неотличимости , более формальное теоретическое понятие запутывания.
- Обфускация (программное обеспечение) , обфускация некриптографического кода.
- Управление цифровыми правами — широко используемое применение криптографии белого ящика.
Внешние ссылки
[ редактировать ]Ссылки
[ редактировать ]- ^ Перейти обратно: а б с Чоу, Стэнли; Эйзен, Фил; Джонсон, Гарольд; ван Оршот, Пол К. (2003). Реализация DES в формате «белого ящика» для приложений DRM . Управление цифровыми правами. Конспекты лекций по информатике . Том. 2696. стр. 1–15. дои : 10.1007/978-3-540-44993-5_1 . ISBN 978-3-540-40410-1 .
- ^ Джайн, Ааюш; Линь, Хуэйцзя; Сахай, Амит (15 июня 2021 г.). «Обфускация неотличимости от обоснованных предположений». Материалы 53-го ежегодного симпозиума ACM SIGACT по теории вычислений . стр. 60–73. arXiv : 2008.09317 . дои : 10.1145/3406325.3451093 . ISBN 978-1-4503-8053-9 .
- ^ Делерабле, Сесиль; Лепойнт, Танкред; Пайе, Паскаль; Ривен, Матье (2014). Понятия безопасности «белого ящика» для схем симметричного шифрования . SAC 2013: Отдельные области криптографии. Конспекты лекций по информатике . Том. 8282. стр. 247–264. дои : 10.1007/978-3-662-43414-7_13 . ISBN 978-3-662-43413-0 .
- ^ Диффи, Уитфилд; Хеллман, Мартин (ноябрь 1976 г.). «Новые направления в криптографии». Транзакции IEEE по теории информации . 22 (6): 644–654. дои : 10.1109/TIT.1976.1055638 .
- ^ Перейти обратно: а б Богданов Андрей; Исобе, Таканори (12 октября 2015 г.). «Возвращение к криптографии белого ящика: пространственно-жесткие шифры». Материалы 22-й конференции ACM SIGSAC по компьютерной и коммуникационной безопасности . стр. 1058–1069. дои : 10.1145/2810103.2813699 . ISBN 978-1-4503-3832-5 .
- ^ Богданов Андрей; Исобе, Таканори; Тишхаузер, Эльмар (2016). «На пути к практической криптографии белого ящика: оптимизация эффективности и жесткости пространства». Достижения в криптологии – ASIACRYPT 2016 . Конспекты лекций по информатике . Том. 10031. стр. 126–158. дои : 10.1007/978-3-662-53887-6_5 . ISBN 978-3-662-53886-9 .
- ^ Фуке, Пьер-Ален; Карпман, Пьер; Киршнер, Пол; Мино, Брайс (2016). «Эффективные и доказуемые примитивы белого ящика» (PDF) . Достижения в криптологии – ASIACRYPT 2016 . Конспекты лекций по информатике . Том. 10031. стр. 159–188. дои : 10.1007/978-3-662-53887-6_6 . ISBN 978-3-662-53886-9 .
- ^ Чоу, Стэнли; Эйзен, Филип; Джонсон, Гарольд; Ван Оршот, Пол К. (2003). «Криптография белого ящика и реализация AES». SAC 2002: Избранные области криптографии . Конспекты лекций по информатике . Том. 2595. стр. 250–270. дои : 10.1007/3-540-36492-7_17 . ISBN 978-3-540-00622-0 .
- ^ Билле, Оливье; Жильбер, Анри; Эч-Чатби, Чараф (2004). «Криптоанализ реализации AES белого ящика». Избранные области криптографии . Конспекты лекций по информатике. Том. 3357. стр. 227–240. дои : 10.1007/978-3-540-30564-4_16 . ISBN 978-3-540-24327-4 .
- ^ Линк, Гамильтон; Нойманн, WD (2005). «Разъяснение обфускации: повышение безопасности DES белого ящика» . Международная конференция по информационным технологиям: кодирование и вычисления (ITCC'05) - Том II . Том. II. стр. 679-684 Том. 1. дои : 10.1109/ITCC.2005.100 . ISBN 0-7695-2315-3 .
- ^ Брингер, Жюльен; Шабанн, Эрве; Доттакс, Эммануэль (2006). «Возмущение и защита отслеживаемого блочного шифра». Коммуникационная и мультимедийная безопасность . Конспекты лекций по информатике. Том. 4237. стр. 109–119. дои : 10.1007/11909033_10 . ISBN 978-3-540-47820-1 .
- ^ Сяо, Яин; Лай, Сюэцзя (2010). «Безопасная реализация AES белого ящика». 2009 2-я Международная конференция по информатике и ее приложениям . стр. 1–6. дои : 10.1109/CSA.2009.5404239 . ISBN 978-1-4244-4945-3 .
- ^ Карруми, Мохамед (2011). «Защита AES белого ящика с помощью двойных шифров». Информационная безопасность и криптология – ICISC 2010 . Конспекты лекций по информатике. Том. 6829. стр. 278–291. дои : 10.1007/978-3-642-24209-0_19 . ISBN 978-3-642-24208-3 .
- ^ Вандерсмиссен, Иоахим; Ранея, Адриан; Пренил, Барт (2022). Реализация спека белого ящика с использованием самоэквивалентного кодирования . Прикладная криптография и сетевая безопасность. Конспекты лекций по информатике. Том. 13269. стр. 771–791. дои : 10.1007/978-3-031-09234-3_38 . ISBN 978-3-031-09233-6 .
- ^ Ранея, Адриан; Вандерсмиссен, Иоахим; Пренил, Барт (2022). «Неявные реализации белого ящика: шифры ARX белого ящика». Достижения в криптологии – CRYPTO 2022 . Конспекты лекций по информатике. Том. 13507. стр. 33–63. дои : 10.1007/978-3-031-15802-5_2 . ISBN 978-3-031-15801-8 .
- ^ Губен, Луи; Мазерель, Жан-Мишель; Кискатер, Микаэль (2007). «Криптоанализ реализаций DES белого ящика». Избранные области криптографии . Конспекты лекций по информатике . Том. 4876. стр. 278–295. дои : 10.1007/978-3-540-77360-3_18 . ISBN 978-3-540-77359-7 .
- ^ Вайсёр, Брехт; Михилс, Уил; Гориссен, Пол; Пренил, Барт (2007). «Криптоанализ реализаций DES белого ящика с произвольными внешними кодировками». Избранные области криптографии . Конспекты лекций по информатике . Том. 4876. стр. 264–277. дои : 10.1007/978-3-540-77360-3_17 . ISBN 978-3-540-77359-7 .
- ^ Михилс, Уил; Гориссен, Пол; Холлманн, Хенк Д.Л. (2009). «Криптоанализ общего класса реализаций белого ящика». Избранные области криптографии . Конспекты лекций по информатике . Том. 5381. стр. 414–428. дои : 10.1007/978-3-642-04159-4_27 . ISBN 978-3-642-04158-7 .
- ^ Де Малдер, Йони; Вайсёр, Брехт; Пренил, Барт (2010). «Криптоанализ возмущенной реализации AES белого ящика». Прогресс в криптологии — INDOCRYPT 2010 . Конспекты лекций по информатике . Том. 6498. стр. 292–310. дои : 10.1007/978-3-642-17401-8_21 . ISBN 978-3-642-17400-1 .
- ^ Де Малдер, Йони; Ролс, Питер; Пренил, Барт (2013). «Криптоанализ реализации AES белого ящика Сяо – Лай». Избранные области криптографии . Конспекты лекций по информатике . Том. 7707. стр. 34–49. дои : 10.1007/978-3-642-35999-6_3 . ISBN 978-3-642-35998-9 .
- ^ Лепойнт, Танкред; Ривен, Матье; Де Малдер, Йони; Ролс, Питер; Пренил, Барт (2014). «Две атаки на реализацию AES белого ящика». Избранные области криптографии -- SAC 2013 . Конспекты лекций по информатике . Том. 8282. стр. 265–285. дои : 10.1007/978-3-662-43414-7_14 . ISBN 978-3-662-43413-0 .
- ^ Бирюков, Алекс; Ламбен, Батист; Удовенко, Алексей (9 июня 2023 г.). «Криптоанализ реализаций белого ящика на основе ARX» . Транзакции IACR на криптографическом оборудовании и встроенных системах : 97–135. дои : 10.46586/tches.v2023.i3.97-135 .
- ^ Бос, Йоппе В.; Хубейн, Чарльз; Михилс, Уил; Тьювен, Филипп (2016). «Дифференциальный вычислительный анализ: скрыть проекты белого ящика недостаточно». Криптографическое оборудование и встраиваемые системы – CHES 2016 . Конспекты лекций по информатике . Том. 9813. стр. 215–236. дои : 10.1007/978-3-662-53140-2_11 . ISBN 978-3-662-53139-6 .
- ^ Ривен, Матье; Ван, Цзюньвэй (28 февраля 2019 г.). «Анализ и улучшение дифференциальных вычислительных атак на реализации белого ящика с внутренним кодированием». Транзакции IACR на криптографическом оборудовании и встроенных системах : 225–255. дои : 10.13154/tches.v2019.i2.225-255 .
- ^ Губен, Луи; Пайе, Паскаль; Ривен, Матье; Ван, Цзюньвэй (апрель 2020 г.). «Как раскрыть секреты непонятной реализации белого ящика». Журнал криптографической инженерии . 10 (1): 49–66. дои : 10.1007/s13389-019-00207-5 .
- ^ Бирюков, Алекс; Удовенко, Алексей (2018). «Атаки и меры противодействия для моделей белого ящика» (PDF) . Достижения в криптологии – ASIACRYPT 2018 . Конспекты лекций по информатике . Том. 11273. стр. 373–402. дои : 10.1007/978-3-030-03329-3_13 . ISBN 978-3-030-03328-6 .
- ^ Эзепю, Британская Колумбия (2017). «Дифференциальный анализ ошибок криптографических реализаций белого ящика» . Магистерская диссертация .
- ^ Секер, Окан; Эйзенбарт, Томас; Лискевич, Мацей (2021). «Схема маскировки белого ящика, противостоящая вычислительным и алгебраическим атакам» . Транзакции IACR на криптографическом оборудовании и встроенных системах : 61–105. дои : 10.46586/tches.v2021.i2.61-105 .
- ^ Бирюков, Алекс; Удовенко, Алексей (2021). «Пустынная перетасовка против алгебраических атак в реализациях белого ящика» (PDF) . Достижения в криптологии – EUROCRYPT 2021 . Конспекты лекций по информатике . Том. 12697. стр. 219–248. дои : 10.1007/978-3-030-77886-6_8 . ISBN 978-3-030-77885-9 .
- ^ «CryptoLUX Research Group. Криптография Whitebox. Конкурс WhibOx 2019» . www.cryptolux.org . Проверено 28 февраля 2024 г.
- ^ Губен, Луи; Ривен, Матье; Ван, Цзюньвэй (19 июня 2020 г.). «Победа над современными контрмерами белого ящика с помощью продвинутых атак серого ящика». Транзакции IACR на криптографическом оборудовании и встроенных системах : 454–482. дои : 10.13154/tches.v2020.i3.454-482 .
- ^ Барбу, Гийом; Бёлленс, Уорд; Доттакс, Эммануэль; Жиро, Кристоф; Узелот, Агата; Ли, Чаоюнь; Махзун, Мохаммед; Ранея, Адриан; Се, Цзяньруй (31 августа 2022 г.). «Реализация белого ящика ECDSA: атаки и проекты CHES 2021 Challenge». Транзакции IACR на криптографическом оборудовании и встроенных системах : 527–552. дои : 10.46586/tches.v2022.i4.527-552 .
- ^ Бауэр, Свен; Дрекслер, Герман; Гебхардт, Макс; Кляйн, Доминик; Лаус, Фридерика; Миттманн, Йоханнес (31 августа 2022 г.). «Атаки на ECDSA белого ящика и обсуждение мер противодействия: отчет о конкурсе WhibOx 2021» . Транзакции IACR на криптографическом оборудовании и встроенных системах : 25–55. дои : 10.46586/tches.v2022.i4.25-55 .