RSA非对称加密的一些非常规应用 Team:Ph4nt0m.org Author:云舒 可以随意转载,但是必须保留ph4nt0m的版权所有,谢绝商业用途。 前些时候,大概7月份看了些SSL协议的东西,对前人非常的佩服。把非对称加密的安全性和对称加密的快 速性结合起来使用,保留了各自的长处。整个数据传输过程中,通过非对称加密在不安全的区域安全的传 输了用于对称
RSA非对称加密的一些非常规应用 Team:Ph4nt0m.org Author:云舒 可以随意转载,但是必须保留ph4nt0m的版权所有,谢绝商业用途。 前些时候,大概7月份看了些SSL协议的东西,对前人非常的佩服。把非对称加密的安全性和对称加密的快 速性结合起来使用,保留了各自的长处。整个数据传输过程中,通过非对称加密在不安全的区域安全的传 输了用于对称加密的密钥,实在是创造性的思维。 前天晚上洗澡的时候,突然有了几个新的想法,加上以前的一点发现,就有了这篇文章和几行代码。现在 觉得非对称加密还真的很有意思啊,洗澡也很有意思,难怪阿基米德洗澡能够发现浮力定理。我们不够强 大,可能是因为洗澡不够吧。 一. RSA替换HTTPS保证安全传输敏感数据 目前大多数的web应用在注册或者登录的时候,或者其他任何涉及到用户帐户,密码,以及信用卡号等等 敏感数据传输的时候,一般都毫不犹豫的采用了HTTPS加密传输的方式来进行。比如Gmail,Yahoo Mail, Live Mail等国际性的邮箱,都是用了这种方式。确实,使用HTTPS是一种比较安全的方法,但是这样做从 成本角度来说,并不是最优的。 使用1024位密钥的HTTPS传输,在相同硬件配置的情况下,性能基本上要损失掉30%左右。大量的CPU时间 花费到了对数据的加密解密以及证书认证,传输,SSL握手等方面。对于千万用户级别的应用这些损失是 难以忽略掉的,因此大公司一般都会购买SSL硬件加密卡,使用硬件进行加密解密。 鉴于RSA等非对称加密算法的public key是可以公开的,因此可以使用这种方式来传输数据,在某些场合 取代昂贵的HTTPS传输。比如在邮箱的登录入口,用户点击提交按钮的时候,在本地使用JS代码将用户名 和密码进行RSA加密。虽然public key明文存在于JS代码中,客户端可见,但是仅仅具备public key是无 法推算出private key的,因此无法对加密后的数据进行捕获分析,加密后的数据可以安全的通过互联网 传输。 前些时间对国内国外的一些大型网站登录入口做了些分析,发现只有tencent的邮箱是使用的这种方式。 他们用JS做了一个类,提供RSA加密算法的各种方法,在邮箱登录表单提交的时候调用加密。JS类的地址 为http://mail.qq.com/zh_CN/htmledition2/js/safeauth.js,有兴趣的可以自己去研究。使用这种方式 之后,服务端的计算量大大减少,只需要在用户提交的时候进行一次解密操作就可以了。而且这个解密, 可以使用C语言做成模块,给前端展现语言调用,提高效率。如果有更高的安全性考虑,可以做一些改进 ,比如在客户端提交表单之前,在发送数据里面加入完整性检验等等,自由发挥即可。 |
-
发表于 2021-01-11 10:00
- 阅读 ( 215 )
- 分类:互联网