Proč a jak používat digitální podpis PGP

Před nějakou dobou jsme diskutovali o kryptografických hashe (jako jsou kontrolní součty MD5 a SH1) a o tom, jak pomáhají zajistit, aby stahovaný soubor byl stejný soubor, jaký si jeho tvůrce chtěl stáhnout, vytvořením jedinečného „otisku prstu“ souboru, který lze zkontrolováno oproti originálu.


Schopnost ověřit integritu téměř každého souboru je důležitá, ale když stáhneme software pro ochranu soukromí a zabezpečení z internetu, je to naprosto zásadní. Koneckonců, co je smyslem pro důvěru v vaše soukromí a zabezpečení programu, který může obsahovat virus, zejména když se domníváte, že takový software a jeho uživatelé jsou bezpochyby vysokými prioritami pro NSA a jeho ilk?

I když stahujete software přímo z webu prodejce nebo vývojáře, můžete se stát obětí útoku Man-in-the-Middle (MitM), nebo samotný web může být různými způsoby ohrožen.

Použití kryptografických hashů je pokus o vyřešení tohoto problému, ale tato technika má bohužel hlavní slabost - například web vývojáře může být hacknut tak, aby zobrazoval hash kompromitovaného souboru místo původního, nebo může být matematická zranitelnost nezabezpečená. Haši jsou proto užitečné při ověřování, zda soubor nebyl poškozen, ale mají pouze omezené použití při zajišťování toho, aby stahovaný soubor byl stejný soubor, který jej vývojáři zamýšlí stáhnout.

Aby to bylo zajištěno více, mohou vývojáři podepsat své soubory digitálními podpisy, které používají formu asymetrické kryptografie (veřejné klíče a soukromé klíče), aby ověřily, že soubor je přesně tím, co tvrdí, že je.

Diagram ukazující, jak je digitální podpis aplikován a poté ověřen.

Digitální podpisy PGP

Různé kryptografické systémy používají různé mechanismy k vytváření a ověřování digitálních podpisů. Například Windows používá technologii PKI (Microsoft Public Key Infrastructure) k automatickému ověření podpisů při první instalaci softwaru.

Open-source software nemůže používat vhodnost Microsoft PKI, a proto místo toho používá digitální podpisy PGP. Který pak musí být ručně ověřen. Fungují velmi podobně jako klíčové páry používané k ověřování e-mailů PGP, a jak uvidíme, ověření digitálních podpisů PGP vyžaduje použití poštovního programu kompatibilního s PGP.

Bohužel to také znamená, že stejně jako používání PGP k zabezpečení e-mailů, používání digitálních podpisů PGP je příliš složité.

Jak ověřit digitální podpis pomocí grafického rozhraní Kleopatra

K ověření digitálního podpisu PGP souboru musíte použít klienta PGP (nebo přesněji GnuPG - jeho klon s otevřeným zdrojovým kódem). Verze GnuPG jsou k dispozici pro Windows (Gpg4win), Mac OSX a Linux (obvykle předinstalované).

V tomto tutoriálu ověříme digitální podpis Pidgin + OTR pomocí Gpg4win, ale tento proces je velmi podobný pro ostatní verze GnuPG..

Máme dvoudílný článek o používání Gpg4win a důrazně doporučujeme přečíst si alespoň část 1 tohoto článku, abyste se seznámili s klíčovými pojmy, které budou použity níže..

Stahování Gpg4win je digitálně podepsáno klíčem, který byl ověřen uznávanou certifikační autoritou (CA) a který lze nezávisle zkontrolovat pro ověření pomocí důvěryhodné starší kopie GnuPG (k dispozici je také hash SHA1)). Nikdy byste neměli věřit kopii Gpg4win, kterou jste neověřili.

Po instalaci GnuPG potřebujeme tři věci k ověření digitálního podpisu:

  • Soubor, který chceme ověřit (duh!) Např. instalační program pidgin-otr-4.0.1.exe
  • Podpisový soubor PGP / GPG (.asc), např. pidgin-otr-4.0.1.exe.asc
  • Certifikát veřejného klíče / PGP použitý k vytvoření tohoto podpisu, např. gpgkey.asc

Tyto soubory by měl (snad) poskytovat vývojář, jehož digitálně podepsané soubory chcete ověřit. Certifikáty veřejného klíče / PGP jsou často uloženy na serveru klíčů, ale devs by měly poskytovat pokyny pro přístup k nim.

Kleopatra

Kleopatra je program správy klíčů dodávaný s Gpg4win.

1. K ověření certifikátu PGP budete potřebovat osobní soukromý klíč. Pokud jste ji dříve vytvořili (například pomocí GPA), můžete ji importovat (Soubor -> Importovat certifikáty…) nebo můžete vytvořit nový pár klíčů (File -> Nový certifikát…).

Průvodci vás provedou celým procesem

2. Importujte veřejný klíč / certifikát PGP do Kleopatry - použijte buď „Importovat certifikáty“, nebo klikněte pravým tlačítkem myši na soubor a vyberte „Importovat klíče“.

3. Certifikujte PGP certifikát pomocí vašeho soukromého klíče - to řekne GnuPG, že důvěřujete osobě, která certifikát podepsala.

a) V Kleopatře klikněte pravým tlačítkem myši na klíč a vyberte „Certify Certificate“.

b) Vyberte certifikát a potvrďte, že jste ověřili jeho otisk prstu (doufejme, že bude zveřejněn na webu vývojáře).

c) Pokud si nejste zcela jisti pravostí certifikátu, měli byste certifikovat pouze pro sebe (certifikáty fungují na principu sítě důvěry - čím více lidí, kteří jim důvěřují, tím může být autentičtější).

d) Zadejte přístupové heslo soukromého klíče a dokončete ověřování certifikátu.

4. Nyní, když jste certifikovali certifikát používaný k vytvoření podpisu pro stahovaný soubor (whew!), Můžete jej použít k ověření podpisu.

a) V Kleopatře přejděte do souboru -> Dešifrujte / ověřte soubory a vyhledejte soubor s podpisem nebo klikněte na něj pravým tlačítkem myši a přejděte na možnosti MoreGpgEX -> Ověřte.

b) Ujistěte se, že „Vstupní soubor“ je soubor s podpisem a zda pole „Podepsaná data“ obsahuje program nebo soubor, který chcete ověřit, a poté klikněte na „Dešifrovat / ověřit“..

c) Společnost Kleopatra prohlašuje podpis za platný.

Jak mohu důvěřovat certifikátu?

Nejjednodušší způsob, jak ověřit platnost certifikátu PGP, je zkontrolovat webovou stránku osoby, která má certifikát podepsat ... s trochou štěstí zveřejní otisk prstu certifikátu.

Ačkoli je to snadné, nezaručuje to autentičnost podpisu, protože web mohl být hacknut nebo nucen vládou zobrazit falešný otisk prstu (stejný problém, který trápí kryptografické hashování).

Zde přichází web důvěry, kde uživatelé ručí za certifikát. V praxi je to tajemný proces, který je pro většinu uživatelů příliš složitý a příliš temný, takže nejlepší, z čeho může většina z nás doufat, je, že certifikát byl uznán uznávanou certifikační autoritou nebo podepsán známými vývojáři. kteří publikují své podpisové klíče (jako například vývojáři Tor).

Pidgin + OTR je v některých ohledech špatným příkladem toho, jak by mělo digitální podepisování fungovat, protože webová stránka OTR přichází s téměř žádnými pokyny, jak používat publikované klíče, a jeho PGP certifikát nebyl jen velmi obtížně lokalizovatelný, ale jiný než dostupný z https://otr.cypherpunks.ca/gpgkey.asc neexistuje snadný způsob, jak ověřit jeho autentičnost (skutečnost, že používá 1024bitový RSA klíč, je v tomto věku také špatná show, když NSA pravděpodobně může takové slabé šifrování crackovat ).

Je to však dobrý příklad, proč je celá představa o digitálních podpisech taková zmatek! Zajímavá diskuse o tom, jak se můžete pokusit ověřit OTR certifikát, je k dispozici zde.)

Závěr

Jak vidíte, ověření digitálního podpisu je opravdu bolest, takže není divu, že i ti, kteří rozumí žargonu těžkému žargonu, se málokdy obtěžují. Problém je ještě horší tím, že mnoho devs nedokáže vysvětlit, jak ověřit jejich soubory, a / nebo vydávat nedbalé PGP certifikáty, které je velmi obtížné ověřit, jsou pravé (OTR-tým, my se na vás díváme!)

Skutečnost, že digitální podpisy zůstávají jediným smysluplným způsobem, jak zaručit, že stahované soubory jsou ty, které jste chtěli stáhnout (nebo že jejich devs je zamýšleli stahovat), není pro zabezpečení internetu dobré.

Dokud však někdo nevyvine lepší a uživatelsky přívětivější systém, je naší nejlepší nadějí povzbuzovat zařízení k tomu, aby poskytovaly jasné pokyny, jak používat své digitální podpisy, a zveřejňovat smysluplné záruky, pokud jde o pravost jejich certifikátů PGP… (povzdech)

"Schéma digitálního podpisu" od Acdx - vlastní práce. Licencováno pod CC BY-SA 3.0 prostřednictvím Wikimedia Commons - https://commons.wikimedia.org/wiki/File:Digital_Signature_diagram.svg#mediaviewer/File:Digital_Signature_diagram.svg

Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me