![]() |
1
2
你真的 必须 使用HTTPS。到目前为止,ssl是您可以实现的最简单的安全系统,每年只需30美元。不要重新发明轮子!你的时间到底值多少钱?你不能只调用“加密函数”。要正确实现该协议,您必须考虑分组密码模式、初始化向量、String2Key(S2K)函数,最后还要考虑验证服务器和/或客户端的方法(非对称cyrpto/pki…)。简而言之,绝大多数程序员完全不知道创建一个真正安全的协议需要做什么。 更进一步 绝对不可能 创建不带ssl的安全会话和身份验证。这是来自OWASP前10名 A3:Broken Authentication and Session Management .
你在这里描述的是 Hash Message Authentication Code 或者是HMAC。如果您只是以明文形式将用户名和密码发送到行上,那么这样做毫无意义。hmac的关键在于您使用的是一个秘密,除非您使用ssl,否则密码不是秘密。 如果你通过网络发送密码散列来进行身份验证,那么你真的搞砸了。散列密码的整个目的是在攻击者使用SQL注入从数据库中获取另一个用户密码散列之后减缓其速度,如果您使用消息摘要进行身份验证,则攻击者无需破坏散列。就好像你在用明文存储密码一样。 |
![]() |
user755806 · 从Rest服务返回JSON响应? 7 年前 |