一种获得设备标识的方法及装置与流程

文档序号:15232954发布日期:2018-08-21 19:53阅读:132来源:国知局

本申请涉及通信技术领域,涉及一种获得设备标识的方法以及装置,尤其是涉及一种物联网中获得终端的设备标识的方法及装置。



背景技术:

物联网(英文:internetofthings,iot)是通过使用射频识别(英文:radiofrequencyidentification,rfid)、传感器、红外感应器、全球定位系统、激光扫描器等信息采集设备,按约定的协议,把任何物品与互联网连接起来,进行信息交互和通信,以实现智能化识别、定位、跟踪、监控和管理的一种网络。物联网将各种具备信息传感功能的终端,通过移动通信网络和物联网平台连接。

具备信息传感功能的终端也可以称之为终端设备或物联网终端或物联网设备。随着物联网产业蓬勃发展,海量不同类型的终端通过固定或者移动互联网的互联网协议(英文:internetprotocol,ip)数据通道与网络和应用进行信息交互,为此,需要为终端分配设备标识,以便于对终端进行管理。

在传统网络中,通常采用预配置的方式来配置终端的设备标识。例如,对于移动终端,运营商提供给终端的用户标识信息和出厂时写入终端的识别信息计算生成终端的身份识别标识,用于移动终端的认证。对于有线终端,运营商提供的入网密钥和出厂时写入终端的识别信息生成身份识别标识。由于不同的厂家采用不同的配置方式,不同厂家为终端配置的标识的类型,规格可能都不相同。另外,也存在不同厂家为不同的终端配置了相同标识的情形。上述情况给物联网中的设备管理带来一定的复杂性。

为了配置全局唯一的设备标识,对于移动终端,现有技术中采用例如国际移动设备标识(英文:internationalmobileequipmentidentify,imei)来对终端进行唯一标识,但是需要预先到注册机构进行注册,配置流程相对复杂,并且注册成本高,标识循环使用效率低。

进一步地,采用上述方式生成的设备标识存在过于简单而被盗用身份的问题,在被盗窃或者非法入侵时,限于设备标识过于简单,很容易被仿冒成功。

作为安全管理的重要一环,如何对设备进行可信认证,如何生成唯一的的设备标识,以便于管理,简化配置流程,以及提高获得设备标识的整体方案的安全性和可用性,成为目前亟待解决的问题。



技术实现要素:

有鉴于此,本申请实施例提供了一种获取设备id的方法,用于提供一种具有更高的安全性和可用的获得设备id的整体方案。

第一方面,本申请实施例提供了一种获取设备id的方法,该方法包括:终端向网络设备发送用于为该终端请求所述设备id的第一消息,所述设备id用于全局唯一的标识所述终端。该终端接收该网络设备发送的经过加密的密钥对,该密钥对包括第一公钥和第一私钥。该终端接收该网络设备发送的信息,所述信息用于标识所述第一公钥为所述终端的设备id。该终端基于接收到的所述密钥对和所述信息,确定所述第一公钥为所述设备id。

该终端接收所述网络设备发送的密钥对和该终端接收到的该网络设备发送的信息可以是携带在同一消息中,也可以是携带在不同的消息中的。当所述密钥对和所述信息携带在同一个消息中时,该终端接收该网络设备发送的经过加密的密钥对的操作(为了便于表述,简称为操作1)以及该终端接收该网络设备发送的信息的操作(操作2)可以被理解成是由同一个操作完成的。当所述密钥对和所述信息携带在不同的消息中时,操作1可以在操作2之前,之后或者与操作2同时执行。

在上述方案中,由终端生成获取设备id的请求,网络设备基于接收到的请求,向终端发送密钥对,并向终端发送信息指示密钥对中包括的公钥为所述设备id。由此,网络设备基于终端的请求,动态的向终端分配设备id,无需采用预配置的方式对终端进行id分配,也无需预先到注册机构进行注册,简化了配置流程,节省了注册成本,并且由于无需预配置设备id,提高了设备id的循环使用效率。另外,采用密钥对中的公钥作为设备id,保证了设备id的唯一性,避免设备id发生重复,并且基于公钥的设备id相对现有的设备id相对复杂,降低了设备标识过于简单而被仿冒的可能性。

在一个可能的设计中,所述方法还包括:所述终端向所述网络设备发送经过所述第一私钥签名的第二消息,所述第二消息携带作为所述终端的的设备id的所述第一公钥。

在一个可能的设计中,所述第一消息中携带第二公钥,所述第二公钥为所述终端基于物理不可克隆功能生成的公钥。

在一个可能的设计中,所述终端接收所述网络设备发送的经过加密的密钥对,包括:所述终端接收所述网络设备发送的经过所述第二公钥加密的所述密钥对。终端接收到网络设备发送的经过第二公钥加密的所述密钥对以后,只能采用与所述第二公钥对应的第二私钥进行解密。由于第二公钥和第二私钥是终端基于puf生成的密钥,并且只有终端自身保存有所述第二私钥,因此,第二私钥难以仿冒,能够有效提高密钥对的传输安全。

在一个可能的设计中,所述终端接收所述网络设备发送的经过加密的密钥对之后,所述方法还包括:所述终端保存所述第一私钥,采用所述第二公钥对保存的所述第一私钥进行加密。通过第二公钥对存储的第一私钥进行加密,只能通过与所述第二公钥对应的第二私钥才能解密,因为第二公钥和第二私钥是基于puf生成的,并且,只有终端自身拥有所述第二私钥,因此第二私钥无法轻易被仿冒,能够有效保证第一私钥的存储安全。

在一个可能的设计中,所述第一消息中携带由证书颁发中心ca签发的公钥证书,所述公钥证书中携带所述第二公钥。通过ca签发证书,使得不必提前将第二公钥部署到网络设备中,简化了配置流程。

第二方面,本申请提供了一种获取设备id的方法,该方法包括:第一网络设备接收终端发送的用于为所述终端请求所述设备id的第一消息,所述设备id用于全局唯一地标识所述终端;所述第一网络设备向所述终端发送经过加密的密钥对,所述密钥对包括第一公钥和第一私钥;所述第一网络设备向所述终端发送第一信息,所述第一信息用于标识所述第一公钥为所述终端的设备id。第二方面所提供的方法的技术效果参见第一方面的说明,此处不再赘述。

所述网络设备向所述终端发送的所述密钥对和所述网络设备向所述终端发送的所述信息可以是携带在同一个消息中的,也可以是携带在不同的消息中的。当所述密钥对和所述信息是携带在同一个消息中时,所述第一网络设备向所述终端发送经过加密的密钥对的操作(为了便于表述,称之为操作1)和所述第一网络设备向所述终端发送第一信息(操作2)也可以被理解成是由同一个操作完成的。当所述密钥对和所述信息是携带在不同的消息中时,操作1可以在操作2之前,之后或者与操作2同时执行。

在一个可能的设计中,所述第一网络设备中部署有设备管理系统,所述第一网络设备接收所述终端发送的经过所述第一私钥签名的第二消息,所述第二消息携带作为所述终端的设备id的所述第一公钥。该第二消息可以用于向第一网络设备中部署的设备管理系统上报设备id,即第一公钥、设备状态信息、设备位置信息和/或设备类型等信息。具体地,可以通过第二消息中的消息类型,也可以通过第二消息中相应的比特位来标识第二消息所要执行的操作。第二消息中可以携带作为设备id的第一公钥。第一网络设备接收到第二消息后,可以采用第一公钥验证签名,进而对终端的身份进行验证。由此,由于在上述方案中,网络设备基于终端发送的获取设备id的请求,向终端返回一个密钥对。终端采用密钥对中的公钥作为设备id,采用密钥对中的私钥对待发送的报文进行签名,以对终端进行身份验证。无需重新配置新的认证凭据,在海量物联网终端的场景下,有效的简化了配置流程,降低了系统开销。

在一个可能的设计中,所述第一网络设备中部署有设备管理系统,所述第二网络设备中部署有id管理系统。在所述第一网络设备接收所述第一消息之后,所述第一网络设备向所述终端发送经过加密的密钥对之前,所述方法还包括:所述第一网络设备向第二网络设备发送第三消息,所述第三消息用于为所述终端请求所述设备id;所述第一网络设备接收所述第二网络设备返回的所述密钥对以及第二信息,所述第二信息用于指示所述密钥对中包括的所述第一公钥为所述设备id。

在一个可能的设计中,第一网络设备中部署有id管理系统,所述第一网络设备接收到携带有所述第二公钥的第一消息后,基于所述第二公钥和自身保存的第二公钥,对所述终端进行身份验证。

在一个可能的设计中,所述第一消息中携带第二公钥,所述第二公钥为所述终端基于物理不可克隆功能puf生成的公钥。

在一个可选的设计中,所述第三消息中携带所述第二公钥,所述第二网络设备基于第三消息中携带的所述第二公钥,对所述终端进行身份验证。具体来说,所述第一网络设备接收携带有所述第二公钥的所述第一消息后,基于所述第一消息,获取所述第二公钥,生成并向所述第二网络设备发送携带所述第二公钥的所述第三消息。第二网络设备基于所述第三消息中携带的所述第二公钥和自身保存的第二公钥,对所述终端进行身份验证。该第二网络设备确定所述终端通过身份验证,则生成并向所述第一网络设备发送所述密钥对和所述第二信息。该第二网络设备确定第三消息中携带的所述第二公钥和自身保存的第二公钥相同,则确定所述终端通过身份验证,

通过对终端进行身份验证,使得id管理系统只对通过身份验证的终端分配设备id,有效避免非可信的终端申请对id管理系统带来的资源消耗。s302不是必须地操作。

在一个可能的设计中,所述第一网络设备向所述终端发送经过加密的密钥对,包括:所述第一网络设备向所述终端发送经过所述第二公钥加密的所述密钥对。终端接收到网络设备发送的经过第二公钥加密的所述密钥对以后,只能采用与所述第二公钥对应的第二私钥进行解密。由于第二公钥和第二私钥是终端基于puf生成的密钥,并且只有终端自身保存有所述第二私钥,因此,第二私钥难以仿冒,能够有效提高密钥对的传输安全。

在一个可能的设计中,所述第一消息中携带由证书颁发中心ca签发的公钥证书,所述公钥证书中携带所述第二公钥。通过ca签发证书,使得不必提前将第二公钥部署到网络设备中,简化了配置流程。

第三方面,本申请实施例提供了一种终端,用于执行第一方面或第一方面任意可能的设计中的方法。具体地,该终端包括用于执行第一方面或第一方面任意可能的实施方式中的方法的模块。

第四方面,本申请实施例提供了一种网络设备,用于执行第二方面或第二方面任意可能的设计中的方法。具体地,该终端包括用于执行第二方面或第二方面任意可能的实施方式中的方法的模块。

第五方面,本申请实施例提供了一种终端,包括:收发机、处理器和存储器。其中,收发机、处理器和存储器之间可以通过总线系统相连。该存储器用于存储程序、指令或代码,所述处理器用于执行所述存储器中的程序、指令或代码,完成第一方面或第一方面任意可能的设计中的方法中所述终端执行的信息收发以外的操作。

第六方面,本申请实施例提供了一种网络设备,包括:收发机、处理器和存储器。其中,收发机、处理器和存储器之间可以通过总线系统相连。该存储器用于存储程序、指令或代码,所述处理器用于执行所述存储器中的程序、指令或代码,完成第二方面或第二方面任意可能的设计中的方法中所述网络设备执行的信息收发以外的操作。

第七方面,本申请实施例提供了一种通信系统,包括第三方面或第五方面提供的终端以及第四方面或第六方面提供的网络设备。

第八方面,本申请提实施例供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行第一方面、第二方面、第一方面任意可能的实现方式或第二方面任意可能的实现方式中的方法的指令。

根据本申请实施例提供的方法、终端、网络设备和系统,通过生成一个密钥对,将其中的公钥作为设备id,能够有效保证设备id的唯一性,尤其在物联网海量设备的场景中,可以有效避免设备id重复所带来的管理困难的问题。进一步地,采用公钥对中的私钥对终端发送的信息进行签名,使得通信时,无需预先配置认证凭据,也无需协商额外的密钥,在海量终端的场景下,极大的节省了配置认证凭据,协商密钥所需的开销,极大的简化了配置流程,提高了处理效率。

附图说明

附图1为本申请实施例提供的一种物联网系统架构示意图;

附图2为本申请实施例提供的一种获取设备id的方法流程示意图;

附图3为本申请实施例提供的一种获取设备id的方法流程示意图;

附图4为本申请实施例提供的一种终端注册方法流程示意图;

附图5为本申请实施例提供的一种终端注册方法流程示意图;

附图6为本申请实施例提供的一种获取设备id的方法流程示意图;

附图7为本申请实施例提供的一种获取设备id的方法流程示意图;

附图8为本申请实施例提供的一种获取设备id的方法流程示意图;

附图9为本申请实施例提供的一种终端的结构示意图;

附图10为本申请实施例提供的一种网络设备的结构示意图;

具体实施方式

本申请实施例描述的应用场景是为了更加清楚的说明本申请实施例的技术方案,并不表示对于本申请实施例提供的技术方案只能限定于其应用场景。本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

除非有相反的说明,本申请中提及“1”、“2”、“3”、“第一”、“第二”以及“第三”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序。

本申请中提及的“a和/或b”,应该理解为包括以下情形:仅包括a,仅包括b,或者同时包括a和b。

以下,对本申请中的部分用语进行简单介绍,以方便本领域技术人员理解。

本申请所述的“puf”,是指物理不可克隆功能(英文:physicalunclonablefunction,puf),是一种芯片领域的“生物特征”识别技术。在芯片制造过程中,即便两个芯片拥有相同的设计、甚至制造过程,其物理属性仍有一些不同。从分子尺度来讲,总是存在不可避免和不可控制的变量,这些变量使得每个芯片都是独一无二的。这些变量是完全随机的,而且不能消除,即使在最先进的生产线上,同一片晶圆上的芯片也会存在内部的结构差异。基于puf提取芯片制造过程中的变量,来产生完全随机的密钥。这些密钥不可预测和安排,永久存在,即使芯片的制造商也无法仿制。puf生成密钥的算法可以使用已有的算法,例如通用关键字密码(英文:rivest-shamir-adelman,rsa)算法或数字签名算法(英文:digitalsignaturealgorithm,dsa),本申请不再赘述。

本申请的“终端”既可以指运营商或者内容服务提供商拥有、管理或者使用的设备,也可以包括常见的用户终端设备。“终端”也可以被称为终端设备,网络设备,节点或节点设备。当应用于物联网时,也可以被称为物联网网络节点,物联网终端,终端设备,物联网设备,物联网节点设备或物联网终端设备。总之,任何具备信息传感功能的设备都可以称之为终端。终端可以是移动电话(或称为“蜂窝”电话),个人通信业务(personalcommunicationservice,pcs)电话、无绳电话、会话发起协议(sessioninitiationprotocol,sip)话机、无线本地环路(wirelesslocalloop,wll)站、个人数字助理(personaldigitalassistant,pda)等设备。终端例如还可以是各种网络设备,也可以称之为接入网设备,可以是gnb(gnodeb),可以是普通的基站(例如wcdma系统中的基站(nodeb,nb),lte系统中的演进型基站(evolutionalnodeb,enb或enodeb),gsm或cdma中的基站(basetransceiverstation,bts)),可以是新无线控制器(newradiocontroller,nrcontroller),可以是集中式网元(centralizedunit),可以是新无线基站,可以是射频拉远模块,可以是移动管理实体(mobilemanagemententity,mme),可以是微基站,可以是分布式网元(distributedunit),可以是接收点(transmissionreceptionpoint,trp)或传输点(transmissionpoint,tp),还可以是云无线接入网络(cloudradioaccessnetwork,cran)场景下的无线控制器,或者该网络设备可以为中继站、接入点、车载设备以及未来网络中的网络设备或者任何其它接入设备,但本申请实施例不限于此。终端还可以是家庭网关,智能可穿戴设备(例如,智能手表,智能手环,智能眼镜,智能耳机,智能头盔,智能戒指,智能鞋,智能项链等等),各种家用电器(例如,冰箱,洗衣机,电视,热水器,电饭煲,微波炉,烤箱,面包机,足浴盆,空气净化器,加湿器,音箱等等),各种交通以及运输工具(例如,汽车,飞机,火车,船,自行车,摩托车等等),各种仪器仪表,网络设备(例如路由器,交换机,服务器,防火墙,控制器等等)等等,本申请不限于此,无法一一穷举,因此不再赘述。

本申请所述的“物联网平台”是一个比较广泛的概念,能够对物联网终端所收集的数据信息进行综合、整理、分析和反馈等操作,主要提供海量终端的管理、数据管理、运营管理和安全的管理。物联网平台融合了很多先进的技术,包括云计算、大数据、人工智能等,以满足对物联网进行信息运输和交互的需求。物联网平台可以由多个具有不同功能的处理平台组成,负责根据应用需求从感知数据中提取用于控制和决策的数据,并转化成不同的格式,便于多个应用系统共享。在实际应用中,物联网平台可以是由一个或多少设备构成。从类型上,物联网平台从底层到高层可分为四个平台类型:终端管理平台、连接管理平台、应用开发平台和业务分析平台。其中,终端管理平台主要负责对物联网终端进行注册管理,身份识别,访问控制,配置,监控,查询,系统升级,故障排查、生命周期管理等。连接管理平台主要负责对物联网连接配置和故障管理、网络资源用量管理、连接资源管理、套餐变更、号码/ip地址/mac资源管理等。应用开发平台可以提供应用开发和统一数据存储的平台即服务(英文:platformasaservice,paas)平台,提供应用开发工具、中间件、数据存储、业务逻辑引擎、对接第三方应用平台接口(英文:applicationplatforminterface,api)等。业务分析平台主要用于对业务数据进行分类处理、分析并提供视觉化数据分析结果,通过实时动态分析,监控设备状态并予以预警,或通过机器学习,对业务进行分析预测。

本申请所述的“网络设备”,是指在信息交换时,用来表示任何可收发信息以及可对信息进行处理的硬件。例如可以是个人电脑,服务器,路由器,交换机等。当网络设备用于物联网平台时,可以用于执行上述终端管理平台、连接管理平台、应用开发平台和/或业务分析平台的部分或者全部功能,网络设备中可以部署有设备管理系统和/或标识(英文:identifier,id)管理系统。

本申请所述的“设备管理系统”,部署在所述物联网平台中,例如,可以部署在上述的终端管理平台中。“设备管理系统”是一个设备集中管理系统,主要用于集中管理(包含配置、查讯,监控等)设备(例如终端)以及设备的相关业务信息。设备管理系统可以部署在一台或者多台网络设备上。

本申请所述的“id管理系统”,部署在所述物联网平台中,例如,可以部署在上述的终端管理平台中。“id管理系统”例如可以是身份认证即服务(英文:identityasaservice,idaas)系统,用于管理设备(例如终端)的设备id信息,包括创建、配置、验证、激活、查询设备id等操作。该id管理系统可以部署在一台或者多台网络设备上。

所述id管理系统和所述设备管理系统可以集成部署在同一台网络设备上,也可以分别部署在不同的网络设备上,本申请实施例对此不作具体限定。

本申请所述的“idaas”,可称之为身份即认证服务,也可称之为身份和访问管理作为一种服务,使用的是一种云计算的基础设施来安全的管理用户身份和访问。

本申请所述的“全局唯一的公钥”,是指在拥有多个终端的网络或系统中,任意一个终端生成的公钥与另一个终端生成的公钥是不同的,即不会发生重复。例如,终端1生成公钥1,其它终端,例如终端2,基于相同或者不同的算法,均无法生成和公钥1相同的公钥。

本申请所述的“全局唯一的标识”,是指在拥有多个终端的网络或系统中,任意一个终端的设备id与另一个终端的设备id是不同的,即不会发生重复。

在本申请中,“公钥”也可以称之为“公开密钥”,“私钥”也可以称之为“私有密钥”。公钥和私钥是通过某种算法得到的一个密钥对,即密钥对由一个公钥和一个私钥组成。公钥是密钥对中公开的部分,私钥则是非公开的部分。在本申请中提及“公钥以及与该公钥对应的私钥”(或相类似的表述)则表示该私钥与公钥组成一个密钥对,类似的“私钥以及与该私钥对应的公钥”(或相类似的表述)也是表示该私钥和该公钥组成一个密钥对。

图1是本申请实施例提供的一种物联网系统的系统架构示意图,物联网系统包括多个终端101以及与该多个终端101通信连接的物联网平台102。其中物联网平台102中包括终端管理平台103,连接管理平台104,应用开发平台105以及业务分析平台106。终端管理平台103中部署在至少一个网络设备中,图1中仅以两个网络设备(网络设备107和网络设备108)为例进行举例说明,不应构成对本申请的限制。部署终端管理平台103的网络设备中可以部署设备管理系统和id管理系统。设备管理系统用于对终端进行统一管理,对终端进行配置,查看以及监控终端状态和业务状态。id管理系统用于生成,更新,删除和/或验证终端的设备id。其中,设备管理系统和id管理系统可以部署在同一个网络设备中,例如网络设备107,可以由不同的芯片完成相应的功能,也可以是同一个芯片上的两个进程。设备管理系统和id管理系统也可以部署在不同的网络设备中,例如设备管理系统部署在网络设备107中,id管理系统部署在网络设备108中,本申请对此不作具体限定。该物联网系统也可以包括证书颁发中心(英文:certificationauthority,ca)109,ca是负责签发证书、认证证书、管理已颁发证书的机关。例如,ca为每个使用公开密钥的终发放一个数字证书,数字证书用于证明证书中列出的用户合法拥有证书中列出的公开密钥。需要说明的是,图1仅是示意图,仅以物联网平台和多个终端之间的交互为例来进行介绍,不应对本申请的应用场景造成限定。该物联网系统中可以包括其它的终端。终端管理平台103,连接管理平台104,应用开发平台105以及业务分析平台106的功能可以分别由不同的网络设备来执行,也可以由一个网络设备来执行上述4个平台的所有功能,也可以由一个网络设备来执行上述4个平台中部分功能,另外的一个或多个网络设备来执行其他的功能,本申请对此不作具体限定。本申请实施例中对于终端以及网络设备的数量不做限定。例如,网络设备是多个的情况下,可以每个网络设备分别对一个或多个终端进行管理,也可以是多个网络设备共同对一个或多个终端进行管理。

虽然本申请中以物联网为例对本申请的应用场景进行介绍,但是本领域技术人员可以理解,本申请的技术方案适用于各种不同的网络场景,本申请对此不作具体限定。

图2是根据本申请实施例提供的一种获取设备id的方法200的流程示意图。应用方法200的网络架构至少包括终端,网络设备1和网络设备2,举例来说,终端可以是图1所示的网络架构中的终端101,网络设备1可以是图1所示的网络架构中部署有设备管理系统的的网络设备108,网络设备2可以是图1所示的网络架构中的部署有id管理系统的网络设备107,其中id管理系统例如可以是idaas系统。该网络架构可以是图1所示的网络架构。方法200包括以下操作。

s201、终端向网络设备1发送消息1。

消息1用于向网络设备1发送注册请求,同时也用于向网络设备1指示为终端请求设备id。具体来说,终端要接入物联网时,需要在设备管理系统中进行注册,在设备管理系统中成功注册的终端可以接入所述物联网,进行相关的操作。

s202、网络设备1向网络设备2发送消息2。

消息2用于为终端请求设备id。网络设备1接收到所述消息1后,基于消息1的指示,生成并向所述网络设备2发送消息2,为所述终端请求设备id。

消息1和消息2可以是传输控制协议(英文:transmissioncontrolprotocol,tcp)消息,也可以是用户数据包协议(英文:userdatagramprotocol,udp)消息。消息1和消息2可以通过消息类型来标识该消息2用于请求设备id,也可以通过相应的比特位来标识该消息2用于请求设备id。

在一个具体的实施方式中,在s202之后,方法200还可以包括:s203、网络设备2对终端进行身份验证。

网络设备2可以但不限于采用以下几种方式对终端的身份进行验证。

方式一

网络设备2根据与终端协商的认证凭据对终端进行身份验证。具体来说,网络设备2和终端预先协商认证凭据,并将协商好的认证凭据保存在本地。终端请求获取设备id时,在消息1中携带该认证凭据。网络设备1向网络设备2发送的消息2中也携带所述认证凭据。网络设备2到消息2后,根据消息2中携带的认证凭据与本地保存的认证凭据,对终端的身份进行验证。如果消息2中携带的认证凭据与本地保存的认证凭据匹配,则认为终端通过身份认证。

方式二

网络设备2根据全局唯一的密钥对终端进行身份验证。具体来说,终端预先生成全局唯一的密钥对,例如,在终端出厂阶段,终端基于puf生成包括公钥1和私钥1的密钥对1,并且由网络管理员或者网络管理系统将公钥1提前配置到网络设备2中。终端请求获取设备id时,在消息1中携带公钥1。网络设备1向网络设备2发送的消息2中也携带该公钥1。网络设备2收到消息2后,根据消息2中携带的公钥1与本地保存的公钥1,对终端进行身份验证。如果消息2中携带的公钥1与网络设备2中保存的公钥1相同,则认为终端通过身份验证。

方式三:

网络设备2根据密钥证书对终端进行身份认证。具体来说,终端预先生成全局唯一的密钥对,例如,在终端出厂阶段,基于puf生成包括公钥1和私钥1的密钥对1。终端将公钥1发送给ca,由ca签发公钥证书,并将公钥证书返回给终端,其中,该公钥证书中携带所述公钥1。采用ca签发公钥证书的方式,使得不必提前在网络设备2中配置公钥1,简化了配置流程。终端在请求获取设备id时,在消息1中携带公钥证书。网络设备1向网络设备2发送的消息2中也携带所述公钥证书。网络设备1收到消息2后,对所述公钥证书进行验证,验证通过,则确认终端通过身份验证。

通过对终端进行身份验证,尤其是采用方式二或方式三的方法对终端进行身份验证,使得网络设备2中的id管理系统只对通过身份验证的终端分配设备id,有效避免非可信的终端申请对id管理系统带来的资源消耗。s203不是必须的操作,当不执行s203时,在s202后,可以执行s204。

s204、网络设备2基于消息2生成密钥对2,密钥对包括公钥2和私钥2。

s205、网络设备2向网络设备1发送所述密钥对2和信息1。

网络设备2收到消息2后,响应于消息2的请求,生成密钥对2,其中密钥对2可以是由网络设备2中的id管理系统生成的,信息1用于标识上述的公钥2为设备id。信息1可以是消息类型,也可以是消息中相应的比特位。所述密钥对2和所述信息1可以承载在同一个消息中,也可以承载在不同的消息中。

s206、网络设备1向终端发送信息2以及经过加密的所述密钥对2。

信息2用于标识上述的公钥2为设备id。信息2可以是消息类型,也可以是消息中相应的比特位。所述密钥对2和所述信息2可以承载在同一个消息中,也可以承载在不同的消息中。

网络设备1可以但不限于采用以下方式对密钥对2进行加密。

方式一

在s201前,例如在终端出厂阶段,终端基于puf生成密钥对1,其中密钥对1包括公钥1和私钥1。在终端生成密钥对2后,网络设备1可以采用如下方式获取公钥1:方式a.消息1中携带所述公钥1,网络设备1从消息1中提取所述公钥1并保存;或者,方式2,由网络管理员或者网络管理系统将公钥1配置到网络设备1中。网络设备1向终端发送密钥对2时,采用公钥1对密钥对2进行加密保护,终端接收到经过公钥1加密的密钥对2后,采用私钥1进行解密。

在方式一中,网络设备1采用公钥2对所述密钥对1进行加密,并由终端通过终端中保存的私钥2进行解密。由于公钥2和私钥2是基于puf生成的,并且只有终端自身保存有私钥2,因此,私钥2无法轻易被仿冒,能够有效的提高密钥对1在传输中的安全性。

方式二、网络设备1和终端之间预先协商密钥,采用协商好的密钥对密钥对2进行加密。

s207、终端接收并保存密钥对2。

终端接收密钥对2后,保存密钥对2。在一个具体的实施方式中,终端采用基于puf生成的公钥1对存储的密钥对2进行加密或者采用公钥1仅对存储的私钥2进行加密,与公钥1相对应的私钥1用于解密。由于公钥1和私钥1是基于puf生成,不易仿冒,因此,能够提高私钥2的存储安全。当然,终端也可以采用其它的密钥或其它的方式对密钥对2,至少对私钥2进行加密保护,以提高私钥2的存储安全。

s208、终端确定公钥1为所述设备id。

终端获取密钥对1,并根据信息2的指示确定所述公钥1为所述设备id,这样终端就确定获得了自己的设备id。

需要说明的是,s207中终端保存密钥对2的操作与s208的操作的执行顺序不分先后,即终端可以在s208之前保存密钥对2,也可以在s208之后保存密钥对2,也可以在完成s208操作的同时保存密钥对2。

在一个具体的实施方式中,在s207后,方法200还可以包括:

s209、终端向网络设备1发送经过私钥1签名的消息2。

具体来说,消息2可用于向网络设备1中部署的设备管理系统确认终端注册成功。消息2也可以用于向网络设备1上报设备id,即公钥1、设备状态信息、设备位置信息和/或设备类型等信息。具体地,可以通过消息2中的消息类型,也可以通过消息2中相应的比特位来标识消息2所要执行的操作。消息2中可以携带作为设备id的公钥1。网络设备1接收到消息2后,可以采用公钥1验证消息2的签名,进而对终端的身份进行验证。

其中,s209和s208的执行顺序不分先后,即s209可以在s208之前执行,s209也可以在s208之后执行,s209也可以与s208同时执行。

在一个具体的实施方式中,在s208后,方法200还可以包括:终端向网络设备3发送经过私钥1签名的消息3。

网络设备3是上述终端以外的其它终端。终端和网络设备3之间进行信息交互,终端使用私钥1对消息3携带的信息进行签名,消息3中携带作为设备id的公钥1。网络设备3接收到消息3后,可以直接从消息3中提取公钥1,从而无需预先获取公钥1,即可验证消息3的签名,进而对终端的身份进行验证。

图3是根据本申请实施例提供的一种获取设备id的方法300的流程示意图。应用方法300的网络架构至少包括终端和网络设备1,举例来说,终端例如可以是图1所示的网络架构中的终端101,网络设备1例如可以是图1所示的部署有id管理系统的网络设备107或部署有id管理系统的网络设备108。其中,id管理系统例如可以是idaas系统。该网络架构可以是图1所示的网络架构。方法300包括以下操作。

s301、终端向网络设备1发送消息1。

消息1用于为终端请求设备id。消息1中可以通过消息类型来标识该消息用于请求设备id,也可以通过相应的比特位来标识该消息1用于请求设备id。

在一个具体的实施方式中,在s301之后,方法300还可以包括:s302、网络设备1对终端进行身份验证。

网络设备1可以但不限于采用以下几种方式对终端的身份进行验证。

方式一、网络设备1根据和终端协商的认证凭据对终端进行身份验证。具体来说,网络设备1和终端协商认证凭据,并保存认证凭据。终端请求获取设备id时,在消息1中携带协商好的认证凭据。网络设备1收到消息1后,根据消息1中携带的认证凭据与自身保存的认证凭据,对终端的身份进行验证。网络设备1确定消息1中携带的认证凭据与本地保存的认证凭据匹配,则认为终端通过身份认证。

方式二、网络设备1根据全局唯一的密钥对终端进行身份验证。具体来说,终端预先生成全局唯一的密钥对,例如在终端出厂阶段,基于puf生成包括公钥1和私钥1的密钥对1,并且由网络管理员或者网络管理系统将公钥1提前配置到网络设备1中。终端在请求获取设备id时,在消息1中携带公钥1。网络设备1收到消息1后,根据消息1中携带的公钥1与保存的公钥1,对终端进行身份验证。如果消息1中携带的公钥2与网络设备1中保存的公钥1相同,则认为终端通过身份验证。

方式三、网络设备1根据密钥证书对终端进行身份验证。具体来说,终端预先生成全局唯一的密钥对,例如在终端出厂阶段,基于puf生成包括公钥1和私钥1的密钥对1。终端将公钥1发送给ca进行证书签发,由ca签发公钥证书,并返回给终端,其中,该公钥证书中携带所述公钥1。采用ca签发公钥证书的方式,使得不必提前在网络设备1中配置公钥1,简化了配置流程。终端在请求获取设备id时,在消息1中携带公钥证书。网络设备1收到消息1后,对消息1中携带的所述公钥证书进行验证,验证通过,则确认终端通过身份验证。

通过对终端进行身份验证,使得网络设备2中的id管理系统只对通过身份验证的终端分配设备id,有效避免非可信的终端申请对id管理系统带来的资源消耗。s302不是必须地操作。当不执行s302时,在s301后,执行s303。

s303、网络设备1生成密钥对2,密钥对2包括公钥2和私钥2。

s304、网络设备1向终端发送经过加密的密钥对2和信息1。

网络设备1收到消息1后,响应于终端的请求,生成密钥对2。其中,密钥对2可以是由网络设备2中的id管理系统生成的,信息1用于标识上述的公钥2为设备id。信息1可以是消息类型,也可以是消息中相应的比特位。所述密钥对2和所述信息1可以承载在同一个消息中,也可以承载在不同的消息中。

网络设备1对密钥对2进行加密的方法,与方法200中,网络设备1对密钥对2进行加密的方法类似,具体参见方法200中s206中相关说明,此处不再赘述。

s305、终端接收并保存密钥对2。

终端接收密钥对2后,保存密钥对2。在一个具体的实施方式中,终端采用基于puf生成的公钥1对存储的密钥对2进行加密或者采用公钥1仅对存储的私钥2进行加密,与公钥1相对应的私钥1用于解码。由于公钥1和私钥1是基于puf生成,不易仿冒,因此,能够提高私钥2的存储安全。当然,终端也可以采用其它的密钥或其它的方式对密钥对2,或者至少对私钥2进行加密保护,以提高私钥2的存储安全。

s306、终端确定公钥2为所述设备id。

终端获取密钥对1,根据信息1的指示,确定公钥2为所述设备id,这样终端就获得了自己的设备id。

需要说明的是,s305中终端保存密钥对2的操作与s306的操作无先后顺序,即终端可以在s306之前保存密钥对2,也可以在s306之后保存密钥对2,也可以在完成s306操作的同时保存密钥对2。

图4是根据本申请实施例提供的一种终端注册方法400的流程示意图。

在一个具体的实施方式中,方法400可以在方法300中的s305之后执行。下面结合图4对方法400进行说明。方法400包括以下操作。

s401、终端向网络设备2发送注册请求。该注册请求中携带作为设备id的公钥2。网络设备2和网络设备1部署于同一个网络架构中,网络设备2中部署有设备管理系统。举例来说,网络设备1可以是图1所示的网络架构中网络设备108,网络设备2可以是图1所示的网络架构中的网络设备107。

s402、网络设备2接收到所述注册请求后,向网络设备1发送发送确认请求,确认请求中携带公钥2,该确认请求用于确认终端是否已经在网络设备1中完成注册认证。

s403、网络设备1收到所述确认请求,根据本地保存的的公钥2与确认请求中携带的公钥2对终端是否注册进行验证。具体地,网络设备1可以在id管理系统中查询是否保存有终端的公钥1,如果id管理系统保存有公钥2,则表示网络设备1为终端配置过设备id,也就表明终端在id管理系统中完成注册。

s404、网络设备1确认终端注册成功,向网络设备2发送确认响应,用于向网络设备2指示终端注册成功。

s405、网络设备2接收到所述确认响应后,可以向终端发送注册响应,以通告所述终端在网络设备2中注册成功。

图5是根据本申请实施例提供的另一种终端注册方法500的流程示意图。

在一个具体的实施方式中,方法500可以在方法300中的s303之后执行。下面结合图5对方法500进行说明。方法500包括以下操作。

s501、网络设备1向网络设备2发送公钥2和信息2。

信息2用于指示公钥1为设备id。信息1例如可以是消息类型,也可以是消息中相应的比特位。公钥1和信息2可以承载在同一个消息中,也可以承载在不同的消息中。网络设备2和网络设备1部署于同一个网络架构中,网络设备2中部署有设备管理系统。举例来说,网络设备1可以是图1所示的网络架构中网络设备108,网络设备2可以是图1所示的网络架构中的网络设备107。网络设备2接收到公钥2后,基于信息2的指示,确认公钥2为设备id。网络设备2保存公钥2,例如,将公钥2保存在设备管理系统的数据库中。

s502、网络设备2接收终端发送的注册请求,注册请求中携带作为设备id的公钥2。

s503、网络设备2根据保存的公钥2与注册请求中的公钥2,对终端进行验证。

网络设备确认保存的公钥2与注册请求中的公钥2相同,则认为终端验证通过。

s504、网络设备向终端发送注册响应,用于指示终端注册成功。

在s504之后,方法500还可以包括s505:终端向网络设备2发送经过私钥2签名的消息2。

消息2可用于向网络设备2确认终端注册成功。消息2也可以用于向网络设备2中部署的设备管理系统上报设备id,即公钥2、设备状态信息、设备位置信息和/或设备类型等信息。具体地,可以通过消息2中的消息类型,也可以通过消息2中相应的比特位来标识消息2所要执行的操作。消息2中可以携带作为设备id的公钥2。网络设备2接收到消息2后,可以采用公钥2验证消息2的签名,进而对终端的身份进行验证。

需要说明的是,本申请实施例对s501与s304-s306之间的操作顺序不作具体限定,举例来说,s501可以在s304之前完成,也可以在s304之后完成,也可以与s304同时完成;s501可以在s305之前完成,也可以在s305之后完成,也可以与s305同时完成;s501可以在s306之前完成,也可以在s306之后完成,也可以与s306同时完成。s502在s306之后执行。

在一个具体的实施方式中,在s504后,方法500还可以包括:s505终端向网络设备3发送经过私钥2签名的消息3。

网络设备3可以是终端以外的其它终端。终端和网络设备3之间进行信息交互,终端使用私钥2对消息3携带的信息进行签名,消息3中携带作为设备id的公钥2。网络设备3接收到消息3后,可以直接从消息3中提取公钥2,从而无需预先获取公钥2,即可验证消息3的签名,进而对终端的身份进行验证。

图6是根据本申请实施例提供的一种获取设备id的方法600的流程示意图。应用方法600的网络架构至少包括终端和网络设备1,举例来说,终端,可以是图1所示的终端101,网络设备1可以是图1所示的网络架构中的网络设备107或网络设备108。网络设备1中部署有设备管理系统和id管理系统,其中id管理系统例如可以是idaas系统。该网络架构可以是图1所示的网络架构。方法600包括以下操作。

s601、终端向网络设备1发送消息1。

消息1用于向id管理系统请求终端的设备id,同时向设备管理系统进行注册请求。消息1可以通过消息类型来标识该消息1用于为终端请求设备id以及向设备管理系统进行注册,也可以通过相应的比特位来标识该消息1用于为终端请求设备id以及向设备管理系统进行注册。

在一个具体的实施方式中,在s601之后,方法600还可以包括:s602、网络设备1对终端进行身份验证。

网络设备1对终端进行身份验证的方式,与方法300中网络设备1对终端进行身份验证的方式相同,具体参见方法300中s302的相关说明,此处不再赘述。

通过对终端进行身份验证,使得网络设备2中的id管理系统只对通过身份验证的终端分配设备id,有效避免非可信的终端申请对id管理系统带来的资源消耗。s602不是必须地操作。当不执行s602时,在s601后,执行s603。

s603、网络设备1生成密钥对2,密钥对包括公钥2和私钥2。

s604、网络设备1向终端发送经过加密的密钥对2和信息1。

网络设备1收到信息1后,响应于终端的请求,生成密钥对2,其中,密钥对2可以是由网络设备1中的id管理系统生成的。信息1用于标识上述的公钥2为设备id。信息1可以是消息类型,也可以是消息中相应的比特位。所述密钥对2和所述信息1可以承载在同一个消息中,也可以承载在不同的消息中。

网络设备1对密钥对2进行加密的方法,与方法200中,网络设备1对密钥对2进行加密的方法类似,具体参见方法200中s206中相关说明,此处不再赘述。

s605、终端接收并保存密钥对2。

终端接收密钥对2后,保存密钥对2。在一个具体的实施方式中,终端采用基于puf生成的公钥1对存储的密钥对2进行加密或者采用公钥1仅对存储的私钥2进行加密,与公钥1相对应的私钥1用于解密。由于公钥1和私钥1是基于puf生成,不易仿冒,因此,采用能够提高私钥2的存储安全。当然,终端也可以采用其它的密钥或其它的方式对密钥对2,至少对私钥2进行加密保护,以提高私钥2的存储安全。

s606、终端确定公钥1为所述设备id。

终端获取密钥对1,根据信息1的指示,确定公钥1为所述设备id。

需要说明的是,s605中终端保存密钥对2的操作与s606的操作无先后顺序,即终端可以在s606之前保存密钥对2,也可以在s606之后保存密钥对2,也可以在完成s606操作的同时保存密钥对2。

在一个具体的是谁方式中,在s606以后,方法600还可以包括:s607、终端向网络设备1发送经过私钥2签名的消息2。

具体来说,消息2可用于向网络设备1中部署的设备管理系统确认终端注册成功。消息2也可以用于向网络设备1上报设备id,即公钥2、设备状态信息、设备位置信息和/或设备类型等信息。具体地,可以通过消息2中的消息类型,也可以通过消息2中相应的比特位来标识消息2所要执行的操作。消息2中可以携带作为设备id的公钥2。网络设备1接收到消息2后,可以采用公钥2验证消息2的签名,进而对终端的身份进行验证。

在一个具体的实施方式中,在s606后,方法600还可以包括:终端向网络设备3发送经过私钥2签名的消息3。

网络设备3可以是终端以外的其它终端。终端和网络设备3之间进行信息交互,终端使用私钥2对消息3携带的信息进行签名,消息3中携带作为设备id的公钥2。网络设备3接收到消息3后,可以直接从消息3中提取公钥2,从而无需预先获取公钥2,即可验证消息3的签名,进而对终端的身份进行验证。

图7是根据本申请实施例提供的又一种获取设备id的方法700的流程示意图。应用方法700的网络架构至少包括终端和第一网络设备。举例来说,终端可以是图1所示的网络架构中的终端101,第一网络设备可以是图1所示的网络架构中的网络设备108。第一网络设备中部署有设备管理系统和/或id管理系统。该网络架构可以是图1所示的网络架构。方法700包括以下操作。

s701、终端向第一网络设备发送用于为所述终端请求所述设备id的第一消息,所述设备id用于全局唯一的标识所述终端。

第一消息可以是tcp消息,也可以是udp消息。第一消息可以通过消息类型来标识该第一消息用于请求设备id,也可以通过相应的比特位来标识该第一消息用于请求设备id。

s702、所述终端接收所述第一网络设备发送的经过加密的密钥对,所述密钥对包括第一公钥和第一私钥。

第一网络设备对密钥对进行加密的方法,可参见方法200中s206中网络设备1对密钥对2进行加密的相关说明,此处不再赘述。

s703、所述终端接收所述第一网络设备发送的信息,所述信息用于标识所述第一公钥为所述终端的设备id。

该信息可以是消息类型,也可以是消息中相应的比特位。s703中发送的信息和s702中发送的密钥对可以承载在一个消息中,也可以承载在不同的消息中。

所述终端在s702接收到的密钥对和在s703中接收到的信息可以是携带在同一个消息中的,也可以是携带在不同的消息中的。当所述密钥对和所述信息是携带在同一个消息中时,s702和s703既可以被理解成是由同一个操作完成的,也可以被理解成是由两个操作完成的。当所述密钥对和所述信息是携带在不同的消息中时,s703可以在s702之前,之后或者与s702同时执行。

s704、所述终端确定所述第一公钥为所述设备id。

终端获取所述密钥对和所述信息,并根据该信息的指示,确定所述第一公钥为所述设备id,这样终端就确定获得了自己的设备id。

在一个具体的实施方式中,所述第一网络设备中部署有设备管理系统,所述方法700还可以包括:s705、所述终端向所述第一网络设备发送经过所述第一私钥签名的第二消息,所述第二消息携带作为所述终端的的设备id的所述第一公钥。

该第二消息可用于向第一网络设备中部署的设备管理系统确认终端注册成功。第二消息也可以用于向该第一网络设备上报设备id,即第一公钥、设备状态信息、设备位置信息和/或设备类型等信息。具体地,可以通过第二消息中的消息类型,也可以通过第二消息中相应的比特位来标识第二消息所要执行的操作。第二消息中可以携带作为设备id的第一公钥。第一网络设备接收到第二消息后,可以采用第一公钥验证第二消息的签名,进而对终端的身份进行验证。

在一种实施方式中,所述第一消息中携带第二公钥,所述第二公钥为所述终端基于puf生成的公钥。

终端可以在s701之前,例如,在终端出厂阶段,终端基于puf生成第二公钥和第二私钥。网络管理员或者网络管理系统可以将第二公钥提前配置到部署有id管理系统的网络设备中;或者,终端将第二公钥发送给ca,由ca进行证书签发,ca将签发的公钥证书返回给终端。通过ca签发证书,使得不必提前将第二公钥部署到网络设备中,简化了配置流程。所述第一消息中携带第二公钥,包括:第一消息中直接携带所述第二公钥;或者,所述第一消息中携带所述ca签发的公钥证书,所述公钥证书中携带所述第二公钥。终端在请求获取设备id时,在第一消息中携带所述第二公钥。如果第一网络设备中部署有id管理系统,则第一网络设备根据第一消息中携带的第二公钥与自身保存的第二公钥,对终端进行身份验证。如果第一网络设备中没有部署id管理系统,仅部署有设备管理系统,则第一网络设备接收到终端发送的第一消息后,会生成并向第二网络设备发送携带有所述第二公钥的第二消息。其中,第二网络设备中部署有id管理系统并保存有第二公钥。第二网络设备接收到第二消息后,根据第二消息中携带的第二公钥与自身保存的第二公钥,对终端进行身份验证。

在一种实施方式中,所述终端接收所述第一网络设备发送的经过加密的密钥对,包括:

所述终端接收所述第一网络设备发送的经过所述第二公钥加密的所述密钥对。

终端接收到第一网络设备发送的经过第二公钥加密的所述密钥对以后,只能采用与所述第二公钥对应的第二私钥进行解密。由于第二公钥和第二私钥是终端基于puf生成的密钥,并且只有终端自身保存有所述第二私钥,因此,第二私钥难以仿冒,能够有效提高密钥对的传输安全。

在一种实施方式中,所述终端接收所述第一网络设备发送的经过加密的密钥对之后,所述方法还包括:

所述终端保存所述第一私钥,采用所述第二公钥对保存的所述第一私钥进行加密。

第一私钥用于对后续终端待发送的报文进行签名,通过第二公钥对存储的第一私钥进行加密,能有有效保证第一私钥的存储安全。

图8是根据本申请实施例提供的又一种获取设备id的方法800的流程示意图。应用方法800的网络架构至少包括终端和第一网络设备。举例来说,终端可以是图1所示的网络架构中的终端101,第一网络设备可以是图1所示的网络架构中的网络设备108。第一网络设备中部署有设备管理系统和/或id管理系统。该网络架构可以是图1所示的网络架构。方法800包括以下操作。

s801、第一网络设备接收终端发送的用于为所述终端请求所述设备id的第一消息,所述设备id用于全局唯一地标识所述终端。

第一消息可以是tcp消息,也可以是udp消息。第一消息可以通过消息类型来标识该第一消息用于请求设备id,也可以通过相应的比特位来标识该第一消息用于请求设备id。

s802、所述第一网络设备向所述终端发送经过加密的密钥对,所述密钥对包括第一公钥和第一私钥。

第一网络设备对密钥对进行加密的方法,可参见方法200中s206中网络设备1对密钥对2进行加密的相关说明,此处不再赘述。

s803、所述第一网络设备向所述终端发送第一信息,所述第一信息用于标识所述第一公钥为所述终端的设备id。

该第一信息可以是消息类型,也可以是消息中相应的比特位。

s802中发送的的密钥对和在s803中发送的第一信息可以是携带在同一个消息中的,也可以是携带在不同的消息中的。当所述密钥对和所述信息是携带在同一个消息中时,s802和s803也可以被理解成是由同一个操作完成的。当所述密钥对和所述信息是携带在不同的消息中时,s803可以在s802之前,之后或者与s802同时执行。

其中,所述第一私钥用于所述终端向第一网络设备发送的第二消息进行签名,所述第二消息携带作为所述终端的设备id的所述第一公钥。

在一个具体的实施方式中,所述第一网络设备中部署有设备管理系统。该第二消息可用于向第一网络设备中部署的设备管理系统确认终端注册成功。第二消息也可以用于向该第一网络设备上报设备id,即第一公钥、设备状态信息、设备位置信息和/或设备类型等信息。具体地,可以通过第二消息中的消息类型,也可以通过第二消息中相应的比特位来标识第二消息所要执行的操作。第二消息中可以携带作为设备id的第一公钥。第一网络设备接收到第二消息后,可以采用第一公钥验证第二消息的签名,进而对终端的身份进行验证。

在一个实施方式中,所述第一消息中携带第二公钥,所述第二公钥为所述终端基于物理不可克隆功能puf生成的公钥。

终端在向所述第一网络设备发送所述第一信息之前,例如,在终端出厂阶段,基于puf生成第二公钥和第二私钥。网络管理员或者网络管理系统可以将第二公钥提前配置到部署有id管理系统的网络设备中;或者,终端将第二公钥发送给ca,由ca进行证书签发,ca将签发的公钥证书返回给终端。通过ca签发证书,使得不必提前将第二公钥部署到网络设备中,简化了配置流程。所述第一消息中携带第二公钥,包括:第一消息中直接携带所述第二公钥;或者,所述第一消息中携带所述ca签发的公钥证书,所述公钥证书中携带所述第二公钥。终端在请求获取设备id时,在第一消息中携带所述第二公钥。

在一个具体的实施方式中,所述第一网络设备中部署有id管理系统,终端生成所述第二公钥后,可以通过网络管理员或者网络管理系统在第一网络设备中配置所述第二公钥。终端设备请求获取设备id时,在第一消息中携带所述第二公钥。第一网络设备接收到该第一消息后,根据第一消息携带的第二公钥与自身保存的第二公钥,对该终端进行身份验证。第一网络设备确定第一消息携带的第二公钥与自身保存的第二公钥相同,则确定终端通过身份验证。

在另一个具体实施方式中,所述第一网络设备中部署设备管理系统,没有部署id管理系统,在所述第一网络设备接收所述第一消息之后,所述第一网络设备向所述终端发送经过加密的密钥对之前,所述方法还包括:

所述第一网络设备生成第三消息,所述第三消息携带所述第二公钥,所述第二公钥用于被所述第二网络设备对所述终端进行身份验证;

所述第一网络设备向第二网络设备发送第三消息,所述第三消息携带所述第二公钥,所述第二公钥用于被所述第二网络设备对所述终端进行身份验证;

所述第一网络设备接收所述第二网络设备发送的所述密钥对以及第二信息,所述第二信息用于指示所述密钥对中包括的所述第一公钥为所述设备id。

其中,所述第二网络设备部署有所述id管理系统,终端生成所述第二公钥后,可以通过网络管理员或者网络管理系统在该第二网络设备中配置所述第二公钥。终端设备请求获取设备id时,在第一消息中携带所述第二公钥。第一网络设备接收到该第一消息后,生成并向所述第二网络设备发送所述第三消息。所述第二网络设备接收所述第三消息,基于所述第三消息中携带的所述第二公钥与自身保存的所述第二公钥,对所述终端进行身份验证。第二网络设备确定第三消息携带的第二公钥与自身保存的第二公钥相同,则确定终端通过身份验证。

在一个实施方式中,所述第一网络设备向所述终端发送经过加密的密钥对,包括:所述第一网络设备向所述终端发送经过所述第二公钥加密的所述密钥对。

根据本申请实施例提供的方法,通过生成一个密钥对,将其中的公钥作为设备id,能够有效保证设备id的唯一性,尤其在物联网海量设备的场景中,可以有效避免设备id重复所带来的管理困难的问题。进一步地,采用公钥对中的私钥对终端发送的信息进行签名,使得通信时,无需预先配置认证凭据,也无需协商额外的密钥,在海量终端的场景下,极大的节省了配置认证凭据,协商密钥所需的开销,极大的简化了配置流程,提高了处理效率。

以上,结合图2-图8说明了说明书根据本申请实施例提供的获取设备id的方法。以下,结合图9和图10对与上述各方法实施例对应的终端和网络设备进行描述。

图9是本申请实施例提供的一种终端900的示意图。该终端900可以应用于图1所示的网络架构中,例如可以是图1所示的网络架构中的终端101。如图9所示,终端900可以包括处理器910,与所述处理器910耦合连接的存储器920,收发器930。处理器910可以是中央处理器(英文:centralprocessingunit,缩写:cpu),网络处理器(英文:networkprocessor,缩写:np)或者cpu和np的组合。处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specificintegratedcircuit,缩写:asic),可编程逻辑器件(英文:programmablelogicdevice,缩写:pld)或其组合。上述pld可以是复杂可编程逻辑器件(英文:complexprogrammablelogicdevice,缩写:cpld),现场可编程逻辑门阵列(英文:field-programmablegatearray,缩写:fpga),通用阵列逻辑(英文:genericarraylogic,缩写:gal)或其任意组合。处理器910可以是指一个处理器,也可以包括多个处理器。存储器920可以包括易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-accessmemory,缩写:ram);存储器也可以包括非易失性存储器(英文:non-volatilememory),例如只读存储器(英文:read-onlymemory,缩写:rom),快闪存储器(英文:flashmemory),硬盘(英文:harddiskdrive,缩写:hdd)或固态硬盘(英文:solid-statedrive,缩写:ssd);存储器还可以包括上述种类的存储器的组合。在一个实施方式中,存储器920可以包括多个软件模块,例如发送模块921,处理模块922和接收模块923。通过执行上述软件模块中的指令,处理器910可用于执行多个操作。存储器920可以是指一个存储器,也可以包括多个存储器。在一些实施方式中,当一个模块被配置用于执行一个操作,它可能实际表示处理器910被配置于执行模块中的指令以完成上述操作。通过执行存储器920中的指令,处理器910可以执行方法200、300、400、500、600、700或800中所述的终端所执行的部分或全部操作。例如,处理器910可以通过收发器930向网络设备1发送所述请求设备id的消息1,通过收发器930接收网络设备1发送的包括公钥1和密钥1的密钥对和标识公钥1为设备id的信息,并且根据所述收到的密钥对和信息确定所述公钥1为终端的设备id。

发送模块921用于向网络设备发送用于为所述终端请求所述设备id的第一消息,所述设备id用于全局唯一的标识所述终端。接收模块923用于接收所述网络设备发送的经过加密的密钥对,所述密钥对包括第一公钥和第一私钥,还用于接收所述网络设备发送的信息,所述信息用于标识所述第一公钥为所述终端的设备id。处理模块922用于确定所述第一公钥为所述设备id。

发送模块921还用于向所述网络设备发送经过所述第一私钥签名的第二消息,所述第二消息携带作为所述终端的的设备id的所述第一公钥。

在一个具体的实施方式中,所述第一消息中携带第二公钥,所述第二公钥为所述终端基于物理不可克隆功能生成的公钥。接收模块923还用于接收接收所述网络设备发送的经过所述第二公钥加密的所述密钥对。

图10是本申请实施例提供的一种网络设备1000的示意图。该网络设备1000可以应用于图1所示的网络架构中,例如可以是图1所示的网络架构中的网络设备107或者网络设备108。如图10所示,网络设备1000可以包括处理器1010,与所述处理器1001耦合连接的存储器1020,收发器1030。处理器1010可以是cpu,np或者cpu和np的组合。处理器还可以进一步包括硬件芯片。上述硬件芯片可以是asic,pld或其组合。上述pld可以是cpld,fpga,gal或其任意组合。处理器1010可以是指一个处理器,也可以包括多个处理器。存储器1020可以包括易失性存储器(英文:volatilememory),例如ram;存储器也可以包括非易失性存储器(英文:non-volatilememory),例如rom,快闪存储器(英文:flashmemory),hdd或ssd;存储器还可以包括上述种类的存储器的组合。在一个实施方式中,存储器1020可以包括多个软件模块,例如发送模块1021,处理模块1022和接收模块1023。通过执行上述软件模块中的指令,处理器1010可用于执行多个操作。存储器1020可以是指一个存储器,也可以包括多个存储器。在一些实施方式中,当一个模块被配置用于执行一个操作,它可以表示处理器1010被配置于执行模块中的指令以完成上述操作。在一个实施方式中,通过执行存储器1020中的指令,处理器1010可以执行方法200、300、400、500或600中网络设备1,以及方法700或方法800中第一网络设备所执行的部分或全部操作。例如,处理器1010可以通过收发器1030接收终端发送所述请求设备id的消息1,通过收发器1030向终端发送包括公钥1和密钥1的密钥对和标识公钥1为设备id的信息。

接收模块1023用于接收终端发送的用于为所述终端请求所述设备id的第一消息,所述设备id用于全局唯一地标识所述终端。发送模块1021用于向所述终端发送经过加密的密钥对,所述密钥对包括第一公钥和第一私钥。发送模块1021还用于向所述终端发送第一信息,所述第一信息用于标识所述第一公钥为所述终端的设备id。

在一个实施方式中,接收模块1023还用于接收所述终端发送的经过所述第一私钥签名的第二消息,所述第二消息携带作为所述终端的设备id的所述第一公钥。

在一个实施方式中,所述第一消息中携带第二公钥,所述第二公钥为所述终端基于物理不可克隆功能puf生成的公钥。

在一个实施方式中,在接收摸1023接收所述第一消息之后,以及发送模块1021向所述终端发送经过加密的密钥对之前,所述处理模块1022还用于:生成第三消息,所述第三消息携带所述第二公钥,所述第二公钥用于被第二网络设备对所述终端进行身份验证;向所述第二网络设备发送所述第三消息;以及接收所述第二网络设备发送的所述密钥对以及第二信息,所述第二信息用于指示所述密钥对中包括的所述第一公钥为所述设备id。

在一个实施方式中,处理模块1022还用于向所述终端发送经过所述第二公钥加密的所述密钥对。

在一个实施方式中,所述第一消息中携带由证书颁发中心ca签发的公钥证书,所述公钥证书中携带所述第二公钥。

在一个实施方式中,通过执行存储器1020中的指令,处理器1010也可以全部或者部分的执行方法200中的网络设备2,方法400以及方法500中的网络设备2,方法600中的网络设备1或者方法800中第二网络设备所执行的全部操作。

本申请实施例中,收发器可以是有线收发器,无线收发器或其组合。有线收发器例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线收发器例如可以为无线局域网收发器,蜂窝网络收发、器机或其组合。图9以及图10中还可以包括总线接口,总线接口可以包括任意数量的互联的总线和桥,具体由处理器代表的一个或多个处理器和存储器代表的存储器的各种电路链接在一起。总线接口还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机提供用于在传输介质上与各种其他设备通信的单元。处理器负责管理总线架构和通常的处理,存储器可以存储处理器在执行操作时所使用的数据。

本申请还提供了一种通信系统,包括终端和网络设备,所述终端可以是图9对应实施例所提供的终端。所述网络设备可以是图10对应实施例提供的网络设备。所述通信系统用于执行图2-图8任一实施例的方法。

本领域技术任何还可以了解到本申请实施例列出的各种步骤(step)可以通过电子硬件、电脑软件,或两者的结合进行实现。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本申请实施例保护的范围。

本申请实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd-rom或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息,存储媒介还可以集成到处理器中。

应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及方法操作,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

本说明书的各个部分均采用递进的方式进行描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点介绍的都是与其他实施方式不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。

本申请说明书的上述描述可以使得本领域技术任何可以利用或实现本申请的内容,任何基于所公开内容的修改都应该被认为是本领域显而易见的,本申请所描述的基本原则可以应用到其它变形中而不偏离本申请的发明本质和范围。因此,本申请所公开的内容不仅仅局限于所描述的实施例和设计,还可以扩展到与本申请原则和所公开的新特征一致的最大范围。

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