Moo*_*oon 4 secret-key oauth-2.0
我最近一直在研究OAuth服务器的实现.我注意到的一件事是所有服务器实现都不加密服务器端的客户端密钥.我知道它不应该是一个密码,但它被用作密码.如果是这样的话,我们为什么不加密呢?
我唯一能想到的是它无法加密,因为OAuth服务器应该在UI上向客户端显示客户机密钥.
PS:它属于stackoverflow还是serverfault ..?
这是一个实现决策,但只要授权服务器不使用HSM作为加密密钥,使用驻留在同一文件系统上的另一个秘密加密秘密就没有多大意义.
在GUI中显示它绝对不是不加密它的原因(因为服务器可以在显示之前对其进行解密),甚至不需要在UI中显示它(可以由应用程序开发人员提供输入).
但也许你指的是单向哈希?在这种情况下,我同意授权服务器应将这些客户机密码视为密码并对其进行哈希处理,或者至少提供这样做的选项.
但值得一提的是,客户机密在丢失时可以被认为危害较小,因为它们对于客户/ AS关系是唯一的.暴露用户密码的不好的一面是它们通常可以用于其他服务提供商(使用相同的用户名/电子邮件地址).这并不适用于客户机密,并且有人可能会争辩说,在很多情况下(RS和AS"接近")能够访问客户端机密所在的后端,这样就不需要学习客户端机密本身.
| 归档时间: |
|
| 查看次数: |
1228 次 |
| 最近记录: |