«

»

Lis 29

Šifrovanie a digitálny podpis pomocou GnuPG

gnupgGnuPG (The GNU Privacy Guard, v skratke GPG) slúži na šifrovanie dát, na vytvorenie digitálneho podpisu, overovanie digitálneho podpisu, ku správe kľúčov, ku importu či exportu už vytvorených digitálnych podpisov a podobne. Na šifrovanie využíva RSA, DSA a Elgamal.

Potrebný balíček je súčasťou základného systému, takže nie je potrebné inštalovať ho.

 

 

Manuálová stránka:

man gpg
man gpg2

 

Pomoc:

gpg --help
gpg2 --help

 

Vytvorenie nového kľúča:

V termináli zadáme príkaz:

gpg2 --full-gen-key

 

Výstup príkazu:

gpg (GnuPG) 2.1.16; Copyright (C) 2016 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Prosím, vyberte druh kľúča, ktorý chcete:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (len na podpis)
(4) RSA (len na podpis)
Váš výber? 1

Zvolíme si napríklad prvú možnosť a stiskneme enter.

RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 4096

Zadáme požadovanú hodnotu. Napríklad 4096 a hodnotu potvrdíme.

Požadovaná dĺžka kľúča je 4096 bitov.
Prosím určte, ako dlho by mal kľúč platit.
0 = doba platnosti kľúča nie je obmedzená
<n> = doba platnosti kľúča skončí za n dní
<n>w = doba platnosti kľúča skončí za n týždňov
<n>m = doba platnosti kľúča skončí za n mesiacov
<n>y = doba platnosti kľúča skončí za n rokov
Kľúč je platný na? (0) 2w

Zvolenú hodnotu potvrdíme.

Key expires at Ut 13. december 2016, 13:32:49 CET
Is this correct? (y/N) y

y potvrdí správnosť zvolenej doby expirácie
n (N) umožní dobu expirácie upraviť

GnuPG needs to construct a user ID to identify your key.

Meno a priezvisko: lombardo1981
E-mailová adresa: my_email@domain.com
Komentár: kľúč
You are using the ‚utf-8‘ character set.
Zvolili ste tento identifikátor užívateľa:
„lombardo1981 (kľúč) <my_email@domain.com>“

Zmeniť (M)eno, (K)omentár, (E)-mail alebo (P)okračovať/(U)končiť? P

m (M) zmení meno
k (K) zmení komentár
e (E) zmení e-mailovú adresu
p (P) pokračuje vo vytváraní kľúča
u (U) ukončí vytváranie kľúča

Pri pokračovaní za objaví okno, do ktorého zdáme hlavné heslo. Nutnosť jeho zapamätania netreba pripomínať.
Po jeho zdaní sa môže objaviť ešte jedno upozornenie s pritvrdením. Stáva sa to v prípade, že heslo neobsahuje žiadne špeciálne znaky.

Je potrebné vytvoriť veľa náhodných bajtov. Počas vytvárania môžete
vykonávať inú prácu na počítači (písať na klávesnici, pohybovať myšou,
používať disky); vďaka tomu má generátor lepšiu šancu získať dostatok entropie.
Je potrebné vytvoriť veľa náhodných bajtov. Počas vytvárania môžete
vykonávať inú prácu na počítači (písať na klávesnici, pohybovať myšou,
používať disky); vďaka tomu má generátor lepšiu šancu získať dostatok entropie.
gpg: key E35BA4378286EF34 marked as ultimately trusted
gpg: revocation certificate stored as ‚$HOME/.gnupg/openpgp-revocs.d/08A8FFF52D78A0A467EFC3E0E35BA4378286EF34.rev‘
verejný a tajný kľúč boli vytvorené a podpísané.

pub rsa4096 2016-11-29 [SC]
08A8FFF52D78A0A467EFC3E0E35BA4378286EF34
08A8FFF52D78A0A467EFC3E0E35BA4378286EF34
uid lombardo1981 (kľúč) <my_email@domain.com>
sub rsa4096 2016-11-29 [E]

 

V prípade, že sa jedná o verejný kľúč, je potrebné ešte vytvoriť tzv. revokačný certifikát, ktorý slúži na zrušenie platnosti certifikátu v prípade, že došlo ku jeho zneužitiu či zabudnutí hesla. Samozrejme nie je na škodu, ak sa vytvorí aj pre tajnú kľúč:

gpg --output revoke.asc --gen-revoke lombardo1981

 

Výstup príkazu:

sec rsa4096/E35BA4378286EF34 2016-11-29 lombardo1981 (kľúč) <my_email@domain.com>

Create a revocation certificate for this key? (y/N) y
Prosím vyberte dôvod na revokáciu:
0 = Dôvod nebol špecifikovaný
1 = Kľúč bol skompromitovaný
2 = Kľúč je nahradený
3 = Kľúč sa už nepoužíva
Q = Zrušiť
(Pravdepodobne ste chceli vybrať 1)
Vaše rozhodnutie? 1

Ak chcete, napíšte popis; ukončite prázdnym riadkom:
> popis
>

Dôvod na revokáciu: Kľúč bol skompromitovaný
popis
Is this okay? (y/N) y

Po zadaní hlavného hesla sa v domovskom priečinku vytvorí súbor s názvom revoke.asc. Ten je potrebné premiestniť na bezpečné médium a bezpečne zmazať pomocou príkazu shred alebo BleachBit.

Vynútený ASCII textový výstup.
Bol vytvorený revokačný certifikát.

Presuňte ho na médium, ktoré môžete schovať; ak Mallory získa k
tomuto certifikátu prístup, môže znefunkčniť Váš kľúč. Jednoduché je
vytlačiť certifikát a schovať ho, pre prípad že by médium bolo nečitateľné.
Ale hrozí nebezpečenstvo: Tlačový systém Vášho počítača môže ukladať dáta a
sprístupniť ich iným!

 

Bezpečné zmazanie revokačného certifikátu pomocou príkazu shred:

shred -xu /cesta/ku/revoke.asc

 

Skontrolovanie existencie kľúča:

gpg --list-keys lombardo1981

 

Vymazanie kľúča z tajnej databázy:

gpg --delete-secret-keys lombardo1981

 

Úplné vymazanie kľúča z databázy. Pokiaľ je kľúč tajný, najprv je potrebné vymazanie z tejto databázy:

gpg --delete-keys lombardo1981

 

Šifrovanie súboru pomocou kľúča:

Na výber máme tri možnosti ako sa k potrebnému súboru dostaneme. Prvou je zadanie úplnej cesty ku súboru, druhou je príkaz cd a treťou otvorenie terminálu v priečinku, kde sa súbor nachádza. Na zašifrovanie sa môže použiť e-mail či meno. Existujú dve možnosti: encrypt a symmetric.
encrypt využíva hlavné heslo
symmetric na zašifrovanie využíva symetrickú šifru derivovanú z hlavného hesla

Prvá možnosť:

gpg --encrypt --recipient 'lombardo1981' /cesta/ku/.file
gpg --encrypt --recipient my_email@domain.com /cesta/ku/.file
gpg --symmetric /cesta/ku/.file

Druhá možnosť:

cd /cesta/ku
gpg --encrypt --recipient 'lombardo1981' .file
gpg --encrypt --recipient my_email@domain.com .file
gpg --symmetric .file

Tretia možnosť:

gpg --encrypt --recipient 'lombardo1981' .file
gpg --encrypt --recipient my_email@domain.com .file
gpg --symmetric .file

Vytvorí sa súbor s názvom .file.gpg

 

Ak chceme vytvoriť vlastný názov šifrovaného súboru:

gpg --output súbor.gpg --encrypt --recipient 'lombardo1981' .file
gpg --output súbor.gpg --encrypt --recipient my_email@domain.com .file
gpg --output súbor.gpg --symmetric .file

 

Zmazanie tajných informácií sa dá urobiť aj pomocou príkazu shred, ktorý slúži na bezpečné mazanie súbor či priečinkov. Opäť máme na výber tri možnosti:

shred -xu /cesta/ku/.file

 

Dešifrovanie súboru pomocou kľúča:

Na výber máme tri možnosti ako sa k potrebnému súboru dostaneme. Prvou je zadanie úplnej cesty ku súboru, druhou je príkaz cd a treťou otvorenie terminálu v priečinku, kde sa súbor nachádza:

Prvá možnosť:

gpg --decrypt --recipient 'lombardo1981' /cesta/ku/.file.gpg

Druhá možnosť:

cd /cesta/ku
gpg --decrypt .file.gpg

Tretia možnosť:

gpg --decrypt .file.gpg

Vytvorí sa súbor s názvom .file

 

Ak chceme vytvoriť vlastný názov rozšifrovaného súboru:

gpg --output súbor --encrypt .file.gpg

 

Import a export kľúčov:

Export kľúča:

gpg --armor --export my_email@domain.com > public_key.txt

V domovskom priečinku s vytvorí súbor s názvom public_key.txt.

 

Jeho obsah vyzerá nejako takto:

cat public_key.txt.

—–BEGIN PGP PUBLIC KEY BLOCK—–

8GwbLpNaR6lszgordDa8jgBH1BNaIDGEMLjRfMwCiPmuM0AaCz4gEANjU61lSd/X
9cMPOZiM7dhmi/kRdWOMd3ROl1ixP1yf4/8hiN7F824IisAlEoBGKyXAtVfm4ZWl
mYgOjQEZrNojrFrKXkMChihG2j1Mkdyw5CGefuhFfGq3GRu5Ma+oCuR4orzRA8HQ
x4Rf8za7rOb9+fhqbe9VD65uHEuCPSRkMuxqIQsHtEEEIW8ase89WyXpk6GXUABV
BD1P2lQSnZOA6VIoi8Ij43BJ2MvafyQ7LxoULM/tGKWjW/CjdD9MXPBm3wRRRPsp
uLC5JWLwSuMx159wz2Y6JGIqglz8QRZ1nVW2FZVhf1EzsvSJdBEMl7vlXHXlHKNc
9hWs3neZ3yv6fQIq8pmoJ/0/8wXB1U20qKxYwJaG5dsmNe4cJTPcuW8i+X0k4a3k
7TW1YzLwBRmuGt0AEQEAAYkCNgQYAQgAIBYhBH5oAnISaUH/IINgx07PlMXouT5c
BQJYPYs8AhsMAAoJEE7PlMXouT5cJf8QALq2j+a+rPCa/mRgl4rxupN/oSZtYHMe
rlD2/TGKQBVR7OpMe7sxnZw/aiBXKeSDWfQEJdTwCN2lboGgW5YT2u3pRhdgT9UV
+jktjL7wc8LmCZ73t7oA9Z7GIKYF9krH7dPEoo/mBSSSw2Tx56HQFjFGaL0fc9Le
EPbfbIZI2rA3UxQVJC2C5TU+8rC/nE59pC+8+nXBhghd2nzy05vn6xZJBI+TB4Jc
YhFXdfleLJsimAkq80TZXq4ZeMl0OoZnQGtZre8IXyaiSKJwHWH9sRtXyIvUU8vl
2J43CSqtnl7DZMczmQ2B9QGT7jLNsJgKZ3KnrDU/jK5RgKPaze1pwI702BUH7hgO
54WP1zDAf9avkjbK91d5D0tLplw0BYoAFsxnGVvewiHn9qRziIwOCMLQP4PuGY5v
nqH/83pzQxKyRqJ9ogL+G+ID30t+duYH8F1AUP7rab+z1W6N96xrBLfoNMc9OTFT
dkcXtGtktuk9G4HgYOFK5X4if4Ev4fr96PQ729T8AV94tZM/XsUSvyG9hPQ4PWv2
LjE4kDWMYUnEhaQyjDTMTlztjZVHfnqWv5i6XMUhsIe+lL1fUjoUj6wDQHuPvimH
talaBJxc6iumfa/gOsBo6znF/Sq78xCZ8csXMe7/Dz40I1P93V1013VuXq7j56ht
r4x1Vz6DcKSc
=bH2u
—–END PGP PUBLIC KEY BLOCK—–

 

Import kľúča:

gpg --import /cesta/ku/public_key.txt

 

Výstup príkazu:

gpg: key 4ECF94C5E8B93E5C: „lombardo1981 (kľúč) <my_email@domain.com>“ importovaný
gpg: Celkovo spracovaných kľúčov: 1
gpg: importovaných: 1

 

Ako druhé musíme skontrolovať, či nedošlo ku úpravám tohto kľúča. Túto kontrolu musia vykonávať obe strany:

gpg --fingerprint my_email@domain.com

 

Výstup príkazu:

gpg: kontrolujem databázu dôvery
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
pub rsa4096 2016-11-29 [SC]
7E68 0272 1269 41FF 2083 60C7 4ECF 94C5 E8B9 3E5C
uid [ultimate] lombardo1981 (kľúč) <my_email@domain.com>
sub rsa4096 2016-11-29 [E]

O autorovi

lombardo1981

Ja som proste ja. Baba zamilovaná do Archu, kyberpunku, metalu, spevu a Slovenských čuvačov.

2 pings

  1. NeoMutt I. – Inštalácia a konfigurácia »
    WordPress 4.7.1

    […] použitia šifrovaného súboru s heslom. Niečo k tomu sme si už povedali v článku s názvom Šifrovanie a digitálny podpis pomocou GnuPG. Preto opäť nahrávam celkovú všeobecnú konfiguráciu v archíve aj s popisom. V ňom sa dá […]

  2. NeoMutt III. – GnuPG a šifrovanie hesiel »
    WordPress 4.7.1

    […] Najskôr si v stručnosti zopakujeme niekoľko dôležitých informácii, ktorým sme sa venovali v článku Šifrovanie a digitálny podpis pomocou GnuPG. […]

Napsat komentář

%d blogerům se to líbí: