Атака на генератор псевдовипадкових чисел — атака, спрямована на розкриття параметрів генератора псевдовипадкових чисел (ГПВЧ) з метою подальшого передбачення псевдовипадкових чисел.
Актуальність
Безпека криптографічних систем часто залежить від деяких даних, які повинні бути відомі лише авторизованим користувачам і які майже не можливо вгадати зловмисникові. Прикладами таких даних можуть бути - сеансові ключі, ініціалізуючі вектори, криптографічна сіль, унікальні параметри функції ЕЦП і тому подібне. Щоб досягти необхідного рівня непередбачуваності за умови частої генерації випадкових чисел, потрібно використовувати надійне джерело випадкових чисел. На жаль, велика кількість криптографічних додатків не володіють надійним джерелом випадкових послідовностей, таких як, наприклад, тепловий шум в електричних ланцюгах або точний час між парою спрацьовувань лічильника Гейгера. Замість цього доводиться використовувати генератори псевдовипадкових чисел (ГПВЧ). ГПВЧ отримує на вхід потік даних з джерела з низькою ентропією і намагається його перетворити в послідовність значень, що практично неможливо відрізнити від справжньої випадкової послідовності. Успішна атака на ГПВЧ може розкрити значну частину криптографічних системи незалежно від того, наскільки ретельно вони були спроектовані. Тим не менш, деякі системи використовують погано спроектовані ГПВЧ або роблять це таким чином, що зменшує складність атак. Більше того, потрібно лише одне успішне проникнення, щоб скомпрометувати всю систему.
Типи атак на ГПВЧ
В залежності від того, які дані ГПВЧ простіше відслідковувати (вихідні значення, вхідні значення або внутрішній стан), можуть бути реалізовані наступні типи атак.
Пряма криптоаналітична атака
Якщо атакуючий здатний безпосередньо відстежувати вихідні дані ГПВЧ і дослідити закономірність їх появи, то це буде прямою криптоаналітичною атакою. Цей вид атаки поширюється на більшість алгоритмів, що використовують ГПВЧ. Однак якщо, наприклад, ГПВЧ використовується тільки для генерації ключа, як зроблено в Triple DES, то він не може бути вразливий до такого роду атак, так як вихідні значення ГПВЧ безпосередньо ніколи не видно.
Атаки, засновані на вхідних даних
Даний тип атак можливий у випадках, коли зловмисник може використовувати дані про вхідні сигнали ГПВЧ або контролювати їх. Атаки, засновані на вхідних даних, можуть бути розділені на атаки з відомими вхідними даними, атаки з відтворюваними вхідними даними і атаки на обрані вхідні дані.
Атаки з відомими вхідними даними практично здійснити в ситуаціях, коли деякі вхідні дані, передбачувані проектувальником системи як важко передбачувані, виявляються легко вгадуваним в деяких окремих випадках.
Атаки з відтворюваними вхідними даними можуть використовуватися в тих же ситуаціях, але вимагають менш складних систем злому і менш складного аналізу з боку атакуючого.
Атаки на обрані вхідні дані можуть бути практично реалізовані на системах, які використовують смарт-карти або токени. Також така атака може бути небезпечна для додатків, що використовують в якості вхідних сигналів ГПВЧ текстові повідомлення, паролі, що задаються користувачем, статистику мережі, час і т. д.
Атаки, засновані на розкритті внутрішнього стану
При проведенні такого типу атак зловмисник намагається використовувати раніше успішні атаки на ГПВЧ, що розкрили його внутрішній стан, з метою передбачення стану подальших або попередніх станів ГПВЧ, наскільки це можливо. Такого роду атаки можуть бути успішні в тому випадку, коли ГПВЧ починає свою роботу з відомого або передбачуваного стану. На практиці дуже складно визначити той факт, що внутрішній стан було скомпрометовано. Саме тому ГПВЧ повинні протидіяти компрометуванню внутрішнього стану. Можливі як мінімум 4 варіанти такої атаки:
Атака із зворотною прокруткою використовує розкритий стан ГПВЧ у момент часу з метою відновлення станів ГПВЧ і, відповідно, його виходів в попередні моменти часу.
Перманентне компрометування стану можливе для таких систем, у яких одного разу розкритий стан у момент часу робить всі попередні та наступні стани уразливими для подальших атак.
Атака ітеративним вгвдуванням використовує знання про стан у момент часу та проміжні виходи ГПВЧ, щоб дізнатися у момент часу коли входи, зібрані протягом цього періоду часу, є вгадуваними (але невідомими) для атакуючого.
Зустріч посередині є, по суті, поєднанням атаки ітеративним вгвдуванням і атаки з зворотньою прокруткою. Знання у моменти часу і дозволяють зловмиснику відновити стан у моменти часу , a так само у всьому часовому проміжку від до .
Приклади ненадійних систем
Ранні версії протоколу шифрування SSL компанії Netscape використовували псевдовипадкові числа, які створювалися ГПВЧ, джерелом ентропії якого виступали значення трьох змінних: час доби, ідентифікатор процесу і ідентифікатор батьківського процесу. Ці величини є передбачуваними і мають відносно низьку ентропію. Відповідно, дана версія SSL була визнана небезпечною. Повідомлення про проблему Netscape отримали від Філіпа Хелам-Бейкера в 1994 році, який тоді працював дослідником в CERN. Однак проблема не була вирішена аж до виробництва програмного продукту. Пізніше, в 1995 році, про проблеми знову заговорили Іан Голдберг і Девід А. Вагнер. Їм довелося застосувати об'єктні модулі зворотного інжинірингу, так як Netscape відмовилася розкрити деталі генерації випадкових чисел. ГПВЧ був виправлений в наступних випусках (версія 2 і більш пізні) зміною джерела ентропії на більш випадковий і з більш високим рівнем ентропії.
Компанія Microsoft використовує неопублікований алгоритм для генерації випадкових чисел в операційних системах Windows. Користувачеві цей алгоритм доступний через утиліту CryptGenRandom. У листопаді 2007 року Лео Дорредорф разом з співавторами з Хайфського університету та Єврейського університету в Єрусалимі опублікував статтю під назвою Cryptanalysis of the Random Number Generator of the Windows Operating System. У статті продемонстровано серйозні недоліки алгоритму, представленого Microsoft. Висновки наведені в статті були сформульовані в результаті вивчення дизасемблированного коду системи Windows 2000, але за заявами Microsoft, вони так само можуть відноситись і до Windows XP.
Національний інститут стандартів і технологій (США) в березні 2007 опублікував рекомендовані «детерміновані генератори псевдовипадкових чисел», які були стандартизовані в NIST Special Publication 800-90. Один з наведених ГПВЧ, Dual EC DRBG, запроваджений стандарт Агентством національної безпеки, заснований на еліптичній криптографії і містить певний набір рекомендованих констант. У серпні 2007 року і Нільс Фергюсон з Microsoft показали, що константи можуть бути підібрані таким чином, що може виникнути бекдор в алгоритмі.
У травні 2008 року дослідник Лучано Белло опублікував роботу, що стверджувала - зміни, зроблені в 2006 році в ГПВЧ в пакеті openssl, що розповсюджуються разом з Debian Linux та іншими дистрибутивами, заснованими на Debian, значно зменшує ентропію генеруються значень, що робить ключі вразливими до атак. [1] [ 20 лютого 2014 у Wayback Machine.] [2] [ 14 липня 2014 у Wayback Machine.] Проблема була викликана змінами, зробленими одним з розробників Debian в коді openssl у відповідь на попередження компілятора про, на перший погляд, надмірний код. Дана уразливість була виправлена в той же день, як про неї стало відомо.
Способи захисту від атак на ГПВЧ
- Використовуйте хеш-функції, щоб приховати реальні вихідні значення ГПВЧ. Використовуйте результати хеш-функцій від вихідних значень ГПВЧ замість самих значень, щоб запобігти прямим криптоаналітичним атакам. Дана методика, хоч і не гарантує повної безпеки, робить систему більш надійною.
- Хэшуйте джерело ентропії з мітками часу, значеннями лічильника або іншими постійно змінними значеннями. Хешування джерела ентропії з яким постійно змінним значенням перед входом в ГПВЧ здатне захистити систему від атак, заснованих на вхідних даних.
- Періодично міняйте внутрішній стан ГПВЧ. Повністю міняйте внутрішній стан ГПВЧ час від часу. Це допоможе захиститися від атак, заснованих на розкритті внутрішнього стану, або, принаймні, зменшить шкоду, заподіяну успішною атакою.
Дивись також
Примітки
- . Архів оригіналу за 22 травня 2016. Процитовано 25 квітня 2018.
- Cryptanalysis of the Random Number Generator of the Windows Operating System, Leo Dorrendorf (PDF). Архів оригіналу (PDF) за 6 вересня 2012. Процитовано 25 квітня 2018.
- . Архів оригіналу за 22 червня 2008. Процитовано 25 квітня 2018.
- (PDF). Архів оригіналу (PDF) за 26 вересня 2007. Процитовано 25 квітня 2018.
- Did NSA Put a Secret Backdoor in New Encryption Standard?
- On the Possibility of a Back Door in the NIST SP800-90 Dual Ec Prng (PDF). Архів оригіналу (PDF) за 26 лютого 2014. Процитовано 25 квітня 2018.
- . Архів оригіналу за 6 вересня 2018. Процитовано 25 квітня 2018.
Література
- Randomness and the Netscape Browser [ 22 травня 2016 у Wayback Machine.], Ian Goldberg and David Wagner, Dr. Dobb's Journal, January 1996, pp66-70.
- Analysis of the Linux Random Number Generator [ 7 грудня 2017 у Wayback Machine.] Zvi Gutterman, Benny Pinkas and Tzachy Reinman, in IEEE S&P (Oakland Conference), May 2006, pp. 371-385.
- Randomness Requirements for Security. D. Eastlake, J. Schiller, S. Crocker, RFC 4086 (obsoletes RFC1750), 2006.
- , Elaine Barker and John Kelsey, NIST Special Publication 800-90. Revised March 2007
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Ataka na generator psevdovipadkovih chisel ataka spryamovana na rozkrittya parametriv generatora psevdovipadkovih chisel GPVCh z metoyu podalshogo peredbachennya psevdovipadkovih chisel AktualnistBezpeka kriptografichnih sistem chasto zalezhit vid deyakih danih yaki povinni buti vidomi lishe avtorizovanim koristuvacham i yaki majzhe ne mozhlivo vgadati zlovmisnikovi Prikladami takih danih mozhut buti seansovi klyuchi inicializuyuchi vektori kriptografichna sil unikalni parametri funkciyi ECP i tomu podibne Shob dosyagti neobhidnogo rivnya neperedbachuvanosti za umovi chastoyi generaciyi vipadkovih chisel potribno vikoristovuvati nadijne dzherelo vipadkovih chisel Na zhal velika kilkist kriptografichnih dodatkiv ne volodiyut nadijnim dzherelom vipadkovih poslidovnostej takih yak napriklad teplovij shum v elektrichnih lancyugah abo tochnij chas mizh paroyu spracovuvan lichilnika Gejgera Zamist cogo dovoditsya vikoristovuvati generatori psevdovipadkovih chisel GPVCh GPVCh otrimuye na vhid potik danih z dzherela z nizkoyu entropiyeyu i namagayetsya jogo peretvoriti v poslidovnist znachen sho praktichno nemozhlivo vidrizniti vid spravzhnoyi vipadkovoyi poslidovnosti Uspishna ataka na GPVCh mozhe rozkriti znachnu chastinu kriptografichnih sistemi nezalezhno vid togo naskilki retelno voni buli sproektovani Tim ne mensh deyaki sistemi vikoristovuyut pogano sproektovani GPVCh abo roblyat ce takim chinom sho zmenshuye skladnist atak Bilshe togo potribno lishe odne uspishne proniknennya shob skomprometuvati vsyu sistemu Tipi atak na GPVChV zalezhnosti vid togo yaki dani GPVCh prostishe vidslidkovuvati vihidni znachennya vhidni znachennya abo vnutrishnij stan mozhut buti realizovani nastupni tipi atak Pryama kriptoanalitichna ataka Yaksho atakuyuchij zdatnij bezposeredno vidstezhuvati vihidni dani GPVCh i dosliditi zakonomirnist yih poyavi to ce bude pryamoyu kriptoanalitichnoyu atakoyu Cej vid ataki poshiryuyetsya na bilshist algoritmiv sho vikoristovuyut GPVCh Odnak yaksho napriklad GPVCh vikoristovuyetsya tilki dlya generaciyi klyucha yak zrobleno v Triple DES to vin ne mozhe buti vrazlivij do takogo rodu atak tak yak vihidni znachennya GPVCh bezposeredno nikoli ne vidno Ataki zasnovani na vhidnih danih Danij tip atak mozhlivij u vipadkah koli zlovmisnik mozhe vikoristovuvati dani pro vhidni signali GPVCh abo kontrolyuvati yih Ataki zasnovani na vhidnih danih mozhut buti rozdileni na ataki z vidomimi vhidnimi danimi ataki z vidtvoryuvanimi vhidnimi danimi i ataki na obrani vhidni dani Ataki z vidomimi vhidnimi danimi praktichno zdijsniti v situaciyah koli deyaki vhidni dani peredbachuvani proektuvalnikom sistemi yak vazhko peredbachuvani viyavlyayutsya legko vgaduvanim v deyakih okremih vipadkah Ataki z vidtvoryuvanimi vhidnimi danimi mozhut vikoristovuvatisya v tih zhe situaciyah ale vimagayut mensh skladnih sistem zlomu i mensh skladnogo analizu z boku atakuyuchogo Ataki na obrani vhidni dani mozhut buti praktichno realizovani na sistemah yaki vikoristovuyut smart karti abo tokeni Takozh taka ataka mozhe buti nebezpechna dlya dodatkiv sho vikoristovuyut v yakosti vhidnih signaliv GPVCh tekstovi povidomlennya paroli sho zadayutsya koristuvachem statistiku merezhi chas i t d Ataki zasnovani na rozkritti vnutrishnogo stanu Pri provedenni takogo tipu atak zlovmisnik namagayetsya vikoristovuvati ranishe uspishni ataki na GPVCh sho rozkrili jogo vnutrishnij stan z metoyu peredbachennya stanu podalshih abo poperednih staniv GPVCh naskilki ce mozhlivo Takogo rodu ataki mozhut buti uspishni v tomu vipadku koli GPVCh pochinaye svoyu robotu z vidomogo abo peredbachuvanogo stanu Na praktici duzhe skladno viznachiti toj fakt sho vnutrishnij stan bulo skomprometovano Same tomu GPVCh povinni protidiyati komprometuvannyu vnutrishnogo stanu Mozhlivi yak minimum 4 varianti takoyi ataki Ataka iz zvorotnoyu prokrutkoyu vikoristovuye rozkritij stan GPVCh S displaystyle S u moment chasu t0 displaystyle t 0 z metoyu vidnovlennya staniv GPVCh i vidpovidno jogo vihodiv v poperedni momenti chasu Permanentne komprometuvannya stanu mozhlive dlya takih sistem u yakih odnogo razu rozkritij stan S displaystyle S u moment chasu t0 displaystyle t 0 robit vsi poperedni ta nastupni stani urazlivimi dlya podalshih atak Ataka iterativnim vgvduvannyam vikoristovuye znannya pro stan S displaystyle S u moment chasu t0 displaystyle t 0 ta promizhni vihodi GPVCh shob diznatisya S displaystyle S u moment chasu t0 Dt displaystyle t 0 Delta t koli vhodi zibrani protyagom cogo periodu chasu ye vgaduvanimi ale nevidomimi dlya atakuyuchogo Zustrich poseredini ye po suti poyednannyam ataki iterativnim vgvduvannyam i ataki z zvorotnoyu prokrutkoyu Znannya S displaystyle S u momenti chasu t0 displaystyle t 0 i t0 2Dt displaystyle t 0 2 Delta t dozvolyayut zlovmisniku vidnoviti stan S displaystyle S u momenti chasu t0 Dt displaystyle t 0 Delta t a tak samo u vsomu chasovomu promizhku vid t0 displaystyle t 0 do t0 2Dt displaystyle t 0 2 Delta t Prikladi nenadijnih sistemRanni versiyi protokolu shifruvannya SSL kompaniyi Netscape vikoristovuvali psevdovipadkovi chisla yaki stvoryuvalisya GPVCh dzherelom entropiyi yakogo vistupali znachennya troh zminnih chas dobi identifikator procesu i identifikator batkivskogo procesu Ci velichini ye peredbachuvanimi i mayut vidnosno nizku entropiyu Vidpovidno dana versiya SSL bula viznana nebezpechnoyu Povidomlennya pro problemu Netscape otrimali vid Filipa Helam Bejkera v 1994 roci yakij todi pracyuvav doslidnikom v CERN Odnak problema ne bula virishena azh do virobnictva programnogo produktu Piznishe v 1995 roci pro problemi znovu zagovorili Ian Goldberg i Devid A Vagner Yim dovelosya zastosuvati ob yektni moduli zvorotnogo inzhiniringu tak yak Netscape vidmovilasya rozkriti detali generaciyi vipadkovih chisel GPVCh buv vipravlenij v nastupnih vipuskah versiya 2 i bilsh pizni zminoyu dzherela entropiyi na bilsh vipadkovij i z bilsh visokim rivnem entropiyi Kompaniya Microsoft vikoristovuye neopublikovanij algoritm dlya generaciyi vipadkovih chisel v operacijnih sistemah Windows Koristuvachevi cej algoritm dostupnij cherez utilitu CryptGenRandom U listopadi 2007 roku Leo Dorredorf razom z spivavtorami z Hajfskogo universitetu ta Yevrejskogo universitetu v Yerusalimi opublikuvav stattyu pid nazvoyu Cryptanalysis of the Random Number Generator of the Windows Operating System U statti prodemonstrovano serjozni nedoliki algoritmu predstavlenogo Microsoft Visnovki navedeni v statti buli sformulovani v rezultati vivchennya dizasemblirovannogo kodu sistemi Windows 2000 ale za zayavami Microsoft voni tak samo mozhut vidnositis i do Windows XP Nacionalnij institut standartiv i tehnologij SShA v berezni 2007 opublikuvav rekomendovani determinovani generatori psevdovipadkovih chisel yaki buli standartizovani v NIST Special Publication 800 90 Odin z navedenih GPVCh Dual EC DRBG zaprovadzhenij standart Agentstvom nacionalnoyi bezpeki zasnovanij na eliptichnij kriptografiyi i mistit pevnij nabir rekomendovanih konstant U serpni 2007 roku i Nils Fergyuson z Microsoft pokazali sho konstanti mozhut buti pidibrani takim chinom sho mozhe viniknuti bekdor v algoritmi U travni 2008 roku doslidnik Luchano Bello opublikuvav robotu sho stverdzhuvala zmini zrobleni v 2006 roci v GPVCh v paketi openssl sho rozpovsyudzhuyutsya razom z Debian Linux ta inshimi distributivami zasnovanimi na Debian znachno zmenshuye entropiyu generuyutsya znachen sho robit klyuchi vrazlivimi do atak 1 20 lyutogo 2014 u Wayback Machine 2 14 lipnya 2014 u Wayback Machine Problema bula viklikana zminami zroblenimi odnim z rozrobnikiv Debian v kodi openssl u vidpovid na poperedzhennya kompilyatora pro na pershij poglyad nadmirnij kod Dana urazlivist bula vipravlena v toj zhe den yak pro neyi stalo vidomo Sposobi zahistu vid atak na GPVChVikoristovujte hesh funkciyi shob prihovati realni vihidni znachennya GPVCh Vikoristovujte rezultati hesh funkcij vid vihidnih znachen GPVCh zamist samih znachen shob zapobigti pryamim kriptoanalitichnim atakam Dana metodika hoch i ne garantuye povnoyi bezpeki robit sistemu bilsh nadijnoyu Heshujte dzherelo entropiyi z mitkami chasu znachennyami lichilnika abo inshimi postijno zminnimi znachennyami Heshuvannya dzherela entropiyi z yakim postijno zminnim znachennyam pered vhodom v GPVCh zdatne zahistiti sistemu vid atak zasnovanih na vhidnih danih Periodichno minyajte vnutrishnij stan GPVCh Povnistyu minyajte vnutrishnij stan GPVCh chas vid chasu Ce dopomozhe zahistitisya vid atak zasnovanih na rozkritti vnutrishnogo stanu abo prinajmni zmenshit shkodu zapodiyanu uspishnoyu atakoyu Divis takozhGenerator psevdovipadkovih chisel CryptGenRandomPrimitki Arhiv originalu za 22 travnya 2016 Procitovano 25 kvitnya 2018 Cryptanalysis of the Random Number Generator of the Windows Operating System Leo Dorrendorf PDF Arhiv originalu PDF za 6 veresnya 2012 Procitovano 25 kvitnya 2018 Arhiv originalu za 22 chervnya 2008 Procitovano 25 kvitnya 2018 PDF Arhiv originalu PDF za 26 veresnya 2007 Procitovano 25 kvitnya 2018 Did NSA Put a Secret Backdoor in New Encryption Standard On the Possibility of a Back Door in the NIST SP800 90 Dual Ec Prng PDF Arhiv originalu PDF za 26 lyutogo 2014 Procitovano 25 kvitnya 2018 Arhiv originalu za 6 veresnya 2018 Procitovano 25 kvitnya 2018 LiteraturaRandomness and the Netscape Browser 22 travnya 2016 u Wayback Machine Ian Goldberg and David Wagner Dr Dobb s Journal January 1996 pp66 70 Analysis of the Linux Random Number Generator 7 grudnya 2017 u Wayback Machine Zvi Gutterman Benny Pinkas and Tzachy Reinman in IEEE S amp P Oakland Conference May 2006 pp 371 385 Randomness Requirements for Security D Eastlake J Schiller S Crocker RFC 4086 obsoletes RFC1750 2006 Elaine Barker and John Kelsey NIST Special Publication 800 90 Revised March 2007