使用Gunpg来保护你的隐私数据免遭泄露

发表于 2019-12-16  358 次阅读


很惭愧今天才看到《第四公民》这部记录片,另外还有一部《斯诺登》也是今天才刷完。斯诺登事件大家应该很熟悉,虽然民众视他为庶民英雄,但“叛国者”的帽子让他未来的人生变化叵测,祝他好运吧。

1991年,程序员Phil Zimmermann为了避开政府的监视,开发了加密软件PGP。因为这个软件非常好用,迅速流传开来成为许多程序员的必备工具。但是,它是商业软不能自由使用。所以,自由软件基金会决定,开发一个PGP的替代品取名为GnuPG。PGP(英语:Pretty Good Privacy,中文翻译“优良保密协议”)是一套用于消息加密、验证的应用程序,采用IDEA的散列算法作为加密与验证之用 ----百度百科

在《第四公民》片中不止一次见到斯诺登通过Gunpg进行邮件加密后跟海外的记者取得联系,今天就谈谈如何在日常工作中使用 Gunpg 来保护我们的数据安全。

Gunpg通常用来做对称加密非对称加密.Gunpg在下文统称为gpg

对称加密即加密密钥和解密密钥是一样的,就像我们平时使用压缩软件加密一样,密钥就是设置的压缩密码,对称加密的缺点是显而易见的:它无法进行身份认证,任何人知道密钥都可以对密文进行解密。常见的对称加密方式有:DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES。

非对称加密需要两个密钥:公开密钥(public key)和私有密钥(private key)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密。公钥用于加密、私钥用于解密。使用公钥加密过的信息只能由配对的私钥解开,这种加密方式叫做非对称加密。

非对称密钥加密的使用过程:

A要向B发送信息,A和B都要产生一对用于加密和解密的公钥和私钥。
A的私钥保密,A的公钥告诉B;B的私钥保密,B的公钥告诉A。
A要给B发送信息时,A用B的公钥加密信息,因为A知道B的公钥,同时可以使用A的密钥进行数字签证认证。
A将这个消息发给B(已经用B的公钥加密消息)。
B收到这个消息后,B用自己的私钥解密A的消息,其他所有收到这个报文的人都无法解密,因为只有B才有B的私钥,同时用A的公钥验证数字签名是否正确以确保A所发送数据未被中途篡改。
反过来,B向A发送消息也是一样。

这就是为什么我们今天可以安全在网上进行购物、登陆网上银行、使用各类网上支付程序而不会遭到窃听和中间人攻击,因为非对称加密算法的出现,否则这些根本不可能实现。

数字签名的过程:A发送信息给B,所发送的信息首先会被计算出一个指纹值(通过hash算法生成),之后A使用自己的私钥加密信息和这个指纹值(这个过程称为签名)并发送出去,B收到信息之后使用A的公钥来解密并重新核对一次信息的指纹值,这样B就可以核对信息有无被篡改以及是否真的为A所发出的。 在数字签名时,私钥用于签名、公钥用于核对签名。

常见的非对称加密算法有:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)。

《第四公民》片中使用gpg进行解密的片段截图

这里演示环境是在日常办公环境使用gpg进行数据加密的程序——gpg4win,他可以运行在windows操作系统下,而且是免费的。

获得它:https://www.gpg4win.org/ 安装十分简单,动动小手,点点下一步即可安装在计算机上。

第一步,安装软件完成后先创建个人gpg密钥对,需要你提供一个姓名和邮箱地址,之后软件做随机数运算生成密钥对。

dong使用的密钥
testtest电脑使用的密钥对

第二步、主机的密钥对生成完成后,需要把两台主机的密钥进行交换。

有两个方法,1、直接在密钥上点击右键,选择“在服务器发布密钥”,发布后的密钥是可以在gpg的密钥服务器上找的,用生成公钥时的邮箱或是姓名搜索公钥后直接导入本地即可。2、如果是内网环境,可以在密钥上点击右键,选择导出,通过内网把密钥文件(.asc文件)拷贝到另一台主机,双击密钥文件进行导入。如果A想加密进行文件传输,可以用B的公钥加密信息后传送给A,这么加密信息A因为没有B的私钥所以A自己也是无法解密的。

两台主机各位导入了对方的密钥文件

第三步,在需要加密的文件或者文件夹上点击右键选择加密文件。

第四步,选择为他人加密,并输入test(会自动填充)

点击签名并加密
加密前与加密后,文件名多了gpg后缀。
这里演示一下,如果机密文件被黑客截货,在没有密钥的主机上进行解密会发生什么?No secret key!(没有私钥)
在有dong的密钥的主机上进行解密时首先会验证文件签名是不是我本人所发的,有没有被中途修改过。之后点击save all进行文件解密。
解密完成。

使用非对称加密足够保证你的隐私数据不会遭到泄露(除非量子计算机普及),以RSA为代表的非对称加密算法是现代密码学中最强的存在。


专注于学习,生活,教育。