Diskove´ šifrovánı

Transkript

Diskove´ šifrovánı
Diskové šifrovánı́
Michal Dočekal
10. května 2007
1
Obsah
1
Úvod
3
2
Slabá mı́sta diskového šifrovánı́
2.1 Napadenı́ přes sı́t’ . . . . . . . . . . .
2.2 Napadenı́ běžı́cı́ho systému . . . . .
2.3 Úprava nešifrované části systému . .
2.4 Prosáknutı́ zašifrovaných dat . . . .
2.5 Obnovenı́ dřı́vějšı́ záznamové vrstvy
.
.
.
.
.
3
4
4
4
4
4
3
Technické aspekty diskového šifrovánı́
3.1 Struktura pevného disku . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Co se šifruje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
5
5
4
Implementace kryptosystémů
4.1 Šifry, hashe . . . . . . . . . . . . . . . . . . .
4.2 Šifrovacı́ módy . . . . . . . . . . . . . . . .
4.2.1 ECB, CBC . . . . . . . . . . . . . . .
4.2.2 LRW, XEX . . . . . . . . . . . . . . .
4.2.3 CMC, EME . . . . . . . . . . . . . .
4.2.4 Shrnutı́ . . . . . . . . . . . . . . . . .
4.3 Přı́prava disku/oddı́lu . . . . . . . . . . . .
4.4 Vzorová implementace . . . . . . . . . . . .
4.4.1 Dvouúrovňové šifrovánı́ . . . . . . .
4.4.2 Formát zašifrovaného oddı́lu . . . .
4.4.3 Zpracovánı́ klı́čů se slabou entropiı́
4.4.4 Technická implementace . . . . . . .
4.5 Obecné závěry a doporučenı́ . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
6
6
7
8
9
9
9
10
10
10
11
12
13
5
Porovnánı́ existujı́cı́ch implementacı́
14
6
Nevýhody diskového šifrovánı́
6.1 Zpomalenı́ přenosových rychlostı́ . . . .
6.2 Vyššı́ zátěž CPU, vyššı́ provoznı́ teplota
6.3 Komplikovanějšı́ záchranné operace . .
6.4 Vážnějšı́ následky narušenı́ integrity dat
6.5 Dalšı́ vrstva pro vznik chyb . . . . . . .
6.6 Single point of failure . . . . . . . . . . .
6.7 Falešný pocit bezpečı́ . . . . . . . . . . .
15
15
16
16
16
17
17
17
7
Závěr
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
18
2
1
Úvod
Diskové šifrovánı́ je technika, při které se šifruje blokové zařı́zenı́1 . Šifrovat lze bud’
diskové oddı́ly nebo celé pevné disky, ale i jiná zařı́zenı́ (flashdisky, pamět’ové karty,
CD, DVD, apod.).
Z pohledu uživatele je celý proces transparentnı́, tj. po zadánı́ hesla a zprovozněnı́
šifrovacı́ a dešifrovacı́ vrstvy lze pracovat s daným zařı́zenı́m, jako by nebylo šifrováno.
Data se dle potřeby dešifrujı́ a před zápisem na dané zařı́zenı́ jsou zašifrována. Proto se
tato metoda označuje jako „on-the-fly encryption“, tedy šifrovánı́ za běhu.
Implementace diskového šifrovánı́ však musı́ řešit celou řadu problémů. Po technologické stránce je to integrace do přı́slušných částı́ operačnı́ho systému. Nutnostı́ je i
možnost náhodného přı́stupu k zašifrovaným datům a transparentnost. Musı́ být zvolen vhodný způsob šifrovánı́, tedy silná šifra, šifrovacı́ mód, popřı́padě některé dalšı́
dodatečné zabezpečovacı́ metody. V neposlednı́ řadě je třeba, aby uživatel danou implementaci znal dostatečně dobře, aby byl schopen celý zabezpečovacı́ systém nastavit
tak, aby byl bezpečný.
Filosofie diskového šifrovánı́
Šifrovánı́ pevného disku je činnost, která zvyšuje zátěž procesoru (při datových přenosech z/na šifrované oddı́ly), zpomaluje přenosy dat a komplikuje situaci při záchranných
operacı́ch.
Filosofiı́ použı́vánı́ tohoto prostředku je tedy předpoklad, že raději o daná data
přijdu, než aby se dostala do nepravých rukou.
2
Slabá mı́sta diskového šifrovánı́
Diskové šifrovánı́ je poslednı́ obranná linie. Pomůže v situaci, kdy už jsme s největšı́
pravděpodobnostı́ o data přišli (odcizenı́ počı́tače či laptopu), a v optimálnı́m přı́padě
zajistı́, že se k datům nedostane ani útočnı́k.
Na druhou stranu, nenı́ to univerzálnı́ zabezpečovacı́ nástroj. Diskové šifrovánı́ je
pouze jedno „ozubené kolečko“ navı́c v systému zabezpečenı́. Zvolı́me-li bezpečnou
implementaci diskového šifrovánı́, bude pro útočnı́ka obtı́žné (ne-li nemožné) prolomit
šifru nebo kryptosystém. Proto lze předpokládat, že prvnı́, co útočnı́k vyzkoušı́, bude
cesta „kolem“. V úvahu přicházı́ následujı́cı́ možnosti.
1
Blokové zařı́zenı́ je jakékoliv zařı́zenı́ umožňujı́cı́ náhodný přı́stup k datům (pevný disk, CD/DVD
médium, apod.). Opakem je znakové zařı́zenı́, které náhodný přı́stup neumožňuje (tiskárna, scanner,
apod.)
3
2.1
Napadenı́ přes sı́t’
Diskové šifrovánı́ je metodou pro fyzické zabezpečenı́ dat, a proto nebude účinné v
přı́padě, že se útočnı́kovi podařı́ prolomit do běžı́cı́ho systému ze sı́tě. V takovém
přı́padě zı́ská kompletnı́ přı́stup k chráněným datům. Proto je třeba počı́tač adekvátně
zabezpečit proti útokům ze sı́tě (at’už z mı́stnı́ sı́tě nebo z Internetu).
2.2
Napadenı́ běžı́cı́ho systému
Je také nutné uvažovat o situaci, kdy se někdo dostane k běžı́cı́mu systému, zatı́mco jsme
stále přihlášeni. Pak opět zı́ská kompletnı́ přı́stup k šifrovaným datům. Automatické
zamykánı́ po určité době bývá na mı́stě. Stejně tak, pokud lze nějak obejı́t ověřenı́
uživatele v daném operačnı́m systému, je to potenciálnı́ zranitelnost. Přihlašovánı́ bez
hesla nenı́ v tomto směru dobrý nápad.
2.3
Úprava nešifrované části systému
Bohužel, stále nenı́ možné zavést operačnı́ systém ze zašifrovaného oddı́lu. Současné
BIOSy toto neumı́. Proto musı́ vždy určitá část operačnı́ho systému zůstat nešifrovaná,
aby jej bylo možné zavést. To je ovšem potenciálnı́ slabé mı́sto celé implementace.
Útočnı́k může upravit programy v nešifrované části systému tak, aby někam zapsaly uživatelovo heslo, které si později útočnı́k vyzvedne, a zı́ská tak přı́stup ke všem
zašifrovaným oddı́lům.
Vhodnou obranou proti této formě útoku v prostředı́ch, kde je možné něco takového
očekávat (např. u laptopů, které nejsou neustále pod dozorem majitele), je danou část
operačnı́ho systému přenést na externı́ médium (např. flashdisk), nechat systém zavádět
z něj a médium nosit neustále při sobě.
2.4
Prosáknutı́ zašifrovaných dat
Operačnı́ systém má jistá vyhrazená mı́sta pro ukládánı́ dočasných souborů. Jsou-li tato
mı́sta na nešifrovaných oddı́lech, hrozı́, že se v nich objevı́ i zašifrovaná data, se kterými
budeme pracovat. Proto by bylo dobré všechny tyto oblasti zašifrovat také.
Dalšı́m problémem je swap. Operačnı́ systém jej použı́vá k odkládánı́ neaktivnı́ch
stránek operačnı́ paměti, a tyto neaktivnı́ stránky mohou obsahovat jak zašifrovaná
data (v nešifrované podobě), tak, v horšı́m přı́padě, přı́mo plain text hesla pro přı́stup k
šifrovaným oddı́lům. To je důvod, proč je vhodné do šifrovánı́ zahrnout i swap.
2.5
Obnovenı́ dřı́vějšı́ záznamové vrstvy
Disk je magnetické záznamové médium. Jeho způsob záznamu nebyl navržen s ohledem
na bezpečnost, a proto nebývá problém dostat se k předchozı́m vrstvám záznamu.
Magnetický záznam bitu totiž nevyplňuje celou oblast pro záznam, ale pouze jejı́ část.
4
Jednotlivé vrstvy záznamu se tedy částečně překrývajı́ a podle některých zdrojů je možné
se (s vhodným vybavenı́m) dostat až k několikáté předchozı́ vrstvě záznamu.
Pokud jsme tedy data určená k zašifrovánı́ přechovávali na pevném disku v nešifrované podobě, je nutné daný pevný disk opakovaně přepsat různými vzorci dat, aby
nebylo možné se k zašifrovaným datům dostat touto cestou. Za bezpečné se považuje
25 přepsánı́.
3
Technické aspekty diskového šifrovánı́
3.1
Struktura pevného disku
Pevný disk je magnetické záznamové médium, kde jsou data uložená na jedné nebo vı́ce
plotnách. Z hlediska operačnı́ho systému se jedná o jeden veliký spojitý datový celek.
Prvnı́ch 512 bytů pevného disku tvořı́ MBR (Master Boot Record). Ten obsahuje
v prvnı́ch 446 bytech kód zavaděče operačnı́ho systému (bootloader), dále tabulku
rozdělenı́ disku o velikosti 64 bytů (16 bytů na každý ze čtyř primárnı́ch oddı́lů) a tzv.
magic number (2 byty). Rozdělenı́ ilustruje následujı́cı́ tabulka:
pozice délka
obsah
0-446
446
zavaděč
447-510
64 partition table
511-512
2 magic number
Jelikož maximum v podobě 4 oddı́lů nebylo uspokojivé, byl zaveden tzv. rozšı́řený
oddı́l. Ten vyplňuje jeden ze 4 oddı́lů primárnı́ch, ale umožňuje jej rozdělit na dalšı́
„logické“ oddı́ly.
Na každém oddı́lu může být různý souborový systém[15]. To je, zjednodušeně řečeno, specifikace, která udává způsob uloženı́ souborů a přı́slušných metadat (oprávněnı́, ACL a jiné atributy).
3.2
Co se šifruje
Diskovým šifrovánı́m je zpravidla myšleno šifrovánı́ na úrovni diskových oddı́lů, i když
je teoreticky možné zašifrovat celý disk i s MBR. Pokud takové implementace hodláte
použı́t, pořád je nutné mı́t na paměti, že současné BIOSy neumı́ zavést systém z takto
zašifrovaného disku.
Diskové šifrovánı́ je technicky realizováno jako mezivrstva mezi pevným diskem a
souborovým systémem. To je jeho zásadnı́ odlišnost od speciálnı́ch souborových systémů, které šifrovánı́ implementujı́ (např. encfs2 ). Diskové šifrovánı́ stojı́ mimo souborový systém, a proto nezáležı́ na tom, který ze souborových systémů bude po zašifrovánı́
přı́slušného oddı́lu na něm vytvořen.
2
Informace o encfs naleznete na http://en.wikipedia.org/wiki/EncFS.
5
4
Implementace kryptosystémů
Implementacı́ diskového šifrovánı́ je značné množstvı́. Mı́sto probı́ránı́ mnoha alternativ proberu jednu jedinou implementaci, se kterou mám zkušenosti a kterou považuji
za bezpečnou. U nı́ pak zdůraznı́m jednotlivé vlastnosti, které by bylo dobré obecně
preferovat nebo naopak se jich vyvarovat.
Nejprve si však projdeme jednotlivé vlastnosti implementacı́ diskového šifrovánı́,
jako jsou šifry, hashe, šifrovacı́ módy a některé dalšı́ faktory, které přı́mo ovlivňujı́
bezpečnost celého kryptosystému.
4.1
Šifry, hashe
Výběr šifry je otázkou osobnı́ preference. Většina lidı́ si dnes patrně vybere vı́těze AES,
šifru Rijndael. Jejı́ implementace bývá proto nejrychlejšı́. Někteřı́ si třeba vyberou některého jiného z AES finalistů, jako Serpent, Twofish, MARS nebo RC6.
U šifer je dobré si pohlı́dat velikost bloku, zejména pak, zda-li přı́slušnou velikost
zvládá i daná implementace. Bývá dobré hlı́dat délku hashe, aby 256bitovou šifru naplňovala 256bitová a nikoliv pouze 128bitová hash.
Jelikož některé hashovacı́ algoritmy byly již téměř nebo zcela prolomeny, bylo by
dobré zvolit takové, které jsou stále považovány za bezpečné. Za nevhodné hashovacı́
algoritmy lze považovat následujı́cı́[4]:
• MD5
• SHA-0
• RIPEMD
• SHA-1
4.2
Šifrovacı́ módy
Jelikož šifrovaná data mohou být různě veliká a při šifrovánı́ stejného plain textu stejným
klı́čem je výsledkem stejný šifrový text, vznikla řada šifrovacı́ch módů.
U diskového šifrovánı́, kde docházı́ k šifrovánı́ obrovských datových celků s částečně
predikovatelným obsahem v určitých mı́stech je použitý šifrovacı́ mód klı́čový. Bohužel, řada implementacı́ diskového šifrovánı́ použı́vá nevhodné šifrovacı́ módy (např.
CBC), které potom vystavujı́ zašifrovaná data některým speciálnı́m typům útoků (např.
watermarking attack).
Ještě před vlastnı́m výkladem šifrovacı́ch módů si dovolı́m malou terminologickou
vsuvku. Některé ze šifrovacı́ch módů využı́vajı́ tzv. inicializačnı́ vektor. To je blok bitů,
který je využı́ván jako „počátek“ pro daný šifrovacı́ mód. Běžně je inicializačnı́ vektor
stejně veliký jako velikost použité blokové šifry.
6
4.2.1
ECB, CBC
ECB (Electronic Codebook) je šifrovacı́ mód, kde se každý blok šifruje nezávisle. Slabinou tohoto přı́stupu je neschopnost skrýt vzory v datech a naprosto se nehodı́ pro
šifrovánı́ většı́ch objemů dat. Pokud objevı́te implmementaci diskového šifrovánı́ s ECB,
obloukem se jı́ vyhněte.
CBC (Cipher Block Chaining) je stále jeden z nejpoužı́vanějšı́ch šifrovacı́ch módů
v rámci diskového šifrovánı́, navzdory tomu, že k tomuto účelu nebyl narvržen a trpı́
řadou zranitelnostı́.
Jeho princip je následujı́cı́. Provede se XOR prvnı́ho bloku plain textu s inicializačnı́m
vektorem, výsledek se zašifruje. Následně se provede XOR druhého bloku plain textu s
prvnı́m, již zašifrovaným blokem, výsledek se zašifruje. Takto se pokračuje až do konce.
Dešifrovánı́ pak probı́há přesně opačně. Dešifruje se prvnı́ blok šifrového textu a
provede se XOR s inicializačnı́m vektorem. Druhý blok se dešifruje a provede se XOR
se zašifrovaným prvnı́m blokem. Tak se pokračuje dále.
Nejjednoduššı́ řešenı́ pro diskové šifrovánı́ představuje šifrovánı́ každého sektoru
podle vzoru Ci = E(Ci−1 ⊕ Pi ), kde C je šifrový text, E je operace šifrovánı́ a P je
plain text. Jako inicializačnı́ vektor posloužı́ 32-bitové čı́slo sektoru (zbytek bloku je
vyplněn nulami). Inicializačnı́ vektor se použı́vá při šifrovánı́ každého sektoru v CBC
7
módu. Skutečnost, že inicializačnı́ vektor je predikovatelný (resp. veřejně známý), je tato
implementace zranitelná vůči tzv. watermarking attack[9].
(5)
(6)
(5)
Je-li P0 = 0 a P0 = 1, pak C0 = E(5 ⊕ 0) = E(6 ⊕ 1) = C06 . Tudı́ž, pokud bude
na zašifrovaném oddı́lu uložen speciálně upravený soubor, který využije predikovatelnosti změn v inicializačnı́m vektoru, vzniknou v šifrovém textu identické sektory.
Vzhledem ke statisticky mizivé pravděpodobnosti náhodného výskytu tohoto jevu, lze
takto dokázat přı́tomnost daného souboru i na zašifrovaném oddı́lu.
(Sektor)
Proto byl navržen ESSIV (Encrypted Salt-Sector Initialization Vector)[8], kde C−1
=
E(Sektor k Salt). Salt (česky sůl) jsou náhodně zvolené bity užı́vané jako jedna z proměnných vstupujı́cı́ch do přı́slušných kryptografických funkcı́. ESSIV generuje inicializačnı́ vektor z kombinace čı́sla sektoru s hashı́ klı́če (to je v tomto přı́padě ona „sůl“).
Právě hash klı́če činı́ inicializačnı́ vektor nepředvı́datelný, a zabraňuje tak watermarking
attack. Nezabránı́ ovšem jiným typům útoků[2]:
• content leak - pokud útočnı́k najde dva shodné bloky šifrového textu Cm a Cn ,
může odhadnout změnu mezi plain texty tak, že prozkoumá rozdı́l mezi Cm−1 a
Cn−1 ; v přı́padě, že jeden z bloků plain textu je nula, rozdı́l pak určı́ obsah druhého
bloku
• data modification leak - změnı́-li útočnı́k jeden blok plaintextu v sektoru, pak
se změnı́ pouze jeden blok šifrového textu (toho lze využı́t pro sledovánı́ změn
šifrového textu)
• malleable plain text - úprava šifrového textu, která povede k predikovatelné
změně plain textu
• movable - za cenu ztráty jednoho bloku (který se dešifruje jako změt’náhodných
znaků) může útočnı́k přesouvánı́m dvou po sobě jdoucı́ch bloků „pohybovat“ s
plain textem (CBC závisı́ na Cn a Cn−1 , obojı́ je známé a dá se změnit)
Všechny tyto typy útoků s výjimkou prvnı́ho předpokládajı́ opakovaný přı́stup k
šifrovému textu. Proto je jejich závažnost relativně nižšı́. Pro úspěch „content leak“ útoku
je zase třeba najı́t dva stejné bloky šifrového textu, což je relativně málo pravděpodobné
(pravděpodobnost roste s růstem objemu zašifrovaných dat a klesá s růstem délky
blokové šifry).
4.2.2
LRW, XEX
LRW (Liskov, Rivest, Wagner) a XEX (Xor-Encrypt-Xor) pracujı́ na podobném principu a
označujı́ se jako „tweakable narrow-block encryption“. Oproti CBC nepracujı́ na úrovni
sektoru, ale na úrovni jednotlivých bloků (odtud označenı́ „narrow-block“).
LRW použı́vá dva klı́če. Jeden pro blokovou šifru a druhý, sekundárnı́ klı́č („tweak“).
Ten má stejnou velikost jako šifra a je svázán s logickým indexem (resp. je jı́m vynásoben).
8
Logický index obvykle představuje absolutnı́ pozici na disku měřenou velikostı́ bloku
šifrovacı́ho algoritmu.
Sekundárnı́ klı́č plnı́ podobnou úlohu jako inicializačnı́ vektor v přı́padě diskového
šifrovánı́ s CBC. V přı́padě LRW je Ek = (P ⊕ X) ⊕ X, kde X = F ⊗ I, přičemž F je
druhý klı́č a I je logický index.
XEX pracuje tak, že rozdělı́ klı́č na dvě části stejné velikosti: K = K1 k K2 . Druhý
klı́č je reprezentován kombinacı́ adresy sektoru a pozice bloku v sektoru.
Tyto šifrovacı́ módy nabı́zı́ nejoptimálnějšı́ poměr bezpečnosti a rychlosti.
4.2.3
CMC, EME
CMC (CBC-mask-CBC) a EME (ECB-mask-ECB) jsou šifrovacı́ módy, které tuto zranitelnost nemajı́. Majı́ ovšem dost podstatnou nevýhodu, a sice nutnost každý blok zašifrovat
dvakrát. Vzhledem k faktu, že prosáknutı́ datové modifikace na úrovni bloku se vyhnout
nelze, mnozı́ považujı́ cenu dvojı́ho šifrovánı́ za přı́liš vysokou (v poměru k tomu, co
zı́skáme).
4.2.4
Shrnutı́
Šifrovacı́ mód ECB by se v implementacı́ch pro diskové šifrovánı́ neměl nacházet, neb
je to nejméně bezpečný mód. Pokud existuje nějaká implementace diskového šifrovánı́
s tı́mto módem, doporučuji se jı́ obloukem vyhnout.
CBC je pro účely diskového šifrovánı́ často použı́ván. Bohužel má celou řadu zranitelnostı́, počı́naje watermarking attack. Tyto zranitelnosti sice předpokládajı́ jisté okolnosti,
bez jejichž splněnı́ nemohou být využity, nicméně přesto by bylo dobré využı́t jiného
šifrovacı́ho módu, je-li to možné. Pokud ne, doporučuji použı́t ESSIV variantu CBC.
LRW či XEX se zdajı́ být vhodnými kandidáty pro diskové šifrovánı́. Naopak CMC a
EME jsou sice o malinko bezpečnějšı́, ovšem za poměrně vysokou cenu - ztrátu výkonu.
Vše ještě ilustrujme následujı́cı́ tabulkou:
zranitelnost
CBC CBC-ESSIV LRW CMC, EME
content leaks
ano
ano
ne
ne
watermarkable
ano
ne
ne
ne
malleable
ano
ano
ne
ne
movable
ano
ano
ne
ne
modification leak ano
ano
ano
ne
4.3
Přı́prava disku/oddı́lu
Pokud hodláme zašifrovat data, která na přı́slušném disku či oddı́lu byla již dřı́ve a
v nešifrované podobě, musı́me zajistit, aby útočnı́k tuto předchozı́ vrstvu záznamu na
pevném disku nemohl obnovit. S pomocı́ přı́slušného softwaru bychom měli přepsat
disk náhodnými vzorci dat. Jako bezpečný počet přepisů je považováno 25 přepsánı́.
9
Oddı́l či disk bývá vhodné před zašifrovánı́m přepsat náhodnými daty. To zabraňuje
možnosti rozeznat, kde jsou zašifrovaná data a kde ne. Pokud nebudeme mı́t k dispozici
dostatečně rychlý generátor náhodných čı́sel (což bude ve většině přı́padů), použijeme
co nejkvalitnějšı́ generátor pseudonáhodných čı́sel.
V unixových systémech nám za tı́mto účelem posloužı́ zařı́zenı́ /dev/urandom,
které skrývá generátor pseudonáhodných čı́sel, jehož výstupem přı́slušný disk či oddı́l
přepı́šeme.
4.4
Vzorová implementace
Vybranou implementacı́ je LUKS3 (Linux Unified Key Setup), současný standard diskového šifrovánı́ v operačnı́ch systémech postavených na Linuxu4 . Vybral jsem ji ze dvou
důvodů. Jednak s nı́ už poměrně dlouho pracuji, a jednak má veřejné specifikace (a
zdrojový kód).
Podle mého názoru je minimálně zveřejněnı́ specifikace implementace diskového šifrovánı́ klı́čové pro důvěryhodnost takového systému. Bez přı́stupu ke specifikaci nenı́
možné posoudit jejı́ bezpečnost. Veřejný přı́stup ke zdrojovým kódům dané implementace je také pozitivum, nebot’se tak značně snı́žı́ riziko „zadnı́ch vrátek“, navı́c v tomto
přı́padě si bezpečnost takového řešenı́ může ověřit každý. Znalost specifikace navı́c
usnadňuje eventuálnı́ záchranné operace.
4.4.1
Dvouúrovňové šifrovánı́
LUKS použı́vá dvouúrovňové šifrovánı́, vlastnı́ data nejsou šifrována přı́mo (klı́čem
od uživatele), nýbrž náhodně vygenerovaným „master key“, jehož kontrolnı́ součet je
uložen v LUKS hlavičce. Ta obsahuje mj. prostor pro 8 uživatelských klı́čů, přičemž
kterýkoliv z nich „odemkne“ daný oddı́l.
Do slotů pro uživatelské klı́če se ukládá uživatelským heslem zašifrovaný master
key. Použitı́m kteréhokoliv klı́če je tedy možné zı́skat master key a dešifrovat diskový
oddı́l (resp. naplnit přı́slušný on-the-fly encryption kryptosystém).
Dvouúrovňové šifrovánı́ značně usnadňuje revokaci klı́če - nenı́ nutné dešifrovat a
znovu zašifrovat celý oddı́l. Jeho význam je ovšem v separaci uživatelského hesla, které
bývá často přı́liš slabé, a hesla pro zašifrovánı́ oddı́lu, které je náhodně vygenerováno
jako dostatečně silné.
4.4.2
Formát zašifrovaného oddı́lu
Schéma oddı́lu zašifrovaného pomocı́ LUKS je naznačeno následujı́cı́ tabulkou:
LUKS hlavička klı́č 1 . . .
3
4
http://luks.endorphin.org/
http://en.wikipedia.org/wiki/Linux
10
klı́č 8 zašifrovaná data
V LUKS hlavičce se nacházı́ následujı́cı́ informace[5]:
• LUKS verze
• jméno šifry
• šifrovacı́ mód
• jméno hashovacı́ho algoritmu
• odkaz na začátek vlastnı́ch zašifrovaných dat
• počet bytů klı́če
• kontrolnı́ součet pro master key
• salt parametr pro master key
• počet iteracı́ pro master key
• UUID oddı́lu5
• sloty pro klı́če 1 až 8
4.4.3
Zpracovánı́ klı́čů se slabou entropiı́
Bohužel, technika dnes postupuje tak rychle a schopnost zapamatovat si dostatečně
dlouhá a bezpečná hesla s rostoucı́m časem prudce klesá. Uživatelská hesla bývajı́ v
dnešnı́ době již slabá a je čı́m dál jednoduššı́ je prolomit.
Pokud bychom tvořili heslo ze 64 znaků (A-Z, a-z, 0-9, „/“, „.“), pak bychom si museli
pamatovat náhodný řetězec o délce 42 znaků, abychom poskytli dostatek entropie pro
256bitový klı́č6 . Obvyklá délka použı́vaných hesel bývá podstatně menšı́. Pro ilustraci,
13 znakové heslo by v tomto přı́padě poskytovalo pouze 78 bitů entropie, 10 znakové
heslo pak 60 bitů7 . Přitom DES má velikost 56bitů a je dnes už dešifrovatelný v reálném
čase.
LUKS implementuje PBKDF2 funkci pro derivaci klı́če, která posiluje entropii slabých hesel. Tato funkce obsahuje iteračnı́ cyklus představujı́cı́ intenzivnı́ transformace
zatěžujı́cı́ procesor. Útočnı́k, který by zkoušel jednotlivá slabá hesla, by musel tı́mto
iteračnı́m cyklem při každém pokusu projı́t, což neúměrně zvyšuje dobu potřebnou k
úspěšnému brute force útoku.
Doba třeba 5 sekund, během které uživatel čeká na potvrzenı́ hesla, se zdá být
relativně krátká. Útočnı́k by ovšem musel na stejném hardwaru čekat 5 sekund při
každém pokusu heslo prolomit.
5
UUID je unikátnı́ identifikátor, vı́ce viz http://en.wikipedia.org/wiki/UUID
log2 (6442 ) = 252
7
log2 (6410 ) = 60
6
11
Obrázek 1: Schéma diskového šifrovánı́
4.4.4
Technická implementace
V jádře Linuxu je vrstva pro práci s blokovými zařı́zenı́mi nazývaná device mapper[12].
Ta de facto provádı́ mapovánı́ jednoho blokového zařı́zenı́ na jiné. Je základem pro konstrukci softwarového RAIDu, LVM, EVMS a dm-cryptu. Dm-crypt[13] je na nı́ postavená
vrstva zajišt’ujı́cı́ transparentnı́ šifrovánı́ a dešifrovánı́. Využı́vá CryptoAPI, které je také
součástı́ jádra a obsahuje implementace šifrovacı́ch algoritmů, šifrovacı́ch módů a hashı́.
Schéma funkce diskového šifrovánı́ v Linuxu je naznačeno na obrázku 1.
V Linuxu se jednotlivé souborové systémy mapujı́ na adresáře (nikoliv na pı́smena,
jako v DOSu a ve Windows). To zajišt’uje vrstva VFS[14] (Virtual File System). Uživateli
se tedy jakýkoliv připojený souborový systém jevı́ jako adresář, se kterým může pracovat
dle libosti.
VFS pak pracuje s konkrétnı́mi souborovými systémy na jednotlivých oddı́lech. Na
straně uživatele se vše jevı́ jako jednotná adresářová struktura, ale VFS je schopen
pracovat s mnoha různými konkrétnı́mi souborovými systémy.
Souborový systém[15] je, jak už jsme si řekli, metoda ukládánı́ a správy souborů.
Přı́slušný ovladač pak „překládá“ instrukce z VFS (zapiš xyz do souboru abc) do konkrétnı́ch instrukcı́ pro blokové zařı́zenı́ (zapiš xyz do sektoru 123).
Blokovým zařı́zenı́m je v tomto přı́padě virtuálnı́ zařı́zenı́ vytvářené vrstvou device
mapperu, jehož součástı́ je dm-crypt, který zajišt’uje šifrovánı́ a dešifrovánı́. Zmı́něný
požadavek o zápis „xyz“ do sektoru „123“ pak projde touto vrstvou, kde se „xyz“
zašifruje a šifrový text se zapı́še do přı́slušného sektoru (samozřejmě v závislosti na
šifrovacı́m módu).
12
LUKS jako takový je technicky realizován jako rozšı́řenı́ programu cryptsetup, který
sloužı́ k nastavenı́ parametrů dm-cryptu. Z LUKS hlavičky pozná, který šifrovacı́ algoritmus, hash a šifrovacı́ mód má použı́t. Dm-cryptu pak předá tyto informace a finálnı́
verzi hesla, kterou si odvodı́ pomocı́ vlastnı́ch funkcı́ pro derivaci klı́če.
Jak už bylo řečeno na začátku, současné BIOSy neumı́ zavádět systém ze zašifrovaného oddı́lu. V přı́padě Linuxu a LUKS postačı́ nechat na nešifrovaném oddı́lu obraz
jádra a iniciálnı́ ramdisk (malý souborový systém se všı́m potřebným pro zavedenı́
systému).
4.5
Obecné závěry a doporučenı́
Předpokládám, že každý si vybere svou vlastnı́ implementaci diskového šifrovánı́. Bylo
by naivnı́ se domnı́vat, že bude každý použı́vat LUKS. Nicméně, na této implementaci
jsem chtěl ukázat řešenı́ jednotlivých problémů, se kterými se implementace diskového
šifrovánı́ potýkajı́.
Mám-li nastı́nit, jak si představuji dostatečně bezpečnou implementaci diskového
šifrovánı́, pak bych se zaměřil na následujı́cı́ faktory:
Veřejná specifikace
Pokud nejsou k dispozici zdrojové kódy, měla by být k dispozici alespoň podrobná
specifikace dané implementace. Bez nı́ nenı́ možné posoudit bezpečnost přı́slušné implementace.
Vhodná šifra a šifrovacı́ mód
Šifra je záležitostı́ osobnı́ preference a jednotlivé implementace diskového šifrovánı́
zpravidla umožňujı́ jejı́ výběr. Šifrovacı́ mód je, jak už bylo vysvětleno, potenciálnı́ slabé
mı́sto. Proto je vhodné zvolit takovou implementaci, která zahrnuje některý z módů
vhodných pro diskové šifrovánı́.
Dvouúrovňové šifrovánı́
Pokud je to možné, zvolte dvouúrovňové šifrovánı́. Pokud ne, zvolte si opravdu dlouhé
a bezpečné heslo.
Vhodná práce s uživatelskými klı́či
Funkce pro derivaci klı́če by měla počı́tat s tı́m, že uživatel zadá relativně slabšı́ heslo,
a zvýšit vhodným způsobem jeho entropii.
13
5
Porovnánı́ existujı́cı́ch implementacı́
Na závěr jsem připravil několik tabulek s vlastnostmi vybraných[7] implementacı́ diskového šifrovánı́. Prvnı́ tabulka obsahuje základnı́ informace k implementacı́m. Vysvětlivky následujı́:
• licence - použitá licence, u komerčnı́ platı́ současně i nedostupný zdrojový kód, s
výjimkou BestCryptu, který nabı́zı́ omezený přı́stup k jeho zdrojovému kódu
• OS - podporované operačnı́ systémy, tady jsem kvůli mı́stu nasadil zkratky: W =
Windows, L = Linux, D = DOS, P = Pocket PC, M = MacOS, NB = NetBSD, FB =
FreeBSD
• stav - vyvı́jen znamená aktivnı́ vývoj, zranitelný znamená ukončený vývoj a zranitelnou implementaci
• klı́čů - kolik je možné použı́t klı́čů k přı́stupu na daný disk/oddı́l
• zesı́lenı́ hesla - přı́tomnost iteračnı́ch cykly
název
BestCrypt
Sentry 2000
PGP Disk
CrossCrypt
DriveCrypt
CGD
GBDE
cryptoloop
Filevault
TrueCrypt
dm-crypt/cryptsetup
dm-crypt/LUKS
FreeOTFE
GELI
n-Crypt Pro
Scramdisk
licence
OS
stav
klı́čů zesı́lenı́ hesla
komerčnı́ L, W, D udržován vı́ce
?
komerčnı́
W, P
vyvı́jen
?
?
komerčnı́ W, M
udržován vı́ce
ano
GPL
W
?
1
ne
komerčnı́
W
udržován vı́ce
ano
BSD
NB
udržován vı́ce
ano
BSD
FB
udržován vı́ce
ne
GPL
L
zranitelný
1
ne
komerčnı́
M
?
2
ano
FOSS
L, W
vyvı́jen
1
ano
GPL
L
vyvı́jen
1
ne
GPL
L
vyvı́jen
1
ano
FOSS
W, P
vyvı́jen
vı́ce
ano
BSD
FB
udržován vı́ce
ano
komerčnı́
W
udržován
1
N/A
FOSS
W
zastaven
1
?
Následuje tabulka s porovnánı́m podpory jednotlivých šifrovacı́ch módů. Disk a
oddı́l naznačujı́, co je daná implementace schopna šifrovat CBC/v. IV je CBC s veřejným
inicializačnı́m vektorem, která je zranitelná mj. vůči „watermarking attack“. CBC/t. IV je
CBC s tajným inicializačnı́m vektorem (např. ESSIV, ale nikoliv nezbytně pouze ten). Ta
zmı́něnou zranitelnostı́ netrpı́. LRW je LRW, „náhodné“ klı́če představujı́ speciálnı́ mód,
kde se pro každý sektor generuje náhodný klı́č. Toto provádı́ třeba GBDE ve FreeBSD.
14
název
disk oddı́l CBC/v. IV CBC/t. IV LRW náhodné
BestCrypt
ano
ne
?
?
ano
ne
Sentry 2000
ne
ne
?
?
?
?
PGP Disk
ano
ano
?
?
?
?
CrossCrypt
ne
ne
ano
ne
ne
ne
DriveCrypt
ne
ano
?
?
?
?
CGD
ano
ano
ne
ano
ne
ne
GBDE
ano
ano
ne
ne
ne
ano
cryptoloop
ano
ano
ano
ne
ne
ne
Filevault
ne
ne
ano
ne
ne
ne
TrueCrypt
ano
ano
ne
ne
ano
ne
dm-crypt/cryptsetup ano
ano
ano
ano
ano
ne
dm-crypt/LUKS
ano
ano
ano
ano
ano
ne
FreeOTFE
ano
ano
ano
ano
ne
ne
GELI
ano
ano
ne
ano
ne
ne
n-Crypt Pro
ano
ano
?
?
ne
ne
Scramdisk
ne
ano
?
?
?
?
6
Nevýhody diskového šifrovánı́
Diskové šfirovánı́ má, stejně jako všechno ostatnı́, svoje výhody i nevýhody. Mezi výhody
patřı́ v optimálnı́m přı́padě (s bezpečnou a kvalitnı́ implementacı́) nemožnost dostat se
k původnı́m datům nepovolanou osobou. Cenou za tuto bezpečnost jsou následujı́cı́
nevýhody.
6.1
Zpomalenı́ přenosových rychlostı́
Strategiı́ ve vývoji hardwaru dosud bylo co nejvı́ce ulehčit procesoru při datových přenosech (nebo jej dokonce „obejı́t“ v přı́padě DMA8 ). On-the-fly šifrovánı́ však opět
začleňuje procesor do operacı́ spojených s přesuny dat. Vše se musı́ dešifrovat a podle
potřeby opět zašifrovat. Jelikož se tak zvyšuje zátěž procesoru, snižuje se objem přenesených dat za jednotku času.
Pro lepšı́ představu jsem sestavil malý benchmark pro sekvenčnı́ čtenı́ a sekvenčnı́ zápis, kde jsem prozkoumával, jak výkonné jsou jednotlivé šifrovacı́ algoritmy, respektive
jak moc zpomalujı́ datové přenosy. Hodnoty jsou udávány v MB/s.
8
DMA je popsán na http://en.wikipedia.org/wiki/Direct_memory_access
15
filesystém
ext3
reiserfs
jfs
xfs
disk
R
W
57,0 65,8
57,6 59,2
57,9 66,9
57,7 59,6
Rjindael
R
W
39,8 34,9
39,6 31,9
40,0 34,6
39,7 32,1
Serpent
R
W
33,8 30,1
33,7 27,9
34,0 29,9
33,8 36,6
Twofish
R
W
25,3 27,2
25,3 31,5
25,4 26,9
25,3 30,8
Anubis
R
W
22,0 20,8
21,8 24,7
22,0 20,6
22,0 24,8
cast6
R
W
21,2 20,6
21,0 24,0
21,2 20,4
21,1 24,7
Jak vidı́me, v některých přı́padech nám disková cache zřejmě ovlivnila výsledek
u zápisu. Samotným hodnotám bych nepřikládal přı́liš velikou váhu, nebot’ jsou silně
závislé na použitém hardwaru, metodice benchmarku a samozřejmě konkrétnı́m implementacı́m šifrovacı́ch algoritmů.
Nicméně, alespoň se potvrzuje to, že AES je z testovaných implementacı́ šifrovacı́ch
algoritmů nejrychlejšı́.
6.2
Vyššı́ zátěž CPU, vyššı́ provoznı́ teplota
Tento bod navazuje na předchozı́. Dı́ky tomu, že přenosy dat z/na zašifrované oddı́ly
nadměrně zatěžujı́ procesor, je potom k dispozici méně strojového času pro ostatnı́ běžı́cı́
programy než kdybychom nešifrovali. S vyššı́ zátěžı́ procesoru je potom spjata i jeho
vyššı́ provoznı́ teplota, která vyžaduje zajištěnı́ vhodného chlazenı́.
6.3
Komplikovanějšı́ záchranné operace
Dojde-li k poruše pevného disku, může šifrovánı́ zkomplikovat pokusy o záchranu
dat. Toto je mı́sto, kde se nám může hodit přesná specifikace použité implementace.
Z té se dozvı́me, kde jsou uložena metadata, klı́če a šifrový text, jakým způsobem se
klı́č derivuje a jakým způsobem je oddı́l zašifrován. Pak můžeme přı́slušné záchranné
operace provést ručně, pokud by došlo k takovému poškozenı́, že by nám přı́slušná
implementace odmı́tla zašifrovaný disk/oddı́l zpracovat a dešifrovat.
Kromě toho máme šanci ze specifikace zjistit, které informace bychom si měli zálohovat, abychom měli šanci dešifrovat data i při masivnı́m poškozenı́ záznamové vrstvy
pevného disku.
6.4
Vážnějšı́ následky narušenı́ integrity dat
Pokud dojde k narušenı́ integrity dat, třeba v důsledku nějaké poruchy či problému s
pevným diskem, jsou vlivem šifrovánı́ a šifrovacı́ho módu následky o něco horšı́, než
kdybychom nešifrovali. Uvažme, jak se třeba projevı́ přehozenı́ jednoho jediného bitu v
jednom bloku při užitı́ CBC:
16
V přı́padě diskového šifrovánı́, kdy se u každého sektoru v rámci CBC generuje
vlastnı́ inicializačnı́ vektor, nebudou následky řetězenı́ takové, jako na obrázku (přehozený bit v následujı́cı́m bloku), nicméně stále je třeba uvážit, že i drobná změna šifrového
textu v rámci jehnoho bloku povede k jeho ztrátě při dešifrovánı́. U jiných šifrovacı́ch
módů mohou být následky jiné.
6.5
Dalšı́ vrstva pro vznik chyb
Šifrovánı́ představuje dalšı́ vrstvu, kterou data procházejı́ a kde může nastat nějaká chyba
či problém. Tento problém pak samozřejmě adekvátně ovlivnı́ šifrovánı́ a dešifrovánı́,
což v extrémnı́ch přı́padech může vést i ke ztrátě dat. To samozřejmě závisı́ na kvalitě
přı́slušné implementace, ale právě v této věci se promı́tá „filozofie“ šifrovánı́ - raději
přijdeme o data, než aby se dostala do nesprávných rukou.
Při zálohovánı́ bychom měli pamatovat na bezpečnost, aby nedošlo k tomu, že data
na disku jsou sice šifrovaná, ale nešifrované zálohy nám útočnı́k odnesl.
6.6
Single point of failure
V přı́padě dvouúrovňového šifrovánı́ nenı́ pro zašifrovánı́ dat na pevném disku použit
uživatelský klı́č, ale náhodně vygenerovaný, „hlavnı́ klı́č“. Pokud by tedy došlo ke ztrátě
přı́slušného sektoru s úložištěm klı́čů, data by už nebylo možné dešifrovat.
Proto se u LUKS doporučuje hlavičku oddı́lu zálohovat. Pak je ovšem při revokaci
některého uživatelského klı́če třeba provést zničenı́ záloh a hlavičku s úložištěm klı́čů
zálohovat znovu.
6.7
Falešný pocit bezpečı́
V přı́padě, že si zvolı́me špatnou implementaci, která trpı́ některými vážnými zranitelnostmi, popřı́padě si zvolı́me správnou implementaci, ale špatně ji nastavı́me, pak nám
hrozı́ falešný pocit bezpečı́, že naše data nemůže nikdo nepovolaný dešifrovat.
17
7
Závěr
Diskové šifrovánı́ je určitě cenným pomocnı́kem při fyzickém zabezpečenı́ dat. Je však
třeba vybrat správnou implementaci a být schopen ji správně nastavit.
18
Reference
[1] Wikipedia, Disk Encryption Theory, http://en.wikipedia.org/wiki/Disk_
encryption_theory.
[2] Clemens Fruhwirth, Linux hard disk encryption settings, http://clemens.
endorphin.org/LinuxHDEncSettings.
[3] Klı́ma, V., Šifry s mnoha tvářemi, Chip, červenec 2000, str. 50 - 53., http://
crypto-world.info/klima/2000/chip-2000-07-050-053.pdf.
[4] Wikipedia, Cryptographic hash function, http://en.wikipedia.org/wiki/
Cryptographic_hash_function.
[5] Clemens Fruhwirth, LUKS on-disk-format, http://luks.endorphin.org/
LUKS-on-disk-format.pdf.
[6] Clemens Fruhwirth, TKS1 - An anti-forensic, two level, and iterated key setup scheme,
http://clemens.endorphin.org/TKS1-draft.pdf.
[7] Wikipedia, Comparison of disk encryption software, http://en.wikipedia.org/
wiki/Comparison_of_disk_encryption_software.
[8] Wikipedia, ESSIV, http://en.wikipedia.org/wiki/ESSIV
[9] Wikipedia,
Watermarking
Watermarking_attack
attack,
http://en.wikipedia.org/wiki/
[10] Markku-Juhani O. Saarinen, Encrypted Watermarks and Linux Laptop Security, http:
//mareichelt.de/pub/notmine/wisa2004.pdf
[11] Wikipedia, Block cipher modes of operation, http://en.wikipedia.org/wiki/
Block_cipher_modes_of_operation
[12] Wikipedia,
mapper
Device
mapper,
http://en.wikipedia.org/wiki/Device_
[13] Wikipedia, dm-crypt, http://en.wikipedia.org/wiki/Dm-crypt
[14] Wikipedia, Virtual file system, http://en.wikipedia.org/wiki/Virtual_
file_system
[15] Wikipedia, File system, http://en.wikipedia.org/wiki/File_system
19

Podobné dokumenty

O aplikaci Parallels Desktop 7 for Mac

O aplikaci Parallels Desktop 7 for Mac – 3D hry se v režimu Koherence automaticky přepínají do režimu celé obrazovky. – Do nabídky Zařízení > Klávesnice byla přidána kombinace Ctrl-Alt-End. – Pro zjednodušení bylo přepracováno rozhraní ...

Více

jak dlouho vydrž í, aneb otěruvzdornost

jak dlouho vydrž í, aneb otěruvzdornost abraze. Typicky mi prıklady jsou naprıklad korby na kladnıch automobil˚ (ra zova abraze pri nakla dce, trecı abraze pri vykla dce), boc nı klıny c elis…ovy ch drtic ˚ (trecı abraze s mensım podılem...

Více

O aplikaci Parallels Desktop 7 for Mac

O aplikaci Parallels Desktop 7 for Mac – 3D hry se v režimu Koherence automaticky přepínají do režimu celé obrazovky. – Do nabídky Zařízení > Klávesnice byla přidána kombinace Ctrl-Alt-End. – Pro zjednodušení bylo přepracováno rozhraní ...

Více

O aplikaci Parallels Desktop 7 for Mac

O aplikaci Parallels Desktop 7 for Mac – 3D hry se v režimu Koherence automaticky přepínají do režimu celé obrazovky. – Do nabídky Zařízení > Klávesnice byla přidána kombinace Ctrl-Alt-End. – Pro zjednodušení bylo přepracováno rozhraní ...

Více

Manuál Tmou

Manuál Tmou spı́še s různými nadstavbami a kombinacemi. Je tedy důležité, abyste tyto základy dobře ovládali. Vzhledem k tomu, že čtenář, potenciálnı́ účastnı́k Tmou, má IQ většı́ než 150, ...

Více

Galda

Galda nainstalovat nebo přímo používat (Live CD)  Zároveň se díky použitým licencím jedná o volně šiřitelný software, takže je možné ho nejen volně používat, ale i dále upravovat a distribuovat (kopírov...

Více

Zabezpečení počítačových sítí

Zabezpečení počítačových sítí Získání dat bez šifrování disku je opravdu jednoduché a heslo administrátora vás neochrání. To se dá změnit během 10ti sekund.

Více

Krivky a kryptografie - A-Math-Net

Krivky a kryptografie - A-Math-Net Eliptické křivky Eliptickou křivkou E nad polem F rozumı́me algebraickou křivku třetı́ho stupně s rovnicı́ y 2 + a1 xy + a3 y = x 3 + a2 x 2 + a4 x + a6 , kde a1 , a2 , a3 , a4 , a6 ∈ F a kde...

Více

Bezdrátové síte

Bezdrátové síte Služby přı́stupového bodu autentizace – AP zjišt’uje informace o stanici a rozhoduje, zda jı́ dovolı́ přı́stup do sı́tě asociace (přidruženı́) – vzniká vazba mezi AP a stanicı́, stanice je...

Více