Artifact
ba1ff1982ac9eda4085114d2357b393055c6cda2:
Wiki page
[keyrevokation] by
bernd
2014-04-27 19:31:03.
0000: 44 20 32 30 31 34 2d 30 34 2d 32 37 54 31 39 3a D 2014-04-27T19:
0010: 33 31 3a 30 33 2e 39 37 36 0a 4c 20 6b 65 79 72 31:03.976.L keyr
0020: 65 76 6f 6b 61 74 69 6f 6e 0a 50 20 61 39 36 64 evokation.P a96d
0030: 34 64 38 37 63 34 62 66 66 62 63 66 61 62 31 35 4d87c4bffbcfab15
0040: 39 36 35 62 31 37 37 32 62 39 61 64 33 30 63 33 965b1772b9ad30c3
0050: 33 66 32 34 0a 55 20 62 65 72 6e 64 0a 57 20 32 3f24.U bernd.W 2
0060: 34 33 30 0a 3c 68 31 3e 4b 65 79 20 52 65 76 6f 430.<h1>Key Revo
0070: 63 61 74 69 6f 6e 3c 2f 68 31 3e 0a 0a 3c 70 3e cation</h1>..<p>
0080: 4b 65 79 20 72 65 76 6f 63 61 74 69 6f 6e 20 75 Key revocation u
0090: 73 75 61 6c 6c 79 20 69 73 20 64 6f 6e 65 20 77 sually is done w
00a0: 69 74 68 20 61 20 73 69 67 6e 61 74 75 72 65 20 ith a signature
00b0: 6f 66 20 74 68 65 20 6c 6f 73 74 20 6b 65 79 2c of the lost key,
00c0: 20 69 2e 65 2e 20 62 6f 74 68 0a 74 68 65 20 6f i.e. both.the o
00d0: 77 6e 65 72 20 61 6e 64 20 74 68 65 20 61 64 76 wner and the adv
00e0: 65 72 73 61 72 79 20 63 61 6e 20 72 65 76 6f 6b ersary can revok
00f0: 65 20 61 20 63 6f 6d 70 72 6f 6d 69 73 65 64 20 e a compromised
0100: 6b 65 79 2e 20 26 6e 62 73 70 3b 48 6f 77 65 76 key. Howev
0110: 65 72 2c 20 74 68 65 0a 69 6d 70 6f 72 74 61 6e er, the.importan
0120: 74 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 63 61 t function in ca
0130: 73 65 20 6f 66 20 61 20 72 65 76 6f 63 61 74 69 se of a revocati
0140: 6f 6e 20 69 73 20 64 65 63 6c 61 72 69 6e 67 20 on is declaring
0150: 74 68 65 20 73 75 63 63 65 73 73 6f 72 20 6b 65 the successor ke
0160: 79 2c 0a 77 68 69 63 68 20 72 65 65 73 74 61 62 y,.which reestab
0170: 6c 69 73 68 73 20 74 72 75 73 74 2e 20 54 6f 20 lishs trust. To
0180: 64 6f 20 74 68 61 74 2c 20 79 6f 75 20 6d 75 73 do that, you mus
0190: 74 20 61 63 74 75 61 6c 6c 79 20 70 72 6f 6f 66 t actually proof
01a0: 20 74 68 61 74 20 79 6f 75 20 61 72 65 20 74 68 that you are th
01b0: 65 0a 6c 65 67 69 74 69 6d 61 74 65 20 6f 77 6e e.legitimate own
01c0: 65 72 20 6f 66 20 74 68 65 20 65 78 70 6f 73 65 er of the expose
01d0: 64 20 73 65 63 72 65 74 20 6b 65 79 2c 20 73 6f d secret key, so
01e0: 20 68 6f 77 20 64 6f 20 79 6f 75 20 64 6f 20 74 how do you do t
01f0: 68 61 74 3f 20 26 6e 62 73 70 3b 41 66 74 65 72 hat? After
0200: 0a 61 6c 6c 2c 20 74 68 65 20 61 64 76 65 72 73 .all, the advers
0210: 61 72 79 20 68 61 73 20 73 74 6f 6c 65 6e 20 69 ary has stolen i
0220: 74 21 3c 62 72 3e 0a 3c 2f 70 3e 0a 0a 3c 70 3e t!<br>.</p>..<p>
0230: 54 68 65 72 65 66 6f 72 65 2c 20 74 68 65 20 72 Therefore, the r
0240: 65 71 75 69 72 65 6d 65 6e 74 73 20 61 72 65 20 equirements are
0250: 61 73 20 66 6f 6c 6c 6f 77 73 3a 3c 2f 70 3e 0a as follows:</p>.
0260: 0a 3c 70 3e 3c 2f 70 3e 0a 3c 75 6c 3e 0a 3c 6c .<p></p>.<ul>.<l
0270: 69 3e 4f 6e 6c 79 20 74 68 65 20 63 72 65 61 74 i>Only the creat
0280: 6f 72 20 6f 66 20 74 68 65 20 73 65 63 72 65 74 or of the secret
0290: 20 6b 65 79 20 63 61 6e 20 72 65 76 6f 6b 65 20 key can revoke
02a0: 69 74 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41 20 74 68 it</li>.<li>A th
02b0: 69 65 66 20 6f 66 20 74 68 65 20 73 65 63 72 65 ief of the secre
02c0: 74 20 6b 65 79 20 63 61 6e 27 74 20 28 69 2e 65 t key can't (i.e
02d0: 2e 20 66 75 72 74 68 65 72 20 69 6e 66 6f 72 6d . further inform
02e0: 61 74 69 6f 6e 20 69 73 20 6e 65 63 65 73 73 61 ation is necessa
02f0: 72 79 29 3c 2f 6c 69 3e 0a 3c 6c 69 3e 52 65 76 ry)</li>.<li>Rev
0300: 6f 63 61 74 69 6f 6e 20 6d 75 73 74 20 70 72 65 ocation must pre
0310: 73 65 6e 74 20 61 20 74 72 75 73 74 77 6f 72 74 sent a trustwort
0320: 68 79 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 6b hy replacement k
0330: 65 79 3c 2f 6c 69 3e 0a 3c 6c 69 3e 54 68 69 72 ey</li>.<li>Thir
0340: 64 20 70 61 72 74 69 65 73 20 6d 75 73 74 20 74 d parties must t
0350: 72 75 73 74 20 62 6f 74 68 20 74 68 65 20 72 65 rust both the re
0360: 76 6f 63 61 74 69 6f 6e 20 61 6e 64 20 74 68 65 vocation and the
0370: 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 6b 65 79 replacement key
0380: 0a 77 69 74 68 6f 75 74 20 61 6e 6f 74 68 65 72 .without another
0390: 20 74 72 75 73 74 77 6f 72 74 68 79 20 69 6e 73 trustworthy ins
03a0: 74 61 6e 63 65 2c 20 69 2e 65 2e 20 74 72 75 73 tance, i.e. trus
03b0: 74 69 6e 67 20 6f 6e 6c 79 20 74 68 65 69 72 20 ting only their
03c0: 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 0a 70 61 communication.pa
03d0: 72 74 6e 65 72 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e rtner</li>.</ul>
03e0: 0a 0a 3c 70 3e 3c 2f 70 3e 49 20 63 72 65 61 74 ..<p></p>I creat
03f0: 65 20 74 77 6f 20 72 61 6e 64 6f 6d 20 6e 75 6d e two random num
0400: 62 65 72 20 73 31 20 61 6e 64 20 73 32 2e 20 26 ber s1 and s2. &
0410: 6e 62 73 70 3b 55 73 69 6e 67 20 74 68 65 73 65 nbsp;Using these
0420: 20 6e 75 6d 62 65 72 73 2c 20 49 0a 63 72 65 61 numbers, I.crea
0430: 74 65 20 70 75 62 6b 65 79 73 20 70 31 3d 62 61 te pubkeys p1=ba
0440: 73 65 2a 28 73 31 29 20 61 6e 64 20 70 32 3d 62 se*(s1) and p2=b
0450: 61 73 65 2a 28 73 32 29 2e 20 26 6e 62 73 70 3b ase*(s2).
0460: 49 20 63 6f 6d 70 75 74 65 20 28 73 29 3d 28 73 I compute (s)=(s
0470: 31 2a 70 32 29 20 61 73 0a 22 77 6f 72 6b 20 73 1*p2) as."work s
0480: 65 63 72 65 74 22 20 28 69 2e 65 2e 20 74 68 65 ecret" (i.e. the
0490: 20 73 65 63 72 65 74 20 6b 65 79 20 74 68 61 74 secret key that
04a0: 20 69 73 20 70 72 6f 76 69 6e 67 20 6d 79 20 69 is proving my i
04b0: 64 65 6e 74 69 74 79 29 2c 20 61 6e 64 0a 70 3d dentity), and.p=
04c0: 62 61 73 65 2a 28 73 29 2c 20 6d 79 20 70 75 62 base*(s), my pub
04d0: 6b 65 79 2e 20 26 6e 62 73 70 3b 49 20 70 75 62 key. I pub
04e0: 6c 69 73 68 20 70 20 61 6e 64 20 70 31 2c 20 77 lish p and p1, w
04f0: 68 69 63 68 20 74 6f 67 65 74 68 65 72 20 61 72 hich together ar
0500: 65 20 73 74 6f 72 65 64 20 61 73 0a 69 64 65 6e e stored as.iden
0510: 74 69 74 79 2e 20 26 6e 62 73 70 3b 54 68 65 20 tity. The
0520: 61 73 73 75 6d 70 74 69 6f 6e 20 69 73 20 74 68 assumption is th
0530: 61 74 20 70 31 20 63 61 6e 27 74 20 62 65 20 72 at p1 can't be r
0540: 65 76 65 72 73 65 64 20 74 6f 20 67 65 74 20 73 eversed to get s
0550: 31 2c 20 61 6e 64 20 70 0a 77 6f 6e 27 74 20 72 1, and p.won't r
0560: 65 76 65 61 6c 20 73 2e 20 26 6e 62 73 70 3b 41 eveal s. A
0570: 6e 20 61 74 74 61 63 6b 65 72 20 77 68 6f 20 73 n attacker who s
0580: 74 6f 6c 65 20 73 20 63 61 6e 27 74 20 67 75 65 tole s can't gue
0590: 73 73 20 73 31 2c 20 62 65 63 61 75 73 65 20 68 ss s1, because h
05a0: 65 0a 64 6f 65 73 6e 27 74 20 68 61 76 65 20 70 e.doesn't have p
05b0: 32 2c 20 61 6e 64 20 73 6f 20 69 74 27 73 20 65 2, and so it's e
05c0: 76 65 6e 20 6d 6f 72 65 20 64 69 66 66 69 63 75 ven more difficu
05d0: 6c 74 20 74 6f 20 67 65 74 20 73 32 2e 20 26 6e lt to get s2. &n
05e0: 62 73 70 3b 41 6e 20 61 74 74 61 63 6b 65 72 0a bsp;An attacker.
05f0: 77 68 6f 20 73 74 6f 6c 65 20 73 20 63 61 6e 20 who stole s can
0600: 67 65 6e 65 72 61 74 65 20 61 20 6e 65 77 20 70 generate a new p
0610: 61 69 72 20 6f 66 20 70 31 2c 20 70 32 2c 20 62 air of p1, p2, b
0620: 75 74 20 74 68 61 74 20 77 6f 75 6c 64 20 67 69 ut that would gi
0630: 76 65 20 68 69 6d 20 61 0a 64 69 66 66 65 72 65 ve him a.differe
0640: 6e 74 20 69 64 65 6e 74 69 74 79 20 28 61 20 73 nt identity (a s
0650: 75 73 70 69 63 69 6f 75 73 20 69 64 65 6e 74 69 uspicious identi
0660: 74 79 2c 20 74 68 6f 75 67 68 29 2e 20 26 6e 62 ty, though). &nb
0670: 73 70 3b 41 66 74 65 72 20 67 65 6e 65 72 61 74 sp;After generat
0680: 69 6e 67 20 74 68 65 0a 6b 65 79 2c 20 73 31 20 ing the.key, s1
0690: 69 73 20 64 65 73 74 72 6f 79 65 64 3b 20 69 74 is destroyed; it
06a0: 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 6e 65 is no longer ne
06b0: 65 64 65 64 2c 20 74 68 6f 75 67 68 20 69 74 20 eded, though it
06c0: 63 61 6e 20 62 65 20 72 65 63 6f 6d 70 75 74 65 can be recompute
06d0: 64 20 75 73 69 6e 67 0a 73 20 61 6e 64 20 70 32 d using.s and p2
06e0: 20 61 6e 64 20 74 68 65 20 65 78 74 65 6e 64 65 and the extende
06f0: 64 20 65 75 63 6c 69 64 65 61 6e 20 61 6c 67 6f d euclidean algo
0700: 72 69 74 68 6d 2e 0a 0a 3c 70 3e 49 20 6b 65 65 rithm...<p>I kee
0710: 70 20 73 32 20 61 73 20 6f 66 66 6c 69 6e 65 20 p s2 as offline
0720: 63 6f 70 79 20 28 69 74 27 73 20 6a 75 73 74 20 copy (it's just
0730: 36 34 20 68 65 78 20 64 69 67 69 74 73 29 2c 20 64 hex digits),
0740: 61 6e 64 20 73 20 61 73 20 70 72 6f 74 65 63 74 and s as protect
0750: 65 64 0a 6f 6e 6c 69 6e 65 20 63 6f 70 79 20 69 ed.online copy i
0760: 6e 20 6d 79 20 64 65 76 69 63 65 3b 20 73 20 69 n my device; s i
0770: 73 20 73 75 62 6a 65 63 74 20 74 6f 20 61 74 74 s subject to att
0780: 61 63 6b 73 20 61 6e 64 20 62 61 63 6b 64 6f 6f acks and backdoo
0790: 72 73 2c 20 61 6e 64 20 74 68 65 72 65 66 6f 72 rs, and therefor
07a0: 65 0a 61 74 20 72 69 73 6b 2e 20 26 6e 62 73 70 e.at risk.  
07b0: 3b 54 6f 20 72 65 76 6f 6b 65 20 61 20 6b 65 79 ;To revoke a key
07c0: 2c 20 49 20 70 75 62 6c 69 73 68 20 70 32 2c 20 , I publish p2,
07d0: 77 68 69 63 68 20 74 68 65 20 72 65 63 69 70 69 which the recipi
07e0: 65 6e 74 20 63 61 6e 20 76 61 6c 69 64 61 74 65 ent can validate
07f0: 0a 62 79 20 70 31 2a 28 70 32 29 3d 3d 70 2e 20 .by p1*(p2)==p.
0800: 26 6e 62 73 70 3b 3c 2f 70 3e 0a 0a 3c 70 3e 54 </p>..<p>T
0810: 6f 20 73 69 67 6e 20 61 20 6e 65 77 20 6b 65 79 o sign a new key
0820: 2c 20 49 20 75 73 65 20 73 32 20 61 73 20 73 69 , I use s2 as si
0830: 67 6e 61 74 75 72 65 20 6b 65 79 2c 20 69 2e 65 gnature key, i.e
0840: 2e 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 20 . the recipient
0850: 63 61 6e 20 75 73 65 20 74 68 65 0a 6a 75 73 74 can use the.just
0860: 20 70 75 62 6c 69 73 68 65 64 20 70 32 20 74 6f published p2 to
0870: 20 76 65 72 69 66 79 20 74 68 65 20 74 72 61 6e verify the tran
0880: 73 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 72 65 sition to the re
0890: 70 6c 61 63 65 6d 65 6e 74 20 6b 65 79 2e 20 26 placement key. &
08a0: 6e 62 73 70 3b 4f 66 0a 63 6f 75 72 73 65 2c 20 nbsp;Of.course,
08b0: 74 68 65 20 6e 65 77 20 6b 65 79 20 61 6c 73 6f the new key also
08c0: 20 68 61 73 20 61 20 73 69 67 6e 61 74 75 72 65 has a signature
08d0: 20 77 69 74 68 20 73 2c 20 74 68 65 20 6f 6c 64 with s, the old
08e0: 20 6b 65 79 2e 20 26 6e 62 73 70 3b 54 68 65 20 key. The
08f0: 66 6f 72 6d 61 74 0a 6f 66 20 74 68 65 20 72 65 format.of the re
0900: 76 6f 63 61 74 69 6f 6e 20 61 74 74 72 69 62 75 vocation attribu
0910: 74 65 20 69 73 20 61 63 74 75 61 6c 6c 79 20 26 te is actually &
0920: 6c 74 3b 6e 65 77 20 70 75 62 6b 65 79 73 3a 20 lt;new pubkeys:
0930: 70 6e 65 77 2c 20 70 31 6e 65 77 26 67 74 3b 26 pnew, p1new>&
0940: 6c 74 3b 70 32 2c 0a 73 69 67 20 75 73 69 6e 67 lt;p2,.sig using
0950: 20 73 32 26 67 74 3b 26 6c 74 3b 73 69 67 20 75 s2><sig u
0960: 73 69 6e 67 20 73 26 67 74 3b 2e 20 26 6e 62 73 sing s>. &nbs
0970: 70 3b 42 6f 74 68 20 73 69 67 6e 61 74 75 72 65 p;Both signature
0980: 73 20 6d 75 73 74 20 68 61 76 65 20 74 68 65 20 s must have the
0990: 73 61 6d 65 0a 73 69 67 6e 69 6e 67 20 64 61 74 same.signing dat
09a0: 65 2c 20 61 6e 64 20 61 20 6e 65 76 65 72 20 65 e, and a never e
09b0: 78 70 69 72 61 74 69 6f 6e 20 64 61 74 65 20 28 xpiration date (
09c0: 61 20 72 65 76 6f 63 61 74 69 6f 6e 20 64 6f 65 a revocation doe
09d0: 73 6e 27 74 20 65 78 70 69 72 65 29 2e 3c 2f 70 sn't expire).</p
09e0: 3e 0a 0a 5a 20 63 66 32 62 35 61 37 62 64 35 35 >..Z cf2b5a7bd55
09f0: 66 39 66 64 31 62 39 62 61 38 32 31 33 37 36 37 f9fd1b9ba8213767
0a00: 37 63 66 33 33 0a 7cf33.