Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

_NSAKEY

From Wikipedia, the free encyclopedia
Variable containing a public key in Windows NT 4.0

_NSAKEY was avariable name discovered inWindows NT 4 SP5 in 1999 by Andrew D. Fernandes of Cryptonym Corporation. The variable contained a 1024-bit public key; public keys are used inpublic-key cryptography forencryption anddigital signature verification (but not decryption or signing). Because of the name, however, it was speculated that the key would allow the United StatesNational Security Agency (NSA) to subvert any Windows user's security. Microsoft denied the speculation and said that the key's name came from the fact that NSA was the technical review authority forU.S. cryptography export controls.

Overview

[edit]

Microsoft requires allCryptographic Service Providers used by theMicrosoft Cryptographic API (CryptoAPI) to have an RSAdigital signature. Since only Microsoft-approved providers can be used with the CryptoAPI, it is possible to keep export copies of this operating system in compliance with theExport Administration Regulations (EAR), which are enforced by theBureau of Industry and Security (BIS).[1]

It was already known that Microsoft used two keys, a primary and a spare, either of which can create valid signatures. Upon releasing the Service Pack 5 forWindows NT 4.0, Microsoft had neglected to remove thedebugging symbols in ADVAPI32.DLL, a library that exposes such Windows features asWindows Registry and security. Andrew Fernandes, chief scientist with Cryptonym, found the primary key stored in the variable_KEY and the second key was labeled_NSAKEY.[2] Fernandes published his discovery, touching off a flurry of speculation andconspiracy theories, including the possibility that the second key enabled the United StatesNational Security Agency (NSA) to subvert any Windows user's security.[3]

During a presentation at theComputers, Freedom and Privacy 2000 (CFP2000) conference,Duncan Campbell, senior research fellow at theElectronic Privacy Information Center (EPIC), mentioned the_NSAKEY controversy as an example of an outstanding issue related to security and surveillance.[citation needed]

In addition, Dr. Nicko van Someren found a third key in Windows 2000, which he doubted had a legitimate purpose, and declared that "It looks more fishy".[4]

Microsoft's reaction

[edit]

Microsoft denied thebackdoor speculations on_NSAKEY and said "This speculation is ironic since Microsoft has consistently opposed the variouskey escrow proposals suggested by the government." According to Microsoft, the key's symbol was "_NSAKEY" because the NSA was the review authority forU.S. cryptography export controls.[5][6]

Richard Purcell, Microsoft's Director of Corporate Privacy, approached Campbell after his presentation and expressed a wish to clear up the confusion and doubts about_NSAKEY. Immediately after the conference, Scott Culp, of the Microsoft Security Response Center, contacted Campbell and offered to answer his questions. Their correspondence began cordially but soon became strained; Campbell apparently felt Culp was being evasive and Culp apparently felt that Campbell was hostilely repeating questions that he had already answered. On 28 April 2000, Culp stated that "we have definitely reached the end of this discussion ... [which] is rapidly spiraling into the realm of conspiracy theory".[7]

Microsoft claimed the third key was only in beta builds of Windows 2000 and that its purpose was for signing Cryptographic Service Providers.[6]

Further technical information

[edit]

TheMozilla page on common questions on cryptography describes how Microsoft signs CSPs:

It is in fact possible under certain circumstances to obtain an export license for software invoking cryptographic functions through an API. For example, Microsoft's implementation of the Microsoft Cryptographic API (CryptoAPI) specification was approved for export from the US, even though it implements an API by which third parties, including third parties outside the US, can add separate modules ("Cryptographic Service Providers" or CSPs) implementing cryptographic functionality. This export approval was presumably made possible because a) the CryptoAPI implementation requires third party CSPs to be digitally signed by Microsoft and rejects attempts to call CSPs not so signed; b) through this signing process Microsoft can ensure compliance with the relevant US export control regulations (e.g., they presumably would not sign a CSP developed outside the US that implements strong cryptography); and c) Microsoft's CryptoAPI implementation is available only in executable form, and thus is presumed to be reasonably resistant to user tampering to disable the CSP digital signature check.[8]

According to Fernandes, it is possible to replace_NSAKEY. When loading a cryptographic module, thecrypto_verify function first tries using_KEY to verify the module, then_NSAKEY. Since no cryptographic modules in Windows are signed with_NSAKEY, it never gets used. Replacing it with a different key allows non-US companies to install their crypto services into Windows without Microsoft's or the NSA's approval.[2]

Further speculation

[edit]

Microsoft stated that the second key is present as a backup to guard against the possibility of losing the primary secret key. Fernandes doubts this explanation, pointing out that the generally accepted way to guard against loss of a secret key issecret splitting, which would divide the key into several different parts, which would then be distributed throughout senior management. He stated that this would be far more robust than using two keys; if the second key is also lost, Microsoft would need to patch or upgrade every copy of Windows in the world, as well as every cryptographic module it had ever signed.[citation needed]

On the other hand, if Microsoft failed to think about the consequences of key loss and created a first key without using secret splitting (and did so in secure hardware which doesn't allow protection to be weakened after key generation), and the NSA pointed out this problem as part of the review process, it might explain why Microsoft weakened their scheme with a second key and why the new one was called_NSAKEY. (The second key might be backed up using secret splitting, so losing both keys should not be a problem.) Another possibility is that Microsoft included a second key to be able to sign cryptographic modules outside the United States, while still complying with the BIS's EAR. If cryptographic modules were to be signed in multiple locations, using multiple keys is a reasonable approach. However, no cryptographic module has ever been found to be signed by_NSAKEY, and Microsoft denies that any other certification authority exists.[citation needed]

Bruce Schneier believes that the above type of concern, i.e. NSA putting a key in Windows so it can load arbitrary backdoored CSPs, is unfounded. He argues that there are easier ways of backdooring Windows that do not involve using an additional key, let alone one called "NSAKEY" in debug symbols visible to the whole company: the NSA could just ask for the main key. The crypto API is also a poor point of entry, as it requires the victim to run an NSA-supplied executable.[9]

Key values

[edit]

Both keys are RSA keys with ane equal to 65537, which is astandard choice.[10]

_KEY has ann of:

b273e277a9c375c70bb7493e52b0b36962e976626ad609ba31be6accac12f1f3da6c18d96951820c457c7b4c4893bd149de279a39f6ec926d3544db3491fa2e9af1bf8260b3b0fbadd69cbd77b28012925711b17c0b877eaf7da9d02dd5f8572854e5c90e9b10cfbaeaf8b8fe1df5047bc18829a531499bbf49e8021346b5095

_NSAKEY has ann of:

ba8e15fee3cd160fb47cf93e2b4d842615af23f0659264d81edc35a27d3aa450890a227b561da401ff3908771d243f6eeb4f9e351976e90f07fd22cd099ccd71e85b97f5439adb172d32d71cb66c26c5b188a3e11790ed01eb31bf27bc667b396fd8283097d8b3869cc7511a3496e829a32bbad6d2f7aa7e8ca9805d51682d1f

PGP keys

[edit]

In September 1999, an anonymous researcher reverse-engineered both the primary key and the _NSAKEY intoPGP-compatible format and published them tokey servers.[11]

Primary key (_KEY)

[edit]
Type Bits/KeyID Date User IDpub 1024/346B5095 1999/09/06 Microsoft's CAPI key <postmaster@microsoft.com>-----BEGIN PGP PUBLIC KEY BLOCK-----Version: 2.6.3imQCPAzfTc8YAAAEEALJz4nepw3XHC7dJPlKws2li6XZiatYJujG+asysEvHz2mwY2WlRggxFfHtMSJO9FJ3ieaOfbskm01RNs0kfoumvG/gmCzsPut1py9d7KAEpJXEbF8C4d+r32p0C3V+FcoVOXJDpsQz7rq+Lj+HfUEe8GIKaUxSZu/SegCE0a1CVABEBAAG0L01pY3Jvc29mdCdzIENBUEkga2V5IDxwb3N0bWFzdGVyQG1pY3Jvc29mdC5jb20+iQEVAwUQN9Nz5j57yqgoskVRAQFr/gf8DGm1hAxWBmx/0bl4m0metM+IM39JyI5mub0ie1HRLExP7lVJezBTyRryV3tDv6U3OIP+KZDthdXb0fmGU5z+wHt34Uzuxl6Q7m7oB76SKfNaWgosZxqkE5YQrXXGsn3oVZhV6yBALekWtsdVaSmG8+IJNx+nNvMTYRUz+MdrRFcEFDhFntblI8NlQenlX6CcnnfOkdR7ZKyPbVoSXW/Z6q7U9REJTSjBT0swYbHX+3EVt8n2nwxWb2ouNmnm9H2gYfXHikhXrwtjK2aG/3J7k6EVxS+mRp+crFOB32sTO1ib2sr7GY7CZUwOpDqRxo8KmQZyhaZqz1x6myurXyw3Tg===ms8C-----END PGP PUBLIC KEY BLOCK-----

Secondary key (_NSAKEY and _KEY2)

[edit]
Type Bits/KeyID Date User IDpub 1024/51682D1F 1999/09/06 NSA's Microsoft CAPI key <postmaster@nsa.gov>-----BEGIN PGP PUBLIC KEY BLOCK-----Version: 2.6.3imQCPAzfTdH0AAAEEALqOFf7jzRYPtHz5PitNhCYVryPwZZJk2B7cNaJ9OqRQiQoie1YdpAH/OQh3HSQ/butPnjUZdukPB/0izQmczXHoW5f1Q5rbFy0y1xy2bCbFsYij4ReQ7QHrMb8nvGZ7OW/YKDCX2LOGnMdRGjSW6CmjK7rW0veqfoypgF1RaC0fABEBAAG0LU5TQSdzIE1pY3Jvc29mdCBDQVBJIGtleSA8cG9zdG1hc3RlckBuc2EuZ292PokBFQMFEDfTdJE+e8qoKLJFUQEBHnsH/ihUe7oq6DhU1dJjvXWcYw6p1iW+0euRYfZjwpzPotQ8m5rC7FrJDUbgqQjoFDr++zN9kD9bjNPVUx/ZjCvSFTNu/5X1qn1rit7IHU/6Aem1h4Bs6KE5MPpjKRxRkqQjbW4f0cgXg6+LV+V9cNMylZHRef3PZCQa5DOI5crQ0IWyjQCt9br07BL9C3X5WHNNRsRIr9WiVfPK8eyxhNYl/NiH2GzXYbNeUWjaS2KuJNVvozjxGymcnNTwJltZK4RLZxo05FW2InJbtEfMc+m823vVltm9l/f+n2iYBAaDs6I/0v2AcVKNy19Cjncc3wQZkaiIYqfPZL19kT8vDNGi9uE==PhHT-----END PGP PUBLIC KEY BLOCK-----

See also

[edit]

References

[edit]
  1. ^Chappell, Geoff (12 September 1999)."CSP Signatures". Archived fromthe original on 4 May 2006.
  2. ^abFernandes, Andrew (31 August 1999)."Microsoft, the NSA, and You".cryptonym.com. Cryptonym. Archived fromthe original on 17 June 2000. Retrieved26 October 2005.
  3. ^"NSA key to Windows: an open question".CNN Online. Cable News Network. 5 September 1999. Archived fromthe original on 5 October 2015.
  4. ^Campbell, Duncan (4 January 1999)."How NSA access was built into Windows".Heise Online. Heise Medien.
  5. ^"Microsoft Says Speculation About Security and NSA Is "Inaccurate and Unfounded"".News Center. Redmond, WA:Microsoft. 3 September 1999. Archived fromthe original on 24 October 2012.
  6. ^ab"There is no "Back Door" in Windows". Microsoft. 7 September 1999. Archived fromthe original on 20 May 2000. Retrieved7 January 2007.
  7. ^"Windows NSAKEY Controversy". Rice University.
  8. ^"Mozilla Crypto FAQ".Archived from the original on 22 April 1999. Retrieved12 April 2020.
  9. ^Schneier, Bruce (15 September 1999)."NSA Key in Microsoft Crypto API?". Counterpane. Retrieved7 January 2007.
  10. ^"DomainKeys Identified Mail (DKIM) Signatures".IETF. 1 January 1970. Retrieved12 December 2024.
  11. ^"The reverse-engineered keys". Cypherspace. 6 September 1999. Retrieved7 January 2007.

MS-DOS-based
Windows NT
Base releases
Windows Server
Specialized
Windows IoT
Embedded Compact
Other
Windows Mobile
Windows Phone
Cancelled
Related
People
Founders
Board of directors
Senior leadership team
Corporate VPs
Employee groups
Products
Hardware
Software
Programming
languages
Web properties
Company
Conferences
Divisions
Estates
Campaigns
Criticism
Litigation
Acquisitions
Retrieved from "https://en.wikipedia.org/w/index.php?title=NSAKEY&oldid=1319727633"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp