一种移动终端APP通讯协议的保护、装置及存储介质制造方法及图纸

技术编号:20014204 阅读:43 留言:0更新日期:2019-01-05 22:27
本发明专利技术提供了一种移动终端APP通讯协议的保护方法该方法和装置,该方法包括:生成步骤,APP基于移动终端的设备信息生成校验密文;添加步骤,将校验密文添加到通讯协议的一字段中;验证步骤,APP通过通讯协议与云端服务器进行通信时,云端服务器对通讯协议中的校验密文进行验证,验证通过后,APP与云端服务器建立连接进行通信。本发明专利技术通过APP基于移动终端的设备信息生成校验密文并将校验密文添加到通讯协议的一字段中,在移动终端与云端服务器进行通信时对校验密文进行验证,验证通过后才进行通信,本发明专利技术中还对APP及密文进行保护,防止APP的核心算法被轻易破解,提高了用户数据及APP的安全性。

Protection, Device and Storage Medium of APP Communication Protocol for Mobile Terminal

The invention provides a method and device for protecting APP communication protocol of mobile terminal. The method includes: generating step, generating verification ciphertext based on device information of mobile terminal; adding step, adding verification ciphertext to a field of communication protocol; verifying step, when APP communicates with cloud server through communication protocol, cloud server communicates with communication protocol. After verification, APP establishes a connection with the cloud server to communicate. The invention generates and adds the checking ciphertext to a field of communication protocol by means of the device information of the mobile terminal based on APP, verifies the checking ciphertext when the mobile terminal communicates with the cloud server, and communicates after the validation. The invention also protects the APP and ciphertext, prevents the core algorithm of APP from being easily cracked, and improves the user data and A. Safety of PP.

【技术实现步骤摘要】
一种移动终端APP通讯协议的保护、装置及存储介质
本专利技术涉及数据安全
,特别是一种移动终端APP通讯协议的保护、装置及存储介质。
技术介绍
Http/Https是手机APP上最常见的访问云端服务器获取数据的协议,随着APP大量的下载使用,手机上的APP跟个人的隐私信息息息相关,部分个人相关的信息以Sqlite3数据库,Plist文件格式等直接存储在手机上,大多数核心的敏感数据则存放在云端服务器上,需要联网通过通讯协议才能访问获取。有些APP使用时需要进行注册绑定个人的信息,进行一次登录后手机就会保存个人的账号,加密密码,访问云端的密钥等信息方便用户再次使用APP免登录直接访问云端服务器。因此通过保留在手机APP上的个人信息进行APP的通信协议模拟可以访问APP云端服务器,使得存储在云端服务器的个人数据一览无遗,从而造成个人敏感信息泄露甚至财产损失。手机APP采用Http/Https等标准协议进行访问云端服务器获取数据时,一些非法抓包工具进行抓包可以获取进行协议通信时需要的参数,通过获取手机APP的包含个人信息文件可以进行参数构造合成,从而进行APP的登录协议模拟获取访问云端服务器权限,进而进行各种APP登录后的模拟操作。因此采用标准协议的APP当包含协议参数的文件被获取的情况下就很容易被模拟实现,给APP云端上的个人隐私数据带来巨大的风险。
技术实现思路
本专利技术针对上述现有技术中的缺陷,提出了如下技术方案。一种移动终端APP通讯协议的保护方法,该方法包括:生成步骤,所述APP基于移动终端的设备信息生成校验密文;添加步骤,将所述校验密文添加到所述通讯协议的一字段中;验证步骤,所述APP通过所述通讯协议与云端服务器进行通信时,所述云端服务器对所述通讯协议中的校验密文进行验证,验证通过后,所述APP与云端服务器建立连接进行通信。更进一步地,所述移动终端是智能手机、平板电脑或PDA。更进一步地,所述通讯协议为Http和/或Https,在Http和/或Https的Post中的Body部分添加所述校验密文。更进一步地,所述生成步骤的操作为:读取移动终端的设备信息至Json数组,用固定的密钥对移动终端的设备信息进行哈希加密生成唯一的签名(Signature),并将所述签名添加至所述Json数组中;使用随机生成加密算法的密钥SecRandomKey对所述Json数组进行加密生成校验密文。更进一步地,所述方法还包括:判断步骤,判断所述APP是否被调试或抓包,如果是,则退出所述APP,并向用户发出警告信息;其中,所述判断步骤在所述生成步骤之前执行。更进一步地,判断所述APP是否被调试的操作为通过系统函数判断是否被调试、通过获取运行时的时间跟存储的时间戳对比判断是否被调试和/或判断是否在越狱环境下通过tweak插件进行注入调试;判断所述APP是否被抓包的操作为判断抓包工具是否设置了代理进行抓包。更进一步地,生成校验密文后进行保护操作:对APP的关键函数进行保护,对APP通讯协议中使用的Rsa公钥,Hmacmd5加密密钥进行加密,对APP校验密文使用的Aes、Hmacmd5和Rsa加密算法使用Ollvm混淆框架进行代码混淆保护。更进一步地,验证步骤的操作为:使用非对称加密算法生成所述非对称加密算法的公钥和私钥,将所述公钥用固定的字符串采用保护的方式存储在APP字符串里面,所述私钥存储在云端服务器中,通过所述公钥对生成随机密钥SecRandomKey进行加密生成Key,并将所述key也添加到所述通讯协议的一字段中;当云端服务器接受到APP的访问请求时,通过私钥对Key进行解密获取到SecRandomKey,通过SecRandomKey对校验密文进行解密,获取移动终端的设备信息和签名,并判断所述设备信息和签名是否合法,如果是,则通过固定的密钥对解密的Json数组去掉签名的部分进行哈希加密计算生成校验签名,判断所述签名与所述校验签名是否相同,如果是,所述云端服务器向所述APP传输数据,如果否,所述云端服务器拒绝向所述APP传输数据,并向用户发出提示信息。本专利技术还提出了一种移动终端APP通讯协议的保护装置,该装置包括:生成单元,用于使所述APP基于移动终端的设备信息生成校验密文;添加单元,用于将所述校验密文添加到所述通讯协议的一字段中;验证单元,用于使所述APP通过所述通讯协议与云端服务器进行通信时,所述云端服务器对所述通讯协议中的校验密文进行验证,验证通过后,所述APP与云端服务器建立连接进行通信。更进一步地,所述移动终端是智能手机、平板电脑或PDA等移动电子设备。更进一步地,所述通讯协议为Http和/或Https,在Http和/或Https的Post中的Body部分添加所述校验密文。更进一步地,所述生成单元执行的操作为:读取移动终端的设备信息至Json数组,用固定的密钥对移动终端的设备信息进行哈希加密生成唯一的签名(Signature),并将所述签名添加至所述Json数组中;使用随机生成加密算法的密钥SecRandomKey对所述Json数组进行加密生成校验密文。更进一步地,所述装置还包括:判断单元,用于判断所述APP是否被调试或抓包,如果是,则退出所述APP,并向用户发出警告信息;其中,所述判断单元的操作在所述生成单元的操作之前执行。更进一步地,判断所述APP是否被调试的操作为通过系统函数判断是否被调试、通过获取运行时的时间跟存储的时间戳对比判断是否被调试和/或判断是否在越狱环境下通过tweak插件进行注入调试;判断所述APP是否被抓包的操作为判断抓包工具是否设置了代理进行抓包。更进一步地,生成校验密文后进行保护操作:对APP的关键函数进行保护,对APP通讯协议中使用的Rsa公钥,Hmacmd5加密密钥进行加密,对APP校验密文使用的Aes、Hmacmd5和Rsa加密算法使用Ollvm混淆框架进行代码混淆保护。更进一步地,验证单元执行的操作为:使用非对称加密算法生成所述非对称加密算法的公钥和私钥,将所述公钥用固定的字符串采用保护的方式存储在APP字符串里面,所述私钥存储在云端服务器中,通过所述公钥对生成随机密钥SecRandomKey进行加密生成Key,并将所述key也添加到所述通讯协议的一字段中;当云端服务器接受到APP的访问请求时,通过私钥对Key进行解密获取到SecRandomKey,通过SecRandomKey对校验密文进行解密,获取移动终端的设备信息和签名,并判断所述设备信息和签名是否合法,如果是,则通过固定的密钥对解密的Json数组去掉签名的部分进行哈希加密计算生成校验签名,判断所述签名与所述校验签名是否相同,如果是,所述云端服务器向所述APP传输数据,如果否,所述云端服务器拒绝向所述APP传输数据,并向用户发出提示信息。本专利技术还提出了一种计算机可读存储介质,所述存储介质上存储有计算机程序代码,当所述计算机程序代码被计算机执行时执行上述之任一的方法。本专利技术的技术效果为:本专利技术通过APP基于移动终端的设备信息生成校验密文并将所述校验密文添加到所述通讯协议的一字段中,在移动终端与云端服务器进行通信时对校验密文进行验证,验证通过后才进行通信,本专利技术中还对APP及密文进行保护,防止APP的核心算法被轻易破解本文档来自技高网...

【技术保护点】
1.一种移动终端APP通讯协议的保护方法,其特征在于,该方法包括:生成步骤,所述APP基于移动终端的设备信息生成校验密文;添加步骤,将所述校验密文添加到所述通讯协议的一字段中;验证步骤,所述APP通过所述通讯协议与云端服务器进行通信时,所述云端服务器对所述通讯协议中的校验密文进行验证,验证通过后,所述APP与云端服务器建立连接进行通信。

【技术特征摘要】
1.一种移动终端APP通讯协议的保护方法,其特征在于,该方法包括:生成步骤,所述APP基于移动终端的设备信息生成校验密文;添加步骤,将所述校验密文添加到所述通讯协议的一字段中;验证步骤,所述APP通过所述通讯协议与云端服务器进行通信时,所述云端服务器对所述通讯协议中的校验密文进行验证,验证通过后,所述APP与云端服务器建立连接进行通信。2.根据权利要求1所述的方法,其特征在于,所述移动终端是智能手机、平板电脑或PDA。3.根据权利要求2所述的方法,其特征在于,所述通讯协议为Http和/或Https,在Http和/或Https的Post中的Body部分添加所述校验密文。4.根据权利要求1所述的方法,其特征在于,所述生成步骤的操作为:读取移动终端的设备信息至Json数组,用固定的密钥对移动终端的设备信息进行哈希加密生成唯一的签名(Signature),并将所述签名添加至所述Json数组中;使用随机生成加密算法的密钥SecRandomKey对所述Json数组进行加密生成校验密文。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:判断步骤,判断所述APP是否被调试或抓包,如果是,则退出所述APP,并向用户发出警告信息;其中,所述判断步骤在所述生成步骤之前执行。6.根据权利要求5所述的方法,其特征在于,判断所述APP是否被调试的操作为通过系统函数判断是否被调试、通过获取运行时的时间跟存储的时间戳对比判断是否被调试和/或判断是否在越狱环境下通过tweak插件进行注入调试;判断所述APP是否被抓包的操作为判断抓包工具是否设置了代理进行抓包。7.根据权利要求6所述的方法,其特征在于,生成校验密文后进行保护操作:对APP的关键函...

【专利技术属性】
技术研发人员:蔡阿川苏玉海兰书俊杨佳悦
申请(专利权)人:厦门市美亚柏科信息股份有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1