安全芯片、其加密秘钥生成方法和加密方法与流程

文档序号:12375542阅读:1518来源:国知局
安全芯片、其加密秘钥生成方法和加密方法与流程

本发明涉及领域安全通信领域,尤其涉及一种安全芯片、其加密秘钥生成方法和加密方法。



背景技术:

当前苹果和三星所暴漏出来的隐私安全短板,为国产加密手机打开了一个潜在的市场,一时间安全也成为国产手机厂商齐齐布局谋变的重点,成为国产手机的特色。具体来说主要涉及两个方面:一是以安卓系统所暴漏出来的信息安全问题已愈发的被人们所重视;二是基于国家安全及网络安全,个别城市要求官员全部改用国产品牌智能手机,这意味着未来会有更多单位加入到手机安全行列。自国外厂商纷纷发布安全手机策略后,国产手机厂商已纷纷转提升安全等级,转向安全加密市场。这主要是因为智能手机的信息安全越来越受到用户和业界的广泛关注。

现在的安全手机策略的关键是加密技术,加密技术的实现方式主要有两种形式:软件加密和硬件加密。软件加密主要是针对应用层,密码存储在应用空间,加密算法由软件实现,软件加密比较容易部署,不依赖于特定硬件。硬件加密主要是依赖于硬件算法加速器,密钥可以存储在外部存储空间或芯片的eFuse内,加密效率比较高,需要依赖于硬件平台。

加密的根源在于密码的保护,如果密码泄露,将造成无法估量的损失。目前商用的加密终端密钥可由用户自定义或由硬件随机数生成密钥明文存储在片内或片外存储器,如果终端被root,恶意软件可以轻松获取到密钥。因此,现有加密技术的密钥的安全性仍然不够高,恶意软件窃取用户密钥的现象时有发生。



技术实现要素:

为解决现有技术存在的问题,本发明提供一种安全芯片,包括主处理器、外部存储模块和加解密模块;所述加解密模块包括:

算法模块,用以根据加密算法生成用于对数据进行加密的初始秘钥;

内部存储模块,包含根秘钥,所述内部存储模块仅能被控制模块访问;

控制模块,用于调用所述根秘钥至所述算法模块以对所述初始秘钥进行加密,生成加密秘钥并存储于所述外部存储模块中;所述控制模块还用于调用所述根秘钥至所述算法模块以对所述外部存储模块中的加密秘钥进行解密,还原为所述初始秘钥。

可选的,所述初始秘钥包含公钥和私钥,对所述初始秘钥加密的步骤中仅对所述私钥进行加密,对所述加密秘钥解密的步骤中仅对所述私钥进行解密。

可选的,所述算法模块包括RSA模块,通过所述RSA模块生成所述初始秘钥。

可选的,所述算法模块包括AES模块,用于根据所述根秘钥对所述初始秘钥进行加密。

可选的,所述安全芯片还包括随机数生成模块,用于生成随机数以作为所述根秘钥。

可选的,所述控制模块包含状态寄存器,用于通过初始化状态标识表示所述根秘钥已经生成。

本发明还提供一种安全芯片的加密秘钥生成方法,包括以下步骤:

主处理器发送加密秘钥生成请求至加解密模块;

控制模块调用算法模块,所述算法模块生成初始秘钥;

控制模块传递根秘钥至所述算法模块,所述算法模块对所述初始秘钥加密,生成加密秘钥并存储于所述外部存储模块中。

可选的,所述加密秘钥通过所述控制模块存储于所述外部存储模块中。

本发明还提供一种安全芯片的加密方法,包括

进行上述的加密秘钥生成步骤;

主处理器发送加密请求及待加密数据至加解密模块;

控制模块调用算法模块;

所述算法模块读取所述根秘钥及所述外部存储模块中的加密秘钥,对所述加密秘钥进行解密,还原所述初始秘钥;以及

算法模块利用初始秘钥对数据进行加密。

可选的,所述算法模块包括HASH模块,用于对加密的数据计算报文摘要,并添加到所述加密数据的信息首部。

本发明提供一种安全芯片,包括主处理器、外部存储模块和加解密模块,通过在芯片内部设置专用的加解密模块,管理密钥和加解密算法。该加解密模块并具有硬件随机数,通过生产过程中生成随机数作为芯片的唯一根密钥,存储在单独的存储区域,该根密钥只能由加解密模块使用,主处理器无法读取该根密钥。而后续应用生成密钥都需要使用加解密模块,并有根密钥自动对生成的密钥(或者非对称算法的私钥)进行加密存储,保证每部终端的数据只能被该终端读取,大大提高了终端的安全性。

附图说明

图1为本发明一实施例所述安全芯片的结构示意图。

图2为结合本发明一实施例所述安全芯片结构的加密秘钥生成方法示意图。

图3为结合本发明一实施例所述安全芯片结构的加密方法示意图。

具体实施方式

以下结合附图和具体实施例对本发明作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比率,仅用以方便、明晰地辅助说明本发明实施例的目的。

如图1所示,本发明所述的安全芯片包括主处理器100、外部存储模块200和加解密模块300;所述加解密模块300包括:

算法模块320,用以根据加密算法生成用于对数据进行加密的初始秘钥;

内部存储模块330,包含根秘钥,内部存储模块320仅能被控制模块310访问;

控制模块310,用于调用所述根秘钥至所述算法模块320以对所述初始秘钥进行加密,生成加密秘钥并存储于所述外部存储模块中200;所述控制模块310还用于调用所述根秘钥至所述算法模块320以对所述外部存储模块200中的加密秘钥进行解密,还原为所述初始秘钥。

其中,算法模块320中可以存在多种具体的加密算法,例如RSA模块322,通过所述RSA模块322生成所述初始秘钥。此时,RSA模块322生成的初始秘钥为秘钥对,包括公钥和私钥,对所述初始秘钥加密的步骤中仅对所述私钥进 行加密,对所述加密秘钥解密的步骤中仅对所述私钥进行解密。

算法模块320例如还包含AES模块325,用于根据所述根秘钥对所述初始秘钥进行加密,以生成加密秘钥。如前所述,在本实施例中,初始秘钥加密的步骤中仅对所述私钥进行加密。

在本发明的安全芯片生产之时,即会进行加解密模块300的初始化进程以生成上述的根秘钥并存储在内部存储模块330之中。其中,所述控制模块310包含状态寄存器,用于通过初始化状态标识表示所述根秘钥已经生成并存储在内部存储模块330之中;控制模块310还包括随机数生成模块(RNG模块321),用于生成随机数以作为所述根秘钥。

加解密模块300的具体初始化步骤如下:

(1)主处理器100向加解密模块300发送指令,读取控制模块310的状态寄存器(state_register)查询加解密模块300是否已经初始化,如果已完成初始化则进入(4),否则进入(2);

(2)加解密控制模块触发RNG模块321,产生指定位数的随机数作为芯片的唯一根密钥(RootKey),保存在内部存储模块330,内部存储模块330只能由控制模块310访问。

(3)写入状态寄存器(state_register)初始化状态标识,该标识只能被写一次。

(4)向主处理器310返回初始化结束标示,结束。

本发明还提供上述安全芯片的加密秘钥生成方法,包括

主处理器100发送加密秘钥生成请求至加解密模块300;

控制模块310调用算法模块320,使所述算法模块320生成初始秘钥;

控制模块310传递根秘钥至所述算法模块320,算法模块320对所述初始秘钥加密,生成加密秘钥并存储于所述外部存储模块200之中。

其中,上述加密秘钥通过所述控制模块310存储于所述外部存储模块200中。

安全芯片应用到具体的电子设备如手机之中时,通过手机的应用程序加以控制。下面以一实施例详细说明本安全芯片的加密秘钥生成方法,结合图2中的箭头方向,加密秘钥生成方法的步骤包括:

(1)应用程序发送请求生成密钥的命令,设置生成密钥的类型和存储在片 内或片外的参数;

(2)驱动程序根据应用程序的加密秘钥生成请求指令将数据进行封装,通过主处理器100发送到加解密控制模块200;

(3)控制模块310接收到请求指令,对指令进行解析,判断请求密钥的格式调用对应的算法模块,例如RSA密钥对,则调用RSA模块322;

(4)RSA模块322生成密钥对:公钥(public_key)和私钥(private_kes),将密钥对返回给控制模块310

(5)控制模块310接收到密钥对,调用AES模块325,并从内部存储模块330读取根密钥(root_key)传递给AES模块325,由AES模块325使用根密钥(root_key)对私钥(private_key)进行加密,将加密后的密钥返回给控制模块310。

(6)控制模块310将生成的公钥和加密后私钥存储在外部存储模块200,并向主处理器100返回请求结果,通知主处理器100读取公钥和加密后的私钥。

本发明还提供一种上述安全芯片的加密方法,包括

先进行上述的加密秘钥生成步骤;

之后,主处理器100发送加密请求及待加密数据至加解密模块300;

控制模块310调用算法模块320;

所述算法模块320读取所述根秘钥及所述外部存储模块200中的加密秘钥,对所述加密秘钥进行解密,还原所述初始秘钥;

算法模块320利用初始秘钥对数据进行加密。

此时所述算法模块320包括HASH模块323,用于对加密的数据计算报文摘要,并添加到所述加密数据的信息首部。

下面以一实施例详细说明本安全芯片的加密方法,结合图3中的箭头方向,加密方法的具体步骤包括:

(1)应用程序发送对数据(文件)的加密请求;

(2)驱动程序接收请求将数据进行封装,通过主处理器100将加密请求发送到控制模块310;

(3)控制模块310解析加密请求,接收前述生成的加密密钥和数据(文件)信息;

(4)调用AES模块325,并读取内部存储模块330的根密钥(root_key), 对接收到密钥进行解密,还原生成的私钥(private_key)

(5)调用RSA模块322,使用还原的私钥(private_key)对数据(文件)进行加密,生成加密数据信息,保证数据的机密性;

(6)调用HASH模块323,按照请求信息对数据(文件)计算报文摘要,添加到加密数据信息首部,保证数据的完整性。

(7)向主处理器100返回数据加密结果。

此发明通过改进现有的芯片设计一种安全机制,芯片内部具有专用的加解密模块,管理密钥和加解密算法。该加解密模块并具有硬件随机数,通过生产过程中生成随机数作为芯片的唯一根密钥,存储在单独的存储区域,该根密钥只能由加解密模块使用,主处理器无法读取该根密钥。而后续应用生成密钥都需要使用加解密模块,并有根密钥自动对生成的密钥(或者非对称算法的私钥)进行加密存储,保证每部终端的数据只能被该终端读取,大大提高了终端的安全性。

本发明的核心是由专用加解密模块统一管理密钥和加密算法,每颗芯片具有唯一的根密钥,生成的密钥都由该根密钥进行加密存储,保证密钥的机密性。同时使用自动加密技术保护密钥,防止恶意软件攻击;同时,本发明中对数据加密和计算报文摘要都在专用加解密模块内部完整,加强了数据的安全性。

本发明的安全芯片的加密策略和现有的加密策略的对比如下:

综上所述,使用本发明的安全芯片的加密方法,由专用加解密模块管理密钥和加密算法,能够大大提高密钥的安全性,能够防止恶意软件窃取用户密钥。

显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1