This is how NSA total access was built into Microsoft Windows. First, a little background on the topic:
On the 24th of August 1996, Microsoft released “Detroit” – more commonly known as Windows 95 B or Windows 95 OSR2 (OEM Service Release 2). This updated version of Windows 95 contained a host of exciting new features not present in the original release (Codename Chicago) a year earlier.
Windows 95 B ran atop the updated version of MS-DOS 7.1 and included DirectX 2.0a, DriveSpace 3 and controversially integrated Internet Explorer version 3.0 into the operating system. In the original release of Windows 95 A, Internet Explorer was entirely absent but the end user could install it at their peril.
Windows 95 B also drastically improved hardware support. The FAT32 file system allowed for larger hard disks, partitions and file sizes than the original FAT file system did. Infrared connectivity between laptops and FireWire connections to digital imaging devices was now possible.
Although Windows 95 B could now make use of Intel’s new MMX instruction set for accelerating multimedia tasks, Microsoft still hadn’t integrated support for AGP graphics or USB connectivity – these features became a reality later in Windows 95 C. Microsoft was still busy dealing with software bugs running Windows on Intel’s new P6 microarchitecture – The revolutionary Pentium Pro.
Until the release of Windows XP in 2001, Microsoft’s ecosystem consisted of two separate code-bases. The home oriented 9X operating system line-up (Windows 95 and Windows 98) and the business oriented NT operating system Windows NT4.
During 1999 Microsoft was busy behind the scenes developing its next versions of Windows codenamed NT5.0, Neptune and Millennium (sometimes called Georgia). In the meantime, Microsoft kept its Windows 98 Second Edition operating system up-to-date via its Windows Update platform and pushing service packs to its NT4 client base.
Internally at Microsoft, there was a careless mistake made by Microsoft’s software engineers in the second quarter of 1999. Windows NT4 was supplemented with its fifth service pack on the 4th of May 1999 without its debugging symbols stripped. Debugging symbols are used to test pre-release software. Inside the fifth service pack were labels for code referencing two cryptography keys named “KEY” and “NSAKEY”.
Computer security specialists were aware of the unusual features obscured within the standard Windows software driver, “ADVAPI.dll”. This driver is used for controlling a range of encryption functions within the security subsystem of Windows, present in every release of Windows from Windows 95 B OSR2 onward.
The two keys were discovered by Nicko van Someren during advanced search and entropy testing of Microsoft programming code. The first key in ADVAPI.DLL labelled “KEY” is used for signing hardware driver signatures, encrypting email and Internet Explorer security. The functions of the second key labelled “NSAKEY” remained a mystery and these findings were presented at Crypto 98 Conference. Soon after, chief scientist of Cryptonym Corporation; Dr Andrew Fernandez discovered the origins of “NSAKEY” and presented his findings at Crypto 99 Conference.
“NSAKEY” compromises the Windows security subsystem by granting the NSA total access to the encryption system of Windows. This makes the NSA’s access to a person’s entire operating system tremendously easier. Informed sources have noted the National Security Agency and federal law enforcement insist on essential backdoor “keys” to any encryption under the United States of America export laws.
Windows developers at the conference didn’t deny the existence of “NSAKEY”. The entire debacle was too soon after the revelations that software giant Lotus had been caught helping the NSA deliberately crippling the security functions in their Lotus Notes software. This was done using a backdoor to subvert the security subsystem in Lotus Notes. The Windows developers who attended the Crypto 99 Conference did refuse to comment on “NSAKEY” however.
Due to Microsoft’s Windows source code access being highly compartmentalised, almost no programmers knew what was going on with the implementation of “NSAKEY” into Windows. The high level of compartmentalisation also makes it easy for modifications to be inserted into the Windows codebase without the knowledge of team management.
It is because of the high level of compartmentalisation of the Windows source code that many Microsoft attendees at the Crypto 99 Conference (including Brian LaMachia, head of Microsoft CAPI development) were shocked by the findings presented at the conference.
The NSA plays a large role in the decision over whether computer hardware and software can be exported from the United States of America. The NSA, Department of Defence, Department of State and the Department of Commerce regularly turn down export requests involving encryption exceeding the NSA’s technical capacity to decrypt.
These findings are worrying for IT managers relying on Windows to operate highly secure data centres and even governments outside the United States of America. The US has always made it as difficult as possible for “strong” cryptography to be used outside the US. At the same time, the US is building massive super computer data centers around the country, capable of breaking “strong” cryptography. An example of this would be the Utah Data Center, also known as the Intelligence Community Comprehensive National Cyber security Initiative Data Center.
The month after the Crypto 99 Conference, Microsoft flat-out denied the NSAKEY backdoor allegations on their website. Microsoft claimed that all cryptographic keys shipped within Windows are used to verify signatures on cryptographic service providers (CSPs) and are not shared with any third parties.
In spite of Microsoft’s reassurances, Cryptonym Corporation developed a sample program which replaces the NSA’s cryptographic key. Dr Andrew Fernandez was able to accomplish this task by building on the work of Nicko van Someren (NCipher) and Adi Shamir (the ‘S’ in ‘RSA’). The sample program prevents the NSA securely loading CryptoAPI services onto your PC without your awareness or authorization. The NSA’s backdoor into Windows can be turned against both Microsoft and the NSA. “NSAKEY” inside CAPI can be replaced with your own key, allowing use of signed cryptographic security modules from other countries or unauthorised third parties, unapproved by the NSA and Microsoft. This is exactly what the US government has been trying to prevent.
Back when these discoveries were first made, leading cryptographers remarked the IT world should be thankful that the subversion of Windows by the NSA had come to light before the arrival of CPUs incorporating encrypted instruction sets. Nowadays, over 15 years later, these encryption instruction sets have already been incorporated into consumer CPUs. The type of discoveries made by cryptographers back in 1999 may no longer be possible, but thankfully we have whistle blowers like Edward Snowden to remove our blindfolds.
Cryptonym Corporation’s sample program that replaces the NSA key can be found below in the resources section.
Sorry about the use of 4shared. WordPress.com doesn’t allow .ZIP file uploads. I might get my own hosting plan again soon.