关于安全

信息安全靠什么,数学。

TLS之所以安全,是因为其使用了人类目前脑洞能够想到的最安全的加密算法与安全机制了。

正常来说,使用单纯的HTTP进行数据传输的时候,下面一层直接就是TCP/IP(上篇文章讲到,是个在非常不靠谱的世界保持靠谱的存在)。这样数据包会经过层层官网,代理,转发,缓存等,如果其中一个环节有人心怀不轨,传输内容就都曝光了。

然后大救星出现,就是前SSL,现在叫做TLS的东西。

TLS的位置在HTTP的下方,TCP/IP的上方。这样保证了对应用程序的隐藏,开发者不用想太多,照常写就好了。

TLS之所以安全,是因为使用了一脑洞算法------RSA。

RSA利用了最简单的数学原理,分解质数。当然具体的算法很复杂。如果哪天有个脑洞更大的人找到了快速分解大数质数的方法,那么RSA就直接被淘汰了。不过目前并没有。

如果说RSA只是一般的加密算法,就是同样的口令,你一份,我一份,我用来加密,你用来解密,那也算不上脑洞最大的加密算法。因为如果是这样的话,加密秘钥就是解密秘钥,好家伙,每个和我进行加密通讯的人都要事先知道秘钥,那我怎么把秘钥给他啊,自己过来拿?如果谁不小心泄漏了,好家伙,那就不叫加密通讯了,和明文一样了。这样肯定不靠谱。

RSA的伟大之处在于,通过数论,弄出了非对称加密,就是钥匙有两份,一份随便公开,一份我自己留着,谁想和我说悄悄话,就自己去看公钥,然后加密,发给我,我进行解密就能看到了。别人没有私钥,就看不到。(前提是我保管好了私钥的前提下。不过这也比所有人都保管好一个密码要靠谱吧)

但是,如果TLS只使用RSA进行数据加密就毁了。因为RSA进行的大数计算很慢,所以RSA只用来加密对称加密的私钥,就是说,你用RSA加密了另一个用来加密解密的密码给我,然后我用RSA的私钥解密了密码,我就知道了咱俩该用啥通讯了。这样既满足了速度,又满足了安全。

Salesforce目前并不支持RSA公钥加密,不过有个神人自己写了一个实现。。。

 

 

题外,不得不说,这本书的翻译还真是烂。。

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据