代码之家  ›  专栏  ›  技术社区  ›  Maciej

公司中的PGP密码[关闭]

  •  3
  • Maciej  · 技术社区  · 16 年前

    我的朋友想在他的公司电子邮件中介绍与客户交换邮件的PGP加密。他让我写一个简单的应用程序来支持这一点。 我找到了有用的DLL包装器——所以编写应用程序似乎没什么大不了的。

    令我困惑的是安全方面。(我不想把他推到地雷上)
    我知道PGP的用途 private/public keys combination. 它还使用密码短语加密私钥。
    这是清楚的

    但如果一个同事在离开公司前更改了密码怎么办?
    这是否意味着公司将无法打开与客户通信的存档邮件?
    (听起来像是敲诈、报复等的最佳方式…… )

    假设:所有用户的密钥(pub+prv)都存储在用户(网络)主驱动器上并备份。
    第一个生成的密钥的密码存储在保险箱的信封中。 所以密钥可以恢复-但(我猜)当你不知道当前用于私钥加密的密码时,密钥可能是无用的?
    (如果我错了,请纠正我!)

    我想知道你是怎么归档的!你有什么经验?

    1 回复  |  直到 16 年前
        1
  •  3
  •   Thomas Pornin    16 年前

    加密的私钥是一个blob。PGP通常将它存储在一个“keyring”中,这是它自己的数据结构,但是没有什么能阻止您将该blob的副本存储在其他地方(例如存储在保险箱中的cdrom上)。这通常被称为“密钥托管”:密钥的备份副本,在密钥持有人不可用时使用(包括“他被解雇”,但也包括“他被总线击中”)。

    用户更改其密码将重新加密其私钥 相同的 private key)使用他的新密码,但托管副本不会受到影响,而且由于这是同一个private key,因此情况可以从中恢复。

    但是,您需要的是一个公司策略,它通过托管系统强制生成密钥对。一个基本的托管系统由一个带PC的系统管理员组成:系统管理员创建密钥对,在公司保险箱中存储一份副本,并将密钥对交给用户(例如,在U盘上)。然后,用户将其导入自己的钥匙圈中,使用他认为合适的任何密码短语。重要的是,任何员工都不得使用未以这种方式生成的密钥。

    对于数字签名,情况不同:如果私钥不可用,则不会丢失任何数据,并且以前颁发的签名仍然有效,并且仍然可以进行验证。通常情况下,数字签名密钥不会被托管。

    推荐文章