Cryptology Academy · leksjon

GPG for asymmetrisk filkryptering

Bruk GPG til å kryptere filer for bestemte mottakere, signere innhold og administrere GPG-nøkkelringen.

Leksjon 1 av 413 trinn

GPG for asymmetrisk filkryptering er en gratis leksjon i Cryptology Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Cryptology Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Cryptology Academy inneholder totalt 4 leksjoner.

Oversikt over GPG og formålet

GNU Privacy Guard (GPG) implementerer OpenPGP-standarden (RFC 4880) for asymmetrisk filkryptering og digitale signaturer. Det muliggjør to grunnleggende operasjoner: å kryptere en fil slik at bare den tiltenkte mottakeren kan dekryptere den, og å signere en fil slik at andre kan kontrollere ektheten og integriteten. GPG er standardverktøyet for sikker filoverføring og signering av programvareutgivelser.

Generering av GPG-nøkler

Generering av GPG-nøkler er interaktiv med gpg --gen-key eller kan skriptes med gpg --quick-gen-key. Moderne GPG bruker som standard ed25519 til signering og cv25519 (Curve25519) til kryptering, og oppretter en primær signeringsnøkkel og en undernøkkel for kryptering. Alternativet --full-gen-key gir full kontroll over nkkeltype, størrelse og utløpsdato for brukere som trenger tilpassede konfigurasjoner.

Sammenligning av GPG-nøkkeltyper

RSA-nøkler på 4096 bit for GPG er kompatible med alle OpenPGP-implementeringer og gir sterk sikkerhet. ECDSA med Curve25519 (Ed25519 til signering, Cv25519 til kryptering) gir mindre nøkler og raskere operasjoner, samtidig som sikkerheten er tilsvarende. Eldre DSA-nøkler er begrenset til SHA-1-digest i eldre implementeringer og bør ikke brukes. Nye nøkler bør bruke Curve25519-baserte typer.

Eksportere og dele offentlige nøkler

Etter at du har generert et nøkkelpar, eksporterer du den offentlige nøkkelen for distribusjon: gpg --armor --export your@email.com skriver ut en ASCII-armert blokk med den offentlige nøkkelen. Del denne filen med alle som skal kryptere filer til deg eller kontrollere signaturene dine. Mottakere importerer den offentlige nøkkelen din med gpg --import publickey.asc før de kan kryptere eller kontrollere signaturer.

Kryptere filer for mottakere

Hvis du vil kryptere en fil for en bestemt mottaker, bruker du: gpg --encrypt --recipient recipient@email.com --output secret.gpg plaintext.txt. GPG bruker mottakerens offentlige nøkkel til å kryptere filens sesjonsnøkkel og krypterer filen med AES-256 (eller det forhandlede chifferet). Bare mottakeren, som har den tilsvarende private nøkkelen, kan dekryptere filens sesjonsnøkkel og gjenopprette klarteksten.

Opprette frakoblede signaturer

En frakoblet signatur (gpg --detach-sign --armor file.tar.gz) oppretter en separat .asc-fil som inneholder signaturen. Den opprinnelige filen endres ikke. Mottakere kontrollerer signaturen med gpg --verify file.tar.gz.asc file.tar.gz. Frakoblede signaturer er standarden for programvareutgivelser og gjør det mulig å kontrollere signaturen uten å dekryptere eller endre den distribuerte filen.

Kontrollere signaturer

Signaturkontroll bekrefter at en fil ble signert med den påståtte nøkkelen, og at den ikke er endret siden signeringen. gpg --verify signature.asc file viser nøkkelens fingeravtrykk, bruker-ID og om signaturen er god eller dårlig. Sikkerheten avhenger av at du har riktig tillit til signererens offentlige nøkkel: En gyldig signatur fra en nøkkel som du ikke stoler på eller har verifisert, gir liten sikkerhet.

Private nøkler beskyttet med passordfrase

GPG krypterer den private nøkkelen med et symmetrisk chiffer som er avledet fra en passordfrase, før nøkkelen lagres. Uten passordfrasen kan en angriper som får tak i filen med den private nøkkelen, ikke bruke den. GPG bruker en nøkkelavledningsfunksjon til å avlede krypteringsnøkkelen fra passordfrasen. Passordfrasen bør være lang og lett å huske, men ikke brukes andre steder, siden sikkerheten til alle de krypterte filene dine avhenger av den.

Operasjoner med GPG-nøkkelservere

GPG-nøkkelservere lagrer offentlige nøkler slik at de kan oppdages. gpg --send-keys KEYID --keyserver hkps://keys.openpgp.org laster opp den offentlige nøkkelen din. Andre kan søke etter og importere nøkler med gpg --recv-keys KEYID. Nøkkelservere synkroniserer med hverandre og gir global tilgjengelighet. Moderne nøkkelservere som keys.openpgp.org krever e-postbekreftelse før publisering, noe som hindrer angrep med nøkkelspam.

Utløp og tilbakekalling av nøkler

En utløpsdato på nøkkelen gir automatisk beskyttelse hvis du mister kontrollen over den, uten at du trenger å opprette et tilbakekallingssertifikat. Når en nøkkel utløper, advarer GPG brukere som krypterer til den. Hvis nøkkelen din blir kompromittert, publiserer du straks et tilbakekallingssertifikat (opprettet da nøkkelen ble generert) på nøkkelservere: gpg --import revocation.cert og gpg --send-keys. Dette hindrer videre kryptering til den kompromitterte nøkkelen.

GPG i automatiserte arbeidsflyter

GPG kan kjøres ikke-interaktivt i skript ved hjelp av flaggene --batch og --yes, og passordfraser kan oppgis via --passphrase-fd for lesing fra en fildeskriptor. GPG-agenten (gpg-agent) mellomlagrer passordfrasen i et konfigurerbart tidsrom, slik at den kan brukes på nytt automatisk. I CI/CD-pipelines bør nøkkelmateriale lagres i systemer for håndtering av hemmeligheter, ikke i kildekode eller miljøvariabler.

GPG-kommando for kryptering

Hvilken GPG-kommando krypterer en fil for en bestemt mottaker ved hjelp av mottakerens offentlige nøkkel?

Oppsummering av GPG-filkryptering

Oppsummering av GPG: generer nøkkelpar (helst Curve25519), eksporter og del offentlige nøkler, krypter med mottakerens offentlige nøkkel (--encrypt --recipient), signer filer separat med frakoblede signaturer (--detach-sign), kontroller signaturer med --verify, beskytt private nøkler med passordfraser, angi utløpsdatoer og opprett tilbakekallingssertifikater, og bruk nøkkelservere til å finne og distribuere offentlige nøkler.

Gratis å komme i gang

Lær deg Cryptology Academy med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
67
Leksjoner
261

Ofte stilte spørsmål

Er leksjonen «GPG for asymmetrisk filkryptering» gratis?

Ja – hele teksten i «GPG for asymmetrisk filkryptering» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Cryptology Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Cryptology Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «GPG for asymmetrisk filkryptering»?

Bruk GPG til å kryptere filer for bestemte mottakere, signere innhold og administrere GPG-nøkkelringen. Du øver på Cryptology Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Cryptology Academy?

Ingen tidligere erfaring er nødvendig. Cryptology Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «GPG for asymmetrisk filkryptering»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Cryptology Academy-leksjonen?

Ja. Alle Cryptology Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. GPG for asymmetrisk filkryptering
  2. Krypteringsverktøyet age: et moderne alternativ til GPG
  3. Krypterte containere med VeraCrypt
  4. Sikker sletting og destruksjon av nøkler
← Tilbake til Cryptology Academy