Android静态安全检测 -> AES/DES弱加密
来源:互联网 发布:mac 打开安卓模拟器 编辑:程序博客网 时间:2024/06/04 18:51
AES/DES弱加密 - Cipher.getInstance方法
一、API
1. 继承关系
【1】java.lang.Object
【2】java.crypto.Cipher
2. 主要方法
【1】getInstance(String transformation)
【2】getInstance(String transformation, String provider)
【3】getInstance(String transformation, Provider provider)
【4】其他方法
https://developer.android.com/reference/javax/crypto/Cipher.html
3. 示例
【1】调用AES/DES加密算法的语句
【2】CBC是工作模式
ECB(电子密码本模式:Electronic codebook)
CBC(密码分组链接模式:Cipher-block chaining)
CFB(密文反馈模式:Cipher feedback)
OFB(输出反馈模式:Output feedback)
参考链接
http://blog.poxiao.me/p/advanced-encryption-standard-and-block-cipher-mode/
http://m.blog.csdn.net/article/details?id=51066799
【3】PKCS5Padding是填充模式
【4】zerolv是初始化向量
【5】工作模式、填充模式、初始化向量这三种因素一个都不能少,否则如果你不指定的话,那么程序就要调用默认实现
【6】参考链接
http://blog.csdn.net/bingdianlanxin/article/details/46461797
二、触发条件
1. 调用Cipher类的getInstance方法
【1】对应到smali语句中的特征
invoke-static {v1}, Ljavax/crypto/Cipher;->
getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;
2. 寄存器赋值的判断
【1】const-string v1, "AES"
Android提供的AES加密算法API默认使用ECB模式
【2】const-string v1, "DES"
DES默认是56位加密密钥,已经不安全
【3】const-string v1, "AES/ECB/
【4】const-string v1, "DES/ECB/
【5】const-string v1, "DESede/ECB/
DESede(三重DES加密)
http://pandazheng0.lofter.com/post/1ccbccd7_57d23e8
三、漏洞原理
【1】使用AES/DES/DESede加密算法时,如果使用ECB模式,容易受到攻击风险,造成信息泄露
【2】更多内容
http://www.droidsec.cn/android应用安全开发之浅谈加密算法的坑/
四、修复建议
【1】使用AES/DES/DESede加密算法时,应显示指定使用CBC或CFB加密模式
1 0
- Android静态安全检测 -> AES/DES弱加密
- Android DES AES MD5加密
- [android]DES/3DES/AES加密方式
- Android DES/3DES/AES加密方式
- Android数据加密DES、3DES、AES
- Android DES,AES,RSA加密实现
- Android AES DES RSA 加密解密 解析
- DES、AES加密
- Android数据安全之AES加密
- Android加密和解密(DES,AES,MD5)
- Android加密DES AES RSA的简单使用
- Android静态安全检测 -> 主机名弱校验
- Android静态安全检测 -> 证书弱校验
- Android数据安全之DES加密
- DES/AES/MD5加密方法
- DES、AES、RSA加密解密
- 加密解密(DES,AES)
- DES,RSA,MD5,AES加密
- java(九九乘法表输出1,3,5,7,9)
- POJ2115C Looooops(2)
- [编写高质量iOS代码的52个有效方法](二)对象
- HDU 5745 ( La Vie en rose )
- python使用urllib2抓取防爬取链接
- Android静态安全检测 -> AES/DES弱加密
- Android中如何查找内存泄露
- Android内存泄漏简介
- hdu 3592 World Exhibition(差分约束,最短路)
- HDOJ 1052 Tian Ji -- The Horse Racing
- 申请谷歌帐号的电话号码问题
- Number Sequence(存在循环规律)
- linux发展史
- 四大组件之BroadCastReceiver(监听电量变化+开机自启app)