OAuth2.0中的安全性如何?

2024-10-01 04:48:32 发布

您现在位置:Python中文网/ 问答频道 /正文

背景:我目前在一个团队中,负责为伦敦大学学院(universitycollege)构建API。你知道吗

我负责构建OAuth的实现,它位于Shibboleth之上,我们可以提供给用户。为了使它尽可能的安全(我们将提供学生数据,所以我们不能在这里冒任何风险),我实现了一个nonce参数和一个client_secret_proof参数(在中描述的appsecret_proof)sakurity.com/oauth). 你知道吗

不同之处在于,在我的实现中,向nonce端点发出请求,然后将这个nonce值连接到用户的令牌上,然后通过HMAC算法运行,这样client_secret_proof参数就不能被重放。你知道吗

这里的问题是,我的项目经理认为这种额外的保护是不必要的,只是可怕的开发经验,但我想尝试,使它尽可能难以MITM的连接,并尽我所能,以防止泄漏的客户端机密的一部分,我们的学生开发者草率编程。我是在这里浪费时间来加强OAuth,还是OAuth2.0在防止某些类型的攻击方面天生就很弱?我主要担心的是开发人员没有正确验证HTTPS证书,这将导致HTTPS中已经存在的保护没有实际意义。你知道吗

非常感谢你对这件事的想法!我们不想提供糟糕的开发人员体验,但也不想忽视任何攻击向量。你知道吗

实施保护:https://github.com/uclapi/uclapi/blob/OAuth/backend/uclapi/oauth/decorators.py#L86

客户端库:https://github.com/uclapi/django-uclapi-oauth/blob/master/apidemo/uclapi/views.py


Tags: 用户httpscomclient客户端参数secret开发人员
1条回答
网友
1楼 · 发布于 2024-10-01 04:48:32

尽管您没有提到您使用的是哪种类型的OAuth2.0客户机?(水疗、网络应用或??)。除了OAuth2.0或OpenID连接之外,我什么都不会告诉我们。(因为OpenID Connect使用可以签名和加密的JWTs。)

Developer Quits OAuth 2.0 Spec, Calls It ‘a Bad Protocol'是在2012年,自那以后,事情有了很大的进展。你知道吗

正如A Comprehensive Formal Security Analysis of OAuth 2.0(2016年完成)所指出的,大多数缺陷都是由实现缺陷造成的

甚至自2016年以来,从Security Considerations的角度来看,oauth2.0和openidconnect都有一些增强。你知道吗

在当今的网络环境中,在处理敏感信息时,什么是“过于安全”的,而这些信息的泄露可能会对组织的声誉造成损害?你知道吗

相关问题 更多 >