【技术实现步骤摘要】
本申请涉及计算机领域,尤其涉及一种用于密钥安全的加密技术。
技术介绍
移动终端密钥的攻击模型分为三种:恶意软件,申请所有可用的系统权限,比如发短信、打电话、读取联系人、获取地理位置等隐私信息;越狱攻击,获取设备最高权限,扫描文件系统,获取系统敏感数据;监听Root攻击,监听用户键盘输入,获取输入内容。目前针对移动终端密钥保护方式主要有如下几种:第一,ARMTrustZone技术,从系统总线、处理器等方面的设计将嵌入式设备划分为两个独立的运行环境,NormalWord负责AndroidOS(安卓系统)运行,Secureword负责处理敏感进程与数据。非授权程序无法获取到存储在SecureWord硬件中的数据,在Android系统中提供运行在NormalWorld的AndroidKeyStoreService进程,移动应用可以调用此进程获取到存储在SecureWorld硬件中密码等敏感数据。使用上述密码针对存储在系统私有空间data/misc/keystore/目录下的密钥文件进行加解密。因Secureword中的密码获取困难,所以使用ARMTrustZone技术能够增强密码加密后的密钥库文件的安全性。在ARMTrustZone技术中,密钥库文件命名为UID_USRPKEY_KeyAlias,UID是系统分配给应用的用户账号,UID_USRPKEY是固定字符串,KeyAlias是密钥别名。在移动终端被获取最高权限后,恶意软件可以拷贝上述密钥库文件并进行重命名,将上述UID变更成恶意软件自身UID,此时调用AndroidKeyStoreService进程读取S ...
【技术保护点】
一种用于密钥安全的加密方法,其中,所述方法包括:基于从服务设备中获取移动应用的唯一标识字符串,生成所述移动应用的数据密钥;根据加密算法及宏定义对所述数据密钥进行静态加密,并根据预设的散列函数及所获取的用户设备的MAC地址和用户密码对所述数据密钥进行动态加密。
【技术特征摘要】
1.一种用于密钥安全的加密方法,其中,所述方法包括:基于从服务设备中获取移动应用的唯一标识字符串,生成所述移动应用的数据密钥;根据加密算法及宏定义对所述数据密钥进行静态加密,并根据预设的散列函数及所获取的用户设备的MAC地址和用户密码对所述数据密钥进行动态加密。2.根据权利要求1所述的方法,其中,所述从服务设备中获取移动应用的唯一标识字符串,包括:判断移动应用启动时本地是否存有密钥,若没有,则通过加密传输协议接口从服务设备中获取所述移动应用的唯一标识字符串,若有,则对存储在用户设备的所述移动应用的加密的密钥进行解密,得到所述移动应用的唯一标识字符串。3.根据权利要求1或2所述的方法,其中,所述基于从服务设备中获取移动应用的唯一标识字符串,生成所述移动应用的数据密钥,包括:根据预设的散列函数对从服务设备中获取到的移动应用的唯一标识字符串进行哈希运算,生成所述移动应用的数据密钥。4.根据权利要求1所述的方法,其中,所述根据加密算法及宏定义对所述数据密钥进行静态加密,包括:分别对所述数据密钥、加密密钥函数及对应的解密函数进行宏定义,基于所述宏定义得到静态加密后的数据密钥。5.根据权利要求4所述的方法,其中,分别对所述数据密钥、加密密钥函数及对应的解密函数进行宏定义,基于所述宏定义得到静态加密后的数据密钥,包括:分别对所述数据密钥、加密密钥函数及对应的解密函数进行宏定义,得到宏定义常量的字符;将每个宏定义常量的字符填入函数执行栈的连续地址中,得到字符串;提取所述连续地址的首地址对应的字符串,作为参数传给对应的函数;调用所述参数的对应的函数,得到静态加密后的数据密钥。6.根据权利要求5所述的方法,其中,所述方法还包括:将所述静态加密后的数据密钥存储至所述用户设备的本地文件系统的私有目录下。7.根据权利要求1所述的方法,其中,所述用户设备的MAC地址包括用户设备上的无线网络MAC地址和蓝牙MAC地址。8.根据权利要求1或7所述的方法,其中,所述根据预设的散列函数及所获取的用户设备的MAC地址和用户密码对所述数据密钥进行动态加密,包括:从所述用户设备中获取无线网络MAC地址、蓝牙MAC地址及用户密码,得到拼接字符串;根据预设的散列函数对所述拼接字符串进行散列计算,得到对应的哈希值;将所述对应的哈希值作为所述数据密钥的动态加密密码,得到动态加密后的数据密钥,并将所述动态加密密码存储在所述用户设备中。9.根据权利要求8所述的方法,其中,所述方法还包括:将所述动态加密密码及所述动态加密后的数据密钥存储至所述用户设备的本地文件系统的私有目录下。10.根据权利要求8所述的方法,其中,从用户设备中获取用户设备的无线网络MAC地址、蓝牙MAC地址及用户密码,得到拼接字符串,包括:通过调用对应的应用程序编程接口从用户设备中获取无线网络MAC地址、蓝牙MAC地址;获取所述移动应用对应的用户密码;分别提取所述无线网络MAC地址、所述蓝牙MAC地址及所述用户密码中的多个字节,进行拼接得到拼接字符串。11.根据权利要求8所述的方法,其中,根据预设的散列函数及所获取的用户设备的MAC地址和用户密码对所述数据密钥进行动态加密之后,包括:根据所述移动应用的启动操作获取当前输入的用户密码,并获取所述移动应用所在当前用户设备上的MAC地址;根据预设的散列函数对所述MAC地址和所述用户当前输入的用户密码进行散列计算,得到待验证结...
【专利技术属性】
技术研发人员:赵伟,郑丽兰,李梦雅,
申请(专利权)人:上海艾讯云计算有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。