[Translated by Marta-Sofiya Klakovych (KYBS2004 course assignment at JYU.FI)]
музика
Ласкаво просимо всі до цього хаотичного року та заходу
Я Кара і я буду вашим диктором
Мені приємно оголосити доповідь
Пост-квантова криптографія: обхідні шляхи, затримки та катастрофи
яку представляють Таня Ланге та Д. Дж. Бернштейн
Таня Ланге — криптограф і математик, яка спеціалізується на пост-квантовій криптографії
яка замінює ту криптографію, яку ми використовуємо сьогодні
на варіанти, які є безпечними проти атак квантових комп’ютерів
Вона є професоркою Технічного університету Ейндговена
і може пишатися численними публікаціями та відзнаками
Вона також була координаторкою PQCrypto
що є загальноєвропейською ініціативою
для впровадження пост-квантової криптографії
Д. Дж. Б. є професором Університету Іллінойсу в Чикаго
а також професором Університету Бохума. Він працює в галузі криптографії
і розробив шифрувальні системи, які використовуються
у криптографії з відкритим кодом, можливо, ви зараз
використовуєте одну з них, дивлячись цю доповідь
Разом вони реалізували вражаючу кількість проєктів
від спрощення впровадження безпечної криптографії
до створення безпечних постквантових типів даних
обоє є активістами, які борються
за прозоріший процес стандартизації криптографії
а тепер всі, плескайте своїми лапками
давайте поаплодуємо Тані Ланге та Д. Дж. Б.!
Добре, дякуємо за гарне представлення
давайте одразу перейдемо до справи — почнемо з HTTPS
коли ви заходите на сайт із HTTPS або захищене з’єднання
ви використовуєте TLS — протокол безпеки транспортного рівня — щоб захистити ваше з’єднання
TLS використовує два типи криптографії з кількох причин
по-перше, він покладається на криптографію з відкритим ключем
вона виконує дві функції: по-перше, вона забезпечує підписи
підписи з відкритим ключем — вони гарантують, що зловмисник не зможе
підмінити дані сервера своїми власними
і прикидатися сервером
додатково TLS використовує шифрування з відкритим ключем
наприклад, NIST P-256 або RSA-4096 як систему підпису
NIST P-256 також можна використовувати для шифрування, щоб ваші дані були захищені
щоб він (зловмисник) не міг її зрозуміти
через причини, пов’язані з продуктивністю, криптографія складніша, ніж
просто криптографія з відкритим ключем — вона також включає симетричну криптографію
іноді її називають криптографією із секретним ключем
коли ви збираєте все разом у TLS, ви отримуєте три основні складові
це шифрування з відкритим ключем
яке не шифрує всі ваші дані, а натомість
шифрує лише ключ, щоб зловмисники не могли його зрозуміти
цей ключ надсилається безпечно і конфіденційно
від однієї сторони до іншої
а підписи з відкритим ключем використовуються, щоб переконатися,
що зловмисник не може підмінити інший ключ
і в кінці цей ключ використовується
для захисту ваших даних із використанням симетричної криптографії
усі інші протоколи, які ви використовуєте,
можна було б представити у подібних діаграмах
наприклад, SSH, але вони всі працюють майже однаково
я зараз підкреслю два елементи на цій діаграмі
RSA-4096 — типова система для підпису
і типова система шифрування — NIST P-256
тому що ці дві (системи) будуть зламані через квантові комп’ютери
без квантових комп’ютерів жодних відомих
загроз не існувало б, але
якщо в атакуючого буде великий квантовий комп’ютер
а це, найімовірніше, станеться
хоча це не гарантовано — може, спроби створити квантовий комп’ютер
зазнають невдачі з якихось причин
але зараз виглядає так, що квантові комп’ютери
стають дедалі успішнішими
і як тільки вони стануть достатньо потужними
можливо, за десять років
тоді атакуючі зможуть запустити алгоритм атаки,
який називається алгоритмом Шора, що знаходить ваші секретні RSA-ключі і
секретні ключі NIST P-256, і тоді зловмисники зможуть
отримати доступ до інформації, яку вони вже зараз зберігають
це загроза не лише майбутнім даним, але і
конфіденційності ваших поточних даних
бо зловмисники вже зараз зберігають все, що можуть, з Інтернету
і коли у них буде великий квантовий комп’ютер
вони зможуть розшифрувати все заднім числом, бо зламають RSA-4096
і NIST P-256, а саме NIST P-256 забезпечує шифрування
і вони зможуть повернутися в минуле і зламати шифрування, яке ви використовуєте сьогодні
Що ж нам із цим робити?
Стандартний підхід — це те, що ми називаємо
постквантовою криптографією — ви вже чули цю назву раніше, вона була
в назві нашої доповіді — це криптографія, яка створена спеціально
з урахуванням того, що атакуючий має квантовий комп’ютер
тож, як уже казав ведучий,
я була координаторкою проєкту PQCRYPTO
і це означає, що я об’їздила світ із доповідями про постквантову криптографію
ось скріншот із виступу, який я провела шість з половиною років тому
де я підкреслювала, як сьогодні це зробив Ден, важливість постквантової криптографії
і наголошувала, що важливо давати рекомендації,
які визначають, які алгоритми варто використовувати для заміни RSA та
NIST P-256, які ви бачили на попередніх слайдах
і тоді я поставила питання — чи варто нам стандартизувати зараз чи пізніше
аргументи існують з обох сторін, і ну… якби ми стандартизували тоді,
шість років тому, здавалося, що ще занадто багато роботи, і що ми отримаємо
набагато кращу систему, якщо трохи зачекаємо
але з іншого боку існує занепокоєння через дані, які збирають уряди та інші темні сили
і чим пізніше це буде опубліковано, тим більше даних і безпеки буде втрачено
тому важливо просуватися вперед, і тоді нашою відповіддю було таке:
те, що я просувала у 2016 році — це рекомендації, опубліковані у 2015 році, в яких
йшлося про те, що стандартизація займає багато часу
ми ще не на тій стадії, але якщо хтось хоче захистити себе
ось що ми… ну, ось ціла група
дослідників, які підписали цю заяву як частину проєкту PQCRYPTO
що ми рекомендували? Наша рекомендація була у тому, що ми назвали
«обережною криптографією»
і це не означає політичний консерватизм
це означає щось нудне, щось, що вже давно відоме
багато людей його вже проаналізували, і ми не очікуємо жодних змін
у сфері симетричних ключів, як уже казав Ден, квантові комп’ютери на них не впливають
тому якщо використовувати достатньо великі ключі
256-бітові ключі, то AES або Salsa20 є достатніми
те саме стосується аутентифікації — якщо ви отримали ключ, його не підробити
але для шифрування і підписів з відкритим ключем, RSA-4096
і ECC NIST P-256 — їх потрібно замінити і ми маємо альтернативи. Ось
рекомендація з високим рівнем довіри:
використовуйте систему МакЕліса — назва ще з’явиться пізніше
і використовуйте сигнатури, засновані на хешах
наприклад, SPHINCS — ви захочете про неї дізнатися згодом
ми також представили деякі алгоритми як «перебувають у стадії оцінювання»
що означає — поки не варто їх використовувати
але згодом вони можуть виявитися придатними. І для нас це нормально — ми вбили кілок у землю,
ми сказали: «Ось, це безпечно»
і люди повинні діяти відповідно, і всі житимуть довго і щасливо
і наш виступ на цьому завершено
...чи всі дійсно житимуть довго і щасливо?
до кінця свого життя?
Давайте подивимось, що сталося насправді після цього
Організація… ну, речі, які мали бути оприлюднені
насправді був один експеримент, який Google проводив
у 2016 році Google Chrome додав постквантовий варіант
це не означає, що кожен
вебсервер підтримував його — це був просто експеримент
Google активував його лише на деяких
своїх серверах і сказав: «Добре, подивимось,
як це працює», — і звучали дуже натхненно у своєму блозі
де вони оголосили, що допомагають користувачам захиститися
від квантових комп’ютерів — подивимось, чи спрацює
Система, яку вони використовували, називалася New Hope (NH)
Вони шифрували не лише за допомогою NH — NH є постквантовою шифрувальною системою
Вони також шифрували традиційною криптографією — еліптичними кривими
як уже згадувала Таня — NIST P-256 — приклад ECC
іншим прикладом ECC є x25519 — ви, ймовірно, використовуєте це сьогодні
щоб шифрувати свої дані і ось що зробив Google:
Він шифрував NH для постквантового захисту
і одночасно шифрував x25519, як вони роблять
зазвичай і сьогодні — ідея була в тому, що якщо щось
піде не так із NH, то ми все одно маємо звичайний захист
тобто, щонайменше, немає негайної загрози безпеці — вони не погіршують ситуацію
звісно, якщо NH зламано, то й не покращують
але основна ідея — спробувати зробити краще і
в той же час переконатися, що не стане гірше — шифруючи обома:
традиційним і постквантовим методом
План «Б» дуже важливий, бо NH — нова шифрувальна система
тобто у 2016 вона була новою, ключові елементи NH були створені
у 2010, 2014 і 2015 роках — а це не так багато часу для перевірки
в криптографії іноді минають роки, поки знаходять вразливості
тому дуже важливо, щоб новим шифрувальним системам дали час дозріти
інша проблема з новими шифрувальними системами
— їх можуть запатентувати. Патенти діють 20 років, і це сталося
з NH. Власник патенту звернувся до Google і сказав: «Я хочу гроші за ваше
використання NH». Google ніколи публічно не коментував цю
патентну загрозу, але з якихось причин у листопаді 2016 року вони прибрали NH
з Chrome і своїх серверів. У 2016 році також сталися інші події:
в уряді США є установа — NIST, яка має довгу історію співпраці
з Агентством нацбезпеки США (NSA). NIST оголосив, що наприкінці 2017 року
вони хочуть, щоб криптографи подали пропозиції
щодо постквантових алгоритмів — для шифрування й підпису,
які згодом можна було б стандартизувати. Цікавий момент з їхньої заявки:
не дозволено надсилати гібриди — тобто системи, які шифрують і
за допомогою постквантових алгоритмів, і ECC, або підписують чимось, що ви вже використовуєте, разом із
постквантовим рішенням. Вони сказали, що алгоритми не повинні
включати ECC чи будь-який інший алгоритм, який може бути зламаний квантовими комп’ютерами
З точки зору розробника додатків, зручно мати ECC-шар окремо
і сказати: що б ви не робили з постквантовим алгоритмом,
все одно поєднуєте його з x25519, наприклад. Але вони не сказали, що треба
поєднувати все з ECC — наприклад, x25519 як окремий шар. Вони сказали:
не подавайте нічого, що поєднується з ECC
Провівши цей конкурс на постквантові системи, NIST надіслав сигнал компаніям:
почекайте, не впроваджуйте постквантову криптографію поки що
і тут був і батіг, і пряник. Батіг — це патенти: Google щойно
втрапив у халепу через використання чогось, на що раптом знайшовся патент
що ще може бути запатентоване? А NIST сказав: у нас є процес,
який веде до криптографічних стандартів, які можна реалізовувати вільно, тобто патенти
не завадять вам це використовувати. І вони також сказали, що виберуть щось,
що буде досить надійним — безпека буде головним критерієм у відборі
І отже, галузь сказала: «Добре, чекаємо від NIST рішення», а інші
органи стандартизації — також. У IETF є свій дослідницький підрозділ,
IRTF, який створює стандарти для Інтернету. І криптографічна група в IRTF сказала:
ми стандартизуємо те, що вже є в роботі, наприклад, геш-функції
але для всього іншого — чекаємо NIST. ISO теж сказала, що чекає
NIST. Не всі організації сказали це — наприклад, уряд Китаю
заявив, що проведе свій власний конкурс. Але, ну… кого це цікавить?
Тож повертаємося до конкурсу NIST: ось усі заявки. Наприкінці 2017 року
було 69 заявок від 260 криптографів. Я не буду зачитувати всі імена, але це була
величезна кількість роботи для аналітиків у криптографії.
Ми весело проводили час на початку 2017-го, а ті, хто бачив нас на сцені у 2018-му,
знають, що ми розповідали про те, як весело нам було зламувати ці пропозиції
але це була справжня купа роботи. Подивимось, що зробив NIST з конкурсом.
У 2019-му, тобто через два роки — ну, рік із чимось — вони почали
скорочувати кількість кандидатів до 26. А в липні 2020-го
їх ще скоротили — до 15. Мета була зосередитись на тому,
що має сенс, і пріоритет давали найбезпечнішим кандидатам, за винятком
випадків, де застосування вимагало більшої ефективності
Насправді ні — вони зовсім так не робили. Якщо почитати звіт і подивитись,
яких кандидатів вони обрали — щоразу, коли був вибір
між швидкістю і безпекою, звісно, вони відсікали
алгоритми, які були повністю зламані, і ті, що були дуже неефективні
але от вам приклад — SPHINCS, який згадувала Таня раніше,
дуже обережний, усі погоджуються, що це — найбезпечніша система підпису
Але NIST не сказав: «Використовуйте SPHINCS», а: «Ми зачекаємо стандартизації SPHINCS+,
хіба що стільки всього виявиться зламаним, що доведеться взяти SPHINCS»
І от у липні цього року NIST оголосив, що обирає чотири стандарти
один із них — SPHINCS+, а ще три кандидати залишаються під розглядом
виглядає так, ніби впевненість трохи похитнулась. Тож що ж сталося?
Картинка з 69 заявками змінилася, якщо перемотати час на 5,5 років вперед
Ось кольорове кодування: сині — це ті, що залишаються в конкурсі NIST, тобто чотири
алгоритми, які мають стати стандартами, і ще чотири кандидати четвертого раунду
сірі не пройшли далі — це не означає, що вони були зламані,
але їх відсіяли настільки рано, що ніхто вже не мав інтересу їх ламати
коричневий означає менш захищений, ніж було заявлено; червоний —
означає справді зламаний, а підкреслений червоний — це
повністю-повністю зламаний. Як бачите, зламаних систем багато.
Є також цікавий фіолетовий у нижньому правому куті
якщо пам’ятаєте уроки малювання — фіолетовий — це суміш червоного і синього. SIKE було обрано
у липні, а вже в липні і зламано — після 5 років аналізу, його зламали
за лічені секунди. Це приклад того, коли щось справді пішло не так
і низка дрібних подій похитнула впевненість
тому NIST хоча б обрав SPHINCS, але це не призвело до обрання
інших обережних варіантів — деякі з них ще «дозрівають»
але ця сфера поки що не зріла.
А що відбувалося тим часом із боку впровадження?
Згадайте: було два моменти на слайдах Тані ще з 2016 року. Вона сказала:
було б добре вже впровадити щось, щоб захистити користувачів, бо
у нас є проблема з безпекою вже зараз — зловмисники
вже записують все, і ми повинні намагатися захиститися від цього, і
зробити це швидше, ніж триває процес стандартизації. Google
почав це у 2016-му, але злякався патентної загрози. До 2019-го
галузі й багато проєктів з відкритим кодом подумали: можливо, вже час
впроваджувати нові рішення — щось пішло не так у 2016-му,
але на той момент NIST уже зібрав підтвердження від усіх учасників конкурсу
і з’ясував, які пропозиції є запатентованими. Це дало нам
багато інформації, коли 260 криптографів вказали, що саме захищено патентами
І вже у 2019-му стало ще очевидніше, що квантові комп’ютери — на горизонті
Тож приклади того, що сталося у 2019-му:
OpenSSH версії 8, надихаючись TinySSH, оголосив, що додасть гібридний варіант —
поєднання алгоритму на еліптичних кривих і одного з постквантових кандидатів
Він не активований за замовчуванням, але якщо ви додасте рядок