原创 PlatON
导语:本课堂用通俗易懂的系列内容为大家呈现区块链与密码学领域相关知识。这里有知识也有故事,从感兴趣到有乐趣,全民课堂等你来学。
这个系列中的课程内容首先从区块链起源着手进行入门介绍,再延伸至区块链的相关技术原理与发展趋势,然后深入浅出地依次介绍在区块链中应用的各类密码学技术。欢迎大家订阅本公众号,持续进行学习。
【本课堂内容全部选编自《区块链与密码学》授课讲义、教材及互联网,版权归属其原作者所有,如有侵权请立即与我们联系,我们将及时处理。】
11-05公钥密码的密钥分配
| 问题分析
和对称密码一样,公钥密码也需要进行密钥分配。
但是,公钥密码的密钥分配与对称密码体制的密钥分配有着本质的差别。在密钥分配时必须做到:
- 公钥是公开的,因此不需确保秘密性。但必须确保公钥的真实性和完整性;
- 确保私钥的机密性、真实性和完整性。
如果公钥的真实性和完整性受到危害,则基于公钥的各种应用的安全将受到危害。
举例:C冒充A欺骗B的攻击方法
① 攻击者C在公钥数据库PKDB中用自己的公钥PKC替换用户A的公钥PKA。
② C用自己的私钥SKC签名一个消息冒充A发给B。
③ B验证签名:因为此时PKDB中A的公钥已经替换为C的公开钥PKC ,故验证为真。
因验证签名为真, 于是B认为攻击者C就是A。
- 若B要发送加密的消息给A,则B要用A的公钥进行加密,但A的公开钥已被换成C的公钥,因此B实际上是用C的公钥进行了加密。
- C从网络上截获B发给A的密文。由于这密文实际上是用C的公钥加密的,所有C可以解密得到明文。A反而不能正确解密。
上述攻击成功的原因:
① 对存入PKDB的公钥没有采取保护措施,致使公开加密钥被替换而不能发现;
② 存入PKDB的公钥与用户的标识符之间没有绑定关系,致使A的公钥替换成C的公钥后不能发现公开钥与用户的标识符之间的对应关系被破坏。
如何解决以上问题呢?下节课我们将学习公钥证书的相关知识,敬请期待!
同学们可以关注PlatON公众号,持续学习哦。我们下节课见啦。
发布者:PlatONWorld-M6,转载请注明出处:https://platonworld.org/zh/?p=12019