1. 数字信封的产生背景
随着互联网的发展,越来越多的信息需要在网络上传输,而这些信息往往包含着敏感的数据,如个人隐私信息、商业机密等。因此,如何确保这些信息在传输过程中不被未经授权的第三方读取,成为了一个亟待解决的问题。
在这样的背景下,数字信封(Digital Envelope)技术应运而生,相关定义及技术标准在RFC-2315
中均有阐述。
2. 数字信封的工作原理
数字信封结合了公钥密码和对称密码的优点,既能够高效地加密大量数据,又能够利用公钥基础设施(PKI)来安全地分发密钥,从而实现了信息的高效与安全传输。
采用数字信封时,接收方需要使用自己的私钥才能打开数字信封得到对称密钥。
数字信封加解密过程主要如下:
- 发送方(Alice)使用对称密钥对明文进行加密,生成密文;
- 发送方(Alice)使用接收方(Bob)的公钥加密对称密钥,生成数字信封;
- 发送方(Alice)将数字信封和密文信息一起发送给接收方(Bob);
- 接收方(Bob)接收到发送方(Alice)的加密信息后,使用自己的私钥打开数字信封,得到对称密钥;
- 接收方(Bob)使用对称密钥对密文信息进行解密,得到最初的明文。
从工作原理图中我们可以看出:
- 对称密钥是发送方生成的,可以做到"一次一密",即每次发送都可以使用不同的对称密钥;
- 数字信封在解决了密钥配送问题的同时,还将消息同步发送给了接收者。
3. 数字信封存在的问题
数字信封技术也会存在MITM(中间人)攻击,如果攻击者拦截Alice的信息,用自己的对称密钥加密伪造的信息,并用Bob的公钥加密自己的对称密钥,然后发送给Bob。Bob收到加密信息后,解密得到的明文,而且Bob始终认为是Alice发送的信息。
此时,需要一种方法确保接收方收到的信息就是指定的发送方发送的。这就用到了数字签名技术。
若将数字签名用到数字信封中后,如果Alice发送的信息受到MITM攻击后,Bob可以通过数字签名识别出来。
但采用数字签名技术就又会引入一个新的问题,如果攻击者更改Bob的公钥,Alice获得的是攻击者的公钥,攻击者拦截Bob发送给Alice的信息,用自己的私钥对伪造的信息进行数字签名,然后与使用Alice的公钥的加密伪造的信息一起发送给Alice。Alice收到加密信息后,解密得到的明文,并验证明文没有被篡改,则Alice始终认为是Bob发送的信息。
此时,需要一种方法确保一个特定的公钥属于一个特定的拥有者。数字证书则实现了此方法。
若想了解更多关于数字证书的内容,可以参阅:
4. 总结
数字信封、数字签名、数字证书经常会组合使用,公钥密码作为数字信封、数字签名、数字证书的基础。针对以上不同密码技术,博主总结了如下表格,方便大家理解与记忆。