我的朋友希望在他的公司中通过电子邮件发送PGP加密信息,以便与客户交换邮件。他让我写一个简单的应用程序支持。 我找到了有用的dll包装器 - 所以编写应用程序似乎不是什么大不了的事。
令我困惑的是安全方面。 (我不想把他推到我的身上)
我知道PGP使用private/public keys combination.它还使用密码来加密私钥
这很清楚
但是如果一个同事在离开公司之前改变密码呢?
这是否意味着公司无法打开与客户沟通的档案邮件?
(听起来像勒索,复仇等的最佳方式...... )
假设:所有用户的密钥(pub + prv)都存储在用户(网络)主驱动器上并备份。
第一个生成密钥的密码存储在保险箱中的信封中。
所以密钥可以恢复 - 但是(我猜)当你不知道用于私钥加密的当前密码时,密钥可能没用了?
(如果我错了,请纠正我!)
我想知道你如何归档它!你有什么经历?
答案 0 :(得分:3)
加密的私钥是blob。 PGP通常将它存储在一个“密钥环”中,这是一个自己的数据结构,但没有什么能阻止你在其他地方拥有该blob的副本(例如存储在保险箱中的CDROM)。这通常被称为“密钥托管”:密钥的备份副本,如果密钥持有者变得不可用(包括“他被解雇了”,但“他被公共汽车撞了”)。
用户更改其密码短语会使用新的密码重新加密他的私钥(相同的私钥),但托管的副本将不受影响,因为这是相同的私钥,情况可以从。恢复。
然而,您需要的是一项公司政策,该政策通过托管系统强制执行密钥对生成。基本托管系统由具有PC的系统管理员组成:系统管理员创建密钥对,将副本存储在公司保险箱中,并将密钥对交给用户(例如,在USB记忆棒上)。然后用户使用他认为合适的密码将其导入自己的密钥环中。重要的是,任何员工都不得使用未以这种方式生成的密钥。
对于数字签名,情况不同:如果私钥变得不可用,则不会丢失数据,并且先前发布的签名仍然有效且仍可以进行验证。通常情况下,数字签名密钥不受托管。