我真的不认为有这样的方法可以安全地完成,但也许有更多的方法来处理任务。安全地在Web上列出登录信息?
我正在项目管理网站上工作。其中一些项目将是网站,因此客户希望能够显示ftp,数据库和主机信息。这需要我在网上显示未加密的用户名和密码。我明显看到了这个巨大的风险,因为如果网站被破解,它的信息也可能会破坏其他网站。
我认为可以采取的一种方法是对密码进行加密,然后创建一个应用程序,它们将保留在本地机器上以解密该密码。这实际上是我能想到的唯一“安全”方式。
我真的不认为有这样的方法可以安全地完成,但也许有更多的方法来处理任务。安全地在Web上列出登录信息?
我正在项目管理网站上工作。其中一些项目将是网站,因此客户希望能够显示ftp,数据库和主机信息。这需要我在网上显示未加密的用户名和密码。我明显看到了这个巨大的风险,因为如果网站被破解,它的信息也可能会破坏其他网站。
我认为可以采取的一种方法是对密码进行加密,然后创建一个应用程序,它们将保留在本地机器上以解密该密码。这实际上是我能想到的唯一“安全”方式。
你肯定会需要某种形式的加密(SSL是一个很好的建议),以确保密码安全,但你可以做这样的事情在网络上“看”他们的条款:
让用户输入一个“网站密码”。您也可以使用验证码来防止机器人获取您的密码。这将允许他们在短时间内查看自己的密码,比如10秒钟。他们的密码将显示在一个输入框或某种盒子中,该盒子是只读的。他们不应该能够复制/粘贴密码。
在屏幕上显示用户名和密码信息绝对是一种安全风险,但这完全取决于您的信息安全性如何。
另一种解决方案是,如果他们需要查看密码,他们需要在下次登录时更改密码。这将允许他们查看当前的密码,但会否认拥有该密码的安全风险因为他们几乎会立即重置它。
所有这一切取决于信息当然有多敏感。
那么问题是他们在查看密码后无法更改密码。 login/pw很可能是由其他人设置的,我们无法访问来更改它。 – Cvongrim
也许你可以使用JavaScript库来加密/解密客户端的数据,要求用户输入密码以便在查看数据时在本地解密数据,并在提交表单之前对其进行加密。通过这种方式,只有加密的数据将通过网络传输,而没有密码,您只能访问加密的数据。
最简单和最安全的方法是使用SSL。
如果你不能走这条路线,那么你需要在运输过程中提供自己的加密方式。这是困难的。你需要像Diffie-Hellman密钥交换(http://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange),大量的素数供客户端选择,然后javascript来使用交换的密钥对信息进行加密和解密。您可以通过预先缓存javascript,从第三方下载它,并且(最好)执行校验和以确保您的JS未被修改来改善此问题。
但是,由于加密代码和素数通过互联网以纯文本格式发送,所以可以在路由上修改它们,从而允许攻击者操纵POST发送的位置以及信息如何加密。
总之,如果您不使用SSL,您无法保证信息安全传输。
你可能要做的一件事是进入PGP。如果用户上传他们的公共密钥,您将能够安全地将消息返回给他们。这是因为PGP软件独立于浏览器/互联网。
任何人都不应该考虑不使用SSL来传输敏感信息的想法。 –
@ lunched-dan,显然通过不安全的媒体安全地传输信息需要某种加密。 SSL是一个很好的打包解决方案,但我们都知道世界上还有很多其他的加密方案。通过HTTP使用这些是完全合理的,安全的,尽管不方便。 – Richard
例如:员工被解雇。他心烦意乱地在屏幕上显示所有的密码。对您的公司或前客户来说不是一个好的情况。
使用我的方法,用户可以捕获屏幕,复制链接,这将不起作用,因为他的代币将被吊销,链接将无法工作。您的客户网站更安全。
如果他们都可以安装本地应用程序,那么只需使用其中一个密码应用程序并让它们存储密码即可。 – Skilldrick
我不明白你为什么需要显示那种信息。客户将使用什么?你可以发出更低权限的用户名/密码或者一次性用户名/密码吗?我想我不太清楚你为什么这样做。 – CtrlDot
这是一个项目管理工具。所以目的是建立一个系统,跟踪所有正在进行的项目以及与之相关的所有信息。 – Cvongrim