java des zeropadding 即时通讯安全篇(四):实例分析Android中密钥硬编码的风险
java des zeropadding 即时通讯安全篇(四):实例分析Android中密钥硬编码的风险
1、前言
经常发现有开发者将密钥硬编码在Java代码、文件中,这样做会引起很大风险。
信息安全的基础在于密码学,而常用的密码学算法都是公开的,加密内容的保密依靠的是密钥的保密,密钥如果泄露,对于对称密码算法,根据用到的密钥算法和加密后的密文java des zeropadding 即时通讯安全篇(四):实例分析Android中密钥硬编码的风险,很容易得到加密前的明文;对于非对称密码算法或者签名算法,根据密钥和要加密的明文,很容易获得计算出签名值,从而伪造签名。
密钥硬编码在代码中,而根据密钥的用途不同java des zeropaddingjava des zeropadding 即时通讯安全篇(四):实例分析Android中密钥硬编码的风险,这导致了不同的安全风险,有的导致加密数据被破解,数据不再保密java des zeropadding,有的导致和服务器通信的加签被破解,引发各种血案,本文主要借用乌云上已公布的几个APP漏洞来讲讲这其中的潜在风险和危害。
2、风险案例(一):某互联网金融APP加密算法被破解导致敏感信息泄露
某P2P应用客户端,用来加密数据的DES算法的密钥硬编码在Java代码中,而DES算法是对称密码算法,既加密密钥和解密密钥相同。
反编译APP,发现DES算法:




3、风险案例(二):某租车APP加密算法被破解导致一些列风险
某租车APP与服务器通信的接口采用http传输数据,并且有对传输的部分参数进行了加密,加密算法采用AES,但是密钥硬编码在java代码中为“”,可被逆向分析出来,导致伪造请求,结合服务器端的漏洞,引起越权访问的风险,如越权查看其它用户的订单等。
和服务器通信时的数据为:

v1是用户名,v2是密码,v3是,在用户名和密码不为空并且长度不小于11情况下,执行相关操作,追踪的实现,发现继承自,继续追踪的实现。





发现其使用AES算法,并且密钥硬编码在java代码中为“”。

到现在请求中的数据加密如何实现的就清晰了,另外由于服务器权限控制不严,就可以构造订单id的请求,达到越权访问到其他用户的订单。

4、风险案例(三):某酒店APP加签算法被破解导致一系列风险
某酒店APP和服务器通信时接口采用http通信,数据进行了加密,并且对传输参数进行签名,在服务器端校验签名java des zeropadding,以检查传输的数据是否被篡改,但是加签算法和密钥被逆向分析,可导致加签机制失效,攻击者可任意伪造请求包,若结合服务器端的权限控制有漏洞,则可引发越权风险等。
APP和服务器通信的原始包如下图,可以看到有加签字段sign:


可以使用IDA逆向分析so库,找到()方法:

5、总结及建议
通过以上案例,并总结下自己平时发现密钥硬编码的主要形式有:
保证密钥的安全确是件难事,涉及到密钥分发,存储,失效回收,APP防反编译和防调试,还有风险评估。可以说在设备上安全存储密钥这个基本无解,只能选择增大攻击者的逆向成本,让攻击者知难而退。而要是普通开发者的话,做妥善保护密钥这些事情这需要耗费很大的心血。
产品设计者或者开发者要明白自己的密钥是做什么用的,重要程度怎么样,密钥被逆向出来会造成什么风险,通过评估APP应用的重要程度来选择相应的技术方案。
6、参考资料

传输层安全协议SSL/TLS的Java平台实现简介和Demo演示》
理论联系实际:一套典型的IM通信协议设计详解(含安全层设计)》
微信新一代通信安全解决方案:基于TLS1.3的MMTLS详解》
来自阿里:打造安全可靠即时通讯服务的技术实践分享》
简述实时音视频聊天中端到端加密(E2EE)的工作原理》
移动端安全通信的利器——端到端加密(E2EE)技术详解》
Web端即时通讯安全:跨站点劫持漏洞详解(含示例代码)》
通俗易懂:一篇掌握即时通讯的消息传输安全原理》
IM开发基础知识补课(四):正确理解HTTP短连接中的、和Token》
快速读懂量子通信、量子加密技术》
一分钟理解 HTTPS 到底解决了什么问题》
一篇读懂HTTPS:加密原理、安全逻辑、数字证书等》
基于Netty的IM聊天加密技术学习:一文理清常见的加密概念、术语等》
手把手教你为基于Netty的IM生成自签名SSL/TLS证书》
微信技术分享:揭秘微信后台安全特征数据仓库的架构设计》
即时通讯初学者必知必会的20个网络编程和通信安全知识点》
零基础IM开发入门(五):什么是IM系统的端到端加密?》
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299
资源库 - 资源分享下载网 » java des zeropadding 即时通讯安全篇(四):实例分析Android中密钥硬编码的风险
常见问题FAQ
- 关于资源售价和售后服务的说明?
- 代码有没有售后服务和技术支持?
- 有没有搭建服务?
- 链接地址失效了怎么办?
- 关于解压密码

