基于Android系统的应用程序加密方法和装置制造方法及图纸

技术编号:15501181 阅读:47 留言:0更新日期:2017-06-03 22:40
本发明专利技术公开了一种基于Android系统的应用程序加密方法和装置。当基于Android的系统开机时,授权服务模块启动,并请求加密驱动模块读取SOC特征信息;加密驱动模块读取SOC模块中的SOC特征信息,并通过AES加密算法和异或加密算法对该信息进行二次加密,然后发送至授权服务模块;授权服务模块利用AES解密算法和异或解密算法对加密信息进行解密,根据解密的信息来判断SOC模块是否被授权,并且存储授权结果,以供应用程序模块查询;当应用程序模块运行时,发送检测授权请求至授权服务模块,授权服务模块将授权结果返回至应用程序模块,应用程序模块根据授权结果确定是否退出运行。本发明专利技术实现了应用程序模块只能运行在授权的硬件平台上,大大提高了应用程序模块的安全性。

Application program encryption method and device based on Android system

The invention discloses an application program encryption method and device based on a Android system. When based on the boot Android system, authorization service module starts, and request encryption driver module reads the SOC feature information; encryption driver module reads the SOC information in the SOC module, and algorithm and XOR encryption algorithm for the two time on the encrypted information through AES encryption, sent to the authorized service module and authorization service module; to decrypt the encrypted information using the AES decryption algorithm and XOR decryption algorithm, according to declassified information to determine whether the SOC module is authorized, and authorized storage results for application module query; when the application module operation, sending the authorization request to authorization service module, authorization service module will authorize the results back to the application module the application module, determine whether the exit operation according to the authorization result. The invention realizes that the application module can only run on the authorized hardware platform, and greatly improves the security of the application module.

【技术实现步骤摘要】
基于Android系统的应用程序加密方法和装置
本专利技术涉及Android系统领域,更具体地,本专利技术涉及一种基于Android系统的应用程序加密方法和装置。
技术介绍
随着智能终端的日益普及、网络宽带化的高速发展,以移动应用与服务不断丰富为标志的移动互联网时代为人们带来了更便捷与智能的数字生活,并逐渐渗透到线下生活的点滴。然而,兼具开放性与灵活性的终端系统及其应用中潜在的信息安全问题却可能对用户、承载网络等各个环节造成影响。随着Android系统使用的广泛性,Android应用程序开发市场日渐火热,而打包党通过破解、反编译应用程序,插入广告或收费代码等不法手段来获取巨额利润。经常可以看到这样一个现象,当Android开发者有一个好的创意,辛苦编写出很好的应用软件发布后,很快Android市场上会出现相仿的产品。由于Android的开放性,再加之业内常用的防止应用程序篡改、反编译的技术很透明,破解者只需简单几个步骤,就可以将一款Android应用程序进行篡改并二次打包变成自己的软件。因此,缺乏对应用程序有效的保护工具和方法。
技术实现思路
本专利技术旨在提供一种基于Andriod系统的应用程序加密方法和装置,为开发者提供一种避免应用程序被盗风险的方案,从而更好地保护开发者的利益,维护移动应用的健康发展。本专利技术的基于Android系统的应用程序加密方法包括以下步骤:当基于Android的系统开机时,授权服务模块启动,并请求加密驱动模块读取SOC特征信息;加密驱动模块读取SOC模块中的SOC特征信息,并且通过AES加密算法和异或加密算法对该SOC特征信息进行二次加密,然后发送至授权服务模块;授权服务模块读取来自加密驱动模块的加密信息,并利用AES解密算法和异或解密算法对加密信息进行解密,根据解密的信息来判断SOC模块是否被授权,并且将授权结果进行存储,以供应用程序模块查询;当应用程序模块运行时,发送检测授权请求至授权服务模块,授权服务模块将授权结果返回至应用程序模块,应用程序模块根据授权结果确定是否退出运行。优选地,异或解密算法的密钥与异或加密算法的密钥是相同的。优选地,AES解密算法的密钥与AES加密算法的密钥是相同的。根据本专利技术的基于Android系统的应用程序加密装置包括:SOC模块,其存储有SOC特征信息;加密驱动模块,其读取SOC模块中的SOC特征信息,并且通过AES加密算法和异或加密算法对该SOC特征信息进行二次加密,然后提供至授权服务模块;授权服务模块,其读取来自加密驱动模块的加密信息,并利用AES解密算法和异或解密算法对加密信息进行解密,根据解密的信息来判断SOC模块是否被授权,并且将授权结果进行存储,以供应用程序模块查询;应用程序模块,其与授权服务模块进行通信,发送检测授权请求至授权服务模块,根据返回的结果确定是否退出应用程序。优选地,所述加密驱动模块包括:读取SOC信息模块,其用于从SOC模块读取区别于其它SOC模块的SOC特征信息;AES加密算法模块,其用于对读取的SOC特征信息进行AES加密;异或加密算法模块,其用于对AES加密算法模块加密后的信息进行二次加密,从而得到加密的SOC特征信息。优选地,所述授权服务模块包括:异或解密算法模块,其用于对从加密驱动模块读取的加密的SOC特征信息进行解密;AES解密算法模块,其用于将异或解密算法模块解密后的信息再次利用AES算法进行解密;应用程序接口模块,其用于定义多个与应用程序模块进行交互的接口。优选地,所述应用程序模块包括:检测模块,其用于与授权服务模块进行通信,发送检测请求至授权服务模块;功能模块,其用于实现应用程序本身的功能,并且调用检测模块进行检测。优选地,所述SOC模块、所述加密驱动模块和所述授权服务模块包括型号为CR800的处理器。本专利技术的基于Android系统的应用程序加密方法和装置的特点:自主开发的应用程序模块从授权服务模块获取相关SOC特征信息并校验处理,保证了应用程序模块的安全性;授权服务模块提供多种检测信息给应用程序模块使用,灵活性高;授权服务模块的SOC特征信息从加密驱动模块读取并解密得到,保密性高;加密驱动模块对SOC特征信息采用了AES加密算法和异或加密算法进行二次加密,安全级别高;从SOC模块获取SOC特征信息,保证了SOC特征信息的唯一性。因此,本专利技术的基于Android系统的应用程序加密方法和装置降低了开发者额外操作的同时,保证了原应用功能可以正常运行;防止了病毒或者恶意应用利用本装置隐藏自身代码,逃避代码检测;提升了应用破解门槛,使得应用能够有效防止逆向工程导致的安全风险;提供了灵活的保护方案组合,兼顾性能指标与用户体验。附图说明通过随后结合附图所呈现的具体描述,本专利技术的以上和其它目的、特征以及优点将会更明显,在这些附图中:图1是根据本专利技术的一个实施例的基于Android系统的应用程序加密装置的结构示意图;图2是根据本专利技术的一个实施例的基于Android系统的应用程序加密装置中的加密驱动模块的结构示意图;图3是根据本专利技术的一个实施例的基于Android系统的应用程序加密装置中的授权服务模块的结构示意图;图4是根据本专利技术的一个实施例的基于Android系统的应用程序加密装置中的应用程序模块的结构示意图;图5是基于根据本专利技术的一个实施例的基于Android系统的应用程序加密装置的工作流程图。具体实施方式下面将参考所附附图对本专利技术的示例性实施例进行详细的描述。根据本专利技术的一个实施例的于Android系统的应用程序加密装置的结构如图1所示,其包括:SOC模块1-1,加密驱动模块1-2,授权服务模块1-3,应用程序模块1-4。SOC(SystemonChip,片上系统)模块是一种高性能微处理器,所述SOC模块包括型号为上海云间半导体科技有限公司研发的一款高性能、高集成度、超低功耗的32位应用处理器芯片CR800。每种SOC模块里面含有区别于其它SOC的特征信息,这个信息作为区分其它硬件平台的关键元素。加密驱动模块是Android系统驱动模块,通过读取SOC处理器的特征信息,经过AES(AdvancedEncryptionStandard,高级加密标准)加密算法和异或加密算法,二次加密后提供给授权服务模块读取。授权服务模块是一个后台运行守护进程的模块,它一方面从加密驱动模块读取加密信息并利用解密算法解密出SOC相关信息;另一方面也作为服务端供应用程序模块查询授权信息使用。应用程序模块是指运行在Android系统上的各种应用,在每个应用的关键代码段中添加检测代码,它作为客户端向授权服务模块请求授权,发送请求方式有多种,应用程序模块每运行到关键地方,都会检测授权信息,如果授权不通过,则应用程序模块直接退出。通过在应用代码中多处添加检测机制,并采用多种请求授权方式,可以增加apk被反编译后分析的难度,保证安全性。根据本专利技术的一个实施例的基于Android系统的应用程序加密装置中的加密驱动模块的结构如图2所示,所述加密驱动模块包括:读取SOC信息模块2-1、AES加密算法模块2-2、异或加密算法模块2-3。读取SOC信息模块用于从SOC模块中读取区别于其它SOC模块的关键硬件信息;AES加密算法模块对读取的SOC特征信息进本文档来自技高网...
基于Android系统的应用程序加密方法和装置

【技术保护点】
一种基于Android系统的应用程序加密方法,其特征在于,所述方法包括以下步骤:当基于Android的系统开机时,授权服务模块启动,并请求加密驱动模块读取SOC特征信息;加密驱动模块读取SOC模块中的SOC特征信息,并且通过AES加密算法和异或加密算法对该SOC特征信息进行二次加密,然后发送至授权服务模块;授权服务模块读取来自加密驱动模块的加密信息,并利用AES解密算法和异或解密算法对加密信息进行解密,根据解密的信息来判断SOC模块是否被授权,并且将授权结果进行存储,以供应用程序模块查询;当应用程序模块运行时,发送检测授权请求至授权服务模块,授权服务模块将授权结果返回至应用程序模块,应用程序模块根据授权结果确定是否退出运行。

【技术特征摘要】
1.一种基于Android系统的应用程序加密方法,其特征在于,所述方法包括以下步骤:当基于Android的系统开机时,授权服务模块启动,并请求加密驱动模块读取SOC特征信息;加密驱动模块读取SOC模块中的SOC特征信息,并且通过AES加密算法和异或加密算法对该SOC特征信息进行二次加密,然后发送至授权服务模块;授权服务模块读取来自加密驱动模块的加密信息,并利用AES解密算法和异或解密算法对加密信息进行解密,根据解密的信息来判断SOC模块是否被授权,并且将授权结果进行存储,以供应用程序模块查询;当应用程序模块运行时,发送检测授权请求至授权服务模块,授权服务模块将授权结果返回至应用程序模块,应用程序模块根据授权结果确定是否退出运行。2.根据权利要求1所述的基于Android系统的应用程序加密方法,其特征在于,在应用程序模块根据授权结果确定是否退出运行步骤,如果授权结果为已授权,则应用程序模块继续运行,如果授权结果为未授权,则应用程序模块退出运行。3.根据权利要求1所述的基于Android系统的应用程序加密方法,其特征在于,异或解密算法的密钥与异或加密算法的密钥是相同的。4.根据权利要求1所述的基于Android系统的应用程序加密方法,其特征在于,AES解密算法的密钥与AES加密算法的密钥是相同的。5.一种基于Android系统的应用程序加密装置,其特征在于,所述应用程序加密装置包括:SOC模块,其存储有SOC特征信息;加密驱动模块,其读取SOC模块中的SOC特征信息,并且通过AES加密算法和异或加密算法对该SOC特征信息进行二次加密,然后提供至授权服务模块;授权服务模块,其读取来自加密驱动模块的加密信...

【专利技术属性】
技术研发人员:李济川田举林詹小奇陈在平
申请(专利权)人:上海云间半导体科技有限公司
类型:发明
国别省市:上海,31

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

1