I'm afraid I don't find Mr. Fernandes' argument convincing. Given the 
nature of the Microsoft CAPI concept -- that only approved 
cryptographic modules can be allowed to run -- NSA would surely want 
to know how use of the CAPI signing key was ultimately controlled. A 
crypto box that allowed export of private keys, even in encrypted 
form, begs that question. One then has to ask who controls the export 
keys? It is entirely believable that NSA insisted on the CAPI key 
being stored in a token that specifically did not allow key export. 
Microsoft might then have raised the backup question and NSA would 
have responded by suggesting a second token and key. That would 
explain the programmer calling it _NSAKEY.

It is true that if both tokens are damaged then Microsoft has to 
issue a patch, but service packs come out all the time.  There would 
not be a need to resign existing modules, however, as the old public 
keys could continue to be included in the OS.

To me the mystery is why Microsoft is unwilling to fully explain its 
actions. Perhaps there are other details they do not wish to reveal. 
For example,  since each CAPI module to be signed would require BXA 
approval beforehand, NSA may have wanted the tokens kept at a trusted 
third part, perhaps some law firm, giving BXA positive control over 
what gets signed.  Whatever the reason, the _NSAKEY incident 
demonstrates that Microsoft has some secret relationship with NSA.

Arnold Reinhold


At 8:54 PM -0400 5/26/2000, John Young wrote:
>Duncan Campbell sends along with permission of Andrew:
>
>Additional comment from Andrew D. Fernandes of Cryptonym
>Corporation  (who discovered the NSA_KEY) on the MS/Campbell
>exchange on the NSA_KEY <http://cryptome.org/nsakey-ms-dc.htm>:
>
>
>Microsoft's insistence that the second key is there for backup
>purposes is not a satisfying explanation for a number of reasons.
>The reason that the arguments are not satisfying is clear if you
>have experience using dedicated tamper-resistant crypto-boxes.
>
>A dedicated crypto-box internally generates a key pair, exports
>the public key, and then digitally signs designated input whenever
>properly prompted. These boxes are specifically designed to
>NEVER export the private key as plaintext. Furthermore, these
>boxes are designed to destroy their private key if the box detects
>any attempted physical tampering.
>
>The danger with a crypto-box is not only the potential compromise
>of the private key. An almost as great danger is the loss of the
>private key! Consider that a disgruntled employee could destroy
>the private key by merely hitting the crypto-box, sticking a paperclip
>into an input port, or dropping an ice cube on the box... (no, I'm not
>making up the ice cube part - these boxes are usually temperature
>sensitive). What you would have is a very ready denial-of-service
>attack.
>
>Therefore, almost universally, crypto-boxes allow the export of the
>private key in encrypted format. A good crypto-box will even use
>advanced cryptographic techniques called "secret splitting" to split
>the encrypted key into several different parts - one part for each
>senior manager. That way, if the crypto-box is lost or destroyed, a
>new crypto-box can be quickly initialized and utilized.
>
>It is possible that Microsoft's CSP team has a crypto-box that will not
>export the private key even if it is in encrypted or secret-split format.
>If that is true, it would be natural to assume a second backup key
>would be necessary. However, look at this scenario in terms of
>"failure analysis", where the security of the CSP scheme fails if a
>signing key is lost.
>
>There are two signing keys that can load a CSP. If the first key is
>lost, Microsoft could rely on using the second key. If the second
>key is lost, then Microsoft is out of luck, and must patch or upgrade
>every copy of Windows in the world, as well as every CSP it has
>ever signed, all because they did not buy a crypto-box capable
>of data recovery.
>
>Call me draconian, but given the extraordinarily high level of
>cryptographic expertise that Microsoft employs, I would fire the
>design team that presented a CSP signing system based on a
>single backup, rather than data recovery.
>
>So it is rather strange that the CSP signing key (labeled "_KEY")
>has backup key at all... even more strange that it would be labeled
>"_NSAKEY".
>
>In fact, there is no specific requirement in the BXA's EAR that
>backup keys exist.   That document draws heavily on the
>Wassenaar Arrangement on the export of dual-use goods
>(http://www.wassenaar.org/) for its wording and substance.
>
>-----


Reply via email to