ISO/IEC 29178 — 移动标识 — 服务代理

工程师与系统架构师技术指南

1. 移动标识服务代理架构

ISO/IEC 29178 规定了移动标识系统的服务代理功能架构。代理充当标识服务提供商(ISP)和依赖方之间的中介,将多种标识方案的复杂性抽象在统一的服务接口之后。这种解耦使应用程序开发者能够集成移动标识,而无需了解每个底层身份提供商的复杂细节。

设计服务代理时,应使用插件架构将编排逻辑与提供商适配器分离。这样可以在不修改核心代理引擎的情况下添加新的身份提供商——这种模式已在企业服务总线实现中得到验证。

代理的核心功能包括服务发现(维护可用 ISP 的注册表)、请求路由(根据上下文和策略将标识请求引导到适当的提供商的)、以及协议桥接(在代理的规范协议和每个 ISP 的原生协议之间进行转换)。该标准定义了每个代理必须支持的最小操作集:注册、发现、调用和通知。

代理功能 描述 关键协议元素
服务注册表 ISP 能力公告 WSDL / OpenAPI 描述符
请求路由器 基于策略的路由 XACML 策略规则
协议桥接器 规范协议转换 REST ↔ SOAP / LDAP
事务监控器 不可否认性日志 审计追踪 (RFC 3881)

2. 服务组合与编排

ISO/IEC 29178 最强大的功能之一是服务组合能力。代理可以将多个标识服务编排为复合工作流——例如,在请求高价值交易时,将主要认证与升级认证相结合。编排使用类似 BPMN 的流程定义以声明方式定义,使业务分析师无需编程即可修改工作流。

服务组合会引入不可忽视的延迟——标识链中每增加一步就会增加 100-500 毫秒。对独立检查使用并行调用,并缓存中间结果,以确保总用户体验在 2 秒以内。

该标准定义了三种组合模式:顺序模式(每个服务依次运行)、并行模式(服务并发运行)和条件模式(基于上下文属性分支)。错误处理在组合中至关重要:代理必须支持补偿操作,以在后续服务失败时回滚部分完成的操作。规范推荐对长时间运行的事务使用 Saga 模式。

3. 服务质量和工程考虑

ISO/IEC 29178 规定了代理实现的具体 QoS 指标:吞吐量(每代理实例每秒至少 100 笔交易)、可用性(99.95% 正常运行时间)和最大响应时间(简单代理 500 毫秒,复合流 2 秒)。该标准还要求使用断路器模式,以防止上游 ISP 无响应时发生级联故障。

使用分布式哈希环(一致性哈希)进行代理实例发现可消除单点故障并提供线性可扩展性。每个代理实例处理标识符命名空间的一个子集,环更新使用八卦协议在数秒内传播。

从安全角度来看,代理充当特权中介——它必须对 ISP 和依赖方进行身份验证,执行访问控制策略,并维护不可变审计日志。该标准要求所有组件间通信使用 TLS 1.3,并建议在代理实例之间使用双向 TLS(mTLS)认证,以防止分布式部署中的中间人攻击。

代理冒充是一个严重威胁。如果攻击者控制了恶意代理实例,他们可以拦截该域中的所有标识流量。每个代理实例必须出示由域特定 CA 颁发的证书,依赖方在发送任何标识请求之前必须验证代理证书链。

常见问题解答

问:29178 与 29177 有何关系?
答:29177 处理标识符解析(此标识符在哪里管理?),而 29178 处理服务代理(我应该使用哪个标识服务?)。它们在完整的移动标识架构中相互补充。
问:代理能支持像 OpenID Connect 这样的联合身份协议吗?
答:可以。协议桥接层可以将任何标准身份协议转换为代理的规范格式。标准的附录中定义了 OIDC、SAML 2.0 和 WS-Federation 适配器。
问:推荐的部署拓扑是什么?
答:采用三层或更多代理节点的主动-主动集群,前端部署七层负载均衡器。每个节点应保持无状态,会话状态存储在分布式 Redis 集群中以实现故障转移弹性。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注