Jeg forstår ganske matematikken bak RSA, Elgamal, AES, SHA, men ikke hvordan ting brukes i praksis. Hvordan er undernøklene forskjellige fra hovednøkkelen? Jeg forstår formålet fra forskjellige nettsteder, men hvordan implementeres det internt? Hvordan er den bundet til hovednøkkelen? Er det en OpenPGP-terminologi?

Kommentarer

Svar

Dette innlegg av bruker rjh fra 2008 i enigmail-forumet svarer det bra:

Opprinnelig i PGP 2.6, tilbake tidlig på 90-tallet, du hadde bare ett tastatur, og det ble brukt til både kryptering og signering. Evnen til å ha flere tastaturer ga noen tekniske utfordringer. Til syvende og sist ble det bestemt at de ekstra tastaturene ville bli kalt «undernøkler», til tross for at det ikke er noe «under» om dem. På samme måte er det du kaller «nøkkelen» ikke en nøkkel i det hele tatt – terminologien er en holdover fra de dagene da en nøkkel virkelig var en nøkkel. I dag er en nøkkel virkelig en samling av nøkler, sammen med noen metadata for brukeridentifikatorer, signaturer osv.

F.eks. Har «nøkkelen» min fire tastaturer på den: 5B8709EB , D0C6AAE4, 71E177DB og 8DB02BBB3.

Det GnuPG kaller din «offentlige nøkkel» er egentlig den eldste signeringsnøkkelen i samlingen. Siden 5B8709EB ble opprettet først, kaller GnuPG hele settet med nøkler og metadata «5B8709EB-nøkkel».

Så, «er det mulig å ha en nøkkel som brukes til kryptering og signering uten noen undernøkkel i det hele tatt? «Svaret her er nei, fordi alle tastaturene på en nøkkel er undernøkler. Selv om det bare er en av dem.

Svar

Undernøkler

Undernøkkelpakker er definert i RFC 4880, OpenPGP, 5.5 nøkkel materiale pakke . De «bare kjennetegnes av en annen pakke-ID, og krever en bindende signatur for å være faktisk nyttig (se nedenfor).

En pakke med offentlig undernøkkel (tag 14) har nøyaktig samme format som en pakke med offentlig nøkkel, men betegner en undernøkkel.

Bruk av undernøkkel

OpenPGP-undernøkler er brukes til forskjellige formål:

  • Å kunne lagre primærnøkkelen frakoblet eller en sikrere enhet. Hvis en maskin med en undernøkkel blir skadet, kan du enkelt tilbakekalle undernøkkelen uten alt bryet med å tilbakekalle din primære nøkkel (å dele en ny nøkkel, få nye signaturer, …).
  • Å ha forskjellige undernøkler på forskjellige maskiner, for eksempel en signeringsundernøkkel på en build-server. Igjen er det enkelt å tilbakekalle enkeltnøkler.
  • Bruk av en større primærnøkkel for lang levetid, og kortere, men raskere undernøkler for daglig bruk.
  • Noen algoritmer støtter ikke både kryptering og signering. For eksempel en DSA-primærnøkkel krever en annen nøkkel for encry ption, vanligvis parret med ElGamal.

Bindende signaturer

Det er spesielle signaturundertyper for å binde undernøkler til primærnøkler (og omvendt), oppført i RFC 4880, OpenPGP, 5.2.1 Signaturtyper :

0x18: Subkey Binding Signature

Denne signaturen er en uttalelse fra signeringsnøkkelen på toppnivå som indikerer at den eier undernøkkelen. Denne signaturen beregnes direkte på primærnøkkelen og undernøkkelen, og ikke på noen bruker-ID eller andre pakker. En signatur som binder en signeringsundernøkkel MÅ ha en innebygd signaturundepakke i denne bindende signaturen som inneholder en 0x19 signatur laget av signeringsundernøkkelen på primærnøkkelen og undernøkkelen.

0x19: Primary Key Binding Signature

Denne signaturen er en uttalelse av en undernøkkel som signerer, og indikerer at den eies av primærnøkkelen og undernøkkelen. Denne signaturen beregnes på samme måte som en 0x18-signatur: direkte på primærnøkkelen og undernøkkelen, og ikke på noen bruker-ID eller andre pakker.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *