2011-06-22 29 views
1

我真的不认为有这样的方法可以安全地完成,但也许有更多的方法来处理任务。安全地在Web上列出登录信息?

我正在项目管理网站上工作。其中一些项目将是网站,因此客户希望能够显示ftp,数据库和主机信息。这需要我在网上显示未加密的用户名和密码。我明显看到了这个巨大的风险,因为如果网站被破解,它的信息也可能会破坏其他网站。

我认为可以采取的一种方法是对密码进行加密,然后创建一个应用程序,它们将保留在本地机器上以解密该密码。这实际上是我能想到的唯一“安全”方式。

+0

如果他们都可以安装本地应用程序,那么只需使用其中一个密码应用程序并让它们存储密码即可。 – Skilldrick

+0

我不明白你为什么需要显示那种信息。客户将使用什么?你可以发出更低权限的用户名/密码或者一次性用户名/密码吗?我想我不太清楚你为什么这样做。 – CtrlDot

+0

这是一个项目管理工具。所以目的是建立一个系统,跟踪所有正在进行的项目以及与之相关的所有信息。 – Cvongrim

回答

0

你肯定会需要某种形式的加密(SSL是一个很好的建议),以确保密码安全,但你可以做这样的事情在网络上“看”他们的条款:

让用户输入一个“网站密码”。您也可以使用验证码来防止机器人获取您的密码。这将允许他们在短时间内查看自己的密码,比如10秒钟。他们的密码将显示在一个输入框或某种盒子中,该盒子是只读的。他们不应该能够复制/粘贴密码。

在屏幕上显示用户名和密码信息绝对是一种安全风险,但这完全取决于您的信息安全性如何。

另一种解决方案是,如果他们需要查看密码,他们需要在下次登录时更改密码。这将允许他们查看当前的密码,但会否认拥有该密码的安全风险因为他们几乎会立即重置它。

所有这一切取决于信息当然有多敏感。

+0

那么问题是他们在查看密码后无法更改密码。 login/pw很可能是由其他人设置的,我们无法访问来更改它。 – Cvongrim

0

也许你可以使用JavaScript库来加密/解密客户端的数据,要求用户输入密码以便在查看数据时在本地解密数据,并在提交表单之前对其进行加密。通过这种方式,只有加密的数据将通过网络传输,而没有密码,您只能访问加密的数据。

0

最简单和最安全的方法是使用SSL。

如果你不能走这条路线,那么你需要在运输过程中提供自己的加密方式。这是困难的。你需要像Diffie-Hellman密钥交换(http://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange),大量的素数供客户端选择,然后javascript来使用交换的密钥对信息进行加密和解密。您可以通过预先缓存javascript,从第三方下载它,并且(最好)执行校验和以确保您的JS未被修改来改善此问题。

但是,由于加密代码和素数通过互联网以纯文本格式发送,所以可以在路由上修改它们,从而允许攻击者操纵POST发送的位置以及信息如何加密。

总之,如果您不使用SSL,您无法保证信息安全传输。

你可能要做的一件事是进入PGP。如果用户上传他们的公共密钥,您将能够安全地将消息返回给他们。这是因为PGP软件独立于浏览器/互联网。

+0

任何人都不应该考虑不使用SSL来传输敏感信息的想法。 –

+0

@ lunched-dan,显然通过不安全的媒体安全地传输信息需要某种加密。 SSL是一个很好的打包解决方案,但我们都知道世界上还有很多其他的加密方案。通过HTTP使用这些是完全合理的,安全的,尽管不方便。 – Richard

0
  • 从SSL开始为安全传输开始。
  • 在存储信息之前加密信息。
  • 阅读一些关于黑客如何进入这些网站的文章,在学习困难的课程之前插入漏洞。
  • 从不显示密码,您不需要。使用登录链接,您可以在其中包含令牌和检查,以确保用户点击它具有适当的权限级别。

例如:员工被解雇。他心烦意乱地在屏幕上显示所有的密码。对您的公司或前客户来说不是一个好的情况。

使用我的方法,用户可以捕获屏幕,复制链接,这将不起作用,因为他的代币将被吊销,链接将无法工作。您的客户网站更安全。