Lably
Skip to content

NSAKEY

Variable containing a public key in Windows NT 4.0

  • 6 min read
  • 4 chapters

Related on Lably

Through Variable (high-level programming language) and Digital signature

Overview

Microsoft requires all Cryptographic Service Providers used by the Microsoft Cryptographic API (CryptoAPI) to have an RSA digital 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 the Export Administration Regulations (EAR), which are enforced by the Bureau of Industry and Security (BIS).

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 for Windows NT 4.0, Microsoft had neglected to remove the debugging symbols in ADVAPI32.DLL, a library that exposes such Windows features as Windows 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. Fernandes published his discovery, touching off a flurry of speculation and conspiracy theories, including the possibility that the second key enabled the United States National Security Agency (NSA) to subvert any Windows user's security.

During a presentation at the Computers, Freedom and Privacy 2000 (CFP2000) conference, Duncan Campbell, senior research fellow at the Electronic Privacy Information Center (EPIC), mentioned the _NSAKEY controversy as an example of an outstanding issue related to security and surveillance.

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".

Sign in to keep reading

3 more chapters are free with a Lably account.

More in Computing and communication