我和我的同事正在进行一场文明的讨论,讨论的话题是密码安全。请帮助我们解决分歧。
其中之一认为:
- 加密存储密码,并使用公钥以及单向散列版本也是可以接受的,因为这可能对于将来合并或收购时与其他身份验证系统集成可能会有用。
- 只有CEO / CTO才能访问私钥,并且仅在必要时才会使用私钥。常规的登录验证仍将通过散列密码进行。
- 我/他曾在以前的公司中这样做过,并且有许多站点也这样做,并且在Fortune 500公司的安全审计中幸存下来。
- 这是常见且被接受的做法,甚至对于金融机构也是如此,因此没有必要在隐私政策中明确说明此事。
- 像Mint.com这样的网站也这么做。
另一个人持以下观点:
- 即使以加密形式存储密码,也是不必要的安全风险,最好避免首先暴露给这种风险。
- 如果私钥落入错误的手中,则使用相同密码在多个网站上的用户将面临所有登录凭据被泄露的风险。
- 这是我们对用户的信任破裂,如果实施此做法,则应明确告知用户。
- 这不是行业普遍做法,没有大公司(Google,Yahoo,Amazon等)采取这种方式。Mint.com是一个特例,因为他们需要代表您验证其他网站。此外,他们仅存储您的金融机构密码,而不是您在Mint.com本身的密码。
- 这是审计中的红旗。
有什么想法?评论?您是否曾在实施此做法的组织中工作过?