【技术实现步骤摘要】
一种基于安卓系统的密钥存储方法及装置、数据加解密方法
[0001]本专利技术属于网络安全领域,具体涉及一种基于安卓系统的密钥存储方法及装置、数据加解密方法。
技术介绍
[0002]随着网络的发展,数据传输和交换变得越来越频繁。如何在数据的存储、传输、交换及应用中确保数据的安全,变得越来越重要。尤其是对于涉及到用户个人信息的相关数据时,安全性变得更加重要。。
[0003]在Android客户端数据加密及解密中,密钥的保存方式很重要。现有技术中,基于安卓系统,通常将密钥存储在JAVA程序中。但是上述存储方式经容易让非法用户通过反汇编的方式分析出密钥算法,从而无法确保数据的安全性,存在一定的安全隐患。
技术实现思路
[0004]鉴于现有技术中的上述缺陷或不足,本专利技术旨在提供一种基于安卓系统的密钥存储方法及装置、数据加解密方法,将密钥分两部分存储,提高Android客户端密钥存储的安全性;同时为了提高此动态链接库的安全性,通过校验客户端打包证书来检测运行环境是否安全;最后,通过第三方安全应用软件对此动态链接库进行安全加固。
[0005]为了实现上述目的,本专利技术实施例采用如下技术方案:
[0006]第一方面,本专利技术实施例提供了一种基于安卓系统的密钥存储方法,所述密钥存储方法包括如下步骤:
[0007]步骤S1,采用Openssl算法作为Android客户端的加密工具,基于MacOS操作系统对Openssl算法进行编译,并加载至Android客户端;
[0008 ...
【技术保护点】
【技术特征摘要】
1.一种基于安卓系统的密钥存储方法,其特征在于,所述密钥存储方法包括如下步骤:步骤S1,采用Openssl算法作为Android客户端的加密工具,基于MacOS操作系统对Openssl算法进行编译,并加载至Android客户端;步骤S2,基于Android客户端编译并加载的Openssl算法,配置Android的本地工具开发包NDK的加密解密安全库;步骤S3,以3DES
‑
CBC模式下的三个密钥字符串为K1,K2,K3;其中,将密钥K1生成方式配置在JAVA代码内,将密钥K2和K3生成方式配置在Android客户端的所述NDK加密解密安全库内。2.根据权利要求1所述的密钥存储方法,其特征在于,所述步骤S1的编译,具体步骤包括:步骤S11,打开终端界面后,创建opensslbuildcompile文件夹并CD进入此目录;步骤S12,下载openssl安装压缩包,然后对所述openssl安装压缩包使用tar命令完成解压缩;步骤S13,下载Android NDK修订版14b,并解压缩;步骤S14,创建openssl编译脚本openssl
‑
android
‑
arm.sh;步骤S15,在openssl
‑
android
‑
arm.sh脚本内配置相应参数,指定至少一种应用程序二进制接口ABI架构,作为目标架构,且编译目标架构下的动态链接库文件;步骤S16,执行openssl
‑
android
‑
arm.sh脚本,完成openssl编译,并在脚本文件配置定义好的输出文件夹内找到目标架构下编译成功的文件夹,创建名为openssl
‑
build
‑
目标架构的文件夹,用来存放编译好的libcrypto.a,libssl.a静态库以及相关头文件。3.根据权利要求2所述的密钥存储方法,其特征在于,在所述步骤S16执行openssl
‑
android
‑
arm.sh脚本前,还包括:将MacOS安全性与隐私调整为“任何来源”;当没有发现该选项时,在终端内运行sudo spctl
‑‑
master
‑
disable命令显示“任何来源”选项。4.根据权利要求2所述的密钥存储方法,其特征在于,所述ABI架构包括armeabi、armeabi
‑
v7a、arm64
‑
v8a和x86中的一种。5.根据权利要求2所述的密钥存储方法,其特征在于,所述配置Android客户端的NDK加密解密安全库,使用Android Studio新建一个Native工程,并做如下修改:将openssl
‑
build
‑
目标架构的文件夹拷贝至该工程app目录下;将工程src/main/cpp目录下CMakeLists.txt文件拷贝至app根目录下;打开app目录下b...
【专利技术属性】
技术研发人员:张晓明,白尔利,范军,王建华,
申请(专利权)人:兰州乐智教育科技有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。