Digitální podpis
V okamžiku, kdy máme zašifrované zprávy, musí být ještě nějakým způsobem zajištěna integrita a autentičnost dat. K tomu slouží digitální podpis (jehož používání bylo nedávno uzákoněno našimi zákonodárci). Digitální podpis je založen na metodě vytvoření speciálního řetězce bitů z obsahu zprávy pomocí tzv. hashovací funkce (o té si možná povíme někdy příště). Výsledkem této funkce je tzv. kódový řádek, např o délce 150bitů, který je pro každou zprávu jedinečný. Kdyby se ve zprávě změnil jediný bit, vlastnost hashovací funkce zaručí v průměru změnu poloviny bitů v řádku.
Např. odesilatel vypočítá hashovací funkcí digitální podpis popisu nemovitosti a zašifruje jej svým privátním klíčem. Odešle jak vlastní zprávu, tak digitální podpis příjemci. Poté, co příjemce obdrží zprávu, vypočítá hodnotu hashovací funkce popisu nemovitosti a dešifruje digitální podpis pomocí veřejného klíče odesilatele. Pokud se obě hodnoty shodují, příjemce je jistý, že zpráva byla podepsána odesilatelem s použitím jeho privátního klíče a poté, co byla odesilatelem podepsána, nebyla nikým změněna.
Dva páry klíčů
V metodě SET se používá zvláštní pár veřejných privátních klíčů pro vytovření digitálního podpisu. Proto každý účastník bude vlastnit dva páry asymetrických klíčů: jeden pro šifrování a dešifrování při výměně zpráv a druhý pro vytvoření a ověření digitálního podpisu. Povšimněte si, že role veřejných a privátních klíčů je při vytváření digitální podpisu obrácena: privátní klíč se používá k zašifrování (podpisu) a veřejný klíč k dešifrování (ověření podpisu).
Certifikace
Certifikace slouží k dalšímu posílení ověřitelnosti zpráv. Předtím, než dva účastníci použijí asymetrické kryptografie s veřejnými klíči pro uzavření obchodů, musí si být jisti autentičností každého z nich. Dříve, než příjemce použije zprávu s odesilatelovým digitálním podpisem, potřebuje se ujistit, že veřejný klíč patří skutečně odesilateli, a ne někomu, kdo se na otevřené síti za něj vydává. Jedna z možností je získat veřejný klíč přímo od odesilatele, což ovšem není pro většinu případů schůdné.
Další možností, jak bezpečně získat veřejný klíč, je využít důvěryhodné třetí strany k ověření, že veřejný klíč patří odesilateli. Tuto funkci přebírá Certifikační úřad (Certification Authority) - CA. Ten odesilateli vydá certifikát podle zveřejněných podmínek, např. když doloží svou totožnost řidičským průkazem nebo pasem na notářském úřadě. Po doložení totožnosti vydá Certifikační úřad zprávu, obsahující jméno odesilatele a jeho veřejný klíč. Tato zpráva, nazývaná certifikát , je digitálně podepsána Certifikačním úřadem. Obsahuje identifikaci držitele certifikátu a kopii jednoho z jeho veřejných klíčů (klíč pro výměnu zpráv nebo pro podpis zpráv).
Vzhledem k tomu, že účastníci metody SET mají dva páry klíčů, musí mít také dva certifikáty, podepsané Certifikačním úřadem ve stejnou dobu. Veřejný klíč Certifikačního úřadu musí být znám co nejvíce lidem, a tak pomocí jediného klíče se může vytvořit celá hierarchie certifikátů (ústředí asociace certifikuje klíče regionům, regiony certifikují jednotlivé země, ty pak jednotlivé finanční instituce atd.). Vlastní metoda, jak finanční instituce ověřují držitele karet a obchodní místa, není v metodě SET definována a každý provozovatel platebního systému (VISA nebo MasterCard) si zvolí vlastní postupy.
Obhospodařování klíčů
Většina činností připisovaných odesilateli nebo příjemci je automatizována programovým vybavením, vlastní algoritmus pak hardwarovými moduly kvůli rychlosti. Délka klíčů se neustále zvětšuje, jak stoupá výkonnost hardwarových modulů.
Algoritmus šifrování je známý a celá bezpečnost zpráv spočívá v ochraně privátních klíčů a v relativně snadné dostupnosti veřejných klíčů, u nichž musí být zřejmé, že nikdo nepozměnil. Uživatel musí snadno a bezpečně získat dvojici klíčů (a často více dovjic, např. pro služební účely a pro soukromé použití). Dále musí existovat způsob, jak získat veřejné klíče jiných účastníků a zveřejňovat své klíče. Uživatel musí mít důvěru v legitimnost jiných veřejných klíčů; narušitel nesmí změnit uveřejněné klíče v seznamu nebo někoho vymazat. Za tímto účelem jsou vydávány certifikáty, které musí být obtížně padělatelné a lze je získat velmi bezpečným způsobem a chránit proti narušitelům.
Je-li privátní klíč ztracen nebo zkompromitován (a přitom stačí jen podezření), ostatní uživatelé musí být uvědoměni, aby nadále nešifrovali zprávy neplatným klíčem, ani nepřijímali zprávy podepsané neplatným privátním klíčem.
Důležitý prvek při manipulaci s klíči je doba životnosti klíče:
- generování klíče a jeho registrace jako veřejného klíče,
- distribuce klíče,
- aktivování/ deaktivování klíče,
- náhrada klíče nebo jeho aktualizace,
- zrušení klíče,
- ukončení platnosti klíče, jeho zničení (a archivace).
Proto každý klíč musí mít definovanou dobu platnosti, která má být mnohem kratší, než je očekávaná doba rozluštění klíčů, resp. délka klíče musí být dostatečně dlouhá, aby rozluštění bylo vysoce nepravděpodobné před uplynutím životnosti klíče. Doba platnosti klíče se obvykle rovná době platnosti certifikátu, i když tomu tak nemusí být vždy. Při uplynutí doby životnosti klíče se současně také požádá o nový certifikát, obvykle s delšími klíči, aby se čelilo pokroku v algoritmech vyhledávání součinitele. Rychlejší hardware přináší zvýšení bezpečnosti, ale jen když je současně prodlužována délka klíčů!