System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() TPM的通信方法、TPM、单板和设备技术_技高网

TPM的通信方法、TPM、单板和设备技术

技术编号:44493512 阅读:0 留言:0更新日期:2025-03-04 17:59
本公开提供了一种TPM的通信方法、TPM、单板和设备,应用于计算机技术领域,TPM包括:TPM逻辑模块、接收缓存器、TPM寄存器和处理器,TPM寄存器是在TPM的内存中划分出的存储空间。TPM逻辑模块接收host发送的TPM寄存器写命令,将写命令的有效载荷存储至接收缓存器,TPM寄存器写命令的有效载荷是组成TPM命令数据的部分或全部内容;当接收缓存器中的数据达到第一数据量阈值时,处理器将接收缓存器中的数据转存至TPM寄存器中;当TPM寄存器中已存入TPM命令数据的全部内容时,处理器执行TPM命令数据。可以解决相关技术中TPM通信采用纯硬件方案导致的TPM硬件成本较高的问题。

【技术实现步骤摘要】

本公开涉及计算机,特别涉及一种tpm的通信方法、tpm、单板和设备。


技术介绍

1、可信平台模块(tpm,trusted platform module)是一种独立的安全芯片,可以安全地存储用于验证设备的信息,设备可以为计算机、手机、通信设备等,用于验证设备的信息可以为密码、证书、加密密钥等。tpm作为被动器件,不会主动执行操作,需要设备的业务中央处理器(central processing unit,cpu)作为主机(host)和tpm进行通信,向tpm下发tpm命令数据,进而,tpm执行tpm命令数据所指示的任务,并将任务的响应数据返回给host。

2、目前,在tpm中用于和host进行通信的模块由纯硬件实现,导致tpm的整体硬件成本增加。


技术实现思路

1、本公开提供了一种tpm的通信方法、tpm、单板和设备,能够解决相关技术中由于tpm中用于和host进行通信的模块由纯硬件实现,导致的tpm的硬件成本较高的问题。技术方案如下:

2、第一方面,提供了一种tpm的通信方法,tpm包括tpm逻辑模块、接收缓存器、tpm寄存器和处理器,其中,tpm寄存器是在tpm的内存中划分出的存储空间,方法包括:

3、tpm逻辑模块接收host发送的tpm寄存器写命令,将tpm寄存器写命令的有效载荷存储至接收缓存器,其中,tpm寄存器写命令的有效载荷是组成tpm命令数据的部分或全部内容。当接收缓存器中存储的数据达到第一数据量阈值时,处理器将接收缓存器中存储的数据转存至tpm寄存器中。当tpm寄存器中已存入tpm命令数据的全部内容时,处理器执行tpm命令数据所指示的任务。

4、在本公开提供的技术方案中,将需要存储完整tpm命令数据的tpm寄存器由软件模拟实现(即在tpm的内存中划分出一块存储空间,这块存储空间对外即体现为tpm寄存器),而新加入的接收缓存器不需要能够存储完整的tpm命令数据,只需能够存储一个tpm寄存器写命令的有效载荷即可,而在实际实现中一个tpm寄存器写命令的有效载荷仅仅是tpm命令数据是一部分,这样的话,虽然接收缓存器是由硬件实现,但是所需芯片面积要比相关技术中硬件实现的tpm寄存器所需的芯片面积要小,可以有效节省硬件成本。示例性的,tpm寄存器需要能够存储至少1k字节(byte)的数据,而接收缓存器只需能够存储128byte的数据即可,硬件实现上,实现接收缓存器所需硬件成本要比实现tpm寄存器所需硬件成本要小的多。

5、在一种可能的实现方式中,tpm还包括发送缓存器,方法还包括:

6、处理器将任务的响应数据存储至tpm寄存器中,再将tpm寄存器存储的响应数据转存至发送缓存器中。tpm逻辑模块将发送缓存器存储的响应数据,发送至host。

7、在本公开提供的技术方案中,tpm中还引入了发送缓存器,发送缓存器所需存储的数据量和接收缓存器所需存储的数据量相近。示例性的,发送缓存器和接收缓存器均可以只需能够存储128byte数据即可。这样,发送缓存器和接收缓存器总共需要能够存储的数据量也比tpm寄存器需要能够存储的数据量小的多,即硬件成本也会小的多。

8、在一种可能的实现方式中,处理器将任务的响应数据存储至tpm寄存器中的处理可以包括:

9、处理器在tpm寄存器存储的响应数据中,读取不大于发送缓存器的剩余存储空间的数据,转存至发送缓存器中,tpm逻辑模块接收host发送的tpm寄存器读命令。其中,tpm寄存器读命令中携带待读取数据量的指示信息。然后,tpm逻辑模块将发送缓存器中存储的待读取数据量的响应数据,发送至host。此外,tpm逻辑模块监测发送缓存器中存储的数据量,当存储的数据量小于第二数据量阈值时,向处理器发送第一中断信号。响应于第一中断信号,处理器在tpm寄存器存储的所述响应数据中,读取不大于发送缓存器的剩余存储空间的数据,转存至发送缓存器中。

10、在本公开提供的技术方案中,tpm寄存器读命令的命令头中包括读数据量字段,该字段中的值即为待读取数据量的指示信息,用于指示host想要读取的数据量大小。发送缓存器的存储空间较小,可能无法存储完整的响应数据,那么,可以由处理器将响应数据分批次转存至发送缓存器中。

11、在一种可能的实现方式中,tpm逻辑模块接收host发送的tpm寄存器写命令之前,方法还包括:

12、tpm逻辑模块将状态寄存器中的突发数据量(burst count)字段的值配置为接收缓存器的剩余存储空间大小。

13、在本公开提供的方案中,可以由tpm逻辑模块对状态寄存器中的burst count字段的值进行动态调整。burst count字段的值是提供给host的,在tpm接收命令数据的场景下,该字段的值用于指示tpm可以在不反压host的情况下接收多少数据。为了使host发送的数据,刚好可以被tpm接收,而不会对host反压,tpm逻辑模块可以在tpm接收命令数据的场景下,将该字段的值配置为接收缓存器的剩余存储空间大小。这样,host向tpm发送的tpm寄存器写命令中携带的有效载荷的数据量即可以小于或等于接收缓存器的剩余存储空间大小,从而,tpm逻辑模块可以在接收到tpm寄存器写命令的命令头的同时(当拍),返回高电平信号,这样,host便可以无需等待的将tpm寄存器写命令的有效载荷发送给tpm。这样,使得本公开提供的tpm的通信方法可以满足tcg pc客户端平台tpm配置文件(tcg pc clientplatform tpm profile,ptp)规范的零时延要求。

14、在一种可能的实现方式中,处理器执行所述tpm命令数据所指示的任务之后,方法还包括:

15、tpm逻辑模块将状态寄存器中的burst count字段的值配置为发送缓存器中存储的数据的数据量。

16、在本公开提供的方案中,在tpm发送数据的场景下(即host向tpm读取任务的响应数据的场景),burst count字段的值用于指示tpm可以在不反压host的情况下给host发送多少数据。为了使发送缓存器中存储的数据量不小于host想要读取的数据量,在tpm发送数据的场景下,tpm逻辑模块将burst count字段的值配置为发送缓存器中存储的数据的数据量。这样,host便可以无需等待的读取到想要读取的响应数据。

17、在一种可能的实现方式中,处理器将接收缓存器中存储的数据转存至tpm寄存器中,可以由tpm逻辑模块触发,处理如下:

18、tpm逻辑模块确定接收缓存器中存储的数据达到第一数据量阈值,向处理器发送第二中断消息。响应于第二中断消息,处理器将接收缓存器中存储的数据转存至tpm寄存器中。

19、第二方面,提供了一种tpm,所述tpm包括tpm逻辑模块、接收缓存器、tpm寄存器和处理器,所述tpm寄存器是在所述tpm的内存中划分出的存储空间,其中:

20、所述tpm逻辑模块,用于接收主本文档来自技高网...

【技术保护点】

1.一种可信平台模块TPM的通信方法,其特征在于,所述TPM包括TPM逻辑模块、接收缓存器、TPM寄存器和处理器,其中,所述TPM寄存器是在所述TPM的内存中划分出的存储空间,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述TPM还包括发送缓存器,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述处理器将所述任务的响应数据存储至所述TPM寄存器中,包括:

4.根据权利要求1-3中任一项所述的方法,其特征在于,所述TPM逻辑模块接收host发送的TPM寄存器写命令之前,所述方法还包括:

5.根据权利要求1-4中任一项所述的方法,其特征在于,所述处理器执行所述TPM命令数据所指示的任务之后,所述方法还包括:

6.根据权利要求1-5中任一项所述的方法,其特征在于,所述当所述接收缓存器中存储的数据达到第一数据量阈值时,所述处理器将所述接收缓存器中存储的数据转存至所述TPM寄存器中,包括:

7.一种可信平台模块TPM,其特征在于,所述TPM包括TPM逻辑模块、接收缓存器、TPM寄存器和处理器,所述TPM寄存器是在所述TPM的内存中划分出的存储空间,其中:

8.根据权利要求7所述的TPM,其特征在于,所述TPM还包括发送缓存器,所述处理器,还用于将所述任务的响应数据存储至所述TPM寄存器中,将所述TPM寄存器存储的所述响应数据转存至所述发送缓存器中;

9.根据权利要求8所述的TPM,其特征在于,所述处理器,用于在所述TPM寄存器存储的所述响应数据中,读取不大于所述发送缓存器的剩余存储空间的数据,转存至所述发送缓存器中;

10.根据权利要求7-9中任一项所述的TPM,其特征在于,所述TPM逻辑模块接收host发送的TPM寄存器写命令之前,所述TPM逻辑模块,还用于将状态寄存器中的突发数据量burstcount字段的值配置为所述接收缓存器的剩余存储空间大小。

11.根据权利要求7-10中任一项所述的TPM,其特征在于,所述处理器执行所述TPM命令数据所指示的任务之后,所述TPM逻辑模块,还用于将状态寄存器中的burst count字段的值配置为所述发送缓存器中存储的数据的数据量。

12.根据权利要求7-11中任一项所述的TPM,其特征在于,所述TPM逻辑模块,还用于确定所述接收缓存器中存储的数据达到第一数据量阈值,向所述处理器发送第二中断消息;

13.一种单板,其特征在于,所述单板包括中央处理器CPU和可信平台模块TPM,其中,所述CPU用于向所述TPM发送寄存写命令,所述TPM用于执行如权利要求1-6中任一项所述的可信平台模块TPM通信方法。

14.一种设备,其特征在于,所述设备包括中央处理器CPU和可信平台模块TPM,其中,所述CPU用于向所述TPM发送TPM寄存器写命令,所述TPM用于执行如权利要求1-6中任一项所述的可信平台模块TPM通信方法。

...

【技术特征摘要】

1.一种可信平台模块tpm的通信方法,其特征在于,所述tpm包括tpm逻辑模块、接收缓存器、tpm寄存器和处理器,其中,所述tpm寄存器是在所述tpm的内存中划分出的存储空间,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述tpm还包括发送缓存器,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述处理器将所述任务的响应数据存储至所述tpm寄存器中,包括:

4.根据权利要求1-3中任一项所述的方法,其特征在于,所述tpm逻辑模块接收host发送的tpm寄存器写命令之前,所述方法还包括:

5.根据权利要求1-4中任一项所述的方法,其特征在于,所述处理器执行所述tpm命令数据所指示的任务之后,所述方法还包括:

6.根据权利要求1-5中任一项所述的方法,其特征在于,所述当所述接收缓存器中存储的数据达到第一数据量阈值时,所述处理器将所述接收缓存器中存储的数据转存至所述tpm寄存器中,包括:

7.一种可信平台模块tpm,其特征在于,所述tpm包括tpm逻辑模块、接收缓存器、tpm寄存器和处理器,所述tpm寄存器是在所述tpm的内存中划分出的存储空间,其中:

8.根据权利要求7所述的tpm,其特征在于,所述tpm还包括发送缓存器,所述处理器,还用于将所述任务的响应数据存储至所述tpm寄存器中,将所述tpm寄存器存储的所述响应数据转存至所述发送缓存器中;

...

【专利技术属性】
技术研发人员:练义德刘晓虎章庆隆
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1