用于移动应用保护的系统和方法_2

文档序号:8223802阅读:来源:国知局
示出的,可以为新的应用包310生成安全信息以用于安全验证。特别地,签名或者(多个)散列值可以被生成并且存储在新的应用包310中,以用于在运行时间阶段的自校验。
[0023]图5描绘了一个示例图,该示例图示出了应用包的签名校验。如图5中所示出的,加密的代码316内的自校验逻辑代码502被用来在运行时间阶段(例如,在移动设备上)校验新的应用包310的签名。具体地说,自校验逻辑代码502包括与原始签名相关联的信息。调用自校验逻辑代码502 (例如,用于应用302的运行时间进程)来验证新的应用包310的签名。如果自校验逻辑代码502确定新的应用包310的签名不是真实的,则签名校验失败,这指示了新的应用包310被篡改,并且可以采取某些措施作为响应。例如,生成通知以发出警报,和/或终止与应用302相关联的运行时间进程。
[0024]图6描绘了一个示例图,该示例图示出了应用包的散列值校验。如图6所示出的,加密的代码316内的自校验逻辑代码502被用来在运行时间阶段(例如,在移动设备上)校验与新的应用包310的一个或多个文件(例如,代码)有关的一个或多个散列值。具体地说,自校验逻辑代码502包括与一个或多个散列值相关联的信息,该一个或多个散列值与新的应用包310的一个或多个文件(例如,代码)有关。这些散列值借助于通过任何合适的散列函数或散列算法来映射文件(例如,代码)中的数据而生成。例如,对应于应用包310内的不同文件来生成多个散列值。可以为应用包310生成单个散列值。对文件(例如,代码)的数据的任何改变/修改能够通过比较有关的散列值来确定。
[0025]调用自校验逻辑代码502 (例如,用于应用302的运行时间进程)来验证新的应用包310的一个或多个文件(例如,代码)的散列值。如果自校验逻辑代码502确定这些散列值不是真实的,则散列值校验失败,这指示了新的应用包310被篡改,并且可以采取某些措施作为响应。例如,生成通知以发出警报,和/或终止与应用302相关联的运行时间进程。
[0026]图7描绘了用于保护用于移动设备的应用的示例流程图。如图7中所示出的,在702处,接收与应用相关联的可执行代码。在704处,至少部分地基于该可执行代码来生成加密的代码和包装器代码。该加密的代码能够至少部分地基于该包装器代码而被解密。在706处,为移动设备生成包括该加密的代码和该包装器代码的应用包。
[0027]本书面描述使用示例来公开本发明,包括最佳模式,并且还使得本领域的技术人员能够做出并且使用本发明。本发明的可专利范围可以包括本领域的技术人员想到的其他示例。然而,其他的实施方式也可以被使用,诸如被配置为执行本文所描述的方法和系统的固件或者适当设计的硬件。例如,本文所描述的系统和方法可以实施在独立的处理引擎中,作为协处理器,或者作为硬件加速器。在又另一个示例中,本文所描述的系统和方法可以被提供在包括计算机存储机构(例如,CD-ROM、磁盘、RAM、闪存、计算机的硬件驱动器、等等)的许多不同类型的计算机可读介质上,这些计算机存储机构包含指令(例如,软件),这些指令用于由一个或多个处理器执行,以执行方法的操作并且实施本文所描述的系统。
【主权项】
1.一种用于保护用于移动设备的应用的方法,所述方法包括: 接收与应用相关联的可执行代码; 至少部分地基于所述可执行代码来生成加密的代码和包装器代码; 其中所述加密的代码能够至少部分地基于所述包装器代码而被解密;以及 为移动设备生成包括所述加密的代码和所述包装器代码的应用包。
2.根据权利要求1所述的方法,其中所述加密的代码包括用于执行所述应用的功能的基本逻辑代码。
3.根据权利要求1所述的方法,其中所述包装器代码被用来调用基本代码。
4.根据权利要求1所述的方法,其中所述应用包对应于与安卓操作系统相关联的APK文件。
5.根据权利要求1所述的方法,其中所述应用包进一步包括用于加载所述加密的代码的本机库代码。
6.根据权利要求1所述的方法,其中所述加密的代码包括用于所述应用的安全验证的自测试逻辑代码。
7.根据权利要求6所述的方法,其中: 所述应用包进一步包括签名;并且 所述自测试逻辑代码能够验证所述签名。
8.根据权利要求6所述的方法,其中: 所述应用包进一步包括散列值;并且 所述自测试逻辑代码能够验证所述散列值。
9.根据权利要求6所述的方法,其中响应于所述安全验证的失败而生成通知。
10.根据权利要求6所述的方法,其中响应于所述安全验证的失败而终止与所述应用相关联的运行时间进程。
11.一种用于保护用于移动设备的应用的系统,所述系统包括: 加密模块,被配置为接收与应用相关联的可执行代码,并且至少部分地基于所述可执行代码来生成加密的代码和包装器代码; 其中所述加密的代码能够至少部分地基于所述包装器代码而被解密;以及 包生成器,被配置为,为移动设备生成包括所述加密的代码和所述包装器代码的应用包。
12.根据权利要求11所述的系统,其中所述加密的代码包括用于执行所述应用的功能的基本逻辑代码。
13.根据权利要求12所述的系统,其中所述包装器代码被用来调用基本代码。
14.根据权利要求11所述的系统,其中所述应用包对应于与安卓操作系统相关联的APK文件。
15.根据权利要求11所述的系统,其中所述应用包进一步包括用于加载所述加密的代码的本机库代码。
16.根据权利要求11所述的系统,其中所述加密的代码包括用于所述应用的安全验证的自测试逻辑代码。
17.根据权利要求16所述的系统,其中: 所述应用包进一步包括签名;并且 所述自测试逻辑代码能够验证所述签名。
18.根据权利要求16所述的系统,其中: 所述应用包进一步包括文件的散列值;并且 所述自测试逻辑代码能够验证所述散列值。
19.根据权利要求16所述的系统,其中: 当所述安全验证失败时,生成通知或者终止与所述应用相关联的运行时间进程。
20.一种用于保护用于移动设备的应用的系统,所述系统包括: 一个或多个数据处理器;以及 机器可读存储介质,所述机器可读存储介质以指令来编码,所述指令用于命令所述数据处理器来执行操作,所述操作包括: 接收与应用相关联的可执行代码; 至少部分地基于所述可执行代码来生成加密的代码和包装器代码; 其中所述加密的代码能够至少部分地基于所述包装器代码而被解密;以及 为移动设备生成包括所述加密的代码和所述包装器代码的应用包。
【专利摘要】提供了系统和方法以用于移动应用保护。接收与应用相关联的可执行代码。至少部分地基于该可执行代码来生成加密的代码和包装器代码。该加密的代码能够至少部分地基于该包装器代码而被解密。为移动设备生成包括该加密的代码和该包装器代码的应用包。
【IPC分类】G06F21-56, G06F21-12
【公开号】CN104537281
【申请号】CN201410350516
【发明人】蒋鑫, 陈家林, 李良才, 吴淅, 郭佳
【申请人】马维尔国际贸易有限公司
【公开日】2015年4月22日
【申请日】2014年7月17日
【公告号】US20150026483
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1