git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Anton Wuerfel" <anton.wuerfel@fau.de>
To: "Junio C Hamano" <gitster@pobox.com>
Cc: "Anton Wuerfel" <anton.wuerfel@fau.de>,
	git@vger.kernel.org, i4passt@cs.fau.de, phillip.raffeck@fau.de
Subject: Re: Adding RFC 3161 timestamps to git tags
Date: Tue, 8 Mar 2016 11:20:44 +0100	[thread overview]
Message-ID: <10a16fd003f1cc963cf64b42a2964fdf.squirrel@faumail.uni-erlangen.de> (raw)
In-Reply-To: <xmqq4mcioxbz.fsf@gitster.mtv.corp.google.com>

Hello Junio,

thanks for your reply. See my comments below.

"Junio C Hamano" <gitster@pobox.com> writes:

> A few random thoughts that come to mind, none of which is
> rhetorical [*1*]:
>
>  - What should happen when the timestamping service is unreachable?
>    The user cannot get her work done at all?  A tag is created
>    without timestamp and with a warning?  Something else?

If the timestamping service is unreachable, we plan to output a warning
and abort the tag creation as a default behavior. However we could create
config option to allow the user to create a tag without a signature if the
TSA (timestamp authority) is not available.


>  - Is "signed tag" the only thing that will benefit from such a
>    certified timestamping mechanism?  Would it be worthwhile to
>    offer a similar support for "signed commit"?

This is a good point. We will consider implementing this in signed
commits, too. Like in gpg-signed commits, rebases and changes of these
commits will not be possible any more without invalidating the timestamp
signature. However, the intention behind all this is to be able to verify
important steps in development and continue to be able to work and commit
without internet connection. Therefore our main focus is on tags with
timestamp signatures.


>  - How would the certified timestamp interact with GPG signing of
>    the tag?  Can they both be applied to the same tag, and if so
>    what is signed by which mechanism and in what order or are they
>    done independently and in parallel?  E.g. would the timestamp be
>    done on the contents without GPG signature, and the GPG signature
>    be done on the contents without timestamp, and both signature
>    blocks concatenated at the end of the original contents?

Both GPG and timestamp signing can be assigned to the same tag. A GPG
signature includes the timestamp signature for one important reason: It
should not be possible to replace an existing timestamp signature by
another (later) timestamp signature. Including the timestamp signature
into the GPG signature prevents this.
Creating a timestamp signature without any GPG signature at all is
therefore possible but would be vulnerable to the described scenario.


>  - Would it make sense to store the certified timestamp in the
>    object header part, like the way GPG signature for signed commit
>    objects are stored [*2*], instead of following the old-style
>    "signed tag" that concatenates a separate signature at the end?

For timestamped commits we will, of course, use the new-style format. We
would also new-style format for git tags, leaving the GPG signature as is
and creating a timesig-header. However, mixing old-style and new-style
format in tag objects would introduce an inconsistency. Is this
problematic?

Regards,
Phillip Raffeck
Anton Wuerfel

  reply	other threads:[~2016-03-08 10:21 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-07 14:15 Adding RFC 3161 timestamps to git tags Anton Wuerfel
2016-03-07 20:19 ` Junio C Hamano
2016-03-08 10:20   ` Anton Wuerfel [this message]
2016-03-08 13:28 ` Michael J Gruber
2016-03-08 17:59   ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=10a16fd003f1cc963cf64b42a2964fdf.squirrel@faumail.uni-erlangen.de \
    --to=anton.wuerfel@fau.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=i4passt@cs.fau.de \
    --cc=phillip.raffeck@fau.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).