[发明专利]双系统通信密钥生成方法及计算机可读存储介质有效
申请号: | 201710897626.0 | 申请日: | 2017-09-28 |
公开(公告)号: | CN109586898B | 公开(公告)日: | 2023-08-22 |
发明(设计)人: | 刘炯钟;池炜宾;赵国开;牛方超 | 申请(专利权)人: | 厦门雅迅网络股份有限公司 |
主分类号: | H04L9/08 | 分类号: | H04L9/08 |
代理公司: | 深圳市博锐专利事务所 44275 | 代理人: | 张明 |
地址: | 361000 福建省厦门市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 双系统 通信 密钥 生成 方法 计算机 可读 存储 介质 | ||
本发明公开了一种双系统通信密钥生成方法及计算机可读存储介质,方法包括:获取预设长度的SRAM初始值,作为第一随机数;根据系统时钟,获取第二随机数;生成第三随机数;根据所述第一随机数、第二随机数和第三随机数,得到第四随机数;根据散列算法对所述第四随机数进行运算,得到通信密钥。本发明不需要额外外接硬件来产生真随机数,一定程度上节省硬件开销;同时SRAM随机数的生成方法可以防止随机数被劫取,降低了通信密钥的泄露风险,提高了通信密钥的安全性。
技术领域
本发明涉及密钥技术领域,尤其涉及一种双系统通信密钥生成方法及计算机可读存储介质。
背景技术
双系统是指运行在支持trustzone的ARM处理器平台上的两个操作系统,Trustzone技术是ARM处理器的一种安全扩展功能,该技术可以把系统设备上的硬件和软件划分成两个运行环境:可信环境和非可信环境(或者称为安全环境和非安全环境)。可以在可信环境和非可信环境下分别运行两个操作系统,非可信环境下一般运行一个应用丰富的普通操作系统,可信环境下运行一个实时性强的实时操作系统,称为安全操作系统。可信环境下的软件可以访问处理器的所有资源,而于非可信环境下的软件只能访问处理器上的非安全资源。
当运行于普通操作系统的普通软件(称为客户端软件)需要访问安全状态的资源时,就需要通过安全操作系统的安全软件(称为服务端软件)间接访问安全资源。安全软件只接受来自合法身份的普通软件的访问请求,同时为了保证普通软件和安全软件通信的安全性,就必须要使用加密数据进行通信,其中就涉及到数据加密问题,加密需要密钥系统的支持,而密钥系统的安全性很大程度上依赖于是否能够随机的产生不可预测的序列,也就是随机数。随机数分为真随机数和伪随机数,伪随机数是由数学算法产生,其特点是熵值太低,容易被窃取(熵是不确定程度的度量,其单位是比特),而真随机数是通过硬件随机数生成设备来生成。嵌入式设备上如果需要抗攻击性强的密钥,就需要真随机数来提供支持,真随机数的产生往往需要增加额外的外部硬件,增加硬件成本。
发明内容
本发明所要解决的技术问题是:提供一种双系统通信密钥生成方法及计算机可读存储介质,在不需要增加额外的硬件成本的前提下生成高安全性的真随机数,从而提高通信密钥的安全性。
为了解决上述技术问题,本发明采用的技术方案为:一种双系统通信密钥生成方法,包括:
获取预设长度的SRAM初始值,作为第一随机数;
根据系统时钟,获取第二随机数;
生成第三随机数;
根据所述第一随机数、第二随机数和第三随机数,得到第四随机数;
根据散列算法对所述第四随机数进行运算,得到通信密钥。
本发明还涉及一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:
获取预设长度的SRAM初始值,作为第一随机数;
根据系统时钟,获取第二随机数;
生成第三随机数;
根据所述第一随机数、第二随机数和第三随机数,得到第四随机数;
根据散列算法对所述第四随机数进行运算,得到通信密钥。
本发明的有益效果在于:使用SRAM PUF技术作为真随机数产生方法,在SRAM PUF随机数的基础上附加系统时钟值和伪随机数值来产生随机数,并作为散列算法的输入,从而产生作为双系统中客户端和服务端的通信密钥。本发明不需要额外外接硬件来产生真随机数,一定程度上节省硬件开销;同时SRAM随机数的生成方法可以防止随机数被劫取,并且每次认证过程可以动态的生成不同的加密密钥,用完即可销毁,降低了通信密钥的泄露风险,提高了通信密钥的安全性。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门雅迅网络股份有限公司,未经厦门雅迅网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710897626.0/2.html,转载请声明来源钻瓜专利网。