例如,我正在使用 AngularJS 编写一个 Web 应用程序,它为用户存储机密信息,例如他们的信用卡号。
我在想我应该使用哪些安全协议。我在安全方面没有经验,所以我发现自己在这类问题上无能为力。我整理了一些要求:
- 客户端永远不会受到保护,因此服务器需要对用户身份进行自己的验证。
- 服务器不能将密码作为纯文本存储在数据库中,而是一个不可逆转的修改字符串。
- 通过互联网发送密码是不安全的,因此服务器无法要求原始密码。
到目前为止,我很困惑,因为要求似乎自相矛盾。我必须对用户密码进行不可逆的转换,而我的服务器无法要求原始密码,这意味着只能在客户端进行转换。另一方面,您永远不能信任客户端,因为它对用户开放并且容易被黑客入侵。
是否有任何现有的安全协议/框架可以解决我提到的问题?