为代理设备建立受信任身份的方法_4

文档序号:9916993阅读:来源:国知局
密钥生成电路18可能不需要与代理设备4 一起提供,从而可以更加便宜地实施代理设备,而对于具有密钥生成能力的代理设备则可以提供更加安全的认证,这是因为可以在需要时重新生成密钥。类似地,一些认证模型可以使用由代理设备4和注册表8共享的对称密钥,其他设备则可以使用不对称密钥,其中代理设备4和注册表8具有不同的互补密钥。一些模型可以允许把代理设备从一个注册表转移到另一个,其他模型则可以把代理设备限制到对于特定注册表操作。因此,有许多不同的方式来实施认证模型,并且可以在代理设备的制造或开发期间适当地进行选择。
[0093]图10到12示出了认证模型的三个实例。图10示出了第一认证模型,其中固定的传感器密钥28在制造期间被注入到代理设备4的受保护区段24中。传感器密钥28由属于制造商的外部设备70生成。随后把传感器密钥28作为唯一地标识设备的共享秘密与注册表8共享。举例来说,传感器密钥可以是在制造期间生成的128比特或256比特AES(高级加密标准)密钥。为了认证代理设备4,代理设备4可以向注册表8传送消息,其中所述消息的一部分是利用传感器密钥28加密的。如果注册表8可以成功地解密消息28的该部分并且利用其自身的传感器密钥28的拷贝验证其是正确的,则对于代理设备4的认证是成功的。举例来说,可以由代理设备4从所述消息生成散列,并且使用传感器密钥28来加密所述散列。接收到消息的注册表可以利用与代理设备4相同的算法生成所接收到的消息的其自身的散列,并且还可以解密所接收到的散列并且检查所接收到的散列是否匹配其所生成的散列。如果两个散列匹配,则代理设备被认证。第一认证模型的优点在于其实施成本较低。没有必要在代理设备4中提供公钥基础设施或者密钥生成器18。只需要AES或者另一种共享秘密方案。但是低成本的代价是安全性降低,这是因为如果共享秘密被破解(compromise),则为攻击者提供了对于设备或代理设备的完全控制,其中包括所有权改变或数据访问。由于提供到注册表8的共享的传感器密钥28与被用来认证设备的传感器密钥28完全相同,因此破解传感器密钥28的可能性与使用不对称密钥的情况相比要更大,特别是在把传感器密钥从制造系统70分发到注册表8的过程中尤其是如此。但是由于传感器密钥28对于每一个代理设备4是唯一的,因此即使传感器密钥被破解,这也仅将影响一个代理设备4,并且将不会影响任何其他代理设备。因此,该模型可以被用于例如天气预报之类的低安全性应用。
[0094]在一些实施例中,取代具有单个传感器密钥28,可以把一个传感器密钥的列表嵌入到代理设备4中,并且可以由代理设备4从所述列表中选择一个密钥以用于认证其自身。在这种情况下,可以利用表明哪一个密钥是所选密钥的进入到列表中的索引来定义设备的活跃标识。随后可以为注册表8提供用于所选密钥的相应的代理设备密钥。利用这种方法,如果一个传感器密钥被破解,则代理设备4可以切换到使用列表中的另一个传感器密钥。
[0095]图11示出了第二认证模型的一个实例,其中用于代理设备4的认证信息仍然是固定的(不可改变),但是这一次所述认证信息包括不对称密钥对,其中包括私钥29和公钥32。这是更加安全的,因为私钥29可以只由代理设备4持有而不与任何其他设备共享,相应的公钥32则可以被广泛地广播到其他设备而不会损害私钥29。不对称密钥对使得按照类似于前面所讨论的方式利用私钥29部分地加密的消息只能利用相应的公钥32来解密。因此,如果注册表8可以利用公钥32成功地解密接收自代理设备的消息,则可以确定所述消息是来自具有私钥29的经过授权的代理设备。所述密钥对还与代表代理设备4的公共面的数字证书36相关联。证书36可以被用来向注册表8传送公钥32,并且一旦由注册表签名则验证公钥32是用于该代理设备4的正确密钥。所述密钥对和证书可以包括任何形式的已签名证书和密钥对。举例来说,椭圆曲线密码(ECC)密钥可以被用作密钥对29、32,并且X.509证书可以被用作数字证书36。在该模型中,制造设备70在制造期间生成密钥对和证书36,并且将其嵌入在存储器的受保护区段24、34中,正如图11中所示出的那样。虽然存在潜在的弱点,也就是制造处理70将知道代理设备4的私钥29,但是制造商70可以一旦把私钥29注入到代理设备4中之后就将其删除,并且此后代理设备4将是能够访问所述私钥的仅有的设备。除了代理设备4本身之外的任何其他部分都不需要私钥。认证信息从制造商70到注册表8的转移更加安全,这是因为其仅需要转移公钥32和证书36,而不需要转移私钥29。但是在该模型中,与第一认证模型相比的成本增加,这是因为代理设备需要PKI能力以及用于存储私钥29、公钥32和证书36的更多受保护的存储器。但是安全性更高,这是因为不存在为除了代理设备4之外的其他设备所知的永久共享密钥。同样地,取代单个密钥对,代理设备4可以具有一旦在代理设备可运作之后就可供选择的密钥对的列表。尽管如此,在这种情况下所述列表仍然不具有重大的保护要求,这是因为由注册表8保持的代理设备密钥的列表仅由公钥和证书构成。任何已知的PKI方案都可以被用于第二模型。
[0096]图12示出了第三认证模型,其比第一和第二模型更加安全,但是实施成本也更高。同样地,在代理设备4的存储电路16中提供私钥29和公钥32连同数字证书36。但是第三模型与第二模型的不同之处在于,在代理设备4中提供了芯片上密钥生成电路18以用于生成密钥对29、32。这样提供了更高的安全性,因为制造商70从不会知道代理设备4的私钥29。此夕卜,由于提供了芯片上密钥生成设施,因此如果必要的话,则代理设备可以重新生成密钥对以改变认证信息。只有公钥32和证书36被提供给例如注册表8之类的外部设备。因此,在身份和所有权建立期间,代理设备4内的芯片组18创建例如ECC密钥对之类的不对称密钥对。私钥29被存储在存储器的读/写保护区段24中。只有特许代码能够访问私钥29。芯片上密钥生成电路18还将生成证书36,并且向注册表8发送包含设备ID 22和公钥32的证书签名请求。公钥32和证书36还被写入到存储器的写保护区段34中,其是完全可读而没有保护的。注册表8对证书36进行签名,以验证代理设备是经过授权的。这种方法不具有模型I或2中的暴露弱点,在模型I或2中,传感器密钥28或私钥29可以从注册表8或制造平台70中被提取。代理设备的私钥29绝不会被暴露于除了代理设备4之外的任何其他设备。在这种情况下,安全性的强度依赖于由芯片上密钥生成器18进行的密钥对生成的质量,为了使得这一方面足够安全,在制造设备方面存在附加的成本,这是因为必须有附加的硅来支持安全密钥生成(例如将需要良好的随机数生成)。
[0097]在图12的实例中,第三认证模型还允许把注册表8与代理设备4之间的受信任关系转移到第二注册表80 ο后面将更加详细地描述这一处理。由于代理设备4具有芯片上密钥生成电路18,因此这意味着当代理设备把信任从第一注册表8转移到第二注册表80时,可以生成新的密钥,从而使得第一注册表8不再能够认证代理设备4。这对于提供附加的安全性可能是有用的,这是在于比如用在政府或防务应用中的私有注册表8的运营商可能会要求把某些代理设备转移到其注册表,并且去除与公共注册表8的所有联系。或者,第一注册表可以被指示删除相关的条目,从而使其不再能够认证代理设备。通过这种方式,代理设备不需要生成新的密钥。在另一种变型中,代理设备可以具有多于一个预先存储的密钥。在改变注册表时,随后则可以使用先前未被使用的密钥。
[0098]应当认识到,还有可能为图10和11的其他模型提供在注册表之间转移信任的能力。但是在这种情况下,由于代理设备无法重新生成其密钥信息,因此代理设备4将利用相同的密钥信息被注册在第二注册表80中。在这种情况下,两个注册表8、80可以共享相同的代理设备4,从而使得相同的代理设备4被注册到两个注册表。因此,取代把代理设备数据直接转移到另一个注册表,相反可以把代理设备指派到两个注册表,从而使得代理设备可以和与两个注册表均相关联的应用提供商进行通信。
[0099]因此,可以提供若干不同种类的认证模型,以便允许代理设备设计平衡保持足够程度的安全性的能力与实施安全性的成本。取决于代理设备的意定目的,在制造期间可以选择特定模型,并且随后可以由注册表8保持关于使用了哪一个模型的信息,从而允许应用针对其要求使用适当的代理设备。图13示出了比较图10到12中示出的模型的不同属性的表。应当认识到,可以使用其他类型的模型。举例来说,可以使用不同类型的密钥生成以提供不同程度的安全性。
[0100]图14示出了建立代理设备4的受信任身份的方法的第一实例。所述受信任身份可以在代理设备的制造期间、在其分发期间或者后来在对于注册表登记设备时建立。在步骤100处,确定将对于代理设备4使用的认证模型。如果代理设备4已被制造,则对于所选认证模型的确定将取决于在代理设备4中已经提供了哪些资源(例如如果代理设备不具有芯片上密钥生成电路18,则可能无法选择前面所讨论的认证模型3)。另一方面,如果在代理设备制造之前或期间实施所述方法,则可以选择任何认证模型,并且可以在后来实施用于实施所述模型的所需处理资源(比如把受保护存储、PKI基础设施或者密钥生成能力建立到设备中)。
[0101]在步骤102处,根据所选认证模型生成用于认证代理设备4的密钥信息。取决于所选模型,这可以由外部制造设备70实施或者由代理设备4本身实施。在步骤104处,设备ID22、共享传感器密钥28或私钥29、注册表地址26并且可选地还有设备证书36被嵌入在代理设备4的存储电路16内。所述嵌入步骤可以通过把存储电路建立到设备中来实施,或者通过把所述信息存储在已经在先前的制造阶段期间被提供在代理设备内的存储电路中来实施。如果使用认证模型I,则传感器密钥28被嵌入,如果使用认证模型2或3,则私钥29和证书36被存储在存储电路16中。此时,还可以为代理设备4提供注册表认证信息以用于验证注册表8的身份。
[0102]在步骤106处,用于定义代理设备4的受信任身份的各种元数据被上传到注册表装置8。举例来说,设备ID 22、传感器密钥28(用于模型I)或公钥32(用于模型2或3)、数字证书36(用于模型2或3)以及表明所选模型的认证模型信息64可以被上传到注册表8。在步骤108处,注册表在必要时对证书进行签名,并且把设备元数据注册在注册表中以便把所述设备建立为其身份可以被认证的受信任设备。
[0103]图15示出了建立针对设备的信任和身份的第二实例。在该例中,已经利用密钥生成电路18并且利用存储在存储电路16的OTP区段20中的设备标识符22制造了代理设备(传感器)4。因此,该传感器4使用认证模型3或者允许芯片上密钥生成的类似模型。在步骤120处,传感器4向注册表8发送表明传感器4的设备标识符22的注册(登记)请求。在步骤122处,注册表检查传感器4是否已经为注册表所拥有,并且如果是的话则所述方法结束。
[0104]如果代理设备尚未被拥有,则在步骤124处,触发传感器4以利用密钥生成器18创建新的密钥对29、32,并且所述密钥对当中的私钥29被放置在受保护存储区段24中。在步骤126处生成证书签名请求,其被发送到注册表8。证书签名请求请求注册表8对传感器4的数字证书32进行签名。所述证书至少包括传感器4的设备标识符22作为主题名称,传感器4的安全性层级(认证模型信息),以及由密钥生成器18生成的公钥32。在步骤128处,注册表8对所述证书进行签名以便证实所述证书和公钥是有效的。注册表把关于传感器4的信息注册在设备注册表中,以便把传感器4建立为受信任代理设备。
[0105]图16示出了对代理设备4实施认证以检查其被注册为受信任设备并且随后在代理设备4与应用提供装置6之间建立受信任通信的方法。假设已经例如使用图14或15中示出的方法对于注册表8注册了代理设备4,因此注册表8包括用于验证代理设备4包括唯一地标识该代理设备4的认证信息的信息。在该例中使用了认证模型3,因此代理设备4包括传感器私钥Ks.pr,并且注册表8包括对应于私钥Ks.pr的传感器公钥Ks.pu。类似地,代理设备4可以利用对应于注册表8所持有的注册表私钥Kr.pr的注册表公钥Kr.pu来认证注册表8。
[0106]在步骤150处,注册表8和应用提供商6对彼此实施相互认证以建立信任。通常来说,这将由注册表8对于每一个应用提供商6实施一次。注册表8与应用提供商6之间的相互认证150通常将不对于与应用提供商6通信的每一个代理设备4重复。相互认证150可以利用任何已知的认证技术发生。
[0107]在步骤152处,代理设备被激活,并且响应于激活,代理设备4向通过嵌入在代理设备的受保护存储24中的注册表URL 26所标识出的注册表传送认证请求154。所述认证请求包括标识代理设备4的设备ID 22。代理设备的激活例如可以包括代理设备在安装之后第一次通电,或者代理设备上的激活按钮被按下。认证请求154可以响应于代理设备的激活被自动传送,从而使得不需要用户接口或者某种其他种类的用户接口来触发认证。这意味着安装或使用代理设备的人不需要知晓代理设备正被认证。响应于认证请求154,代理设备4和注册表8利用已经由代理设备4和注册表8在注册或登记期间交换过的密钥开始进行相互认证156。在相互认证中,代理设备4利用传感器私钥Ks.pr加密消息的散列,并且把部分加密的
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1