在我公司的一组是实现单点登录REST API为我们的应用程序。 该认证服务有一个密码重置功能。 应用程序发送的用户名复位功能。 如果该用户名与电子邮件地址相关联,则电子邮件发送到该地址,临时密码。
另一种方法似乎是网站的电子邮件呈现为用户输入新密码的网页安全的,暂时的链接。 此页面仅存在很短的时间周期。
我知道,电子邮件是不是安全协议,这样人们就可以嗅出交通,恢复任一个临时密码或临时链接。
是否有任何显著安全原因,更喜欢一个方法比其他? 是否有另一种,这样做更安全的方式?
在我公司的一组是实现单点登录REST API为我们的应用程序。 该认证服务有一个密码重置功能。 应用程序发送的用户名复位功能。 如果该用户名与电子邮件地址相关联,则电子邮件发送到该地址,临时密码。
另一种方法似乎是网站的电子邮件呈现为用户输入新密码的网页安全的,暂时的链接。 此页面仅存在很短的时间周期。
我知道,电子邮件是不是安全协议,这样人们就可以嗅出交通,恢复任一个临时密码或临时链接。
是否有任何显著安全原因,更喜欢一个方法比其他? 是否有另一种,这样做更安全的方式?
在这两种情况下,专用信息(临时密码或重置链路)是在相同的介质上传送。 从这个角度来看,有一个在安全没有区别。 然而,重置链接的几个优点:您强制用户选择新的密码。 当他这样做,链接是无效的,不能被滥用。 临时密码,相反,往往不能像你一样暂时的。 即使你强迫用户选择在下次登录一个新的密码,他很可能会再次进入暂时的。
此外,您还可以登录谁使用重置链接的一个的IP,所以至少有东西,如果有必要移交给当局。
是否有任何显著安全原因,更喜欢一个方法比其他?
是。 如果你去的临时密码路线那么任何人都可以通过不断地击中重置链接,并把该用户的电子邮件地址惹恼屁滚尿流的用户。 如果您使用的密码重置链接,用户可以不理会他们,并删除邮件。
有没有真正为广大市民更好的办法。 如果它是一个内部应用程序,你可以想见,发送加密的电子邮件,用户必须使用PGP解码,但从来没有飞外部用户,除非你有一个非常高的价值,利基产品。
如果电子邮件是的,你必须使用类似的安全问题,但他们有自己的(更显著,在我看来)的问题。 这些问题包括:
有鱼米之乡更安全的方式来重置密码。 他们都是非常不方便用户和维护费用昂贵。 有每个用户给你一个DNA样本和指纹,然后要求他们亲自现身,以验证应与您的安全提供帮助。 我很惊讶你的绝密组织让你的计算器获得安全建议。 所有开玩笑不谈,如何安全的应用程序是否需要呢? 攻击者会不会真的成为重置用户密码,然后访问他们的电子邮件?
XKCD总是最好说它http://xkcd.com/538/