android 使用要素服务,应用于Android智能终端的自检方法与流程

934894841f21c910b0dab7df61532e62.gif

本发明涉及智能终端的技术领域,尤其涉及一种Android智能终端的系统自检方法。

背景技术:

安卓手机应用程序不像苹果手机的应用程序由可信源签名,谷歌使用开发者自签名。所以需要对框架源码进行定制,在安装之后,自检时,对安装后应用程序各安装目录下动态链接库文件,安卓可运行文件,安卓装包文件验证。应用程序运行时,安卓可运行文件会变化,在应用加载前对应用程序各安装目录下动态链接库文件,安卓可运行文件,安卓装包文件验证。POS机安全要求比较高,为了符合银联标准,需要对POS机进行应用自检,防止出现安全隐患。

如专利申请201410291357.X公开了一种安卓应用程序的安全验证方法及装置。安卓应用程序的安全验证方法包括:步骤一,从签名后的安卓应用程序安装文件中提取出公钥保存到服务接入端,将该从签名后的APK文件中取出的公钥记为第一公钥;步骤二,在已签名安卓应用程序初始化时,服务接入端获取该已签名安卓应用程序的公钥,将该已签名安卓应用程序的公钥记为第二公钥;步骤三,服务接入端将第二公钥与第一公钥进行比较,根据比较结果判断已签名安卓应用程序是否安全。本发明安卓应用程序的安全验证方法及装置,有效的阻止了不法分子通过仿造APK身份去恶意攻击平台的行为,有效防止被恶意篡改过的android应用程序带来的安全风险,增强了平台的安全性。该专利申请虽然那个实现安全认证,但是其需要通过密钥进行验证,且不能针对POS机进行安全自检,难以满足银联的安全标准。

技术实现要素:

针对上述技术中存在的不足之处,本发明提供一种应用于Android智能终端的自检方法,该方法能够实时实现应用程序自检,使应用程序的使用更安全,更可靠,杜绝被修改了数据和文件的应用使用带来的潜在风险。

为实现上述目的,本发明是这样实现的。

一种应用于Android智能终端的自检方法,其特征在于该方法包括如下步骤:

101、安卓手机应用程序安装或者更新后,对手机应用程序所有文件数据加密与备份,然后入数据库;

102、开机时,先将每一个程序在手机里所有文件通过SHA256散列化,得到散列化摘要;

103、在数据库找到经过公钥加密的散列化数据,用私钥进行解密,同时对该应用所在目录下动态链接库文件,安卓可运行文件,安卓装包文件和优化后的安卓可运行文件进行SHA-256安全散列化,

104、将散列化摘要与数据库中的通过RSA公钥加密算法加密的,之前的散列化结果进行解密对比,对所有手机应用程序进行一次检测,进行筛查;

并将散列化结果进行比较,如果不一致则确定应用程序被修改过,在系统中不允许打开,并弹出提示框告知用户,如果一致则不限制用户使用,实时检测手机应用程序文件与数据是否被外界修改。

由此,通过本发明所实现的自检方法,安卓设备的应用的使用更安全,更可靠,杜绝被修改了数据和文件的应用使用带来的潜在风险。

具体地说,步骤101中,当应用安装或更新后,会根据安装信息找到安装应用所涉及的目录,对目录下动态链接库文件,安卓可运行文件,安卓装包文件和优化后的安卓可运行文件进行SHA-256安全散列化,并用非对称加密算法的公钥对该数据进行加密后保存到数据库。

步骤102中,当应用启动时,在数据库找到经过公钥加密的散列化数据,用私钥进行解密,同时对该应用所在目录下动态链接库文件,安卓可运行文件,安卓装包文件和优化后的安卓可运行文件进行SHA-256安全散列化,与数据库中私钥解密后的散列化结果进行比较,如果不一致则确定应用程序被修改过,在系统中不允许打开,并弹出提示框告知用户,如果一致则不限制用户使用

进一步,当系统开机启动系统服务后,在系统中通过已安装应用包名信息逐个遍历,并到数据库中查找,找到经过公钥加密的散列化数据,用私钥进行解密,同时对该应用所在目录下动态链接库文件,安卓可运行文件,安卓装包文件和优化后的安卓可运行文件进行SHA-256安全散列化,与私钥解密后的散列化数据进行比较,确认安装后的应用是否被修改,如果检测有应用散列化数据不同,则此应用被修改过,系统中所有的应用都不允许使用,并提示用户。

本发明所实现的自检方法,可以实时实现应用程序自检,避免程序被修改,使应用程序的使用更安全,更可靠,杜绝被修改了数据和文件的应用使用带来的潜在风险。

附图说明

图1是本发明所实现的开机安装应用自检流程图。

图2是本发明所实现的安装应用备份流程图。

图3是本发明所实现的应用程序使用自检流程图。

具体实施方式

为了更清楚地表述本发明,下面结合附图对本发明作进一步地描述。

请参阅图1所示,为本发明所实现的应用于Android智能终端的自检方法,程序安装或者更新后,首先对手机应用程序所有文件数据加密与备份,然后入数据库;该方法开机自检的流程包括如下步骤:

S1、开始;

S2、获取安卓手机中系统的所有应用程序;

S3、分别针对每个应用程序的名称查询数据库;

如果数据库中存在相应的应用程序,则进行下一步,如果数据库中不存在相应的应用程序,则验证不通过,提示用户,退出程序。

S4、根据apk文件目录对文件进行序列化摘要;

将每一个程序在手机里所有文件通过SHA256散列化,得到散列化摘要。

S5、将数据库中散列化摘要私钥进行解密,得到解密后的序列化摘要;

在数据库找到经过公钥加密的散列化数据,用私钥进行解密,同时对该应用所在目录下动态链接库文件,安卓可运行文件,安卓装包文件和优化后的安卓可运行文件进行SHA-256安全散列化。

S6、比较上面S4和S5步骤中得到的2个序列化摘要;

将散列化摘要与数据库中的通过RSA公钥加密算法加密的,之前的散列化结果进行解密对比,将散列化结果进行比较,如果不一致则确定应用程序被修改过,在系统中不允许打开,并弹出提示框告知用户,如果一致则不限制用户使用,实时检测手机应用程序文件与数据是否被外界修改。

S7、对所有手机应用程序进行一次检测,进行筛查。

当系统开机启动系统服务后,在系统中通过已安装应用包名信息逐个遍历,并到数据库中查找,找到经过公钥加密的散列化数据,用私钥进行解密,同时对该应用所在目录下动态链接库文件,安卓可运行文件,安卓装包文件和优化后的安卓可运行文件进行SHA-256安全散列化,与私钥解密后的散列化数据进行比较,确认安装后的应用是否被修改,如果检测有应用散列化数据不同,则此应用被修改过,系统中所有的应用都不允许使用,并提示用户。

由此,通过本发明所实现的自检方法,安卓设备的应用的使用更安全,更可靠,杜绝被修改了数据和文件的应用使用带来的潜在风险。

结合图2所示,具体地说,步骤101中,当应用安装或更新后,会根据安装信息找到安装应用所涉及的目录,对目录下动态链接库文件,安卓可运行文件,安卓装包文件和优化后的安卓可运行文件进行SHA-256安全散列化,并用非对称加密算法的公钥对该数据进行加密后保存到数据库。方法如下:

首先,安装或更新apk,然后对安装目录下所有文件进行文件流导入SHA-256中,得到序列化摘要;再将得到的序列化摘要用公钥进行加密,并保存到数据库中。

结合图3所示,应用程序使用时,自检流程如下:

打开应用程序,当应用程序启动时,先在数据库中通过应用程序数据包名查找相应的应用程序,如果没找到,则不通过,结束程序;

如果找到了,则进一步根据apk文件目录对文件进行序列化摘要,并将找到经过公钥加密的散列化数据,用私钥进行解密,同时对该应用所在目录下动态链接库文件,安卓可运行文件,安卓装包文件和优化后的安卓可运行文件进行SHA-256安全散列化,与数据库中私钥解密后的散列化结果进行比较,如果不一致则确定应用程序被修改过,在系统中不允许打开,并弹出提示框告知用户,如果一致则不限制用户使用。

本发明所实现的自检方法,可以实时实现应用程序自检,避免程序被修改,使应用程序的使用更安全,更可靠,杜绝被修改了数据和文件的应用使用带来的潜在风险。

以上公开的仅为本发明的几个具体实施例,但是本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值