基于微信密码报文安全性研究.docVIP

  • 13
  • 0
  • 约2.78千字
  • 约 7页
  • 2018-08-29 发布于福建
  • 举报
基于微信密码报文安全性研究

基于微信密码报文安全性研究   摘 要 随着信息化建设的快速发展,基于互联网的应用―微信平台越来越多。微信正在引领一种全新的生活方式,但同时也带来了不小的安全隐患,设计者不得不把安全防破解攻击性考虑到极致。   【关键词】微信 密码报文 安全性   微信用户的密码如何保存?微信的公众号推出之后,更多的公司、服务场所都有相应自己的微信平台促销自己的产品,为了吸纳用户关注。需体验性好,而且安全性有保证。本文从以下从几个角度来考虑如何做一个让用户放心的基于微信的精细化公共平台。   基于微信的公共号,其实,就是一个wap的访问,在微信中做一个跳转功能,使用微信内置的浏览器跳转到设计者对应的网页中,从而进行访问操作。如何把用户的密码、网页的信息进行加密,来防止被篡改呢?相应地加密手段是必要的。   1 加密手段   现在主流的加密算法有:对称加密算法,非对称加密算法和hash算法。   1.1 对称加密   指加密和解密使用相同密钥的加密算法。对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性。   常见的对称加密算法:DES、3DES、DESX、Blowfish、IDEA、RC6和AES   1.2 非对称加密   指加密和解密使用不同密钥的加密算法,也称为公私钥加密。假设两个用户要加密交换数据,双方交换公钥,使用时一方用对方的公钥加密,另一方即可用自己的私钥解密。   常见的非对称加密算法:RSA、ECC、Diffie-Hellman、El Gamal、DSA。   1.3 Hash算法   Hash算法是一种单向算法,用户可以通过Hash算法对目标信息生成一段特定长度的唯一的Hash值,却不能通过这个Hash值重新获得目标信息。因此Hash算法常用在不可还原的密码存储、信息完整性校验等。   常见的Hash算法:MD2、MD4、MD5、HAVAL、SHA、HMAC。   如何做到尽可能不让外部人员(恶意攻击者)知道加密数据是采用何种加密算法和加密类型的呢?   2 采用加密机进行转加密   加密机会分配给使用者一个索引,一个16进制的密钥。待加密者,把索引、密钥、待加密的数据按一定的格式进行组合通过socket链接发送到加密机中。加密机找到相应加密算法进行加密后返回给待加密者。   整个流程中,待加密者并不知道加密机使用了何种算法,大大的提高了破解的可能性。但是,我们可以借助这种机制把安全性再提高一个台阶。假如有A系统和B系统。A系统是前台web用于数据的操作,B系统是后台对于web的响应,查询的数据来源和业务处理。加密机给A系统和B系统各自分配不同的密钥,A不知道加密机给B所分配的密钥和索引值,因为B系统是后台级,用户不可能接触到,所以B系统可以知道加密机给A系统所分配的密钥和索引。A系统的用户输入一个密码,这个时候,把密码 + 索引 + 密钥 通过socket链接上送到加密机中加密后返回一串16位的16进制字符。然后,A把返回的字符密文cipherText通过xml报文或者json上送给后台,后台得到此cipherText后,通过把密钥A,索引A,密钥B,索引B一起组合为特定的字符串通过socket送给加密机进行转加密得到新的cipherText保存到数据库。就这样,后台数据库保存的密码的cipherText和前台加密出来的密码的cipherText是不一致的,从而反正内部人员查看数据库的密文找到特定的规律进而破解cipherText.依次类推,此种办法还可以加密一些重要的数据。   3 前端和后台进行交互的加密   上面说到,A系统返回cipherText通过xml报文或json上送到后台,恶意攻击者可以篡改此xml报文。为了防止前端和后端交互的报文中被第3方恶意篡改。对其报文进行加密是非常有必要的。   如何加密才能安全性能更高呢?所以A系统和B系统之间的xml报文的交互就需要相应的加密措施。B系统生成报文的证书,同时把证书非公开的发给A系统。A系统通过此证书对xml报文进行加密后上送给B系统。B系统,用证书进行解密获得原始的xml报文进行相应的业务处理后返回的xml报文再通过证书加密返回给A系统。A系统得到xml报文,用证书进行解密得到处理结果反馈给用户。第3方通过监听解析包工具获得数据报文也是密文的。假如第3方攻击者得到xml的密文后,通过破解或者其他渠道获取到证书,从而能解密xml报文得到明文数据。这个时候,怎么办呢?第3方直接修改一些必要的数据,例如金额,卡号,再给证书加密送给后台B系统,一次篡改成功的实施了。   4 B系统(后端系统)防篡改   如何做到识别出数据是否被篡改过呢?   4.1 采用MD5对数值进行hash加密   MD5是文件或者

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档