NSA密鑰,是指1998年有人發現Windows作業系統中存在用途等詳情不清的第二把密鑰。1999年8月,加拿大Cryotonym公司首席科學家Andrew Fernandes宣布,他發現這第二把密鑰叫做NSAkey,而NSA就是美國國家安全局的簡稱,也就是說,微軟公司在每一份Windows作業系統中都安裝了一個程式上的“後門”,專供NSA在需要時進入全世界Windows用戶的電腦。
基本介紹
- 中文名:NSA密匙
- 外文名:NSAkey
微軟官網關於NSA密鑰事件的澄清
在WINDOWS中,沒有“後門”
發布日期: 1999年09月07日
原載:1999年9月3日
摘要:有報告指控微軟“可能為國家安全局(National Security Agency)…安裝了“後門”,以便美國政府可以很容易地訪問他們的計算機。”這項指控是錯誤的。
這項指控的內容是什麼?
此報告指控:CryptoAPI中帶有一個被標為 NSA Key 的密鑰,政府機構可以用這個"後門"開啟或停止用戶計算機中的安全服務。
Q:這項指控是真的嗎?
A:不是。微軟在所有的產品中都沒有留後門。這和我們歷史上一貫的立場是一致的:比如,我們一貫抵制政府對於保存密鑰的各種提議,因為我們相信,這對用戶和產業的利益是沒有好處的。
Q:真的有兩個密鑰嗎?
A:是的。但它們都是微軟使用的。微軟沒有把它透漏給包括美國國家安全局或其他任何政府機構在內的第三方。
Q:什麼是CryptoAPI?
A:CryptoAPI 是微軟用來提供加密服務的技術。不同供應商可以開發獨立的加密模組,這些模組叫做加密服務提供模組(CSP),他們可以通過CryptoAPI接口被任何程式調用。
Q:指控所指的密鑰是什麼?
A:密鑰是用來驗證CSP所帶的數字簽名的。
Q:為什麼CSP要被驗證?為什麼由微軟驗證?
A:CryptoAPI 受美國加密出口法律的限制。在這個法律中,其中有一項要求微軟確保CryptoAPI中只載入符合美國加密出口法律的CSP。這種驗證,是通過數字簽名實現的。在載入某個CSP之前,CryptoAPI需要確認該CSP中含有合法的數字簽名。作為CryptoAPI的供應商,微軟的部分責任是簽發CSP。當提供商將要發布一個新的CSP時,他們把它提交給微軟,並出示所得到的所有出口許可證,然後微軟對該CSP進行數字簽名,之後,它就可以被CryptoAPI使用了。
Q:為什麼會有兩個密鑰?
A:一個是主密鑰,另一個是備用密鑰。
Q:為何需要一個備用密鑰?
A:備用的密鑰是用來做災難恢復的。假設我們只有一個密鑰,如果一個自然的災難毀壞了保存密鑰的建築,所有以前簽發的CSP不會受到影響,可以繼續正常工作,因為用於驗證的密鑰已經存在於每一份Windows的拷貝中了。可是,對於新的CSP,微軟如何來驗證他們呢?這就需要一個和原密鑰相匹配的備用密鑰。
如果沒有備用密鑰,就需要完全重新發放新的密鑰給成千上萬的使用Windows 95, 98 ,NT的客戶,顯然,這將是個龐大的工程。
Q:有了這個備用密鑰,就可以用它直接來簽發、驗證新的CSP了。
A:這就是為何需要兩個密鑰的原因,如果主密鑰出了問題,則可以用備用密鑰來簽發、驗證CSP,因為備用密鑰也存在於每一份Windows的拷貝中。這樣就不會影響到消費者的正常工作了。
Q:為何備份的密鑰被標為"NSA密鑰"這實在是一個不太合適的名字。
A:NSA負責審查所有美國加密技術的出口申請,設定這些密鑰的目的之一是使我們確保符合NSA的技術審查規定。但是,它在設計的時候,被不幸地稱為NSA密鑰,該名字存於密鑰的符號信息中。。微軟將持有該密鑰,而且不會把密鑰泄漏給任何人,包括NSA。
Q:我聽說在Windows2000中還有第三個密鑰,是真的嗎?
A:在Windows2000 的Beta版本中有第三個密鑰,但是它並不是一個"後門"。這只不過是一個簡單的測試密鑰,是開發者在Windows 2000的開發階段,用來測試CSP簽名功能的。在Windows2000正式的版本中,將不存在這第三個密鑰。