其他网站的密码可以安全存储吗?

时间:2009-10-09 21:40:04

标签: language-agnostic

我的大学有一个门户网站供学生注册课程。如果你想进入一个完整的课程,你必须继续检查门户网站,并在课程开放时注册。

我写了一个工具,可以检查开口并自动注册,但它需要学生大学的用户名和密码。这些密码与电子邮件帐户,网络共享,服务器登录以及大多数其他大学服务相关联。

有没有办法安全地做到这一点?

5 个答案:

答案 0 :(得分:3)

在安全方面,最重要的是“threat model”。你害怕什么样的攻击?

  • 有人可能会窃取运行此程序的计算机:将计算机放入上锁的房间。
  • 有人可能会侵入计算机并从内存中读取它:使用防火墙和其他防止远程攻击的保护
  • 其他用户可能会读取存储密码的硬盘:只将密码存储在内存中(每次启动程序时都需要重新输入密码)
  • 超级用户即使在内存中也可以读取密码:只在您信任超级用户的计算机上运行该程序。

答案 1 :(得分:1)

不幸的是,除非大学提供基于密钥的身份验证API,否则这实际上是不可能的 - 至少不是你想要的方式。你总是可以很好地问他们,但他们可能太忙了,无法提供帮助。如果您完全披露用户并确保服务器安全,那就足够了。

实际上,有一种方法可以通过网络进行而无需存储密码 - 您可以使用Java或Flash应用程序。不幸的是,您的用户需要在应用程序运行时让浏览器保持打开状态,但这样您就不需要存储信息。

答案 2 :(得分:0)

您可以在存储密码字符串时对其进行加密,然后在需要尝试登录时对其进行解密。只需生成对称密钥,然后使用该密钥加密和解密密码以进行存储和检索(分别)。

答案 3 :(得分:0)

您无法完全保护它们,因为您需要能够加密和解密,因此MD5,SHA-1,SHA-2等单向散列算法是不够的。您可以查看DES或Triple-DES加密等内容。

答案 4 :(得分:0)

我认为没有。正如Martin指出的那样,加密技术不会为你做到这一点。此外,这将为您创建维护噩梦 - 每次用户更改密码时,您都必须更新数据。

我认为要让它真正起作用你必须改变设计:找到一种方法在没有用户密码的情况下进行注册,即如果他们会给你一个帐户,你可以通过该密码与应用程序的所有者交谈代表其他人