API令牌 (STS) 产品白皮书

近年来, 随着移动办公的盛行, 企业需要面临的不仅仅是过去WEB的统一认证, 更多的带来了对各种API接口, 或是其它移动应用的访问需求。STS (Security Token Service)支持令牌转换服务,亦即使用一种主身份令牌去换取访问一个服务所需要的另外一种令牌。 这样, 可以实现接口级别的统一认证。通常,负责验证用户的被称为身份提供方IP(Identity Provider ) 服务提供方被称为RP (Relying Party)。

在一个经典的使用场景下, 客户需要访问一个后台服务RP, 需要认证。 而后台服务本身并不去认证这个用户, 取而代之的是, 它被跳转到一个能提供STS服务的身份认证服务器。 这个服务认证用户, 并发放一个可以访问这个RP的令牌。 这个令牌可以是一个SAML格式的,也可以是JWT等OIDC格式的, 里面不但有用户信息, 更重要的是通过签名/加密等密码学原理保证其不可复制性。 最后, 用户被再次带着这个令牌跳转到RP, RP根据前面的设置, 判断这个令牌是否正确, 从而决定是否打开服务。 同非对称的单点登录算法, 这个令牌通常是通过交换公钥, 私钥的方式来实现的。

通常, STS都是通过API接口提供服务, 可以是WEB Service, 也可以是RESTFUL的接口。 不同于SSO, 它的实现过程并不需要用户的交互。 如果必要, 通常会向IDP或是RP的另一方提供SDK, 以加速对接的过程。

STS实现的代表之一就是微软的WS-Security 和 WS-Trust, 他们都是针对WEB Service 而产生的。

九州云腾的STS是实现“云大物移”统一认证的重要一环。 也就是说, 通过一个统一账户体系, 通常是微软的AD或是我们的UD, 用户只需要认证一次, 就可以访问多个不同的业务系统, 不需要反复登录。这个主要是针对大数据平台提供众多服务的应用场景。 比如我们给阿里云API 网关实现的一个令牌, 可以访问后面上百种服务的场景。

  1. 更统一: 通过我们的STS ,可以实现一次认证, 换取访问各种业务应用RP所需要的各种令牌; 比如一个证书, 一个主账号可以打通所有第三方的API服务接口;
  2. 更安全: 通过STS, 可以通过OIDC等非对称密钥协议实现一次一密, 从而替代传统的常年不变的密码;即使在网络层被截获, 也不能重放/中间人攻击。
  3. 更便捷: 开发者无需理解复杂的认证协议和流程, 只需要注册成为开发者, 按照向导一步一步实现即可。

针对RESTFUL 接口取代WEB Service 的趋势越来越明显, 我们的STS主要是基于OAuth 实现的。 也就是说, 我们的IDP Server 本身就是一个STS Server, 用户只需要注册一个STS服务, 就可以使用我们的令牌转换服务。 无论是提供用户/密码,还是证书等已有的身份, 都可以通过STS换取一个新的OAuth Token, 从而打开后面的Restful API 服务。

更多详情况, 可以参阅OAuth 标准工作组规范“OAuth 2.0 Token Exchange: An STS for the REST of Us”。

如需更多信息, 请联系我们。
电话: 010-58732285/18601352129
邮箱: info@idsmanager.com
地址:北京市海淀区知春路6号(锦秋国际大厦)7层B01室

发表评论

电子邮件地址不会被公开。 必填项已用*标注