通过HTTP标头传输访问令牌是否安全?


11

这是第一个RESTful Web服务,我担心安全性问题。通过HTTP标头传输访问令牌是否安全?例如:

POST /v1/i/resource HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Api-key: 5cac3297f0d9f46e1gh3k83881ba0980215cd71e
Access_token: 080ab6bd49b138594ac9647dc929122adfb983c8

parameter1=foo&parameter2=bar

连接已建立SSL。另外,需要定义什么作为scope每个属性access token

Answers:


12

如果要通过HTTP传输访问令牌标头,则它很容易受到中间人攻击。

当您通过HTTPS传输访问令牌标头时,客户端之外的任何人都无法看到此令牌,因为请求将通过安全连接进行传输。


4
一个草率的客户端即使使用SSL也可能容易受到MITM攻击。
ott--

你能举个例子吗?
CodeART

如果您不控制客户端,则无法保证客户端的安全性,但是几乎任何事情都是如此。
马特

2
@CodeWorks大多数浏览器都会为用户提供连接HTTPS资源的机会,即使该资源的SSL证书错误也是如此。可以说,这是浏览器作者做过的最愚蠢的事情之一,它实质上是接受MITM攻击的工具。
罗斯·帕特森

1
@Dan,然后应将特定的 MITM证书添加到客户端的根证书列表中。否则,您已将HTTPS警告简化为字面的“哭狼”,即A)都训练您的用户永远忽略它,B)除真正的恶意MITM攻击之外很难分辨(由于A不可能)。
尼克T

8

通过HTTP头传输访问令牌没有严重的问题,因为使用SSL时传输的数据已加密,这意味着只有提出请求的特定客户端和响应该请求的服务器才能理解,在这之间没有机会了解任何第三方的数据。

另一件事是access token基于时间的,因此它们具有特定时期的寿命,因此将来没有机会使用。


-1

还要考虑的一件事就是缓存。

您的后端可能会看到对具有相同GET / POST参数但具有不同标头访问令牌的相同URL的多次调用,并认为内容可以被缓存并分离到任何正文中。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.