strong>Shibboleth是Internet2/MACE项目中其中的一个,得到了IBM的技术和资金支持,是一个使用标准语言描述的体系结构和策略框架,支持安全Web资源和服务的共享,是安全断言标记语言(Security Assertion Markup Language)的一种实现。
根据SAML V1.1技术架构文档中描述的三个用例,Shibboleth综合这些场景,实现了一个综合的用例,其他应用均可以看作这个用例的子集。
Shibboleth完整工作流
Shibboleth的综合用例,指的是用户未通过认证,直接访问远程站点(不同校区的站点)。其处理过程如下:
1. 用户未在所属IdP认证,直接登陆远程站点。
2. SHIRE通过地址过滤,发现用户访问Shibboleth保护的资源。SHIRE通过询问SHAR,发现用户属性没有被缓存,则需要对用户进行认证/授权。SHIRE产生“浏览器发送配置文件”,通过与浏览器交互,以HTML表单的形式递交给WAYF。
3. WAYF收到SHIRE发送的表单,通过分辨用户所属IdP的站点名,取得用户所属HS的地址。同时,生成“浏览器发送配置文件”并将它发送给HS。
4. 当HS收到WAYF发送的“浏览器发送配置文件”时,发现用户未通过验证,则进行以下操作。
a) 通过CA,对用户进行认证。 b) 通知AA生成用户属性。
5. CA对用户进行认证,并产生Session,以保证用户的唯一性。
6. HS产生“浏览器辅助配置文件”,通过浏览器使用HTML表单的形式递交给SHIRE,以供判断用户的实时性。
7. SHIRE询问SHAR关于该用户的用户属性。SHAR向IdP的AA发送AQM消息查询用户属性。
8. AA回复ARM,SHAR取得用户权限,传递给SHIRE。
9. 取得用户权限后,则可对用户进行进行授权:可访问/禁止访问。到此,完成了一次完整的用户认证和授权。
Shibboleth的更多分析内容请看:Shibboleth:用户认证的通道
转载请注明:IT运维空间 » 安全防护 » Shibboleth:应用场景
发表评论