Encryption to key with multiple subkeys
Joke de Buhr
joke at seiken.de
Wed May 12 13:20:09 CEST 2010
On Wednesday 12 May 2010 02:49:43 Grant Olson wrote:
> So now Alice doesn't even realize that Bob is still sending sensitive
> info on a potentially compromised key.
>
> You might be able to put a weird exception where gpg checks to see if
> any of your private keys that are revoked are one of the keys that gpg
> has encrypted to, but that would behave completely differently than
> having a revoked key from random user X on the keyring.
>
> And if you did, I'm not sure how applications like Enigmail would end up
> handling the special case.
Here are some tests how gnupg currently handles revoked subkeys. As you can
see programs like Enigmail would notice if someone is still sending to a
revoked subkey. If programs now recognize mails are being encrypted to revoked
subkeys they would notice with a encrypt-to-all-not-revoked-encryption-subkeys
behavior.
Alice has a primary key with two encryption subkeys:
pub 4096R/637AD7FA created: 2010-05-12 expires: never usage: C
trust: ultimate validity: ultimate
sub 4096R/97E46ACF created: 2010-05-12 revoked: 2010-05-12 usage: E
sub 4096R/5855A984 created: 2010-05-12 revoked: 2010-05-12 usage: E
[ultimate] (1). Goo Gle <goo at gle.com>
Three messages were send to Alice (last would be encrypt-to-all):
10.asc encrypted to subkey 97E46ACF
01.asc encrypted to subkey 5855A984
11.asc encrypted to subkeys 97E46ACF 5855A984
Alice decrypts the message if no key is revoked:
gpg2 --decrypt -o /dev/null < 10.asc
gpg: encrypted with 4096-bit RSA key, ID 97E46ACF, created 2010-05-12
"Goo Gle <goo at gle.com>"
gpg2 --decrypt -o /dev/null < 01.asc
gpg: encrypted with 4096-bit RSA key, ID 5855A984, created 2010-05-12
"Goo Gle <goo at gle.com>"
gpg2 --decrypt -o /dev/null < 11.asc
gpg: encrypted with 4096-bit RSA key, ID 5855A984, created 2010-05-12
"Goo Gle <goo at gle.com>"
gpg: encrypted with 4096-bit RSA key, ID 97E46ACF, created 2010-05-12
"Goo Gle <goo at gle.com>"
Alice revokes a subkey (first or last) (example: 97E46ACF):
gpg2 --decrypt -o /dev/null < 11.asc
gpg: NOTE: key has been revoked
gpg: encrypted with 4096-bit RSA key, ID 5855A984, created 2010-05-12
"Goo Gle <goo at gle.com>"
gpg: encrypted with 4096-bit RSA key, ID 97E46ACF, created 2010-05-12
"Goo Gle <goo at gle.com>"
Gnupg informs Alice the message has been encrypted with a revoked key if Bob
didn't refresh his keyring and his gnupg continues to do a encrypt-to-all. She
could inform Bob to refresh his keyring. The same goes for other combinations
of key revocation.
If Alice revoked her last key (5855A984) and Bob's (unrefreshed) gnupg would
encrypt a message to the last key as it currently does it would look like
this:
gpg2 --decrypt -o /dev/null < 01.asc
gpg: NOTE: key has been revoked
gpg: encrypted with 4096-bit RSA key, ID 5855A984, created 2010-05-12
"Goo Gle <goo at gle.com>"
There is no different on Alice side if gnupg would do a encrypt-to-all-not-
revoked-encryption-subkeys.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 706 bytes
Desc: This is a digitally signed message part.
URL: </pipermail/attachments/20100512/bdbc971d/attachment.pgp>
More information about the Gnupg-users
mailing list