某金融类应用Android客户端的数据加密算法破解过程:
APP逆向分析:反编译后,从代码内发现使用DES加密算法对数据进行加密;
密钥提取:反编译后,发现DES算法密钥硬编码在代码内,“yrdAppKe”;
本地加密数据破解:基于已知的加密算法+算法密钥还原/替换被加密的数据,例如,此APP里可以还原/替换加密在本地的手机密码;
通信内容破解: 通过服务器数据抓包,发现服务器通信接口同样使用了DES算法,密钥同样硬编码在代码内,“yRdappKY”;通过中间人攻击可以破解用户传输的通信内容。
白盒原理:对密钥与算法的数学混淆
1、任何有限函数理论上都可转化为一个包含所有可能的输入和输出的查找表。
2、将标准密码算法的每一轮运算拆分为一个个小模块,对每个小模块进行混淆处理,并将每个模块所有可能的输入输出转换为一个查找表。
3、基于白盒密码技术的加解密执行过程,被转换为一个个查找表的查找过程,使得攻击者无法从查找表中分析得到密钥。