Jag förstår ganska matematiken bakom RSA, Elgamal, AES, SHA men inte hur saker används i praktiken. Hur skiljer sig undernycklar från huvudnyckeln? Jag förstår dess syfte från olika webbplatser men hur implementeras det internt? Hur är den bunden till huvudnyckeln? Är det en OpenPGP-terminologi?

Kommentarer

Svar

Detta inlägg av användaren rjh från 2008 i enigmail-forumet svarar det bra:

Ursprungligen i PGP 2.6, tillbaka i början av 90-talet, du hade bara ett tangentbord och det användes för både kryptering och signering. Möjligheten att ha ytterligare tangentbord gav några tekniska utmaningar. I slutändan bestämdes det att de extra tangentborden skulle kallas ”undernycklar”, trots att det inte finns något ”sub” om dem. På samma sätt är det som du kallar din ”nyckel” egentligen inte en nyckel alls – terminologin är en kvarhållning från de dagar då en nyckel verkligen var en nyckel. Numera är en nyckel verkligen en samling av nycklar, tillsammans med några metadata för användaridentifierare, signaturer osv.

Till exempel, min ”nyckel” har fyra tangentbord: 5B8709EB , D0C6AAE4, 71E177DB och 8DB02BBB3.

Vad GnuPG kallar din ”offentliga nyckel” är verkligen den äldsta signeringsnyckeln i samlingen. Eftersom 5B8709EB skapades först kallar GnuPG hela uppsättningen nycklar och metadata ”5B8709EB-nyckeln”.

Så, ”är det möjligt att ha en nyckel som används för kryptering och signering utan någon undernyckel alls? ”Svaret här är nej, eftersom alla knappar på en nyckel är undernycklar. Även om det bara finns en av dem.

Svar

Undernycklar

Undernyckelpaket definieras i RFC 4880, OpenPGP, 5.5 viktiga materialpaket . De kännetecknas bara av ett annat paket-ID och kräver en bindande signatur för att vara faktiskt användbar (se nedan).

Ett paket med offentlig undernyckel (tagg 14) har exakt samma format som ett Public-Key-paket, men betecknar en undernyckel.

Användning av undernyckel

OpenPGP-undernycklar är används för olika ändamål:

  • Att kunna lagra den primära nyckeln offline eller en säkrare enhet. Om en maskin med en undernyckel skadas kan du enkelt återkalla undernyckeln utan allt krångel med att återkalla din primära nyckel (dela en ny nyckel, få nya signaturer, …).
  • Att ha olika undernycklar på olika maskiner, till exempel en signeringsundernyckel på en byggserver. Återigen är det enkelt att återkalla enstaka nycklar.
  • Med en större primärnyckel under lång livstid och kortare men snabbare undernycklar för daglig användning.
  • Vissa algoritmer stöder inte både kryptering och signering. Till exempel en DSA-primärnyckel kräver en annan nyckel för encry ption, vanligtvis ihopkopplad med ElGamal.

Bindande signaturer

Det finns speciella signaturundertyper för att binda undernycklar till primära nycklar (och vice vers), listade i RFC 4880, OpenPGP, 5.2.1 Signaturtyper :

0x18: Subkey Binding Signature

Den här signaturen är ett uttalande av den översta signeringsnyckeln som anger att den äger undernyckeln. Denna signatur beräknas direkt på den primära nyckeln och undernyckeln och inte på något användar-ID eller andra paket. En signatur som binder en signeringsundernyckel MÅSTE ha ett inbäddat signaturundepaket i den här bindande signaturen som innehåller en 0x19 signatur gjord av signeringsundernyckeln på den primära nyckeln och undernyckeln. >

Den här signaturen är ett uttalande från en undernyckel som signerar och anger att den ägs av primärnyckeln och undernyckeln. Denna signatur beräknas på samma sätt som en 0x18-signatur: direkt på primärnyckeln och undernyckeln och inte på något användar-ID eller andra paket.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *