如何保证私密信息不泄露?(加密传输)

七夕之夜,想和另一半聊一些私密的话,如何保证聊天内容不被黑客窥探,看完此文,终于略知一二了。
 
一、初级阶段:信息裸传
如何保证私密信息不泄露?(加密传输)
特点:
(1)在网络上传递明文;
 
黑客定理一:
网络上传递的数据是不安全的,网络属于黑客公共场所,能被截取。
 
如何改进呢?
很容易想到,先加密,再传输。
 
二、进阶阶段:传输密文
如何保证私密信息不泄露?(加密传输)
特点:
(1)服务端和客户端先约定好加密算法,加密密钥;
(2)客户端,传输前用约定好的密钥加密;
(3)传输密文;
(4)服务端,收到消息后用约定好的密钥解密;
黑客定理二:
客户端是不安全的,属于黑客本地范畴,能被逆向工程。
 
任何客户端与服务端提前约定好的算法与密钥都是不安全的,那如何改进呢?
不能固定密钥,一个用户一个密钥。
 
三、中级阶段:一人一密,服务端生成密钥
如何保证私密信息不泄露?(加密传输)
特点:
(1)客户端和服务端提前约定好加密算法,在传递消息前,先协商密钥;
(2)客户端,请求密钥;
(3)服务端,返回密钥;
(4)然后用协商密钥加密消息,传输密文;
 
这么传输安全么?
答案是否定的。
(1)根据黑客定理一,网上传输的内容是不安全的,于是乎,黑客能得到加密key=X;
(2)根据客定理二,客户端和服务端提前约定的加密算法是不安全的,于是乎,黑客能得到加密算法;
(3)于是乎,黑客截取后续传递的密文,可以用对应的算法和密钥解密;
 
应该如何优化呢?
根本上,密钥不能在网络上直接传输。
 
四、再进阶阶段:一人一密,客户端确定密钥,密钥不再传输
如何保证私密信息不泄露?(加密传输)
特点:
(1)协商的密钥无需在网络传输;
(2)使用“具备用户特性的东西”作为加密密钥,例如:用户密码的散列值;
(3)一人一密,每个人的密钥不同;
(4)然后密钥加密消息,传输密文;
(5)服务端从db里获取这个“具备用户特性的东西”,解密;
黑客定理三:
用户客户端内存是安全的,属于黑客远端范畴,认为是安全的。
画外音:中了木马,电脑被控制了另说。
 
使用“具备用户特性的东西”作为加密密钥,一人一密,是安全的。但这仍不是最优方案。
 
五、高级阶段:一次一密,密钥协商
每次通信前,都进行密钥协商,一次一密。
 
密钥协商过程,如下图所述,需要随机生成三次动态密钥
(1)两次非对称加密密钥(公钥,私钥);
(2)一次对称加密密钥;
此称为,安全信道建立的“三次握手”,安全信道建立之后,再进行密文发送。
 
如何保证私密信息不泄露?(加密传输)
密钥交换的步骤为:
(1)服务端随机生成公私钥对(公钥pk1,私钥pk2),并将公钥pk1传给客户端;
画外音:此时黑客能截获pk1。
 
(2)客户端随机生成公私钥对(公钥pk11,私钥pk22),并将公钥pk11,通过pk1加密,传给服务端,服务端收到密文,用私钥pk2解密,得到pk11
画外音:此时黑客能截获密文,也知道是通过pk1加密的,但由于黑客不知道私钥pk2,是无法解密的。
 
(3)服务端随机生成对称加密密钥key=X,用pk11加密,传给客户端,客户端收到密文,用私钥pk22解密,可到key=X
画外音:同理,黑客由密文无法解密出key。
 
至此,安全信道建立完毕,后续通讯用key=X加密,以保证信息的安全性。
 
六、总结
信息安全方案设计三大假设:
(1)网络上传递的数据是不安全的,能被截取;
(2)用户客户端是不安全的,属于黑客本地范畴,能被逆向工程;
(3)客户端内存是安全的,属于黑客远端范畴,可以认为是安全的;
对于信息安全传输的不同阶段:
(1)明文消息传递如同裸奔,不安全;
(2)客户端和服务端提前约定加密算法和密钥,不安全;
画外音:好多公司都是这么实现的=_=。
(3)一人一密,服务端随机生成密钥,发送给客户端,不安全;
(4)一人一密,客户端使用“具备用户特性的东西”作为加密密钥,安全;
(5)一次一密,三次握手建立安全信道,安全;
好了,这下可以嘿嘿嘿了。
 
对了,很多公司说,我们绝不存储,绝不窥探用户聊天记录,你信不?

发布者:糖太宗,转载请注明出处:https://www.qztxs.com/archives/science/technology/6572

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年5月14日 上午12:44
下一篇 2022年5月14日 上午12:46

相关推荐

  • 群消息已读回执(这个屌),究竟是推还是拉?

    每当发出一条微信消息,都希望对方尽快看到,并尽快回复,但始终不知道对方是否阅读。   每当收到一条不能立马回复的微信消息,都默默返回,假装没看见。 画外音:不想回复的人,唉,你只是个好人。   微信用于个人社交,产品设计上,在线状态,强制已读回执都有可能暴露个人隐私,故微信并无相关功能。   钉钉用于商务交流,其“强制已读回执”功能,让职场人无法再“假装不在...

    2022年5月15日
    4100
  • 超赞,InnoDB调试死锁的方法!(收藏)

    近期写了一些InnoDB锁的文章,不少小伙伴问,如何在MySQL终端模拟并发事务,如何复现之前文章中的案例。今天,咱们一起动起手来,模拟并发事务的互斥与死锁。   事前要做什么准备? (1)安装MySQL服务端; (2)安装MySQL客户端; (3)安装能够模拟多个并发事务的终端; 画外音:楼主使用的是MySQL5.6,官方客户端mysql,模拟并发终端用的...

    2022年5月14日
    1900
  • Centos 7 使用firewalld防火墙

    启动一个服务: 1 systemctl start firewalld.service 关闭一个服务: 1 systemctl stop firewalld.service 重启一个服务: 1 systemctl restart firewalld.service 显示一个服务的状态: 1 systemctl status firewalld.service...

    技术 2022年6月1日
    1000
  • Linux后门入侵检测工具使用

    0x00 描述 当我们的应用系统被入侵后,系统是否已被黑客上传webshell甚至植入木马后门程序。如果依靠人工排查,一是工作量大,二是需要一定程度的技术知识和业务知识才能判断什么是正常什么是异常。工作量大决定排查工作不可能由个别具有技术知识和业务知识的人来完成工作而需要其他人员参与,而如果这些没有“一定程度的技术知识和业务知识”的人员参与基本必然后导致大量...

    2022年6月2日
    9400
  • 企业安全建设中用到的开源or“免费”的工具

    跳到甲方工作也差不多两年了,参与部分企业安全建设工作,主要工作还是渗透和开源平台的建设和维护使用 在这种“甲方”的工作体会就是 公司不是很重视安全这块,网络安全法出台,明确要求企业要做等保测评,招个人做吧 没有资源,要钱没有,要人没有,好在研发的小伙伴和运维小伙伴比较支持工作 两年里,搭建了很多开源的系统,在这里分类了一下, 如果有更好的 欢迎推荐 安装和使...

    技术 2022年5月27日
    5400

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信