PEM中的RSA密钥为508到1024比特,这对于所有人的安全性需求都已足够长。对密钥管理协议有一种更可能的攻击方法, Mallet可能偷走你的密钥绝不应将密钥写下来或者试图哄骗你接受一个伪造的公钥如果人人都遵循适当的步骤,PEM提供了密钥证明会使这种情况不可能发生,但人们往往是比较草率的。
更为阴险的攻击方法是攻击者修改在你的系统上运行的PEM,修改后的PEM偷偷地将所有的邮件送给攻击者,并用他的公钥加密,它甚至可把你私钥的副本送给他。如果修改后的PEM运行正常,你水远不会知道PEM在执行什么内容。
尚无有效的方法能够阻止这类攻击,你可以使用单向哈希函数并在PEM代码上打“指纹”每次运行PEM时都检验指纹。但是攻击者可在修改PEM代码的同时修改指纹代码,虽然你可在指纹代码上再打上指纹,但是攻击者也可同样修改。如果能够访问你的机器,攻击者就可暗中破坏PEM的安全性。
教训是如果你不信赖软件运行所在的硬件,千万不要太信赖某一软件。