System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理,特别是涉及一种应用程序认证方法及装置。
技术介绍
1、应用程序认证是指对使用应用程序的用户进行身份认证,通过应用程序认证可以确定用户是否具有应用程序的合法使用权限。例如,对于付费应用程序而言,购买该应用程序的用户为授权用户,具有该应用程序的合法使用权限,未购买该应用程序的用户即未授权用户,不具有该应用程序的合法使用权限。
2、现有技术中,一般采用授权码机制对应用程序进行认证。简言之,若用户输入了正确的授权码,则通过认证,允许用户使用应用程序。
3、然而,授权码易被泄露及传播,未授权用户取得授权码后,即可通过输入授权码使用应用程序,使得应用程序开发方的合法权益被侵害。可见,上述认证方法难以区别真实授权用户和虚假授权用户。
技术实现思路
1、本专利技术实施例的目的在于提供一种应用程序认证方法及装置,以区别真实授权用户和虚假授权用户。具体技术方案如下:
2、第一方面,本专利技术实施例提供了一种应用程序认证方法,上述方法包括:
3、在应用程序启动过程中,加载所述应用程序的程序包内默认的第一类加载器,通过运行所述第一类加载器,解密所述程序包内的第二类加载器,并加载解密后的所述第二类加载器;
4、通过运行所述第二类加载器,解密所述程序包内程序文件中的验证类,并加载解密后的所述验证类,得到所述验证类中记录的公共密钥;
5、通过运行所述验证类中定义的验证方法,以所述公共密钥为解密密钥,对所述程序包内所述
6、采集所述应用程序所在设备的当前设备信息和所述应用程序的运行信息;
7、基于所述授权设备信息、属性信息、当前设备信息以及运行信息,对所述应用程序进行认证。
8、第二方面,本专利技术实施例提供了一种应用程序认证装置,所述装置包括:
9、第一加载与解密模块,用于在应用程序启动过程中,加载所述应用程序的程序包内默认的第一类加载器,通过运行所述第一类加载器,解密所述程序包内的第二类加载器,并加载解密后的所述第二类加载器;
10、第二加载与解密模块,用于通过运行所述第二类加载器,解密所述程序包内程序文件中的验证类,并加载解密后的所述验证类,得到所述验证类中记录的公共密钥;
11、认证信息解密模块,用于通过运行所述验证类中定义的验证装置,以所述公共密钥为解密密钥,对所述程序包内所述应用程序的认证证书中记录的加密认证信息进行解密,得到所述应用程序的授权设备信息和所述应用程序的属性信息;
12、信息采集模块,用于采集所述应用程序所在设备的当前设备信息和所述应用程序的运行信息;
13、认证模块,用于基于所述授权设备信息、属性信息、当前设备信息以及运行信息,对所述应用程序进行认证。
14、第三方面,本专利技术实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
15、存储器,用于存放计算机程序;
16、处理器,用于执行存储器上所存放的程序时,实现第一方面所述的方法步骤。
17、第四方面,本专利技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法步骤。
18、第五方面,本专利技术实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面所述的方法步骤。
19、由以上可见,应用本专利技术实施例提供的方案进行应用程序认证时,通过运行第一类加载器,解密第二类加载器,并加载解密后的第二类加载器;通过运行第二类加载器,解密验证类,并加载解密后的验证类,得到验证类中记录的公共密钥;通过运行验证类中定义的验证方法,以公共密钥为解密密钥,对应用程序的认证证书中记录的加密认证信息进行解密,得到应用程序的授权设备信息和应用程序的属性信息;再采集应用程序所在设备的当前设备信息和应用程序的运行信息,最终基于授权设备信息、属性信息、当前设备信息以及运行信息,成功对应用程序进行认证。
20、其中,一方面,认证证书中记录的信息是采用公共密钥对应私有密钥加密的,上述私有密钥不公开,这样即便未授权用户非法篡改了认证证书中记录的信息,由于其难以获取私有密钥进行加密,因此,后续也难以通过上述公共密钥进行解密,从而导致认证失败,有效增强了认证证书中记录的信息被篡改的难度;第二方面,上述公共密钥本身也是在预先加密的验证类中记录的,这样增大了未授权用户通过反编译的方式获取上述公共密钥的难度,进而降低了未授权用户根据公共密钥解密获取认证证书中记录的信息的几率,进一步保障了认证证书中记录的信息的安全性。可见,由于保障了认证证书中记录的信息的完整性和安全性,因此,后续通过对应用程序所在设备的当前设备信息、应用程序的运行信息与认证证书中记录的信息进行对比,能够准确的根据对比结果确定用户是否为真实授权的用户,也即能够准确的区别真实授权用户和虚假授权用户。
21、当然,实施本专利技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。
本文档来自技高网...【技术保护点】
1.一种应用程序认证方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述第二类加载器的数量大于1;
3.根据权利要求1所述的方法,其特征在于,在所述采集所述应用程序所在设备的当前设备信息和所述应用程序的运行信息之前,还包括:
4.根据权利要求3所述的方法,其特征在于,所述以所述公共密钥为解密密钥,对所述加密认证信息进行解密,得到所述认证证书的篡改校验信息,包括:
5.根据权利要求4所述的方法,其特征在于,所述以所述公共密钥为解密密钥,对所述程序包内所述应用程序的认证证书中记录的加密认证信息进行解密,得到所述应用程序的授权设备信息和所述应用程序的属性信息,包括:
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述应用程序的程序包文件为:对所述应用程序的源代码进行代码混淆后打包得到的文件。
7.根据权利要求1-5中任一项所述的方法,其特征在于,
8.一种应用程序认证装置,其特征在于,所述装置包括:
9.根据权利要求8所述的装置,其特征在于,所述第二类加载
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
11.根据权利要求10所述的装置,其特征在于,
12.根据权利要求11所述的装置,其特征在于,
13.根据权利要求8-12中任一项所述的装置,其特征在于,所述应用程序的程序包文件为:对所述应用程序的源代码进行代码混淆后打包得到的文件。
14.根据权利要求8-12中任一项所述的装置,其特征在于,
15.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7中任一所述的方法步骤。
...【技术特征摘要】
1.一种应用程序认证方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述第二类加载器的数量大于1;
3.根据权利要求1所述的方法,其特征在于,在所述采集所述应用程序所在设备的当前设备信息和所述应用程序的运行信息之前,还包括:
4.根据权利要求3所述的方法,其特征在于,所述以所述公共密钥为解密密钥,对所述加密认证信息进行解密,得到所述认证证书的篡改校验信息,包括:
5.根据权利要求4所述的方法,其特征在于,所述以所述公共密钥为解密密钥,对所述程序包内所述应用程序的认证证书中记录的加密认证信息进行解密,得到所述应用程序的授权设备信息和所述应用程序的属性信息,包括:
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述应用程序的程序包文件为:对所述应用程序的源代码进行代码混淆后打包得到的文件。
7.根据权利要求1-5中任一项所述的方法,其特征在于,
【专利技术属性】
技术研发人员:闫阿宾,肖钢,徐志彬,郭徽,郭娅祥,孙佳林,
申请(专利权)人:中信建投证券股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。