CN109150865A - 一种移动终端app通讯协议的保护、装置及存储介质 - Google Patents
一种移动终端app通讯协议的保护、装置及存储介质 Download PDFInfo
- Publication number
- CN109150865A CN109150865A CN201810890833.8A CN201810890833A CN109150865A CN 109150865 A CN109150865 A CN 109150865A CN 201810890833 A CN201810890833 A CN 201810890833A CN 109150865 A CN109150865 A CN 109150865A
- Authority
- CN
- China
- Prior art keywords
- app
- communications protocol
- key
- mobile terminal
- cloud server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 62
- 238000012795 verification Methods 0.000 claims abstract description 85
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 25
- 230000001681 protective effect Effects 0.000 claims description 6
- 238000002347 injection Methods 0.000 claims description 5
- 239000007924 injection Substances 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 235000013399 edible fruits Nutrition 0.000 claims description 2
- 239000000243 solution Substances 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种移动终端APP通讯协议的保护方法该方法和装置,该方法包括:生成步骤,APP基于移动终端的设备信息生成校验密文;添加步骤,将校验密文添加到通讯协议的一字段中;验证步骤,APP通过通讯协议与云端服务器进行通信时,云端服务器对通讯协议中的校验密文进行验证,验证通过后,APP与云端服务器建立连接进行通信。本发明通过APP基于移动终端的设备信息生成校验密文并将校验密文添加到通讯协议的一字段中,在移动终端与云端服务器进行通信时对校验密文进行验证,验证通过后才进行通信,本发明中还对APP及密文进行保护,防止APP的核心算法被轻易破解,提高了用户数据及APP的安全性。
Description
技术领域
本发明涉及数据安全技术领域,特别是一种移动终端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的核心算法被轻易破解,提高了用户数据及APP的安全性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显。
图1是根据本发明的实施例的一种移动终端APP通讯协议的保护方法的流程图。
图2是根据本发明的实施例的一种移动终端APP通讯协议的保护装置的结构图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了本发明的一种移动终端APP通讯协议的保护方法,该方法包括:
生成步骤S101,所述APP基于移动终端的设备信息生成校验密文。
添加步骤S102,将所述校验密文添加到所述通讯协议的一字段中。
验证步骤S103,所述APP通过所述通讯协议与云端服务器进行通信时,所述云端服务器对所述通讯协议中的校验密文进行验证,验证通过后,所述APP与云端服务器建立连接进行通信。
在本发明的实施例中,所述移动终端可以是包括但不限于智能手机、平板电脑、电子书阅读器、PDA(个人数字助理)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机等等。
在本发明的一个实施例中,对APP的标准通讯协议添加自定义校验密文,以Http/Https为例,当手机进行通讯请求时Post中的Body部分添加App自定义生成的校验密文并传递到云端服务器进行验证。云端服务器对校验密文进行解密验证,当验证为合法才进行响应,返回相应的数据到手机的App上面。即本发明的通讯协议包括但不限于所述通讯协议为Http和/或Https,在Http和/或Https的Post中的Body部分添加所述校验密文,这是本发明的重要发明点之一,提高用户数据的安全性。
生成步骤S101中的操作为:读取移动终端的设备信息至Json数组,用固定的密钥对移动终端的设备信息进行哈希加密生成唯一的签名(Signature),并将所述签名添加至所述Json数组中;使用随机生成加密算法的密钥SecRandomKey对所述Json数组进行加密生成校验密文。设备信息可以是硬件信息,例如使用手机系统的Mac、Deviceid、时间戳等生成Json数组。哈希算法可以是Hmacmd5,哈希算法不仅限于Hmacmd5算法,使用随机生成加密算法(例如AES,算法不仅限于AES算法)的秘钥(AesKey),使用该秘钥对Json数组进行加密生成校验密文Data。由于终端设备的硬件信息具有唯一性,因此,生成的校验密文有唯一性,提高了安全性及校验的可靠性。
在一个实施例中,为进一步提高APP的安全性,在执行生成步骤S101之前,还执行判断步骤S100,判断所述APP是否被调试或抓包,如果是,则退出所述APP,并向用户发出警告信息;其中,所述判断步骤在所述生成步骤之前执行。判断所述APP是否被调试的操作为通过系统函数判断是否被调试(如通过判断ptrace、syscall、ask_get_cxception_ports是否被调用来判断APP是否被调试)、通过获取运行时的时间跟存储的时间戳对比判断是否被调试和/或判断是否在越狱环境下通过tweak插件进行注入调试(如修改保护程序的Section(_RESTRICT,_restrict)部分);判断所述APP是否被抓包的操作为判断抓包工具是否设置了代理进行抓包,如判断是否设置了代理,设置代理情况下不允许访问,这是本发明的另一个重要发明点。
在一个实施例中,为进一步提高APP及用户数据的安全性,防止生成的校验密文被破解,生成校验密文后进行保护操作:对APP的关键函数进行保护(如,例如进行符号混淆,建立符号表、将类名、方法名、变量名替换成无意义的符号),对APP通讯协议中使用的Rsa公钥及Hmacmd5加密密钥进行加密,对APP校验密文使用的Aes、Hmacmd5和Rsa加密算法使用Ollvm混淆框架进行代码混淆保护,这是本发明的另一个重要发明点。
本发明的另一个重要发明点是云端服务器对APP的请求进行验证,下面将详细描述,验证步骤S103的操作为:使用非对称加密算法生成所述非对称加密算法的公钥和私钥,将所述公钥用固定的字符串采用保护的方式存储在APP字符串里面,所述私钥存储在云端服务器中,通过所述公钥对生成随机密钥SecRandomKey进行加密生成Key,并将所述key也添加到所述通讯协议的一字段中;当云端服务器接受到APP的访问请求时,通过私钥对Key进行解密获取到SecRandomKey,通过SecRandomKey对校验密文进行解密,获取移动终端的设备信息和签名,并判断所述设备信息和签名是否合法,如果是,则通过固定的密钥对解密的Json数组去掉签名的部分进行哈希加密计算生成校验签名,判断所述签名与所述校验签名是否相同,如果是,所述云端服务器向所述APP传输数据,如果否,所述云端服务器拒绝向所述APP传输数据,并向用户发出提示信息。
进一步参考图2,作为对上述图1所示方法的实现,本申请提供了移动终端APP通讯协议的保护装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以包含于各种电子设备中。
图2示出了本发明的一种移动终端APP通讯协议的保护方法,该方法包括:
生成模块201,用于使所述APP基于移动终端的设备信息生成校验密文。
添加模块202,用于将所述校验密文添加到所述通讯协议的一字段中。
验证模块203,用于使所述APP通过所述通讯协议与云端服务器进行通信时,所述云端服务器对所述通讯协议中的校验密文进行验证,验证通过后,所述APP与云端服务器建立连接进行通信。
在本发明的一个实施例中,对APP的标准通讯协议添加自定义校验密文,以Http/Https为例,当手机进行通讯请求时Post中的Body部分添加App自定义生成的校验密文并传递到云端服务器进行验证。云端服务器对校验密文进行解密验证,当验证为合法才进行响应,返回相应的数据到手机的App上面。即本发明的通讯协议包括但不限于所述通讯协议为Http和/或Https,在Http和/或Https的Post中的Body部分添加所述校验密文,这是本发明的重要发明点之一,提高用户数据的安全性。
生成模块201中执行的操作为:读取移动终端的设备信息至Json数组,用固定的密钥对移动终端的设备信息进行哈希加密生成唯一的签名(Signature),并将所述签名添加至所述Json数组中;使用随机生成加密算法的密钥SecRandomKey对所述Json数组进行加密生成校验密文。设备信息可以是硬件信息,例如使用手机系统的Mac、Deviceid、时间戳等生成Json数组。哈希算法可以是Hmacmd5,哈希算法不仅限于Hmacmd5算法,使用随机生成加密算法(例如AES,算法不仅限于AES算法)的秘钥(AesKey),使用该秘钥对Json数组进行加密生成校验密文Data。由于终端设备的硬件信息具有唯一性,因此,生成的校验密文有唯一性,提高了安全性及校验的可靠性。
在一个实施例中,为进一步提高APP的安全性,在执行生成模块201的操作前,还执行判断模块200的操作,用于判断所述APP是否被调试或抓包,如果是,则退出所述APP,并向用户发出警告信息;其中,所述判断步骤在所述生成步骤之前执行。判断所述APP是否被调试的操作为通过系统函数判断是否被调试(如通过判断ptrace、syscall、ask_get_cxception_ports是否被调用来判断APP是否被调试)、通过获取运行时的时间跟存储的时间戳对比判断是否被调试和/或判断是否在越狱环境下通过tweak插件进行注入调试(如修改保护程序的Section(_RESTRICT,_restrict)部分);判断所述APP是否被抓包的操作为判断抓包工具是否设置了代理进行抓包,如判断是否设置了代理,设置代理情况下不允许访问,这是本发明的另一个重要发明点。
在一个实施例中,为进一步提高APP及用户数据的安全性,防止生成的校验密文被破解,生成校验密文后进行保护操作:对APP的关键函数进行保护(如,例如进行符号混淆,建立符号表、将类名、方法名、变量名替换成无意义的符号),对APP通讯协议中使用的Rsa公钥及Hmacmd5加密密钥进行加密,对APP校验密文使用的Aes、Hmacmd5和Rsa加密算法使用Ollvm混淆框架进行代码混淆保护,这是本发明的另一个重要发明点。
本发明的另一个重要发明点是云端服务器对APP的请求进行验证,下面将详细描述,验证模块203的操作为:使用非对称加密算法生成所述非对称加密算法的公钥和私钥,将所述公钥用固定的字符串采用保护的方式存储在APP字符串里面,所述私钥存储在云端服务器中,通过所述公钥对生成随机密钥SecRandomKey进行加密生成Key,并将所述key也添加到所述通讯协议的一字段中;当云端服务器接受到APP的访问请求时,通过私钥对Key进行解密获取到SecRandomKey,通过SecRandomKey对校验密文进行解密,获取移动终端的设备信息和签名,并判断所述设备信息和签名是否合法,如果是,则通过固定的密钥对解密的Json数组去掉签名的部分进行哈希加密计算生成校验签名,判断所述签名与所述校验签名是否相同,如果是,所述云端服务器向所述APP传输数据,如果否,所述云端服务器拒绝向所述APP传输数据,并向用户发出提示信息。
本发明通过APP基于移动终端的设备信息生成校验密文并将所述校验密文添加到所述通讯协议的一字段中,在移动终端与云端服务器进行通信时对校验密文进行验证,验证通过后才进行通信,本发明中还对APP及密文进行保护,防止APP的核心算法被轻易破解,提高了用户数据及APP的安全性。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
最后所应说明的是:以上实施例仅以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
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的关键函数进行保护,对APP通讯协议中使用的Rsa公钥,Hmacmd5加密密钥进行加密,对APP校验密文使用的Aes、Hmacmd5和Rsa加密算法使用Ollvm混淆框架进行代码混淆保护。
8.根据权利要求5所述的方法,其特征在于,验证步骤的操作为:
使用非对称加密算法生成所述非对称加密算法的公钥和私钥,将所述公钥用固定的字符串采用保护的方式存储在APP字符串里面,所述私钥存储在云端服务器中,通过所述公钥对生成随机密钥SecRandomKey进行加密生成Key,并将所述key也添加到所述通讯协议的一字段中;
当云端服务器接受到APP的访问请求时,通过私钥对Key进行解密获取到SecRandomKey,通过SecRandomKey对校验密文进行解密,获取移动终端的设备信息和签名,并判断所述设备信息和签名是否合法,如果是,则通过固定的密钥对解密的Json数组去掉签名的部分进行哈希加密计算生成校验签名,判断所述签名与所述校验签名是否相同,如果是,所述云端服务器向所述APP传输数据,如果否,所述云端服务器拒绝向所述APP传输数据,并向用户发出提示信息。
9.一种移动终端APP通讯协议的保护装置,其特征在于,该装置包括:
生成单元,用于使所述APP基于移动终端的设备信息生成校验密文;
添加单元,用于将所述校验密文添加到所述通讯协议的一字段中;
验证单元,用于使所述APP通过所述通讯协议与云端服务器进行通信时,所述云端服务器对所述通讯协议中的校验密文进行验证,验证通过后,所述APP与云端服务器建立连接进行通信。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序代码,当所述计算机程序代码被计算机执行时执行权利要求1-8之任一的方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201810890833.8A CN109150865A (zh) | 2018-08-07 | 2018-08-07 | 一种移动终端app通讯协议的保护、装置及存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201810890833.8A CN109150865A (zh) | 2018-08-07 | 2018-08-07 | 一种移动终端app通讯协议的保护、装置及存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN109150865A true CN109150865A (zh) | 2019-01-04 |
Family
ID=64792209
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201810890833.8A Pending CN109150865A (zh) | 2018-08-07 | 2018-08-07 | 一种移动终端app通讯协议的保护、装置及存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN109150865A (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109981665A (zh) * | 2019-04-01 | 2019-07-05 | 北京纬百科技有限公司 | 资源提供方法及装置、资源访问方法及装置和系统 |
Citations (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103428176A (zh) * | 2012-05-18 | 2013-12-04 | 中国电信股份有限公司 | 移动用户访问移动互联网应用的方法、系统及应用服务器 |
| CN103475477A (zh) * | 2013-09-03 | 2013-12-25 | 深圳市共进电子股份有限公司 | 一种安全授权访问的方法 |
| US20140007192A1 (en) * | 2011-10-11 | 2014-01-02 | Zenprise, Inc. | Providing secure mobile device access to enterprise resources using application tunnels |
| CN104065624A (zh) * | 2013-03-21 | 2014-09-24 | 北京百度网讯科技有限公司 | 请求消息的安全校验方法、系统和装置 |
| CN104394147A (zh) * | 2014-11-26 | 2015-03-04 | 西安电子科技大学 | 在安卓系统的http协议中添加身份认证信息的方法 |
| CN106470137A (zh) * | 2015-08-21 | 2017-03-01 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及终端 |
| CN106506470A (zh) * | 2016-10-31 | 2017-03-15 | 大唐高鸿信安(浙江)信息科技有限公司 | 网络数据安全传输方法 |
| CN106712932A (zh) * | 2016-07-20 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 密钥管理方法、装置及系统 |
| CN106911684A (zh) * | 2017-02-17 | 2017-06-30 | 武汉斗鱼网络科技有限公司 | 一种鉴权方法及系统 |
| CN107733933A (zh) * | 2017-11-30 | 2018-02-23 | 中国电力科学研究院有限公司 | 一种基于生物识别技术的双因子身份认证的方法及系统 |
| CN107911398A (zh) * | 2018-01-04 | 2018-04-13 | 世纪龙信息网络有限责任公司 | 身份信息的认证方法、装置以及系统 |
| CN107959929A (zh) * | 2017-11-08 | 2018-04-24 | 无线生活(杭州)信息科技有限公司 | 一种切换代理方法及装置 |
| CN108040045A (zh) * | 2017-12-07 | 2018-05-15 | 百度在线网络技术(北京)有限公司 | 访问流量文件的生成方法、装置、服务器及存储介质 |
-
2018
- 2018-08-07 CN CN201810890833.8A patent/CN109150865A/zh active Pending
Patent Citations (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140007192A1 (en) * | 2011-10-11 | 2014-01-02 | Zenprise, Inc. | Providing secure mobile device access to enterprise resources using application tunnels |
| CN103428176A (zh) * | 2012-05-18 | 2013-12-04 | 中国电信股份有限公司 | 移动用户访问移动互联网应用的方法、系统及应用服务器 |
| CN104065624A (zh) * | 2013-03-21 | 2014-09-24 | 北京百度网讯科技有限公司 | 请求消息的安全校验方法、系统和装置 |
| CN103475477A (zh) * | 2013-09-03 | 2013-12-25 | 深圳市共进电子股份有限公司 | 一种安全授权访问的方法 |
| CN104394147A (zh) * | 2014-11-26 | 2015-03-04 | 西安电子科技大学 | 在安卓系统的http协议中添加身份认证信息的方法 |
| CN106470137A (zh) * | 2015-08-21 | 2017-03-01 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及终端 |
| CN106712932A (zh) * | 2016-07-20 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 密钥管理方法、装置及系统 |
| CN106506470A (zh) * | 2016-10-31 | 2017-03-15 | 大唐高鸿信安(浙江)信息科技有限公司 | 网络数据安全传输方法 |
| CN106911684A (zh) * | 2017-02-17 | 2017-06-30 | 武汉斗鱼网络科技有限公司 | 一种鉴权方法及系统 |
| CN107959929A (zh) * | 2017-11-08 | 2018-04-24 | 无线生活(杭州)信息科技有限公司 | 一种切换代理方法及装置 |
| CN107733933A (zh) * | 2017-11-30 | 2018-02-23 | 中国电力科学研究院有限公司 | 一种基于生物识别技术的双因子身份认证的方法及系统 |
| CN108040045A (zh) * | 2017-12-07 | 2018-05-15 | 百度在线网络技术(北京)有限公司 | 访问流量文件的生成方法、装置、服务器及存储介质 |
| CN107911398A (zh) * | 2018-01-04 | 2018-04-13 | 世纪龙信息网络有限责任公司 | 身份信息的认证方法、装置以及系统 |
Non-Patent Citations (3)
| Title |
|---|
| 冯光升等: "《无线网络安全及实践》", 31 December 2017 * |
| 刘桂江等: "《计算机网络》", 30 June 2008 * |
| 岳倩: "移动互联网APP应用安全评估模型", 《沈阳航空航天大学学报》 * |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109981665A (zh) * | 2019-04-01 | 2019-07-05 | 北京纬百科技有限公司 | 资源提供方法及装置、资源访问方法及装置和系统 |
| CN109981665B (zh) * | 2019-04-01 | 2020-05-26 | 北京纬百科技有限公司 | 资源提供方法及装置、资源访问方法及装置和系统 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Sookhak et al. | Security and privacy of smart cities: a survey, research issues and challenges | |
| Springall et al. | Security analysis of the Estonian internet voting system | |
| CN115039376B (zh) | 终端设备信息传输方法、设备指纹生成方法及相关产品 | |
| CN109525400A (zh) | 安全处理方法、系统和电子设备 | |
| CN109194625A (zh) | 一种基于云端服务器的客户端应用保护方法、装置及存储介质 | |
| US11349660B2 (en) | Secure self-identification of a device | |
| CN109729523A (zh) | 一种终端联网认证的方法和装置 | |
| CN105447715A (zh) | 用于与第三方合作的防盗刷电子优惠券的方法和装置 | |
| CN109255210A (zh) | 在区块链网络中提供智能合约的方法、装置及存储介质 | |
| CN106850638B (zh) | 一种车载设备访问控制方法及系统 | |
| CN104837159B (zh) | Android平台OAuth协议误用安全检测方法 | |
| CN105681340A (zh) | 一种数字证书的使用方法及装置 | |
| CN110365928A (zh) | 一种基于区块链的驾考录像存储方法、装置及系统 | |
| CN107948973A (zh) | 一种应用于安全风险控制的ios系统的设备指纹生成方法 | |
| JP5781678B1 (ja) | 電子データ利用システム、携帯端末装置、及び電子データ利用システムにおける方法 | |
| CN108667801A (zh) | 一种物联网接入身份安全认证方法及系统 | |
| CN105743651B (zh) | 芯片安全域的卡应用使用方法、装置和应用终端 | |
| CN109740319A (zh) | 数字身份验证方法及服务器 | |
| CN109150865A (zh) | 一种移动终端app通讯协议的保护、装置及存储介质 | |
| CN106375327B (zh) | 一种抗恶意攻击的代理密钥混淆电子投票系统及方法 | |
| Klaus et al. | Challenges and solutions for industry-grade secure connectivity | |
| CN106027256A (zh) | 一种身份证读卡响应系统 | |
| Talib et al. | Towards new data access control technique based on multi agent system architecture for cloud computing | |
| CN108234508A (zh) | 移动便携安全模式信息终端获取系统及其方法 | |
| CN105743883B (zh) | 一种网络应用的身份属性获取方法及装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| RJ01 | Rejection of invention patent application after publication | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190104 |