具有基于信任根的安全性的加密且认证的固件供应的制作方法

文档序号:36405700发布日期:2023-12-16 12:31阅读:49来源:国知局
具有基于信任根的安全性的加密且认证的固件供应的制作方法

本公开总体上涉及用于在各方之间建立信任的方法和系统。特别地,本公开涉及用于向电子设备安全地提供固件的方法以及配置成执行这样的方法的计算装置。本文的公开适用于许多设备和网络,但是特别适用于互联网连接的设备。


背景技术:

1、比如互联网之类的网络改变了日常工作的执行方式,并且这对信息安全产生了重大影响。许多日常任务要求数字设备进行安全认证和由另一方认证和/或安全地处理私人信息。随着物联网(iot)的发展,比如供暖和照明之类的系统由互联网连接的设备控制变得越来越普遍——每年都有越来越多的设备连接到互联网。

2、向比如iot设备之类的电子设备安全提供秘密信息的固有困难会影响进一步的下游流程,比如设备的注册——其进入互联设备的网格的开始。常常,秘密信息(比如非对称密钥对的预共享密钥或私钥)和/或设备证书必须在制造时安全地提供给设备,以便向设备提供一些基本凭证,利用这些凭证来注册服务。同样,对于如何安全地完成此操作存在限制。

3、在典型的场景中,原始装备制造商(oem)可以寻求为制造的设备提供身份,以允许注册iot服务,以及在设备上安全地安装固件。该设备可以包括例如具有用于存储密钥的安全区域的微控制器,并且该微控制器可以由第三方制造商制造。oem或制造商可以例如将私密密钥和设备证书添加到安全区域中,这需要安全设施。为了在设备上安装固件/证书,oem可以使用编程公司的服务来配置设备,这需要进一步的信任。必须信任编程公司来操作安全设施,添加正确的信息,并代表oem安全地对证书签名。在一些情况下,供应设备可能需要多个不同方与电子设备交互。然而,这些不同方可以访问要安装在电子设备上的信息,例如固件或证书,并且因此存在这些不同方中的任何一方在将信息安装在电子设备上之前篡改信息的风险。

4、本发明实施例的目的是至少缓解本领域已知的一个或多个问题。


技术实现思路

1、根据本发明的一个方面,提供了一种方法,该方法用于向电子设备提供固件。该电子设备包括具有物理不可克隆函数(puf)的安全模块,该安全模块配置成基于对puf的第一挑战和响应来建立固件密钥对(fpk、fsk),该固件密钥对包括固件公共密钥(fpk)和固件私密密钥(fsk)。该方法包括使用权威机构密钥对的私密密钥使得固件的散列被签名,以获得签名。权威机构密钥对包括公共密钥和私密密钥,其中,公共密钥安全地嵌入在电子设备中。该方法还包括使用服务器加密密钥来加密固件和签名。该方法还包括使用fpk来加密服务器解密密钥,该服务器解密密钥用于对加密的固件和加密的签名进行解密;该方法还包括将加密的固件、加密的签名和加密的服务器解密密钥传送给第三方以安装在电子设备上。

2、有利地,该方法使得固件能够以加密的形式提供给电子设备,使得只有电子设备能够解密固件。这确保了固件创建者,例如原始装备制造商(oem)可以确信专有固件将保持机密。在电子设备的制造和编程中涉及的其他方,例如第三方编程公司不能在篡改不被检测到的情况下而篡改固件。

3、有利的是,固件密钥对基于的是对puf的挑战和响应,这意味着在制造期间不需要将秘密信息添加到设备中,并且不需要将私密密钥存储在设备的存储器中。

4、该方法还可以包括接收固件并对固件执行散列函数以生成固件的散列。

5、该方法还可以包括接收固件的散列。

6、使得固件的散列被签名可以包括对固件的散列进行签名。

7、使得固件的散列被签名可以包括将固件的散列发送到可信权威机构,并从可信权威机构接收签名。

8、该方法还可以包括从可信权威机构接收fpk。

9、服务器加密密钥可以与服务器解密密钥相同。替代地,可以使用非对称服务器加密密钥和服务器解密密钥。

10、安全模块还可以配置成基于对puf的第二挑战和响应来建立注册密钥对(epk、esk),注册密钥对包括注册公共密钥(epk)和注册私密密钥(esk);并且该方法还可以包括向第三方传送设备标识符,该设备标识符包括epk的函数。有利地,设备标识符因此被链接到基于对puf的挑战和响应的epk和esk,并且因此在制造期间不需要将秘密信息添加到设备中来为设备供应身份。

11、设备标识符可以从可信权威机构来接收。

12、该方法可以进一步包括,在已经将固件安装在电子设备上之后,接收设备标识符并且向可信权威机构登记设备标识符。通过向可信权威机构登记设备标识符,提高了安全性,因为可以禁止没有向其登记设备标识符的其他方与电子设备通信。具体而言,设备标识符变得与特定服务器相关联,并且因此在没有服务器授权的情况下,其他第三方不可以与该设备进行交互。

13、根据本发明的一个方面,提供了一种计算机可读介质。计算机可读介质具有存储在其上的指令,当由一个或多个处理器执行时,这些指令使得一个或多个处理器执行如本文所述的用于向电子设备提供固件的方法。

14、根据本发明的一个方面,提供了一种计算装置。该计算装置包括一个或多个处理器。该计算装置还包括其上存储有指令的一个或多个存储器,当由一个或多个处理器执行时,这些指令使得一个或多个处理器执行如本文所述的用于向电子设备提供固件的方法。

15、根据本发明的一个方面,提供了一种用于认证用于电子设备的固件的方法,该电子设备包括具有物理不可克隆函数(puf)的安全模块,该安全模块配置成基于对puf的第一挑战和响应来建立固件密钥对(fpk、fsk),以及基于对puf的第二挑战和响应来建立注册密钥对(epk、esk),其中,固件密钥对包括固件公共密钥(fpk)和固件私密密钥(fsk),并且其中,注册密钥对(esk epk)包括注册公共密钥(epk)和注册私密密钥(esk)。该方法包括通过安全通信信道从服务器接收固件的散列,该固件用于安装在电子设备上。该方法包括使用权威机构密钥对的秘密权威机构密钥对固件的散列进行签名,权威机构密钥对包括公共权威机构密钥(pak)和秘密权威机构密钥(sak),其中,公共权威机构密钥安全地嵌入在电子设备中。该方法包括启动将签名传送给第三方以安装在电子设备上。该方法包括通过安全通信信道向服务器发送fpk和用于识别电子设备的相关联设备标识符,该设备标识符包括epk的函数。

16、有利的是,这样的一种方法使得电子设备能够接收已经由可信权威机构授权的固件,而该可信权威机构无权访问该固件。此外,不需要以未加密的形式将秘密信息添加到电子设备中。

17、该方法还可以包括从安全模块提取设备标识符。

18、该方法还可以包括从安全模块提取fpk。

19、该方法还可以包括接收设备标识符和fpk。

20、该方法还可以包括接收向服务器登记设备标识符的请求。

21、该方法还可以包括在查找表中输入设备标识符和fpk。

22、根据本发明的一个方面,提供了一种计算机可读介质。计算机可读介质上具有指令,当由一个或多个处理器执行时,这些指令使得一个或多个处理器执行如本文所述的用于认证电子设备的固件的方法。

23、根据本发明的一个方面,提供了一种计算装置。该计算装置包括一个或多个处理器。该计算装置还包括其上存储有指令的一个或多个存储器,当由一个或多个处理器执行时,这些指令使得一个或多个处理器执行如本文所述的用于认证电子设备的固件的方法。

24、根据本发明的一个方面,提供了一种由电子设备执行的方法,该电子设备包括具有物理不可克隆函数(puf)的安全模块,该安全模块配置成基于对puf的第一挑战和响应来建立固件密钥对(fpk、fsk),该固件密钥对包括固件公共密钥(fpk)和固件私密密钥(fsk)。该方法包括使用fsk对加密的服务器解密密钥进行解密,其中,服务器解密密钥使用fpk来加密。该方法还包括使用解密的服务器解密密钥来解密固件和对固件散列的签名。该方法还包括使用安全地嵌入在电子设备中的公共权威机构密钥来验证固件的散列已经被可信权威机构签名。该方法还包括,基于验证在电子设备上安装解密的固件。

25、该方法还可以包括,在引导电子设备时,验证固件已经被可信方签名。

26、根据本发明的一个方面,提供了一种电子设备。该电子设备包括具有物理不可克隆函数(puf)的安全模块,该安全模块配置成基于对puf的第一挑战和响应来建立固件密钥对(fpk、fsk),该固件密钥对包括固件公共密钥(fpk)和固件私密密钥(fsk)。该电子设备还包括一个或多个处理器,一个或多个处理器包括安全模块或通信地耦合到安全模块。一个或多个处理器配置成使用fsk对加密的服务器解密密钥进行解密,其中,服务器解密密钥是使用fpk来加密的。一个或多个处理器配置成使用解密的服务器解密密钥来解密固件和对固件散列的签名。一个或多个处理器配置成使用安全地嵌入在电子设备中的公共权威机构密钥来验证固件的散列已经被可信权威机构签名。一个或多个处理器配置成基于验证在电子设备上安装解密的固件。

27、有利的是,将固件安全地提供给电子设备。在制造期间,没有秘密信息存储在电子设备上。此外,由于安全性的一部分基于对安装在电子设备中的puf的挑战和响应,所以相关的私密密钥始终不需要存储在电子设备上,而是可以根据需要动态地重新生成。

28、根据本发明的一个方面,提供了一种系统,该系统用于向电子设备提供固件。该电子设备包括具有物理不可克隆函数(puf)的安全模块,该安全模块配置成基于对puf的第一挑战和响应来建立固件密钥对(fpk、fsk),其中,该固件密钥对包括固件公共密钥(fpk)和固件私密密钥(fsk)。该系统包括可信权威机构和服务器。可信权威机构配置成从服务器接收固件的散列。可信权威机构配置成使用权威机构密钥对的秘密权威机构密钥对固件的散列进行签名,权威机构密钥对包括公共权威机构密钥和秘密权威机构密钥,其中,公共权威机构密钥安全地嵌入在电子设备中。可信权威机构配置成向服务器发送对固件的散列的签名。可信权威机构配置成向服务器发送fpk。服务器配置成通过固件从可信权威机构接收签名。服务器配置成从可信权威机构接收fpk。服务器配置成使用服务器加密密钥来加密固件和签名。服务器配置成服务器解密密钥使用fpk来加密,该服务器解密密钥用于解密固件和签名。服务器配置成将加密的固件、加密的签名和加密的服务器解密密钥传送给第三方以安装在电子设备上。

29、根据本发明的一个方面,提供了一种方法,该方法用于向电子设备提供固件。该电子设备包括具有物理不可克隆函数(puf)的安全模块。安全模块配置成基于对puf的第一挑战和响应来建立固件密钥对(fpk、fsk),固件密钥对包括固件公共密钥(fpk)和固件私密密钥(fsk)。该方法包括使用包括公共密钥和私密密钥的授权/签名密钥对的私密密钥使得加密形式的固件被签名,其中,公共密钥安全地嵌入在电子设备中。固件使用服务器加密密钥来加密。该方法还包括将签名的加密形式的固件传送给第三方以安装在电子设备上。该方法还包括将加密形式的服务器解密密钥传送给第三方以安装在电子设备上,其中,服务器解密密钥用于对加密形式的固件进行解密,并且其中,服务器解密密钥使用fpk来加密。

30、有利地,该方法使得固件能够以加密的形式提供给电子设备,使得只有电子设备能够解密固件。这确保了固件创建者,例如原始装备制造商(oem)可以确信专有固件将保持机密。参与电子设备的制造和编程的其他方不能篡改固件。

31、有利的是,固件密钥对是基于对puf的挑战和响应的,这意味着在制造期间不需要将秘密信息添加到设备中,并且不需要将私密密钥存储在设备的存储器中。

32、该方法还可以包括接收固件并加密固件以生成加密形式的固件。该方法还可以包括接收加密形式的固件。

33、使得对加密形式的固件被签名可以包括对加密形式的固件进行签名。使得对加密形式的固件被签名可以包括将加密形式的固件传输到可信权威机构,并且从可信权威机构接收签名的加密形式的固件。对加密形式的固件进行签名确保了可以检测到在安装到设备上之前对固件的任何篡改,从而增强了对下游安全措施的信心。

34、该方法还可以包括从可信权威机构接收fpk。

35、该方法还可以包括使用fpk来加密服务器加密密钥。

36、服务器加密密钥可以与服务器解密密钥相同。

37、安全模块还可以配置成基于对puf的第二挑战和响应来建立注册密钥对(epk、esk),注册密钥对包括注册公共密钥(epk)和注册私密密钥(esk)。该方法还可以包括向第三方传送设备标识符,该设备标识符包括epk的函数。该函数可以包括密写散列函数。有利地,设备标识符被链接到基于对puf的挑战和响应的epk和esk,并且因此在制造期间不需要将秘密信息添加到设备中。

38、可以从可信权威机构接收设备标识符。

39、该方法可以进一步包括,在已经将固件安装在电子设备上之后,接收设备标识符并且向可信权威机构登记设备标识符。通过向可信权威机构登记设备标识符,提高了安全性,因为没有登记设备标识符的其他方不能与电子设备通信。具体来说,设备标识符变得与该服务器相关联,并且因此在没有服务器授权的情况下,其他第三方不能与该设备进行交互。

40、根据本发明的一个方面,提供了一种计算机可读介质。计算机可读介质具有存储在其上的指令,当由一个或多个处理器执行时,这些指令使得一个或多个处理器执行如本文所述的用于向电子设备提供固件的方法。

41、根据本发明的一个方面,提供了一种计算装置。该计算装置包括一个或多个处理器。该计算装置还包括其上存储有指令的一个或多个存储器,当由一个或多个处理器执行时,这些指令使得一个或多个处理器执行如本文所述的用于向电子设备提供固件的方法。

42、根据本发明的一个方面,提供了一种用于认证电子设备的固件的方法。该电子设备包括具有物理不可克隆函数(puf)的安全模块。安全模块配置成基于对puf的第一挑战和响应来建立固件密钥对(fpk、fsk),以及基于对puf的第二挑战和响应来建立注册密钥对(epk、esk),其中,固件密钥对包括固件公共密钥(fpk)和固件私密密钥(fsk),并且其中,注册密钥对(epk、esk)包括注册公共密钥(epk)和注册私密密钥(esk)。该方法包括通过安全通信信道从服务器接收加密的固件,该固件用于安装在电子设备上。该方法还包括使用权威机构密钥对的秘密权威机构密钥对加密的固件进行签名,权威机构密钥对包括公共权威机构密钥和秘密权威机构密钥,其中,公共权威机构密钥安全地嵌入在电子设备中。该方法还包括启动将签名的加密固件传送给第三方以安装在电子设备上。该方法还包括通过安全通信信道向服务器发送查找表,该查找表指示fpk和用于识别电子设备的相关联设备标识符,该设备标识符包括epk的函数。该函数可以包括密写散列函数。

43、有利的是,这样的一种方法使得电子设备能够接收由可信权威机构授权的固件,而该可信权威机构无权访问未加密形式的固件。此外,不需要以未加密的形式将秘密信息添加到电子设备中。

44、该方法还可以包括从安全模块提取设备标识符。该方法还可以包括从安全模块提取fpk。该方法可以包括接收设备标识符和fpk。

45、该方法还可以包括接收向服务器登记设备标识符的请求。通过向服务器登记设备标识符,提高了安全性,因为没有向其登记设备标识符的其他方不能与电子设备通信。该方法还可以包括在查找表中输入设备标识符和fpk。

46、根据本发明的一个方面,提供了一种计算机可读介质。计算机可读介质具有存储在其上的指令,当由一个或多个处理器执行时,这些指令使得一个或多个处理器执行如本文所述的用于认证电子设备的固件的方法。

47、根据本发明的一个方面,提供了一种计算装置。该计算装置包括一个或多个处理器。该计算装置还包括其上存储有指令的一个或多个存储器,当由一个或多个处理器执行时,这些指令使得一个或多个处理器执行如本文所述的用于认证电子设备的固件的方法。

48、根据本发明的一个方面,提供了一种方法,该方法由电子设备执行。该电子设备包括具有物理不可克隆函数(puf)的安全模块。安全模块配置成基于对puf的第一挑战和响应来建立固件密钥对(fpk、fsk),固件密钥对包括固件公共密钥(fpk)和固件私密密钥(fsk)。该方法包括使用fsk解密加密的服务器解密密钥,其中,服务器解密密钥使用fpk来加密。该方法还包括使用安全地嵌入在电子设备中的公共权威机构密钥来验证加密形式的固件已经被可信权威机构认证。该方法还包括使用解密的服务器解密密钥来解密用于安装在电子设备上的固件。

49、有利的是,将固件安全地提供给电子设备。在制造期间,没有秘密信息存储在电子设备上。此外,由于安全性的一部分基于的是对安装在电子设备中的puf的挑战和响应,所以相关的私密密钥始终不需要存储在电子设备上,而是可以根据需要动态地重新生成。

50、根据本发明的一个方面,提供了一种计算机可读介质。该计算机可读介质上存储有指令,当由一个或多个处理器执行时,这些指令使得一个或多个处理器执行一种方法,该方法包括:使用fsk对加密的服务器解密密钥进行解密,其中,服务器解密密钥使用fpk来加密;使用安全地嵌入在电子设备中的公共权威机构密钥来验证加密形式的固件已经被可信权威机构认证;以及使用解密的服务器解密密钥来解密用于安装在电子设备上的固件。

51、根据本发明的一个方面,提供了一种电子设备。该电子设备包括具有物理不可克隆函数(puf)的安全模块。安全模块配置成基于对puf的第一挑战和响应来建立固件密钥对(fpk、fsk),固件密钥对包括固件公共密钥(fpk)和固件私密密钥(fsk)。该电子设备还包括一个或多个处理器,一个或多个处理器包括安全模块或通信地耦合到安全模块,其中,一个或多个处理器配置成:使用fsk对加密的服务器解密密钥进行解密,其中,服务器解密密钥使用fpk来加密;使用安全地嵌入在电子设备中的公共权威机构密钥来验证加密形式的固件已经被可信权威机构认证;以及使用解密的服务器解密密钥来解密用于安装在电子设备上的固件。

52、根据本发明的一个方面,提供了一种系统。该系统用于向电子设备提供固件。该电子设备包括具有物理不可克隆函数(puf)的安全模块。安全模块配置成基于对puf的第一挑战和响应来建立固件密钥对(fpk、fsk),以及基于对puf的第二挑战和响应来建立注册密钥对(epk、esk),其中,固件密钥对包括固件公共密钥(fpk)和固件私密密钥(fsk),并且其中,注册密钥对(epk、esk)包括注册公共密钥(epk)和注册私密密钥(esk)。该系统包括可信权威机构和服务器。可信权威机构配置成从服务器接收加密的固件。可信权威机构还配置成使用权威机构密钥对的秘密权威机构密钥对加密的固件进行签名,权威机构密钥对包括公共权威机构密钥和秘密权威机构密钥,其中,公共权威机构密钥安全地嵌入在电子设备中。可信权威机构还配置成向服务器发送签名的加密固件。可信权威机构还配置成向服务器发送设备标识符,该设备标识符用于识别电子设备,该设备标识符包括epk的函数。可信权威机构进一步配置成将fpk发送到服务器。服务器配置成将加密形式的固件发送到可信权威机构以进行签名,该固件使用服务器加密密钥来加密。服务器还配置成从可信权威机构接收经签名的加密固件。服务器还配置成从可信权威机构接收设备标识符和fpk。服务器还配置成服务器解密密钥使用fpk加密,该服务器解密密钥用于解密加密的固件。服务器还配置成将设备标识符、加密的服务器解密密钥和签名的加密固件传送给第三方,以安装在电子设备上。

53、用于执行本文所述的这样的方法的计算机程序和/或代码/指令可以在计算机可读介质或计算机程序产品上提供给装置,比如计算机。计算机可读介质可以是例如电子系统、磁系统、光系统、电磁系统、红外系统或半导体系统,或者用于数据传输的传播介质,例如用于通过互联网下载代码的传播介质。替代地,计算机可读介质可以采取物理计算机可读介质的形式,比如半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(ram)、只读存储器(rom)、硬磁盘、以及光盘,比如cd-rom、cd-r/w或dvd。

54、根据本文给出的教导,本发明所属领域的技术人员将会想到本文阐述的本发明的许多修改和其他实施例。因此,将会理解,本文的公开不限于本文公开的具体实施例。此外,尽管本文提供的描述在元素、步骤和/或功能的某些组合的上下文中提供了示例实施例,但是在不脱离本发明的范围的情况下,可以由替代实施例来提供。

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