_NSAKEY - _NSAKEY
_NSAKEY a fost un nume variabil descoperit în Windows NT 4 SP5 în 1999 de Andrew D. Fernandes de la Cryptonym Corporation. Variabila conținea o cheie publică de 1024 biți; astfel de chei sunt utilizate în criptografie cu cheie publică pentru criptare și autentificare . Cu toate acestea, din cauza numelui, s-a speculat că cheia ar permite Agenției Naționale de Securitate a Statelor Unite (NSA) să subvertizeze securitatea oricărui utilizator Windows. Microsoft a respins speculațiile și a spus că numele cheii provine din faptul că NSA era autoritatea de revizuire tehnică pentru controalele de export ale criptografiei americane .
Prezentare generală
Microsoft cere ca toate suitele de criptografie care interoperă cu Microsoft Windows să aibă o semnătură digitală . Deoarece numai suitele de criptografie aprobate de Microsoft pot fi livrate cu Windows, este posibil să păstrați copii de export ale acestui sistem de operare în conformitate cu Regulamentele de administrare a exporturilor (EAR), care sunt puse în aplicare de către Biroul Industriei și Securității (BIS).
Se știa deja că Microsoft a folosit două chei, una primară și una de rezervă, care poate crea semnături valide. La lansarea Service Pack 5 pentru Windows NT 4 , Microsoft a neglijat eliminarea simbolurilor de depanare din ADVAPI32.DLL , o bibliotecă utilizată pentru funcții avansate Windows, cum ar fi Registry și Security. Andrew Fernandes, om de știință șef cu Cryptonym, a găsit cheia primară stocată în variabila _KEY, iar a doua cheie a fost etichetată _NSAKEY. Fernandes și-a publicat descoperirea, atingând o serie de teorii ale speculațiilor și conspirației , inclusiv posibilitatea ca cea de-a doua cheie să fie deținută de Agenția Națională de Securitate a Statelor Unite (NSA) și să permită agenției de informații să subvertizeze securitatea oricărui utilizator Windows.
În timpul unei prezentări la conferința Computers, Freedom and Privacy 2000 (CFP2000), Duncan Campbell , cercetător principal la Electronic Privacy Information Center (EPIC), a menționat controversa _NSAKEY ca exemplu al unei probleme remarcabile legate de securitate și supraveghere.
În plus, dr. Nicko van Someren a găsit o a treia cheie în Windows 2000, despre care se îndoia că are un scop legitim și a declarat că „Pare mai pește”.
Reacția Microsoft
Microsoft a respins speculațiile din spate pe _NSAKEY și a spus „Această speculație este ironică, deoarece Microsoft s-a opus în mod constant diferitelor propuneri cheie de escrow sugerate de guvern”. Potrivit Microsoft, simbolul cheii era „_NSAKEY” deoarece NSA era autoritatea de revizuire tehnică pentru controalele de export ale criptografiei SUA , iar cheia asigura conformitatea cu legile de export din SUA.
Richard Purcell, directorul Microsoft pentru confidențialitate corporativă, a abordat Campbell după prezentarea sa și și-a exprimat dorința de a clarifica confuzia și îndoielile cu privire la _NSAKEY. Imediat după conferință, Scott Culp, de la Microsoft Security Response Center, l-a contactat pe Campbell și s-a oferit să îi răspundă la întrebări. Corespondența lor a început cordial, dar în curând a devenit tensionată; Se pare că Campbell a simțit că Culp este evaziv, iar Culp se pare că Campbell repetă cu ostilitate întrebări la care el a răspuns deja. La 28 aprilie 2000, Culp a declarat că „am ajuns cu siguranță la sfârșitul acestei discuții ... [care] se transformă rapid în domeniul teoriei conspirației”.
Microsoft a susținut că a treia cheie se află doar în versiunile beta ale Windows 2000 și că scopul acesteia era semnarea furnizorilor de servicii criptografice .
Mozilla pagina pe mai frecvente întrebări pe criptografie menționează:
De fapt, este posibil, în anumite circumstanțe, să obțineți o licență de export pentru software care invocă funcții criptografice printr-un API. De exemplu, implementarea de către Microsoft a specificației Microsoft Cryptographic API (CryptoAPI) a fost aprobată pentru export din SUA, chiar dacă implementează un API prin care terți, inclusiv terți din afara SUA, pot adăuga module separate („Furnizori de servicii criptografice” sau CSP) implementarea funcționalității criptografice. Această aprobare a exportului a fost posibil posibil, deoarece a) implementarea CryptoAPI necesită semnarea digitală a CSP-urilor de către terți de către Microsoft și respinge încercările de a apela CSP-urile care nu sunt semnate astfel; b) prin acest proces de semnare Microsoft poate asigura conformitatea cu reglementările relevante din SUA privind controlul exporturilor (de exemplu, probabil că nu ar semna un CSP dezvoltat în afara SUA care să implementeze o criptografie puternică); și c) Implementarea CryptoAPI a Microsoft este disponibilă numai în formă executabilă și, prin urmare, se presupune că este rezonabil rezistentă la manipularea utilizatorilor pentru a dezactiva verificarea semnăturii digitale CSP.
Microsoft a declarat că a doua cheie este prezentă ca o copie de rezervă pentru a proteja împotriva posibilității de a pierde cheia secretă primară. Fernandes se îndoiește de această explicație, subliniind că modalitatea general acceptată de a proteja împotriva pierderii unei chei secrete este divizarea secretă , care ar împărți cheia în mai multe părți diferite, care ar fi apoi distribuite în întreaga conducere superioară. El a declarat că acest lucru ar fi mult mai robust decât utilizarea a două taste; dacă se pierde și a doua cheie, Microsoft ar trebui să corecte sau să actualizeze fiecare copie de Windows din lume, precum și fiecare modul criptografic pe care l-a semnat vreodată.
Pe de altă parte, dacă Microsoft nu a reușit să se gândească la consecințele pierderii cheii și a creat o primă cheie fără a utiliza divizarea secretă (și a făcut-o într-un hardware securizat care nu permite slăbirea protecției după generarea cheilor), iar NSA a indicat eliminând această problemă ca parte a procesului de revizuire, ar putea explica de ce Microsoft și-a slăbit schema cu o a doua cheie și de ce noua a fost numită _NSAKEY. (A doua cheie ar putea fi copiată folosind divizarea secretă, deci pierderea ambelor chei nu ar trebui să fie o problemă.) O altă posibilitate este că Microsoft a inclus o a doua cheie pentru a putea semna module criptografice în afara Statelor Unite, în timp ce respectă în continuare BIS's URECHE. Dacă modulele criptografice ar fi semnate în mai multe locații, utilizarea mai multor chei este o abordare rezonabilă. Cu toate acestea, niciun modul criptografic nu a fost găsit vreodată semnat de _NSAKEY și Microsoft neagă existența oricărei alte autorități de certificare.
A fost posibil să se elimine al doilea _NSAKEY.
Există totuși vești bune printre cei răi. Se pare că există un defect în modul în care funcția „crypto_verify” este implementată. Datorită modului în care are loc verificarea criptografică, utilizatorii pot elimina sau înlocui cu ușurință cheia NSA din sistemul de operare fără a modifica niciuna dintre componentele originale ale Microsoft. Întrucât cheia NSA este ușor înlocuită, înseamnă că companiile din afara SUA sunt libere să instaleze servicii cripto "puternice" în Windows, fără aprobarea Microsoft sau a NSA. Astfel, NSA a eliminat efectiv controlul exporturilor cripto-ului „puternic” din Windows. Un program demonstrativ care înlocuiește cheia NSA poate fi găsit pe site-ul Cryptonym.
Chei PGP
În septembrie 1999, un cercetător anonim a conceput invers atât cheia primară, cât și _NSAKEY în format compatibil PGP și le-a publicat pe serverele de chei .
Cheie principală (_KEY)
Type Bits/KeyID Date User ID pub 1024/346B5095 1999/09/06 Microsoft's CAPI key <[email protected]> -----BEGIN PGP PUBLIC KEY BLOCK----- Version: 2.6.3i mQCPAzfTc8YAAAEEALJz4nepw3XHC7dJPlKws2li6XZiatYJujG+asysEvHz2mwY 2WlRggxFfHtMSJO9FJ3ieaOfbskm01RNs0kfoumvG/gmCzsPut1py9d7KAEpJXEb F8C4d+r32p0C3V+FcoVOXJDpsQz7rq+Lj+HfUEe8GIKaUxSZu/SegCE0a1CVABEB AAG0L01pY3Jvc29mdCdzIENBUEkga2V5IDxwb3N0bWFzdGVyQG1pY3Jvc29mdC5j b20+iQEVAwUQN9Nz5j57yqgoskVRAQFr/gf8DGm1hAxWBmx/0bl4m0metM+IM39J yI5mub0ie1HRLExP7lVJezBTyRryV3tDv6U3OIP+KZDthdXb0fmGU5z+wHt34Uzu xl6Q7m7oB76SKfNaWgosZxqkE5YQrXXGsn3oVZhV6yBALekWtsdVaSmG8+IJNx+n NvMTYRUz+MdrRFcEFDhFntblI8NlQenlX6CcnnfOkdR7ZKyPbVoSXW/Z6q7U9REJ TSjBT0swYbHX+3EVt8n2nwxWb2ouNmnm9H2gYfXHikhXrwtjK2aG/3J7k6EVxS+m Rp+crFOB32sTO1ib2sr7GY7CZUwOpDqRxo8KmQZyhaZqz1x6myurXyw3Tg== =ms8C -----END PGP PUBLIC KEY BLOCK-----
Cheie secundară (_NSAKEY și _KEY2)
Type Bits/KeyID Date User ID pub 1024/51682D1F 1999/09/06 NSA's Microsoft CAPI key <[email protected]> -----BEGIN PGP PUBLIC KEY BLOCK----- Version: 2.6.3i mQCPAzfTdH0AAAEEALqOFf7jzRYPtHz5PitNhCYVryPwZZJk2B7cNaJ9OqRQiQoi e1YdpAH/OQh3HSQ/butPnjUZdukPB/0izQmczXHoW5f1Q5rbFy0y1xy2bCbFsYij 4ReQ7QHrMb8nvGZ7OW/YKDCX2LOGnMdRGjSW6CmjK7rW0veqfoypgF1RaC0fABEB AAG0LU5TQSdzIE1pY3Jvc29mdCBDQVBJIGtleSA8cG9zdG1hc3RlckBuc2EuZ292 PokBFQMFEDfTdJE+e8qoKLJFUQEBHnsH/ihUe7oq6DhU1dJjvXWcYw6p1iW+0euR YfZjwpzPotQ8m5rC7FrJDUbgqQjoFDr++zN9kD9bjNPVUx/ZjCvSFTNu/5X1qn1r it7IHU/6Aem1h4Bs6KE5MPpjKRxRkqQjbW4f0cgXg6+LV+V9cNMylZHRef3PZCQa 5DOI5crQ0IWyjQCt9br07BL9C3X5WHNNRsRIr9WiVfPK8eyxhNYl/NiH2GzXYbNe UWjaS2KuJNVvozjxGymcnNTwJltZK4RLZxo05FW2InJbtEfMc+m823vVltm9l/f+ n2iYBAaDs6I/0v2AcVKNy19Cjncc3wQZkaiIYqfPZL19kT8vDNGi9uE= =PhHT -----END PGP PUBLIC KEY BLOCK-----
Vezi si
- Lotus Notes - a folosit în mod deschis o cheie NSA pentru a respecta reglementările privind exportul criptografiei
- Cip Clipper
Referințe