DOA 定义了两个核心协议:标识符/解析协议(IRP)(即后文中所述“Handle”协议)和数字对象接口协议(DOIP)。
第一个协议IRP,在较早的版本中也称为“处理系统协议”,用于创建、更新、删除和解析数字对象标识符。根据IRP 的规定,每个标识符都与一个标识符记录相关联,该记录包含客户可以解析的相关“状态信息”;并且所有标识符的格式均为前缀/后缀,默认情况下,前缀可以首先解析为要使用的特定标识符/解析服务,并且后缀可以是任何位序列。一个组织可以通过为其分配一个前缀来为自己的标识符集运行一个解析系统,并且可以通过将其视为后缀并在其分配的前缀之前将任何现有的标识符转换为数字对象标识符。
1.Handle 协议
Handle 系统定义了一个客户端软件协议,在该协议中,客户端软件可以通过Handle 服务器提交请求。每个请求都描述了将要在服务器上执行的操作,服务器对该请求进行处理并返回一条消息,这条消息会指示该操作的结果。
Handle 协议的一些关键方面包括:
(1)Handle 协议支持Handle 的解析和管理。
(2)一个客户端可能会对任何基于该客户端数字签名的服务器响应进行认证。
(3)一个服务器可以通过Handle 认证协议将其客户端认证为Handle管理员。该Handle 认证协议是一个质询-响应协议(Challenge-Response Protocol,CRP),这种类型的协议既支持基于公钥的认证,也支持基于秘钥的认证。
(4)会话可以在客户端和服务器之间建立,这样就可以使认证信息和网络资源(例如TCP 连接)可以在多个操作之间共享。可以建立会话密钥来实现数据的完整性和保密性。
(5)该协议可以被扩展,扩展后可以支持新的操作。控件可被用于扩展现有业务。该协议允许未来存在向后兼容性。
(6)分布式服务架构。支持不同的服务组件之间的服务指引。(www.xing528.com)
(7)Handle 和其数据类型基于ISO-10646(Unicode 2.0)字符集。UTF-8 是Handle 协议强制规定的授权编码。
Handle 系统通常默认使用三个网络监听器,分别是UDP 端口2641、TCP 端口2641 和TCP 端口8000。用户可以根据自身需求结合本地实际情况,通过修改config.dct 和siteinfo.json 文件来修改Handle 系统监听的端口。
UDP 和TCP 使用的2641 是互联网数字分配机构(the Internet Assigned Numbers Authority,IANA)分配给Handle 系统的网络协议端口号。Handle服务模型和网络协议在RFC3650、RFC3651、RFC3652 中给出描述。Handle客户端通常使用UDP 的2641 端口进行解析请求,因为UDP 的效率最高,这在典型场景中具有最佳性能。TCP 通常用于管理操作的请求,并且在UDP 缓慢或不可用时作为备用。
Handle 系统统一使用TCP 的8000 端口提供HTTP、HTTPS 服务。在标准的Handle 协议端口不可用的情况下,Handle 客户端可以通过HTTP网络协议实现数据传输。另外Handle 系统服务器内置了Jetty 容器,用来提供基于JSON 数据交互格式的HTTP RESTful API,用户通过这些接口可以进行Handle 数据的解析查询和管理操作。
第二种协议即数字对象接口协议(DOIP),定义为更广泛地由数字对象服务使用,其中存储库和注册表系统是特定实例。数字对象服务旨在实现本文档中指定的 DOIP 及其基本必需的功能。DOIP 有一个源于ITU-X.1255 的全球标准,此协议允许客户端软件或其他系统直接与信息本身交互,而不是与文件交互。
2.DOIP 协议
DOIP 利用IRP 将标识符与协议的不同元素相关联。标识符的最大大小将随时间变化,但是在最初,在DOIP 中指定的标识符的最大大小为4 096位。DOIP 支持使用PKI 提供安全性以验证数字对象,包括用于服务/客户端身份验证以及通过签名确保完整性。固有的PKI 支持还将帮助客户和服务利用加密。协议使用数字对象标识符来指定批准的访问控制列表和PKI 质询响应测试的数字对象的访问控制,并定义了客户端可以在服务上调用的基本操作。
DOIP 可以通过任何安全通信协议建立隧道,DOIP 本身也规范了用于确定此类协议的几个选择。最低要求是网络通信应支持TLS。除了传输安全性外,DOIP 还利用了其他几个规范:第一个是实现序列化的方法,可以使用JSON,我们暂定使用JSON 进行序列化。第二个是将PKI 用于数字对象的加密和解密,包括其他系统资源的身份验证;此功能虽然依赖于协议外部的技术,但可以通过使用数字对象标识符进行实现。另外,其他外部规范包括了Unicode(UTF-8 编码格式)、TCP、MIME、X509、JWS以及JWK。
每个数字对象必须指定其类型。初始定义了核心类型后,类型是可扩展的,以允许创建其他新类型。类型的一项重要功能是使DOIP 服务能够识别允许的操作。因此,每种类型都与可以使用IRP 访问的标识符记录相关联。类型记录的语义和其他结构细节并未在DOIP 中指定,具有领域专业知识的企业或组织可以在其域中创建类型并指定类型记录的语义和序列化。
DOIP 更加详细的技术定义及说明详见“附录3:数字对象接口协议规范(DOIP)”中的相关描述。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。