Git:有可能伪造标签的签署日期吗



作为一名科学家,我想保留一些官方记录,记录我在Git存储库中检查东西的时间。这是为了支持后来在专利纠纷中谁首先发明了什么的说法。

此刻,我不时地向我的存储库添加一个标签,如下所示:

git tag -s -m "`date`" 2012-08-20

并将标签推送到中央服务器:

git push --tags

调出一个标签,显示我用钥匙签名的日期:

git tag -v 2012-08-20
object 2d6f6035270e8e44c035431e99be8da3fccee095
type commit
tag 2012-08-20
tagger My Full Name <name@institution> 1345466433 +0200
Mon Aug 20 14:40:33 CEST 2012
gpg: Signature made Mon Aug 20 14:40:37 2012 CEST using RSA key ID somekey
gpg: Good signature from "My Full Name <name@institution>"
gpg:                 aka "My Full Name <personal-email>"

我的问题是这些日期有多安全?以后有可能篡改它们吗?

编辑:为了进一步澄清,我希望能够证明我以后不太可能篡改标签。

Git保证的是:如果日期(或标记的其余部分,或附加到它的提交等)发生更改,则标记的SHA1将发生更改。

然而,为了使其有用,您必须以某种方式证明最初的SHA1标签是什么,并且您在声称的发明日期已经拥有了它

否则,要欺骗性地宣称你在1980年1月发明了什么,你可以将计算机的日期倒回1980年,并创建带有必要提交、标记和所有数字的存储库。这是不知道的,因为它只能相信系统时钟告诉它什么

因此,如果你想证明你在过去的某个日期之前发明/写了一些东西,git(单独)无法帮助你,任何形式的单独签名也无法帮助你。您需要的是可信的时间戳。有各种不同的方案,但都需要一个或多个第三方来保证时间戳的正确性。

您想要的是Ryan J在最近的帖子中描述的经过认证的时间戳。我如何使用RFC3161(可信)时间戳来证明我的Git存储库中提交的时间?

这似乎是一种经过认证和验证的记录相关举报的sha1的方式。

您可以使用诸如http://www.proofofexistence.com/.

最新更新