为了使用密码器和认证器,交流的参与者需要知道使用什么密钥。在秘密钥匙密码的情况下,一对参与者如何获得他们共享的钥匙?在公钥密码的情况下,参与者如何知道哪个公钥属于某个参与者?答案是不同的,这取决于钥匙是短命的会话钥匙还是长命的预先分配的钥匙。
会话密钥是用于确保单一的、相对较短的通信事件的密钥:会话。一对参与者之间的每一个不同的会话都使用一个新的会话密钥,它总是一个速度的秘密密钥。参与者通过一个协议--会话密钥建立协议--来决定使用什么会话密钥。会话密钥建立协议需要其自身的安全性(以便,例如,对手不能学习新的会话密钥);这种安全性是基于较长寿命的预先分布的密钥。
会话密钥和预先分布的密钥之间的这种分工有两个主要动机。
限制钥匙的使用时间,可以减少计算密集型攻击的时间,减少密码分析的密码文本,以及在钥匙被破解时暴露的信息。
公钥密码通常在认证和会话密钥建立方面有优势,但用于加密整个信息的保密性太慢。
本节解释了预先分布的密钥是如何分布的,下一节将解释会话密钥是如何建立的。此后,我们用 "Alice "和 "Bob "来指定参与者,这在密码学文献中很常见。请记住,尽管我们倾向于用拟人化的术语来指代参与者,但我们更经常关注的是软件或硬件实体之间的通信,如客户端和服务器,它们往往与任何特定的人没有直接关系。