Kryptografický protokol

Kryptografický protokol (bezpečnostní protokol nebo také šifrovací protokol) je protokol, který zajišťuje bezpečný přenos informací na základě předem daných ustanovení. Protokol popisuje, jak by měl být daný algoritmus použit.

Kryptografický protokol se především používá pro bezpečný přenos dat na aplikační úrovni. Kvalitní kryptografický protokol obecně neumožňuje účastníkům získat data nebo provést jiné akce, než protokol povoluje. Také získání dat běžným luštěním šifer musí být co nejsložitější a záznamů o původním textu musí být co nejméně, aby se omezilo prolomení šifry a získání původní zprávy. Jednou z nejpoužívanějších metod prolamování šifer je řešení hrubou silou, tedy takzvaný brute force. Aby se předešlo prolomení klíče, používají kryptologické protokoly různé metody, funkce a jejich kombinace k tomu, aby své zprávy co nejlépe uchránily. Běžně kryptologické protokoly tedy podporují několik z těchto prvků:

  • Key-agreement protokol nebo ustanovení klíče
  • Ověření entit
  • Symetrické šifry
  • Zabezpečený přenos dat na aplikační úrovni
  • Metody nespornosti přenosu

Na příklad Transport Layer Security (TLS) je kryptografický protokol, používaný pro zabezpečení webové (HTTP) komunikace. Obsahuje mechanismus pro kontrolu entit (založený na systému X.509), vytvoření klíče (přičemž je vytvořena symetrická šifra na základě kryptografie s veřejným klíčem) a funkci pro přenos dat na aplikační úrovni. Tyto tři aspekty mají mezi sebou podstatné spojení. Standardní TLS neobsahuje podporu metody nespornosti přenosu.

Existují také další typy kryptografických protokolů a i termín sám o sobě je chápán několika způsoby; Kryptografický aplikační protokol často používá jednu čí více základních metod pro ustanovení klíče, které se někdy také překládají jako "kryptografické protokoly". Na příklad TLS využívá Diffieho-Hellmanovu výměnu klíčů, který je v TLS pouze jeho součástí, ovšem v jiných aplikacích se bere jako plnohodnotný samostatný kryptografický algoritmus.

Kryptografický protokol může být formálně verifikován na abstraktní úrovni. V tom případě je potřeba formalizovat prostředí, ve kterém protokol operuje, aby mohli být identifikovány případné hrozby. Toho je většinou docíleno pomocí Dolev-Yao modulu.

Pokročilejší kryptografické protokoly

Široké spektrum kryptografických protokolů se nepoužívá jenom pro tradiční důvěryhodnost údajů, integritu a autentizaci, ale také pro řadu dalších požadovaných charakteristik zabezpečení v rámci počítačové spolupráce. Tzv. slepé podpisy (Blind signatures) se používají pro virtuální měny a elektronické pověření. Například pro ověření, že daná osoba má vlastnost nebo právo k danému úkonu, bez odhalení její identity či skupiny identit, se kterou osoba prováděla transakce. Časová razítka se používají pro ověření existence dat v určitém čase (a to i ověřených dat). Bezpečný multi-party výpočet se používá pro výpočet odpovědí (jako jsou odhady největšího příhozu v aukcích) na základě důvěrných dat (jako jsou privátní příhozy) a to tak, že po dokončení výpočtu účastníci znají pouze své vlastní vstupy a výsledný odhad. Nepopíratelné podpisy jsou interaktivní protokoly, které umožňují osobě, která je podepsala, prokázat případné padělání a určit omezení, kdo může podpis ověřovat. Popiratelné podpisy rozšiřují standardní šifrování tím, že znemožňují případnému útočníkovi matematicky dokázat existenci otevřeného textu zprávy.

Příklady

Reference

V tomto článku byl použit překlad textu z článku Cryptographic protocol na anglické Wikipedii.

Externí odkazy