Hlavní obsah
Informatika – Počítače a internet
Kurz: Informatika – Počítače a internet > Kapitola 3
Lekce 6: Šifrování datŠifrování a veřejné klíče
Odbornice na internetovou bezpečnost Mia Epner nám vysvětlí, jak kryptografie zajišťuje bezpečný přenos dat přes internet. Toto video vysvětluje 256 -bitové šifrování, veřejné a soukromé klíče, SSL & TLS a HTTPS.
Chceš se zapojit do diskuze?
Zatím žádné příspěvky.
Transkript
Šifrování a veřejné klíče - Ahoj. Já jsem Mia Gil Epner. Studuju informatiku na UC Berkeley a pracuju pro ministerstvo obrany, kde se snažím udržet informace v bezpečí. Internet je otevřený a veřejný systém. Všichni posíláme a přijímáme informace skrze sdílenou kabeláž a spojení. Přestože je to otevřený systém, i tak si vyměňujeme mnoho soukromých dat, například čísla kreditních karet, bankovní informace, hesla a emaily. Jak se všechna tato citlivá data
udrží v tajnosti? Jakákoliv data mohou být utajena
pomocí tzv. šifrování, zamíchání nebo změna zprávy tak, aby se skryl původní text. Dešifrování je proces uspořádání, rozluštění zprávy,
aby byla čitelná. Je to jednoduchá myšlenka, a lidé to tak už dělají po staletí. Jednou z prvních dobře
známých metod šifrování byla Caesarova šifra,
pojmenovaná po Juliu Caesarovi, římském generálu,
který šifroval své vojenské rozkazy, aby zajistil, že pokud byla
zpráva zachycena nepřáteli, nemohli ji přečíst. Caesarova šifra je algoritmus, který zaměňuje každé písmeno
původní zprávy písmenem o určitý počet
kroků dál v abecedě. Jestliže ten počet kroků
zná jen odesílatel a příjemce, říká se tomu klíč. Umožňuje čtenáři odemknout tajnou zprávu. Například, pokud vaše původní zpráva je "Hello", tak s použitím Caesarovy šifry
s klíčem 5 bude zašifrovaná zpráva toto. (klapot psacího stroje) K dešifrování zprávy by příjemce jednoduše použil klíč
k obrácení tohoto procesu. Caesarova šifra má ale
velký nedostatek. Kdokoliv může snadno
rozluštit zakódovanou zprávu zkoušením každého možného klíče. V anglické abecedě je jen 26 písmen, což znamená, že byste
potřebovali vyzkoušet maximálně 26 klíčů k rozluštění celé zprávy. Vyzkoušet 26 možných klíčů není moc těžké. Zabralo by to maximálně hodinu. Udělejme to těžší. Namísto posunu každého písmene
o stejný počet míst v abecedě, posuňme každé o jiný počet. V tomhle příkladě desetičíselný kód určuje, o kolik pozic bude posunuto
každé následující písmeno k zakódování delší zprávy. (psací stroj cvaká) Uhádnutí takového klíče bude opravdu těžké. Při použití desetičíselného šifrování
máme 10 miliard možných klíčů. To je zjevně víc, než by kterýkoliv
člověk dokázal kdy vyřešit. Zabralo by to mnoho století. Ale dnešnímu průměrnému počítači
by zabralo jen pár sekund, než by vyzkoušel všech 10 miliard možností. Takže v moderním světě, kde jsou zločinci
ozbrojeni počítači namísto tužek, jak můžete šifrovat zprávy tak bezpečně, aby bylo příliš těžké je rozluštit? "Příliš těžké" znamená,
že existuje příliš mnoho možností, které nejde vyzkoušet v rozumném čase. Dnešní zabezpečená komunikace je šifrována s použitím 256 bitových klíčů. To znamená že počítač zlého chlápka, který zachytil vaši zprávu, by potřeboval vyzkoušet tolik možností než by odhalil klíč k rozluštění zprávy. I kdybyste měli sto tisíc superpočítačů a každý z nich byl schopný vyzkoušet milion miliard klíčů za sekundu, trvalo by to bilardy biliard biliard let, než by se vyzkoušely všechny možnosti, k rozluštění jediné zprávy
chráněné 256ti bitovým šifrováním. Počítačové čipy se ale s každým rokem
dvakrát zrychlí a dvakrát zmenší. Pokud tento exponenciální pokrok bude pokračovat, dnešní nemožné problémy budou řešitelné už za pár set let v budoucnosti a 256 bitů nebude dost k zachování bezpečnosti. Popravdě řečeno, jednou už jsme museli
zvětšovat standardní délku klíče, abychom udrželi krok s rychlostí počítačů. Dobrá zpráva je, že použití delšího klíče
neznamená o mnoho náročnější šifrování, ale exponenciálně zvyšuje množství pokusů potřebných k prolomení šifry. Když odesílatel a příjemce sdílí stejný klíč
k zašifrování i dešifrování zprávy, nazýváme to symetrická šifra. Při symetrickém šifrování,
jako je třeba Caesarova šifra, se na tajném klíči musí dohodnout
dva lidé dopředu a v soukromí. To je fajn pro lidi, ale internet je otevřený a veřejný, takže je nemožné,
aby se dva počítače setkaly v soukromí a dohodly si tajný klíč. Namísto toho používají
počítače asymetrické klíče. Veřejný klíč, který může sdělen komukoliv, a soukromý klíč,
který není sdílen. Veřejný klíč se používá k zašifrování dat, a k vytvoření tajné zprávy jej
může použít kdokoli. Ale to tajemství může být
rozluštěno jedině počítačem, který má přístup k soukromému klíči. Funguje to s pomocí matematiky, do které se teď nebudeme pouštět. Představte si to takhle: máte osobní poštovní schránku, kam může kdokoliv uložit poštu, ale potřebuje k tomu klíč. Můžete udělat kolik chcete kopií tohohle klíče, a poslat ho kamarádovi nebo ho nechat zcela veřejně k dispozici. Váš kamarád, nebo i cizinec, může použít veřejný klíč k přístupu do vaší schránky
a nechat tam zprávu, ale jen vy můžete schránku otevřít
vaším soukromým klíčem a dostat se ke všem
tajným zprávám, které jste dostali. A vy můžete poslat zabezpečenou
zprávu zpět vašemu příteli pomocí jejich veřejného klíče
k jejich schránce. Takto si lidé mohou
vyměňovat zabezpečené zprávy aniž by se kdy museli
dohadovat na soukromém klíči. Kryptografie s veřejnými klíči je základem veškerého zabezpečeného posílání
zpráv na otevřeném internetu, včetně bezpečnostních protokolů
známých jako SSL a TLS, které používáme při procházení webu. Váš počítač to používá i dnes. Kdykoliv vidíte malý zámek nebo písmena https
v adresním poli vašeho přohlížeče, znamená to, že váš počítač
používá šifrování veřejným klíčem k výměně dat s webem, na kterém jste. Jak se víc a víc lidí dostane na internet, bude se posílat víc a víc soukromých dat a potřeba zabezpečit je bude ještě důležitější. Jak budou počítače rychlejší a rychlejší budeme muset vyvinout nové způsoby, jak udělat prolamování šifry
pro počítače dostatečně těžké. To je také moje práce,
a pořád se to mění.