首页> 中国专利> 为代理设备建立受信任身份的方法

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

摘要

可以为用于实施与一个或多个应用提供装置(6)的受信任通信的代理设备(4)建立受信任身份。建立受信任身份的方法包括确定若干认证模型当中的哪一个是将被用于唯一地认证代理设备(4)的所选认证模型(100)。根据所选模型生成第一和第二认证信息(102)。第一认证信息用于唯一地认证设备的身份,并且第二认证信息用于验证代理设备具有第一认证信息。第一认证信息被嵌入在代理设备(4)中(104),第二认证信息被传送到用于保持代理设备的注册表的注册表装置(8)(106)。标识出哪一个模型是所选认证模型的认证模型信息也被发送到注册表(8)(106)。

著录项

  • 公开/公告号CN105684482A

    专利类型发明专利

  • 公开/公告日2016-06-15

    原文格式PDF

  • 申请/专利权人 阿姆IP有限公司;

    申请/专利号CN201480056749.6

  • 申请日2014-10-15

  • 分类号H04W12/04;H04W12/06;H04W4/00;H04L29/06;H04L29/08;

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人刘凤香

  • 地址 英国剑桥

  • 入库时间 2023-12-18 15:55:15

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-10-27

    未缴年费专利权终止 IPC(主分类):H04L29/06 专利号:ZL2014800567496 申请日:20141015 授权公告日:20191025

    专利权的终止

  • 2019-10-25

    授权

    授权

  • 2016-10-26

    实质审查的生效 IPC(主分类):H04W12/04 申请日:20141015

    实质审查的生效

  • 2016-06-15

    公开

    公开

说明书

本发明涉及数据处理的领域。更具体来说,本发明涉及一种为代理设备建立受信任身份的方法。

家庭、其他建筑物或户外环境中的具有处理和通信能力从而允许其与其他处理设备进行交互的设备的数目不断增多。日常对象和相对较小规模的处理设备可以作为“物联网”的一部分彼此连接并且连接到中心平台。举例来说,家庭中的喷洒器系统可以从各种湿度传感器收集信息,并且基于湿度信息控制喷洒器的激活。此外,健康护理提供商可以使用无线传感器(例如心率监测器或者用于监测患者正在服用其处方药物的传感器)来跟踪处于家中的患者的健康。

因此,在多种应用中,可能存在与一个或多个代理设备进行交互的中心应用提供装置,所述代理设备向应用提供装置提供数据并且/或者由应用提供装置控制。代理设备在复杂度、处理资源、硬件和目的方面可以显著不同。可能很重要的是在代理设备与应用提供装置之间提供信任,从而使得应用提供商可以信任接收自代理设备的数据的有效性,并且代理设备可以信任接收自应用提供装置的任何命令。但是由于物联网中的许多代理设备可能只具有很低的处理能力,因此在代理设备中提供用于与应用提供装置建立受信任关系的资源可能比较困难并且可能会显著增加代理设备的成本。这样的代理设备的迅速广泛部署意味着还希望使得安装尽可能地快速和高效。本发明的技术尝试解决这些问题。

从一个方面来看,本发明提供一种为用于实施与一个或多个应用提供装置的受信任通信的代理设备建立受信任身份的方法,所述方法包括以下步骤:

(a)确定多个认证模型当中的哪一个是将被用于唯一地认证代理设备的所选认证模型;

(b)根据所选认证模型生成第一认证信息和第二认证信息,第一认证信息用于唯一地认证代理设备的身份,第二认证信息用于验证代理设备具有第一认证信息;

(c)把第一认证信息嵌入在代理设备中;以及

(d)向用于保持代理设备的设备注册表的注册表装置传送第二认证信息以及标识所述多个认证模型当中的哪一个是由代理设备使用的所选认证模型的认证模型信息。

注册表装置可以保持对于与一个或多个应用提供装置通信能够被信任的代理设备的设备注册表。注册表可以保持用于认证代理设备的认证信息。但是本发明的技术认识到,一个认证模型可能无法适应所有种类的代理设备。一些代理设备可能具有高安全性要求,从而安全的认证模型可能对于这样的设备是适当的,即使其实施成本相对较高。另一方面,对于其他代理设备,比如天气预报应用中的温度监测器,安全性可能不那么重要,并且认证模型可能仅要求传感器可以被识别并且可以信任其数据是有效的。对于这样的设备,可能优选的是较不安全的认证模型以节省成本。因此,本发明的技术认识到,有用的是对于不同的代理设备提供可扩展的安全性能力。

因此,当为代理设备建立受信任身份时,可以选择多个认证模型的其中之一以用于唯一地认证设备。随后可以根据所选认证模型生成第一和第二认证信息。第一认证信息是将由代理设备持有以用于唯一地认证其身份的信息,第二认证信息是用于验证代理设备具有第一认证信息的信息。第二认证信息可以被传送到注册表装置以用于注册在设备注册表中。注册表装置还可以提供有标识出多个认证模型当中的哪一个由代理设备使用的认证模型信息。

通过这种方式,可以为代理设备设立可扩展的认证简档,其可以平衡实施成本与对于该特定设备所要求的安全性。此外,通过在注册表中保持标识出使用了哪一个模型的信息,其他设备可以对注册表进行查询以建立特定代理设备的信任度,从而确定如何使用该代理设备。举例来说,某些安全应用可以选择不使用其认证模型落到特定最低安全性要求以下的代理设备。由注册表和通过这种方式建立其信任的代理设备提供的总体平台允许对于代理设备及其相应的应用的身份和安全性的更高置信度。

一般来说,不同的认证模型可以提供不同的安全性层级。这些不同的安全性层级通常伴随着不同的实施成本。举例来说,实施更高的安全性可能要求在代理设备中提供特定资源,从而可能会增加制造设备的成本。

一旦确定了所选认证模型,所述方法可以包括在代理设备中提供用于实施所选认证模型的认证资源的步骤。举例来说,可以在代理设备的制造工艺期间建立受信任身份,并且随后一旦选择了模型,就可以把特定资源建立到代理设备中。举例来说,所述资源可以包括用于存储认证信息的受保护存储,或者用于生成认证信息的电路,其可以根据选择了哪一个模型而有所不同。

或者,一旦已经制造了具有特定认证资源(比如受保护存储或密钥生成能力)的代理设备,就可以建立受信任身份。在这种情况下,对于认证模型的选择在某种程度上可能受限于哪些认证资源是可用的。但是仍然可以作出选择,并且随后可以向注册表提供关于哪一个模型是所选认证模型的指示。

在一些实例中,与代理设备分开的外部设备可以生成第一和第二认证信息,并且随后可以由外部设备把第一认证信息嵌入在代理设备中。举例来说,所述外部设备可以是由代理设备的制造商或分销商操作的计算机或其他支持系统。出于安全性原因,可能有用的是在第一认证信息已被嵌入在代理设备中之后由外部设备将其删除,而不把第一认证信息传送到任何其他设备。通过这种方式,第一认证信息可以仅被限制到代理设备,并且其他设备无法对其进行访问。这样就降低了另一设备能够利用第一认证信息将其自身假扮成代理设备的可能性。

或者,可以由代理设备内的电路在内部生成第一和第二认证信息。举例来说,所述设备可以具有密钥生成器,其可以生成对应于第一和第二认证信息的密钥。这种方法可能是更加安全的,因为这样确保了第一认证信息绝不会存在于代理设备的外部,因此没有其他设备能够盗用代理设备的身份。但是这种方法可能会增加制造成本,因为将需要在代理设备中提供密钥生成资源。举例来说,密钥生成可能需要提供良好的随机数生成,其实施成本可能较高。

可以通过不同方式把第一认证信息嵌入在代理设备中。如果在制造设备期间实施所述方法,则所述嵌入可以包括在代理设备内提供存储电路加上存储第一认证信息。举例来说,可以把闪存或只读存储器(ROM)建立到设备中以存储第一认证信息。或者,如果已经制造了具有存储电路的设备,则所述嵌入可以包括把第一认证信息存储在已经提供的存储电路中。

对于附加的安全性,可以把第一认证信息嵌入在代理设备的受保护存储区段中。举例来说,只有受信任的软件能够从受保护区段中读取第一认证信息,并且还可以保护受保护区段中的第一认证信息免于被覆写。

不同的认证模型可以通过多种方式彼此不同。后面的描述讨论了认证模型可以有所不同的各种方式,但是应当认识到,如果希望的话可以提供组合了后面所讨论的几项特征的模型。

对于某些认证模型,第一认证信息和第二认证信息可以包括相同的认证信息。也就是说,注册表可以存储共享密钥或也被代理设备本身使用来认证其自身的其他认证信息。举例来说,可以使用例如AES(高级加密系统)密钥之类的对称密钥。这种方法实施起来可能相当便宜,但是利用该模型所实现的安全性层级被降低,这是因为注册表能够访问唯一地标识代理设备的信息,并且将该信息转移到注册表可能容易受到安全性侵害。

在其他模型中,通过提供不同的认证信息以作为第一和第二认证信息可以实现更高安全性层级。举例来说,代理设备可以具有私钥以作为第一认证信息,并且注册表可以具有不同于私钥的公钥以作为第二认证信息。举例来说,所述私钥和公钥可以是ECC(椭圆曲线密码)密钥。这种方法更加安全,这是因为只有代理设备能够访问其私钥——其不会被暴露于注册表。所述传送步骤可以包括向注册表传送包括公钥的数字证书。举例来说,所述数字证书可以是X.509证书。

其中不同认证模型可以有所不同的另一种方式是第一和第二认证信息是可改变还是不可改变的。在一些模型中,认证信息可以是不可改变的,从而使得一旦为代理设备建立了受信任身份之后,则该认证信息就被固定并且无法被改变。举例来说,第一认证信息可以被写入到无法被覆写的存储区域中,并且代理设备可能不具有用于在其一旦离开制造商或分销商之后重新生成认证信息的任何电路。这种方法实施起来更加便宜,但是如果代理设备的密钥信息受到损害,则不可能生成新的密钥。但是如果密钥信息对于一个设备来说是唯一的,则用于该设备的密钥的破解不需要影响到任何其他代理设备。在其他实例中,几个代理设备可以共享相同的认证信息。

另一方面,对于其他认证模型,认证信息可以是可改变的。代理设备可以具有用于重新生成第一和第二认证信息的认证信息生成电路,并且代理设备可以随后向注册表装置传送新的第二认证信息以更新设备的注册表条目。通过这种方法实现了更高的安全性,这是因为可以周期性地重新生成密钥以降低密钥被破解的几率。

因此,这些不同的属性可以被组合,以建立提供针对实施成本折中的可扩展安全性的一系列不同的认证模型。举例来说,可以建立三种认证模型。在第一认证模型中,第一和第二认证信息可以包括相同的信息并且是不可改变的。在第二认证模型中,第一和第二认证信息可以包括不同的认证信息并且是不可改变的。在第三认证模型中,第一和第二认证信息可以包括可改变的不同的认证信息。这些认证模型提供了不同的选项以供代理设备的开发者适当地选择并且由应用提供商适当地使用。

认证模型可以有所不同的另一种方式是一旦代理设备已向第一注册表注册之后其是否允许将其重新指派到不同的注册表。举例来说,私有组织或政府可能希望运营其自身的代理设备的私有注册表,从而使其可以更加直接地控制设备的认证,以避免其代理设备被其他组织认证使用。但是支持到另一注册表的安全转移可能需要特定的资源是可用的,比如重新生成密钥信息的能力,从而使得早前的注册表不再能够认证设备。因此,同样的,在支持重新指派到不同的注册表与其实施成本之间存在折中。因此,可以按照需要为不同的模型提供或者不提供指派设备的能力。

在建立设备身份时,所述方法还可以包括建立唯一地标识代理设备的设备标识符并且将其嵌入在设备中。可以把设备标识符传送到注册表装置,以允许注册表装置将其与认证信息以及关于设备的任何其他元数据相关。

此外,可以把注册表认证信息嵌入在代理设备中以用于认证注册表装置。这样就允许代理设备检查注册表是有效的并且被信任。

此外,所述方法可以包括嵌入注册表地址,比如注册表装置的URL或IP地址。这样就允许代理设备联系注册表装置以进行认证。举例来说,代理设备可以在其第一次被激活时(例如在代理设备被部署时第一次通电时)自动联系通过注册表地址标识出的注册表装置。

从另一方面来看,本发明提供一种用于保持用于实施与一个或多个应用提供装置的受信任通信的代理设备的设备注册表的注册表装置,包括:

被配置成存储设备注册表的存储电路,所述设备注册表包括用于相应的代理设备的至少一个注册表条目,所述注册表条目包括标识出多个认证模型当中的哪一个是被用于唯一地认证相应的代理设备的所选认证模型的认证模型信息;以及

被配置成响应于来自外部设备的请求用于指定代理设备的认证模型信息的认证模型查询而向外部设备传送用于指定代理设备的注册表条目的认证模型信息的通信电路。

通过保持包括标识出对于特定代理设备使用了哪一个认证模型的认证模型信息的注册表,其他设备可以对注册表进行查询以识别设备能力。这样就允许应用提供装置根据代理设备处可用的安全性来适配其自身的操作。举例来说,应用提供商可以避免与其认证模型的安全性不足以用于应用提供商的目的的代理设备进行交互。

注册表装置可以认证代理设备,并且如果代理设备被认证,则注册表装置可以向代理设备和应用提供装置传送应用密钥信息,以使得能够进行代理设备与应用提供装置之间的受信任通信。因此,注册表可以充当用于提供应用密钥的中介,从而使得代理设备本身不需要这样做。这样可以帮助简化代理设备的配置,这对于物联网中的设备是有用的,在物联网中,例如传感器之类的代理设备可能不具有很强的处理能力。

从另一方面来看,本发明提供一种用于保持用于实施与一个或多个应用提供装置的受信任通信的代理设备的设备注册表的注册表装置,包括:

用于存储设备注册表的存储部件,所述设备注册表包括用于相应的代理设备的至少一个注册表条目,所述注册表条目包括标识出多个认证模型当中的哪一个是被用于唯一地认证相应的代理设备的所选认证模型的认证模型信息;以及

用于响应于来自外部设备的请求用于指定代理设备的认证模型信息的认证模型查询而向外部设备传送用于指定代理设备的注册表条目的认证模型信息的通信部件。

从另一方面来看,本发明提供一种用于注册表装置保持代理设备的设备注册表的方法,所述代理设备实施与一个或多个应用提供装置的受信任通信,所述方法包括以下步骤:

保持包括用于相应的代理设备的至少一个注册表条目的设备注册表,所述注册表条目包括标识出多个认证模型当中的哪一个是被用于唯一地认证相应的代理设备的所选认证模型的认证模型信息;

从外部设备接收请求用于指定代理设备的认证模型信息的认证模型查询;以及

响应于认证模型查询,向外部设备传送用于指定代理设备的注册表条目的认证模型信息。

从另一方面来看,本发明提供一种向用于实施与一个或多个应用提供装置的受信任通信的代理设备的设备注册表注册代理设备的方法,所述方法包括以下步骤:

(a)确定多个认证模型当中的哪一个是被代理设备使用来唯一地认证该代理设备的所选认证模型;以及

(b)向用于保持设备注册表的注册表装置传送标识出所述多个认证模型当中的哪一个是被用于代理设备的所选认证模型的认证模型信息。

还可以在已经建立了代理设备的受信任身份之后的某一后来阶段向注册表装置传送认证模型信息。在这种情况下,所述方法可以包括确定代理设备使用了哪一个认证模型,并且向注册表装置传送认证模型信息。如果尚未向注册表传送认证信息,则还可以在向注册表注册设备时传送认证信息。

后面将分别参照附图更加详细地描述本发明的其他方面、特征和优点。

图1示意性地示出了包括用于在代理设备与应用提供装置之间建立受信任通信的至少一个注册表装置的系统的一个实例;

图2示出了代理设备、应用提供商、设备注册表与消费者之间的关系的一个实例;

图3示出了表明代理设备经过其从制造到对于应用的使用的生命周期的示例性时间线;

图4示意性地示出了代理设备的一个实例;

图5示意性地示出了提供在代理设备中的用于存储认证信息和用于与注册表装置建立通信的其他信息的存储区段的一个实例;

图6示出了应用提供装置的一个实例;

图7示出了用于保持受信任设备注册表的注册表装置的一个实例;

图8A示出了用于代理设备的注册表条目的一个实例;

图8B示出了用于代理设备的事件记录的一个实例;

图9是示出了安全性与实施安全性的成本之间的折中的图表;

图10、11和12示出了用于认证代理设备的身份的认证模型的三个实例;

图13是比较图10到12中示出的认证模型的不同属性的表;

图14示出了建立用于代理设备的受信任身份的第一示例性方法;

图15示出了建立用于代理设备的受信任身份的第二示例性方法;

图16示出了在代理设备与注册表装置之间实施认证以及在代理设备与应用提供装置之间建立已加密通信的方法;

图17示出了把代理设备与用户相关联以及把代理设备与特定应用相关联的方法的一个实例;

图18示出了把当前对于第一注册表注册的代理设备指派到第二注册表的方法的一个实例;

图19示出了用于把代理设备的所有权重置回第一注册表的方法的一个实例;以及

图20到23示出了用于代理设备、注册表装置和应用提供装置的使用情况的四个实例。

图1示出了由若干代理设备4、应用提供装置6和注册表装置8构成的系统2的一个实例。应用提供装置6可以包括提供云端服务或者利用收集自一个或多个代理设备4的数据执行应用程序以及/或者发出用于控制一个或多个代理设备4的命令的任何设备。代理设备4可以是收集数据以用于传送到应用提供装置6或者由应用提供装置6控制的任何设备。举例来说,代理设备4可以是物理网(IOT)中的连接设备,比如无线传感器和致动器。虽然代理设备4可以包括例如平板计算机或移动电话之类的更大规模处理设备,但是代理设备4常常可以包括仅实施有限的任务集合的相对较小规模的设备,比如收集感测数据并且将其反馈给应用的传感器,或者控制例如喷洒器、游泳池泵或空调单元之类的相关联的对象的相对简单的控制单元。代理设备4可以利用有线或无线通信与其他设备(比如应用提供装置6和注册表装置8)进行通信,这可以是通过因特网连接进行的。在本申请中,术语“传感器”有时将被用作代理设备的一个实例,但是应当认识到,代理设备还可以包括能够实施除了感测之外的其他任务的设备。

代理设备4和应用提供装置6通过已加密通信进行通信。为了帮助建立这样的已加密通信,提供一个或多个注册表装置8以用于保持存储关于受信任代理设备4的信息的受信任代理设备注册表。注册表8促进代理设备4与应用提供装置6的自动化安全配对,从而使得应用可以信任代理设备4的真实性和数据完整性,并且使得代理设备4可以信任应用6的真实性和命令完整性,即使在应用和代理设备是由不同的制造商、供应商或分销商提供的情况下也是如此。注册表8还简化代理设备4与应用6之间的受信任通信的配置,从而使得代理设备4不需要知道正与之进行通信的应用的具体细节,并且使得代理设备4的用户不需要实施配置操作来与应用建立通信。相反,当被激活时,代理设备4可以简单地联系注册表8,其随后可以配置代理设备4和应用6彼此通信。

如图1中所示,可以提供多个注册表装置8,每个注册表装置与代理设备4和应用提供商6的不同集合联系。如图1中所示,代理设备A8有可能对于多于一个注册表注册。类似地,应用提供装置6可以与多个注册表联系。此外,虽然大多数代理设备4将与单个应用提供装置6通信,但是也有可能使得注册表配置代理设备4与多个应用提供商通信(例如参见图1中的代理设备A2)。

对于不同的应用,代理设备4和应用提供装置6的功能可以有显著的不同。举例来说,代理设备4可以收集气象数据以供传送到应用提供商6,后者运行基于由代理设备4收集的数据来实施预测的天气应用。此外,一些代理设备4可以收集关于用户的健身运动的信息(比如心率、已完成距离等等),并且该信息可以被反馈到由应用提供商6保持的健身监测应用。在另一个实例中,家庭空调系统可以包括中央监测应用6和若干代理设备4,比如温度传感器、湿度传感器、用户配置面板以及空调控制单元,其中由中央应用基于传感器的感测以及在用户配置面板中设定的用户优选项来控制空调控制单元的操作。有许多另外的应用可以按照类似的方式来使用应用提供装置6以及一个或多个代理设备4。举例来说,可以有家庭安全、家庭或街道照明、公用事业提供、建筑物自动化、巡查、资产跟踪以及物流等方面的应用。注册表8提供用于管理物联网设备与应用6之间的认证和信任的公共架构。

图2示意性地示出了代理设备4、应用提供商6、注册表8和消费者10之间的关系的一个实例。消费者10对代理设备4具有物理所有权。消费者10还与应用提供商6具有业务关系。举例来说,应用提供商可能已经利用用户ID和口令建立了消费者10的用户简档。这一情境中的消费者例如可以是个人、家庭或公司。

代理设备4(例如传感器)合并用于向注册表8认证其自身的认证信息。举例来说,代理设备4可以具有密钥,所述密钥可以被用来证明其身份。因此,注册表8可以检查代理设备4的身份,并且验证其是受信任代理设备。类似地,注册表8和应用提供商6可以交换密钥,以便验证彼此的身份并且建立受信任关系。当注册表8与代理设备4和应用提供装置6都建立了信任时,随后注册表8可以向代理设备4和应用提供装置6提供应用密钥。由注册表8提供的应用密钥随后被用来加密代理设备4与应用提供商6之间的通信而不需要通过注册表8的任何通信。因此,注册表8促进代理设备4与应用提供商6之间的受信任通信的建立,而不需要代理设备4和应用提供商6在其之间直接建立信任。这是有用的,因为通常代理设备4可能是较小的超低功率设备(比如温度传感器或心率监测器),其只具有很少的处理能力来实施用于验证应用提供商6的身份的协议和密码算法。此外,通常安装代理设备4的人可能不具有用来实施用于与应用提供商6建立受信任通信的复杂配置应用的知识或信息。注册表使得不再需要代理设备4的用户或安装者知道如何配置受信任通信。

应当提到的是,在图2中不存在消费者10与注册表8之间的关系。注册表8不具有关于消费者的任何细节,比如用户ID或口令,因此没有个人细节被传送并且由注册表存储。消费者仅与应用提供商6有关系10。注册表8仅与代理设备4和应用提供商6通信,而不与消费者10通信。因此,注册表8是用于在代理设备与应用之间建立信任的中立平台。一旦在代理设备4与应用6之间建立了受信任通信,则通信直接在代理设备与应用之间进行,而不涉及注册表。

在其他实例中,可能不存在如图2中所示的消费者10,相反代理设备4可属于运作应用提供装置6的相同组织。举例来说,智能连接城市可以具有位于城市中的各处的例如用于监测街道照明、交通流量或废物收集的物联网设备,并且城市管理可以同时拥有提供感测数据的代理设备4以及用于监测由代理设备4获得的数据并且处理该数据的一个或多个应用提供装置6(例如所述应用可以提供云端平台,城市的居民可以访问该云端平台以便检查状态和报告问题)。在这种情况下,可能没有如图2中所示的与特定代理设备4相关联的消费者10。但是注册表8的使用仍然会简化代理设备4的安装。把代理设备4安装在街灯或废物箱中的承包商例如将不需要知道如何配置代理设备4与接收来自代理设备4的数据的应用通信。相反,在代理设备4激活时(例如在代理设备通电或部署时),代理设备可以自动与注册表8进行通信以便与应用6设立受信任关系。

图3示出了表明代理设备(传感器)4从其制造经过其对于注册表8的注册和认证直到与应用提供商6建立通信为止的进程的示例性时间线。在步骤A处,用硅来制造用于代理设备的芯片上系统(SOC)。在步骤B处,原始装备制造商(OEM)和/或原始设备制造商(ODM)利用所述芯片上系统来制造代理设备4。在制造期间的某一点处,唯一设备标识符与用于认证代理设备的身份的密钥信息以及关于代理设备的其他元数据一起被嵌入在代理设备4中。在步骤C处,代理设备被分销。举例来说,用户10可以从商店购买代理设备4,或者可以把代理设备提供给例如天气预报中心或市政府之类的组织。在步骤B处的制造或者步骤C处的分销期间,向注册表8提供登记信息以便把代理设备4作为受信任代理设备注册在注册表8中。可以为注册表8提供用于验证代理设备4是受信任的密钥信息以及关于代理设备4的其他元数据。

此时,注册表8知道具有所述唯一ID的代理设备4是受信任代理设备,但是还不知道哪一个云端服务应用将使用来自代理设备4的数据。因此,在步骤D处,实施绑定操作以便把用户10、代理设备4和云端应用6相关联。举例来说,代理设备在其上可以具有某种设备标识符,比如参考号、条形码或QR代码(快速响应代码)。应用提供商6可以提供web接口或者智能电话或平板设备应用,以用于输入设备标识符或者扫描条形码或QR代码,并且将设备标识符连同用户的标识符一起上传到应用提供商6。或者这可以由应用提供商在消费者对于应用提供商的注册以及代理设备到用户的后续分配和派送时实施。此时,云端服务知道哪一个用户拥有代理设备4,并且于是可以向注册表8通知将要对于该应用6的使用所注册的设备标识符,从而使得注册表现在知道哪一个应用提供商6应当与代理设备4通信。通过这种方式,可以在无需代理设备4的用户知晓注册表8存在的情况下在注册表8中建立代理设备4与应用提供商6之间的关联,并且也不需要代理设备4存储把代理设备4关联到特定云端服务或应用提供商6的信息。

在步骤E处,例如通过将其作为物联网的一部分在原处安装,或者通过第一次开启代理设备来部署代理设备。在代理设备4激活时,代理设备4利用存储在代理设备4内的注册表地址自动联系注册表8。代理设备4和注册表8现在彼此互相认证以建立信任,这是利用在步骤B处被嵌入在代理设备4中并且在步骤B或C的登记期间对于注册表8注册的密钥信息而实现的。如果互相认证成功,则注册表8向代理设备4和应用提供商6提供应用密钥,并且然后在步骤F处代理设备4和应用提供商6可以通过利用接收自注册表8的应用密钥加密和解密消息来安全地进行通信。因此,注册表8允许在代理设备4与应用6之间设立信任,而不需要代理设备实施任何复杂的配置。

总而言之,注册表8提供用于管理IOT设备(例如传感器)4与应用提供装置(云端提供商)6之间的信任的认证的架构。注册表8包括云端平台,其管理关于每一个应用提供商6和代理设备4的元数据,管理代理设备4与应用提供商6之间的关系,认证设备标识符,并且为代理设备和应用自动提供密钥以允许安全的通信。代理设备4可以是根据特定设计指南来制造和设计的,其确保代理设备4具有唯一可认证身份、安全的密钥存储、用于安全地保持信任的密码能力以及可预测的平台鲁棒性。代理设备制造支持平台可以支持代理设备4中的密钥生成和插入、密钥对的管理以及与注册表的接口。

该架构有助于解决现有系统中的几个问题。通过为每一个代理设备提供由注册表云端服务认证的唯一标识符,代理设备可以被唯一地识别以确保信任。优选的是,设备标识符可以是全球唯一的,从而使得全世界都不会有两个设备共享相同的标识符。这意味着制造和设备标识符的指派可以完全独立于任何后续使用的注册表。但是还有可能使得设备标识符在给定的注册表或注册表群体中是局部唯一的,其中对于独立的、没有交互的注册表中的不同设备使用相同的标识符。通过对于应用安全地配对代理设备的自动登记处理,实现代理设备4与应用6之间的相互认证,从而使得应用信任代理设备真实性并且使得代理设备信任应用真实性。由于代理设备4和应用6即使不是由相同的提供商制造或分销现在也可以彼此信任,这样就为代理设备和应用打开了市场,从而使得没有必要使用由特定应用提供商6提供的特定品牌的代理设备4来实现信任。应用可以信任来自多家制造商的范围广大的代理设备,并且代理设备可以信任来自多家提供商的范围广大的应用。这将有助于降低代理设备和应用的成本,并且还有助于增加物理网代理设备和应用的使用。此外,注册表8有助于提高应用提供商对用于“大数据”应用的传感器数据的来源的机密性,所述“大数据”应用处理接收自许多来源的大量数据。对于“大数据”服务所收集的信息的价值取决于由各个单独的代理设备4收集的所有“小数据”的有效性。如果云端服务无法信任其各个单独的代理设备4,则通过“大数据”应用所获得的结论也无法被信任,从而使得整个应用没有意义。本发明的技术有助于保持对于通过这样的应用所收集的总体信息的信任。此外,注册表8可以存储代理设备特性以及例如代理设备4的使用历史之类的其他信息。这可以被用来允许应用提供商6把特定种类的代理设备4作为目标。举例来说,应用6可能仅希望从具有特定最低安全性要求的代理设备4收集数据。

图4示意性地示出了代理设备4。代理设备包括用于收集感测数据的感测电路11。举例来说,感测电路11可以包括温度传感器、摄影机、心率监测器或者用于收集应用提供商6所需的数据的任何其他检测器。代理设备4还包括用于控制由代理设备4实施的各种处理操作的处理电路12,比如相互认证、对于发送到应用提供装置6的数据的加密以及密钥生成。代理设备4还具有用于与例如注册表装置8和应用提供装置6之类的外部设备通信的通信电路14。通信电路14可以使用无线通信,比如利用无线局域网(WiFi)的通信,例如射频通信(RFID)或近场通信(NFC)之类的短距离通信,或者使用在例如ZigBee或Bluetooth或6LoWPAN之类的无线传感器网络中的通信。此外,通信电路14可以使用例如3G或4G之类的蜂窝网络。通信电路14还可以使用有线通信,比如使用光纤或金属电缆。通信电路14还可以使用两种或更多种不同形式的通信,比如组合使用前面给出的其中几个实例。代理设备还包括存储电路16,其用于存储代理设备4的设备标识符、用于认证代理设备的认证信息以及由代理设备4使用的其他信息。代理设备可选地还可以包括密钥生成器18,其用于生成密钥信息或者用于代理设备4的其他认证信息。

虽然图4示出了其中代理设备是包括感测电路11的传感器的一个实例,在其他实例中,感测电路11可能不是至关重要的。相反,例如代理设备可以包括用于控制物理对象,比如喷洒器、防盗警报、加热或空调单元或者交通灯系统的控制电路。

图5示意性地示出了存储在代理设备4的存储电路16中的信息的一个实例。存储电路16具有用于存储唯一地标识代理设备4的设备标识符22的一次性可编程(OTP)区段20。设备标识符22在代理设备4的制造期间被嵌入在OTP区段20内。在该实施例中,一旦被固定在OTP区段20中,设备标识符22就无法被改变。举例来说,在把设备标识符写入到OTP区段20之后,可以在存储电路中烧穿熔丝,从而使得OTP区段20无法被重写。或者,在某些设备中,有可能在制造之后为设备生成新的标识符。举例来说,在把设备转移到不同的注册表时,有可能为设备指派新的标识符,以避免与已经由新的注册表管理的设备的标识符发生冲突。

存储电路16还包括既可以被读取也可以被写入的非易失性存储器区段24,但是对其施加读写保护,从而使得区段24只能由处理电路12所执行的特许软件访问。读/写保护区段24存储注册表地址26,其包括URL、IP地址或者允许代理设备4联系注册表8的其他标识符。受保护区段24还存储用于解密接收自注册表6的消息的注册表公钥27,以便验证所述注册表是得到授权的(注册表公钥27对应于注册表所持有的注册表私钥)。

受保护区段24还存储传感器密钥28或私钥29,其是代理设备4所保持的用于唯一地标识其身份的唯一密钥。传感器密钥28是与注册表8共享的对称密钥。一则消息可以至少部分地利用传感器密钥28加密,并且如果注册表8可以利用相同的密钥成功地解密所述消息,则该消息被认为接收自受信任代理设备,因此所述设备得到认证。或者,可以为代理设备提供对应于注册表8所持有的不同公钥的私钥29。这样的不对称密钥对允许对于代理设备的更加安全的认证,这是因为没有其他设备持有代理设备4的私钥29。对应于私钥29的公钥32被放置在存储电路16的写保护但是非读保护的区段34中。因此,公钥32可以由任何设备或者运行在代理设备4上的任何软件读取。此外,与代理设备4相关联的数字证书36也被存储在存储电路16的开放区段34中。所述数字证书包含标识代理设备4的各种数据、元数据以及公钥32。所述证书在认证期间被发送到注册表8,并且注册表对所述证书进行签名以便认证代理设备身份。其他设备随后可以从注册表8读取证书,并且注册表的签名验证代理设备是受信任的并且与证书36相关联的公钥32确实来自该代理设备。因此,注册表8可以充当用于颁发公钥32的发证机构,其方式类似于公钥基础设施(PKI)中的其他发证机构。

读/写保护区段24还存储一个或多个应用密钥30,其是用于与应用提供商6实施受信任通信的对称密钥。这些密钥由注册表8提供,并且被用来对代理设备4和应用提供商6所交换的数据或命令进行加密/解密。可以由注册表8为每一对代理设备4和应用提供商6提供不同的应用密钥,以便保持设备之间的通信的安全性。在其他实施例中,不对称密钥可以被用作提供给设备4和应用提供商6的应用密钥30。注册表装置8所提供的应用密钥可以由注册表装置8本身生成,或者可以由注册表从另一个设备,比如硬件密钥生成器或密钥存储设备获得。

图6示出了应用提供装置6的一个实例。提供通信电路40以用于与注册表8和代理设备4进行通信。同样地,可以提供不同形式的有线或无线通信,正如前面对于代理设备4所讨论的那样。应用提供装置还包括存储电路42,其存储由应用提供装置6使用的各种数据和应用。举例来说,存储电路42可以存储应用程序,所述应用程序使用通过通信电路40接收自代理设备4的数据并且按照某种方式对其进行处理,或者向代理设备4发出控制命令。提供处理电路44以用于执行应用以及控制其他操作,比如对于注册表8的认证以及对于与代理设备4交换的数据的加密/解密。可以提供密码特征部,比如存储电路42中的安全存储器以及处理电路44中的密码算法或安全处理功能。

图7示出了用于保持设备注册表的注册表装置8的一个实例。注册表8具有用于与代理设备4和应用提供装置6进行通信的通信电路50。同样地,通信电路50可以使用各种有线或无线通信,正如前面所讨论的那样。注册表还具有存储电路52,其存储由注册表8执行的程序,并且存储设备注册表以用于跟踪关于各种代理设备4和相应的应用6的信息。提供处理电路54以用于执行存储在存储电路52中的应用程序并且控制各种操作,比如认证代理设备4和应用提供商6,实施代理设备4在不同注册表之间的转移,以及管理关于代理设备的元数据。同样地,可以提供密码特征部,比如存储电路42中的安全存储器以及处理电路44中的密码算法或安全处理功能。注册表8还可以对来自外部设备的针对关于特定代理设备4的信息的查询作出响应,比如关于代理设备使用哪一个认证模型的信息。出于安全性原因,并非所有注册表8都可以允许这样的查询。举例来说,一些注册表运营商可能优选的是不给出关于由特定代理设备4使用的认证模型的信息。此外,注册表8可以在利用关于代理设备4的信息作出响应之前对查询设备实施认证,以便确保只有受信任的查询设备被允许获得该信息。

图8A示出了由注册表装置8的存储电路52存储的注册表条目60的一个实例。向注册表注册的每一个代理设备4可以具有包括该代理设备4的设备标识符22(其对应于存储在代理设备4的OTP区段20中的标识符22)的注册表条目。注册表条目还包括代理设备4的设备证书36和公钥32,以及由注册表8使用来验证代理设备4是受信任的任何其他认证信息。虽然图8A示出了其中证书36和公钥32处在相同的栏位中的一个实例,但是证书36和公钥32也可以被提供在不同的栏位中。此外,注册表条目60还可以具有用于使用在其他认证模型中的其他类型的认证信息的栏位。

注册表条目60还包括一个或多个应用标识符62,其标识代理设备4将与之建立受信任通信的一个或多个应用提供装置6,以及用于与所标识的应用提供装置6通信的一个或多个应用密钥30。同样地,应用标识符62和相应的应用密钥30可以处在注册表条目60的相同的栏位或分开的栏位中。可以响应于来自应用提供商的将其与该代理设备相关联的请求而把应用标识符存储在注册表条目中。因此,代理设备本身不需要知晓其正在与哪一个应用通信,并且注册表8可以提供代理设备与应用提供装置之间的关联。举例来说,一旦代理设备接收到来自注册表8的应用密钥30,则其可以简单地输出利用应用密钥30加密的数据而不需要关心该数据将去往何处。

注册表条目60还包括标识代理设备4使用哪一个认证模型来安全地认证其自身的认证模型信息,正如后面将描述的那样。应当认识到,注册表条目60可以包括关于代理设备的许多其他类型的信息和元数据,其可以由例如应用提供商之类的外部设备查询。还应当认识到,代理设备4、应用提供商6和注册表8可以包括除了图4、6和7中所示出的之外的许多其他单元。

此外,注册表条目60包括签名/散列栏位68,其包括基于注册表条目60的至少其中一些其他栏位中的信息生成的受信任签名或散列值。这允许在某一设备或个人尝试在注册表中首次创建注册表条目60之后修改其中一个其他栏位的情况下作出篡改检测。注册表装置8可以利用其他栏位重新计算签名或散列,并且检查其是否匹配所存储的签名/散列栏位68。

如图8B中所示,注册表装置8还可以存储用于相应的代理设备4的事件条目69。事件条目69可以是图8A中示出的注册表条目60的子条目,或者在其他实施例中可以被提供为通过设备ID22与注册表条目60相关联的分开的记录。事件条目69提供与对于相应的代理设备4所发生过的事件有关的历史信息。特定的代理设备4可以具有与之相关联的零个、一个或多个事件条目69。因此,在用于特定设备的注册表条目60和与相同设备相关联的事件条目69之间可以存在一对多关系。事件条目69包括用于代理设备的设备ID22、表示事件发生的日期的日期信息、表明所发生的事件的类型的事件记录以及与事件相关联的任何其他信息的栏位,以及用于篡改检测的签名/散列栏位,这类似于注册表条目60的签名/散列栏位68。可以在与代理设备4相关联的事件发生时创建新的事件条目69。举例来说,可以被记录的事件包括代理设备4从制造的派送、装运(位置)、设备的激活或停用、消费者对设备的注册以及许多其他事项。事件条目69允许注册表跟踪设备的历史。

如图9中所示,不同类型的代理设备4对于安全性和认证可能具有不同的要求。一般来说,所要求的安全性的层级越高(这例如是因为数据是有价值的、属于个人的、商业上敏感的或者是因为存在与数据的使用相关联的健康或公共安全问题),代理设备4的制造成本就越高,这是因为可能需要用于管理认证的更加复杂的资源。对于一些设备来说,这一附加的成本可能无法被合理化(justify)。举例来说,对于例如把数据馈送到天气监测应用的温度计之类的代理设备,所要求的所有条件是数据可以被信任是真实的,因此可以使用相对低成本和低安全性的认证模型。另一方面,对于在健康护理或智能城市或远程信息处理中所使用的其他种类的设备,可能非常重要的是代理设备完整性和真实性不受损害。对于这些应用,为了获得更高程度的安全性而招致增加的成本的做法可以被合理化。因此,如图9中所示,可以建立多个不同的信任层级,以便提供一种用于为IOT设备保持真实设备身份的可扩展技术。每一个代理设备4可以具有为之选择的特定认证模型,并且可以利用如图8中所示的认证模型信息64在注册表条目60中表明所选择的模型。此外可能还存在使得具有类似功能的设备具有操作在不同安全性层级下的认证模型的商业需求。这对于迎合不同的使用领域可能是有用的。

在设备的制造或分销期间建立了具有不同认证模型的不同代理设备4之后,注册表8随后可以基于认证模型信息64把代理设备划分或分离到不同的类别中。举例来说,某些应用6可能会表明其只能与具有特定认证模型的代理设备进行通信。此外,设备可以查询注册表8以便确定用于指定代理设备4的认证模型。举例来说,银行业务应用提供商可能希望在与代理设备4建立信任通信之前确定用户的现成代理设备4满足特定的最低安全性要求。不同的认证模型可能在许多不同的方面有所不同。举例来说,一些认证模型可以使用固定的、不可改变的认证信息,其他认证模型则可以允许利用代理设备4的密钥生成电路18来更新认证信息。对于固定的模型,密钥生成电路18可能不需要与代理设备4一起提供,从而可以更加便宜地实施代理设备,而对于具有密钥生成能力的代理设备则可以提供更加安全的认证,这是因为可以在需要时重新生成密钥。类似地,一些认证模型可以使用由代理设备4和注册表8共享的对称密钥,其他设备则可以使用不对称密钥,其中代理设备4和注册表8具有不同的互补密钥。一些模型可以允许把代理设备从一个注册表转移到另一个,其他模型则可以把代理设备限制到对于特定注册表操作。因此,有许多不同的方式来实施认证模型,并且可以在代理设备的制造或开发期间适当地进行选择。

图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,并且将不会影响任何其他代理设备。因此,该模型可以被用于例如天气预报之类的低安全性应用。

在一些实施例中,取代具有单个传感器密钥28,可以把一个传感器密钥的列表嵌入到代理设备4中,并且可以由代理设备4从所述列表中选择一个密钥以用于认证其自身。在这种情况下,可以利用表明哪一个密钥是所选密钥的进入到列表中的索引来定义设备的活跃标识。随后可以为注册表8提供用于所选密钥的相应的代理设备密钥。利用这种方法,如果一个传感器密钥被破解,则代理设备4可以切换到使用列表中的另一个传感器密钥。

图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方案都可以被用于第二模型。

图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发送包含设备ID22和公钥32的证书签名请求。公钥32和证书36还被写入到存储器的写保护区段34中,其是完全可读而没有保护的。注册表8对证书36进行签名,以验证代理设备是经过授权的。这种方法不具有模型1或2中的暴露弱点,在模型1或2中,传感器密钥28或私钥29可以从注册表8或制造平台70中被提取。代理设备的私钥29绝不会被暴露于除了代理设备4之外的任何其他设备。在这种情况下,安全性的强度依赖于由芯片上密钥生成器18进行的密钥对生成的质量,为了使得这一方面足够安全,在制造设备方面存在附加的成本,这是因为必须有附加的硅来支持安全密钥生成(例如将需要良好的随机数生成)。

在图12的实例中,第三认证模型还允许把注册表8与代理设备4之间的受信任关系转移到第二注册表80。后面将更加详细地描述这一处理。由于代理设备4具有芯片上密钥生成电路18,因此这意味着当代理设备把信任从第一注册表8转移到第二注册表80时,可以生成新的密钥,从而使得第一注册表8不再能够认证代理设备4。这对于提供附加的安全性可能是有用的,这是在于比如用在政府或防务应用中的私有注册表8的运营商可能会要求把某些代理设备转移到其注册表,并且去除与公共注册表8的所有联系。或者,第一注册表可以被指示删除相关的条目,从而使其不再能够认证代理设备。通过这种方式,代理设备不需要生成新的密钥。在另一种变型中,代理设备可以具有多于一个预先存储的密钥。在改变注册表时,随后则可以使用先前未被使用的密钥。

应当认识到,还有可能为图10和11的其他模型提供在注册表之间转移信任的能力。但是在这种情况下,由于代理设备无法重新生成其密钥信息,因此代理设备4将利用相同的密钥信息被注册在第二注册表80中。在这种情况下,两个注册表8、80可以共享相同的代理设备4,从而使得相同的代理设备4被注册到两个注册表。因此,取代把代理设备数据直接转移到另一个注册表,相反可以把代理设备指派到两个注册表,从而使得代理设备可以和与两个注册表均相关联的应用提供商进行通信。

因此,可以提供若干不同种类的认证模型,以便允许代理设备设计平衡保持足够程度的安全性的能力与实施安全性的成本。取决于代理设备的意定目的,在制造期间可以选择特定模型,并且随后可以由注册表8保持关于使用了哪一个模型的信息,从而允许应用针对其要求使用适当的代理设备。图13示出了比较图10到12中示出的模型的不同属性的表。应当认识到,可以使用其他类型的模型。举例来说,可以使用不同类型的密钥生成以提供不同程度的安全性。

图14示出了建立代理设备4的受信任身份的方法的第一实例。所述受信任身份可以在代理设备的制造期间、在其分发期间或者后来在对于注册表登记设备时建立。在步骤100处,确定将对于代理设备4使用的认证模型。如果代理设备4已被制造,则对于所选认证模型的确定将取决于在代理设备4中已经提供了哪些资源(例如如果代理设备不具有芯片上密钥生成电路18,则可能无法选择前面所讨论的认证模型3)。另一方面,如果在代理设备制造之前或期间实施所述方法,则可以选择任何认证模型,并且可以在后来实施用于实施所述模型的所需处理资源(比如把受保护存储、PKI基础设施或者密钥生成能力建立到设备中)。

在步骤102处,根据所选认证模型生成用于认证代理设备4的密钥信息。取决于所选模型,这可以由外部制造设备70实施或者由代理设备4本身实施。在步骤104处,设备ID22、共享传感器密钥28或私钥29、注册表地址26并且可选地还有设备证书36被嵌入在代理设备4的存储电路16内。所述嵌入步骤可以通过把存储电路建立到设备中来实施,或者通过把所述信息存储在已经在先前的制造阶段期间被提供在代理设备内的存储电路中来实施。如果使用认证模型1,则传感器密钥28被嵌入,如果使用认证模型2或3,则私钥29和证书36被存储在存储电路16中。此时,还可以为代理设备4提供注册表认证信息以用于验证注册表8的身份。

在步骤106处,用于定义代理设备4的受信任身份的各种元数据被上传到注册表装置8。举例来说,设备ID22、传感器密钥28(用于模型1)或公钥32(用于模型2或3)、数字证书36(用于模型2或3)以及表明所选模型的认证模型信息64可以被上传到注册表8。在步骤108处,注册表在必要时对证书进行签名,并且把设备元数据注册在注册表中以便把所述设备建立为其身份可以被认证的受信任设备。

图15示出了建立针对设备的信任和身份的第二实例。在该例中,已经利用密钥生成电路18并且利用存储在存储电路16的OTP区段20中的设备标识符22制造了代理设备(传感器)4。因此,该传感器4使用认证模型3或者允许芯片上密钥生成的类似模型。在步骤120处,传感器4向注册表8发送表明传感器4的设备标识符22的注册(登记)请求。在步骤122处,注册表检查传感器4是否已经为注册表所拥有,并且如果是的话则所述方法结束。

如果代理设备尚未被拥有,则在步骤124处,触发传感器4以利用密钥生成器18创建新的密钥对29、32,并且所述密钥对当中的私钥29被放置在受保护存储区段24中。在步骤126处生成证书签名请求,其被发送到注册表8。证书签名请求请求注册表8对传感器4的数字证书32进行签名。所述证书至少包括传感器4的设备标识符22作为主题名称,传感器4的安全性层级(认证模型信息),以及由密钥生成器18生成的公钥32。在步骤128处,注册表8对所述证书进行签名以便证实所述证书和公钥是有效的。注册表把关于传感器4的信息注册在设备注册表中,以便把传感器4建立为受信任代理设备。

图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。

在步骤150处,注册表8和应用提供商6对彼此实施相互认证以建立信任。通常来说,这将由注册表8对于每一个应用提供商6实施一次。注册表8与应用提供商6之间的相互认证150通常将不对于与应用提供商6通信的每一个代理设备4重复。相互认证150可以利用任何已知的认证技术发生。

在步骤152处,代理设备被激活,并且响应于激活,代理设备4向通过嵌入在代理设备的受保护存储24中的注册表URL26所标识出的注册表传送认证请求154。所述认证请求包括标识代理设备4的设备ID22。代理设备的激活例如可以包括代理设备在安装之后第一次通电,或者代理设备上的激活按钮被按下。认证请求154可以响应于代理设备的激活被自动传送,从而使得不需要用户接口或者某种其他种类的用户接口来触发认证。这意味着安装或使用代理设备的人不需要知晓代理设备正被认证。响应于认证请求154,代理设备4和注册表8利用已经由代理设备4和注册表8在注册或登记期间交换过的密钥开始进行相互认证156。在相互认证中,代理设备4利用传感器私钥Ks.pr加密消息的散列,并且把部分加密的消息158传送到注册表8。按照相应的方式,注册表8利用注册表私钥Kr.pr加密消息的散列,并且把部分加密的消息159传送到代理设备4。代理设备4获得其自身的消息159的散列,并且将其与通过利用注册表公钥Kr.pu对已加密散列进行解密所获得的散列进行比较。如果两个散列匹配,则认定注册表8是真实的。类似地,注册表8从消息158获得散列,并且将其与通过利用传感器公钥Ks.pu对随着消息158接收到的已加密散列进行解密所获得的散列进行比较。同样地,如果两个散列匹配,则代理设备4得到认证。

虽然图16示出了由代理设备4传送的分开的认证请求154和认证消息158,但是在其他实施例中,认证请求154和认证消息158可以是相同的消息,从而使得代理设备4在激活152时向注册表8传送部分加密的认证消息158(连同设备ID22一起),并且该部分加密的认证消息158充当触发注册表8通过相互认证156作出响应的认证请求。

如果注册表8成功地认证了接收自代理设备4的消息158,则在步骤160处,注册表8生成应用密钥30并且将应用密钥发送到代理设备4。此外,注册表8还把应用密钥30发送到通过用于具有在认证请求154中指定的设备ID22的代理设备4的注册表条目60中的应用标识符62所标识出的应用提供商6。注册表8还把代理设备4的代理设备ID发送到应用提供商6,从而使得应用提供商6知道哪一个代理设备4将利用所接收到的应用密钥30进行通信。

如果代理设备4成功地认证了注册表8,则在步骤170处,代理设备4和应用提供商6利用接收自注册表8的应用密钥30开始已加密通信。如果注册表8尚未被代理设备4成功认证,则代理设备4不参与利用应用密钥30的任何已加密通信。在已加密通信180中,通常代理设备4将向应用提供商6传送数据,并且应用提供商将向代理设备4传送命令,但是也有可能在相反的方向上发送数据或命令。在步骤190处,运行在应用提供装置6上的应用处理接收自代理设备的数据。举例来说,应用可以使用数据来确定另外的信息,或者可以将数据用于可以通过因特网访问的云端计算平台。已加密通信180在代理设备4与应用提供商6之间直接进行,而不经过注册表8。

因此,注册表8允许代理设备4和应用提供商6对通信进行加密而不需要代理设备4处的复杂配置或用户交互。这意味着代理设备4可以非常简单,并且不需要具有复杂的处理资源,同时仍然可以保持安全性。

图17示出了用于在注册表8内把代理设备4与特定消费者(用户)10相关联并且把代理设备4与应用提供商6相关联的方法。在步骤200处,消费者10获得代理设备的设备ID22。这可以通过多种方式进行。举例来说,代理设备4或者用于设备4的盒子可以具有印刷在其上的设备ID,并且消费者可以从代理设备外壳读取设备ID。此外,设备ID可以由条形码或QR代码或者类似的图形表示来表示,并且用户可以使用读码器来扫描代码以获得设备ID22。消费者10随后向应用提供商6传送设备关联请求210,其包含消费者的标识符(用户ID)和设备标识符22。这一步骤可以响应于例如使用智能电话或平板设备应用或web接口读取条形码或QR代码而自动发生。应用提供商6现在可以针对设备ID记录用户ID,从而使得来自代理设备4的后来的通信可以与特定消费者相关联。在接收到设备关联请求210之后,应用提供商6还可以向注册表8发送应用关联请求220,从而把应用提供商6的应用标识符关联到来自代理设备关联请求210的设备ID22。响应于应用关联请求,注册表8把应用标识符注册在用于具有由应用关联请求220指定的设备标识符22的代理设备的注册表条目60中。

在其他实例中,消费者10可能从应用提供商直接获得了代理设备4,因此当消费者获取代理设备时,应用提供商6可能已经知道设备ID与用户ID之间的关联。在这种情况下,可能不需要设备关联请求210,并且应用提供商6可以替换地使用其内部记录来生成将要发送到注册表8的应用关联请求220。应当提到的是,注册表8没有接收用户标识符。注册表条目60仅通过设备ID来标识代理设备4,并且不包含任何用户数据。

按照类似的方式,应用关联请求220还可以由应用提供商6使用来请求把当前与一个应用提供商6相关联的代理设备4转移到不同的提供商6。在这种情况下,应用关联请求220可以来自多种源,其中包括代理设备本身(例如如果用户选择切换应用提供商的话)、先前与代理设备4相关联的早前的应用提供商6、正在利用应用关联请求220为之指派设备的新的应用提供商6、或者另一个第三方设备。在把代理设备4重新指派到新的应用提供商6之前,注册表4可以检查发出应用关联请求220的设备是否是受信任设备。或者如果代理设备4被允许与多个应用提供商6相关联,则可以连同先前的应用提供商6一起对于代理设备4注册新的应用提供商6,而不是像前面给出的实例中那样替换先前的应用提供商6。

图18示出了把向第一注册表8注册的代理设备4指派到第二注册表80的方法。在步骤250处,请求者设备请求把已注册代理设备4的所有权转移到第二注册表80。请求者设备可以是代理设备4、第二注册表80或者可以是例如应用提供商(云端服务所有者)之类的另一个第三方设备。在步骤260处,第一注册表8检查在设备指派请求中提到的代理设备4当前是否被注册在注册表中。如果不是的话,则所述方法结束。因此,为了指派代理设备的所有权,有必要从当前具有该代理设备的注册的第一注册表8请求许可。这样确保只有已经与代理设备建立了信任的注册表才能授权将其受信任状态转移到另一个注册表80。

在步骤270处,第一注册表确定其是否信任发出了代理设备指派请求的请求者设备。如果不是的话,则所述方法结束。第一注册表可能先前已经认证了请求者,在这种情况下可以将其确定为受信任请求者。或者在步骤270处,如果请求者还没有被认证,则注册表可以对请求者进行新的认证。第一注册表8与请求者之间的认证可以利用任何已知的技术进行。此外,对于某些认证模型,代理设备4到不同的注册表的指派可能不被允许,因此注册表可以检查用于代理设备的认证模型信息是否使得代理设备的指派被许可。

在步骤270处的检查之后,如果注册表信任请求者并且代理设备被允许转移到不同的注册表,则所述方法继续到步骤280,其中代理设备4利用密钥生成器18生成新的密钥对。可以通过不同的方式触发代理设备4生成新的密钥对。在一个实例中,第一注册表8可以指示代理设备4其将被指派到另一个注册表,响应于该指示,代理设备可以生成新的密钥对。或者,第一注册表8可以向请求者设备或第二注册表80通知设备可以被指派,并且该设备随后可以触发代理设备生成新的密钥对。在步骤290处,代理设备4生成证书签名请求,其包含新生成的公钥和代理设备4的设备ID。对应于公钥的私钥被存储在安全的存储中。证书签名请求被发送到第二注册表80,其在步骤300处对证书进行签名,并且把代理设备4注册在其设备注册表中。在步骤310处,代理设备撤销其原始注册表所有权,这是通过从原始密钥对中删除私钥29并且将其注册表URL26更新到对应于第二注册表80的URL实现的。在步骤320处,第一注册表8检查代理设备已经正确地转移了其注册表所有权,并且随后向第二注册表80通知代理设备4现在处于其所有权之下。此时,第一注册表8可以可选地删除用于代理设备4的注册表条目60,从而使其不再被注册在第一注册表中。或者,用于代理设备的条目可以保持在注册表中,这是因为来自原始密钥对的公钥32由于其相应的私钥已被代理设备4删除因此不再是相关的。

图18中示出的实例针对认证模型3,或者其中代理设备有能力生成新的密钥对的类似的认证模型。如果代理设备具有认证模型2或者其中认证信息是固定的类似模型,则取代生成新的密钥对,在步骤280、290和300处,可以使用来自第一注册表的原始密钥对和证书,从而使得为第二注册表80提供最初是注册在第一注册表8中的相同的认证信息。在指派之后,代理设备4可以被注册在注册表8、80两者中,从而可以由两个注册表认证,并且可以和与两个注册表8、80相关联的应用提供装置进行通信。

代理设备4或第一注册表8可以采取步骤来确保步骤280到320通过原子方式发生,从而使得所述步骤不可能在中途被中断并且处于未完成状态。这意味着如果在更新处理的中途发生故障,则仅有的可能的结果或者是代理设备4保留其原始密钥对和证书并且未被转移到第二注册表(类似于在步骤270之后注册表确定请求者不被信任时的情况),或者是代理设备将被完全更新成处在第二注册表的所有权之下。这确保代理设备4将总是能够联系一个注册表8或80,并且不会最终无法被任一个注册表8、80认证。

在某些情况下,如图18中所示,在把代理设备4指派到新的注册表时,与代理设备4相关联的应用提供商6也可以改变。第二注册表80例如可以选择哪个(哪些)应用应当被指派到代理设备4,或者第二注册表80可以等待来自外部源的应用关联请求220,其表明将与代理设备4相关联的应用提供商6的应用标识符。或者在切换注册表时,与代理设备4相关联的应用可以保持相同,并且第二注册表80可以简单地注册对于代理设备4被注册在第一注册表8中的相同的(多个)应用标识符(例如第一注册表8可以把(多个)应用标识符提供到第二注册表80)。

图19示出了用于重置先前被转移到第二注册表80的代理设备4的所有权的方法,从而使其返回到由最初注册代理设备4的第一注册表8照管。在步骤350处,第二注册表80(请求者设备)请求第一注册表8收回代理设备4的所有权。在步骤360处,第一注册表8确定第二注册表80是否被信任。同样地,这可以包括实施认证,检查请求者先前已被认证,或者确定代理设备4是否支持被重置到第一注册表8。如果代理设备4不被允许重置到注册表,则所述方法结束。否则,所述方法继续到步骤370,其中注册表检查代理设备4当前是否为第二注册表80所拥有。如果不是的话,则所述方法结束。这样就确保只有注册的当前所有者可以触发把设备4的注册重置到第一注册表8。

如果代理设备为第二注册表80所拥有,则在步骤380处,由代理设备4生成新的密钥对。在步骤390处,利用新的公钥和设备ID准备证书签名请求并且将其传送到第一注册表8。所生成的密钥对当中的私钥被存储在代理设备4的安全存储16中。在步骤400处,第一注册表8对新的证书进行签名,以便再一次对代理设备进行授权。在步骤410处,代理设备通过删除先前的密钥对和证书并且将其注册表URL26更新到对应于第一注册表8而撤销其对于第二注册表80的注册。在步骤420处,在第一注册表8内更新设备所有权状态,并且第二注册表80可以删除其用于代理设备4的条目。所述方法随后结束。同样地,步骤380-420处的操作可以通过原子方式来实施,以便确保代理设备总是对于其中一个注册表注册,并且不会最终在任一个注册表中都没有有效的注册。

图18和19的方法允许在注册表之间转移代理设备,或者允许把代理设备同时指派到多个注册表,这对于允许某些运营商提供其自身的代理设备的私有注册表可能是有用的,以便将其代理设备与使用公共注册表认证的其他代理设备分离。举例来说,防务组织、政府或城市管理可以运营其自身的安全受信任代理设备的注册表以供在其组织内使用。可以提供一般公共注册表以供一般目的使用。在制造代理设备时,其可以最初对于公共注册表注册,但是当由私有注册表请求所有权改变时,则可以将其转移到私有注册表。当私有注册表不再需要代理设备时,则可以把所有权重置到原始注册表。优选的是,可以在转移到不同的注册表时生成新的认证信息,以便确保代理设备不再能被早前的注册表认证。

图20到23示出了解释针对本发明的技术的不同应用实例的时间线的四个实例。图20示出了个人健康护理领域内的第一实例,其中代理设备(传感器)被限束(tether)到特定云端应用,从而使其由应用提供商直接提供并且无法被用于其他应用。代理设备4例如可以是包含心率监测器的手腕佩戴的传感器,其可以把心率信息反馈到由健康护理提供商运作的应用提供装置6以用于监测患者的健康。在步骤1处,芯片IP公司设计用于传感器4的硬件和软件以及用于传感器的安全性设计指南。芯片上系统(SOC)制造商生产合并有安全性硬件和唯一设备标识符的SOC。原始设备制造商(ODM)制造传感器设备。原始装备制造商(OEM)开发最终产品。在制造处理期间的某一点处(这可以是处于SOC、ODM或OEM阶段),在步骤2处,设备标识符和私钥被安装在代理设备4中。在步骤3处,传感器元数据由制造支持系统70上传到注册表8。所述元数据例如可以包括设备标识符、公钥和认证模型信息。注册表装置8将该信息注册在其设备注册表中。

在步骤4处,传感器被销售给健康护理提供商6。在步骤5处,健康护理提供商6把传感器作为其服务的一部分提供给用户。健康护理提供商6把设备的传感器ID与用户的ID相关联。在步骤4处或者在步骤5处,OEM或应用提供商6向注册表8提供应用关联请求,以便向其通知传感器4将被用于健康护理提供商的云端应用。因此,虽然注册表不具有顾客信息,但是其知道当代理设备4被激活时其将与对应于健康护理公司的应用提供装置6进行通信。

在步骤6处,用户从健康护理提供商6接收传感器4。用户把袖带佩戴在他/她的手腕上,开启传感器4并且开始使用。开启设备触发传感器4利用认证请求联系注册表8,并且随后发生相互认证,正如前面所讨论的那样。用户对此并不知晓,并且没有用于触发这一认证的用户接口——认证通过设备的激活被自动触发。注册表8确定传感器4已经被注册在其注册表中,并且在其注册表条目中具有对应于健康护理提供商6的应用标识符。因此,在步骤7处,注册表8向健康护理提供商通知设备ID,并且利用已被认证的有效设备ID向健康护理提供商6通知代理设备现在活跃。在步骤8处,健康护理提供商6请求应用密钥以用于与传感器4的安全通信。在步骤9处,注册表向传感器4和健康护理提供商6二者提供应用密钥。在步骤10处,在传感器4与健康护理提供商6之间开始不涉及注册表的直接安全的已加密通信。

图21示出了使用情况的另一个实例,其中取代在把代理设备提供给用户之前限束到云端应用,用户可以替换地购买“现成的”设备并且在后来把设备与特定云端应用相关联。这样就允许用户对于相同的云端应用使用不同类型或品牌的传感器。同样地,该例属于个人健康护理领域,其中应用提供装置属于健康护理公司。步骤1-3与图20中相同。但是在本例中,在步骤4处,OEM将产品销售给零售商,零售商随后将传感器4销售给末端用户。此时,传感器4没有绑定到应用提供商6。

在步骤5处,用户运行由健康护理提供商6提供的智能电话应用,并且扫描传感器4本身或者传感器被包装在其中的盒子上的代码。智能电话上的应用向健康护理提供商传送传感器关联请求,从而把传感器的设备ID关联到特定用户账户。在步骤6处,智能电话应用或健康护理提供商的平台6向注册表8发送应用关联请求,从而把应用ID关联到设备ID。因此,现在注册表可以把代理设备与特定应用相关联,并且应用提供商可以把代理设备ID与特定用户相关联。图21的步骤7-11随后分别按照图20的步骤6-10的相同方式进行。

图22示出了第三使用情况,其中由用户购买“自购设备”(BYOD)传感器4,并且其中用户可以自由选择几个不同的应用提供商当中的一个以便与传感器4一同使用。物联网(IOT)应用商店400被用来作出这一选择。图22中的步骤1-4与图21中相同。同样地,传感器4被销售给零售商,零售商继续将其销售给末端用户。在步骤5处,用户在智能电话、平板设备或计算机上运行应用商店400,并且同样地使用QR代码或类似的技术来收集传感器4的设备ID。在步骤6处,应用商店400对于注册表8验证传感器的设备ID。举例来说,应用商店400可以查询注册表8,以便确定由代理设备使用的认证模型或者代理设备的其他能力,并且随后可以准备与代理设备4一同工作的兼容应用的菜单。为用户提供应用菜单,用户选择所期望的应用、运行所述应用并且登录。在步骤7处,应用商店利用用户的选择更新注册表,从而使得注册表把传感器的设备ID与所选应用的应用标识符相关联。应用商店还把传感器的设备ID和用户ID发送到所选择的应用提供商6,从而使其可以把用户ID和传感器ID关联在一起。此时,注册表8知道特定传感器4将与哪一个应用通信,并且应用提供商知道哪一个顾客与该传感器4相关联。然后图22的步骤8-12分别与图21的步骤7-11相同,其中发生传感器4与注册表22之间的相互认证,并且随后在传感器4与应用提供商6之间建立安全的通信。

图23示出了第四使用情况,其中代理设备4被使用在大规模工业或政府部署中而不是被使用在个人健康护理中。在该例中,代理设备是安装在街灯上的传感器4,其把关于街灯的操作的数据反馈到云端平台,维护提供商随后可以例如使用所述数据来确定哪些街灯需要维修。同样地,步骤1-3与图20-22中相同。在步骤4处,制造包含传感器的产品并且将其提供给承包商。举例来说,可以制造具有集成传感器的街灯,或者可以与街灯分开制造包含传感器的产品以用于在后来的某一阶段安装到街灯上。此时可以更新注册表,以便向特定服务提供商6反映出传感器4的规模,或者这可以在后来的步骤5处安装传感器和街灯时进行,此时承包商可以使用智能电话应用或类似的设备来扫描产品ID或者提供用于传感器4的GPS位置数据。在步骤6处,承包商的设备可以把传感器4的设备ID连同将使用来自传感器4的传感器数据的应用6的应用标识符一起发送到注册表。智能电话应用可以是允许承包商发出将传感器4关联到特定应用6的关联请求的一种简单的方式,而无需承包商理解正在发生的事情。

在步骤7处,在代理设备4激活时(例如在通电时),街灯中的代理设备直接联系注册表以建立相互认证,正如前面所讨论的那样。一旦建立认证,在步骤8处,注册表向开发或部署所述基于物联网(IoT)的系统的服务提供商6通知新的街灯和代理设备被安装,并且通过有效认证的实例身份上线。在步骤9处,服务提供商6请求应用密钥以用于安全通信。在步骤10处,注册表8向服务提供商6和代理设备本身提供对称应用密钥。随后直接安全通信开始,并且服务提供商6的IoT平台利用由传感器4提供的传感器数据来执行应用。顾客(比如城市管理办公室或者维护承包商公司)例如还可以利用web平台来访问IoT系统(步骤11)。因此,在图23的实例中,注册表8的使用简化了承包商安装装备的工作,这是因为承包商可以简单地装配代理设备、扫描代码和/或利用简单的措施(比如插入电源或者按下单个按钮)激活代理设备,随后注册表8负责认证代理设备并且建立与应用提供装置6的连接。承包商不需要花费时间与用于配置代理设备的用户接口进行交互。

虽然在这里描述了特定的实施例,但是应当认识到,本发明不限于此,并且在本发明的范围内可以作出许多修改和添加。举例来说,在独立权利要求的特征不背离本发明的范围的情况下,可以作出后面的从属权利要求的特征的各种组合。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号