Key authentication
From Wikipedia, the free encyclopedia
Key authentication is a problem that arises when using public key cryptography. It is the process of assuring that the public key of "person A" held by "person B" does in fact belong to "person A".
In traditional symmetric key cryptography, this problem wasn't an issue as it was implicitly assumed that some "secure" method of key distribution guaranteed key authenticity. Of course, this merely moved the issue back a level, to that of security of key distribution. Crypto systems using asymmetric key algorithms do not evade a related problem. That a public key can be known by all without compromising the security of an encryption algorithm (for some such algorithms, though not for all) is certainly useful, but does not prevent some kinds of attacks. For example, a spoofing attack in which public key A is claimed publicly to be that of user Alice but is in fact, a private key belonging attacker Mallory is easily possible. No public key is inherently bound to any particular user, and any user relying on a defective binding (including Alice herself when she sends herself protected messages) will have trouble.
The simplest solution for this problem is for the two users concerned to meet face-to-face and exchange keys, However, for systems in which there are a large number of users or in which the users do not personally know each other (eg, Internet shopping) this is not practicable.
The most common solution to this problem is the use of key certificates and certificate authorities for them in a public key infrastructure system, The certificate authority acts as a 'trusted third party' for the communicating users and, using cryptographic binding methods (eg, digital signatures) represents to both parties involved that the public keys each holds which allegedly belong to the other, actually do so. A digital notary service, if you will. Such CAs can be private organizations providing such assurances, or government agencies, or some combination of the two. However, in a significant sense, this merely moves the key authentication problem back one level for any CA may make a good faith certification of some key but, through error or malice, be mistaken. Any reliance on a defective key certificate 'authenticating' a public key will cause problems. As a result, many people find all PKI designs unacceptably insecure.
Accordingly, key authentication methods are being actively researched.