egy korábbi cikkben bemutattam a GnuPG-t egy aláírt fájl ellenőrzésével és egy fájl titkosításával a címzett számára nyilvános kulcs használatával. Azt is megosztottam, hogyan lehet létrehozni egy kulcspárt és exportálni egy nyilvános kulcsot, hogy titkosított üzeneteket kaphassunk. Ebben a cikkben bemutatom, hogyan kell aláírni a fájlokat, mielőtt megosztaná e-mailben vagy közzétenné egy webhelyen.
a GnuPG használatával többféle módszer létezik egy fájl aláírására.
$ gpg --help | grep -i signSign, check, encrypt or decrypt -s, --sign make a signature --clear-sign make a clear text signature -b, --detach-sign make a detached signature --verify verify a signature
mivel minden lehetőséget tárgyalunk, aláírok egy egyszerű szöveges fájlt.
$ cat sample.txt Sample text for gpg signing
készítsen aláírást
a --sign
opcióval a fájl hatékonyan titkosítva van a privát kulccsal. A nyilvános kulcs szükséges a fájl tartalmának megtekintéséhez. Ez egyrészt arra kényszeríti a címzettet, hogy ellenőrizze a származást, másrészt eltávolítja a tiszta szöveges tartalmat a tranzitból. Ez nem privát, mivel bárki, aki rendelkezik nyilvános kulccsal, visszafejtheti a fájlt.
$ gpg -s sample.txt
ez egy minta nevű fájlt eredményez.txt.gpg.
$ file sample*sample.txt: ASCII textsample.txt.gpg: data
csak az aláírás ellenőrzéséhez használja a --verify
opciót. A tartalom megtekintéséhez és az aláírás-ellenőrzés megjelenítéséhez használja a --decrypt
opciót.
$ gpg --decrypt sample.txt.gpg Sample text for gpg signinggpg: Signature made Sat 30 May 2020 09:16:24 AM EDTgpg: using DSA key 15AC***********...omitted...
különálló aláírás készítése
a leválasztott aláírás opcióval mindenki megtekintheti az üzenetet a nyilvános kulcs nélkül. Ez létrehoz egy külön aláírási fájlt, amelyet szükség esetén az eredeti üzenet ellenőrzésére használnak. A legegyszerűbb formában ez a fájl tartalmazza az eredeti üzenet kivonatát, és titkosítva van a privát kulccsal. Bárki, aki rendelkezik nyilvános kulccsal, megnyithatja az aláírást, majd összehasonlíthatja a kivonatokat az aláírt fájl integritásának ellenőrzéséhez.
hozza létre az aláírási fájlt a --detach-sign
opcióval.
$ gpg -b sample.txt
az eredmény külön .sig adatfájl.
$ file sample*sample.txt: ASCII textsample.txt.gpg: datasample.txt.sig: data
ha nem szeretne megosztani, közzétenni vagy e-mailben elküldeni egy adatfájlt, akkor aláírhatja a fájlt a --armor
opcióval, és létrehoz egy ASCII szövegfájlt az aláírással. Azt is használja a .asc kiterjesztés helyett .Sig kiterjesztés:
$ cat sample.txt.asc -----BEGIN PGP SIGNATURE-----iF0EABECAB0WIQQVrPeUo9lk0dnOTCbvwxHCv6EJdAUCXtO/yAAKCRDvwxHCv6EJdC2BAJ49fIcOdBUdE0PELySEMlKNzVnZLgCdG1gsTim3gab2dgL6qagHArSlgq8==IvP/-----END PGP SIGNATURE-----
az eredeti egyszerű szöveges fájlt és a különálló aláírási fájlt egyaránt elérhetővé kell tenni a címzett számára.
az aláírás ellenőrzéséhez adja meg az aláírási fájlt, majd az eredeti fájlt.
$ gpg --verify sample.txt.sig sample.txt
ha az alapértelmezett neveket használta, kihagyhatja a titkosítatlan fájl nevét.
$ gpg --verify sample.txt.sig gpg: assuming signed data in 'sample.txt'gpg: Signature made Sat 30 May 2020 09:23:53 AM EDT...omitted...
tiszta szöveg aláírása
a --clear-sign
opció egy újabb lehetőség a GPG hosszú története szempontjából, és nagyon gyakori az olyan webhelyeken közzétett fájloknál, mint A Fedora download CHECKSUM fájlok. A tartalom bárki számára olvasható. Az aláírási információk ugyanabban a fájlban is elérhetők azok számára, akik ellenőrizni akarják a tartalom eredetét és integritását.
a --clear-sign
opció új fájlt hoz létre a .asc kiterjesztés.
$ gpg --clear-sign sample.txt
$ file sample*sample.txt: ASCII textsample.txt.asc: ASCII textsample.txt.gpg: datasample.txt.sig: data
az aláírás ellenőrzéséhez használja a --verify
opciót:
$ gpg --verify sample.txt.asc gpg: Signature made Sat 30 May 2020 09:27:56 AM EDT...omitted...gpg: WARNING: not a detached signature; file 'sample.txt' was NOT verified!
vegye figyelembe, hogy az ellenőrzési folyamat során üzenet jelenik meg, amely figyelmezteti, hogy a társított eredeti fájl nincs bejelölve. Átnevezheti ezt a fájlt, mielőtt közzétenné a webhelyén. Az ellenőrzés továbbra is ellenőrzi a fájl tartalmát.
bár gyakran ez a legkényelmesebb módszer a termékek fogyasztói számára, a GPG man oldalon figyelmeztetés található, hogy a leválasztott aláírások a jobb megoldás, ha teljes ellenőrzésre van szükség.
a gpg man oldalról:
megjegyzés: a cleartext aláírás ellenőrzésekor a GPG csak azt ellenőrzi, hogy mi alkotja a cleartext aláírt adatokat, nem pedig a cleartext aláíráson vagy a közvetlenül a kötőjel jelölővonalát követő fejlécvonalakon kívüli extra adatokat. A — output opció használható a tényleges aláírt adatok kiírására, de vannak más buktatók is ezzel a formátummal. Javasoljuk, hogy kerülje a cleartext aláírásokat a különálló aláírások javára.
egy adott kulcspár használata
a fenti példák mindegyike a kulcstartómban elérhető első privát kulccsal lett aláírva. Lehet, hogy egy másik kulcsot szeretnék használni, amikor aláírok egy fájlt egy weboldalon való közzététel céljából. A keypair kifejezetten a projekthez vagy termékhez jön létre. A keypair akár egy új megosztott kulcstartón is lehet.
$ gpg --keyring /etc/gpgkeys --no-default-keyring --full-gen-key <other options>
amikor egy fájl alá van írva vagy titkosítva van, feltétlenül adja meg a --keyring
opciót is.
még akkor is, ha csak egy személy használja a kulcsot a fájlok aláírásához, készítsen külön billentyűt az aláíráshoz. Ne használja ugyanazt a kulcsot más napi feladatokhoz, például a személyes e-mail titkosításhoz. Az elérhető privát kulcsneveket a gpg --list-secret
gombbal lehet felsorolni. Az azonosító, a név vagy az e-mail felhasználható a kulcs azonosítására.
ha a fájlt egy kulcstartóból egy adott kulccsal szeretné aláírni, használja a --local-user
identity opciót.
$ gpg --local-user "My Project 2" --clear-sign sample.txt
Wrap up
ha az egyszerű szövegfájl a termékletöltések ellenőrző összeg-kivonatainak listája, akkor ezt a fájlt, az aláírási fájlokat és az aláírások ellenőrzésére használt nyilvános kulcsot fel lehet tenni egy webhelyre. A fogyasztók ezután ellenőrizhetik a letöltéseket, mielőtt bármilyen szoftvert telepítenek a rendszerükre.