Protokol – usporiadaná postupnosť krokov dvoch alebo viacerých strán na vykonanie určitej úlohy
Vlastnosti dobrého protokolu:
- zriadený dopredu
- vzájomne odsúhlasený – pred použitím protokolu musí každý zo zúčastnených s ním súhlasiť
- jednoznačný
- úplný – pre každú možnú situáciu existuje predpis, ako pokračovať
Komunikačné protokoly – kto zabezpečuje korektnosť protokolov?
Arbitrované protokoly:
- dohliada arbitér, ktorému veria obidve komunikujúce strany a prostredníctvom ktorého tieto strany komunikujú
- arbitér sa občas ťažko hľadá
- komunikácia je oneskorená v dôsledku potreby arbitéra
Rozsúditeľné protokoly:
- tretia strana je porebná iba na rozsúdenie, či sporná komunikácia bola v poriadku alebo nie. Rozsúdenie teda nastáva až po podnete od komunikujúcej strany, teda až po spornej komunikácií
Samozabezpečujúce protokoly:
- dokážu sa sami vysporiadať so spornou komunikáciou, avšak nedajú sa použiť na úplne každú situáciu
Kompromis medzi množstvom šifrovaného textu jedným kľúčom a frekvencie obmeny kľúča
Výmena tajného kľúča bez servera:
Obe strany majú tajný kľúč K (Master key). Jedna zo strán vytvorí nový tajný kľúč Knew, ktorý zašifruje kľúčom K a následne ho pošle druhej strane. Druhá strana prevezme správu, ktorú následne dešifruje. Tak získa kľúč Knew (Session Key).
Výmena tajných kľúčov pomocou servera:
Obidve strany sa spoliehajú na centrálne výmenisko kľučov, tzv. ditribučné centrum. Strana P pošle do DC otovrenú správu (P chce komunikovať s R, značka správy IP). Distribučné centrum vytvorí kľúč KPR a pošle strane P správu, ktorú zašifruje kľúčom KP (IP, komunikácia s R, kľúč KPR, zašifrovaná správa pre R). P pošle správu E((KPR, P), KR) strane R.
Výmena asymetrických kľúčov bez servera:
Situácia:
- strana P
- EP = verejný kľúč P
- DP = privátny kľúč P
- strana R
- ER = verejný kľúč R
- DR = privátny kľúč R
Strany by v princípe mohli komunikovať priamo medzi sebou, ale chcú si vymeniť tajný kľúč a šifrovať komunikáciu symetricky (tj. Rýchlejšie)
Postup:
- P vyberie tajný kľúč KPR pre symetrický algoritmus a pošle strane R správu ER(P, DP(KPR))
- po prijatí správy R pošle správu E(n, KPR) strane P
- P pošle po prijatí správy z predchádzajúceho kroku správu E(n+1, KPR) strane R
Možný útok – Man in the middle:
Útočník môže podhodiť svoj public key jednej strane a vyhlásiť, že je to kľúč druhej strany. Riešením je Certifikácia verejných kľúčov, tj. Jednoznačné a overiteľné pridelenie verejného kľúča osobe
Výmena asymetrického kľúča pomocou servera
Situácia:
- strana P
- EP = verejný kľúč P
- DP = privátny kľúč P
- strana R
- ER = verejný kľúč R
- DR = privátny kľúč R
- distribučné centrum (DC)
- ED = verejný kľúč
- DD = privátny kľúč
Postup:
- partner P pošle do DC žiadosť správou, že chce komunikovať s R (P, R)
- DC pošle strane P správu DD(ER, R)
- P pošle strane R správu ER(P, IP)
- R pošle žiadosť o komunikáciu s P(R,P)
- DC odpovie správou DD(EP, P)
- R pošle strane P správu EP(IP. IR); teraz P vie, že R dostal jeho správu, vyzdvihol si jeho verejný kľúč a je pripravený komunikovať
- P pošle strane R kontrolnú správu ER(M, IR) (M – relačný kľúč (session key))
Odosielateľ posiela jednu z dvojice správ, pričom chvíľu obaja nevedia, čo sa poslalo (hádzanie mince na diaľku)
Situácia:
- R háda výsledok
- S hadže mincou
Postup:
- S vyberie 2 páry asymetrických kľúčov Ei, Di a Ej, Dj. R vyberie tajný kľúč KR pre symetrické šifrovanie, pričom aj S aj R poznajú použitý šifrovací systém
- S pošle verejné kľúče Ei, Ej partnerovi R, pričom privátne si ponechá
- R vyberie jeden z verejných kľúčov (odhadne výsledok hádzania mincou) Eh a pošle správu EhR) strane S
- S vyberie jeden z privátnych kľúčov (hádže mincou s nejakým výsledkom), napr. vyberie Dj a dešifruje P = Dj(Eh(KR)). Ak h=j, potom P = KR, ináč je to bezvýznamný reťazec
- S zašifruje správu „Prehral som. S“ kľúčom P, reps. Reťazcom P. Ak P=KR, tak správa je pravdivá. Túto správu E(M, P) pošle strane R
- R dešifruje správu S(M,P) kľúčom KR
- keď je víťaz známu, S pošle privátne kľúče Di, Dj prijemcovi R
Využitie:
Napríklad na súbežné podisovanie kontaktov cez Internet, pretože v každom kroku majú obidvaja zúčastnený rovnaké (alebo žiadne) záväzky (momentálne zväčša nahradené PKI a pod.)