← 全部问题为什么在创建数字签名的过程中使用哈希函数?
使用哈希函数是为了生成证书数据的固定大小摘要。签署该摘要而不是整个消息效率更高。此外,它确保了数据完整性;对原始数据的任何更改都会导致完全不同的哈希值,从而导致验证失败。
适用条件
- 待签名的数据可能很大或大小可变。
- 需要效率和完整性检查。
理解与推导
- 哈希函数将可变长度的证书数据压缩为固定长度的哈希码。
- CA 使用其私钥加密这个较小的哈希码,这在计算上比加密整个证书更便宜。
- 在验证期间,接收者再次对接收到的数据进行哈希处理。如果数据被篡改,新的哈希值将与从签名中解密的哈希值不匹配。
例子
视频显示未签名的证书数据在进入加密框“E”之前先通过框“H”生成哈希码。卡片解释指出,签署摘要更高效并确保数据完整性,因为对数据的任何更改都会导致不同的哈希值。
容易误解的地方
- 认为哈希函数加密了数据;它只创建指纹/摘要。
- 认为哈希主要是为了保密;在这种背景下,它是为了效率和完整性。
相关问题
公钥证书包含用户的身份信息(如姓名和地址)、用户的公钥以及证书颁发机构(CA)的信息。它还包含由 CA 创建的数字签名,以将这些数据绑定在一起。
适用条件:证书由 CA 签发。;证书旨在认证公钥。
掌握方法↗ 公钥证书通过受信任的证书颁发机构(CA)的数字签名将用户的公钥与其身份绑定,从而防止中间人攻击。攻击者如果没有 CA 的私钥就无法伪造此签名,从而确保接收者收到与声称身份相关联的真实公钥。
适用条件:存在受信任的 CA。;接收者使用 CA 的公钥验证证书。
认识概念↗ 现实世界中的证书颁发机构包括像 VeriSign、Microsoft、Google 和 Apple 这样的信誉良好的组织。它们的公钥通常预装在常见的软件中,如网络浏览器和操作系统,从而允许自动验证它们签发的证书。
适用条件:上下文是 PKI 的实际实施。;软件供应商维护受信任根 CA 的列表。
掌握方法↗ 证书颁发机构(CA)首先对未签名的证书数据应用加密哈希函数以生成固定大小的哈希码,然后使用其私钥对该哈希码进行加密来创建数字签名。生成的加密哈希即为数字签名,将其附加到证书数据上以形成最终的签名证书。
适用条件:CA 拥有用户的身份信息和公钥。;有可用的加密哈希函数。;CA 可以访问其自己的私钥。
该漏洞在于攻击者可以伪造公开公告,将自己的公钥替换为合法用户的密钥。这允许攻击者拦截并解密发给合法用户的消息,这种情况被称为中间人攻击。
适用条件:公钥在没有证书等认证机制的情况下分发。;攻击者可以拦截和修改通信。
答案依据视频资料生成并经过独立核验。若有疑问,请核对原视频或联系原作者。