没有SSL的API身份验证

时间:2014-09-02 16:59:48

标签: security rest authentication oauth

我正在编写一个没有SSL支持的托管API,我需要一种方法来验证请求。每个客户端都有不同的ID,但如果请求被授权,那么拥有数据包嗅探器的任何人都可以伪造请求。是否可以在不依赖SSL的情况下建立安全的系统?

(我已经将OAuth包含在内的一些想法可以实现吗?)

非常感谢

1 个答案:

答案 0 :(得分:2)

让每个客户端使用客户端特定密钥对其请求进行加密签名。验证服务器上的签名。

使用密码学非常简单。主要挑战是建立客户'键。如果不使用SSL,就很难安全地做到这一点。关于您如何设置客户端ID的问题中没有任何信息,因此我也不知道它是否足够安全以便在此时设置密钥。

如果您在没有SSL的情况下提供客户端代码,那么它也会成为一个问题。 但是,嘿,它只是一个你正在构建的API。也许与它交互的代码通过HTTPS提供。或者代码可能存储在客户端本地。

我觉得很多人会抱怨这个答案。