摘要
- Kenneth J. Klingenstein 帮助科研教育机构把逐对拼接的访问关系,转化为由本地认证、共同属性语义、签名元数据与本地授权共同组成的联合体系。
- 联合身份并未自动制造信任;它把证据和责任分给身份提供方、服务提供方与联合运营方,让一次跨域决定有机会被拆开核验。
用户看见的是一扇门,运营者面对的却是一条责任链。研究人员打开另一所机构的数字资源,浏览器把他带回本校登录页。本校确认身份后,浏览器带着声明返回,资源随即开放。这个过程顺畅时,三个不同主体的作用几乎同时从界面上消失。
本校决定怎样认证,并对认证事件作出声明;它还可以释放若干属性。远端服务验证收到的内容,再按照自己的规则判断是否准入。中间还必须有一套办法说明服务器地址、参与角色、验签密钥和属性含义,并说明哪些机构有资格加入。没有任何一方单独控制完整结果。
Klingenstein 的贡献正位于这条链的接缝。Internet Hall of Fame 既记载了他早年推动美国西部联网的经历,也强调他后来对互联网身份与信任层的工作。1999 年,他在科罗拉多大学博尔德分校担任 chief technologist 时,受命领导 Internet2 Middleware Initiative。Internet2 将 Shibboleth、InCommon、eduPerson 等成果与这项工作联系起来。
这段历史不能写成个人发明神话。Klingenstein 在回顾 InCommon 二十年时,明确把早期团队的带头人称为 R. L. “Bob” Morgan。校园架构师、开发者、图书馆、科研合作组织以及 OASIS 标准参与者都提供了关键工作。Klingenstein 的作用,是让共同问题得到长期的组织动员和制度承载,而不是独自写出所有协议和软件。
团队用“本地认证,全球行动”概括目标。大学本来就有账户、目录、入离校流程和安全习惯。若建立一套全球账户库,身份保管权会被集中,不同机构也会被迫采用同一套管理方式。联合身份选择保留差异:身份的首要核验仍由所属机构完成,只让有限、可解释的声明跨越边界。
Shibboleth 在 2000 年从 Internet2 中间件项目中形成,并在同年与 OASIS 的 SAML 工作接轨;1.0 版于 2003 年发布。2004 年,Morgan、Scott Cantor、Steven Carmody、Walter Hoehn 与 Klingenstein 联名说明了两个分开的组件:用户所属机构运行 Identity Provider,资源一侧运行 Service Provider。
IdP 接住用户熟悉的登录,随后签发声明。SP 核验声明,并把属性交给应用。最终是否允许访问,由应用自己的规则决定。由此可见,“已经认证”不等于“应当获准”。声明可以真实、签名可以有效,远端规则仍可能过时、过宽,或误解了属性。
属性机制让机构不必把永久用户名当作唯一凭据。期刊平台也许只需要知道访问者属于订阅单位;科研计算平台也许只关心某项 entitlement。姓名、邮箱或校内编号若与决定无关,传递它们只会扩大暴露面。
跨校合作随即遇到一个比字段格式更深的问题:同一个词是否表示同一件事。eduPerson 为教育科研目录提供共同属性及定义。规范特别指出,affiliation 只有在定义和实践取得广泛共识时,才具有跨机构的实用价值;它还分别讨论标识符的作用域、持久性、隐私性、唯一性和再分配。
这些不是术语细节。一所学校的“成员”可能只含在职人员,另一所还包括校友或承包人员。可再分配的标识符可能让新用户接上旧用户的记录。持久标识有助于维持必要档案,也可能形成出乎用户预料的跨期关联。属性语义和密钥一样,需要负责人、版本与变更记录。
Shibboleth 还允许按接收服务设置属性释放策略,并能使用不透明或临时标识符,减少直接暴露熟知账号的必要。这提供了数据最小化手段,却不等于隐私保证。默认配置、管理员决策、用户是否真正知情、服务端日志以及后续数据拼接,都会改变可识别程度。
SAML 互通同样只是起点。2004 年的文章列出一系列仍需达成的共同约定:安全机制、属性定义、服务器定位、账户管理质量、个人信息处理方式以及参与资格。若每所大学都与每项服务逐对谈判,配置和合同的数量会迅速膨胀,而且很难持续更新。
InCommon 把一部分逐对协商变成可重复使用的共同制度。Klingenstein 回忆,早期团队很快发现,接收方需要一个组织机制,才能相信另一机构提供的认证和属性信息。这个机制要核验参与组织及其授权负责人,处理元数据,公布共同预期,运行服务,解决争议,并在必要时终止参与。
元数据把制度的一部分变成机器可读对象。OASIS 规范允许实体描述自身角色、服务端点、支持的 binding,以及用于验签和加密的密钥材料。InCommon 的运行政策则说明,联合方收集参与者提交的资料、评估变更、对元数据进行数字签名并发布,参与者自行定期获取。
因此,自签证书在这种体系中也可能可用:信任来源不是证书孤立存在,而是它经过受控登记并进入由联合方签名分发的元数据。反过来,一把密钥出现在元数据中,也不能证明参与机构的每项内部实践都可靠。InCommon 的 Baseline Expectations 分别列出 IdP、SP 与联合运营方的义务,正是为了防止把一种信号扩张成全面保证。
所谓“两个登录域之间的登记册”并不是中央用户库。它记录的是系统、端点、密钥和授权代表等信任材料,让本地决定能够对接。本校仍为认证和释放内容负责;远端服务仍为核验和授权负责;联合运营方则为共同登记与分发面负责。
这套安排的历史意义,是减少临时手工对接,同时不抹去机构自治。元数据减少逐一交换地址和密钥;eduPerson 减少逐一翻译属性;共同规则减少重复核验参与资格;开源软件让机构能够检查并自行运行实现。判断并未消失,只是获得了可重复的结构。
“单点登录”因而只描述用户体验,不能充当决策凭证。访问发生争议时,需要追问:哪个 IdP 在何时、以何种认证上下文确认了主体;声明的签发者、受众和有效期是什么;释放了哪些属性、采用哪个定义;当时 SP 信任哪一版元数据和密钥;哪一版本地规则把这些材料变成允许或拒绝。
页面成功打开,并不会自动保存这些答案。Klingenstein 更深的遗产,是帮助人们把看不见的机构边界改造成可命名、可治理的信任接口。两个域无需合并,但它们共同作出的决定必须能够还原成各自承担的部分。
来源
- https://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0.html
- https://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf
- https://er.educause.edu/articles/2004/10/federated-security-the-shibboleth-approach
- https://incommon.org/about/
- https://incommon.org/federation
- https://incommon.org/federation/baseline
- https://incommon.org/federation/fopp
- https://internet2.edu/celebrating-incommons-20th-birthday/
- https://internet2.edu/internet2s-kenneth-klingenstein-inducted-into-internet-hall-of-fame/
- https://shibboleth.net/documents/internet2-mace-shibboleth-arch-protocols-200509.pdf
- https://software.internet2.edu/eduperson/internet2-mace-dir-eduperson-201310.html
- https://www.internethalloffame.org/inductee/kenneth-j-klingenstein/
- https://www.shibboleth.net/about-us/history-of-the-consortium/
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
