5. Kryptografické protokoly
Zadání
Kryptografické protokoly, způsoby ustavení kryptografických klíčů, protokoly s nulovým rozšířením znalostí. Kvantová kryptografie.
Vypracování
Kryptografické protokoly
A protocol is an algorithm two (or more) parties have to follow to perform a communication/cooperation. (Algoritmus, definovaný posloupností kroků akcí dvou/více stran k dosažení cíle)
A cryptographical protocol is a protocol to achieve secure communication during some goal oriented cooperation.
Motivace
Zašifrovat nebo hashovat tajnou informaci (heslo) může být nebezpečné. Replay attack
Použití složitější komunikace - autentizačního protokolu
Dobré např k demonstraci znalosti tajné informace bez jejího přenosu
Založeno na kryptografických systémech (sym. i asym.), hashe. Často na principu challange-response
Cíle krypto protokolů:
Důvěrnost, autentizace (stran i zprávy), integrita, ustavení klíče, nepopiratelnost atd…
Dalsi protokoly (asi jen pro uplnost, z IV054)
Coin flipping protokoly - A a B si pošlou „minci“ na dálku, nikdo z nich nedokáže určit outcome. Dokážou se na něm ale dohodnout, i když si nevěří. CF pomocí jednocestné fce.
bit commitment protocols - A vezme bit x a událá commit(x). Nelze to změnit a B neví, jaký commit udělala. B si může tipnout, A dokáže udělat open(x) a dokazat jaky byl commit (0 nebo 1). commit muze byt napr HASH.
Oblivious transfer protocol - A posle tajemstvi B. A nevi, jestli B ho dostane. B ho dostane s pravedpodobnosti 1/2 (1/2 odpad).
Autentizace
Přesvědčit druhou stranu, že identita patří mně.
Jedné/obou stran
Na Pubkey Crypto (šifrovat nonce, na druhou stranu poslat nonce + 1 zašifrované…)
Pomocí MAC (nonce + MAC(nonce)) - HMAC, CBC-MAC
Challange-response (commitment to a secret, challange, response, verification), příklad simplified Fiat-Shamir
Trojcestná auth. - podpisem A dokáže, že je A. B vytvoří session key K, zašifruje a podepíše → A. A a B si ve zprávách ještě posílají nonce (2 různé)
Zero-knowlegde protokoly: Důkaz, že znám tejemství nebo informaci (např dokážu spočítat rovnici, odpovědět na otázku) s dostatečně malou pravděpodobností podvodu (tipování) aniž bych zveřejnil cokoli o tom, jak jsem to dokázal.
Příklad: Chodba s jedním vchodem. Chodba je do kruhu. V jedné části kruhu jsou zavřené dveře rozdělující chodbu na 2 části, není na ně od vchodu do chodby vidět. Jak Alice dokáže, že má klíče od dveří, aniž by ukázala klíče Bobovi, nebo mu ukázala, že jimi prochází? Bob si stoupne ke vchodu, Alice vyjde jedním směrem a vrátí se z druhé strany. Jinak než přes zamčené dveře jít nemohla. Bob má důkaz.
Podobné challange - response (taky si povídají a odpovídají na výzvu)
Completeness - hodní dokáží odpovědět
Soundness - zlí nedokáží přesvědčit ověřovatele aniž by odhalili tajemství.
Příklad: Fiat-Shamir algoritmus, (nebo z-k proof for quadratic residua)
Nonces (unikátní číslo pro danou komunikaci):
náhodná čísla - nutná čerstvost a dostatečná kvalita, challenge-response protokoly
sekvenční čísla - nárůst o 1 nebo jen kontrola, že neklesají
časová razítka - „acceptance window“, je třeba zajistit zabezpečenou a dobře fungující synchronizaci hodin (NTP)
Ustavení klíče
Bezpečné předání klíče nebo dohoda na klíči (vzájemné vytvoření)
Požadované vlatnosti:
implicitní autentizace klíče - ujištění, že pouze konkrétní protistrana získala přístup ke stejnému sdílenému klíči
potvrzení klíče - ujištění, že protistrana opravdu má přístup ke klíči
explicitní autentizace klíče - předchozí dva
autentizace stran
Klíče relací (session keys - krátkodobé klíče)
Méně šifr. textu k dešifrování pod stejným klíčem
Při vyzrazení méně škod
Určitá nezávislost aplikací používajících stejný dlouhodobý klíč
Příklad: Merkle alg. - A použije nový klíčový pár (asym krypto), pošle public B, B generuje nový symetrický klíč a šifruje pomocí asym. veřejného klíče A …
Distribude pomocí Key transport centre (viz KDC u kerbera)
Shamir proto. - komunikace bez sdílených klíčů. A zašifruje X pomocí k1 → B zašifruje E_k1(X) pomocí k2 → A dešifruje a pošle E_k2(X) → B
Diffie-Hellman (viz vypracováno v jiné otázce)
Další příklady: Needham-Schroeder (public key) - prostě pomocí existujících asym. klíčů dohodnu sym. klíč, COMSET (a variace: R-COMSET, RRC) Helsinki (modifikace Needham-Schroeder)
Escalatory protocols (EKE, Diffie-Hellman EKE …)
Použití biometrik
V biometrické charakteristice najdi jedinečnou neměnnout část. Zkombinuj s tajnou informací a zpracuj dohromady (např HASH). Biometrika sama o sobě není tajné info, problém bývá s přidáním tajné informace.
Nebo pomocí biometrik zamkni klíč
Distribuce veřejných klíčů
X509 certifikáty, CA, revokace (CRL, OCSP) a PGP, Publicly available directory - vše zpracováno v ostatních otázkách k BIT.
Materiály
Kvantová kryptografia
Materiály
Základy I
Založeno na fyzikálních zákonech. Používá částice (proton, elektron, neutron, fotony a další elementární č.)
Quantum information vs classical: Těžko se ukládá a zpracovává, neznámá se nedá okopírovat a měření ničí informaci (viz. dole)
Informace reprezentována pomocí
qubits (kvanta bitů) nabívají nespočetně mnoho hodnot α|0> + β|1>, kde α,β jsou komplexní čísla t.ž.
Př. elektron v atomu vodíku - Báze - 2 pozice. Obecný stav určen amplitudou α,β vzhledem k bázi
Kvantový stav může obsahovat neomezeně informace. Měřením klasické informace dostaneme 0 s pravděpodobností
, podobně pro 1.
Složený kvantový systém nelze zkonstruovat ze znalostí podsystémů (v klasických systémech ano)
Příklad použití: Quantum one-time pad, Qantum registers, a hlavně Quantum key distribution (generation)
Síla kvantového počítání je v možnosti dělat věci běžně nemožné (teleportace, vytvoření zcela tajného sdíleného klíče, vytváření efektivních kvantových algoritmů a protokolů)
Polarizace fotonů ke generování klíče (viz BB)
Základy II
Meranie kvantového stavu pôvodný stav zničí/zmení - odpočúvanie je možné detekovať
No-cloning theorem: Neznámy kvantový stav nemôže byť skopírovaný - tj. nie je možné kvantový stav pri odpočúvaní odchytiť, naklonovať si pomocný, pôvodný poslať ďalej a merať len naklonovaný
Heisenbergov princíp neurčitosti: ak je výsledok merania kvantového stavu v istej báze istý, výsledok merania v duálnej báze je náhodný. Viď BB-84
Shanonova veta(kvantová verzia): Na bezpečné zakódovanie n qubitov je potrebných 2n klasických bitov
Meranie kvantového stavu: meranie prebieha vždy vzhľadom k zvolenej báze, ktorá určuje, aké možné výsledky môžme dostať. Pravdepodobnosti, s akými dostaneme výsledky sú určené kvantovým stavom.
Príklad: Meriame v štandardnej báze |0>,|1> takže kvantový stav skolabuje do stavu |0> s pravdepodobnosťou P alebo do stavu |1> s pravdepodobnosťou 1-P. Pri následnom meraní v duálnej báze |0'>,|1'> (tj. meranie stavu |0> alebo|1>) dostaneme výsledok |0'> s pravdepodobnosťou 1/2 a výsledok |1'> s pravdepodobnosťou 1/2.
Príklad 2: Meriame polarizáciu fotónu v báze 0°,90°. Následné meranie v duálnej báze 45°,135° bude náhodné.
BB-84
Bennet-Brassard 1984
Protokol na bezpečné ustanovene zdieľaného kľúča, dokázateľne bezpečný
1. fáza: Alica vygeneruje náhodnú postupnosť bitov
2. fáza:
Alica posiela Bobovi fotóny polarizované buď v báze 0°,90° (označme |0>,|1>) alebo v báze 45°,135° (označme |0'>,|1'>). Pri každom fotóne zvolí bázu náhodne. Fotóny kódujú binárnu postupnosť - 0 je kódovaná pomocou stavov |0> a |0'>, 1 je kódovaná pomocou stavov |1> a |1'>
Bob nevie, v akej báze sú fotóny polarizované, tak ich meria náhodne v jednej z nich
3. fáza:
Bob zverejní, aké bázy pri meraní použil. Alica mu klasickým kanálom odpovie, pri ktorých fotónoch použili rovnakú bázu (v týchto prípadoch bude výsledok so 100% pravdepodobnosťou správny). Bity, ktoré Bob získal meraním v rovnakej báze ako Alica posielala, boli bezpečne prenesené a sú známe obom.
4. fáza:
Alica a Bob sa dohodnú na niekoľkých bitoch, ktoré zdieľajú, a klasickým spôsobom si ich oznámia (ďalej ich už nepoužijú). V tejto fáze ide o odhalenie odpočúvania: ak aspoň 1 bit nesedí, určite došlo k odpočúvaniu.
5. fáza (Privacy amplification, nie som si istý, či je nutná ku štátniciam, uvádzam pre úplnosť):
Alica a Bob ešte zdieľajú n bitov. Stále existuje riziko, že Eva mala šťastie a uhádla niekoľko meraní správne, teda vie časť z bitov, ktoré Alica a Bob zdieľajú. Alica a Bob sa preto dohodnú na podmnožinách S1..Sk bitov, ktoré zdieľajú. i-ty bit finálneho zdieľaného kľúča je parita množiny Si (tj. XOR z bitov kľúča určených množinou Si). Aby Eva vedela určiť i-ty bit, musí vedieť všetky bity určené podmnožinou Si, preto ak aj Eva vedela na začiatku pár zdieľaných bitov, po tejto fáze už nebude poznať takmer žiaden.
Iné
B92
Bennet 1992, minimálny QKG (quantum key generation) protokol
Rovnaký ako BB-84, ale miesto 4 stavov |0>,|1>,|0'>,|1'> (0°,90°,45°,135°) používa na kódovanie iba 2 stavy |0> a |1'> (tj. napríklad 90° a 45°)
Ekert QKG
Kvantove protokoly:
In coin-flipping protocols, Alice and Bob can flip a coin over a distance in such a way that neither of them can determine the outcome of the flip but both can agree on the outcome in spite of the fact that they do not trust each other.
In bit commitment protocols Alice can choose a bit and get committed to it in the following sense: Bob has no way of learing Alice's commitment and Alice has no way of changing her commitment.
In 1-out-2 oblivious transfer protocols Alice trasmits two messages m_1 and m_2 to Bob who can chose whether to receive m_1 or m_2, but cannot learn both, and Alice has no idea which of them Bob has received.
In standard oblivious transfer protocols Alice can send a message to Bob in such a way that Bob receives the message with probability 1/2 and a garbage with probability 1/2. Moreover, at the end Bob knows whether he got a message or a garbage, but Alice has no idea which of them Bob has received.