Android平台安全芯片控制系统技术方案

技术编号:25949312 阅读:24 留言:0更新日期:2020-10-17 03:41
本发明专利技术提出了一种Android平台安全芯片控制系统,包括:硬件层模块、硬件适配层模块和应用接口层模块,硬件层模块包括:安全芯片和硬件接口,其中,在终端设备的主芯片上连接安全芯片,安全芯片用于负责算法运算和数据存储,且与硬件适配层模块进行通信;硬件适配层模块包括:适配程序和设备驱动,其中,设备驱动包括SPI设备驱动和GPIO设备驱动,适配程序封装了硬件的通讯接口,为上层提供统一的接口;应用接口层模块包括:安全应用接口;通过调用底层的加密接口,对用户应用传入的数据进行处理。

【技术实现步骤摘要】
Android平台安全芯片控制系统
本专利技术涉及Android系统
,特别涉及一种Android平台安全芯片控制系统。
技术介绍
Android是一种基于Linux的自由及开放源代码的操作系统,主要用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发,目前已成为最大的手机软件平台。近几年来,随着Android操作系统迅速发展,行业应用软件迅速崛起并得到快速普及,信息安全问题变得越来越重要、也越来越复杂,传统互联网上存在的各种安全问题逐渐延伸到移动互联网领域,甚至演化成为新的安全威胁。基于Android系统的行业终端,服务于政府部门和石油化工、煤炭、水利、电力、铁路、公路、航空等国民经济重要领域,一旦出现数据泄漏,必将给国家造成无法弥补的重大经济损失,甚至影响国家安全。因此,对行业终端数据进行保护已成为当务之急。目前,一些行业应用引入了一些安全技术,大部分采用有中心的信息加密手段,密钥安全得不到保证,普遍存在安全等级低,容易发生被破解等泄密事件。在行业终端上,大部分应用是基于软件方式实现的安全操作,从整体的数据安全角度来看,没有硬件安全保障的终端始终是一个薄弱环节。
技术实现思路
本专利技术的目的旨在至少解决所述技术缺陷之一。为此,本专利技术的目的在于提出一种Android平台安全芯片控制系统。为了实现上述目的,本专利技术的实施例提供一种Android平台安全芯片控制系统,包括:硬件层模块、硬件适配层模块和应用接口层模块,其中,所述硬件层模块包括:安全芯片和硬件接口,其中,在终端设备的主芯片上连接所述安全芯片,所述安全芯片用于负责算法运算和数据存储,且与所述硬件适配层模块进行通信;其中,所述安全芯片内存储有对数据进行加解密的公钥和私钥;所述硬件适配层模块包括:适配程序和设备驱动,其中,所述设备驱动包括SPI设备驱动和GPIO设备驱动,所述适配程序封装了硬件的通讯接口,为上层提供统一的接口;所述应用接口层模块包括:安全应用接口;通过调用底层的加密接口,对用户应用传入的数据进行处理。进一步,所述终端设备的主芯片通过Vcc引脚向所述安全芯片进行供电,通过RST引脚复位所述安全芯片,通过SPI接口与所述安全芯片进行数据通讯,所述安全芯片通过GPIO接口向所述终端设备反馈当前工作状态。进一步,存在所述安全芯片中的私钥不支持导出和备份。进一步,所述安全芯片对存储的数据进行数据加密和数据解密,包括如下步骤:加密过程:利用安全芯片产生随机数,对来自安全芯片的会话密钥和来自安全应用的明文采用SM4加密,生成密文b,以及对来自安全芯片的会话密钥和公钥采用SM2加密,生成密文a,对所述密文a和密文b采用SM3哈希运算,生成密文c,然后将密文a、密文b和密文c进行组合,生成的密文组合a+b+c,作为最终的加密密文;解密过程:利用私钥将所述密文组合a+b+c中的密文a采用SM2解密,得到会话密钥,利用会话密钥对密文b进行SM4解密,得到明文,将明文发送至安全应用;将密文a+b进行SM3哈希运算,生成密文c’,将密文c与密文c’进行比较。进一步,所述非对称密钥SM2密码算法基于ECC算法原理设计,对SM2算法的硬件引擎和软件联合实现;SM4密码算法为对称算法,算法的安全性已经过验证,SM4算法由安全芯片的硬件引擎实现;SM3密码算法为杂凑算法,由安全芯片的硬件引擎实现。进一步,所述安全芯片通过真随机数发生器、线性反馈移位寄存器和SM4后处理器,生成随机数,其中,所述真随机数发生器不断产生1位的真随机序列,作为线性反馈移位寄存器的种子;所述SM4后处理器采用SM4算法运算产生后处理随机数。进一步,所述安全芯片中存储有两类密钥,包括:系统密钥和用户密钥,其中,所述系统密钥以密文的形式存储在安全芯片的存储器中,通过文件索引的方式进行操作,当进行认证时,通过安全芯片密文存储认证密钥导出实际认证密钥并保存在安全芯片内部RAM中,RAM中的认证密钥文件无法读出,只能在生命周期内参与运算;执行完操作后会将RAM中认证密钥置零清除;所述用户密钥包括:用户的SM2密钥对以及SM4加解密密钥,其中,SM2公钥和私钥均存储在安全芯片相应的存储器中,SM4加解密密钥需要应用输入并存储在安全芯片的RAM中,RAM中的加解密密钥文件无法读出,只能在生命周期内参与运算,执行完操作后会将RAM中加解密密钥置零清除。进一步,所述终端设备在正式应用安全芯片之前,对所述安全芯片进行固件检测与开机自动下载固件,所述安全芯片出厂时仅预置boot固件,与业务相关的应用固件需要在终端开机时自动下载或更新,包括如下步骤:所述终端设备内软件预置安全芯片固件文件和对应的固件版本号属性;所述终端设备开机完成后,检测安全芯片固件版本号,如果获取的固件版本号为空或与预置的版本号不同,则下载预置的安全芯片固件。进一步,所述安全芯片提供的服务作为一个AndroidFramework系统服务,始终运行在系统后台,为安全应用提供加解密接口和密钥管理接口,通过JNI与HAL层连接。根据本专利技术实施例的Android平台安全芯片控制系统,在行业终端上集成安全芯片,遵循国家密码管理局的相关政策和规范,开放安全操作接口,为第三方安全应用提供安全服务,通过安全芯片对行业敏感数据和重要文件进行加密,能有效地保护行业用户的数据安全。另外用户密钥保存在安全芯片内部,私钥无法读出,确保用户密钥存储安全。本专利技术通过SPI全双工、同步的通信总线与安全芯片进行高速通信,在硬件适配层提供安全操作请求和数据收发,在系统服务层为安全应用提供开发接口。第三方应用可以通过安全接口实现密钥对生成、公钥导入导出与密钥交换、真随机数产生与获取、数据加解密等操作。通过对用户数据进行加密,可以在源头上保证用户数据信息的安全。根据加密数据和文件的不同,使用不同的会话密钥,每个会话密钥都是通过安全芯片产生的真随机数生成的,可以做到一次一密,从而提高了安全性。私钥保存在安全芯片内,不能读出,从而保证了用户密钥的安全性。本专利技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:图1为根据本专利技术实施例的Android平台安全芯片控制系统的结构图;图2为根据本专利技术实施例的安全芯片与终端设备接口交互的示意图;图3为根据本专利技术实施例的安全芯片加解密流程图;图4为根据本专利技术实施例的安全芯片与终端设备交互的电路框图;图5为根据本专利技术实施例的安全芯片的电路图;图6为根据本专利技术实施例的随机数生成的流程框图;图7a和图7b为根据本专利技术实施例的SM2算法自检流程图;图8为根据本专利技术实施例的SM3算法自检流程图;图9a和图9b为根据本专利技术实施例的SM4算法自检流程图;图本文档来自技高网...

【技术保护点】
1.一种Android平台安全芯片控制系统,其特征在于,包括:硬件层模块、硬件适配层模块和应用接口层模块,其中,/n所述硬件层模块包括:安全芯片和硬件接口,其中,在终端设备的主芯片上连接所述安全芯片,所述安全芯片用于负责算法运算和数据存储,且与所述硬件适配层模块进行通信;其中,所述安全芯片内存储有对数据进行加解密的公钥和私钥;/n所述硬件适配层模块包括:适配程序和设备驱动,其中,所述设备驱动包括SPI设备驱动和GPIO设备驱动,所述适配程序封装了硬件的通讯接口,为上层提供统一的接口;/n所述应用接口层模块包括:安全应用接口;通过调用底层的加密接口,对用户应用传入的数据进行处理。/n

【技术特征摘要】
1.一种Android平台安全芯片控制系统,其特征在于,包括:硬件层模块、硬件适配层模块和应用接口层模块,其中,
所述硬件层模块包括:安全芯片和硬件接口,其中,在终端设备的主芯片上连接所述安全芯片,所述安全芯片用于负责算法运算和数据存储,且与所述硬件适配层模块进行通信;其中,所述安全芯片内存储有对数据进行加解密的公钥和私钥;
所述硬件适配层模块包括:适配程序和设备驱动,其中,所述设备驱动包括SPI设备驱动和GPIO设备驱动,所述适配程序封装了硬件的通讯接口,为上层提供统一的接口;
所述应用接口层模块包括:安全应用接口;通过调用底层的加密接口,对用户应用传入的数据进行处理。


2.如权利要求1所述的Android平台安全芯片控制系统,其特征在于,所述终端设备的主芯片通过Vcc引脚向所述安全芯片进行供电,通过RST引脚复位所述安全芯片,通过SPI接口与所述安全芯片进行数据通讯,所述安全芯片通过GPIO接口向所述终端设备反馈当前工作状态。


3.如权利要求1所述的Android平台安全芯片控制系统,其特征在于,存在所述安全芯片中的私钥不支持导出和备份。


4.如权利要求1所述的Android平台安全芯片控制系统,其特征在于,所述安全芯片对存储的数据进行数据加密和数据解密,包括如下步骤:
加密过程:利用安全芯片产生随机数,对来自安全芯片的会话密钥和来自安全应用的明文采用SM4加密,生成密文b,以及对来自安全芯片的会话密钥和公钥采用SM2加密,生成密文a,对所述密文a和密文b采用SM3哈希运算,生成密文c,然后将密文a、密文b和密文c进行组合,生成的密文组合a+b+c,作为最终的加密密文;
解密过程:利用私钥将所述密文组合a+b+c中的密文a采用SM2解密,得到会话密钥,利用会话密钥对密文b进行SM4解密,得到明文,将明文发送至安全应用;将密文a+b进行SM3哈希运算,生成密文c’,将密文c与密文c’进行比较。


5.如权利要求4所述的Android平台安全芯片控制系统,其特征在于,所述非对称密钥SM2密码算法基于ECC算法原理设计,对SM2算法的硬件引擎和软件联...

【专利技术属性】
技术研发人员:林靖明
申请(专利权)人:大唐终端技术有限公司
类型:发明
国别省市:天津;12

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

1