参考答案
公钥不被篡改的实现方法
将公钥放在数字证书中,只要证书是可信的,公钥就是可信的。
当公钥加密计算量太大时,该如何减少耗用的时间呢?
每一次对话(session),客户端和服务器端都生成一个”对话密钥”(session key),用它来加密信息。
由于”对话密钥”是对称加密,运算速度非常快,而服务器公钥只用于加密”对话密钥”本身,这样就减少了加密运算的消耗时间。
- 客户端向服务器端索要并验证公钥
- 双方协商生成”对话密钥”
- 双方采用”对话密钥”进行加密通信
上述第1、2步,又称为”握手阶段”(handshake)。
SSL 的工作过程
- 协商加密算法:A 向 B 发送 SSL 版本号和可选加密算法,B 选择自己支持的算法、并告知 A
- 服务器鉴别:B 向 A 发送包含公钥的数字证书, A 使用 CA 公开发布的公钥,对证书进行验证
- 会话密钥计算:A 产生一个随机秘密数,用 B 的公钥进行加密,然后发送给 B ,B 根据协商的算法,产生共享的对称会话密钥并发送给A
- 安全数据传输:双方用会话密钥加密和解密它们之间传送的数据,并验证其完整性
以上,是网络安全面试题【如何保证公钥不被篡改?】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—