第2阶段

【勇芳软件工作室】汉化HomePreviousNext

在阶段2中,接收机随后创建一个自己的随机会话密钥,被称为“会话密钥B.”接收器将该密钥导出到一个密钥blob中并将其发送给发送者。

然后,接收器建立包含会话密钥A,接收者名称,会话密钥B,发送方名称和文本“阶段2”的散列值。然后将该哈希值发送给发送用户。(此过程的细节将在本节“接收器代码示例”中进行讨论。)

数据必须以标准顺序进行散列,因此发送方将能够正确验证。发送方和接收方使用的数据格式也必须匹配,尽管此处未指定标准格式。

发送用户从接收者接受“会话密钥B”密钥blob,并将其导入其CSP。还收到哈希值。

然后,发送用户通过创建包含相同数据的自己的哈希来验证接收者的哈希值,并比较两个哈希值。如果哈希值不匹配,则目的用户不是直截了当,或者其他人篡改双方之间的数据。在任一情况下,应终止协议并断开通信链路。

如果两个哈希值匹配,则会通知发送方目标用户当前处于在线状态并进行实时通信。这主要是因为哈希值包含会话密钥A,该会话密钥A使用目的用户的公钥加密发送。只有真正的目标用户可以解密会话密钥并构建哈希值。在哈希中包含人可读的用户名使得可以将进程中的用户作为附加检查。