Page MenuHome GnuPG

signatures to OpenPGP keys no longer expire by default if the signed key expires
Closed, WontfixPublic

Description

In the past signing other OpenPGP keys that expire at a certain date caused
the following prompt:

This key is due to expire on 2012-12-10.
Do you want your signature to expire at the same time? (Y/n)

In http://www.mail-archive.com/gnupg-users@gnupg.org/msg01109.html
Peter Palfrader reported that using --no-ask-cert-expire does not
disable this question, in
http://www.mail-archive.com/gnupg-users@gnupg.org/msg01128.html
David Shaw answered that he corrected this for for 1.4.2.

Corresponding changelog entry:

2005-07-22 David Shaw <dshaw@jabberwocky.com>

  • keyedit.c (sign_uids): Don't prompt for setting signature expiry to match key expiry unless --ask-cert-expire is set. Suggested by Peter Palfrader.

Change is in SVN r3829:
http://cvs.gnupg.org/cgi-bin/viewcvs.cgi?view=rev&revision=3829

The changed behaviour has benefits, because people can extend the expiry
time of their keys without having to ask previous signers to repeat
their signature, but this represents a problem if e.g. people sign the
key of a temporary employee (e.g. internship for 3 months). The key may
have a very short lifetime and therefore the key never gets explicitly
revoked. Now the intern leaves the company, extends the expiry time of
the key he took with him and still has valid signatures of his former
bosses and co-workers on the company email address.

Requiring "ask-cert-expire" is different from what making
"no-ask-cert-expire" work and I did not find any other discussion about
this topic, so I assume that the change was done without discussing this
problem.

Additionally maybe "no-ask-cert-expire" should only refer to the prompt:

Please specify how long the signature should be valid.
0 = signature does not expire
<n> = signature expires in n days
<n>w = signature expires in n weeks
<n>m = signature expires in n months
<n>y = signature expires in n years
Signature is valid for? (0)

and not to:

This key is due to expire on yyyy-mm-dd.
Do you want your signature to expire at the same time? (Y/n)

gpg2 is affected, too, tested with 2.0.14.

Event Timeline

thomas set External Link to http://www.mail-archive.com/gnupg-users@gnupg.org/msg01128.html.
thomas set Version to 1.4.9.
thomas added subscribers: dshaw, wilde, thomas, werner.
werner lowered the priority of this task from High to Normal.
werner removed a project: Bug Report.
werner added a project: Feature Request.

For the given use case you should ask the former employee to revoke the uid.
And in case you can't contact him, the signers may revoke their signatures
(--edit-key, "revsig").

Hallo Werner!

I do know these workarounds, but the point is that the signers may now know that
they signed for forever, especially since this is a change in behaviour that
simply sneaked into the code instead of being intentional.

Before the change the signers were asked (with default answer being "expire time
for signature being the same as for the key), now the question just vanished so
one could assume that the former default answer is now simply the default.

This is especially true since the expire time of signatures is usually hidden
unless you specify "--list-options show-sig-expire".

(One question regarding usage of the issue tracker: Why did you make this issue
unassigned? Who will take care of this now?)

Hello Werner,

Thomas Arendsen Hein via BTS <gnupg@bugs.g10code.com> writes:

Thomas Arendsen Hein <thomas@intevation.de> added the comment:
I do know these workarounds, but the point is that the signers may now know that
they signed for forever, especially since this is a change in behaviour that
simply sneaked into the code instead of being intentional.

I just want to drop my "AOL" here: I completely agree with Thomas.

On a more general level:

To my understanding the expiration date of keys is a way to define a
time to live without any future activity needed. Besides other uses
this can (could) be used as a save guard to guarantee that a
lost/stolen/forgotten key will not be usable (read: trusted) beyond a
given point in time.

When key signatures don't expire at the same time as the key does this
save guard becomes worthless as anyone who comes into possession of the
secret key (by which ever means) will "only" need to force the pass
phrase and edit the expiration date to get a signed and potentially
widely trusted key.

Most users setting an expiration date on their keys will not be aware of
this fact and the new default. (Frankly I -- used to the old default --
wasn't my self for quite a while).

So the old default behavior of letting signatures expire together with
the key is less convenient but way more secure -- to me it's the only
correct choice from the point of security.

IMO the (mostly) silent change of the default, together with the
invisibility of signature expiration dates (without little common extra
options) is a serious problem.

cheers

sascha

Sascha Wilde OpenPGP key: 4BB86568
http://www.intevation.de/~wilde/ http://www.intevation.de/
Intevation GmbH, Neuer Graben 17, 49074 Osnabrück; AG Osnabrück, HR B 18998
Geschäftsführer: Frank Koormann, Bernhard Reiter, Dr. Jan-Oliver Wagner

marcus claimed this task.
marcus added a subscriber: marcus.

So, the default change 7y ago and the world didn't end. Closing this.

  • marcus (Marcus Brinkmann) <noreply@dev.gnupg.org> [20170622 16:41]:
So, the default change 7y ago and the world didn't end. Closing this.

The world did end years ago, but nobody noticed, because the other
worlds' signatures did not expire.

I still think this change is as bad as seven years ago

Do GnuPG developers still consider consider the web of trust as
usable (for at least some groups of people)?
If yes, the change is still a problem. If not, it does not matter.