工业互联网标识解析体系主要由工业互联网标识编码和解析两部分构成,前者指为人、机、物等实体对象和算法、工艺等虚拟对象赋予全球唯一的身份标识,提供工业互联网中的名字服务;后者指通过标识编码查询标识对象在网络中的服务站点,类似工业互联网中的域名解析服务。工业互联网标识解析体系是实现工业互联网资源互联互通的关键基础设施,在发展方向上有两种技术路线:一类基于互联网DNS技术系统叠加标识服务,建立标识ID与标识间的映射,如对象名称解析服务(object naming service,ONS)和对象标识符(object identifier,OID);另一类采用不同于DNS的标识解析技术,如Handle、UID等,目前多用于流通环节的供应链管理、产品溯源等场景中。随着工业互联网的深入推进,采用公有标识对各类资源进行标准化编码成为实现信息共享,推进工业智能化的基础。
在各类物体上或是客观对象上所具有的区别于其他事物的名称标记,就是标识的主要内容,标记的内容可以是数字、字母以及符号文字等。
OID是由ISO、IEC(International Electrical Commission)、ITU-T共同提出的标识机制,用于对任何类型的对象、概念或事物进行全球统一命名,要求必须在全球范围内定义无歧义、可标识的标准化信息客体 [3] 。为满足这种需求,国际标准化组织(ISO)建立了一种信息客体注册的分层结构,这种结构在GB/T 17969.1(参考ISO/IEC 9834-1制定)中进行了规定。OID采用分层、树状编码结构,不同层次之间用“.”来分隔,即××.××.××.××,每个层级的长度没有限制,层数也没有限制。在该分层结构下,信息客体由构造名称进行唯一的标识,该构造名称由从树根到叶子节点的部件组成。由于从根节点到每个节点在注册机构分配的值中是唯一的,因此可对对象进行全球无歧义的唯一标识。OID已经在全球200多个国家中得到应用,并由各个国家自主管理各自的标识分支。我国在2006年成立了国家OID注册中心,负责OID中国国家分支节点(1.2.156与2.16.156)的相关标准制定、标识注册管理、标识解析等相关的工作。例如,我国农业部的节点由OID(1.2.156.326)表示,每个数字分别代表的含义为:1(ISO).2(国家).156(中国).326(农业部)。OID目前主要应用于医疗卫生、信息安全等领域。
OID基于DNS技术体系构建,将自身的标识空间映射到DNS空间,利用DNS的解析服务能力构建相应的标识管理与应用体系。因此OID会继承DNS体系所固有的一些安全问题,如针对DNS服务器的DDo S攻击、针对用户的DNS劫持等。此外,OID自身的管理与应用体系也存在一些固有安全问题,如标识缺乏认证,无法从顶层设计规定统一的认证方式;缺乏解析权限控制能力,仅提供标识的匿名查询能力,无法对解析进行更细粒度的权限控制;标识对应身份缺乏可信背书,与国际顶级解析节点存在对接风险;太长的授权链条容易导致信任弱化、监管弱化等问题。
Handle是当前国际主流标识解析体系之一。美国国家研究创新机构(Corporation for National Research Initiatives,CNRI)于20世纪90年代发明了Handle系统,可为各类物理实体与数字对象提供全球唯一标识、解析、信息管理与安全控制等服务能力,目前已在国际工业互联网领域被广泛运用。CNRI是Handle系统核心技术的研发机构,与国际电信联盟(ITU)共同发起设立国际组织DONA基金会(DONA Foundation),致力于推动数字对象体系架构(DOA)的应用,并将Handle系统相关的知识产权无偿移交给DONA基金会。DONA基金会负责授权、认证和协调全球多级最高授权管理者(MPA),对于Handle系统的标识、注册、解析服务进行总体管理、维护和协调。DONA基金会目前已经在全世界部署了9+1个全球根节点(MPA),分别部署在美国、中国、德国、英国、沙特、南非、卢旺达、突尼斯、俄罗斯,以及国际电信联盟(ITU),其组织架构如图2-4所示。各个MPA之间本着平等、协商、共管的原则建立了良好合作机制。部署在不同区域的MPA拥有对本区域Handle系统运营服务的自主权,可制定和执行本区域相关管理政策并分配管理Handle前缀资源,既能保证国际接轨,又实现了自主可控。
2012年6月,工业和信息化部国家信息安全发展研究中心牵头,联合北京中数创新技术有限公司(CDI)、北京西恩多纳信息技术有限公司(CHC)在中国设立全球Handle根节点管理机构(MPA),并共同组成MPA中国联合体,负责亚太地区Handle系统的管理运营和推广应用。部署在中国的全球Handle系统得到了我国政府的大力支持,国家发展和改革委员会将Handle系统确立为“国家物联网标识管理公共服务平台”的三大技术支撑;工业和信息化部建立起基于Handle系统的“食品质量安全信息追溯体系”,并率先在婴幼儿配方乳粉领域应用推广,取得了良好的成果。
在Handle系统中每个数字对象都会被分配Handle标识,Handle系统负责为数字资源分配、管理和解析Handle标识,每个Handle的定义遵循如下原则:
<Handle>∷=<Handle Naming Authority>/<Handle Local Name>。
图2-4 DONA基金会组织架构
Handle编码说明和使用规范见表2-1所示。
Handle系统的分布式服务是通过分层方式来实现的,系统分成两层:全球Handle注册服务(global handle registry,GHR)和本地Handle服务(local handle service,LHS)。Handle的前缀由CNRI进行分配,在GHR中登记后才可生效,因此GHR拥有整个系统的最高权限,即管理所有Handle命名空间、命名权限和提供相关服务。LHS负责管理本地范围内的Handle,将其存储在本地handle service中。GHR与所有的LHS互相关联,每个服务可以包含多个站点,每个站点可包含多个服务器,这样保障负载均衡和容错能力。GHR中已注册的冠有命名机构的Handle都有其解析服务接口。服务信息被记录在值HS_SERV和值HS_SITE中,每次Handle解析都是从客户端发起解析请求开始,先向GHR查询相应命名授权Handle,然后GHR根据其Handle的HS_SITE值返回相应的服务信息,接着客户端再从服务信息中选择一个服务站点,通过LHS服务发送请求给此站点的服务器,最后LHS返回给客户端本服务器中对应的资料地址。
表2-1 Handle编码说明及使用规范
注:(1)MPA中国联合体授权一级前缀给代理机构。代理商用户可分配所购买一级前缀下属二级前缀标码,建议范围:11~999999。例如:授权86.100给代理机构,代理商可分配前缀区间85.100.11~86.100.999999。
(2)代理机构授权二级前缀给终端用户。二级前缀用户可使用所购买前缀,但无权继续分配下级前缀,如需继续分配下级前缀需与MPA中国联合体协商进行备案。例如:授权86.100.11给终端用户,用户无法继续分配其他下级前缀。
(3)特殊情况下,代理机构可以授权二级前缀给下一级代理,并由下一级代理授权三级前缀给终端用户。一级前缀代理商如需分配三级及以下等级前缀需要与MPA中国联合体协商备案。例如:授权86.100.100给下一级代理,由下一级代理授权86.100.100.11给终端用户。
Handle协议分为两类,数字对象接口协议(digital object interface protocol,DOIP)和标识/解析协议(identifier/resolution protocol,IRP)。在DOIP协议中标识符/解析系统是组成数字对象体系结构的3个组件之一。该系统支持多种数字对象服务,包括:
(1)给以数字形式结构化为数字对象的信息分配唯一标识符,不考虑此类信息的位置或服务此类信息的技术。
(2)将标识符快速解析为有关相应数字对象的当前状态信息,例如其位置、访问和使用策略、时间戳和/或公共密钥。
(3)管理包含状态信息的标识符记录。
数字对象接口协议(DOIP)的当前版本为2.0,为客户端指定了一种与数字对象(DO)进行交互的标准方式。DOIP服务本身被视为数字对象。就其本质而言,协议旨在使运行该协议的一个或多个其他实体之间能够进行交互,因此,通常可以支持网络环境中特定形式的进程间交互。DOIP利用IRP将标识符与协议的不同元素相关联。标识符的最大长度将随时间变化,但最初DOIP中指定的标识符的最大长度为4096位。DOIP使用PKI来提供安全性,以验证数字对象,包括用于服务/客户端身份验证以及通过签名确保完整性。固有的PKI支持还将利用加密帮助客户和服务协议。DO在访问控制上使用标识符和基于PKI的挑战应答(challenge-response)协议来指定许可的访问控制列表,定义了客户端可以在服务上调用的基本操作;该协议从本质上支持添加操作。
DOIP可以通过安全通信协议建立隧道,而DOIP本身可以用于确定此类协议的选择。最低要求是网络通信应支持传输层安全(transport layer security,TLS)。除传输安全性外,该协议还利用了其他几个规范:一种是实现序列化的方法,可以使用JSON;另一种是使用PKI进行DO的加密和解密,包括对其他系统资源的身份验证,此功能尽管依赖于协议外部的技术,可以通过使用数字对象标识符来实现。其他外部规范包括Unicode(特别是UTF-8编码)、TCP、MIME、X509、JWS和JWK。
默认情况下Handle客户端解析时不需要任何身份认证。当请求隐私数据以及进行远程管理操作时需要对客户端进行相应认证。服务器将会决定客户端是否有足够的权限来访问这些隐私数据或进行一些远程管理的操作。进行身份认证时,Handle服务器会发起一个challenge请求给需要验证的客户端。为了完成认证的过程,客户端需要返回一个正确的response消息给服务器,以说明自己是正确的管理员。Handle服务器只有在收到正确的response之后才会完成客户端之前提出的请求。Handle客户端可以选择公/私钥的方式来进行认证。Handle系统的认证过程也可以通过第三方认证服务来执行。为了保证数据的完整性,客户端需要服务器对返回的响应做签名。客户端也可以与服务器建立一个安全的会话(session),这样同一个会话内的通信过程将被加密。具体步骤如下:
步骤1:客户端发起请求。
步骤2:服务器端收到客户端请求,返回会话ID和challenge信息(随机字符串)。
步骤3:客户端响应challenge,返回会话ID、challenge的响应、管理员索引。
步骤4:服务器端收到客户端以私钥的方式进行验证的请求,将challenge的响应发给可信的key-server来认证。
步骤5:key-server返回认证结果。
步骤6:服务器端告诉客户端确认完成认证。
在当前工业互联网云化发展的大趋势下,标识解析服务节点的部署逐渐由物理服务器模式向云化部署发展。在复杂的工业互联网应用中,仅提供标识数据查询并不能构成独立的应用。多元异构数据融合是复杂业务流程支撑下的前奏,融合性应用才能发挥标识解析更大的价值。2020年3月,工业和信息化部发布《关于推动工业互联网加快发展的通知》,对工业互联网标识解析的下一步的工作已经做出了提前部署,将继续强化国家顶级节点和二级节点功能,启动南京、贵阳两个灾备节点建设,进一步拓展网络化标识应用的覆盖范围。《工业互联网标识管理办法》已于2020年底正式出台,通过定义五大类标识服务机构,明确准入的条件,推动形成多方参与、统一管理、规范运营的标识解析管理体系,为工业互联网标识解析产业生态的健康有序发展提供重要制度保障。
目前仍然是标识解析技术体系和产业生态发展的起步阶段,在全球范围内探索构建一个广泛覆盖、互联互通、安全可靠的标识解析服务系统,蕴含了丰富的机遇,但同时也面临诸多挑战。