`

加密收藏片段

阅读更多

当然,这不是足够安全的做法。足够安全的做法就是服务器端产生session key以后,是用PKI的方式来加密sessioin key的,PKI属于非对称加密,非常可靠但效率比较低,session key则是对称加密,效率比较高但安全性较差。用PKI的方式加密session key进行传输,就结合了这两者的优点,既可以保证session key的安全传输到通讯的另一端,然后正常的通讯又都是采用session key进行加解密这种对称的方式。

比如Server有一对密钥:PublicServer(公钥)/PrivateServer(私钥),Client也有一对密钥PublicClient(公钥)/PrivateClient(私钥),同时假定Server所产生的对称密钥是sessionKey,那么sessionKey的传输到Client的过程就是这样的:
1. 首先用PrivateServer加密sessionKey
2. 用PublicClient加密步骤1的结果
3. 发送
4. Client接收到后,首先用PrivateClient解密,得到步骤1的结果
5. 再用PublicServer解密步骤4得到的结果,就会得到sessionKey
-------------
6. 然后Client和Server就开始用sessionKey来进行对称方式的加解密了。
在传输的过程中,从理论上而言,几乎没有被破解的可能性。事实上网上银行的数据传输安全机制就是这样的。

当然安全是没有绝对的,一切都是相对的 <!--EndFragment-->

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics