gpt4 book ai didi

security - 通过 ssl 完成 OAuth 请求时是否需要验证随机数?

转载 作者:太空宇宙 更新时间:2023-11-03 13:15:08 24 4
gpt4 key购买 nike

我的应用程序实现了 LTI它接收带有 OAuth HMAC-SHA1 的签名请求。它们看起来像:

oauth_version:1.0
oauth_nonce:0aaa53c5d8518ahh56203f5eac773023
oauth_timestamp:1497069755
oauth_consumer_key:foo-test
oauth_callback:about:blank
user_id:99
lti_version:LTI-1p0
lti_message_type:basic-lti-launch-request
oauth_signature_method:HMAC-SHA1
oauth_signature:qe5puCiqcU7UjIe/0NZ0oy4M/8c=

请求只能通过 SSL 发生(我们不实现其他连接选项)。所以我试图确定验证 oauth_nonce 是否有任何目的。我相信随机数的目的完全是prevent replay attacks这已经是 SSL 的一项功能。

存储 nonce 值对每个用户来说都会花费金钱和时间,所以我只想在它有一些值(value)时才这样做。

当通过 SSL 发出请求时,存储随机数并拒绝任何重复请求是否有值(value)?

最佳答案

是与否,

SSL/TLS channel 本身使用 MAC 来防止重放攻击,使用 MAC secret 和序列号计算。 (MAC 机制是确保 TLS 通信完整性的机制)。 See TLS 1.1 specification Appendix F.2

但是,这种保护只是为了防止第三方窃听者看到该应用程序请求,从而防止他们使用自己单独的 SSL/TLS 连接重放它。

但是,SSL/TLS 本身并不一定会阻止合法的初始用户重播请求。需要这种额外保护级别的协议(protocol)和应用程序往往在应用程序级别具有基于 nonce 的机制(如 LTI OAuth 签名所做的那样)来解决此问题。

关于security - 通过 ssl 完成 OAuth 请求时是否需要验证随机数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44469654/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com