理想园 - 你的邮件加密、没被篡改过吗?

 

邮件加密是很老的话题了。有软件专门做软件加密,也有新协议可以做防篡改验证。...



邮件加密是很老的话题了。有软件专门做软件加密,也有新协议可以做防篡改验证。

(1) PGP 加密

PGP 是目前公认比较安全的加密工具,最早用在邮件上。它可以加密解密,还可以做数字签名什么的。

它采用的是非对称加密的形式,也就是公私钥不同。具体的加密细节我就不说了。邮件收到的时候大概是这个样子:



你需要用软件,加上(不可能跟这封邮件在一起的)私钥文件,就能解密了。

如果是经常要加密,用这种方法是最安全的了。不过,懒得用加密软件 / 插件的话,用起来还是挺不方便的。

(2) DKIM 签名

DKIM 这种算法,只是用来确保“这邮件发出去之后没有被修改过”(也就是数字签名),没有加密的作用。不过因为简单,它已经成为判断邮件是否“有效”的一大工具,就是跟上次说的 SPF 记录差不多的。

DKIM 的签名也是采用公私钥的非对称算法。私钥放在真正可以发邮件的服务器上,用来给整份邮件算签名,然后把签名值放在邮件前面(这个过程通常是发邮件时服务器自动完成的)。公钥放在 DNS 记录里,收到邮件的服务器去找一下公钥,用来计算签名是否有效。

嗯,其实这个最大的用处是用来装 13 的。比如 Gmail,收到 DKIM 签名成功的邮件时,会显示出很特别的一行内容,说明“这真是它发的邮件”。或许就这个好处吧。



作为对比,下面是一封被假冒为 gov.cn 发出的垃圾邮件。



(3) 连接加密

如果邮件在传送的过程是加密的,邮件就不是明信片了,而变成真正套着信封的存在。

实际上,这种传送加密的协议是存在的,跟网页 HTTPS 是一个道理。现在靠谱的加密协议是 TLS。

当然了,这只是传送过程的加密,邮箱服务商还是可以轻易看到内容的。

在 Gmail,邮件送进来的时候,有没有使用加密,它都会显示出来。



发邮件的时候,如果对方服务器不支持加密,也会提示。(虽然我研究了一会,发现这个提示可能也没那么靠谱。)



(4) 总结君

加密程度越高,需要的额外软件也多。从高到低排是这样的:PGP > TLS > DKIM。

当然咯,这些东西国内重视程度并不高。曾经 QQ 邮箱还支持显示被 DKIM 签名过的状态,但是前些天试了下,我是没找到在哪里显示。

说到 DKIM,虽然连 Gmail 的显示都异常隐蔽,但他还是会用这个因素来判断垃圾邮件的。

其实对于文件的加密和数字签名,还是有很多有用的方法的。而在邮件上的这些,算是普通人都能受益的。你和朋友间的聊天,不会因为连了个免费 WiFi 而全被曝光了,或者被人篡改,就是这样吧。


    关注 Phy的网站


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册