GNU/Linux >> Znalost Linux >  >> Linux

Jak digitálně podepsat soubor v Linuxu pomocí GnuPg (digitální podpisy)

Vzhledem k tomu, že mnoho organizací přechází od papírových dokumentů k digitálním dokumentům, jsou ke správě citlivých digitálních dokumentů vyžadovány digitální podpisy. Digitální podpisy lze použít k ověření zdroje zprávy, takže příjemce se může rozhodnout, zda bude odesílateli důvěřovat nebo ne. V současnosti je nejrozšířenější pro distribuci softwaru a finanční transakce.

V kryptografii veřejného klíče je možné k podepsání souboru použít soukromý klíč. Každý, kdo má odpovídající veřejný klíč, může zkontrolovat, zda byl soubor podepsán soukromým klíčem. Kdokoli, kdo nemá soukromý klíč, nemůže takový podpis zfalšovat.

Digitální podpisy lze použít k ověření odesílatele a jeho neodmítnutí. Podepisující osoba nemůže tvrdit, že dokument nepodepsala.

V dnešní době hrají digitální podpisy klíčovou roli v distribuci softwaru. Když nainstalujete jakýkoli software z debian mirroru, jakmile je software stažen, ověří, zda software pochází z důvěryhodného zdroje ověřením podpisu, čímž se zajistí, že balíček pochází z důvěryhodného zdroje.

Nyní uvidíme různé metody podepisování dokumentů pomocí nástroje GnuPG.

Pokud jste s nástrojem GnuPG noví, měli byste nejprve pochopit, jak používat základní příkazy gpg.

Digitální podpis, osvědčuje a opatřuje dokument časovým razítkem. Pokud je dokument jakýmkoli způsobem pozměněn, ověření podpisu se nezdaří.

1. Vytvořit digitální podpis pro soubor

K digitálnímu podepsání dokumentu se používá možnost podepsat. Budete požádáni o zadání své přístupové fráze pro odemknutí soukromého klíče, který se používá k podpisu dokumentu.

$ gpg --sign file.txt

You need a passphrase to unlock the secret key for
user: "lakshmanan (This is lakshmans key) "
2048-bit RSA key, ID 3630F8D6, created 2012-12-30

Enter passphrase:

Nyní vytvoří soubor s názvem „file.txt.gpg“ v binárním formátu. Vstupní soubor je před podepsáním souboru zkomprimován.

2. Ověřte digitální podpis

Máte-li podepsaný dokument, můžete podpis ověřit pomocí volby –verify.

$ gpg --verify file.txt.gpg

gpg: Signature made Saturday 12 January 2013 11:17:46 PM IST using RSA key ID 3630F8D6
gpg: Good signature from "lakshmanan (This is lakshmans key) "

Výše uvedený příkaz ověří, zda je vytvořený podpis dobrý.

3. Extrahujte dokument ze souboru

Chcete-li extrahovat původní dokument z podepsaného souboru, použijte volbu –decrypt. Můžete použít –output k určení výstupního souboru pro uložení skutečného obsahu souboru.

$ gpg --output doc.txt --decrypt file.txt.gpg

gpg: Signature made Saturday 12 January 2013 11:17:46 PM IST using RSA key ID 3630F8D6
gpg: Good signature from "lakshmanan (This is lakshmans key) "

Nyní bude aktuální dokument uložen do souboru doc.txt.

4. Chcete-li vymazat podpis dokumentů

Běžným použitím digitálních podpisů je odesílání e-mailů. V takovém případě není žádoucí soubor binárně komprimovat a podepisovat. Můžete použít volbu –clearsign k zabalení souboru do ASCII obrněných signatur.

$ gpg --output file.sig --clearsign file.txt

Nyní bude vytvořen ASCII soubor s názvem file.sig, který obsahuje digitální podpis a samotný soubor.

$ cat file.sig

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

This is a test file
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iQEcBAEBAgAGBQJQ8af1AAoJEHUf3BE2MPjWJ6QIAIoM7vZlvVD4PR4TgqKkUAr5
S4Pc/7tjkEquBcPfzHgm6MPdTd7kIvUzwHNkkST0FyB2cLzvx8wNf7Zp/kDYL0Uz
/7UCocMPsDBYHasUY4XRfCDUkF0ER/NAFdiL9AUTvQf6oQxwuQG9sWxb6tcK8eiV
U7BBvQvMl6RszP+e7VXgcDbNeYMrTDwrivP9BKwAFuBtZmRg0vQKnjenUyVJL6gJ
tndkwtOd1XGpc5ZKCTRSKOoTonuUQAD1q0Pi6nmeaNskSqwVOxzQcV6lQ8nHJTh2
XfKSAopNriv405YfC1KO5H2Ffzee2jx+o3HqxfU1vQbHtP7uf4QqxUc2HtDnRNQ=
=PN+K
-----END PGP SIGNATURE-----

Ověření jasně podepsaného dokumentu je podobné ověření binárně podepsaného dokumentu.

5. Vytvořit oddělený podpis

V případě oddělených podpisů se jako podpis vytvoří nový soubor. K vytvoření odděleného podpisu můžete použít volbu –detach-sign.

$ gpg --armor --detach-sig file.txt

Nyní bude vytvořen ASCII soubor s názvem file.txt.asc, který bude obsahovat oddělený podpis. Pomocí –output můžete změnit název odpojeného souboru podpisu.

6. Ověřte oddělený podpis

Abyste mohli ověřit oddělený podpis, musíte mít soubor podpisu i datový soubor.

$ gpg --verify file.txt.asc file.txt

gpg: Signature made Sunday 13 January 2013 12:13:59 AM IST using RSA key ID 3630F8D6
gpg: Good signature from "lakshmanan (This is lakshmans key) "

Zkusme upravit soubor file.txt. Přidejte nějaký obsah do souboru file.txt a zkuste ověřit podpis.

$ echo "Append" >> file.txt

$ gpg --verify file.txt.asc file.txt
gpg: Signature made Sunday 13 January 2013 12:13:59 AM IST using RSA key ID 3630F8D6
gpg: BAD signature from "lakshmanan (This is lakshmans key) "

Nyní se ověření nezdařilo, protože byl změněn obsah.

7. Šifrovat a podepsat dokument

V jednom z našich předchozích příspěvků jsme také podrobně diskutovali o tom, jak šifrovat a dešifrovat soubor pomocí GnuPG. Pokud však chcete dokument zašifrovat a podepsat zároveň, proveďte následující:

$ gpg --sign --encrypt --recipient raman file.txt

Výše uvedený příkaz zašifruje soubor.txt a dokument digitálně podepíše. Příjemce může ověřit podpis a dešifrovat dokument pomocí volby –decrypt.


Linux
  1. Jak šifrovat a dešifrovat soubory/složky v Linuxu pomocí GnuPG

  2. Jak zašifrovat a dešifrovat soubor pomocí GnuPG v Linuxu

  3. Jak rozdělit iso nebo soubor pomocí příkazu „split“ v Linuxu

  1. Jak vytvořit řídké soubory v Linuxu pomocí příkazu „dd“.

  2. Jak zkopíruji soubor přes FTP pomocí Ubuntu Linux?

  3. Jak upravit soubor Excel (xlsx) pomocí linuxového shellu

  1. Jak přesunout soubor v Linuxu

  2. Jak přejmenovat soubor v Linuxu?

  3. Jak připojit soubor pomocí příkazu mail v systému Linux?