完整资料进入【数字空间】查看——搜索"writebug"
一、实验要求
设计一个本地文件处理协议,基于 open PGP 实现本地加密文件夹:
对目标文件实现对存储者和调阅者的基于 pgp 的真实性认证和文件加密;
上述文件安全性不依赖于本地系统,即本地其他非授权用户(即便是系统管理员)无法以可理解的方式读出该文件夹中文件内容;
对处理过程中可能涉及的临时存储至少实现可靠的敏感信息残留覆盖;
选择 Linux 或 MS windows,实现该协议的一个 C++ 实现实例。包括软件设计文档、源代码及注释、可执行安装包、自测用例和测试分析报告、第三方资源及其说明。
1.1 OpenPGP 的加密与解密原理
OpenPGP 加密过程:随机生成一个的 Key,并通过对称加密算法使用这个 Key 加密数据,最后通过非对称加密算法(RSA)用接收者的公钥加密前者的 Key,得到加密的数据。
1.2 OpenPGP 的数字签名
数字签名是 OpenPGP 的重要组成部分,数字签名是一个数学过程,与现实世界的签名功能相似,但更严谨、更安全且容易验证。数字签名保证了以下情况:
验证发送者身份:确认发送者确实是他声称的身份。
完整性:文件/邮件传输过程中未被更改。
不可否认:发送者不可否认已发送的文件/邮件。
数字签名的原理:发送者先通过加密散列函数获取数据的哈希,然后使用发送者的私钥加密哈希,得到数字签名。接收者使用发送者的公钥解密数字签名得到一个哈希,并与自己计算的数据的哈希值对比,一致则数字签名有效且数据完整。
1.3 OpenPGP 的公钥发布与吊销证书
我们知道公钥用于加密,可以公开发布,公钥可以点对点发送,也可以上传到密钥服务器。需要格外注意的是公钥中包含邮箱信息,如果你将公钥发布到密钥服务器(各个公钥服务器会互相同步),那么你将永远无法从密钥服务器上删除你的公钥信息。在某天你忘记密码口令或丢失私钥,你想要从密钥服务器上吊销你的公钥,唯一的补救措施是:你事先生成了吊销证书,使用吊销证书可以吊销公钥证书,使公钥其显示“吊销”字样,但依然无法从密钥服务器上删除公钥信息。
所以务必要谨慎上传公钥,务必生成吊销证书备用。