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

关于资源售价和售后服务的说明?
本站所有资源的标价均为本站收集资源的辛苦费,不代表资源本身的价值。软件是高智慧高价值的商品,不可能是白菜价。本站资源标价只是赞助费用,收取的赞助费仅用来维持本站的日常运营!毕竟收集整理资料需要投入云计算资源和站长大量的精力。
代码有没有售后服务和技术支持?
由于代码的运行具有不可预见性,本站不保证代码完整可运行,不提供技术支持和售后服务。 本站原创代码都是站长自己开发的,可以有偿提供技术支持服务。 网站里标明【亲测】的代码都是站长亲测过的,其他的代码由于精力有限,没有一一测试,不能保证代码就一定能够使用,更没有技术支持服务,下载前请自行斟酌。
有没有搭建服务?
由于搭建服务比较费时费力,所以本站除了原创代码外均不提供搭建服务。本站分享代码纯属兴趣爱好,不以盈利为目的,请勿咨询有没有搭建服务,谢谢理解。
链接地址失效了怎么办?
请带上资源链接地址联系客服,工作时间内我们看到后将第一时间回复。
关于解压密码
本站资源一般都没有加密,如果发现需要解压密码的,那么就输入 hao.35dc.com 试试。

发表评论

资源库,由老程序员细心甄别、精心筛选,只为提供优质的源码资源

关于我们 联系我们