南方數據技术观察
首页 行业新闻 教程 技术文章 AI 对话 官网 咨询与报价
首页 / 行业新闻

使用 Keycloak 和 OIDC 保护 RDAP 服务

本文总结了意大利国家顶级域名 .it 注册数据访问协议(RDAP)服务的安全加固经验。通过集成 OpenID Connect(OIDC)协议并使用 Keycloak 身份管理器,.it 成功实现了对 RDAP 服务的统一身份认证与细粒度访问控制,解决了传统认证方式在多服务器环境下的扩展性问题。

RDAP 的安全现状与挑战

RDAP 协议在 RFC 7480 中定义,本身不包含原生安全服务,仅依赖其他协议层(如 RFC 7481)提供的安全特性。早期最简单的方案是使用 Basic HTTP 授权方案。然而,这种方案在 RDAP 生态系统中扩展性较差。例如,一名执法官员可能需要根据地理位置频繁访问邻近 ccTLD 注册局的敏感 RDAP 数据(如欧盟的 e-evidence 举措)。如果用户需要向大量 RDAP 服务器进行身份验证,手动管理凭证将变得极其繁琐且不切实际。

OIDC 联邦认证机制

为了解决上述问题,IETF 提出了 rdap-openid 草案,旨在基于 OIDC 构建联邦认证系统,以降低客户端凭证管理的复杂性。OIDC 是一种支持“使用 Google 登录”或“使用 Facebook 登录”的协议。在这种模式下,网站将身份验证的责任转移给受信任的第三方服务,既简化了用户操作,也免去了网站管理新凭证及相关复杂性的负担。rdap-openid 草案进一步将 OIDC 适配到 RDAP 上下文中。用户可以通过 id 查询参数向 RDAP 服务器表明其意图发起经过身份验证的请求。例如,请求地址为 https://example.com/rdap/domain/example.com?id=user.idp.example,其中 id 参数的值是第三方认证服务使用的标识符(如 Google 的 Gmail 地址)。遵循标准 OIDC 实践,RDAP 服务器会将用户重定向至第三方服务进行认证,认证成功后再重定向回 RDAP 服务器执行后续操作。

Keycloak 的实施与访问控制

意大利 .it ccTLD 采用了 Keycloak 作为开源身份和访问管理工具来实现这一集成。系统通过 Keycloak 处理终端用户访问,并根据不同类别对用户进行分组,每组被分配特定的访问权限。对于自动化客户端,系统允许通过 Basic 和 Bearer 两种 HTTP 授权方案进行访问。这种架构设计使得 .it 能够在保持服务开放性的同时,利用 OIDC 收集的额外用户信息,由服务器操作员做出精细化的访问控制决策。

对于网络工程师和运维人员而言,引入 OIDC 和 Keycloak 为 RDAP 服务提供了一种现代化的安全解决方案。它不仅解决了多服务器环境下的认证痛点,还通过联邦认证机制优化了执法和跨域数据访问的流程,显著提升了运营效率。

原文: APNIC Blog(2022-02-17)|编译自 APNIC Blog,事实以原文为准。

来源:APNIC Blog

返回列表