美文网首页程序员iOS技术点iOS 网络相关
详解IM消息(网络数据)传输安全原理-高级(全)

详解IM消息(网络数据)传输安全原理-高级(全)

作者: atme | 来源:发表于2019-02-19 10:05 被阅读158次

隐私安全一直是大家关注的热点,特别是在互联网上,那么多大厂的数据安全是如何处理的呢?
本文将通过通俗易懂的文字,引导你一步步理解为何一个应用需要加密技术,以及需要何种方式的加密技术等,希望能为您的IM数据、或消息推送服务的设计提供一些参考

一: 信息裸传

顾名思义:不做任何处理,直接明文传递,如下图所示


信息裸传

安全评估: 网络上传递的数据是不安全的,属于网络黑客公共场所,能被截取;
风险后果: 传递明文无异于不穿衣服裸奔;
改进方案: 先加密,再在网络上传输。

二: 传输密文-对称加密

约定秘钥加解密

安全特点流程 :

 1.服务端和客户端先约定好加密算法,加密密钥
 2.客户端,传输前用约定好的密钥加密;
 3.传输密文;
 4.服务端,收到消息后用约定好的密钥解密。

通信安全性总结如下:

1.安全评估:
    客户端的代码是不安全的,属于黑客本地范畴,能被逆向工程,任何客户端与服务端提前约定好的算法
    与密钥都是不安全的;
2.导致后果:
    任何客户端的代码混淆,二进制化都只能提高黑客的破解门槛,本质是不安全的;
3.改进方案:
    不能固定密钥。

三: 中级通信安全:一人一密


一人一秘,服务器生成

从上图可知

1. 客户端和服务器协商好加密算法和加密秘钥
2. 客户端请求秘钥
3. 服务器返回秘钥
4. 用协商好的加密和秘钥加密,传递消息

风险评估

1. 网络传递秘钥不安全,被截取了,白费了
2. 加密算法也很容易破解
3. 最终破解 

改进方案: 协商的秘钥不能在网上传递

四: 高级安全通信-客户端生成秘钥

一人一密.客户端生成

分析一波:

1.使用特定加密参数作为key
2.每个人的秘钥都不同
3.然后密钥加密消息,传输密文;
4.服务端从db里获取这个“key”,解密

安全分析

1.秘钥存于客户端内存中.非常安全
2.特性的参数作为key,也是安全的,而且一人一密,及时破解,也无法破解其他人的
3.如果该特性的key泄漏了,这个就不安全了,现在谁也不能保证不会泄漏,所以还是具有一定的不安全性

不行,咱们还得改进改进

五: 究极安全通信: 一次一密、密钥协商

一人一密

过程分析

1.服务端随机生成公私钥对(公钥pk1,私钥pk2),并将公钥pk1传给客户端:
(注意:此时黑客能截获pk1);

2.客户端随机生成公私钥对(公钥pk11,私钥pk22),并将公钥pk11,通过pk1加密,传给服务端:
(注意:此时黑客能截获密文,也知道是通过pk1加密的,但由于黑客不知道私钥pk2,是无法解密的);

3.服务端收到密文,用私钥pk2解密,得到pk11;
服务端随机生成对称加密密钥key=X,用pk11加密,传给客户端:
(注意:同理,黑客由密文无法解密出key);
客户端收到密文,用私钥pk22解密,可到key=X。

最后加密是非常安全的了! 不足之处,希望各位大佬指点

本文小结:

零级安全:明文消息传递如同裸奔,不安全;
初始安全:客户端和服务端提前约定加密算法和密钥,不安全(好多公司都是这么实现的=_=);
中级安全:服务端随机生成密钥,发送给客户端,不安全;
高级安全:一人一密,客户端使用“具备用户特性的东西”作为加密密钥,弱安全;
终级安全:一次一密,三次握手建立安全信道,安全。

好文章需要传递,原文链接

相关文章

  • 详解IM消息(网络数据)传输安全原理-高级(全)

    隐私安全一直是大家关注的热点,特别是在互联网上,那么多大厂的数据安全是如何处理的呢?本文将通过通俗易懂的文字,引导...

  • HTTPS安全的一些tk

    参考连接: 网络数据传输安全及SSH与HTTPS工作原理数字证书原理,公钥私钥加密原理 Https协议详解数字证书...

  • SOCKET 和 AFNet

    /*IM常遇见的问题长连接IM保证数据准确传输如何保证IM实时消息的“时序性”与“一致性”?websocket 和...

  • 技能tree

    iOS 1、网络通信:socket、网络协议、request 2、安全方案:数据加密、传输加密、代码安全 3、数据...

  • PHP加密解密- AES加密算法 -RSA加密算法

    为了保证网络传输数据的安全性,涉及敏感数据的传输,最好对数据预先加密,然后再在网络上进行传输,同时,还要保证数据在...

  • 浅析HTTPS握手流程(wireShark 抓取数据参考)

    Https原理解析 序言 我们已知http是基于明文传输,所以在网络中传输一些隐私数据没有办法保证一些安全性.所以...

  • 关于ORACLE数据传输加密的介绍

    Oracle数据库的高级安全选项提供了传输数据加密、数据完整性验证等多项功能,在一定程度上可以保证数据传输的安全性...

  • 关于ORACLE数据传输加密的介绍

    Oracle数据库的高级安全选项提供了传输数据加密、数据完整性验证等多项功能,在一定程度上可以保证数据传输的安全性...

  • iOS常用知识

    网络TCP/IP 推荐《TCP/IP详解 卷一》HTTP协议结构,重用, 缓存,安全传输(HTTPS握+ 手机制)...

  • https和ca原理

    https原理 非对称加密算法与传输安全详解。安全的给小姐姐写信的姿势是什么?HTTPS是怎么回事儿对https讲...

网友评论

    本文标题:详解IM消息(网络数据)传输安全原理-高级(全)

    本文链接:https://www.haomeiwen.com/subject/cginjqtx.html