_NSAKEY este numele unei variabile descoperite în august 1999 în sistemul de operare Windows NT 4 (SP5) pentru Microsoft . Această versiune a fost lansată fără a elimina informațiile de depanare .
Variabila descoperită de Andrew D. Fernandes de la Cryptonym Corporation conținea o cheie publică de 1024 de biți . Știrea a provocat un strigăt public și apariția diferitelor zvonuri. Presupunerea intuitivă a fost că Agenția Națională de Securitate avea cheia privată corespunzătoare cheii publice a sistemului de operare și, prin urmare, își propunea să transmită informații de la toate stațiile de lucru echipate cu acest sistem de operare, astfel încât numai NSA să le poată utiliza. Această ipoteză implică un acord secret între NSA și Microsoft în scopul spionării utilizatorilor.
Orice suită criptografică integrată în sistemele de operare Microsoft trebuie să fie semnată digital . Această procedură facilitează procedurile cu administrația americană responsabilă cu verificarea produselor exportate, EAR ( Export Administration Regulations ). Această entitate face parte din Departamentul Comerțului și include BXA ( Bureau of Export Administration ).
Utilizarea de către Microsoft a două chei era deja cunoscută. Ambele pot produce semnături valide. Prima cheie a fost conținută în variabila _KEY, Fernandes a descoperit-o pe a doua.
Microsoft a respins acuzațiile: „(...) acest raport este inexact și nefondat. Cheia în cauză este o cheie Microsoft. Este menținut și (cheia secretă) păstrat în siguranță. Nu am împărtășit această cheie ANS sau niciunei alte părți terțe. (...) ” . Simbolul _NSAKEY a fost atribuit datorită expertizei tehnice și a controlului exporturilor operate de ANS. Cheia a fost, de asemenea, compatibilă cu legile din Statele Unite privind exportul .
Dar anumite declarații ale Microsoft, întrucât discuția era în plină desfășurare, au agravat și mai mult paranoia .
Calculatoarele, Libertate și confidențialitate 2000 Conferința a avut loc la 4 la7 aprilie 2000în Toronto . Într-o prezentare, Duncan Campbell , reporter și Senior Research Fellow la Electronic Privacy Information Center (EPIC), a menționat că controversa _NSAKEY a fost un prim exemplu de probleme de securitate și supraveghere.
Richard Purcell, șeful confidențialității corporative la Microsoft, a vorbit cu Campbell după prezentarea sa pentru a clarifica controversa. Imediat după conferință, Scott Culp de la Centrul de răspuns la securitate Microsoft a contactat Campbell și s-a oferit să răspundă la întrebările sale. Dacă schimburile lor au fost amabile la început, discuția s-a intensificat rapid. Campbell a susținut că Culp este evaziv, iar Culp, din partea sa, a spus că, într-un design ostil, Campbell a continuat să pună întrebări la care a răspuns deja.
28 aprilie 2000, Culp a spus că „am ajuns fără îndoială la sfârșitul acestei discuții ... care coboară rapid în tărâmul conspirației”. Celelalte întrebări ale lui Campbell au rămas fără răspuns.
După o controversă și diverse expertize criptografice, au fost prezentate mai multe concluzii. Unii observatori, inclusiv Fernandes, s-au îndoit că BXA va impune o copie de rezervă specifică a cheilor. Cu toate acestea, niciunul dintre susținătorii acestei teze nu credea că are competența necesară pentru a o demonstra în mod oficial.
Microsoft a insistat ca a doua cheie să fie prezentată ca o copie de rezervă. Dacă s-ar pierde prima cheie secretă, Microsoft ar putea lucra în continuare cu cealaltă pereche. Fernandes și Bruce Schneier și-au exprimat îndoielile cu privire la relevanța acestei explicații. Pentru ei, cel mai bun mod de a păstra o cheie secretă este să o împărțiți în mai multe bucăți care ar fi distribuite oamenilor în care au încredere. O astfel de soluție ar fi mult mai robustă decât utilizarea a două taste. Dacă s-ar fi pierdut a doua cheie, Microsoft ar fi trebuit să „corecte” sau să actualizeze toate copiile Windows din întreaga lume, precum și orice module pe care compania le-ar fi putut semna.
O altă constatare afirmă că a doua cheie a fost destinată semnăturilor din afara Statelor Unite, fiind în același timp compatibilă cu reglementările BXA. Dacă modulele criptografice trebuiau semnate în mai multe locuri, utilizarea mai multor chei părea mai logică. Cu toate acestea, niciun modul criptografic nu pare să fi fost semnat de _NSAKEY și Microsoft a negat existența unei alte autorități de certificare.
O a treia posibilitate ar viza ANS și alte agenții guvernamentale care, pentru a putea semna propriile module criptografice, ar folosi cheia secretă. Aceste module cu algoritmi clasificați ar fi utilizate în cadrul agențiilor fără a fi transmise către Microsoft. O astfel de posibilitate ar permite de facto ANS să semneze module care ar putea face Windows mai vulnerabil. S-a subliniat, totuși, că există modalități mai ușoare de a submina o instalare Windows fără a trece prin API-ul cripto.
Microsoft a susținut că NSA nu avea cheia secretă corespunzătoare _NSAKEY. Cheia este încă prezentă în Windows până în prezent, dar a fost redenumită în „_KEY2”.
În septembrie 1999 , un cercetător anonim a modificat cheile pentru a obține datele echivalente în format PGP și a postat rezultatul pe un server de chei :