[发明专利]一种数据加解密方法、装置、移动终端和存储介质有效
| 申请号: | 202010790159.3 | 申请日: | 2020-08-07 |
| 公开(公告)号: | CN111917540B | 公开(公告)日: | 2023-05-12 |
| 发明(设计)人: | 李岩 | 申请(专利权)人: | 广州市百果园信息技术有限公司 |
| 主分类号: | H04L9/08 | 分类号: | H04L9/08;G06F21/60 |
| 代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
| 地址: | 511402 广东省广州市番*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 数据 解密 方法 装置 移动 终端 存储 介质 | ||
本发明实施例公开了一种数据加解密方法、装置、移动终端和存储介质,该数据加密方法包括:在非可信执行环境中,确定应用请求加密的源数据;在非可信执行环境中,为源数据生成本次加密有效的参考数据;在可信执行环境中,读取为应用生成的主密钥;在可信执行环境中,使用主密钥对参考数据进行加密处理,获得安全数据;在非可信执行环境中,使用安全数据将源数据加密为目标数据。使得基于主密钥与参考数据生成的安全数据具有一次性的特性,该一次性的安全数据不直接存储,而是在可信执行环境生成,满足CPA的安全性,并且,无法被逆向破解。
技术领域
本发明实施例涉及安全技术,尤其涉及一种数据加解密方法、装置、移动终端和存储介质。
背景技术
在移动终端中安装的应用在存储具有敏感性质的数据时,为了保护用户的个人隐私,通常使用对称密钥算法、非对称密钥算法等算法对数据进行加密。
然而,无论加密算法设计得有多么安全和牢固,一旦密钥被泄露,攻击者可以直接使用密钥调用加密算法解密数据,所以,加密算法的安全性的重点之一,在于所使用密钥的安全保存。
目前,应用的密钥主要是以硬编码方式预埋在应用的代码中,如Android(安卓)的Java层、Native层。为了减轻这种无保护密码存储所受到的威胁,通常使用代码混淆机制,如OLLVM(Obfuscator-LLVM,一个开源的代码混淆编译器),混淆代码逻辑以提高代码逆向阅读的困难度。
但是,代码混淆机制只能对代码逻辑进行混淆,无法混淆预埋密钥这种数组变量或常量,该类存储方式有以下三个明显缺点:
(1)密钥无任何单独的安全保护,仅依赖于对代码的安全加固,往往容易被攻击者静态分析提取密钥,攻击者容易通过移动终端的漏洞获取权限。
(2)可能被攻击者在逆向代码后,不直接提取密钥,使用上层函数代码直接调用启动密钥的函数,对数据直接解密。
(3)由于不易变更或实行每个应用实例使用不同密钥,所以同一版本的应用或者所有版本的应用预埋的密钥都是一致的,攻击者可以把数据从一个应用导出,放在另一个已被破解的应用上进行数据解密,即数据离开移动终端仍可被解密。
发明内容
本发明实施例提供一种数据加解密方法、装置、移动终端和存储介质,以解决如何在维持计算开销、存储开销的情况下,提高移动终端中数据的安全性的问题。
第一方面,本发明实施例提供了一种数据加密方法,包括:
在非可信执行环境中,确定应用请求加密的源数据;
在所述非可信执行环境中,为所述源数据生成本次加密有效的参考数据;
在可信执行环境中,读取为所述应用生成的主密钥;
在所述可信执行环境中,使用所述主密钥对所述参考数据进行加密处理,获得安全数据;
在所述非可信执行环境中,使用所述安全数据将所述源数据加密为目标数据。
第二方面,本发明实施例还提供了一种数据解密方法,包括:
在非可信执行环境中,确定应用请求解密的目标数据;
在非可信执行环境中,读取与所述目标数据关联的、且本次解密有效的参考数据;
在可信执行环境中,读取为所述应用生成的主密钥;
在所述可信执行环境中,使用所述主密钥对所述参考数据进行加密处理,获得安全数据;
在所述非可信执行环境中,使用所述安全数据对所述目标数据进行解密,获得源数据。
第三方面,本发明实施例还提供了一种数据加密装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州市百果园信息技术有限公司,未经广州市百果园信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010790159.3/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





