记录一些密码学应用层面的知识
公钥基础设施
公钥基础设施(Public Key Infrastructure, PKI)是一种用公钥密码理论和技术实施和提供安全服务,具有普适性的安全基础设施。 在实际应用中, PKI 将用户身份与其公钥结合,解决公钥的可信性问题。
PKI 的重要组件包括证书机构(Certificate Authority, CA)以及数字证书。CA 负责验证用户的身份,并签发对应数字证书。数字证书则是证明证书中公钥所有权的文件,是由已经验证该公钥所有权的 CA 签发,因此,数字证书的安全性基于对 CA 的信任。
X.509 数字证书
数字证书一般包括公钥,拥有者的身份标识以及可信实体的签名。接收者可以通过验证签名来保证证书的完整性。验证成功后,接收者将会确定公钥的拥有者。 X.509 标准规定了数字证书的格式,其主要包括:
- Issuer:该域包含了签发该证书的 CA 信息;
- Subject:该域包含了证书中公钥的拥有者信息;
- Public key:该域包含了公钥信息,包括公钥算法以及具体公钥等;
- Signature:该域包含了签发者( Issuer)的数字签名信息,包括签名算法以及具体签名等;
- Validity:该域包含了该数字证书的有效期;
- Serial number:每个证书都有一个独特的序列号,用于与其他证书区分;
- Extensions:更新版本的 X.509 证书包含可选的扩展域。
PGP 加解密技术
PGP( Pretty Good Privacy) 由 Phil Zimmermann 于 1991 年开发, 是一种可为数据通信提供加密与身份认证的程序,常被用于电子邮件的加解密与签名, 提高了电子邮件通信的安全性。 PGP 本身是商业应用程序, 开源并具有同类功能的工具是由自由软件基金会开发的 GnuPG( GPG)。