掌桥专利:专业的专利平台
掌桥专利
首页

数据加密方法、装置、数据解密方法及装置

文献发布时间:2023-06-19 09:33:52


数据加密方法、装置、数据解密方法及装置

技术领域

本公开涉及数据安全技术领域,尤其涉及一种数据加密方法、装置、数据解密方法及装置。

背景技术

现在的SOC(System on Chip,系统级芯片)中,通常包含多个CPU,运行众多的软件,这些软件一般都有自己的敏感信息需要保护,敏感信息不希望同时运行在该SOC的其他软件访问。同样,不同的SOC之间,也需要隔离彼此的敏感信息。现代密码学提供了可进行敏感信息保护的方法,如采用AES(Advanced Encryption Standard,高级加密标准)算法对信息加密,能够提供足够的安全性;又如MAC(Message authentication code,消息认证码)能够提供可靠的方式对信息进行认证;目前大多采用这些算法对数据信息进行保护,通过对这些算法进行不同的选择和搭配来实现对数据的保护。

但对数据进行加密保护的同时,数据的隔离也很重要,尤其是敏感数据的隔离。现有技术中,某一芯片上的加密信息存在被其他芯片进行解密的风险,同时芯片上不同软件实体的加密也存在被其他不同的软件实体进行解密的风险;但实际上不同的芯片之间或不同的软件实体之间都有各自的敏感数据,这些敏感数据不能与本芯片或本软件实体之外的芯片.或软件实体共享。因此,需要一种加密、解密方法来实现芯片或软件实体之间敏感数据的隔离。

发明内容

本公开提供了一种数据加密方法、装置、数据解密方法及装置,其技术目的是实现芯片本身或软件实体本身来对其加密信息进行解密。

本公开的上述技术目的是通过以下技术方案得以实现的:

一种数据加密方法,包括:

将设备唯一秘钥串接软件身份标识后进行哈希,得到封装秘钥;

生成第一随机加密秘钥;

通过所述封装秘钥对所述第一随机加密秘钥进行加密得到第二随机加密秘钥;

使用所述第一随机加密秘钥对敏感数据进行加密,得到加密敏感数据;

通过所述设备唯一秘钥对所述第二随机加密秘钥和所述加密敏感数据及其长度之和进行计算得到消息认证码,并形成封装块。

进一步地,所述软件身份标识包括各个CPU ID、CPU安全状态、CPU特权级别、虚拟机ID和进程ID,所述CPU安全状态包括安全状态和非安全状态,所述CPU特权级别包括内核态和用户态。

一种数据解密方法,包括:

通过设备唯一秘钥对第二随机加密秘钥和加密敏感数据及其长度之和进行计算得到消息认证码;

校验所述消息认证码与封装块中的消息认证码是否相同,相同则通过校验;

通过封装秘钥对所述第二随机加密秘钥进行解密得到第一随机加密秘钥;

通过所述第一随机加密秘钥对所述加密敏感数据进行解密得到敏感数据;

其中,所述封装秘钥是将设备唯一秘钥串接软件身份标识后进行哈希得到的哈希值。

一种数据加密装置,包括加密引擎,所述加密引擎包括:

哈希单元,用于将设备唯一秘钥串接软件身份标识后进行哈希,得到封装秘钥;

真随机数生成器,用于生成第一随机加密秘钥;

第一加密单元,通过所述封装秘钥对所述第一随机加密秘钥进行加密得到第二随机加密秘钥;

第二加密单元,使用所述第一随机加密秘钥对敏感数据进行加密,得到加密敏感数据;

第三加密单元,通过所述设备唯一秘钥对所述第二随机加密秘钥和所述加密敏感数据及其长度之和进行计算得到消息认证码,并形成封装块。

一种数据解密装置,包括加密引擎和解密引擎,所述加密引擎包括:

第三加密单元,所述第三加密单元用于通过设备唯一秘钥对第二随机加密秘钥和加密敏感数据及其长度之和进行计算得到消息认证码;

校验单元,用于校验所述消息认证码与封装块中的消息认证码是否相同,相同则通过校验;

所述解密引擎包括:

第一解密单元,通过封装秘钥对所述第二随机加密秘钥进行解密得到第一随机加密秘钥;

第二解密单元,通过所述第一随机加密秘钥对所述加密敏感数据进行解密得到敏感数据;

其中,所述封装秘钥是将设备唯一秘钥串接软件身份标识后进行哈希得到的哈希值。

本公开的有益效果在于:本公开所述的数据加密方法、装置、数据解密方法及装置,通过设备唯一秘钥结合软件身份标识得到封装秘钥,设备唯一秘钥是标识设备的唯一标识符,软件身份标识标识不同的软件实体,从而实现:(1)在某一芯片上生成的封装块只能在该芯片上解密,因为其他芯片没有该芯片的设备唯一秘钥;(2)在同一个芯片上,某一CPU生成的封装块只能由该CPU解密,因为其他CPU与该CPU ID不同,即软件身份标识不同;(3)在同一个芯片上的同一个CPU上,该CPU在安全状态下生成的封装块只能在安全状态下解密,安全状态包括在该CPU封装时的软件身份标识中;同理,在同一个芯片上的同一个CPU上,该CPU在特权状态下生成的封装块只能在特权状态下解密;(4)在同一块芯片上的同一个CPU上,如CPU支持虚拟机,则虚拟机A 生成的封装块只能由虚拟机A解密;(5)在同一块芯片上的同一个CPU上, 进程A生成的封装块不能由进程B解密。最终实现了不同芯片之间,不同CPU之间,同一CPU上不同安全状态、不同特权级别、支持的不同虚拟机、不同进程之间都能实现数据隔离,并且不影响正常的业务处理。

附图说明

图1为本公开加密方法的流程图;

图2为本公开解密方法的流程图;

图3为本公开加密装置示意图;

图4为本公开解密装置示意图。

具体实施方式

下面将结合附图对本公开技术方案进行详细说明。在本公开的描述中,需要理解地是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量,仅用来区分不同的组成部分。

图1为本公开加密方法的流程图,如图1所示,100:将设备唯一秘钥串接软件身份标识后进行哈希,得到封装秘钥。封装秘钥即是设备唯一秘钥与软件身份标识串接进行哈希得到的哈希值,不小于256bit。

设备唯一密钥用来唯一识别设备,例如每个芯片都有属于自身的设备唯一密钥,每个芯片仅知道自身的设备唯一密钥,因此各个芯片只能对自身的加密数据进行解密,无法解密其他芯片的加密数据,实现了不同芯片之间敏感数据的隔离。软件身份标识则用于标识同个芯片上不同CPU、CPU的不同安全状态、CPU的不同特权级别、CPU支持的不同的虚拟机及运行的不同进程等;每个CPU只能对自身的加密数据进行解密,若是在CPU安全状态时加密数据、在非安全状态时就不能对该加密数据进行解密,实现了同个芯片上不同CPU之间以及同个CPU上不同安全状态、不同特权级别、不同虚拟机、不同进程之间的敏感数据的隔离。

101:生成第一随机加密秘钥。第一随机加密秘钥,一般由真随机数生成器生成,不小于256bit。

102:通过所述封装秘钥对所述第一随机加密秘钥进行加密得到第二随机加密秘钥。作为具体实施例地,封装秘钥使用对称秘钥算法对第一随机加密秘钥进行加密,得到加密后的第一随机加密秘钥,即第二随机加密秘钥。

103:使用所述第一随机加密秘钥对敏感数据进行加密,得到加密敏感数据;

104:通过所述设备唯一秘钥对所述第二随机加密秘钥和所述加密敏感数据及其长度之和进行计算得到消息认证码,并形成封装块。

作为具体实施例地,软件身份标识包括各个CPU ID、CPU安全状态、CPU特权级别、虚拟机ID和进程ID。例如,芯片内包含多个CPU,CPU ID用来区分每个不同的CPU,单个CPU内可能包含多个核,但这些核共享同一个CPU ID;CPU安全状态最少包括安全状态和非安全状态;CPU特权级别最少包括内核态和用户态;虚拟机ID表示在支持虚拟化的CPU上各虚拟机的ID,一般由虚拟机监视器分配;进程ID用于在运行的多任务操作系统中,表示各个任务的ID,一般由操作系统分配。软件身份标识信息一般在系统总线内,当系统访问加密引擎或解密引擎时,加密引擎和解密引擎可同步得到总线上传输过来的这些信息。

图2为本公开解密方法流程图,200:通过设备唯一秘钥对第二随机加密秘钥和加密敏感数据及其长度之和进行计算得到消息认证码;201:校验所述消息认证码与封装块中的消息认证码是否相同,相同则通过校验;202:通过封装秘钥对所述第二随机加密秘钥进行解密得到第一随机加密秘钥;

203:通过所述第一随机加密秘钥对所述加密敏感数据进行解密得到敏感数据。

在解密的过程中,设备唯一秘钥是设备本身已知的,经加密的敏感数据和第二随机加密秘钥是经加密过程得到的,解密首先需要通过设备唯一秘钥对第二随机加密秘钥和加密敏感数据进行消息认证码验证,若验证不通过则无需进行后续的解密。

图3为本公开数据加密装置示意图,该加密装置包括加密引擎,加密引擎又包括哈希单元、真随机数生成器、第一加密单元、第二加密单元和第三加密单元。哈希单元用于将设备唯一秘钥串接软件身份标识后进行哈希,得到封装秘钥;真随机数生成器用于生成第一随机加密秘钥;第一加密单元通过封装秘钥对第一随机加密秘钥进行加密得到第二随机加密秘钥;第二加密单元使用第一随机加密秘钥对敏感数据进行加密,得到加密敏感数据;第三加密单元通过设备唯一秘钥对第二随机加密秘钥和加密敏感数据及其长度之和进行计算得到消息认证码,并形成封装块。

图4为数据解密装置示意图,该解密装置包括加密引擎和解密引擎,加密引擎包括第三加密单元和校验单元,解密引擎包括第一解密单元和第二解密单元。

第三加密单元用于通过设备唯一秘钥对第二随机加密秘钥和加密敏感数据及其长度之和进行计算得到消息认证码;校验单元用于校验消息认证码与封装块中的消息认证码是否相同,相同则通过校验。

第一解密单元通过封装秘钥对第二随机加密秘钥进行解密得到第一随机加密秘钥;第二解密单元通过第一随机加密秘钥对加密敏感数据进行解密得到敏感数据。

以上为本公开示范性实施例,本公开的保护范围由权利要求书及其等效物限定。

相关技术
  • 数据加密方法和解密方法及数据加密装置和解密装置
  • 数据加密方法、数据解密方法、装置及电力数据交互系统
技术分类

06120112210099