Різниця між теорією та практикою безпеки та криптографією?


21

Які цікаві відмінності між теорією та практикою безпеки та криптографією?

Звичайно, найцікавішими будуть приклади, які пропонують нові шляхи теоретичних досліджень на основі практичного досвіду :).

Відповіді можуть включати (але не обмежуються ними):

  • Приклади, коли теорія говорить про те, що щось можливо, але це ніколи не застосовується на практиці
  • Приклади, коли теорія говорить про те, що щось є безпечним, що не є безпечним на практиці
  • Приклади чогось із широкого практичного використання мають мало теорії.

...

Caveat

Якщо ваша відповідь по суті є у формі "Теорія про асимптотику, а практика - ні", то або теорія повинна бути дійсно центральною, або відповідь повинна містити конкретні приклади, коли практичний досвід в реальних випадках відрізняється від очікуваних з теорії.


Я знаю один із прикладів: безпечна оцінка ланцюга. Теоретично дуже потужний, але занадто складний, щоб коли-небудь використовувати його на практиці, оскільки це передбачало б взяти ваш код, розкрутити його в ланцюг, а потім зробити безпечну оцінку кожного заходу по черзі.


FYI, це питання було натхнене деякою риторикою / дискусією щодо цього іншого питання: cstheory.stackexchange.com/questions/453/…
Джошуа Грохов

Відповіді:


23

Ой хлопче, з чого почати.

Великий - це, безумовно, чорні коробки. Дослідники криптовалюти метушаться про такі речі, як проблема незрозумілості моделі Random Oracle Model. Дослідники з безпеки знаходяться в іншому крайньому плані і хотіли б, щоб усе було корисно як чорний ящик, а не лише хеш-функції. Це постійне джерело напруги.

Для ілюстрації, якщо ви подивитеся на формальний аналіз протоколів безпеки, наприклад, логіку BAN , ви побачите, що симетричне шифрування трактується як "ідеальний блок-шифр". Тут є тонка відмінність - логіка BAN (та інші методи аналізу протоколів) не претендує на підтвердження безпеки; скоріше, це прийоми пошуку недоліків. Тому не зовсім вірно, що тут задіяна ідеальна модель шифру. Однак емпірично вірно, що більша частина аналізу безпеки має тенденцію обмежуватися формальною моделлю, тому ефект той самий.

Ми ще навіть не говорили про практикуючих. Ці хлопці, як правило, навіть не здогадуються, що криптовалюти не мають бути чорними скриньками, і я сумніваюся, що це колись зміниться - десятиліття спроб бити це в голову не змінило жодного значення.

Щоб побачити, наскільки погана проблема, розгляньте цю рекомендацію щодо безпеки щодо підробки підписів API. Помилка частково пов’язана з атакою подовження довжини в конструкції Merkle-Damgard (яка є дійсно базовою) і впливає на Flickr, DivShare, iContact, Mindmeister, Myxer, RememberTheMilk, Scribd, Vimeo, Voxel, Wizehhive та Zoomr. Автори відзначають, що це не повний перелік.

Я думаю, що практикуючі заслуговують на левову частку вини за цей сумний стан справ. З іншого боку, можливо, теоретикам криптовалют потрібно також переосмислити свою позицію. Їх лінія полягає в тому, що "чорні скриньки неможливо побудувати; ми навіть не збираємося намагатися". На що я кажу, оскільки очевидно, що ваші конструкції все-таки будуть використовуватись (неправильно) як чорні скриньки, чому б принаймні не спробувати зробити їх максимально наближеними до чорних коробок?

Стаття, яку Меркле-Дамгард переглянув, - чудовий приклад того, про що я говорю. Вони вивчають поняття безпеки, що "хеш-функція довільної довжини H повинна поводитись як випадковий оракул, коли будівельний блок фіксованої довжини розглядається як випадковий оракул або ідеальний блок-шифр". Цей вид теоретичних досліджень може бути надзвичайно корисним на практиці.

Тепер перейдемо до вашого прикладу оцінки схеми. Я прошу не погодитися з вашими міркуваннями. Це не так, як ви б взяли складений двійковий файл і сліпо перетворили його на ланцюг. Швидше, ви застосовуєте оцінку ланцюга лише до основної функції порівняння, яка зазвичай досить проста. Fairplay - це реалізація схеми оцінки. Мій колега, який працював з цим, каже мені, що це дивно швидко. Хоча це правда, що ефективність - це проблема з оцінкою ланцюга (і я не знаю реальних випадків, коли це було відхилено з цієї причини), це далеко не показник зупинки.

Друга причина, з якою я не погоджуюся з вами, полягає в тому, що якщо ви задумаєтесь про деякі типові сценарії реального життя, в яких, можливо, ви хочете здійснити необачне оцінювання ланцюга - наприклад, коли дві компанії розбираються, чи слід об'єднувати - обчислювальні витрати залучені тривіально порівняно із загальними зусиллями та бюджетом людини.

То чому тоді ніхто не використовує загальну оцінку безпечної функції на практиці? Чудове запитання. Це підводить мене до моєї другої різниці між теорією та практикою: довіра насправді існує на практиці! Не все потрібно робити в параноїдальній моделі. Набір проблем, які люди насправді хочуть вирішити за допомогою криптовалют, набагато, набагато менший, ніж те, що собі уявляють криптографи.

Я знаю когось, хто створив компанію, що намагається продавати захищені послуги з багатопартійних обчислень для корпоративних клієнтів. Вгадайте, що - ніхто цього не хотів. Те, як вони підходять до цих проблем, полягає в тому, щоб підписати контракт із зазначенням того, що ви можете, а що не можете зробити з даними, і що ви знищите дані після того, як будете використати їх за призначенням. Здебільшого це працює просто чудово.

Моє остаточне значення різниці між теорією та практикою - це щодо PKI. Криптовалюти часто скріплюють речення десь кажучи: "ми припускаємо PKI". На жаль, цифрові сертифікати для кінцевих користувачів (на відміну від веб-сайтів чи службовців у корпоративному контексті, де існує природна ієрархія) ніколи не реалізувалися. Цей класичний документ описує веселість, яка виникає, коли ви просите нормальних людей використовувати PGP. Мені кажуть, що з цього часу програмне забезпечення значно покращилося, але основні проблеми дизайну та архітектури та людські обмеження сьогодні сильно не відрізняються.

Я не думаю, що криптографи не повинні робити щось інакше як наслідок відсутності PKI у реальному світі, за винятком того, щоб усвідомлювати той факт, що це обмежує застосовність криптографічних протоколів у реальному світі. Я кинув це, бо це щось, що я намагаюся виправити.


Чудова відповідь! (Хоча я зізнаюся, я не зовсім дотримувався цього - мені доведеться перейти деякі ваші посилання та прочитати їх, але інший раз.) Щодо безпечної оцінки схеми: я люблю це чути. Думка, яку я висловив, в основному моє почуття після того, як я пройшов курс введення теорії криптовалют і запитав мого професора про те, чи застосовується він коли-небудь на практиці.
Джошуа Грохов

Спасибі. До речі, я новачок у StackExchange, і я не знаю, чи вікі спільноти означає, що написання від першої особи неприйнятне. Якщо це так, сміливо вносите зміни.
randomwalker

Я б хотів, щоб я міг підтримати цю відповідь не раз.
Jeffε

У реалістичних моделях загроз FairPlay не є безпечним (він не захищений від зловмисних зловмисників; він безпечний лише в тому випадку, якщо ми довіряємо противнику не вести себе противно / злісно). Ефективність легка, якщо безпека неважлива, а безпека - легка, якщо ефективність неважлива, але наразі невідомо, як досягти обох одночасно.
DW

Ваш коментар щодо практикуючих справді щедрий. Я натрапив на компанію, єдиним продуктом якої була обробка платежів за кредитні картки, які використовували шифр Vigenère з ключем, коротшим за деякі фрагменти відомого простого тексту. І тоді вони не повірили мені, що це небезпечно, поки я не надіслав їм код атаки.
Пітер Тейлор

12

Відповідь Randomwalker дуже хороша. Мій улюблений розрив між теорією та практикою - це випадкова модель оракула. На практиці це здається дуже безпечним евристичним (якщо припустити, що люди не роблять чогось дурного і принаймні продумано продовжують довжину, див. Також відповідь випадкового розбіжника), але позитивних теоретичних результатів щодо цього у нас немає. Насправді всі теоретичні результати щодо цього евристики є негативними. Я думаю, що це велике дослідницьке питання і сподіваюся, що одного дня будуть виявлені цікаві позитивні результати щодо цієї моделі.

Що стосується обфускування, наскільки я знаю навіть на практиці, хоча вона широко застосовується, обфускуція не вважається безпечною як шифрування, і не вважається доцільним використовувати обтурацію, щоб приховати тривалий і дуже чутливий секрет. (На відміну від шифрування з використанням випадкового оракула, який люди цілком комфортно використовують для цього.) Тож у цьому сенсі розрив між теорією та практикою не настільки великий. (тобто затуманення - надзвичайно цікава область, яку ми далеко не розуміємо як в теорії, так і на практиці.)


10

Гомоморфне шифрування та безпечне багатопартійне спілкування - два великих, останніх відкриття в криптографії, які ще недостатньо вивчені, щоб зробити це практично практичним: дослідницькі зусилля типу PROCEED рухаються в цьому напрямку, щоб визначити, яку модель програмування ми могли б використати для написання цього свого роду обчислення, а також знайти оптимізацію основних криптографічних алгоритмів, які змушують їх працювати у розумний час. Це досить поширене явище в криптографії: ми починаємо з (порівняно) простих алгоритмів, які потребують тривалого часу, а потім криптографи проводять роки, використовуючи математику, щоб оптимізувати алгоритми все далі і далі.


10

Приклади, коли теорія говорить про те, що щось можливо, але це ніколи не використовується на практиці:

Досить легко знайти приклади речей, які вирішуються теоретично, але або (1) занадто неефективні для використання на практиці, або (2) про які ніхто не піклується. Приклади: (1) (загальні) докази нульових знань, (2) безперечні підписи. Насправді подивіться на будь-яку криптовалюту і, принаймні, половина робіт, ймовірно, потрапить до однієї з цих категорій.

Приклади, коли теорія говорить про те, що на практиці є щось безпечне, що не є безпечним:

Це питання трохи розпливчастий, тому я не впевнений, чи відповідає на це питання, - але є чимало прикладів "надійно захищених" схем, які на практиці порушуються, оскільки визначення безпеки не відповідає сценарію розгортання. Тільки за останні кілька років серед інших сталися напади на (перевірені варіанти) SSH та IPSec.

Приклади чогось із широкого практичного використання мають мало теорії:

Я припускаю, що ви маєте на увазі в крипто-світі, а не в загальному світі безпеки. Хороший приклад - підписи DSS, які не мають доказів безпеки.


9

ММ'М'шМшМ'шМшМ'ММ'М

Існує багато комерційних компаній, які пропонують двійкові рішення з приводу обфускування, а також є кілька рішень з відкритим кодом. Точні методи обфускування, звичайно, зберігаються в таємниці; поширена в промисловості парадигма обфускації є евристичною, тому знання алгоритмів, що використовуються для придушення бінарного в цьому контексті, як правило, гарантує певну перевагу в знеструмленні. Заплутаність у промисловості відома як "безпека через неясність".

Існують теоретичні підходи до проблеми затуплення, які формалізують бажання промисловості, але покладаються на суворо міцніше поняття безпеки, засноване на обчислювальній внутрішньостабільності (уявіть собі заміну тестів на цілі та рядкові еквівалентності тестами на еквівалентність функцій). Зокрема, було вивчено вивчення обфузації складових точок, щоб спробувати вирішити цікаву для промисловості проблему затухання. На жаль, найбільш широке поширення теоретична модель для заплутування на основі моделі натхненний протизламні апаратних дали результат неможливість у 2001 році Бараку і ін в статті « О (їм) можливість заплутування програм ». (Декілька інших моделей також отримали результати неможливості).

Наразі теорія програмування програми знаходиться в потоці, що вимагає нової (ймовірно, менш обмежувальної) моделі. Насправді основна проблема теорії полягає у її відсутності узгодженої моделі (а отже, формальних гарнітур). Нещодавнє поява повністю гомоморфного шифрування може стати такою основою (це суто спекуляції з боку цього автора).

Для уточнення, обфускація відповідає вашому третьому прикладу: "Приклади чогось із широкого практичного використання мають мало теорії". Потужність сьогодні широко використовується як промисловістю, так і тими, хто має більш зловісні цілі. Затуплення в промисловості в даний час не базується на жодній суворій теорії, незважаючи на спроби.


8

Існує суттєвий розрив, навіть якщо мова йде про основні примітиви, такі як генератори псевдовипадкових випадків. Розглянемо для прикладу псевдовипадкові функції. На практиці люди використовують такі речі AES , які відрізняються від теоретичних кандидатів (Goldreich, Goldwasser, Micali; Naor, Reingold тощо) за кількома параметрами: По-перше, параметри абсолютно різні, наприклад, AES може мати довжину ключа, яка дорівнює вхідній довжині , що невідомо в теоретичних побудовах. Можливо, ще важливіше, що AES (та багато інших блок-шифрів) дотримуються так званої парадигми заміщення-перестановки, що зовсім відрізняється від теоретичних побудов (наприклад, згаданих вище).

Звичайно, найцікавішими будуть приклади, які пропонують нові шляхи теоретичних досліджень на основі практичного досвіду :).

Я думаю, що вище є таким прикладом, дивіться, наприклад, цей документ з Еріком Майлзом (з якого по суті береться ця відповідь).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.