假设我有一个多 GB 的文件工作(2)我的电脑上有我的 GnuPG 私钥,家计算机。我想用我的私钥对这个非常大的文件进行签名。
我相信我的家完全计算机。
我相信工作我相信计算机上目前没有恶意代码在运行,我相信没有人在篡改哈希函数,我相信计算机之间的网络连接工作和家是安全的,不会被改变。我不要想要做的是拯救我的非常有价值私钥工作计算机,甚至暂时也不行。
我也不想花 4 个小时通过互联网传输这个非常大的文件工作到家。 是什么最小数据量我需要在工作和家计算机以便使用我的私钥对文件进行签名?
我想弄清楚的是,如果 PGP 所做的只是对文件的哈希进行签名,那么我是否可以对文件进行哈希处理?工作计算机,然后将哈希(以及任何其他所需的元数据)发送到家计算机上进行签名,透明吗,就好像我手里真的有文件一样?
SSH 具有代理转发功能。GnuPG 中是否已有类似的功能,或者如果我想创建类似的东西,是否需要修改源代码?
答案1
您实际上需要的是文件的正确哈希值,但我不知道如何让 GnuPG 或任何其他实现从哈希值而不是文件创建签名(无需修改源代码)。
但我可以提出一个合理的替代方案:使用 OpenPGP 智能卡,例如FSFE 作为会员卡也可以购买,或者YubiKey Neo支持 OpenPGP(模拟 OpenPGP 智能卡)。将这种卡连接到您的工作计算机后,您将能够使用存储在卡上的私钥执行加密操作,而无需此私钥离开该设备。该卡包含自己的加密处理器,将接收文件的哈希值并将签名返回给计算机。