在前文《GPG/PGP折腾日记,证明我是我》中,我们提到了用GPG/OPENPGP的签名和加密方法。

但是一个问题,如果在重点文件、公钥发布等签字方面,证明时间节点的有效性呢,虽然GPG签名中有时间,但是这个时间是取用自系统时间,可以作假。我们假定两个场景,你想声明一个著作权,或者声明一个公钥的签名时间,如何有效证明,你是最“早”发布的呢。凑巧,偶然想到,我们可以用GPG/OPENPGP结合Opentimestamps时间戳来更好的完善这一个自我证明。

PGP 签名提供了身份认证和文件完整性的证明,但其时间戳依赖于签名者的系统时钟,可能被质疑。OpenTimestamps 提供了独立的、不可篡改的时间证明,可以增强整体证据的可信度和法律效力。结合使用 PGP 签名和 OpenTimestamps,可以为文件的存在性、完整性和时间提供更强的法律证明。

我们用对公钥文件签署时间戳为例,我们已经在之前得到了一个asc的公钥文件,和一个sig的对公钥的签名文件,现在我们对其进行加盖时间戳。

1.首先,你需要安装opentimestamps,具体见https://github.com/opentimestamps/opentimestamps-client/blob/master/README.md

2.我选择的是Python的方式,安装后,我们切换到公钥和签名文件文件夹,执行:

ots stamp *.asc.sig

ots stamp *.asc

此时,在该文件夹就会生成两个ots文件,这就是对应两个文件的时间戳证明,还可以看到提交的情况。

3. 查看hash值和验证情况

对文件的时间戳记录,是通过hash值进行的,我们通过一下命令查看hash值

shasum -a 256  *.asc.sig

还可以通过ots verify 命令查看证明情况,才完成上传的,还需要等待区块链的确认,所以你看到的可能是

也可以在https://opentimestamps.org上传ots文件和原文件(如果为了安全,请不要用网站的方式查询)查询

通过对原文件和签名文件分别进行哈希和时间戳,确保你可以证明原文件和签名文件的存在和完整性。

4.发布你的签名和时间戳,现在公布到你需要的地方。

总结:这只是一个探讨和玩法,实际上可能不需要如此麻烦。但是确实是一个有效的证明手段,这种方式证明的你是你,还证明了你是最“早”的发布者,即便后期出现名义仿冒者或文件的盗用者,你也可以有效证明你的权利。

Comments (4)

Leave a comment

您的电子邮箱地址不会被公开。 必填项已用*标注

zh_CNZH_CN