Princip šifrování

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
m (Přidáno do kategorie CRI)
(Běžné využití: TLS místo SSL.)
 
(Není zobrazeno 17 mezilehlých verzí od 1 uživatele.)
Řádka 1: Řádka 1:
[[Category:VSE]][[Category:Sítě]][[Category:Informatika]][[Category:Zabezpečení]][[Category:CRI]]
+
[[Category:VSE]][[Category:Sítě]][[Category:Informatika]][[Category:Bezpečnost]][[Category:CRI]][[Category:Stránky s obrázky]][[Category:Šifrování a podpis]]
 +
 
 +
<div class="Poznamka">
 +
Nepleťte ''kódování'' s&nbsp;''šifrováním''!!!
 +
 
 +
Viz také: [[K%C3%B3dov%C3%A1n%C3%AD-%C5%A1ifrov%C3%A1n%C3%AD-hashov%C3%A1n%C3%AD]]
 +
</div>
 +
 
  
== Rizika ==
 
=== Při komunikaci ===
 
* přerušení komunikace (nelze řešit šifrováním)
 
* odposlech
 
* změna zaslané zprávy
 
* zfalšování zprávy (podsunutí falešné zprávy)
 
* popření odeslání zprávy
 
=== Při ukládání dat ===
 
* přečtení nežádoucí osobou
 
* poškození dat (nelze řešit šifrováním)
 
* smazání dat (záměrné či nezáměrné)(nelze řešit šifrováním)
 
  
 
== Rozdělení šifrovacích metod ==
 
== Rozdělení šifrovacích metod ==
=== Symetrické šifrovací metody ===
+
 
 +
; Symetrické šifrovací metody
 
* Odesilatel i příjemce mají společný šifrovací klíč.
 
* Odesilatel i příjemce mají společný šifrovací klíč.
 
* Společným šifrovacím klíčem lze zprávu zašifrovat i dešifrovat.
 
* Společným šifrovacím klíčem lze zprávu zašifrovat i dešifrovat.
=== Asymetrické šifrovací metody ===
+
 
 +
; Asymetrické šifrovací metody
 
* Účastník je identifikován dvojicí klíčů
 
* Účastník je identifikován dvojicí klíčů
 
** soukromý klíč: zná pouze vlastník
 
** soukromý klíč: zná pouze vlastník
 
** veřejný klíč: smí znát kdokoli
 
** veřejný klíč: smí znát kdokoli
* Postupným použitím soukromého i veřejného klíče dostaneme původní zprávu.
 
 
* Zpráva zašifrovaná veřejným klíčem lze dešifrovat pouze soukromým klíčem a naopak.
 
* Zpráva zašifrovaná veřejným klíčem lze dešifrovat pouze soukromým klíčem a naopak.
=== Porovnání vlastností ===
+
 
* Asymetrické šifry zajišťují prokazatelnost odeslání dat. (Autor zprávy nemůže popřít její odeslání.)
+
 
* Symetrické šifry jsou výpočetně méně náročné.
+
 
* U symetrických šifer stačí kratší délka klíče.
+
== Porovnání vlastností ==
=== Běžné využití ===
+
; Asymetrické šifrovací metody
 +
# Dokáží zajistit nepopiratelnost odeslání zprávy.  
 +
#: Autor zprávy nemůže popřít její odeslání.
 +
# Ulehčují problém s&nbsp;bezpečným předáním klíče potenciálně nebezpečnou sítí.
 +
#: Nevadí odposlechnutí klíče třetí osobou, je jen třeba zabránit podvržení falešného klíče.
 +
# Jedna kombinace veřejného a soukromého klíče stačí pro komunikaci s libovolným počtem partnerů.
 +
# Každý účastník zodpovídá za svůj soukromý klíč, není zde sdílená zodpovědnost za vyzrazení klíče.
 +
 
 +
; Symetrické šifrovací metody
 +
# Jsou výpočetně méně náročné.
 +
 
 +
 
 +
 
 +
== Šifrování symetrickou šifrovací metodou ==
 +
 
 +
* Odesilatel i příjemce mají společný šifrovací klíč, kterým lze správu zašifrovat i rozšifrovat.
 +
* Při komunikaci na dálku vzniká problém s předáním šifrovacího klíče (pokud se odesilatel a příjemce nemohou sejít osobně předem)!
 +
** Klíč by měl být dostatečně dlouhý a náhodný.
 +
** Klíč by měl být použit pouze jednou!
 +
 
 +
[[Soubor:sifr01_sym.png]]
 +
 
 +
[[Soubor:sifr01-1_vice.png]]
 +
 
 +
 
 +
 
 +
== Šifrování asymetrickou šifrovací metodou ==
 +
* Každý účastník komunikace má pár veřejný + soukromý klíč.
 +
* Pokud zprávu zašifrujeme soukromým klíčem účastníka, rozšifrovat lze '''pouze''' veřejným klíčem téhož účastníka. A naopak co zašifrujeme veřejným klíčem, lze rozšifrovat '''pouze''' soukromým.
 +
* Odesilatel si nechává svůj soukromý klíč, ten nikomu nesděluje.
 +
* Veřejný klíč může znát kdokoli, případné přečtení při předávání veřejnou sítí tedy není rizikem.
 +
 
 +
[[Soubor:sifr_klice-ver-soukr.png]]
 +
 
 +
=== Zabezpečení proti přečtení zprávy ===
 +
* K&nbsp; zabezpečení zprávy proti přečtení by stačilo, kdyby odesilatel zprávu šifroval příjemcovým veřejným klíčem.
 +
* Taková zpráva lze poté rozšifrovat pouze příjemcovým soukromým klíčem, který zná pouze příjemce.
 +
* Odesilatel by teoreticky nemusel mít dvojici klíčů vůbec vygenerovanou.
 +
 
 +
[[Soubor:sifr02_asym.png]]
 +
 
 +
=== Zabezpečení proti přečtení zprávy '''a zároveň''' proti podvržení falešné zprávy ===
 +
* V&nbsp;předchozím případě sice útočník nemůže zprávu přečíst, může ale zajistit, aby příjemce zprávu neobdržel (zničit zprávu) a&nbsp;poslat příjemci falešnou zprávu.
 +
* Asymetrické šifrovací metody však nabízí zabezpečení i proti tomuto způsobu útoku.
 +
* Odesilatel může zprávu zašifrovat příjemcovým veřejným klíčem '''a&nbsp;navíc i&nbsp;'''svým soukromým. Takovou zprávu útočník nemůže zfalšovat, protože by musel znát odesilatelův soukromý klíč.
 +
* Příjemce pak zprávu dešifruje odesilatelovým veřejným klíčem a&nbsp;svým soukromým.
 +
 
 +
[[Soubor:sifr02-1_vice.png]]
 +
 
 +
=== Lze na takovou komunikaci vůbec zaútočit? ===
 +
* Pokud si uživatel a&nbsp;příjemce vyměnili své veřejné klíče spolehlivou cestou (například si je předali osobně), pak je role útočníka velmi obtížná.
 +
* Zbývá mu hledat chyby v&nbsp;šifrovacích programech nebo útočit tzv. hrubou silou (zkoušet uhodnout klíč). Pravděpodobnost takového útoku by měla být malá.
 +
* Problematická je situace, kdy si odesilatel a&nbsp;příjemce potřebují vyměnit své veřejné klíče pomocí nezabezpečené sítě. V&nbsp;tu chvíli může útočník oběma podsunout svůj veřejný klíč a&nbsp;poté se pokusit o&nbsp;útok man-in-the-middle.
 +
* V&nbsp;praxi se proto pro předávání klíčů používají [[Certifikační autorita|certifikační autority]].
 +
<div class="Poznamka">Všimněte si, že nám nevadí, když si útočník veřejné klíče přečte. Soukromé klíče, které musí zůstat tajné, se nikam nepředávají. To je veliká výhoda proti symetrickým šifrovacím metodám!</div>
 +
 
 +
 
 +
 
 +
== Běžné využití ==
 
* Asymetrické šifrovací metody jsou obvykle využívány pro bezpečné předání symetrického šifrovacího klíče nebo otisku zprávy.
 
* Asymetrické šifrovací metody jsou obvykle využívány pro bezpečné předání symetrického šifrovacího klíče nebo otisku zprávy.
 
* Šifrování většího objemu dat se obvykle následně provádí symetrickými šifrovacími metodami.
 
* Šifrování většího objemu dat se obvykle následně provádí symetrickými šifrovacími metodami.
 +
 +
; TLS
 +
* Vrstva pro šifrovanou komunikaci (implementace části prezentační vrstvy).
 +
* Typicky se používá pro šifrovaný přenos dat protokolu HTTP (https://...).
 +
* Dříve se používal jeho předchůdce SSL.
 +
* Viz také: [https://en.wikipedia.org/wiki/Transport_Layer_Security]
  
 
== Příklady šifrovacích algoritmů ==
 
== Příklady šifrovacích algoritmů ==
 +
 
=== Symetrické šifrovací algoritmy ===
 
=== Symetrické šifrovací algoritmy ===
 
; DES
 
; DES
Řádka 51: Řádka 113:
 
* Zdroje: [http://en.wikipedia.org/wiki/Serpent_%28cipher%29 Wikipedia.org: Serpent (cipher)]
 
* Zdroje: [http://en.wikipedia.org/wiki/Serpent_%28cipher%29 Wikipedia.org: Serpent (cipher)]
 
; Twofish
 
; Twofish
 +
 
=== Asymetrické šifrovací algoritmy ===
 
=== Asymetrické šifrovací algoritmy ===
 
; RSA
 
; RSA
Řádka 56: Řádka 119:
 
* Je základem protokolu SSL.
 
* Je základem protokolu SSL.
 
* Matematický princip: Malá Fermatova věta (násobení velkých prvočísel)
 
* Matematický princip: Malá Fermatova věta (násobení velkých prvočísel)
 +
 +
 +
 +
== Zajímavost &mdash; historické šifry ==
 +
* Césarova šifra (přelom letopočtu): [https://www.algoritmy.net/article/34/Caesarova-sifra Algoritmy.net &rarr; Caesarova šifra]
 +
** Každé písmenko zprávy posunete o&nbsp;zadaný počet písmen v abecedě.
 +
** Klíčem je zde počet písmen, o&nbsp;které posunujeme.
 +
<div class="Priklad">Příklad: <code>A h o j K a r l e</code> + klíč <code>2</code> &rarr; <code>C j q l M c t n g</code></div>
 +
* Vigenèrova šifra (1556): [https://www.algoritmy.net/article/53/Vigenerova-sifra Algoritmy.net &rarr; Vigenèrova šifra]
 +
* Šifra Playfair (1854): [http://www.shaman.cz/sifrovani/sifra-playfair.htm Shaman.cz &rarr; Šifra Playfair]
 +
* Vernamova šifra (1917): [https://cs.wikipedia.org/wiki/Vernamova_%C5%A1ifra Wikipedia.org &rarr; Vernamova šifra]
 +
** Vlastně podobný princip jako Césarova šifra, ale každé písmeno zprávy posunu o&nbsp;jiný počet znaků.
 +
** Klíčem je informace, které písmeno posunout o&nbsp;kolik znaků.
 +
** Reálně bychom brali datový soubor se zprávou a&nbsp;ke každému byte zprávy přičítali odpovídající byte z&nbsp;náhodně vygenerovaného klíče.
 +
** Je neprolomitelná, pokud dodržíme pravidla: 1) klíč stejně dlouhý jako zpráva a 2) klíč je dokonale náhodný.
 +
** Důkaz neprolomitelnosti podal Shannon v&nbsp;roce 1949.
 +
** Problém je ale s&nbsp;předáním klíče.
 +
<div class="Priklad">Příklad: <code>A h o j K a r l e</code> + klíč <code>2 3 1 4 3 2 5 4 1</code> &rarr; <code>C k p n M c w p f</code></div>
 +
* Enigma (1918)
 +
** Originální verze prolomena už ve 30. letech 20. století.
 +
** Prolomení pokročilejší verze šifry pomohlo vítězství ve 2. světové válce.
 +
** K prolomení byly používány výpočetní stroje (předchůdci počítačů), na jejich vývoji se podílel Alan Turing.
 +
 +
; Úkol
 +
<div class="Ukol">
 +
; Vyzkoušejte si šifru Playfair:
 +
Chcete-li vyzkoušejte si šifrování šifrou Playfair. Zkuste zakódovat text:
 +
Šifruji jako blesk!
 +
Pomocí klíče:
 +
Informatika
 +
 +
Řešení &mdash; výsledný šifrovaný text by měl znít:
 +
Looíl Rf, vnmg. Kmú gqbý.
 +
(Interpunkce, diakritika a velikost písmen jsou přidány náhodně.)
 +
</div>
 +
 +
 +
 +
== Související stránky ==
 +
* [[Rizika při práci s daty]], [[Elektronický podpis]], [[Šifrování prakticky]], [[GPG]], [[Certifikační autorita]]

Aktuální verze z 25. 3. 2021, 09:11


Nepleťte kódováníšifrováním!!!

Viz také: Kódování-šifrování-hashování


Obsah

Rozdělení šifrovacích metod

Symetrické šifrovací metody
Asymetrické šifrovací metody


Porovnání vlastností

Asymetrické šifrovací metody
  1. Dokáží zajistit nepopiratelnost odeslání zprávy.
    Autor zprávy nemůže popřít její odeslání.
  2. Ulehčují problém s bezpečným předáním klíče potenciálně nebezpečnou sítí.
    Nevadí odposlechnutí klíče třetí osobou, je jen třeba zabránit podvržení falešného klíče.
  3. Jedna kombinace veřejného a soukromého klíče stačí pro komunikaci s libovolným počtem partnerů.
  4. Každý účastník zodpovídá za svůj soukromý klíč, není zde sdílená zodpovědnost za vyzrazení klíče.
Symetrické šifrovací metody
  1. Jsou výpočetně méně náročné.


Šifrování symetrickou šifrovací metodou

Sifr01 sym.png

Sifr01-1 vice.png


Šifrování asymetrickou šifrovací metodou

Sifr klice-ver-soukr.png

Zabezpečení proti přečtení zprávy

Sifr02 asym.png

Zabezpečení proti přečtení zprávy a zároveň proti podvržení falešné zprávy

Sifr02-1 vice.png

Lze na takovou komunikaci vůbec zaútočit?

Všimněte si, že nám nevadí, když si útočník veřejné klíče přečte. Soukromé klíče, které musí zůstat tajné, se nikam nepředávají. To je veliká výhoda proti symetrickým šifrovacím metodám!


Běžné využití

TLS

Příklady šifrovacích algoritmů

Symetrické šifrovací algoritmy

DES
AES
Serpent
Twofish

Asymetrické šifrovací algoritmy

RSA


Zajímavost — historické šifry

Příklad: A h o j K a r l e + klíč 2C j q l M c t n g
Příklad: A h o j K a r l e + klíč 2 3 1 4 3 2 5 4 1C k p n M c w p f
Úkol
Vyzkoušejte si šifru Playfair

Chcete-li vyzkoušejte si šifrování šifrou Playfair. Zkuste zakódovat text:

Šifruji jako blesk!

Pomocí klíče:

Informatika

Řešení — výsledný šifrovaný text by měl znít:

Looíl Rf, vnmg. Kmú gqbý.

(Interpunkce, diakritika a velikost písmen jsou přidány náhodně.)


Související stránky

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje