sok a Google biztonsági csapatának tagjai, kiadták egy blogbejegyzésen keresztül úgy döntöttek, hogy kiadják a „Paranoid” könyvtár forráskódját, A nagyszámú megbízhatatlan kriptográfiai műtermék, például a nyilvános kulcsok és a sebezhető hardver- és szoftverrendszerekben (HSM) létrehozott digitális aláírások ismert gyengeségének felderítésére tervezték.
A projekt hasznos lehet az algoritmusok és könyvtárak használatának közvetett értékelésére amelyek ismert hiányosságokkal és sérülékenységekkel rendelkeznek, amelyek befolyásolják a kulcsok és a generált digitális aláírások megbízhatóságát, függetlenül attól, hogy az ellenőrzött műtermékeket ellenőrzésre nem hozzáférhető hardver vagy zárt, fekete dobozként működő összetevők generálják.
Emellett a Google azt is megemlíti, hogy a fekete doboz létrehozhat műterméket, ha az egyik forgatókönyv szerint nem a Google egyik saját eszköze, például a Tink hozta létre. Ez akkor is megtörténne, ha egy olyan könyvtár generálja, amelyet a Google ellenőrizhet és tesztelhet a Wycheproof segítségével.
A könyvtár megnyitásának célja az átláthatóság növelése, más ökoszisztémák használatának lehetővé tétele (például a tanúsító hatóságok, a hitelesítésszolgáltatók, amelyeknek hasonló ellenőrzéseket kell végrehajtaniuk a megfelelőség teljesítéséhez), valamint külső kutatók hozzájárulásainak fogadása. Ennek során hozzájárulásokat kérünk, abban a reményben, hogy miután a kutatók kriptográfiai sebezhetőséget találnak és jelentenek, az ellenőrzések bekerülnek a könyvtárba. Így a Google és a világ többi része gyorsan reagálhat az új fenyegetésekre.
Könyvtár pszeudovéletlen számok halmazait is elemezni tudja a generátor megbízhatóságának meghatározásához és a műtermékek nagy gyűjteményének felhasználásával azonosítani a korábban ismeretlen problémákat, amelyek programozási hibák vagy megbízhatatlan álvéletlenszám-generátorok használata miatt merülnek fel.
Másrészt azt is megemlítik A Paranoid olyan megvalósításokat és optimalizálásokat tartalmaz, amelyek a kriptográfiával kapcsolatos meglévő irodalomból merítettek, ami arra utal, hogy ezeknek a műtermékeknek az előállítása bizonyos esetekben hibás volt.
A több mint 7 milliárd tanúsítványra vonatkozó információkat tartalmazó CT (Certificate Transparency) nyilvános regiszter tartalmának a javasolt könyvtár felhasználásával történő ellenőrzésekor nem találtunk problémás elliptikus görbék (EC) nyilvános kulcsokat és az algoritmuson alapuló digitális aláírásokat. ECDSA, de problémás nyilvános kulcsokat találtunk az RSA algoritmus szerint.
A ROCA sebezhetőség nyilvánosságra hozatala után arra voltunk kíváncsiak, hogy milyen egyéb gyengeségek lehetnek a fekete dobozok által generált kriptográfiai műtermékekben, és mit tehetünk ezek észlelésére és enyhítésére. Ezt követően 2019-ben elkezdtünk dolgozni ezen a projekten, és felépítettünk egy könyvtárat, amely nagyszámú kriptográfiai műtermékkel szembeni ellenőrzést végez.
A könyvtár a szakirodalomban megtalálható meglévő művek implementációit és optimalizálását tartalmazza. A szakirodalom azt mutatja, hogy a műtermékek előállítása bizonyos esetekben hibás; Az alábbiakban példákat mutatunk be azokra a kiadványokra, amelyekre a könyvtár épül.
Különösen 3586 nem megbízható kulcsot azonosítottunk a Debianhoz készült OpenSSL-csomag kijavítatlan CVE-2008-0166 biztonsági rését tartalmazó kód, az Infineon könyvtár CVE-2533-2017 sebezéséhez kapcsolódó 15361 kulcs és a legnagyobb közös osztó (DCM) megtalálásához kapcsolódó 1860 kulcs ).
Ne feledje, hogy a projekt célja a számítási erőforrások használatának könnyedsége. Az ellenőrzéseknek elég gyorsaknak kell lenniük ahhoz, hogy nagyszámú műterméken futhassanak, és értelmet kell adniuk a valós világban. A kevesebb korlátozással rendelkező projektek, például az RsaCtfTool, megfelelőbbek lehetnek a különböző felhasználási esetekben.
Végezetül megemlítik, hogy a használatban maradt problémás tanúsítványokról tájékoztatást küldtek a hitelesítési központoknak azok visszavonására.
mert szeretne többet megtudni a projektről, tudniuk kell, hogy a kód Python nyelven íródott, és az Apache 2.0 licenc alatt került kiadásra. Megtekintheti a részleteket, valamint a forráskódot A következő linken.