Security HTTPS标题或帖子正文更安全吗?
发送HTTPS请求时,从安全角度看,头和帖子正文之间有什么区别吗?是否有一个更容易泄漏或拦截?若然,原因为何 我读过GET与POST以及各种身份验证和加密方案之间的比较,但没有读过Header与application/x-www-form-urlencoded POST body之间的比较。我承认我只花了大约20分钟的时间在谷歌上搜索,所以如果之前有报道,我表示歉意Security HTTPS标题或帖子正文更安全吗?,security,post,https,header,openid-connect,Security,Post,Https,Header,Openid Connect,发送HTTPS请求时,从安全角度看,头和帖子正文之间有什么区别吗?是否有一个更容易泄漏或拦截?若然,原因为何 我读过GET与POST以及各种身份验证和加密方案之间的比较,但没有读过Header与application/x-www-form-urlencoded POST body之间的比较。我承认我只花了大约20分钟的时间在谷歌上搜索,所以如果之前有报道,我表示歉意 虽然我相信这对所有HTTPS流量都是通用的,但我是在OpenId Connect的上下文中问这个问题的。我使用的是授权码授权类型
虽然我相信这对所有HTTPS流量都是通用的,但我是在OpenId Connect的上下文中问这个问题的。我使用的是授权码授权类型和SpringSecurityOAuth客户端库 OIDC规定,当将一次性代码交换为持久id令牌时,客户端和授权服务器可以选择发送凭据的方法。引述: 本节定义了一组客户端身份验证方法,这些方法是 用于客户端在使用时向授权服务器进行身份验证 令牌终结点。在客户注册期间,RP(客户)可 注册客户端身份验证方法。如果没有注册任何方法, 默认方法是client\u secret\u basic 这些客户端身份验证方法包括: 客户端\u机密\u基本
已接收客户端\u机密值的客户端 从授权服务器使用授权进行身份验证 符合OAuth 2.0[RFC6749]第2.3.1节的服务器,使用 HTTP基本身份验证方案 注意,这是
Authorization:Basic
标题。我正在与之集成的提供程序通过OpenId client_id和client_secret支持这一点,并使用冒号和Base64编码连接
客户秘密帖子客户认为 已从授权服务器接收到客户端\u机密值, 根据第节向授权服务器进行身份验证 OAuth 2.0[RFC6749]的第2.3.1节,在请求正文中包含客户端凭据 我还没有找到任何特定于OpenId Connect的方法来表达两种方法之间的偏好
我正在与一个允许任何一种方法的OIDC提供程序集成,但是您必须选择,并且所有依赖的资源服务器必须符合单一选择。标题和帖子正文均以纯文本形式发送。(请注意,此提供商不支持敏感机密的HMAC SHA编码版本的
client_secret_jwt
方法,也不支持公私签名的private_key_jwt
方法,两者都明显比纯文本值更安全,但不清楚这是否增加了任何实际的安全性。)对TLS/SSL加密通信的改进。)OAuth 2.0更喜欢HTTP基本身份验证以及以下内容:
不建议使用这两个参数在请求正文中包含客户端凭据,并且应限于无法直接使用HTTP基本身份验证方案(或其他基于密码的HTTP身份验证方案)的客户端
您可以放心地假设这也会转化为OIDC。虽然Pieter指出了规范,但我也想到了最佳实践 给定一个帖子正文可以包含任何信息,浏览器、代理实现或API都无法尊重正文中嵌入的秘密。相比之下,授权标题由RFC7235定义和维护,这是一个标准 “Authorization”标头字段允许用户代理进行身份验证 它本身带有一个源服务器——通常,但不一定,在 接收401(未经授权)响应。其价值包括 包含用户身份验证信息的凭据 正在请求的资源领域的代理 更多关于代理 转发请求的代理不得修改任何授权字段 在这项请求中。有关和的详细信息,请参见[RFC7234]第3.2节 与处理授权字段有关的要求 HTTP缓存
因此,作为一个被各方充分理解的头文件,它应该是传输凭证的最安全的方式。希望这种想法能帮助其他人做出设计决策。您使用哪种补助金类型?您使用的客户端类型是什么?