确保休息服务

时间:2012-03-08 10:26:27

标签: security rest ssl sha digest

我正在设计一个需要妥善保护以防止未经授权访问的REST服务。我正在考虑要求通过散列所有请求参数以及使用sha-256的密钥生成的安全摘要,并使该服务仅通过https提供。谁能告诉我这是否足够安全?

1 个答案:

答案 0 :(得分:0)

首先,确保使用en HMAC,而不是普通的SHA-256来生成“安全摘要”。

接下来,您要对此摘要的输入内容进行哪些操作?您将希望至少拥有方法,URI,有效负载以及可能的大多数请求标头(有许多标头会影响在REST上下文中重要的HTTP请求的含义)。这可能很困难,具体取决于您使用的HTTP客户端,因为客户端可能以您不直接控制的方式设置或更改标头。

最后,你要把这个摘要放在哪里?自定义标头(例如X-Request-Authenticator)似乎合情合理,如果客户端在网络浏览器中运行,则可能是Cookie。

如果可以,我建议使用现有工具,而不是自己创建。使用SSL已经为您提供了消息完整性保护,因此请从此开始。然后,如果您只需要简单的访问控制,HTTP基本身份验证将与REST请求一起正常工作。或者您可以让客户出示证书并进行验证。