七夕之夜,如何保证私密信息不泄露?

七夕之夜,想和另外一半聊一些私密的话,如何保证聊天内容不被***窥探,看完此文,终于略知一二了。算法

1、初级阶段:信息裸传安全

特色:在网络上传递明文;网络

***定理一:网络上传递的数据是不安全的,网络属于***公共场所,能被截取。ide

如何改进呢?很容易想到,先加密,再传输。优化

2、进阶阶段:传输密文人工智能

特色:加密

  • 服务端和客户端先约定好加密算法,加密密钥;spa

  • 客户端,传输前用约定好的密钥加密;设计

  • 传输密文;3d

  • 服务端,收到消息后用约定好的密钥解密;

***定理二:

客户端是不安全的,属于***本地范畴,能被逆向工程。

任何客户端与服务端提早约定好的算法与密钥都是不安全的,那如何改进呢?不能固定密钥,一个用户一个密钥。

3、中级阶段:一人一密,服务端生成密钥

特色:

  • 客户端和服务端提早约定好加密算法,在传递消息前,先协商密钥;

  • 客户端,请求密钥;

  • 服务端,返回密钥;

  • 而后用协商密钥加密消息,传输密文;

这么传输安全么?

答案是否认的。

  • 根据***定理一,网上传输的内容是不安全的,因而乎,***能获得加密key=X;

  • 根据客定理二,客户端和服务端提早约定的加密算法是不安全的,因而乎,***能获得加密算法;

  • 因而乎,***截取后续传递的密文,能够用对应的算法和密钥解密;

应该如何优化呢?

根本上,密钥不能在网络上直接传输。

4、再进阶阶段:一人一密,客户端肯定密钥,密钥再也不传输

特色:

  • 协商的密钥无需在网络传输;

  • 使用“具有用户特性的东西”做为加密密钥,例如:用户密码的散列值;

  • 一人一密,每一个人的密钥不一样;

  • 而后密钥加密消息,传输密文;

  • 服务端从db里获取这个“具有用户特性的东西”,解密;

***定理三用户客户端内存是安全的,属于***远端范畴,认为是安全的。

画外音:中了***,电脑被控制了另说。

使用“具有用户特性的东西”做为加密密钥,一人一密,是安全的。但这仍不是最优方案。

5、高级阶段:一次一密,密钥协商

每次通讯前,都进行密钥协商,一次一密。

密钥协商过程,以下图所述,须要随机生成三次动态密钥:

  • 两次非对称加密密钥(公钥,私钥);

  • 一次对称加密密钥;此称为,安全信道创建的“三次握手”,安全信道创建以后,再进行密文发送。

密钥交换的步骤为:

(1) 服务端随机生成公私钥对(公钥pk1,私钥pk2),并将公钥pk1传给客户端;

画外音:此时***能截获pk1。

(2) 客户端随机生成公私钥对(公钥pk11,私钥pk22),并将公钥pk11,经过pk1加密,传给服务端,服务端收到密文,用私钥pk2解密,获得pk11;

画外音:此时***能截获密文,也知道是经过pk1加密的,但因为***不知道私钥pk2,是没法解密的。

(3) 服务端随机生成对称加密密钥key=X,用pk11加密,传给客户端,客户端收到密文,用私钥pk22解密,可到key=X;

画外音:同理,***由密文没法解密出key。

至此,安全信道创建完毕,后续通信用key=X加密,以保证信息的安全性。

6、总结

信息安全方案设计三大假设:

  • 网络上传递的数据是不安全的,能被截取;

  • 用户客户端是不安全的,属于***本地范畴,能被逆向工程;

  • 客户端内存是安全的,属于***远端范畴,能够认为是安全的;

对于信息安全传输的不一样阶段:

  • 明文消息传递如同裸奔,不安全;

  • 客户端和服务端提早约定加密算法和密钥,不安全;画外音:好多公司都是这么实现的=_=。

  • 一人一密,服务端随机生成密钥,发送给客户端,不安全;

  • 一人一密,客户端使用“具有用户特性的东西”做为加密密钥,安全;

  • 一次一密,三次握手创建安全信道,安全;

好了,这下能够嘿嘿嘿了。

对了,不少公司说,咱们毫不存储,毫不窥探用户聊天记录,你信不?

【本文为51CTO专栏做者“58沈剑”原创稿件,转载请联系原做者】

戳这里,看该做者更多好文

【编辑推荐】

  1. 人工智能与信息安全之间有何做用

  2. 可怕!4.68亿我的信息泄露,7家涉案公司被查!

  3. 4.68亿我的信息泄露:2 块钱就能够查你的身份证,还能带照片!

  4. 专访理想汽车安全负责人徐超:智能汽车的信息安全风险分析与实践

【责任编辑:赵宁宁 TEL:(010)68476606】

相关文章
相关标签/搜索