问题 问答题 简答题

S拥有所有用户的公开密钥,用户A使用协议A→S:A

B

RaS→A:S

Ss(S

A

Ra

Kb)其中Ss()表示S利用私有密钥签名向S申请B的公开密钥Kb。上述协议存在问题吗?若存在,请说明此问题;若不存在,请给出理由。

答案

参考答案:

存在。

由于S没有把公钥和公钥持有人捆绑在一起,A就无法确定它所收到的公钥是不是B的,即B的公钥有可能被伪造。如果攻击者截获A发给S的信息,并将协议改成

A→S:A,,C,,Ra

S收到消息后,则又会按协议

S→A:S,,Ss(S,,A,,Ra,,KC.将Kc发送给A,A收到信息后会认为他收到的是Kb,而实际上收到的是Kc,但是A会把它当作Kb,因为他无法确认。

填空题
填空题