Artifact
a96d4d87c4bffbcfab15965b1772b9ad30c33f24:
Wiki page
[keyrevokation] by
bernd
2014-04-20 23:19:04.
0000: 44 20 32 30 31 34 2d 30 34 2d 32 30 54 32 33 3a D 2014-04-20T23:
0010: 31 39 3a 30 34 2e 33 37 36 0a 4c 20 6b 65 79 72 19:04.376.L keyr
0020: 65 76 6f 6b 61 74 69 6f 6e 0a 50 20 39 65 61 37 evokation.P 9ea7
0030: 37 38 35 61 39 34 32 31 37 30 30 35 66 64 30 35 785a94217005fd05
0040: 32 39 62 62 36 35 38 31 65 39 32 39 39 62 35 61 29bb6581e9299b5a
0050: 66 33 31 32 0a 55 20 62 65 72 6e 64 0a 57 20 31 f312.U bernd.W 1
0060: 38 31 31 0a 3c 68 31 3e 4b 65 79 20 52 65 76 6f 811.<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 0a 3c 75 6c 3e 0a 3c 6c 69 3e 4f 6e .<p>.<ul>.<li>On
0270: 6c 79 20 74 68 65 20 63 72 65 61 74 6f 72 20 6f ly the creator o
0280: 66 20 74 68 65 20 73 65 63 72 65 74 20 6b 65 79 f the secret key
0290: 20 63 61 6e 20 72 65 76 6f 6b 65 20 69 74 3c 2f can revoke it</
02a0: 6c 69 3e 0a 3c 6c 69 3e 41 20 74 68 69 65 66 20 li>.<li>A thief
02b0: 6f 66 20 74 68 65 20 73 65 63 72 65 74 20 6b 65 of the secret ke
02c0: 79 20 63 61 6e 27 74 20 28 69 2e 65 2e 20 66 75 y can't (i.e. fu
02d0: 72 74 68 65 72 20 69 6e 66 6f 72 6d 61 74 69 6f rther informatio
02e0: 6e 20 69 73 20 6e 65 63 65 73 73 61 72 79 29 3c n is necessary)<
02f0: 2f 6c 69 3e 0a 3c 6c 69 3e 52 65 76 6f 63 61 74 /li>.<li>Revocat
0300: 69 6f 6e 20 6d 75 73 74 20 70 72 65 73 65 6e 74 ion must present
0310: 20 61 20 74 72 75 73 74 77 6f 72 74 68 79 20 72 a trustworthy r
0320: 65 70 6c 61 63 65 6d 65 6e 74 20 6b 65 79 3c 2f eplacement key</
0330: 6c 69 3e 0a 3c 6c 69 3e 54 68 69 72 64 20 70 61 li>.<li>Third pa
0340: 72 74 69 65 73 20 6d 75 73 74 20 74 72 75 73 74 rties must trust
0350: 20 62 6f 74 68 20 74 68 65 20 72 65 76 6f 63 61 both the revoca
0360: 74 69 6f 6e 20 61 6e 64 20 74 68 65 20 72 65 70 tion and the rep
0370: 6c 61 63 65 6d 65 6e 74 20 6b 65 79 0a 77 69 74 lacement key.wit
0380: 68 6f 75 74 20 61 6e 6f 74 68 65 72 20 74 72 75 hout another tru
0390: 73 74 77 6f 72 74 68 79 20 69 6e 73 74 61 6e 63 stworthy instanc
03a0: 65 2c 20 69 2e 65 2e 20 74 72 75 73 74 69 6e 67 e, i.e. trusting
03b0: 20 6f 6e 6c 79 20 74 68 65 69 72 20 63 6f 6d 6d only their comm
03c0: 75 6e 69 63 61 74 69 6f 6e 0a 70 61 72 74 6e 65 unication.partne
03d0: 72 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 3c 2f 70 3e r</li>.</ul></p>
03e0: 49 20 63 72 65 61 74 65 20 74 77 6f 20 72 61 6e I create two ran
03f0: 64 6f 6d 20 6e 75 6d 62 65 72 20 73 31 20 61 6e dom number s1 an
0400: 64 20 73 32 2e 20 26 6e 62 73 70 3b 55 73 69 6e d s2. Usin
0410: 67 20 74 68 65 73 65 20 6e 75 6d 62 65 72 73 2c g these numbers,
0420: 20 49 0a 63 72 65 61 74 65 20 70 75 62 6b 65 79 I.create pubkey
0430: 73 20 70 31 3d 62 61 73 65 2a 28 73 31 29 20 61 s p1=base*(s1) a
0440: 6e 64 20 70 32 3d 62 61 73 65 2a 28 73 32 29 2e nd p2=base*(s2).
0450: 20 26 6e 62 73 70 3b 49 20 63 6f 6d 70 75 74 65 I compute
0460: 20 28 73 29 3d 28 73 31 2a 70 32 29 20 61 73 0a (s)=(s1*p2) as.
0470: 22 77 6f 72 6b 20 73 65 63 72 65 74 22 20 28 69 "work secret" (i
0480: 2e 65 2e 20 74 68 65 20 73 65 63 72 65 74 20 6b .e. the secret k
0490: 65 79 20 74 68 61 74 20 69 73 20 70 72 6f 76 69 ey that is provi
04a0: 6e 67 20 6d 79 20 69 64 65 6e 74 69 74 79 29 2c ng my identity),
04b0: 20 61 6e 64 0a 70 3d 62 61 73 65 2a 28 73 29 2c and.p=base*(s),
04c0: 20 6d 79 20 70 75 62 6b 65 79 2e 20 26 6e 62 73 my pubkey. &nbs
04d0: 70 3b 49 20 70 75 62 6c 69 73 68 20 70 2c 20 70 p;I publish p, p
04e0: 31 2c 20 61 6e 64 20 68 61 73 68 28 70 32 29 2c 1, and hash(p2),
04f0: 20 77 68 69 63 68 20 74 6f 67 65 74 68 65 72 20 which together
0500: 61 72 65 0a 73 74 6f 72 65 64 20 61 73 20 69 64 are.stored as id
0510: 65 6e 74 69 74 79 2e 20 26 6e 62 73 70 3b 54 68 entity. Th
0520: 65 20 61 73 73 75 6d 70 74 69 6f 6e 20 69 73 20 e assumption is
0530: 74 68 61 74 20 68 61 73 68 28 70 32 29 20 63 61 that hash(p2) ca
0540: 6e 27 74 20 62 65 20 72 65 76 65 72 73 65 64 20 n't be reversed
0550: 74 6f 0a 67 65 74 20 70 32 2c 20 61 6e 64 20 75 to.get p2, and u
0560: 73 69 6e 67 20 70 20 61 6e 64 20 70 31 20 64 6f sing p and p1 do
0570: 6e 27 74 20 72 65 76 65 61 6c 20 73 20 61 6e 64 n't reveal s and
0580: 20 73 31 2e 0a 0a 3c 64 69 76 3e 49 20 6b 65 65 s1...<div>I kee
0590: 70 20 73 32 20 61 73 20 6f 66 66 6c 69 6e 65 20 p s2 as offline
05a0: 63 6f 70 79 20 28 69 74 27 73 20 6a 75 73 74 20 copy (it's just
05b0: 36 34 20 68 65 78 20 64 69 67 69 74 73 29 2c 20 64 hex digits),
05c0: 61 6e 64 20 73 20 61 73 20 70 72 6f 74 65 63 74 and s as protect
05d0: 65 64 0a 6f 6e 6c 69 6e 65 20 63 6f 70 79 20 69 ed.online copy i
05e0: 6e 20 6d 79 20 64 65 76 69 63 65 3b 20 73 20 69 n my device; s i
05f0: 73 20 73 75 62 6a 65 63 74 20 74 6f 20 61 74 74 s subject to att
0600: 61 63 6b 73 20 61 6e 64 20 62 61 63 6b 64 6f 6f acks and backdoo
0610: 72 73 2c 20 61 6e 64 20 74 68 65 72 65 66 6f 72 rs, and therefor
0620: 65 0a 61 74 20 72 69 73 6b 2e 20 26 6e 62 73 70 e.at risk.  
0630: 3b 54 6f 20 72 65 76 6f 6b 65 20 61 20 6b 65 79 ;To revoke a key
0640: 2c 20 49 20 70 75 62 6c 69 73 68 20 70 32 2c 20 , I publish p2,
0650: 77 68 69 63 68 20 74 68 65 20 72 65 63 69 70 69 which the recipi
0660: 65 6e 74 20 63 61 6e 20 76 61 6c 69 64 61 74 65 ent can validate
0670: 0a 62 79 20 70 31 2a 28 70 32 29 3d 3d 70 2c 20 .by p1*(p2)==p,
0680: 61 6e 64 20 68 61 73 68 28 70 32 29 2e 3c 2f 64 and hash(p2).</d
0690: 69 76 3e 0a 0a 3c 64 69 76 3e 54 6f 20 73 69 67 iv>..<div>To sig
06a0: 6e 20 61 20 6e 65 77 20 6b 65 79 2c 20 49 20 75 n a new key, I u
06b0: 73 65 20 73 32 20 61 73 20 73 69 67 6e 61 74 75 se s2 as signatu
06c0: 72 65 20 6b 65 79 2c 20 69 2e 65 2e 20 74 68 65 re key, i.e. the
06d0: 20 72 65 63 69 70 69 65 6e 74 20 63 61 6e 20 75 recipient can u
06e0: 73 65 0a 74 68 65 20 6a 75 73 74 20 70 75 62 6c se.the just publ
06f0: 69 73 68 65 64 20 70 32 20 74 6f 20 76 65 72 69 ished p2 to veri
0700: 66 79 20 74 68 65 20 74 72 61 6e 73 69 74 69 6f fy the transitio
0710: 6e 20 74 6f 20 74 68 65 20 72 65 70 6c 61 63 65 n to the replace
0720: 6d 65 6e 74 20 6b 65 79 2e 20 26 6e 62 73 70 3b ment key.
0730: 4f 66 0a 63 6f 75 72 73 65 2c 20 74 68 65 20 6e Of.course, the n
0740: 65 77 20 6b 65 79 20 61 6c 73 6f 20 68 61 73 20 ew key also has
0750: 61 20 73 69 67 6e 61 74 75 72 65 20 77 69 74 68 a signature with
0760: 20 73 2c 20 74 68 65 20 6f 6c 64 20 6b 65 79 2e s, the old key.
0770: 3c 2f 64 69 76 3e 0a 0a 5a 20 37 66 38 66 31 33 </div>..Z 7f8f13
0780: 39 32 61 64 31 63 64 37 65 39 30 36 61 36 37 39 92ad1cd7e906a679
0790: 35 32 34 30 64 39 37 61 61 61 0a 5240d97aaa.