美文网首页
即时通讯加密方案探讨

即时通讯加密方案探讨

作者: E聊 | 来源:发表于2021-09-10 10:08 被阅读0次

    即时通讯加密方案探讨

    1.背景:

    因为互联网是开发透明的,任何人都可能对你的产品进行破解研究,因此,在软件的有良好的安全意识是十分必要的。

    2.安全问题分析:

    2.1 客户端方面:

    1. 客户端被反编译源码,常见如: android apk被反编译,获取加密算法与密钥,从而进行破解,类似的还要使用JavaScript技术跨平台的移动开发框架等,若开发者不注意,很容易被逆向破解。

    2.2 网络传输方面:

    一般而言,API在网络中经http/https协议传输,有可能被黑客截取,修改数据包内容,伪造通讯数据获取重要信息。如手机连接到非法免费的wifi上,有可能安装了嗅包软件,并进行中间人攻击。以下是https中间人攻击的一个例子


    image.png

    3. 应对方法

    3.1 客户端方面:

    有些客户端使用的框架避免反编译是不可能的,常见anroid, 和使用javascript技术跨平台开发的框架如:reactnative, uniapp等。对于这种方案,最好把加/解密算法,密钥放置在native程序或动态库中,并增加混淆,增加破解难度。

    3.2 网络传输方面:

    1. 不要使用http等明文通讯手段,使用https;
    2. 根据自己的业务场景使用合适的加密手段,常见有对称加密(3DES)与非对称加密(RSA)

    3.2.1 对称加密(简单易用):

    假设客户端无法被破解,使用对称加密已能被避免中间人攻击,该手段已用于各中大小厂商产品:

    # 例子
    客户端对称加密(3DES)-->路由器(密文传输)--> 服务器(3DES解密)
    

    3.2.2 非对称加密RSA+数字签名:

    image.png

    参考某支付平台(有改动),使用上可以在通讯中可使用RSA非对称加密传输,并使用MD5(传输参数+盐)对传输参数加密,防中间人篡改。可能某支付平台考虑到调试的方便,就没有对报文进行加密了。

    3.总结:

    采用加密会一定程度上加大研发投入与维护成本,具体需不需要就看业务需求了。E聊SDK提供了即时通讯加密方案的设计,有兴趣来探讨。

    相关文章

      网友评论

          本文标题:即时通讯加密方案探讨

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