用于证书注册的装置和方法与流程

文档序号:17123954发布日期:2019-03-16 00:07阅读:176来源:国知局
用于证书注册的装置和方法与流程

本发明的各方面大体上涉及公共密钥密码系统,且更确切地说,涉及公共密钥基础设施和数字证书。



背景技术:

在现代计算系统中,通常使用密码学完成通过公共网络,例如因特网的安全和可信通信,以对通过公共或另外不安全网络传输的数据进行数字加密和/或进行签名。这些密码系统通常分成两个类别。秘密密钥密码系统基于秘密或对称密钥并且使用相同密码密钥来对数据进行加密和解密。公共密钥密码系统使用一对密钥或密钥对,其中一个密钥用于对数据进行加密并且第二密钥用于对数据进行解密。重要的是,用于对数据进行加密的密钥无法用于对数据进行解密。

管理密码密钥并且将证书从每一制造商颁发给每一设备可能是一个困难的任务。在典型的公共密钥基础设施中,通过使用证书颁发机构(certificateauthority,ca)的层级来促进颁发证书。某些ca称为根ca并且颁发或自签名其自有证书。根ca随后视需要将证书颁发给从属或中间ca,所述从属或中间ca可以将证书颁发给用户节点或额外的从属ca。根和从属ca的此层级以及所述根和从属ca建立的证书称为公共密钥基础设施(publickeyinfrastructure,pki)。

部署能够将证书颁发给所有设备的pki需要全球分布的多个ca并且可能是非常复杂且昂贵的任务。在典型的pki中,ca仅在制造和维修时可用。因此,需要一种用于颁发和分发设备证书,但不将证书注册和分发限制于制造和维修设施的有效且低成本装置和方法。

在常规系统中,密钥对一般在制造期间形成,其中私有密钥加载到设备内的安全存储设备中。稍后,当合法应用程序需要要求私有密钥的密码操作时,应用程序会将请求发送到设备以执行密码操作。设备随后将:接入安全储存元件以获得私有密钥;提取纯文本或明文格式的私有密钥;以及使用私有密钥执行所请求的密码操作。此过程涉及多个步骤并且例如,当实施方案中存在缺陷时暴露多个安全威胁。因此,需要一种用于提供密码服务的改进方法和装置,所述密码服务避免由常规方法暴露的安全威胁。

因此,需要提供解决上述问题中的至少一些问题的方法和装置。



技术实现要素:

本发明的目标是提供可以通过具成本效益的方式在公共密钥基础设施中有效地生成和注册证书的改进方法和装置。

根据本发明的第一方面,通过包含处理器的装置获得以上以及其它目标和优点,所述处理器耦合到存储器,其中处理器和存储器用于提供安全执行环境。存储器包含共享秘密值,并且处理器用于接收证书,其中证书包含设备标识符和数字签名。处理器基于数字签名和设备标识符验证证书,基于共享秘密值和设备标识符恢复密码密钥,并且基于恢复的密码密钥执行密码操作。

在根据第一方面的装置的第一可能实施形式中,证书包含多样化值,并且处理器用于基于多样化值而验证证书且基于多样化值而恢复密码密钥。在证书和密钥生成过程中包含多样化值具有以下优点:允许在不影响设备标识符的情况下改变设备密钥对并且支持快速密钥恢复。

在根据第一方面本身或根据第一方面的第一可能实施形式的装置的第二可能实施形式中,证书包含加密的私有密钥,并且处理器用于基于恢复的密码密钥而对加密的私有密钥进行解密且基于解密的私有密钥而执行密码操作。证书中包含加密私有密钥具有以下优点:允许在不需要密钥导出或使用多样化的情况下将特定密钥对提供到装置。

在根据第一方面本身或根据第一方面的第二可能实施形式的装置的第三可能实施形式中,存储器包含硬件唯一密钥。处理器用于基于硬件唯一密钥而对私有密钥进行解密,并且基于解密的私有密钥而执行密码操作。使用硬件唯一密钥来对私有密钥进行加密会限制私有密钥接入特定设备。

在根据第一方面本身或根据第一方面的任何前述可能实施形式的装置的第四可能实施形式中,证书包含多个多样化值。处理器用于基于共享秘密值和多个多样化值而恢复多个应用程序密码密钥。基于多个多样化值中的对应多样化值而恢复多个应用程序密码密钥中的每个应用程序密码密钥。证书中包含多个多样化值具有以下优点:允许分发多个应用程序特定密钥以及设备证书。

在根据第一方面本身或根据第一方面的前述可能实施形式中的任一个的装置的第五可能实施形式,处理器用于接收对应于证书颁发机构的公共密钥并且基于公共密钥而验证证书。公共密钥与证书颁发机构相关联,并且证书由证书颁发机构颁发。

在根据第一方面本身或根据第一方面的前述可能实施形式中的任一个的装置的第六可能实施形式中,处理器用于验证证书是否允许密码操作并且当允许密码操作时,是否执行密码操作。这使设备策略能够包含在设备证书中并且使设备执行所述策略。

在根据第一方面本身或根据第一方面的前述可能实施形式中的任一个的装置的第七可能实施形式中,恢复的密码密钥对应于对称密码密钥和非对称密码密钥中的一个。这具有以下优点:允许通过设备证书分发公共密钥或秘密密钥。

在根据第一方面本身或根据第一方面的第一至第七可能实施形式中的任一个的装置的第八可能实施形式中,多个应用程序密码密钥中的每个应用程序密码密钥对应于对称密码密钥和非对称密码密钥中的一个。这具有以下优点:应用程序密钥可以基于公共密钥密码学或秘密密钥密码学。

在根据第一方面本身或根据第一方面的前述可能实施形式中的任一个的装置的第九可能实施形式中,恢复的密码密钥基于数字加密标准和高级加密标准中的一个或多个。通过允许各种类型的对称密钥来提供额外的灵活性。

在根据第一方面本身或根据第一方面的前述可能实施形式中的任一个的装置的第十可能实施形式中,基于李维斯特、沙米尔和艾德曼密码算法以及椭圆曲线密码算法中的一个,恢复的密码密钥是非对称密码密钥。通过允许各种类型的公共密钥密码学来提供额外的灵活性。

在根据第一方面本身或根据第一方面的第十可能实施形式的装置的第十一可能实施形式中,处理器用于通过以下方式生成非对称密钥对:通过将单向函数应用于共享秘密值而首先生成多个伪随机字节,随后通过将确定性过程应用于多个伪随机字节而生成非对称密钥对。这提供用于形成设备密钥对的有效和确定性过程。

根据本发明的第二方面,通过用于在安全执行环境中执行密码操作而获得以上以及其它目标和优点,其中安全执行环境包含共享秘密值。所述方法通过接收证书开始,其中证书包含设备标识符、多样化值和数字签名。基于设备标识符和数字签名而验证证书,使用共享秘密值和设备标识符恢复密码密钥并且恢复的密码密钥用于执行密码操作。

在根据第二方面本身的方法的第一可能实施形式中,证书包含多样化值并且基于多样化值而验证证书。随后基于多样化值而恢复密码密钥。设备证书中包含多样化值允许在不通过将设备证书分发给设备而修改设备标识符的情况下更新设备密钥。

在根据第二方面本身或根据第二方面的第一可能实施形式的方法的第二可能实施形式中,证书包括多个多样化值,并且所述方法包括基于多个多样化值而生成一个或多个应用程序特定密钥。证书中包含多个多样化值允许通过证书分发多个应用程序特定密钥。

根据结合附图考虑的本文中所描述的实施例,示例性实施例的这些和其它方面、实施形式和优点将变得显而易见。然而,应理解,描述和图式仅出于说明的目的而设计,且不作为对本发明的限制的定义,所附权利要求书应对其作出参考。以下说明将阐明本发明的额外方面和优点,并且这些方面和优点的一部分将在说明中显而易见,或者可以通过实践本发明习得。此外,本发明的方面和优点可以通过由所附权利要求书所特别指出的工具和组合来实现和获得。

附图说明

在本发明的以下详细部分中,本发明将参考图式中示出的实例实施例进行更详细解释,在图式中:

图1说明根据所揭示实施例的方面的用于在安全执行环境内执行密码操作的示例性计算设备的框图。

图2说明适合于实施所揭示实施例的方面的示例性计算设备的框图。

图3说明并入所揭示实施例的方面的用于生成设备证书的示例性过程的框图。

图4说明并入所揭示实施例的方面的用于执行密码操作的示例性方法。

图5说明根据所揭示实施例的方面的用于分发和使用一组密码密钥的示例性系统。

具体实施方式

图1说明根据所揭示实施例的方面的用于在安全执行环境内执行密码操作的示例性设备的框图。所揭示实施例的方面涉及提供用于启动和注册公共密钥基础设施(publickeyinfrastructure,pki)中的设备证书的解决方案,以及形成与传统对称密钥管理系统相比更高效且较不复杂的密码系统,其中在用户之间共享机密密钥的数据库。本文所描述的示例性实施例避免了设备认证、私有密钥的存储和交叉认证的复杂性。所揭示实施例的方面还提供用于证书注册的有效系统,所述系统允许在不具有多个分布式证书颁发机构(certificateauthority,ca)的复杂性或不需要维护大型密码密钥数据库的情况下动态地启动私有密钥基础设施。

参考图1,可以看到一般通过数字100指示的计算装置的图式,所述计算装置包含安全执行环境(secureexecutionenvironment,see)104以及任选地丰富执行环境(richexecutionenvironment,ree)130。如本文使用的术语“安全执行环境(secureexecutionenvironment,see)”一般指用于确保执行或存储的计算机程序和数据的机密性以及完整性的计算环境。see是用于防止不受信任的用户查看、复制或改变程序代码和相关联数据的执行环境。在see内执行的任何软件程序和相关联数据可以包含,例如,密钥导出函数(keyderivationfunction,kdf)和密钥材料、签名和加密算法或其它机密信息。

在丰富执行环境(richexecutionenvironment,ree)130中执行的应用程序102无法在不损害其密钥和数据的机密性或完整性的情况下安全地执行密码操作。丰富执行环境的实例是通过移动操作系统(operatingsystem,os),例如由google开发的androidos以及由apple开发的ios提供的丰富执行环境。因此,当在与see104相比较不安全的ree130中执行的应用程序102需要基于机密私有密钥的密码操作时,应用程序102将对密码操作的请求110发送到see104。see104将安全地恢复所需机密密钥、执行所需操作、返回结果并且丢弃恢复的密钥。

适合于执行所揭示实施例的方面的see104的实例可以由硬件安全装置提供,所述硬件安全装置例如,用于提供物理安全以及电气和编程安全以保护硬件安全装置内包含的计算机软件和密钥材料的机密性的安全实体(secureentity,se)或类似硬件装置。或者,如下文进一步以及参考图2所论述,包含see104和ree130两者的计算装置100可以形成为单个计算设备或装置200,其中处理器204和存储器202的一部分用于提供合适的see104。举例来说,这可以通过例如可信执行环境(trustedexecutionenvironment,tee)的技术来实现,其中例如智能手机、平板计算机或其它便携式或非便携式计算设备等的计算装置100的主处理器的安全部分用于提供see104。这些仅仅是两个实例,然而,用于保护程序代码和数据的机密性和完整性的任何see可以用于提供用于实施或执行所揭示实施例的方面的适当安全的环境。

在一个实施例中,see104包含耦合到存储器138的处理器136,其中存储器包含用于存储共享秘密值122的安全非易失性计算机存储器,例如,一次可编程存储器。

当例如在芯片组制造期间或在后制造供应过程期间制造see104时,共享秘密值122安全地存储于see104中,使得防止未授权用户查看或篡改所述共享秘密值。共享秘密值122可以是用于用作导出非对称密钥对或对称密钥的密钥材料的密码密钥或其它合适密钥材料。如本文使用的术语“共享秘密值”是指可以用于导出安全密码密钥或密钥对的密钥材料或其它合适数据。共享秘密值122不需要是实际密码密钥,而仅仅是用于导出安全密码密钥的合适开始值。根据本发明的方面,共享秘密值122对于下文进一步论述的制造环境以及计算装置100是已知的,从而允许计算装置100和制造环境基于共享秘密值122而独立地导出相同非对称密钥对或对称密钥。

常规的密钥管理解决方案基于静态pki启动或用于对称密钥管理情形、共享秘密密钥的静态供应。如下文将进一步论述,允许see104和制造设备基于共享秘密值122而独立地导出相同密钥提供了一种用于启动新pki或新对称密钥基础架构,而不需要see104与制造环境之间的安全通信的柔性和动态机构。

制造环境、ca或其它供应环境向计算装置100提供设备证书106。设备证书106使用数字签名134来将设备标识符118和多样化值120以密码方式绑定到公共密钥132以及与计算装置100相关联的其它主题信息(未示出)。设备标识符118是与see104相关联的唯一值并且在设备证书106中公开可获得。设备标识符118还可以存储于see104中作为设备标识符128,并且当需要时可以用于确保see104会仅基于其自身的设备标识符而执行密码操作。证书106加载112到see104中,其中可以基于数字签名134和颁发ca的知识而验证所述证书。

在某些实施例中,需要包含数字证书106中的策略信息124。嵌入设备证书106中的策略信息124提供关于允许see104执行的密码操作或安全角色的类型的信息。检查108这些策略以验证是否允许所请求的密码操作,即,设备证书中的策略数据是否允许或不禁止所请求操作。例如,如果嵌入设备证书106中的策略信息124不允许see104颁发证书,或策略124不允许see104用作证书颁发机构,see104配置成不会执行禁止操作。

当应用程序102需要密码操作时,所述应用程序将对密码操作110的请求发送到see104。应用程序102可以在相同计算装置100所提供的ree130中执行。或者,可以通过在单独的计算装置(未示出)中执行的应用程序102来产生对密码操作110的请求。数字证书106可以在接收对密码操作110的请求时加载112,或可替代地可以在接收请求110且存储于see104中之前加载,其中可以视需要检索所述数字证书。

see104基于共享秘密值122、设备标识符118、设备标识符128和/或多样化值120而导出或恢复114与包含在设备证书106中的公共密钥132相关联的私有密钥。通过在密钥恢复过程中包含设备标识符和/或多样化值而获得的优点是,例如当设备改变所有权时,可以通过颁发包含新设备标识符和/或多样化值的新证书106来改变密钥对。重要的是,可以在不将计算装置100带回安全设施的情况下颁发新证书106。

恢复密钥对114的一个实例基于将确定性函数f(·)应用于在设备证书106中编码的公共值,例如设备标识符118和/或多样化值120,以及共享秘密值122。术语“恢复”在本文中用于指代密钥导出过程,以强调可以通过将已知的确定性过程应用于编码到设备证书106中的共享秘密值122和公共数据而同时导出或恢复相同密钥或密钥对。

可以例如基于合成函数f(id,d,k)=f(g(id,d,k))而恢复114私有密钥,其中“id”是设备标识符118、128,d是多样化值120并且k是共享秘密值122。设备标识符id118、128以及多样化值d120为恢复的私有密钥提供一种公共盐,并且k是植入或存储到see104中的共享秘密值122。函数g(·)是单向函数。单向函数是其中输出的知识不揭露用于产生所述输出的输入的函数。适合用作函数g(·)的单向函数的一些实例是密钥导出函数或kdf以及带密钥散列函数。函数g(·)基于给定输入:id118、128、d120和k122而产生伪随机字节的所需长度集合。或者,确定性函数g(·)可以仅包含设备标识符118、128和多样化值120中的一个。确定性过程f(·)随后可以应用于g(·)的输出以产生密钥114。

可以使用具有2048位密钥大小的rsa公共密钥密码学说明适合于恢复114非对称密钥或密钥对的实例合成函数f(id,d,k)。函数g(·)可以用于产生256字节串,表示为u加上v(u|v),其中u含有第一128字节并且v含有最后128字节。确定性函数f(·)可以是其中u和v的最高有效位设定成一(1)的过程。这样确保u和v在长度上的整数表示是1024位。函数f(·)随后求出最小值a和b,使得u+a和v+b是两个素数。这两个较大素数p=u+a和q=v+b形成rsa密钥产生的基础,并且可以用于求出模数n=p*q。rsa私有密钥随后可以表示为元组(n,d),其中n是上文描述的模数并且d是私有指数。实例函数f(·)的最后步骤是从私有密钥导出公共密钥。可以在公共密钥密码学标准#1(pkcs#1)中找到rsa密钥产生过程的完整细节。

在恢复114密钥之后,所述密钥可以用于执行126所请求密码操作并且将结果返回116到请求应用程序102。

图2说明适合于实施通常本文所揭示的方法和装置的示例性计算装置200,例如上文相对于图1所描述的计算装置100的框图。计算装置200可以并入到各种类型的连接计算设备中,例如,手机、平板手机、平板电脑、手提电脑、有线电视机顶盒、电视机、汽车等,并且可以有利地用于提供有效的证书注册和安全密码服务,以增强计算装置200所提供的安全性和功能性。如在图2的实例中所示,计算装置200用于提供适合于用作上文相对于图1描述的see104的see220。计算装置200还可以包含ree222,例如,上文相对于图1描述的ree130。

在图2的实例中,计算装置200包含耦合到存储器202的处理器204。处理器204用于支持see220和ree222。如图2所示,处理器204包含第一see部分210和第二ree部分212。存储器202包含第一see部分206和第二ree部分208。在此实例中,至少处理器204的第一see部分210和存储器202的第一see部分206用于支持see220。至少处理器204的第二ree部分212和存储器202的第二ree部分208用于支持ree222。举例来说,可以通过例如上文描述的tee的技术实施所说明的装置200,其中单个处理器204和存储器202用于提供see220和ree222两者。尽管本文参考第一部分和第二部分描述存储器202和处理器204,但是所揭示实施例的方面不受如此限制。在替代实施例中,存储器202和处理器204可以通过任何合适方式配置以提供see104、220和ree130、222,如通常本文所描述。

处理器204可以是单个处理设备或可以包括多个处理设备,包含专用设备,例如,数字信号处理(digitalsignalprocessing,dsp)设备、微处理器、专用处理设备或通用计算机处理器。处理器204用于从存储器202读取程序指令并且执行本文所描述的方法和过程。处理器还可以包含与图形处理单元(graphicsprocessingunit,gpu)联合操作的cpu并且可以包含dsp或其它专用处理硬件。

存储器202可以是各种类型的易失性和非易失性计算机存储器,例如只读存储器(readonlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁盘或光盘,或其它类型的计算机存储器的组合。存储器202存储计算机程序指令,所述计算机程序指令可以由处理器204获取和执行,以使处理器执行各种合乎需要的计算机实施的过程或方法,例如,本文中描述的密码密钥导出和其它密码方法。

如上所述,本文中称为处理器204的“安全部分210”的处理器204的第一see部分210以及称为存储器202的“安全部分206”的存储器202的第一see部分206用于提供see220。类似于上文相对于图1描述的see104,see220用于确保存储于存储器202的第一see部分206内的数据和电脑程序的机密性和完整性,并且保护在处理器204的安全第一see部分210内执行的计算机程序。举例来说,see220可以使用例如可信执行环境的不同技术来实施。

为了支持密钥恢复,与相对于图1描述的共享秘密值122类似的共享秘密值224可以存储于存储器202的第一see部分206中。存储器202的此安全第一see部分206可以视需要由一次可编程存储器或其它安全的非易失性类型计算机存储器提供。在某些实施例中,可能需要将see220实施为不同硬件安全设备或其它物理安全的处理装置,例如,通过存储器或其它类型的计算机接口耦合到ree222的se。可以基于所揭示实施例的方面的特定使用或应用所施加的安全需求和其它需求而需要使用硬件安全设备或se。

图3说明用于生成设备证书312,例如,上文相对于图1描述的设备证书106的示例性过程300的框图。在此实施例中,设备证书312用于供see306使用,所述see可以是任何合适类型的see,例如,上文相对于图1和2描述的see104或220。在此实例中,see306可以包含在计算设备322中或本身可以是单独的计算设备。see306在芯片组制造或供应see306期间被植入共享秘密值314,其中共享秘密值314对于see306和制造或供应环境302两者是已知的。共享秘密值314可以是如上所述的任何合适密钥材料。在某些实施例中,需要包含不共享的且仅对于see306已知的额外密钥材料。在see306外部不共享的此机密密钥材料在本文中称为硬件唯一密钥。

设备证书312的生产需要导出公共私有密钥对316。在图3的实例中,在服务器302内恢复或导出308密钥对316,所述服务器在此实例中是安全环境。服务器302可以是制造服务器或其它制造、维修或供应环境。在一个实施例中,密钥对316的恢复308基于将确定性函数应用于公开可获得的设备标识符318和多样化值320以及机密共享秘密值314。

导出的密钥对316随后用于形成csr310。多样化值320以及来自密钥对316的公共密钥和设备标识符318包含在csr310中。用通过密钥对316导出的私有密钥对csr310进行签名。csr310随后发送到ca304以生成设备证书312并且对设备证书312进行签名。ca304可以是其中设备稍后可以直接或通过信任链建立信任的任何ca。ca304基于所生成的csr310而生成设备证书。所得设备证书312随后发送到see306。

在常规的pki生成中,当制造或供应设备时,在设备内或在安全环境中生成设备密钥对。由于私有密钥是高度机密的凭证,因此需要在设备内或设备的see内内部地生成私有密钥并且从不以清楚的形式将私有密钥暴露于see外部。然而,设备密钥对的生成是计算负载的任务并且可以显著减缓制造过程。处理速度和处理资源可能在低端或低成本设备中受限,从而引起用于生成密钥对的时间量延长。例如,rsa密钥生成通常会花费几秒并且在极低端设备中可以延长至几分钟。所揭示实施例的方面通过允许服务器302在不传送或包含see306的情况下在任何时间独立地恢复308密钥对316而减少生成密钥对316所需的时间。这样减少制造每个计算设备322的时间和复杂性。

为了获得签名的设备证书312,需要生成对应于see306的csr310并且用see306的私有密钥对csr310进行签名。csr310的形成需要用于将信息汇编和编码到csr310中的复杂软件库。常规编码标准的实例包含抽象语法标记1(abstractsyntaxnotation1,asn1)编码格式和卓越编码格式(distinguishedencodingrule,der)。包含软件库以将信息编码到see306内的csr310中可以增加设备的成本和复杂性并且不利地影响安全性。

根据如上所述的所揭示实施例的方面在外部恢复308密钥对316并且生成csr310消除了导出密钥对316并且在see306内生成csr310的需求,由此减小用于制造see306的复杂性和时间。甚至可以在制造see306之前生成设备证书312,只要设备标识符318已分配用于see306。设备证书312可以在设备322生命周期期间的任何时间传送到see306或计算设备322,并且可以根据需要形成和发送新的设备证书312。

在某些实施例中,有利的是see306中可获得若干唯一的密码密钥,其中每个密钥专用于特定应用程序或应用程序组。当需要时,所揭示实施例的方面可以有利地用于生成包含多个多样化值320的设备证书312,其中每个多样化值320可以用于恢复不同的应用程序特定密钥。例如,本领域技术人员可以设想每当用户下载和安装需要其自身的密码密钥的应用程序时,服务提供商可以颁发更新的或新的设备证书312的情形。

现在参考图4,可以看到根据所揭示实施例的方面的用于在计算装置中执行密码操作的示例性方法400的说明。示例性方法400适合用于计算装置中,例如,上文描述的计算装置100、计算装置200和计算设备322中的任一个。示例性方法400的方面涉及基于从设备证书恢复的密钥而提供密码操作,其中设备证书可以独立于任何计算装置颁发并且甚至可以在制造相关联计算装置之前颁发。

示例性方法400在已制造计算设备或see之后开始402。或者,方法400的部分,例如,将共享秘密值供应或加载404到see中可以整合到制造过程中并且在完成设备的制造之前执行。

例如密码密钥或其它合适密钥材料等的共享秘密值加载404到see中。此密钥材料在see与制造或其它安全供应环境之间共享,并且当需要时可以在计算设备的整个类别或地理分布之间共享。共享秘密值允许see和供应环境基于共享秘密值而恢复相同值,例如,非对称密钥对或对称密钥。

每次在see已具有共享秘密值404之后,在see中加载405和验证406数字证书或设备证书。可以作为如上所述的设备证书106的设备证书包含设备标识符、执行方法400的计算设备的公共密钥以及任选地多样化值。其它信息还可以视需要包含在设备证书中,例如,策略信息和额外的主题或所有者信息。基于共享秘密值、设备标识符值和/或多样化值而导出设备密钥对,即,设备的公共密钥和私有密钥。see因此可以仅基于并入到证书中的公共信息以及加载404到设备中的共享秘密值而导出与证书的公共密钥相关联的私有密钥。此设备证书由证书颁发机构(certificateauthority,ca)进行签名,由此以密码方式将设备证书信息与可以基于与ca相关联的数字证书而验证的签名绑定。

设备证书可以在执行任何密码操作之前进行验证406。可以基于编码到证书中的数据以及设备证书随附的数字签名而验证证书。设备证书的验证例如可以通过以下方式完成:通过替代的可信信道获得颁发ca的公共密钥的副本,并且随后使用ca的公共密钥来验证设备证书随附的签名是否对应于编码到设备证书中的数据。当颁发ca是可信ca或可信根ca是,可以直接建立设备证书的信任。或者,在达到可信ca之前,可以通过以下方式建立信任链:通过颁发ca证书的递归验证执行链验证。

方法400的优点在于,在不接触see或不使see生成证书签名请求(certificatesigningrequest,csr)的情况下可以通过供应环境生成设备证书。可接入共享秘密值的任何安全供应环境可以通过使用共享秘密以及嵌入设备证书中的其它信息来导出设备密钥对而产生设备的设备证书。这允许在任何时间以及视需要在设备的生命周期期间,例如当设备所有权改变时或当设备用于新目的时产生新证书和新设备密钥对。随后可以在不将设备返回到安全环境,例如,制造或维修设施的情况下在设备中加载405和验证406新的设备证书。

在设备证书加载405到see中并且得到验证406之后,执行416一组密码操作。当see接收408用于执行密码操作的请求时,起始所述组密码操作。当接收408对密码操作的请求时,see检查410嵌入设备证书中的一个或多个策略。嵌入设备证书中的策略提供关于允许see执行的密码操作或安全角色的类型的信息。检查410这些策略以验证是否允许所请求的密码操作,即,设备证书中的策略数据是否允许或不禁止所请求操作。

基于共享秘密值、设备标识符以及从设备证书获得的多样化值而恢复412所请求密码操作所必需的密码密钥。或者,可以仅基于设备标识符或多样化值中的一个而恢复412密码密钥。因为基于来自设备证书的信息而恢复密码密钥或密钥对,所以可以通过加载包含新设备标识符和/或多样化值的新设备证书在任何时间改变密码密钥或密钥对。

导出的密码密钥随后用于执行414密码操作。执行的密码操作可以包含嵌入证书中的策略所允许的任何所需密码操作,例如但不限于,对数据进行签名、验证签名和对数据进行加密。

在替代实施例中,每当接收对密码操作的请求408时,可以加载405和验证406设备证书。这允许单个see基于具有不同设备标识符的不同设备证书而执行密码操作,由此提供额外的灵活性。或者,当需要更大安全性时,设备标识符以及共享秘密值可以加载404到see内。仅当嵌入设备证书中的设备标识符与存储于see中的设备标识符匹配时,see随后可以用于执行密码操作。

在某些实施例中,将私有密钥以及设备标识符和/或多样化值嵌入设备证书中是有益的。可以使用在步骤412处恢复的密码密钥对嵌入的私有密钥进行加密。这允许制造或供应环境在制造之后的任何时间将私有密钥安全地发送到see。see随后可以使用恢复的密码密钥对私有密钥进行解密并且基于新密钥对而结合嵌入证书中的公共密钥将所述私有密钥用于密码操作。当私有密钥相对较短时,例如当使用其中密钥长度可以是两百五十六(256)位的ecc时,此方法是有用的。

或者,可以通过用硬件唯一密钥对私有密钥进行加密而将加密的私有密钥嵌入设备证书中。随后可以将包含加密的私有密钥的证书加载到see中,在所述see中,证书可以得到验证406。硬件唯一密钥是仅see已知的机密密钥或密钥材料,并且不与任何其它实体,例如制造或供应环境共享。see可以使用硬件唯一密钥来对私有密钥进行加密或包装私有密钥。可以例如通过将加密或包装的私有密钥包含在csr中而将所述加密或包装的私有密钥传送到ca,并且ca随后可以包含设备证书中的加密私有密钥。

例如,当需要在see内可获得多个应用程序特定密钥时,将多个多样化值编码到在步骤405处加载的设备证书中是有利的。应用程序特定密钥可以单独基于多样化值,或在需要时所述应用程序特定密钥可以通过在步骤412处执行的密钥恢复过程中包含多样化值和设备标识符两者而绑定到特定设备。如在所揭示实施例中的任一个中,在步骤412中恢复的密码密钥视需要可以是对称密钥或非对称密钥。

从设备标识符以及任选地嵌入证书内的多样化值恢复412非对称密钥对提供了许多优点。可以通过从包含在设备证书中的信息恢复密码密钥或密钥对来避免对静态供应或pki启动的需求。这允许pki启动或共享秘密供应在设备生命周期期间的任何时间完成,并且视需要在不将设备返回到安全环境的情况下重复。所揭示实施例的方面还可以用于消除将大型对称密钥数据库保持在密钥管理系统内的需求。通过对设备的整个类别或地理群使用相同共享密码值,可以基于单个共享秘密值而支持大量设备,每个设备具有其自身的唯一密钥组。当相同共享秘密用于整类或整组设备时,共享秘密可以称为类别唯一密钥。

所揭示实施例的方面消除了簿记或保持每一个别设备的数据存储的需求。在设备具有共享秘密值和对应设备标识符之后,可以在不进一步与所供应设备通信的情况下产生设备证书。与常规方法不同,不需要在制造或供应期间收集和追踪设备标识符、多样化值或密钥。设备标识符和多样化值在设备证书中公开可获得并且因此可以在任何时间收集到。

图5说明用于基于嵌入设备证书502中的一组多样化值522-1至522-n而导出和使用一组应用程序特定密钥的示例性系统500的框图。设备证书502类似于上文参考图1描述的设备证书106,并且可以并入设备标识符524和其它所需信息,例如,公共密钥和策略信息。所述组多样化值522-1至522-n可以用于导出相关联的一组应用程序特定密钥。可以通过任何合适过程,例如,上文描述以及参考图3描述的过程300形成设备证书502。

示例性系统500说明其中源see504和目标see506需要机密信息的安全通信的解决方案。示例性系统500例如有益于在分布式see设备504、506之间安全地分发多个应用程序特定密钥,由此提供see设备504、506安全地彼此通信的方式。

设备证书502加载518、520到源see504和目标see506两者中。源see504和目标see506用于保护其相应的共享秘密值526的副本,以及提供用于恢复和使用从并入设备证书502中的信息导出的应用程序特定密钥的安全环境。在需要时,应用程序特定密钥从多样化值522-1至522-n导出并且可以在使用所述应用程序特定密钥而不是将所述应用程序特定密钥存储于see504、506中之后丢弃。这些应用程序特定密钥例如可以用于源see504与目标see506之间的安全通信。

为了帮助理解,考虑以下情况:在此实例中称为应用程序j或第j个应用程序的应用程序需要将机密信息从源see504发送到目标see506。当制造每个see504、506时,或在数据传送之前的任何稍后时间,将设备证书502发送518、520到每个see504、506。或者,源see504和目标see506可以各自具有其自身的唯一设备证书,只要两个装置证书包含用于第j个应用程序的相同应用程序特定多样化值522-j。

为了开始从源see504到目标see506的安全数据传送,源see504使用第j个多样化值522-j导出应用程序特定密钥508。导出的密钥508可以是非对称密钥,例如,rsa或ecc密钥。或者,导出的密钥508可以是对称密钥,例如高级加密标准(advancedencryptionstandard,aes)加密密钥。从源see504传送到目标see506的数据使用导出的应用程序特定密钥加密510并且视需要准备用于由特定应用程序传送。随后将加密数据发送512到目标see506。

目标see506使用其自身的共享秘密值526的副本以及从证书502获得的第j个多样化值来恢复514用于第j个应用程序的应用程序特定密钥。恢复的密钥514随后可以用于对所接收数据进行解密516。以此方式,可以在不将恢复508、514的应用密钥暴露在see504、506外部以及在不需要向每个see504、506提供相同唯一应用程序特定密钥的情况下在两个see504、506之间交换加密数据。前述实例说明具有恢复的应用程序特定密钥的加密和解密数据,然而,本领域技术人员将容易地认识到,可以在不偏离所揭示实施例的精神和范围的情况下执行任何所需密码操作。

因此,尽管此处已示出、描述和指出应用于本发明的示例性实施例的本发明的基本新颖特征,但是应理解,在不脱离本发明的精神和范围的情况下,本领域技术人员可以对所所说明的设备和方法的形式和细节以及其操作作出不同省略、替代和改变。此外,明确希望,以基本上相同的方式执行基本上相同的功能以获得相同的结果的那些元件的所有组合也在本发明的范围内。此外,应认识到,与任何所揭示的本发明的形式或实施例结合示出和/或描述的结构和/或元件可以作为一般设计选择情况而并入在任何其它所揭示或描述或建议的形式或实施例中。因此,意图将本发明仅限于由随附权利要求书所指示的的范围。

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