/dev/random, ġeneratur psewdo-random number (CSPRNG) kriptografikament sikur, huwa magħruf li għandu problema waħda tedjanti: l-imblukkar. Dan l-artikolu jispjega kif tista 'ssolviha.
Matul l-aħħar ftit xhur, il-faċilitajiet tal-ġenerazzjoni ta 'numri bl-addoċċ fil-qalba ġew kemmxejn maħduma mill-ġdid, iżda l-problemi f'din is-subsistema ġew solvuti matul il-kors usa'. . L-iktar saru biex jipprevjenu s-sejħa tas-sistema getrandom() milli timblokka għal żmien twil meta s-sistema tibbotja, iżda r-raġuni sottostanti għal dan kienet l-imġiba tal-imblukkar tal-pool każwali. Garża riċenti kienet tneħħi din il-ġabra u kienet mistennija li tmur lejn il-qalba ewlenija.
Andy Lutomirski ppubblika t-tielet verżjoni tal-garża fl-aħħar ta' Diċembru. Huwa jikkontribwixxi «два основных семантических изменения в случайных API Linux». Il-garża żżid bandiera GRND_INSECURE ġdida mas-sejħa tas-sistema getrandom() (għalkemm Lutomirsky jirreferi għaliha bħala getentropy(), li hija implimentata fil-glibc bl-użu ta 'getrandom() b'bnadar fissi); din il-marka tikkawża li s-sejħa dejjem tirritorna l-ammont ta' dejta mitluba, iżda mingħajr ma tiggarantixxi li d-dejta hija każwali. Il-qalba sempliċement tagħmel l-almu tagħha biex tipproduċi l-aħjar data każwali li għandha fil-ħin partikolari. "Probabbilment l-aħjar ħaġa li tagħmel hi li nsejħilha 'INSIGUR' (mhux sigur) biex jipprevjeni li din l-API tintuża għal affarijiet li jeħtieġu sigurtà."
L-irqajja jneħħu wkoll il-pool ta 'l-imblukkar. Il-kernel bħalissa jżomm żewġ pools ta' data każwali, wieħed jikkorrispondi għal /dev/random u l-ieħor għal /dev/urandom, kif deskritt f'dan 2015. Il-pool ta 'l-imblukkar huwa l-pool għal /dev/random; jaqra għal dak l-apparat se jimblokka (li jfisser ismu) sakemm "biżżejjed" entropija tkun inġabret mis-sistema biex tissodisfa t-talba. Qari ulterjuri minn dan il-fajl huma wkoll imblukkati jekk ma jkunx hemm biżżejjed entropy fil-pool.
It-tneħħija tal-lock pool tfisser li l-qari minn /dev/random iġib ruħu bħal getrandom() b'bnadar issettjati għal żero (u jibdlu l-bandiera GRND_RANDOM f'noop). Ladarba l-ġeneratur ta 'numri każwali kriptografiċi (CRNG) jiġi inizjalizzat, il-qari minn /dev/random u sejħiet lil getrandom(...,0) mhux se jimblokka u jirritorna l-ammont mitlub ta' dejta każwali.
Lutomirsky jgħid: «Я считаю, что блокирующий пул Linux изжил себя. CRNG Linux генерирует выходные данные, которые достаточно хороши, чтобы использовать их даже для генерации ключей. Блокирующий пул не является более сильным в любом материальном отношении, и для его поддержания требуется много инфраструктуры сомнительной ценности».
Il-bidliet saru bil-għan li jiġi żgurat li l-programmi eżistenti ma jkunux verament affettwati, u fil-fatt, ikun hemm inqas problemi b'stennija twila għal affarijiet bħall-ġenerazzjoni taċ-ċavetta GnuPG.
“Dawn l-episodji m’għandhomx ifixklu xi programmi eżistenti. /dev/urandom jibqa' mhux mibdul. /dev/random xorta jimblokka immedjatament mal-but, iżda jimblokka inqas minn qabel. getentropy() bil-bnadar eżistenti se jirritorna riżultat li huwa adattat għal skopijiet prattiċi daqs qabel."
Lutomirsky innota li għadha mistoqsija miftuħa jekk il-qalba għandhiex tipprovdi l-hekk imsejħa "numri każwali veri", li huwa dak li l-qalba li timblokka suppost kellha tagħmel sa ċertu punt. Hu jara raġuni waħda biss għal dan: “konformità mal-istandards tal-gvern.” Lutomirsky issuġġerixxa li jekk il-qalba kellha tipprovdi dan, dan għandu jsir permezz ta 'interface kompletament differenti, jew għandu jiġi mċaqlaq fl-ispazju tal-utent, li jippermetti lill-utent biex jirkupra kampjuni tal-avvenimenti mhux ipproċessati li jistgħu jintużaw biex jinħoloq tali lock pool.
Stephan Müller issuġġerixxa li s-sett tiegħu для генератора случайных чисел Linux (LRNG) (в настоящее время выпущена 26 версия) может быть способом предоставления истинных случайных чисел для приложений, которые в этом нуждаются. LRNG «полностью соответствует требованиям «Рекомендаций по источникам энтропии, используемым для генерации случайных битов» SP800-90B», что делает его решением проблемы государственных стандартов.
Matthew Garrett oġġezzjona għat-terminu "dejta każwali vera," u nnota li l-apparati meħuda bħala kampjun jistgħu fil-prinċipju jiġu mmudellati b'mod preċiż biżżejjed biex jagħmluhom prevedibbli: "m'aħniex qed nieħdu kampjuni ta' avvenimenti kwantitiċi hawn."
Müller wieġeb li t-terminu ġej mill-istandard Ġermaniż AIS 31 biex jiddeskrivi ġeneratur ta 'numri bl-addoċċ li jipproduċi biss riżultat "bl-istess rata li s-sors tal-istorbju sottostanti jipproduċi entropija."
Id-differenzi fit-terminoloġija imwarrba, li jkollok lock pool kif issuġġerit mill-irqajja LRNG sempliċiment iwassal għal diversi problemi, għall-inqas jekk ikun aċċessat mingħajr privileġġi.
Kif qal Lutomirsky: “Dan ma jsolvix il-problema. Jekk żewġ utenti differenti jmexxu programmi stupidi bħal gnupg, se jbattu biss lil xulxin. Nara li bħalissa hemm żewġ problemi ewlenin b'/dev/random: huwa suxxettibbli għal DoS (jiġifieri tnaqqis tar-riżorsi, influwenza malizzjuża jew xi ħaġa simili), u peress li l-ebda privileġġ mhu meħtieġ biex jużah, huwa wkoll suxxettibbli għall-abbuż. Gnupg huwa żbaljat, huwa kollass sħiħ. Jekk inżidu interface ġdid mhux privileġġjat li se jużaw gnupg u programmi simili, nerġgħu nitilfu."
Mueller innota li ż-żieda ta' getrandom() issa se tippermetti lil GnuPG juża din l-interface, peress li se tipprovdi l-garanzija meħtieġa li l-pool ġie inizjalizzat. Ibbażat fuq diskussjonijiet mal-iżviluppatur GnuPG Werner Koch, Mueller jemmen li l-garanzija hija l-unika raġuni għaliex GnuPG bħalissa jaqra direttament minn /dev/random. Imma jekk hemm interface mhux privileġġjat li huwa suxxettibbli għaċ-ċaħda tas-servizz (kif /dev/random huwa llum), Lutomirsky jargumenta li se jintuża ħażin minn xi applikazzjonijiet.
Теодор Цао (Theodore Yue Tak Ts’o), разработчик подсистемы случайных чисел Linux, по-видимому, изменил свое мнение по поводу необходимости блокирующего пула. Он сказал, что удаление этого пула позволит эффективно избавиться от идеи, что Linux имеет настоящий генератор случайных чисел (TRNG): "Dan mhux bla sens, peress li dan huwa eżattament dak li * BSD dejjem għamel."
Он также обеспокоен тем, что предоставление механизма TRNG будет просто служить в качестве приманки для разработчиков приложений и считает, что на самом деле, учитывая различные типы аппаратного обеспечения, поддерживаемого Linux, невозможно гарантировать TRNG в ядре. Проблему не решит даже возможность работы с оборудование только на основе root-привилегий: "L-iżviluppaturi tal-applikazzjoni jispeċifikaw li l-applikazzjoni tagħhom tkun installata bħala root għal skopijiet ta 'sigurtà, sabiex dan huwa l-uniku mod kif tista' taċċessa n-numri każwali 'verament tajbin'."
Mueller staqsa jekk Cao kienx abbanduna l-implimentazzjoni tal-grupp tal-imblukkar li hu stess ilu jipproponi. Cao wieġeb li qed jippjana li jieħu l-irqajja ta 'Lutomirsky u jopponi b'mod attiv li jżid interface ta' imblukkar lura mal-qalba.
“Il-qalba ma tistax tagħmel garanziji dwar jekk is-sors tal-istorbju kienx ikkaratterizzat sew. L-unika ħaġa li żviluppatur GPG jew OpenSSL jista 'jikseb hija sensazzjoni vaga li TRUERANDOM huwa "aħjar", u peress li jridu aktar sigurtà, bla dubju se jippruvaw jużawha. F'xi punt ikun imblukkat, u meta xi utent intelliġenti ieħor (forsi speċjalista tad-distribuzzjoni) idaħħalha fl-iskript tal-bidu u s-sistemi jieqfu jaħdmu, l-utenti jkollhom biss jilmentaw ma' Linus Torvalds innifsu."
Cao jappoġġja wkoll li l-kriptografi u dawk li fil-fatt jeħtieġu TRNG mod kif jaħsdu l-entropija tagħhom stess fl-ispazju tal-utent biex jużaw kif jidhrilhom xieraq. Jgħid li l-ġbir tal-entropija mhuwiex proċess li jista 'jitwettaq mill-qalba fuq il-ħardwer differenti kollu li jappoġġja, u lanqas il-qalba stess ma tista' tistma l-ammont ta 'entropija pprovduta minn sorsi differenti.
"Il-qalba m'għandhiex tkun qed tħallat sorsi ta 'storbju differenti flimkien, u ċertament m'għandhiex tkun qed tipprova tippretendi li tkun taf kemm qed tieħu entropija meta tkun qed tipprova tilgħab xi tip ta' "logħba ta 'entropija twitchy" fuq CPU outrageously sempliċi arkitettura għall-utenti tal-konsumatur każijiet IOT/Inkorporati fejn kollox ma jkunx sinkronizzat ma’ oxxillatur ewlieni wieħed, fejn m’hemm l-ebda istruzzjoni tas-CPU biex terġa’ tissemma reġistru, eċċ.”
“Tista’ titkellem dwar li tipprovdi għodod li jippruvaw jagħmlu dawn il-kalkoli, iżda affarijiet bħal dawn iridu jsiru fuq il-ħardwer ta’ kull utent, li sempliċement mhuwiex prattiku għall-biċċa l-kbira tal-utenti tad-distribuzzjoni. Jekk dan huwa maħsub biss għall-kriptografi, allura ħallih isir fl-ispazju tal-utent tagħhom. U ejja ma nissimplifikawx il-GPG, l-OpenSSL, eċċ sabiex kulħadd jgħid "irridu "true randomness" u mhux se joqogħdu b'inqas." Nistgħu nitkellmu dwar kif nipprovdu interfaces lill-kriptografi sabiex ikunu jistgħu jiksbu l-informazzjoni li jeħtieġu billi jaċċessaw is-sorsi primarji tal-istorbju, separati u msemmijin, u forsi b'xi mod is-sors tal-istorbju jista' jawtentika ruħu għal librerija jew applikazzjoni tal-ispazju tal-utent."
Kien hemm xi diskussjoni dwar kif jista' jkun tali interface, peress li pereżempju jista' jkun hemm implikazzjonijiet ta' sigurtà għal xi avvenimenti. Cao innota li l-kodiċi tal-iskannjar tat-tastiera (jiġifieri keystrokes) huma mħallta f'ġabra bħala parti mill-ġbir tal-entropija: "Li nġibu dan fl-ispazju tal-utent, anke permezz ta 'sejħa ta' sistema privileġġjata, ma jkunx għaqli biex ngħidu l-inqas." Huwa pjuttost possibbli li ħinijiet oħra ta 'avvenimenti jistgħu joħolqu xi tip ta' tnixxija ta 'informazzjoni permezz ta' kanali sekondarji.
Таким образом, возникает ощущение, что давняя проблема подсистемы случайных чисел Linux находится на пути к решению. Изменения, которые подсистема случайных чисел претерпела в последнее время, фактически приводили только к проблемам DoS в процессе ее использования. Теперь же появились эффективные способы получить наилучшие случайные числа, какие только может предоставить ядро. Если же TRNG все еще желателен для Linux, то этот недостаток нужно будет устранить в будущем, но, скорее всего, это не будет делаться внутри самого ядра.
Xi reklami 🙂
Grazzi talli bqajt magħna. Tħobb l-artikoli tagħna? Trid tara aktar kontenut interessanti? Appoġġuna billi tagħmel ordni jew tirrakkomanda lill-ħbieb, , analogu uniku ta 'servers ta' livell ta 'dħul, li ġie ivvintat minna għalik: (disponibbli b'RAID1 u RAID10, sa 24 core u sa 40GB DDR4).
Dell R730xd 2 darbiet orħos fiċ-ċentru tad-dejta Equinix Tier IV f'Amsterdam? Hawn biss fl-Olanda! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - minn $99! Aqra dwar
Sors: www.habr.com
