代码之家  ›  专栏  ›  技术社区  ›  hoju

存储原始密码文本

  •  3
  • hoju  · 技术社区  · 16 年前

    我应该如何存储这些密码?

    编辑: 我担心是否有人能访问我的服务器。如果我使用某种双向加密,而且他们有服务器访问权限,那么他们就可以在我的后端代码中检查密码是如何解密的。

    5 回复  |  直到 16 年前
        1
  •  3
  •   Erik B    16 年前

    在我看来,你似乎想以类似于Firefox和Chrome的方式存储密码。那为什么不看看他们是怎么做到的呢?

    Chrome就是这样做的: http://www.switchonthecode.com/tutorials/how-google-chrome-stores-passwords

        2
  •  3
  •   Carsten Gehling    16 年前

    如果必须这样做,应该使用双向加密。有很多算法(密码),但基本上你用一个加密密钥加密你的数据,然后用同样的密钥再次解密它们。

    选择正确的密码取决于所选编程语言支持哪种密码,但示例如下:

    • 河豚
    • 3度
    • 跳蚤

    /卡斯滕

        3
  •  3
  •   Slartibartfast    16 年前

    决定你要保护他们不受什么伤害。选项包括(但不限于):意外泄露、您泄露、传输中泄露、代码错误泄露、硬件物理盗窃泄露等。

    如果这是一个web应用程序,并且每个用户都在存储自己的一组密码,那么您可以使用他们在应用程序中的登录密码来加密这些密码。如果这是一个每个用户单独安装的应用程序,并且它保留自己的本地数据库,那么您可以有一个可选的主密码(就像Firefox一样)。

    如果您只是为了确保硬件被盗时数据的安全,那么您可能会使用一个完整的磁盘加密解决方案,如TrueCrypt或PGP WDE,或Ubuntu、Debian或Fedora的内置方法,并且每次启动时都需要一个PIN或密码。

        4
  •  3
  •   grandnasty    16 年前

    防止硬件被盗:

    如前几篇文章所讨论的,使用磁盘加密。

    我将使用两个不同的服务器为这个项目,一个工人服务器和一个前端服务器。

    A) 工作服务器

    • 它还连接到其他服务。
    • 要连接到工作服务器,用户 具有on功能,insertUserData, 允许插入用户数据,
    • API使用 只有输入的数据库用户
    • 这是唯一的联系方式 这台服务器。
    • 仅允许SSL 连接。
    • 此服务器运行另一个连接到前端服务器并将新数据推送到前端服务器的chron作业。
    • 运行的最小服务量
    • 没有FTP等。

    B) 前端服务器

    从工作服务器接收数据,从不使用密码本身。联系工作服务器的唯一方法是通过上面提到的API,仅用于新用户信息。这是所有用户登录以查看其信息等的地方。

        5
  •  1
  •   Mike Baranczak    16 年前

    打破这个系统的可能方法:

    1. 获取根访问权限。
    2. 在web服务器上部署恶意应用程序—然后该应用程序将可以访问密钥,并可能将其发送到其他地方。

    只要你对所有这些采取合理的预防措施,你应该没事。


    编辑: