Skip to content
Snippets Groups Projects
Commit b2d3cb13 authored by Martin Mareš's avatar Martin Mareš
Browse files

Základní přehled útoků, security level

parent c40d6af7
Branches
No related tags found
No related merge requests found
...@@ -330,4 +330,71 @@ zprávy, které nepatří k~aktuální instanci. Vlastně je ani nemusíme se zp ...@@ -330,4 +330,71 @@ zprávy, které nepatří k~aktuální instanci. Vlastně je ani nemusíme se zp
-- stačí, když je započítáme do podpisu. Jakmile se pak objeví zpráva z~jiné instance, -- stačí, když je započítáme do podpisu. Jakmile se pak objeví zpráva z~jiné instance,
prostě jí nebude souhlasit podpis. prostě jí nebude souhlasit podpis.
\section{Kryptografické útoky}
Co znamená, že kryptografický protokol je bezpečný? Mohli bychom říci, že to znamená,
že na něj neexistuje žádný úspěšný útok. Co to ale znamená? Podívejme se na některé
obvyklé druhy útoků. Pro jednoduchost budeme útočit na symetrickou šifru.
\defn{Standardní útoky na symetrické šifry:
\list{o}
\:{\I known ciphertext attack (KCA)} -- známe jenom množinu zašifrovaných zpráv, cílem je zjistit
klíč (někdy také jenom dešifrovat zprávy). To na první pohled zní beznadějně, ale dešifrované
zprávy mají často nějakou známou strukturu (text v~češtině, validní XML apod.), díky níž
dovedeme poznat, že klíč dává smýsl.
\:{\I known plaintext attack (KPA)} -- známe jak zašifrované zprávy, tak odpovídající dešifrované
a cílem je opět zjistit klíč (případně dešifrovat nějaké další zprávy). Tato situace je překvapivě
častá: nezřídka se stává, že oběť posílá šifrovaně i data, která se později stanou veřejnými.
Nebo známe aspoň nějakou standardizovanou hlavičku zprávy či podpis na jejím konci.
\:{\I chosen plaintext attack (CPA)} -- můžeme si vybrat jakékoliv zprávy a nechat si je zašifrovat.
Kdy se to může stát? Například útočíme-li na zabezpečené spojení k~webovému mailovému klientovi,
můžeme oběti prostě poslat mail a počkat, až si ho přečte. Někdy si umíme zvolit jenom část zprávy:
říká se, že spojenci ve 2. světové válce občas bombardovali obskurní ostrůvky v~Pacifiku, protože
doufali, že se jejich názvy objeví v~šifrovaných zprávách říšského námořnictva.
\:{\I distinguishing attack (rozlišovací útok)} -- zašifrované zprávy neumíme kompletně dešifrovat,
ale dokážeme z~nich poznat nějakou netriviální vlastnosti dešifrovaného textu. V~našem příkladu
jsme třeba dokázali rozpoznat, je-li zpráva {\tt PRIHOD} nebo {\tt KONEC}.
\endlist
}
Útoky jsou seřazené od nejslabšího k~nejsilnějšímu. Tím myslíme, že šifra odolná proti CPA je
odolná i proti KPA, a~tím pádem i proti KCA. Proto se budeme snažit vytvářet alespoň CPA-odolné
šifry. Formální definice bezpečnosti v~kapitole TODO bude dokonce založena na zobecnění rozlišovacích útoků.
Zádrhel ovšem je, že striktně matematicky vzato, o~žádné šifře nemůžeme dokázat, že je byť jenom
KPA-bezpečná. Všech možných klíčů je konečně mnoho, takže vyzkoušíme-li každý, nutně na ten pravý
musíme narazit. Musíme se proto spokojit s~tím, že správný klíč nelze nalézt {\I efektivně.}
Praktičtí kryptografové to často vyjadřují následovně:
\defn{Šifra má proti danému druhu útoku {\I úroveň bezpečnosti (security level)} $b$~bitů,
pokud provedení útoku vyžaduje alespoň $2^b$ kroků výpočtu.
}
Touhu po rigorózní definice bezpečnosti tato definice sotva uspokojí: Jednak neuvažuje randomizované
útoky, které nemají jednoznačný počet kroků. Ale hlavně neříká, co to znamená {\I krok výpočtu.}
Někdy se tím myslí jedna strojová instrukce, jindy zase zašifrování jedné zprávy. Naštěstí to
nehraje velkou roli, protože se jedná o~logaritmickou míru. Různé definice kroku tedy ovlivní
výsledek nanejvýš o~nižší desítky. Úroveň bezpečnosti 256 bitů proto bude s~jistotou mimo možnosti
všech útočníků.
Jelikož na šifru můžeme útočit vyzkoušením všech klíčů, úroveň bezpečnosti nemůže být
větší než počtu bitů klíče. Pokud není výrazně menší, považujeme šifru za dobrou.
Dodejme ještě, že v~kapitole~\chapref{perfect} uvidíme několik příkladů, kdy budeme schopni
dokázat, že šifra je dokonale bezpečná nezávisle na výpočetním výkonu dostupném útočníkovi.
Za to ale zaplatíme omezeními použitelnosti šifry.
\subsection{Narozeninové útoky}
TODO
\subsection{Útoky setkáním na půli cesty}
TODO
\endchapter \endchapter
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment