security - 针对不同客户的全公司密码方案

标签 security passwords password-protection password-storage

考虑一家公司,其交付的计算机网络是其交付的一部分。它为数百个不同的客户提供这种服务。所有电脑都需要有安全密码。这至少意味着:

  • 密码应符合基本密码规则(大写、数字、特殊字符等)
  • 不同的客户不应使用相同的密码。
  • 密码不应轻易被猜到。
  • 如果可能,网络中的不同电脑不应使用相同的密码(但这样做可能是可以接受的)。
  • 由于在交付过程中还需要维护这些系统,因此运算符(operator)需要能够轻松检索特定系统的密码,而不会造成任何安全问题(例如在电子邮件中转发密码等)。

以下是我对此类设置的疑问:

  1. 是否建议创建一个密码方案,以便运算符(operator)无需查找即可“计算”密码? [问题是,一旦该方案被泄露,所有系统都会出现安全问题。]
  2. 为了保证安全,应该如何存储/检索密码? [是否有可以通过网络界面访问安全数据库的程序?]

我找到了WebKeePass在我的调查期间(看起来很有希望)。另一option是打印密码并将其保存在地下室废弃厕所的上锁文件柜中,门上贴有“小心豹子”的牌子?但我相信这对运算符(operator)来说并不方便。我想知道还有什么其他选择......

更新:“网络”界面不必向公众开放(即只能在 VPN 内访问)。

最佳答案

由于用户无法选择密码,因此密码应随机生成。如果密码是用某种算法生成的,正如你所说,一旦破解了该算法,所有的密码都可以被破解。

如果您必须存储可检索的密码,您仍然应该对它们进行加密和加盐。请参阅 adobe 最近的问题,其中 150 million of adobe's encrypted passwords were leaked 。无盐密码的问题在于,即使我无法破解加密,我仍然可以看到与我具有相同密码的每个人。

管理员检索

对于仅限管理员检索的密码,您可以使用密码保管库系统,其中工作人员输入一个密码即可解锁对其他存储密码的访问权限。理想情况下,您应该拥有一个可以选择并在屏幕上显示单个密码的系统。它应该对密码、日志访问进行加密,并由管理员控制。

这可能是一个基于 Web 的系统,但托管在 Intranet 内部,可能通过 VPN 访问。 RDP 或类似的东西也可能是可行的,甚至可能使用双因素身份验证。

遗憾的是,我们不推荐 StackOverflow 上的产品。

最终用户检索

我们过去设计了一个系统,您可以通过 HTTPS 安全网站恢复密码。您只需输入您的用户名,系统就会将随机的一次性检索代码发送到记录的电子邮件地址。

虽然我们无法控制其电子邮件帐户的安全级别,但我们至少假设只有用户知道访问电子邮件帐户的密码。这会强制用户以某种形式重新进行身份验证,以便检索其密码。

然后,他们将检索代码输入到网络表单中,并显示他们的密码。同样,该网站受 HTTPS 保护。此外,用户在交易过程中必须保持网页打开(安全 session ),并且IP地址在交易过程中不得更改。

关于security - 针对不同客户的全公司密码方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20193904/

相关文章:

c - 编写一个像 printf 这样的函数,它可以清理第一个参数之后的所有参数,使其免受 `%` 符号的影响

Spring security Oauth2 资源所有者密码凭据授予

https - 通过 HTTPS 的纯文本密码

android - 如何在 Android 上保护数据库(加密)密码?

c# - 基于 token 的身份验证和哈希密码

Django - 如何在公共(public)页面上做CSFR?或者,更好的是,它应该如何使用时期?

security - 是否值得对数据库中的电子邮件地址进行加密?

android - 检查Android文件系统是否加密

java - 为什么我在不同的机器上使用 PBKDF2 得到不同的结果?

windows - 什么是base64明文用户名和密码?