首页 网站优化 服务器权限的认证方法

服务器权限的认证方法

发布时间 2022-03-29 收藏 分享
价格 10.00
品牌 戴尔三星
区域 全国
来源 广东利联有限公司

详情描述:

服务器分两大类

服务器进行安全认证的能力可以分为机密类型(Confidential)和公共类型(Public) 这两种:机密类型(Confidential)和公共类型(Public)。

机密类型的自身会有个密码凭据,比如Web服务器后端程序;而公共类型则没有密码凭据,纯浏览器前端应用或者移动客户端应用大都属于这一种类型。不管是哪一种,它们都有客户端ID(client_id)。

OAuth2客户端认证
客户端在执行OAuth2授权的敏感流程中(相关的流程有令牌请求、令牌自省请求、令牌撤销请求)必须使用授权服务器进行客户端身份验证,确保客户端中途不会被调包。

客户端认证方式
前面Gitee的DEMO使用的是过时的POST方式;:V X:DEMO使用的是非OAuth2标准的方式;Spring Authorization Server目前相关的DEMO使用的是client_secret_basic方式。剩下的方式中client_secret_jwt和private_key_jwt用的比较多,这两种方式可以很好地保护客户端的认证信息,安全性更高。Spring Security和Spring Authorization Server目前已经支持这两种方式。

client_secret_jwt
client_secret_jwt方式是OAuth2客户端将自己的密钥作为HmacSHA256算法的key生成SecretKey

然后通过SecretKey生成一个携带OAuth2客户端信息的JWT,在授权码请求Token环节携带该JWT以便授权服务器进行客户端认证

授权服务器收到请求后通过OAuth2客户端的client_secret对JWT进行解码校验以认证客户端。这种方式能很好地保护client_secret在非HTTPS环境下的传输。

private_key_jwt
private_key_jwt和client_secret_jwt一种的区别就是生成JWT的方式不同。通过这种方式,OAuth2客户端已经不需要client_secret,只需要配置一对RSA或者EC密钥,通过密钥来生成JWT,另外还需要向授权服务器提供公钥,通常是一个jwkSetUrl。该方式的细节已经在胖哥专栏[1]中JOSE规范[2]一文中进行过详细说明了,这里不再赘述。这种方式让客户端的认证信息更加安全的传输,是我个人比较喜欢的方式。

ls_client_auth
这个比较高级,嵌入了TLS安全层,在HTTP协议级别来认证OAuth2客户端,它涉及的证书来自可信任的CA。这种方式基本脱离了应用层,是一种无侵入的方式。

self_signed_tls_client_auth
这个同样也是在TLS安全层,不过它使用了自签名的X.509证书。

联系人 黄福利
0769-87855555 13827218110 1328913191
南城区高盛科技大厦1501
1328913191@qq.com
上一条 下一条
电话联系