我收到不幸的要求建立一个网页,显示一个新的密码认证的用户。我们不成功地抗议这一要求作为通常糟糕的主意,但我认为,陪审团仍然这样也许有反对显示一个新的密码,我还没有尝试过。你有什么建议吗?

第二,它会更好,密码显示的用户作为一个图像,而不是作为文本。我关心的案文"被刮"我我假定将是更加困难的图像。我怎么确保图像不会缓存的用户浏览器?

在此先感谢,

有帮助吗?

解决方案

我不确定你是什么建设和什么是需求,但作为一般规则的拇指,我不认为这是一个严重的安全关切。让我们看看的攻击向量:

  1. 中间人的攻击在HTTP文本流量的图像,特别是一个模糊对OCR(验证样式)将防止这种攻击,但也简单地使用HTTPS为porneL提及。
  2. 屏幕上刮了一个遥远的桌面应用程序HTTPS保护将不会有帮助,也没有一个像样的混乱的屏幕上已经读过一个人无论如何(一个人的攻击者也可以绕过你的模糊的图像保护,防止"中间人"通过指导侦听到存档的图像,然后走过去手动).如果一个人是幕后刮板,那么你有没有保护。
  3. 你的肩膀被窃听-如果攻击者是简单地站在后面的用户,然后再次-你有没有保护。

请注意,如果您的密码是自动生成,那么你必须证明它的用户,也没有办法。一个办法网站,试图减轻的威胁,是发送密码通过电子邮件根据的假设是,用户可以确保他们宣读的电子邮件的时候没有人看,在他们自己的时间。不幸的是电子邮件甚至不会让你有的利益加以保护的传递。

在我看来,最好的方式是要让用户输入密码,(在一个密码模糊处理的领域,像通常所做的),然后仅存的散列的密码所以你不需要储存的实际密码,阻止你展示它的用户。如果你必须表现出它的用户(可能因为你正在产生它的),然后确保你在HTTPS和只是表明它的所有大张旗鼓只是复杂的执行没有给予任何安全利益。

其他提示

图像将不是安全的多。

如果您使用HTTPS,则密码将是安全的两种方式。如果您使用HTTP,那么密码将被以明文的形式(我假设你正在显示它的某种确认),以及它如何显示秒后都不会有问题。发送

重要的是要确保,显示密码是非cache'able该网页。

Cache-control: no-cache, no-store, must-revalidate

你有没有尝试下?

  • 你不能显示的密码是因为你不保存它。

我不知道如果这是真的这样一个糟糕的想法。你必须把新的密码为用户在任何一种方式。送未加密的电子邮件具有相同的问题-beeing捕获或beeing缓存在使用网邮件。

我建议使用的图像,可以一些验证。但这种保护只有一点点更加靠自动攻击,不是针对人类的攻击。

只有这样,才能得到的东西的安全是使用enryption,这表明HTTPS。然后利用你的网站,以显示可能变得甚至更多的安全不依赖电子邮件或解决方案那样。

乐亭的用户进入一个新的密码具有相同的问题-现在你必须把它送回到服务器。

我简单地建议使用HTTPS来加密的流量和存储临时口令的唯一哈希值,使得实际的密码不在数据库中存储的。当然,你不能阻止物理“黑客”(如人看着身后的肩)窃取一个临时密码,但是,如果可能的话,你可以要求用户更改其密码,他们使用临时密码登录的瞬间,使得具有临时密码风险被减轻。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top