很多人对如何编写安全的REST Web服务感到困惑,对于那些不确定使用哪种方法的人来说,本文将大有裨益。
编写REST服务的可能方式(部分安全)
你意识到直接通过HTTP传递凭据会让这些数据以明文形式被窃取;在Gawker事件之后,你意识到明文或弱哈希任何东西通常都是一个坏主意。
你意识到哈希密码并发送哈希而不是明文密码仍然会向窃听者透露至少账户用户名和密码的哈希值,这些哈希值在(令人不安的)许多情况下可以在彩虹表中查找到。
你大声喊道,因为在这种情况下(实际上又是一个用户名/密码场景),你仍然面临着与以明文形式发送用户名和密码相同的问题(被窃听的流量)。
此时,你即将放弃并承认使用OAuth,但你坚持认为必须有一种既安全又相对简单的方法来设计一个可以保护凭据私密的公共Web API。