公钥密码体系中的公钥与私钥
公钥基础设施(PKI)用于管理互联网通信中的身份与安全。作为支撑 PKI 的核心技术,公钥密码学是一种依赖一对相关密钥(公钥和私钥)实现的加密机制。这两个密钥配合使用,可完成消息的加密与解密。以这种方式配对的一对密码学密钥也被称为非对称密码。公钥密码学通过密码算法保护身份与数据免遭未授权访问或使用,抵御网络犯罪分子及其他恶意行为者的攻击。
公钥密码学的工作原理
公钥由一串随机数字构成,可用于加密消息。只有预期的接收方能够使用对应的私钥解密并读取消息,私钥同样是一长串随机数字。私钥属于密钥,必须仅由接收方知晓。这对密钥在数学上互相关联:使用公钥或私钥加密的内容,只能由对应的另一把密钥解密。
公钥密码学的优势
公钥密码学的核心优势是可大规模提升数据与身份的安全性。该机制的安全性保障在于:私钥由其所有者保密,任何场景下都无需披露或共享私钥。
乍看之下可能有违直觉:使用两把私钥组成密钥对来加密和解密敏感信息,安全性并不高于非对称密码体系。采用两把私钥的对称密钥算法,要求通信双方都能访问密钥,双方都需要承担保密责任,反而提升了风险。此外,对称密钥算法难以实现大规模扩展:要私密交换所有必要的私钥组合,需要协调海量连接,这几乎是不可能完成的。
公钥密码架构具备极强的可扩展性,可保护机构每日在内部网络及互联网上交换的数十亿条消息。实现这种扩展性的原因是:公钥可以大范围公开分发,恶意行为者无法借此推算出解密消息所需的私钥。
公钥与私钥的区别
简而言之,公钥和私钥的核心区别在于其中一把用于加密,另一把用于解密。在公钥密码体系中,加密密钥(可能是公钥或私钥)会将明文消息加密,转换为被称为密文的编码格式;随后另一把密钥作为解密密钥,对密文进行解密,让接收方能够读取原始消息。
公钥的工作机制
什么是公钥?公钥会公开发布,所有人均可查看。公钥通过复杂的非对称算法生成,与对应的私钥配对。最常用于生成公钥的算法包括:
- Rivest–Shamir–Adleman(RSA)
- 椭圆曲线密码学(ECC)
- 数字签名算法(DSA)
这些算法通过各类计算方法生成长度不一的随机数字组合,使其无法被暴力攻击破解。公钥的密钥长度(即位长)决定了防护强度。例如,SSL/TLS 证书、数字签名及其他数字证书常采用2048位 RSA 密钥,该密钥长度可提供足够的密码学安全性,防止黑客破解算法。包括CA/Browser Forum在内的标准组织会针对受支持的密钥大小制定基线要求。
私钥的工作机制
什么是私钥?与可公开访问的公钥不同,私钥是仅由其所有者知晓的密钥。公私钥配对后,接收方可使用对应的密钥解密密文,读取原始消息。私钥与对应的公钥采用相同算法生成,以生成具备数学绑定关系的强密钥对。
使用公钥对同时保障安全与身份可信
使用公钥对的非对称加密的一项独特优势是,它既可以保障加密消息的安全性,又能确认发送方的身份。要保障消息安全时,发送方获取接收方的公钥,并用该公钥加密消息。这种消息可在互联网上公开传输,由于只有持有对应私钥的接收方能够解密消息,因此可实现安全传输。
密钥对的使用顺序也可以调换,以确认发送方身份。如果发送方使用私钥加密消息,接收方可以用发送方的公钥解密并读取消息。由于任何人都能用发送方的公钥解密消息,因此这种消息传输不一定安全,但因为私钥仅由发送方持有,因此可确认该消息确实来自对应主体。
公钥密码学的常见应用
许多协议都依赖非对称密码技术。这项技术有大量应用场景,包括 Web 服务器安全、数字签名、文档签名以及数字身份.
Web 服务器安全
公钥密码学是安全套接层(SSL)和传输层安全(TLS)协议的基础,而这两类协议是 HTTPS 安全浏览器连接的基石。如果没有 SSL/TLS 证书来建立安全连接,网络犯罪分子就可以利用中间人攻击等多种攻击手段,在互联网或其他 IP 网络上拦截消息并获取内容。公钥密码学可起到类似数字指纹校验的作用,对接收方和发送方的身份进行认证,从而防范中间人攻击。
数字签名与文档签名
除了用于加密消息之外,密钥对还可用于数字签名和文档签名。公钥密码学利用发送方的私钥来验证数字身份。这种密码学校验会通过数学方式将签名与原始消息绑定,确保消息未被篡改。
数字身份
公私钥对还可提供有效的身份认证能力。随着数据和应用的范围从传统网络扩展到移动设备、公有云、私有云以及物联网设备,身份安全的重要性达到了前所未有的高度。而且数字身份并不局限于设备,还可用于对人员、数据或应用进行认证。采用非对称密码技术的数字身份证书可以替代密码,帮助组织提升网络安全水平——如今攻击者窃取密码的手段已经越来越娴熟。
公钥密码学的其他应用包括S/MIME 证书,这类证书可验证邮件发送方身份并加密邮件内容,以防范鱼叉式钓鱼攻击;还有SSH 密钥,用于控制员工对服务器的访问权限。
证书颁发机构在公钥密码学中的作用
公钥密码学能够落地的一个关键组成部分,是存在可信赖的代理方来发布与各主体私钥对应的公钥。如果没有这类可信任的权威机构,发送方就无法确认自己使用的确实是与接收方私钥匹配的正确公钥,而不是恶意攻击者为拦截敏感信息、用于非法目的而伪造的密钥。
这类可信任的代理方就是证书颁发机构(CA)。Sectigo 等受信任的第三方组织可作为私有证书颁发机构运营,但许多企业和技术服务商也会选择搭建自有 CA。无论采用哪种形式,证书颁发机构都必须是可信的:需要核验并担保其发布公钥的所有发送方的身份,确保这些公钥确实对应发送方持有的私钥,同时维护自身组织内部的信息安全水平,防范恶意攻击。

