JWT和保护https REST api

时间:2015-04-10 10:30:42

标签: security rest jwt

我正在设计一项服务,其中服务器A将通过https将一些JSON数据发送到服务器B.

我正在考虑使用JWT进行身份验证,并传递一些声明:issaudiatexpjti。当服务器B收到来自服务器A的消息时,这些将由服务器B验证。

{
  "iss": "api.server-a.com",
  "aud": "api.server-b.com",
  "iat": 1356999524,
  "exp": 1407019793,
  "jti": "id123456"
}

问题1:服务器B是否还应该返回带有回复的JWT令牌,以便我可以验证回复?或者这是不必要的,因为它是https?

问题2:与仅通过https使用简单API令牌的HTTP Basic身份验证相比,这对安全性有任何实际好处吗?除了检查iatexpjti声明之外,https不会防范重播攻击吗?

1 个答案:

答案 0 :(得分:1)

A1:服务器B将返回客户端要求的数据,并且在JWT正确验证时有权获得。如果某些操作无效,将返回错误。 SSL服务器证书验证可确保响应中数据的完整性和真实性。对JWT响应没有固有要求,尽管您的服务器可以选择返回包含JWT的响应(如果需要)。

A2: JWT的安全优势不仅仅在于防止重放攻击(SSL层可能已经或可能不会被处理,具体取决于所使用的密码),而且在客户身份识别领域以及以明确,标准化和可验证的方式在范围(例如权限)和时间(例如到期)方面添加限制的能力。