3

我的朋友想在他的公司电子邮件中引入 PGP 加密,以便与客户交换邮件。他让我写一个简单的应用程序来支持它。我发现有用的 dll 包装器 - 所以编写应用程序似乎不是什么大不了的事。

令我困惑的是安全方面。(我不想把他推到矿上)
我知道 PGP 使用私钥/公钥组合。它还使用密码来加密私钥。
这很清楚

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

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

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

4

1 回答 1

3

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

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

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

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

于 2010-02-24T15:57:43.627 回答