从流程图里可以看出,随机AES密钥(每次生成的密钥都是随机的没有规律可言)是由客户端随机生成包含在RSA加密的登录包里面,也就是说RSA私钥在整个通信服务里无法获取,RSA解密无法进行的情况下,就无法获取随机AES密钥,无法获取随机AES密钥也就无法解密服务器返回验证包密文,微信的通信流程环环相扣,普通手段除非暴力破解AES密钥否则无法获取通信内容。 3.2移动端微信通信交互流程 根据上面登录过程,客户端解密验证包后,会从验证包里得到一个从服务器计算出来的一个随机的AES密钥,以后的通信过程都是通过这个随机的AES密钥进行加解密通信。 微信的通信传输(文字聊天、语音等数据)全部是基于随机AES密钥,换句话来说,掌握了这个随机AES密钥就能够获取其通信内容。 具体通信交互流程如图4所示。 从流程图可以看出,微信的通信保密性很大程度依赖于随机AES密钥的不可破解性,但是从另一方面来说,只要获取了这个随机AES的密钥,微信的通信信息的保密性就会大大降低。 4结束语 本文详细分析了微信社交软件的加密方式和通信协议,提出能截获基于RSA加密和随机AES密钥加密方式的微信通信内容的一种方法,此方法可广泛应用于截获主流移动社交软件的通信内容,对通信保密方向的研究具有实践意义。 参考文献 [1]阳春华.RSA算法中几种可能泄密的参数选择[J].计算机工程2006年16期(10). [2]瞿白.RSA算法参数的选择[J].科技咨讯,2010年28期(10). [3]胡军.RSA加密算法的研究与实现[D].安徽工业大学,2011(12). [4]张月华,张新贺,刘鸿雁.AES算法优化及其在ARM上的实现[J].计算机应用,2011年06期(10). [5]赵雪梅.AES加密算法的实现及应用[J].现代经济信息,2009期23期(10). |