词条 | Station-to-Station protocol |
释义 |
In public-key cryptography, the Station-to-Station (STS) protocol is a cryptographic key agreement scheme. The protocol is based on classic Diffie–Hellman, and provides mutual key and entity authentication. Unlike the classic Diffie–Hellman, which is not secure against a man-in-the-middle attack, this protocol assumes that the parties have signature keys, which are used to sign messages, thereby providing security against man-in-the-middle attacks. In addition to protecting the established key from an attacker, the STS protocol uses no timestamps and provides perfect forward secrecy. It also entails two-way explicit key confirmation, making it an authenticated key agreement with key confirmation (AKC) protocol. STS was originally presented in 1987 in the context of ISDN security {{Harv|O'Higgins|Diffie|Strawczynski|do Hoog|1987}}, finalized in 1989 and generally presented by Whitfield Diffie, Paul C. van Oorschot and Michael J. Wiener in 1992. The historical context for the protocol is also discussed in {{Harvtxt|Diffie|1988}}. DescriptionDeployment of STS can take different forms depending on communication requirements and the level of prior communication between parties. The data described in STS Setup may be shared prior to the beginning of a session to lessen the impact of the session's establishment. In the following explanations, exponentiation (Diffie–Hellman) operations provide the basis for key agreement, though this is not a requirement. The protocol may be modified, for example, to use elliptic curves instead. STS SetupThe following data must be generated before initiating the protocol. ; An asymmetric signature keypair for each party : Required for authentication. The public portion of this keypair may be shared prior to session establishment. ; Key establishment parameters : The specification of a cyclic group p and a generator g for that group. These parameters may be public. {{Harvtxt|Menezes|van Oorschot|Vanstone|1997}} note that for additional security each party may supply its own parameters. Sharing this data prior to the beginning of the session lessens the complexity of the protocol. Basic STSSupposing all setup data has been shared, the STS protocol proceeds as follows. If a step cannot be completed, the protocol immediately stops. All exponentials are in the group specified by p.
Alice and Bob are now mutually authenticated and have a shared secret. This secret, K, can then be used to encrypt further communication. The basic form of the protocol is formalized in the following three steps: (1) Alice → Bob : ''g''''x'' (2) Alice ← Bob : ''g''''y'', E''K''(S''B''(''g''''y'', ''g''''x'')) (3) Alice → Bob : E''K''(S''A''(''g''''x'', ''g''''y'')) Full STSSetup data can also be incorporated into the protocol itself. Public key certificates may be sent in steps 2 and 3 if the keys are not known in advance. (1) Alice → Bob : ''g''''x'' (2) Alice ← Bob : ''g''''y'', Cert''B'', E''K''(S''B''(''g''''y'', ''g''''x'')) (3) Alice → Bob : Cert''A'', E''K''(S''A''(''g''''x'', ''g''''y'')) If system-wide key establishment parameters are not used, the initiator and responder may create and send their own parameters. In this case, parameters should be sent with the exponential. They must also be verified by Bob to prevent an active attacker from inserting weak parameters (and thus a weak key K). {{Harvtxt|Diffie|van Oorschot|Wiener|1992}} recommend against special checks to prevent this and instead suggest including the group parameters in Alice's certificate. VariationsThe variations mentioned here are from the original STS paper. See the following references for other, more significant variations.
| last1 = Bellare | first1 = M. | last2 = Canetti | first2 = R. | last3 = Krawczyk | first3 = H. | contribution = A modular approach to the design and analysis of authentication and key exchange protocols | title = Proceedings of the 30th Annual Symposium on the Theory of Computing | year = 1998 }}
Authentication-only STSA simplified form of STS is available that provides mutual authentication but does not produce a shared secret. It uses random number challenges instead of the above Diffie–Hellman technique.
Formally: (1) Alice → Bob : ''x'' (2) Alice ← Bob : ''y'', S''B''(''y'', ''x'') (3) Alice → Bob : S''A''(''x'', ''y'') This protocol can be extended to include certificates as in Full STS. STS-MACIn cases where encryption is a not viable choice in session establishment, K can instead be used to create a MAC. (1) Alice → Bob : ''g''''x'' (2) Alice ← Bob : ''g''''y'', S''B''(''g''''y'', ''g''''x''), MAC''K''(S''B''(''g''''y'', ''g''''x'')) (3) Alice → Bob : S''A''(''g''''x'', ''g''''y''), MAC''K''(S''A''(''g''''x'', ''g''''y'')){{Harvtxt|Blake-Wilson|Menezes|1999}} note that this variation may be preferable to original STS ("STS-ENC") in any case because .. the use of encryption to provide key confirmation in STS-ENC is questionable — traditionally the sole goal of encryption is to provide confidentiality and if an encryption scheme is used to demonstrate possession of a key then it is shown by decryption, not by encryption. The paper goes on to counsel, however, that using K for both a MAC and as the session key violates the principle that keys should not be used for more than one purpose, and presents various workarounds. CryptanalysisSTS-MAC is vulnerable to some unknown key-share attacks, whereby an active attacker can inject her own identity into the session establishment procedure in place of either initiator or responder. {{Harvtxt|Blake-Wilson|Menezes|1999}} present the vulnerabilities and some solutions. References
| last1 = Blake-Wilson | first1 = S. | last2 = Menezes | first2 = A. | contribution = Unknown Key-Share Attacks on the Station-to-Station (STS) Protocol | title = Public Key Cryptography | series = Lecture Notes in Computer Science | volume = 1560 | pages = 154–170 | year = 1999 | publisher = Springer }}
| last1 = Diffie | first1 = W. | title = The first ten years of public-key cryptography | journal = Proceedings of the IEEE | volume = 76 | pages = 560–577 | year = 1988 | doi = 10.1109/5.4442 | issue = 5 }}
| last1 = Diffie | first1 = W. | last2 = van Oorschot | first2 = P. C. | last3 = Wiener | first3 = M. J. | title = Authentication and Authenticated Key Exchanges | journal = Designs, Codes and Cryptography | volume = 2 | pages = 107–125 | year = 1992 | doi = 10.1007/BF00124891 | issue = 2 | citeseerx = 10.1.1.59.6682
| last1 = Menezes | first1 = A. | last2 = van Oorschot | first2 = P. C. | last3 = Vanstone | first3 = S. | title = Handbook of Applied Cryptography | pages = 519–520 | year = 1997 | publisher = CRC Press }}
| last1 = O'Higgins | first1 = B. | last2 = Diffie | first2 = W. | last3 = Strawczynski | first3 = L. | last4 = do Hoog | first4 = R. | contribution = Encryption and ISDN – A Natural Fit | title = 1987 International Switching Symposium (ISS87) | year = 1987 }}{{Cryptography navbox | public-key}} 1 : Key-agreement protocols |
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。