CN107911335A - 校验统一资源标识符uri的方法、装置和*** - Google Patents

校验统一资源标识符uri的方法、装置和*** Download PDF

Info

Publication number
CN107911335A
CN107911335A CN201710883109.8A CN201710883109A CN107911335A CN 107911335 A CN107911335 A CN 107911335A CN 201710883109 A CN201710883109 A CN 201710883109A CN 107911335 A CN107911335 A CN 107911335A
Authority
CN
China
Prior art keywords
uri
verified
item
terminal
interception
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.)
Granted
Application number
CN201710883109.8A
Other languages
English (en)
Other versions
CN107911335B (zh
Inventor
徐萌阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuba Co Ltd
Original Assignee
Wuba Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuba Co Ltd filed Critical Wuba Co Ltd
Priority to CN201710883109.8A priority Critical patent/CN107911335B/zh
Publication of CN107911335A publication Critical patent/CN107911335A/zh
Application granted granted Critical
Publication of CN107911335B publication Critical patent/CN107911335B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了一种校验统一资源标识符URI的方法、装置和***。本发明提供的校验URI的方法包括:获取目标应用程序调用第三方应用程序加载目标文件时,向第三方应用程序的接口中传送的待验证URI;待验证URI包第一验证信息;将待验证URI中的访问资源的命名机制项、主机名称项、路径项各自对应的信息按照与终端对应的预设规则,生成第二验证信息;若第二验证信息和第一验证信息一致,则得到待验证的URI验证通过的结果。本发明提供的校验URI的方法、装置和***,降低了终端性能的消耗且获取的校验结果可靠,同时避免了一个终端上目标应用程序的校验方法被破解后,其它终端上的目标应用程序也无法正常运行的现象的发生。

Description

校验统一资源标识符URI的方法、装置和***
技术领域
本发明涉及通信工程技术,尤其涉及一种校验统一资源标识符URI的方法、装置和***。
背景技术
由于应用程序(Application,简称APP)的代码运行在脱离服务器监管的终端本地,若某一应用程序需要调用第三方应用程序加载某一目标文件,需要将该目标文件的URI传送至第三方应用程序的接口,以使第三方应用程序根据该URI获取目标文件并加载该目标文件。但是在将目标文件的URI传送至第三方应用程序的接口的过程中,目标文件的URI会被恶意拦截并篡改,使得应用程序的运行结果不符合预期,甚至会出现应用程序崩溃或用户信息被篡改的现象。因此,在将目标文件的URI传送至第三方应用程序的接口的过程中获取正在传送的URI,校验其合法性具有重要的意义。
现有技术中,校验URI的方案为终端将获取的正在传送的URI上传至服务器,由服务器校验该URI的合法性。但是该方案由于需要将获取的正在传送的URI上传至服务器,并接收服务器返回的校验结果,增加了手机性能的消耗。而且服务器返回的校验结果也容易被恶意拦截或篡改,从而使得终端接收不到校验结果或者接收到错误的校验结果,影响了用户的使用体验。
发明内容
本发明提供一种校验统一资源标识符URI的方法、装置和***,以克服现有技术中校验URI手机性能的消耗较大以及校验结果不可靠的技术问题。
第一方面,本实施例提供一种校验统一资源标识符URI的方法,应用于终端,包括:
获取目标应用程序调用第三方应用程序加载目标文件时,向所述第三方应用程序的接口中传送的待验证URI;所述待验证URI包括访问资源的命名机制项、主机名称项、路径项和第一验证信息项;
将所述待验证URI中的访问资源的命名机制项、主机名称项、路径项各自对应的信息按照与所述终端对应的预设规则,生成第二验证信息;
判断所述第二验证信息和所述第一验证信息项对应的第一验证信息是否一致,若是,则得到所述待验证URI验证通过的结果。
如上所述的方法,所述将所述待验证URI中的访问资源的命名机制项、主机名称项、路径项各自包括的信息按照与该终端对应的预设规则,生成第二验证信息,包括:
分别采用MD5算法对所述待验证URI中的访问资源的命名机制项、主机名称项、路径项各自对应的信息进行加密,得到各项各自对应的MD5值;
对于每一项对应的MD5值,根据与MD5值对应的截取数字,提取MD5值中与所述截取数字相对应的至少两个位置处的字符,得到预取字符串,所述截取数字用于指示提取的字符在MD5值中的位置,所述截取数字是服务器根据所述终端的国际设备识别码IMEI下发的;
将各所述预取字符串组合,得到第二验证信息。
如上所述的方法,在所述获取目标应用程序调用第三方应用程序加载目标文件时,向所述第三方应用程序的接口中传送的待验证URI之前,所述方法还包括:
在从服务器获取所述目标应用程序的安装包后,发送国际设备识别码IMEI至所述服务器;
接收服务器根据所述IMEI返回的包括所述待验证URI的各项各自对应的截取数字的截取数字集。
如上所述的方法,在所述获取目标应用程序调用第三方应用程序加载目标文件时,向所述第三方应用程序的接口中传送的待验证URI之前,所述方法还包括:
生成所述目标文件的原始URI,所述原始URI包括访问资源的命名机制项、主机名称项、路径项;
将所述原始URI中的访问资源的命名机制项、主机名称项、路径项各自对应的信息按照所述预设规则生成第三验证信息;
将所述原始URI中的访问资源的命名机制项、主机名称项、路径项和所述第三验证信息组合,得到待传送URI;
其中,若所述待验证URI通过验证,则所述待验证URI与所述待传送URI相同。
第二方面,本发明还提供一种校验统一资源标识符URI的方法,应用于服务器,包括:
获取目标应用程序的源代码和与所述目标应用程序对应的URI校验代码;
采用面向切面编程AOP将所述URI校验代码编织到软件开发工具包SDK中,得到的处理后的SDK;
根据所述目标应用程序的源代码、所述处理后的SDK得到目标应用程序的安装包,以使终端根据与安装包中的URI校验代码且与终端对应的预设规则验证获取的待验证URI是否合法,所述待验证URI是目标应用程序调用第三方应用程序加载目标文件时,向所述第三方应用程序的接口中传送的URI。
如上所述的方法,所述方法还包括:
接收终端发送的国际设备识别码IMEI;
根据所述IMEI向终端发送所述待验证URI中的访问资源的命名机制项、主机名称项、路径项各自对应的截取数字。
第三方面,本发明还提供一种校验统一资源标识符URI的装置,应用于终端,包括:
获取模块,用于获取目标应用程序调用第三方应用程序加载目标文件时,向所述第三方应用程序的接口中传送的待验证URI;所述待验证URI包括访问资源的命名机制项、主机名称项、路径项和第一验证信息项;
验证信息生成模块,用于将所述待验证URI中的访问资源的命名机制项、主机名称项、路径项各自对应的信息按照与该终端对应的预设规则,生成第二验证信息;
判断模块,用于判断所述第二验证信息和所述第一验证信息项对应的第一验证信息是否一致,若是,则得到所述待验证的URI验证通过的结果。
如上所述的装置,所述验证信息生成模块具体用于:
分别采用MD5算法对所述待验证URI中的访问资源的命名机制项、主机名称项、路径项各自对应的信息进行加密,得到各项各自对应的MD5值;
对于每一项对应的MD5值,根据与MD5值对应的截取数字,提取MD5值中与所述截取数字相对应的位置处的字符,得到预取字符串,所述截取数字用于指示提取的字符在MD5值中的位置,所述截取数字是服务器根据所述终端的国际设备识别码IMEI下发的;
将各所述预取字符串组合,得到第二验证信息。
第四方面,本发明还提供一种校验统一资源标识符URI的装置,应用于服务器,包括:
获取模块,用于获取目标应用程序的源代码和与所述目标应用程序对应的URI校验代码;
编织模块,用于采用面向切面编程AOP将所述URI校验代码编织到软件开发工具包SDK中,得到的处理后的SDK;
安装包生成模块,用于根据所述目标应用程序的源代码、所述处理后的SDK得到目标应用程序的安装包,以使终端根据与安装包中的URI校验代码且与终端对应的预设规则验证获取的待验证URI是否合法,所述待验证URI是目标应用程序调用第三方应用程序加载目标文件时,向所述第三方应用程序的接口中传送的URI。
第五方面,本发明还提供一种校验统一资源标识符URI的***,包括:如第三方面所述的装置,以及第四方面所述的装置。
本发明提供的校验统一资源标识符URI的方法,包括:获取目标应用程序调用第三方应用程序加载目标文件时,向第三方应用程序的接口中传送的待验证URI;待验证URI包括访问资源的命名机制项、主机名称项、路径项和第一验证信息项;将待验证URI中的访问资源的命名机制项、主机名称项、路径项各自对应的信息按照与终端对应的预设规则,生成第二验证信息;判断第二验证信息和第一验证信息项包括的第一验证信息是否一致,若是,则得到待验证的URI验证通过的结果。本发明的校验统一资源标识符URI的方法,降低了终端性能的消耗且获取的校验结果可靠,同时避免了一个终端上目标应用程序的校验方法被破解后,其它终端上的目标应用程序也无法正常运行的现象的发生。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种可能的***架构图;
图2为本发明提供的校验统一资源标识符URI的方法实施例一的流程图;
图3为本发明提供的校验统一资源标识符URI的方法实施例二的流程图;
图4为本发明提供的校验统一资源标识符URI的方法实施例三的流程图;
图5为本发明提供的校验统一资源标识符URI的方法实施例四的流程图;
图6为本发明提供的校验统一资源标识符URI的装置实施例一的结构示意图;
图7为本发明提供的校验统一资源标识符URI的装置实施例二的结构示意图
图8为本发明提供的校验统一资源标识符URI的装置实施例三的结构示意图;
图9为本发明提供的校验统一资源标识符URI的装置实施例四的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明提供的一种可能的***架构图;参见图1,本发明的***架构图包括:服务器11和终端12。服务器11上存储有各终端的国际设备识别码IMEI,以及还可存储有各IMEI对应的校验统一资源标识符URI时所采用的截取数字集。
具体地,在目标应用程序安装后,终端12从服务器上获取该终端的IMEI对应的截取数字集。校验URI时,终端12获取目标应用程序调用第三方应用程序加载目标文件时,向第三方应用程序的接口中传送的待验证URI;待验证URI包括访问资源的命名机制项、主机名称项、路径项和第一验证信息项;终端12根据截取数字集和访问资源的命名机制项、主机名称项、路径项生成第二验证信息,若第二验证信息和第一验证信息相同,则得到待验证URI验证通过的结果,将验证通过的待验证URI发送至第三方应用程序的接口以使第三方应用程序加载目标文件。本发明中,在开始校验统一资源标识符URI的过程中没有和服务器的交互,终端的性能消耗低,且校验结果可靠,提升了用户的使用体验。
下面采用具体的实施例对本发明提供的校验URI的方法进行详细的说明。
图2为本发明提供的校验统一资源标识符URI的方法实施例一的流程图,如图2所示,本实施例的方法可以包括:
步骤S201、获取目标应用程序调用第三方应用程序加载目标文件时,向第三方应用程序的接口中传送的待验证URI;待验证URI包括访问资源的命名机制项、主机名称项、路径项和第一验证信息项;
步骤S202、将待验证URI中的访问资源的命名机制项、主机名称项、路径项各自对应的信息按照与终端对应的预设规则,生成第二验证信息;
步骤S203、判断第二验证信息和第一验证信息项对应的第一验证信息是否一致,若是,则得到待验证URI验证通过的结果。
具体地,本实施例中的执行主体可为图1所示的架构图中的终端12。
本实施例中的目标应用程序是指正在运行且需要调用第三方应用程序加载在终端上存储的某一文件的应用程序。显然的,目标应用程序是安装在该终端上的应用程序。本实施例中的目标文件是目标应用程序需要调用第三方应用程序加载的在该终端上存储的文件。
比如,目标应用程序为“滴滴快车”,当乘客乘坐“滴滴快车”的行程结束后,会向用户显示付款的页面,该付款的页面对应的文件即为目标文件,若用户选择的付款方式为“微信支付”,则“微信”即为第三方应用程序。乘客付款时,“滴滴快车”应用程序会调用第三方应用程序“微信”加载付款的页面对应的文件以完成付款。“滴滴快车”应用程序调用第三方应用程序“微信”加载付款的页面对应的文件时,需向第三方应用程序“微信”的接口发送该文件的URI,以使第三方应用程序通过URI找到该文件并加载该文件,加载完成后,付款操作就完成了。其中,URI一般包括访问资源的命名机制项、主机名称项和路径项,比如如下的URI:files://app.58.com/data/user/0/com.wuba/files/rn/7/7_103.bundle,其中,files为的访问资源的命名机制项对应的信息,也就是说该访问资源为一文件,app.58.com为主机名称项对应的信息,也就是存放访问资源的主机名称,data/user/0/com.wuba/files/rn/7/7_103.bundle为路径项对应的信息,也就是访问资源的名称。web上的可用的每种资源(文档、图像、视频等)都可通过URI来定位。
因此,若第三方应用程序“微信”的接口发送的URI是一个非法的URI,比如为作弊者骗钱的页面对应的文件的URI,当第三方应用程序“微信”根据该非法的URI加载文件时,乘客的钱便被作弊者骗走了。因此,此时获取向第三方应用程序的接口发送的URI,验证其合法性,具有重要的意义。
下面对本实施例中的校验URI的具体流程进行详细的说明。
对于步骤S101,终端获取目标应用程序调用第三方应用程序加载终端上存储的目标文件时,向第三方应用程序的接口中传送的待验证URI;待验证URI包括访问资源的命名机制项、主机名称项、路径项和第一验证信息项。
此时,终端获取的待验证URI为正在向第三方应用程序的接口中传送的URI。待验证URI中除了包括访问资源的命名机制项、主机名称项和路径项,还包括第一验证信息项,第一验证信息项中包括第一验证信息。
对于步骤S202~步骤S203、将待验证URI中的访问资源的命名机制项、主机名称项、路径项各自对应的信息按照与终端对应的预设规则,生成第二验证信息;在得到第二验证信息后,判断第二验证信息和第一验证信息项对应的第一验证信息是否一致,若是,则得到待验证URI验证通过的结果。若第二验证信息和第一验证信息不一致,则说明待验证URI为非法URI,此时,应及时停止向第三方应用程序的接口传送该待验证URI。
也就是说,对于不同的终端而言,预设规则是不相同的。这样做的好处是:即使在A终端上安装的与目标应用程序对应的A代码(包括源代码和校验代码)被反编译了,作弊者知晓目标应用程序与校验代码对应的预设规则,也就是校验方法,从而作弊者可以使得非法的URI也验证通过;但是由于B终端上生成第二验证信息的预设规则与A终端上生成第二验证信息的预设规则不相同,即在B终端上安装的该目标应用程序对应校验方法与A终端上安装的该目标应用程序对应的校验方法不相同,作弊者也只能将作弊范围锁定在A终端上安装的该目标应用程序,B终端上的安装的该目标应用程序仍可以正常的运行。
此外,本领域技术人员可以理解的是,第二验证信息的生成方法是和待验证URI中的第一验证信息的生成方法相同的。
本实施例中,校验URI的过程由终端来完成,无需服务器和终端的交互,降低了终端性能的消耗且获取的校验结果可靠。而且每个终端对应的生成第二验证信息的预设规则不同,避免了一个终端上目标应用程序的校验方法被破解后,其它终端上的目标应用程序也无法正常运行的现象的发生。
本实施例中的校验统一资源标识符URI的方法,包括:获取目标应用程序调用第三方应用程序加载目标文件时,向第三方应用程序的接口中传送的待验证URI;待验证URI包括访问资源的命名机制项、主机名称项、路径项和第一验证信息项;将待验证URI中的访问资源的命名机制项、主机名称项、路径项各自对应的信息按照与终端对应的预设规则,生成第二验证信息;判断第二验证信息和第一验证信息项包括的第一验证信息是否一致,若是,则得到待验证的URI验证通过的结果。本实施例的校验统一资源标识符URI的方法,降低了终端性能的消耗且获取的校验结果可靠,同时避免了一个终端上目标应用程序的校验方法被破解后,其它终端上的目标应用程序也无法正常运行的现象的发生。
下面采用具体的实施例对上一实施例中的第二验证信息的一种可能的生成方法进行详细的说明。
图3为本发明提供的校验统一资源标识符URI的方法实施例二的流程图,如图3所示,本实施例的方法可以包括:
步骤S301、分别采用MD5算法对访问资源的命名机制项、主机名称项、路径项各自对应的信息进行加密,得到各项各自对应的MD5值;
步骤S302、对于每一项对应的MD5值,根据与MD5值对应的截取数字,提取MD5值中与截取数字相对应的至少两个位置处的字符,得到预取字符串,截取数字用于指示提取的字符在MD5值中的位置,截取数字是服务器根据终端的国际设备识别码IMEI下发的;
步骤S303、将各预取字符串组合,得到第二验证信息。
具体地,分别采用MD5算法对访问资源的命名机制项、主机名称项、路径项进行加密,得到各项各自对应的MD5值。
比如,访问资源的命名机制项为files,对“files”采用MD5算法加密后得到的访问资源的命名机制项对应的MD5值为“45B963397AA40D4A0063E0D85E4FE7A1”。
主机名称项为app.58.com,对“app.58.com”采用MD5算法加密后得到的主机名称项对应的MD5值为“D84C625C96FB1EC88D308C38C2CD08BF”。
路径项为data/user/0/com.wuba/files/rn/7/7_103.bundle,“data/user/0/com.wuba/files/rn/7/7_103.bundle”采用MD5算法加密后得到的路径项对应的MD5值为“A4A1B89C63B6DA52DB34E47B0F379DD4”。
对于访问资源的命名机制项对应的第一MD5值“45B963397AA40D4A0063E0D85E4FE7A1”采用与该访问资源的命名机制项对应的第一截取数字,提取第一MD5值中与第一截取数字相对应的位置处的字符。比如第一截取数字为2、6,则将第一MD5值“45B963397AA40D4A0063E0D85E4FE7A1”中的第2位至第6位的字符“5B963”提取出来,得到第一预取字符串。由于访问资源的命名机制项对应的MD5值是与问资源的命名机制项对应的,那么也可以说第一截取数字是与访问资源的命名机制项对应的MD5值相对应的。
对于主机名称项对应的第二MD5值“D84C625C96FB1EC88D308C38C2CD08BF”采用与该主机名称项对应的第二截取数字,提取第二MD5值中与第二截取数字相对应的位置处的字符。比如第二截取数字为8、13,则将第二MD5值“D84C625C96FB1EC88D308C38C2CD08BF”中的第8位至第13位的字符“C96FB1”提取出来,得到第二预取字符串。由于主机名称项对应的MD5值是与主机名称项对应的,那么也可以说第二截取数字是与主机名称项对应的MD5值相对应的。
对于路径项对应的第三MD5值“A4A1B89C63B6DA52DB34E47B0F379DD4”采用与该路径项对应的第三截取数字,提取第三MD5值中与第三截取数字相对应的位置处的字符。比如第三截取数字为18、20,则将第三MD5值“A4A1B89C63B6DA52DB34E47B0F379DD4”中的第18位至第20位的字符“B34”提取出来,得到第三预取字符串。由于路径项对应的MD5值是与路径项对应的,那么也可以说第三截取数字是与路径项对应的MD5值相对应的。
将第一预取字符串、第二预取字符串和第三预取字符串组合得到第二验证信息,比如第一预取字符串、第二预取字符串和第三预取字符串组合后为:“5B963C96FB1B34”,第二验证信息便为“5B963C96FB1B34”。
其中,各项各自对应的截取数字是服务器根据终端的国际识别码发送至终端的,具体为:终端在从服务器获取目标应用程序的安装包后,发送国际设备识别码IMEI至服务器;服务器接收终端发送的国际设备识别码IMEI,获取与IMEI对应的截取数字集,截取数字集中包括待验证URI中的访问资源的命名机制项、主机名称项、路径项各自对应的截取数字;服务器将截取数字集发送至终端,终端接收包括待验证URI中的访问资源的命名机制项、主机名称项、路径项和各自对应的截取数字的截取数字集。
也就是说,对于不同的IMEI:访问资源的命名机制项、主机名称项、路径项各自对应的截取数字是不同的。比如A终端的IMEI为第一IMEI,服务器接收到A终端发送的第一IMEI后,将与第一IMEI对应的截取数字集a、b、c、d、e、f发送至A终端,其中,a、b可为访问资源的命名机制项对应的截取数字,c、d可为主机名称项对应的截取数字,e、f可为路径项对应的截取数字;B终端的IMEI为第二IMEI,服务器接收到B终端发送的第二IMEI后,将与第二IMEI对应的截取数字集h、i、j、k、l、m发送至B终端,其中,h、i可为访问资源的命名机制项对应的截取数字,j、k可为主机名称项对应的截取数字,l、m可为路径项对应的截取数字。其中,每个终端的IMEI对应的截取数字集可为事先设定好的,存储在服务器中,也可为服务器接收到IMEI后随机生成的,由于MD5值为32位,因此截取数字集中每个数字均不大于32。
本领域技术人员应当明白,上一实施例中的预设规则即为本实施例中的MD5算法以及与终端对应的截取规则,各终端对应的截取规则的不同,决定了各终端对应的预设规则的不同。
本实施例中,通过MD5算法以及与终端对应的截取规则得到第二验证信息,减少了作弊者破解目标应用程序的机率,避免了一个终端上目标应用程序的校验方法被破解后,其它终端上的目标应用程序也无法正常运行的现象的发生。
既然目标应用程序调用第三方应用程序加载目标文件时,需向第三方应用程序的接口中传送URI,因此,本发明提供的校验统一资源标识符URI的方法还包括生成目标文件的待传送URI的过程。下面对生成目标文件的待传送URI的过程进行详细的说明。
图4为本发明提供的校验统一资源标识符URI的方法实施例三的流程图,如图4所示,本实施例的方法可以包括:
步骤S401、生成目标文件的原始URI,原始URI包括访问资源的命名机制项、主机名称项、路径项;
步骤S402、将原始URI中的访问资源的命名机制项、主机名称项、路径项各自对应的信息按照预设规则生成第三验证信息;
步骤S403、将原始URI中的访问资源的命名机制项、主机名称项、路径项和第三验证信息组合,得到待传送URI。
具体地,本实施例中生成的待传送URI在传送至第三方应用程序的接口的过程中,若没有被篡改,则待传送URI即为待验证URI,待传送URI中的第三验证信息和待验证URI中的第一验证信息相同。
对于步骤S401、生成目标文件的原始URI,原始URI包括访问资源的命名机制项、主机名称项、路径项。具体生成方法参见现有技术中的生成方法,本实施例中不再赘述。
对于步骤S402、将原始URI中的访问资源的命名机制项、主机名称项、路径项各自对应的信息按照预设规则生成第三验证信息。也就是生成第二验证信息的方法和生成第三验证信息的方法相同。也就是说,若待传送URI在传送至第三方应用程序的接口的过程中没有被篡改,采用与生成待传送URI中的第三验证信息相同的方法进行校验待校验URI生成第二验证信息,两次生成的验证信息必然是相同的,这也是本发明进行校验的原理。
将原始URI中的访问资源的命名机制项、主机名称项、路径项各自对应的信息按照预设规则生成第三验证信息,具体包括:分别采用MD5算法对原始URI中的访问资源的命名机制项、主机名称项、路径项各自对应的信息进行加密,得到各项各自对应的MD5值;对于原始URI中的每一项对应的MD5值,根据与MD5值对应的截取数字,提取MD5值中与截取数字相对应的至少两个位置处的字符,得到预取字符串,截取数字用于指示提取的字符在MD5值中的位置,截取数字是服务器根据终端的国际设备识别码IMEI下发的;将各预取字符串组合,得到第三验证信息。其中,对于同一个目标应用程序的一次验证过程而言,原始URI中各项对应的截取数字与校验待验证URI时待验证URI中各项对应的截取数字是相同的。
对于步骤S403、将原始URI中的访问资源的命名机制项、主机名称项、路径项和第三验证信息组合,得到待传送URI;即得到带有验证信息的待传送URI。
由于MD5加密算法的特性,待传送URI中的访问资源的命名机制项、主机名称项、路径项中的任意一项被篡改,会使得采用预设规则得到的第二验证信息与原始生成的待传送URI中的第三验证信息有很大的差异。
因此,若待传送URI在传送过程中被篡改,且作弊者没有破译目标应用程序相关的代码(包括校验方法),则很难使得篡改后的待验证URI中的第一验证信息与终端根据预设规则校验得到的第二验证信息相同,也就是很难得到待验证URI验证通过的结果。
另外,截取数字集的组合高达122023939种,因此,目标应用程序相关的代码被破解的概率很低。
本领域技术人员可以理解是,在当前校验过程完成后,终端还可以重复执行向服务器发送国际设备识别码IMEI的过程,以使服务器重新根据国际识别码随机生成截取数字集,那么同一个终端下次生成目标文件的待传送URI和验证待验证URI时所采用的截取数字集与当前生成目标文件的待传送URI和验证待验证URI时所采用的截取数字集是不一样的。此时实施例一中的步骤“将待验证URI中的访问资源的命名机制项、主机名称项、路径项各自对应的信息按照与该终端对应的预设规则,生成第二验证信息”具体为“将待验证URI中的访问资源的命名机制项、主机名称项、路径项各自对应的信息按照与该终端进行的当前校验过程对应的预设规则,生成第二验证信息”。该种方案进一步的增加了作弊者破译目标应用程序相关的代码的难度。
本实施例中,通过MD5算法以及与终端对应的截取规则得到待传送URI中的验证息,减少了作弊者破解目标应用程序的机率,避免了一个终端上目标应用程序的校验方法被破解后,其它终端上的目标应用程序也无法正常运行的现象的发生。
下面对上述各实施例中目标应用程序的安装包的生成方法进行说明,下一实施例中的执行主体可为图1中所示的服务器。
图5为本发明提供的校验统一资源标识符URI的方法实施例四的流程图,如图5所示,本实施例的方法可以包括:
步骤S501、获取目标应用程序的源代码和与目标应用程序对应的URI校验代码;
步骤S502、采用面向切面编程AOP将URI校验代码编织到软件开发工具包SDK中后得到的处理后的SDK;
步骤S503、根据目标应用程序的源代码、处理后的SDK得到目标应用程序的安装包,以使终端根据与安装包中的URI校验代码且与终端对应的预设规则验证获取的待验证URI是否合法,待验证URI是目标应用程序调用第三方应用程序加载目标文件时,向第三方应用程序的接口中传送的URI。
具体地,获取目标应用程序的安装包时首先获取目标应用程序的源代码和与目标应用程序对应的URI校验代码,接着采用面向切面编程AOP将URI校验代码编织到软件开发工具包SDK中后得到的处理后的SDK。
其中,SDK是由第三方应用程序提供的,SDK中包括目标应用程序所可调用的第三方应用程序的接口相关参数,以使目标应用程序可向第三方应用程序的接口传送URI。
本实施例中采用面向切面编程AOP将URI校验代码编织到软件开发工具包SDK中,使得URI校验代码与第三方应用程序的代码完全解耦,用户可灵活的更改URI校验代码。
图6为本发明提供的校验统一资源标识符URI的装置实施例一的结构示意图,如图6所示,本实施例的装置可以包括:获取模块61、验证信息生成模块62和判断模块63。
其中,获取模块61,用于获取目标应用程序调用第三方应用程序加载目标文件时,向第三方应用程序的接口中传送的待验证URI;待验证URI包括访问资源的命名机制项、主机名称项、路径项和第一验证信息项;验证信息生成模块62,用于将待验证URI中的访问资源的命名机制项、主机名称项、路径项各自对应的信息按照与该终端对应的预设规则,生成第二验证信息;判断模块63,用于判断第二验证信息和第一验证信息项对应的第一验证信息是否一致,若是,则得到待验证URI验证通过的结果。
其中,验证信息生成模块62具体用于:分别采用MD5算法对待验证URI中的访问资源的命名机制项、主机名称项、路径项各自对应的信息进行加密,得到各项各自对应的MD5值;对于每一项对应的MD5值,根据与MD5值对应的截取数字,提取MD5值中与截取数字相对应的至少两个位置处的字符,得到预取字符串,截取数字用于指示提取的字符在MD5值中的位置,截取数字是服务器根据终端的国际设备识别码IMEI下发的;将各预取字符串组合,得到第二验证信息。
验证信息生成模块62还具体用于:在获取目标应用程序调用第三方应用程序加载目标文件时,向第三方应用程序的接口中传送的待验证URI之前,生成目标文件的原始URI,原始URI包括访问资源的命名机制项、主机名称项、路径项;将原始URI中的访问资源的命名机制项、主机名称项、路径项各自对应的信息按照预设规则生成第三验证信息;将原始URI中的访问资源的命名机制项、主机名称项、路径项和第三验证信息组合,得到待传送URI;其中,若待验证URI通过验证,则待验证URI与待传送URI相同。
本实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图7为本发明校验统一资源标识符URI的装置实施例二的结构示意图,如图7所示,本实施例的装置在图6所示装置结构的基础上,进一步地,还可以包括:发送模块64和接收模块65。
该发送模块13用于在从服务器获取目标应用程序的安装包后,发送国际设备识别码IMEI至服务器;接收模块65用于接收服务器根据IMEI返回的包括待验证URI的各项各自对应的截取数字的截取数字集。
本实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本发明提供的校验统一资源标识符URI的装置实施例三的结构示意图,如图8所示,本实施例的装置可以包括获取模块81、编织模块82和安装包生成模块83。
获取模块81,用于获取目标应用程序的源代码和与目标应用程序对应的URI校验代码;编织模块82,用于采用面向切面编程AOP将URI校验代码编织到软件开发工具包SDK中,得到的处理后的SDK;安装包生成模块83,用于根据目标应用程序的源代码、处理后的SDK得到目标应用程序的安装包,以使终端根据与安装包中的URI校验代码且与终端对应的预设规则验证获取的待验证URI是否合法,待验证URI是目标应用程序调用第三方应用程序加载目标文件时,向第三方应用程序的接口中传送的URI。
图9为本发明校验统一资源标识符URI的装置实施例三的结构示意图,如图9所示,本实施例的装置在图8所示装置结构的基础上,进一步地,还可以包括:接收模块84和发送模块85。接收模块84,用于接收终端发送的国际设备识别码IMEI;获取模81还用于获取与IMEI对应的截取数字集,截取数字集中包括待验证URI中的访问资源的命名机制项、主机名称项、路径项各自对应的截取数字;发送模块85将截取数字集发送至终端。
本实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本发明还提供一种校验统一资源标识符URI的***,本实施例的***包括:第一装置和第二装置,其中,第一装置可以采用图6~图7任一装置实施例的结构,第二装置可以采用图8~图9任一装置实施例的结构。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种校验统一资源标识符URI的方法,应用于终端,其特征在于,包括:
获取目标应用程序调用第三方应用程序加载目标文件时,向所述第三方应用程序的接口中传送的待验证URI;所述待验证URI包括访问资源的命名机制项、主机名称项、路径项和第一验证信息项;
将所述待验证URI中的访问资源的命名机制项、主机名称项、路径项各自对应的信息按照与所述终端对应的预设规则,生成第二验证信息;
判断所述第二验证信息和所述第一验证信息项对应的第一验证信息是否一致,若是,则得到所述待验证URI验证通过的结果。
2.根据权利要求1所述的方法,其特征在于,所述将所述待验证URI中的访问资源的命名机制项、主机名称项、路径项各自对应的信息按照与所述终端对应的预设规则,生成第二验证信息,包括:
分别采用MD5算法对所述待验证URI中的访问资源的命名机制项、主机名称项、路径项各自对应的信息进行加密,得到各项各自对应的MD5值;
对于每一项对应的MD5值,根据与MD5值对应的截取数字,提取MD5值中与所述截取数字相对应的至少两个位置处的字符,得到预取字符串,所述截取数字用于指示提取的字符在MD5值中的位置,所述截取数字是服务器根据所述终端的国际设备识别码IMEI下发的;
将各所述预取字符串组合,得到第二验证信息。
3.根据权利要求2所述的方法,其特征在于,在所述获取目标应用程序调用第三方应用程序加载目标文件时,向所述第三方应用程序的接口中传送的待验证URI之前,所述方法还包括:
在从服务器获取所述目标应用程序的安装包后,发送国际设备识别码IMEI至所述服务器;
接收服务器根据所述IMEI返回的包括所述待验证URI的各项各自对应的截取数字的截取数字集。
4.根据权利要求3所述的方法,其特征在于,在所述获取目标应用程序调用第三方应用程序加载目标文件时,向所述第三方应用程序的接口中传送的待验证URI之前,所述方法还包括:
生成所述目标文件的原始URI,所述原始URI包括访问资源的命名机制项、主机名称项、路径项;
将所述原始URI中的访问资源的命名机制项、主机名称项、路径项各自对应的信息按照所述预设规则生成第三验证信息;
将所述原始URI中的访问资源的命名机制项、主机名称项、路径项和所述第三验证信息组合,得到待传送URI;
其中,若所述待验证URI通过验证,则所述待验证URI与所述待传送URI相同。
5.一种校验统一资源标识符URI的方法,应用于服务器,其特征在于,包括:
获取目标应用程序的源代码和与所述目标应用程序对应的URI校验代码;
采用面向切面编程AOP将所述URI校验代码编织到软件开发工具包SDK中,得到的处理后的SDK;
根据所述目标应用程序的源代码、所述处理后的SDK得到目标应用程序的安装包,以使终端根据与安装包中的URI校验代码且与终端对应的预设规则验证获取的待验证URI是否合法,所述待验证URI是目标应用程序调用第三方应用程序加载目标文件时,向所述第三方应用程序的接口中传送的URI。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收终端发送的国际设备识别码IMEI;
获取与所述IMEI对应的截取数字集,所述截取数字集中包括所述待验证URI中的访问资源的命名机制项、主机名称项、路径项各自对应的截取数字;
将所述截取数字集发送至所述终端。
7.一种校验统一资源标识符URI的装置,应用于终端,其特征在于,包括:
获取模块,用于获取目标应用程序调用第三方应用程序加载目标文件时,向所述第三方应用程序的接口中传送的待验证URI;所述待验证URI包括访问资源的命名机制项、主机名称项、路径项和第一验证信息项;
验证信息生成模块,用于将所述待验证URI中的访问资源的命名机制项、主机名称项、路径项各自对应的信息按照与所述终端对应的预设规则,生成第二验证信息;
判断模块,用于判断所述第二验证信息和所述第一验证信息项对应的第一验证信息是否一致,若是,则得到所述待验证URI验证通过的结果。
8.根据权利要求7所述的装置,其特征在于,所述验证信息生成模块具体用于:
分别采用MD5算法对所述待验证URI中的访问资源的命名机制项、主机名称项、路径项各自对应的信息进行加密,得到各项各自对应的MD5值;
对于每一项对应的MD5值,根据与MD5值对应的截取数字,提取MD5值中与所述截取数字相对应的至少两个位置处的字符,得到预取字符串,所述截取数字用于指示提取的字符在MD5值中的位置,所述截取数字是服务器根据所述终端的国际设备识别码IMEI下发的;
将各所述预取字符串组合,得到第二验证信息。
9.一种校验统一资源标识符URI的装置,应用于服务器,其特征在于,包括:
获取模块,用于获取目标应用程序的源代码和与所述目标应用程序对应的URI校验代码;
编织模块,用于采用面向切面编程AOP将所述URI校验代码编织到软件开发工具包SDK中,得到的处理后的SDK;
安装包生成模块,用于根据所述目标应用程序的源代码、所述处理后的SDK得到目标应用程序的安装包,以使终端根据与安装包中的URI校验代码且与终端对应的预设规则验证获取的待验证URI是否合法,所述待验证URI是目标应用程序调用第三方应用程序加载目标文件时,向所述第三方应用程序的接口中传送的URI。
10.一种校验统一资源标识符URI的***,其特征在于,包括:如权利要求7或8所述的装置,以及权利要求9所述的装置。
CN201710883109.8A 2017-09-26 2017-09-26 校验统一资源标识符uri的方法、装置和*** Active CN107911335B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710883109.8A CN107911335B (zh) 2017-09-26 2017-09-26 校验统一资源标识符uri的方法、装置和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710883109.8A CN107911335B (zh) 2017-09-26 2017-09-26 校验统一资源标识符uri的方法、装置和***

Publications (2)

Publication Number Publication Date
CN107911335A true CN107911335A (zh) 2018-04-13
CN107911335B CN107911335B (zh) 2021-02-09

Family

ID=61841015

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710883109.8A Active CN107911335B (zh) 2017-09-26 2017-09-26 校验统一资源标识符uri的方法、装置和***

Country Status (1)

Country Link
CN (1) CN107911335B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109635550A (zh) * 2018-12-12 2019-04-16 苏州思必驰信息科技有限公司 集群数据的权限校验方法、网关及***
CN110310648A (zh) * 2019-05-21 2019-10-08 深圳壹账通智能科技有限公司 移动终端的控制方法、装置、移动终端及可读存储介质
CN117472035A (zh) * 2023-12-27 2024-01-30 东方电气风电股份有限公司 一种主控***软件硬件的校验方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060106802A1 (en) * 2004-11-18 2006-05-18 International Business Machines Corporation Stateless methods for resource hiding and access control support based on URI encryption
CN101695164A (zh) * 2009-09-28 2010-04-14 华为技术有限公司 一种控制资源访问的校验方法、装置和***
US20130268773A1 (en) * 2011-09-07 2013-10-10 Elwha Llc Computational systems and methods for preparing data for double-encryption and anonymous storage
CN103701946A (zh) * 2013-12-20 2014-04-02 珠海金山网络游戏科技有限公司 一种客户端通过url与服务器通讯的方法及***
CN104717177A (zh) * 2013-12-11 2015-06-17 ***通信集团公司 一种移动应用安全管控方法和设备
CN106020858A (zh) * 2016-04-29 2016-10-12 乐视控股(北京)有限公司 一种应用程序的下载安装方法、终端和***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060106802A1 (en) * 2004-11-18 2006-05-18 International Business Machines Corporation Stateless methods for resource hiding and access control support based on URI encryption
CN101695164A (zh) * 2009-09-28 2010-04-14 华为技术有限公司 一种控制资源访问的校验方法、装置和***
US20130268773A1 (en) * 2011-09-07 2013-10-10 Elwha Llc Computational systems and methods for preparing data for double-encryption and anonymous storage
CN104717177A (zh) * 2013-12-11 2015-06-17 ***通信集团公司 一种移动应用安全管控方法和设备
CN103701946A (zh) * 2013-12-20 2014-04-02 珠海金山网络游戏科技有限公司 一种客户端通过url与服务器通讯的方法及***
CN106020858A (zh) * 2016-04-29 2016-10-12 乐视控股(北京)有限公司 一种应用程序的下载安装方法、终端和***

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109635550A (zh) * 2018-12-12 2019-04-16 苏州思必驰信息科技有限公司 集群数据的权限校验方法、网关及***
CN109635550B (zh) * 2018-12-12 2021-08-17 苏州思必驰信息科技有限公司 集群数据的权限校验方法、网关及***
CN110310648A (zh) * 2019-05-21 2019-10-08 深圳壹账通智能科技有限公司 移动终端的控制方法、装置、移动终端及可读存储介质
CN117472035A (zh) * 2023-12-27 2024-01-30 东方电气风电股份有限公司 一种主控***软件硬件的校验方法
CN117472035B (zh) * 2023-12-27 2024-03-08 东方电气风电股份有限公司 一种主控***软件硬件的校验方法

Also Published As

Publication number Publication date
CN107911335B (zh) 2021-02-09

Similar Documents

Publication Publication Date Title
US11943255B2 (en) Methods and apparatus for detecting a presence of a malicious application
CN104009977B (zh) 一种信息保护的方法和***
CN105512881B (zh) 一种基于二维码完成支付的方法及终端
JP6609047B2 (ja) アプリケーション情報リスクマネジメントのための方法及びデバイス
CN105701423B (zh) 应用于云端支付业务的数据存储方法及装置
CN102760219A (zh) 一种Android平台软件保护***、方法及设备
EA004693B1 (ru) Способ и система защищенной передачи файлов
CN104965712A (zh) 应用程序加固保护方法、装置及移动终端
CN105046482A (zh) 一种移动终端支付的方法、装置以及***
AU2019204321A1 (en) Watermark security
US10897361B1 (en) Automated hash validation
CN104184892A (zh) 基于移动终端智能卡的数据传输方法及移动终端
CN107911335A (zh) 校验统一资源标识符uri的方法、装置和***
CN109842616A (zh) 账号绑定方法、装置及服务器
CN106664535A (zh) 一种信息发送方法、装置、终端设备以及***
CN107908978A (zh) 一种数据处理方法、服务器及***
CN107333151A (zh) 一种视频流地址鉴权方法及装置
CN110599140A (zh) 一种数字货币的验证方法及***
US11057215B1 (en) Automated hash validation
CN106685945A (zh) 业务请求处理方法、业务办理号码的验证方法及其终端
CN109992955A (zh) 非法安装包的检测拦截方法、装置、***、设备及介质
US9354849B2 (en) Modification of compiled applications and application management using retrievable policies
CN103559430B (zh) 基于安卓***的应用账号管理方法和装置
KR101622514B1 (ko) 서버에 대한 웹 요청들의 위조의 방지
CN108763934B (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
GR01 Patent grant
GR01 Patent grant