微处理器、数据处理方法、电子设备和存储介质技术

技术编号:30235136 阅读:16 留言:0更新日期:2021-09-29 10:15
本公开提供了微处理器、数据处理方法、电子设备和存储介质。微处理包括:密码引擎单元,被配置为执行密码算法;M个缓存器单元,M个缓存器单元被配置为缓存所对应的执行环境的访问请求所需的数据,M为大于或等于1的整数;控制单元,连接于密码引擎单元和M个缓存器单元,并且控制单元被配置为:接收来自第一执行环境的访问请求,访问请求要访问密码引擎单元来执行密码算法;第一执行环境为N个执行环境中的一个执行环境,N为大于或等于1的整数;基于访问请求,指示密码引擎单元利用第一执行环境对应的缓存器单元中缓存的所需的数据执行访问请求需要执行的密码算法。可以安全地指示密码引擎单元执行密码算法。引擎单元执行密码算法。引擎单元执行密码算法。

【技术实现步骤摘要】
微处理器、数据处理方法、电子设备和存储介质


[0001]本公开涉及集成电路领域,且更具体地,涉及微处理器、数据处理方法、电子设备和存储介质。

技术介绍

[0002]随着计算机系统对安全需求的增加,越来越多的安全技术逐步应用到各种计算机系统中,密码技术与可信执行环境(Trusted Execution Environment,TEE)技术已成为安全系统的重要组成部分。密码运算是安全系统中必不可少的组成部分,密码加速引擎作为安全系统或安全计算机系统的一部分,可以专用于执行密码运算,提高密码运算的效率和性能。安全系统会使用密码技术来阻止攻击者得到重要的数据、伪造身份或者篡改文件。绝大多数的处理器都已经支持了TEE与普通执行环境(Rich Execution Environment,REE),TEE用于执行特定功能的可信程序,REE用于执行功能丰富的普通程序,并且TEE可以为REE提供各种安全服务。一般地,REE中的应用安全性要求较低,TEE中的应用安全性要求较高。TEE与环境的相互配合,可以构建一个既相对安全、又功能丰富的计算机系统。
[0003]存在构建安全的计算机系统的需要。

技术实现思路

[0004]计算机系统存在支持至少一个执行环境来使用密码引擎单元执行密码算法的需求,由于为了执行访问请求要求的密码运算,需要存放执行密码运算所需的数据、例如对其执行密码运算的对象数据以及密码运算本身的属性信息(例如,密码运算的类型、密钥等),如果用共享的存储区域来存储这些所需的数据,则来自安全性较高的执行环境的访问请求要求的密码运算所需的数据可能被恶意访问和篡改。因此,需要为每个执行环境提供相应的架构,以安全地指示密码引擎单元执行密码算法。
[0005]本公开的第一方面提供了一种微处理器,包括:密码引擎单元,被配置为执行密码算法;M个缓存器单元,所述M个缓存器单元被配置为缓存所对应的执行环境的访问请求所需的数据,所述M为大于或等于1的整数;控制单元,连接于所述密码引擎单元和所述M个缓存器单元,并且所述控制单元被配置为:接收来自第一执行环境的访问请求,所述访问请求要访问所述密码引擎单元来执行密码算法;所述第一执行环境为N个执行环境中的一个执行环境,所述N为大于或等于1的整数;基于所述访问请求,指示所述密码引擎单元利用所述第一执行环境对应的缓存器单元中缓存的所需的数据执行所述访问请求需要执行的密码算法。
[0006]与第一方面相对应地,本公开的第二方面提供了一种数据处理方法,应用于微处理器,所述微处理器包括:密码引擎单元,被配置为执行密码算法;M个缓存器单元,所述M个缓存器单元被配置为缓存所对应的执行环境的访问请求所需的数据,所述M为大于或等于1的整数;控制单元,连接于所述密码引擎单元和所述M个缓存器单元,并且所述数据处理方法包括由所述控制单元执行以下操作:接收来自第一执行环境的访问请求,所述访问请求
要访问所述密码引擎单元来执行密码算法;所述第一执行环境为N个执行环境中的一个执行环境,所述N为大于或等于1的整数;基于所述访问请求,指示所述密码引擎单元利用所述第一执行环境对应的缓存器单元中缓存的所需的数据执行所述访问请求需要执行的密码算法。
[0007]根据第一方面提供的微处理器和第二方面提供的数据处理方法,执行环境的访问请求所需的数据被存储在相应的缓存器单元中,使得可以针对性的存储所需的数据,保证了数据的安全性,从而可以安全地指示密码引擎单元执行密码算法。
[0008]本公开的第三方面提供了一种电子设备,包括:处理器;存储器,其上存储有指令,其中,所述指令在被处理器执行时,使得所述处理器执行如上所述任一实施例的方法及其附加方面。
[0009]本公开的第四方面提供了一种计算机可读存储介质,其上存储有指令,其中,所述指令在被处理器执行时,使得所述处理器执行如上所述任一实施例的方法及其附加方面。
[0010]例如,根据本公开的第一方面提供的微处理器,其中,在M大于1的情况下,所述M个缓存器单元相互分离。以这种方式,M个缓存器单元中的数据被相互隔离,保证了数据的安全性。
[0011]例如,根据本公开的第一方面提供的微处理器,其中,在M=N的情况下,所述M个缓存器单元与所述N个执行环境一一对应,以这种方式,每个执行环境均有各自的数据缓存器单元,避免了多个执行环境共用一个缓存器单元,保障了数据的安全性。
[0012]例如,根据本公开的第一方面提供的微处理器,其中,在N>1、M>1且N<M的情况下,所述M个缓存器单元中的N个缓存器单元与所述N个执行环境一一对应。以这种方式,在缓存器单元的数量多于执行环境的数量的情况下,每个执行环境均有各自的数据缓存器单元,避免了多个执行环境共用一个缓存器单元,保障了数据的安全性。
[0013]例如,根据本公开的第一方面提供的微处理器,其中,在N>1、M>1且N>M的情况下,所述N个执行环境中的一个或多个执行环境对应于所述M个缓存器单元中的一个缓存器单元。以这种方式,在缓存器单元的数量少于执行环境的数量的情况下,可以多个执行环境共用一个缓存器单元,实现有限的数据缓存器单元可以适用于多个执行环境。
[0014]例如,根据本公开的第一方面提供的微处理器,其中,与一个缓存器单元对应的多个执行环境的优先级的差异度小于预设阈值。以这种方式,可以解决在硬件上只有有限的缓存器单元的情况下如何兼容更多执行环境的问题并且使得微处理器满足性能要求。
[0015]例如,根据本公开的第一方面提供的微处理器,其中,所述N个执行环境包括可信执行环境TEE、普通执行环境REE和安全子系统SE中的至少一个。以这种方式,本公开的实施例可以适用于多种执行环境,通过本申请描述的微处理器,可以有针对性的满足不同执行环境的访问请求。
[0016]例如,根据本公开的第一方面提供的微处理器,其中,所述微处理器还包括直接存储器访问DMA单元,所述控制单元还被配置为:指示所述直接存储器访问DMA单元来传输执行所述密码算法所需的数据;或者指示所述直接存储器访问DMA单元来传输执行所述访问请求的密码算法的结果。以这种方式,既可以释放控制单元的运算能力,又可以提升数据传输的速度,并且还可以提高数据传输的安全性。
[0017]例如,根据本公开的第二方面提供的数据处理方法,其中,在M大于1的情况下,所
述M个缓存器单元相互分离。以这种方式,M个缓存器单元中的数据被相互隔离,保证了数据的安全性。
[0018]例如,根据本公开的第二方面提供的数据处理方法,其中,在M=N的情况下,所述M个缓存器单元与所述N个执行环境一一对应。以这种方式,每个执行环境均有各自的数据缓存器单元,避免了多个执行环境共用一个缓存器单元,保障了数据的安全性。
[0019]例如,根据本公开的第二方面提供的数据处理方法,其中,在N>1、M>1且N<M的情况下,所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种微处理器,包括:密码引擎单元,被配置为执行密码算法;M个缓存器单元,所述M个缓存器单元被配置为缓存所对应的执行环境的访问请求所需的数据,所述M为大于或等于1的整数;控制单元,连接于所述密码引擎单元和所述M个缓存器单元,并且所述控制单元被配置为:接收来自第一执行环境的访问请求,所述访问请求要访问所述密码引擎单元来执行密码算法;所述第一执行环境为N个执行环境中的一个执行环境,所述N为大于或等于1的整数;基于所述访问请求,指示所述密码引擎单元利用所述第一执行环境对应的缓存器单元缓存的所需的数据执行所述访问请求需要执行的密码算法。2.根据权利要求1所述的微处理器,其中,在M大于1的情况下,所述M个缓存器单元相互分离。3.根据权利要求1

2中任一项所述的微处理器,其中,在M=N的情况下,所述M个缓存器单元与所述N个执行环境一一对应。4.根据权利要求1

2中任一项所述的微处理器,其中,在N>1、M>1且N<M的情况下,所述M个缓存器单元中的N个缓存器单元与所述N个执行环境一一对应。5.根据权利要求1

2中任一项所述的微处理器,其中,在N>1、M>1且N>M的情况下,所述N个执行环境中的一个或多个执行环境对应于所述M个缓存器单元中的一个缓存器单元。6.根据权利要求5所述的微处理器,其中,与一个缓存器单元对应的多个执行环境的优先级的差异度小于预设阈值。7.根据权利要求1

2、6中任一项所述的微处理器,其中,所述N个执行环境包括可信执行环境TEE、普通执行环境REE和安全子系统SE中的至少一个。8.根据权利要求1

2、6中任一项所述的微处理器,其中,所述微处理器还包括直接存储器访问DMA单元,所述控制单元还被配置为:指示所述直接存储器访问DMA单元来传输执行所述密码算法所需的数据;或者指示所述直接存储器访问DMA单元来传输执行所述访问请求的密码算法的结果。9.一种数据处理方法,应用于微处理器,所述微处理器包括:密码引擎单元,被配置为执行密码算法;M个缓存器单元,所述M个缓存器单元被配置为缓存所对应的执行环境的访问请求所需的数据,所述M为大于或等于1的整数;控制单元,连接于所述密码引擎单元和所述M个缓存器单元,并...

【专利技术属性】
技术研发人员:郭御风窦强冯彦朝马卓张明朱青山王建越邓强
申请(专利权)人:飞腾信息技术有限公司
类型:发明
国别省市:

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

1