2007/52 – 10.12.2007
Návrh kryptografického zabezpečení systémů hromadného sběru dat Ing. Martin Koutný Ing. Jiří Hošek Fakulta elektrotechniky a komunikačních technologií VUT v Brně, Ústav telekomunikací, Purkyňova 118, 612 00 Brno, Česká republika Email:
[email protected],
[email protected]
Článek seznamuje s obecnými principy kryptografie. Podrobněji jsou rozebrány principy symetrických kryptografických systému a blokové zpracování zpráv. Dále článek představuje návrh metody bezpečné autentizace a bezpečného přenosu dat s využitím symetrické kryptografie. V závěru článku je presentován návrh přenosové zprávy v sítích TCP/IP.
1. Úvod Veřejné datové kanály mají bezpečnostní rizika, která dříve nebylo zapotřebí řešit. Nově se naskýtá možnost využití Internetu, u které se však objevuje řada nových problémů, zvláště co se týká zabezpečení vlastního přenosu dat. Proto je zapotřebí navrhnout takový způsob přenosu zpráv, který svou jednoduchostí bude lehce implementovatelný do nově vyráběných komunikačních jednotek u koncových měřicích zařízení a zároveň natolik bezpečný, aby odolal útoku útočníků. Nejrozšířenějším standardem pro Internet je Ethernet a jeho rychlostní klony. Protokol TCP/IP umožňuje spolehlivý a spojově orientovaný přenos dat. Mechanizmus protokolu se stal jedním z bezpečnostních bodů navrženého způsobu přenosu. Pro algoritmus bylo nutné vybrat vhodné kryptografické prostředky. Vycházíme-li z předpokladu, že algoritmus bude aplikován do osmibitových mikrokontrolérů, je nutné brát v úvahu výpočetní náročnost zvolených algoritmů, čas na zpracování přenášených zpráv a tím i jeho odezvu na případné výzvy klienta.
2. Bezpečný přenos zpráv Kryptografické systémy se dělí na dvě základní skupiny. Systémy symetrické a systémy asymetrické [1]. Symetrický systém využívá symetrických šifer. To znamená, že odesílatel pro zašifrování zprávy využije stejného klíče jako příjemce pro dešifrování dané zprávy. Z dnes využívaných algoritmů v symetrické kryptografii můžeme zmínit DES, 3DES, AES, IDEA apod. Protikladem symetrických kryptosystémů jsou systémy asymetrické. Tyto systémy se vyznačují využíváním dvojice klíčů – veřejný klíč a klíč tajný. Tyto klíče jsou pak využity v jednosměrných matematických funkcích, které se v asymetrické kryptografii využívají. Mezi hlavní zástupce algoritmů v asymetrických systémech řadíme Diffie-Hellmanův protokol a algoritmus RSA. Protože se asymetrický systém charakterizuje značnou výpočetní náročností, vzhledem k použitým matematickým funkcím, byl pro návrh algoritmu uvažován systém symetrický.
52-1
2007/52 – 10.12.2007
2.1 Symetrický kryptosystém Symetrický systém pro svoji funkčnost využívá jednoho tajného klíče, který je znám oběma komunikujícím stranám. Tento komunikační řetězec znázorňuje obr. 1. Systémy se vyznačují menšími výpočetními nároky a rychlejším zpracováním přenášených zpráv oproti systémům asymetrickým. Z tohoto hlediska jsou vhodné pro implementaci do jednočipových aplikací.
Obr. 1: Schéma symetrického kryptosystému Ze způsobu zpracování zpráv jsou tyto systémy děleny na proudové a blokové šifry. Při zpracování vstupních dat proudovou šifrou jsou jednotlivé bity vstupní posloupnosti šifrovány jednotlivými bity klíče. Při způsobu zpracování blokovou šifrou je vstupní posloupnost rozdělena do bloků a ty jsou pak podle použitého módu šifrovány. Obecně jsou blokové šifry bezpečnější než šifry proudové s výjimkou šifry dokonalé [1], která je ale v praxi často nerealizovatelná.
3. Výběr algoritmu Protože v systémech hromadného sběru dat dochází k poměrně časté výměně zpráv, stává se nasazení proudové šifry pro bezpečný přenos zpráv spíše bezpečnostním rizikem. Útočník by po dlouhodobém odposlechu mohl časem šifrovací klíč z odposlechnuté komunikace vyvodit, a tak snáze modifikovat naměřená data, nastavení komunikační jednotky nebo se zcela prolomit do systému uživatele. Z výše uvedeného hlediska se jeví implementace blokového zpracování zprav jako bezpečnější metoda pro přenos.
3.1 Blokové zpracování zpráv: ECB (Electronic Code Book – bloková šifra viz. obr. 2a) - základní mód, kde je každý blok otevřeného textu šifrován stejným klíčem bez závislosti na ostatních blocích. CBC (Cipher Block Chaining – bloková šifra se zpětnou vazbou viz. obr. 2b) – mód, který zavádí kontextovou závislost do šifrovaných bloků. Tato závislost je realizována pomocí zpětné vazby. Každý n-tý blok je před vlastním šifrováním bit po bitu přičten XOR k předchozímu zašifrovanému bloku. Operace XOR je dána tabulkou Tab. 1. Tab. 1: Operace XOR A 0 0 1 1
B 0 1 0 1
A⊕B 0 1 1 0
52-2
2007/52 – 10.12.2007 CFB (Cipher Feedback Block – proudová šifra s heslem podle kryptogramu viz. obr. 2c) mód, ve kterém se bloková šifra chová jako proudová šifra s vlastní synchronizací. OFB (Output Feedback Block – proudová šifra viz. obr. 2d) - Princip je stejný jako u CFB. Rozdíl je v doplňování posuvného registru. Podrobnější informace o blokovém zpracování zpráv pojednává [2] a [3].
a) mód EBC
b) mód CBC
c) mód CFB
d) mód OFB
Obr. 2: Režimy blokového zpracování zpráv AES Jedná se o šifru s délkou klíče, která může nabývat tří hodnot: 128, 192 a 256 bitů [4]. Délka bloků je ve všech případech 128 bitů. Podle délky klíče se mění počet rund. V těchto rundách dochází k opakování části šifrovacího algoritmu. Pro klíče, které jsou dlouhé 128b, je to deset rund. Pro klíče, které jsou dlouhé 192 bitů, je to dvanáct rund a pro 256 bitů je to čtrnáct rund. V každé rundě je nejprve provedena substituce, pak následují dva speciální transpoziční kroky. Blok je uspořádán do matice, nejprve jsou rotovány jednotlivé řady. Následuje promíchání sloupce vynásobením speciální maticí. Nakonec jsou data zkombinována s šifrovacím klíčem. Klíč se pak pro každou rundu mění. DES a Triple DES Délka klíče v případě DES [5] činí 56 bitů a proto je v dnešní době považována za méně bezpečnou a prolomenou [6]. Ve své realizaci kombinuje substituční a transpoziční šifry. Na otevřený blok datové zprávy se první aplikuje substituce a následně transpozice. Tento cyklus je opakován 16x, kde v každém cyklu je blok rozdělen na dvě poloviny a následně zkombinován s hodnotou vstupního klíče. Protože v dnešní době je samotný DES prolomený je jeho nástupcem Triple DES, zkratkou označován jako 3DES. 3DES aplikuje celý výše uvedený postup třikrát za sebou, čímž zvyšuje odolnost původního DES. Z tohoto důvodu také vyžaduje vyšší časovou náročnost na zpracování vstupní zprávy.
52-3
2007/52 – 10.12.2007 IDEA Pracovní režim IDEA [7] algoritmu pracuje se 64 bitovými bloky s klíčem o velikosti 128 bitů. Je složena ze vstupní transformace, která je poloviční, a osmi dalších, které se cyklicky opakují. Vstupní 64 bitovou posloupnost rozdělí na čtyři 16-ti bitové toky dat a podrobí je jednoduchým matematickým operacím jako násobení, sčítání a XORování. Cast CAST [8] pracuje s klíči od 40 do 128 bitů a bloky o velikosti 64 bitů. Stejně jako předcházející principy i CAST používá na Feistelovo schéma. Pracuje v cyklech identických operací, které se nazývají rundy, tedy stejně jako u předchozích principů. Algoritmus má 12 rund pro velikost klíče 80 bitů, nebo 16 rund pro 128-bitový klíč. Dalším principem CAST je substitučně-permutační síť. Znamená to, že některá část bitů je systematicky posouvána a jiná část nahrazována různým sledem bitů. Má 4 substituční boxy, které převádějí 8 bitů na 32 bitů. Blowfish Velikost zpracovávaného bloku u Blowfish [9] je 64 bitů. Délka klíče může nabývat až 448 bitů. Šifrování je prováděno v šestnácti rundách. Každá z rund provádí substituční kroky, které jsou závislé na vstupní posloupnosti a permutaci, která je závislá na daném klíči. Ve svém zpracování pro svoji funkčnost používá řadu podklíčů, které jsou vypočteny algoritmem ze zadaného klíče.
4. Navržená metoda Základem navrženého postupu je symetrický kryptosystém založený na blokovém zpracování přenášených zpráv a algoritmu AES pracující v módech ECB a CBC. Rozhodnutí, které vedlo k volbě algoritmu AES, je jeho snadná implementace do jednočipových aplikací, rychlé zpracování dat a perspektiva bezpečnosti, kterou algoritmus v současné době nabízí.
4.1 Návrh komunikace Navržená komunikace je rozdělena na bezpečnou autentizaci spolupracujících stran a na bezpečný přenos zpráv mezi nimi. Pro bezpečnou autentizaci je využit mód ECB, který je jednoduchý a rychlý. Podmínkou pro využití módu ECB je, že obě strany znají šifrovací klíč – tzv. distribuční klíč. Pro bezpečnou autentizaci se předpokládá, že tento klíč bude na cílových systémech nepravidelně měněn. Nemělo by tak dojít k tomu, že útočník tento klíč prolomí periodickým odposloucháváním autentizačních mechanizmů. Na obr. 3 je představen způsob autentizace obou stran a ustanovení klíče pro přenos dat:
52-4
2007/52 – 10.12.2007 KJi
TSC E (FTSC+ADTSC, DKi) FTSC
FTSC FKJ
E (FKJ+ADKJ, DKi)
FKJ
E (RKJ, RK)
RKJ
RKJ == ¬(¬ ¬RKJ)
RTSC ¬RTSC
RKJ
¬RKJ
E (¬RKJ, RK)
E (RTSC, RK)
autentizace režim ECB
FTSC ⊕ FKJ = RK
R
E(¬RTSC, RK)
RTSC == ¬(¬ ¬RTSC)
E (Data, RK) režim CBC
Obr. 3: Bezpečná autentizace a ustanovení šifrovacích klíčů
Při navazování spojení vygeneruje telemetrická sběrová centrála TSC náhodné číslo FTSC. K tomuto číslu přidá svoji adresu a řetězec zašifruje distribučním klíčem DKi.Vzniklý kryptogram E (FTSC+ADTCS, DKi) je zaslán protistraně. Poté, co protistrana zaznamená pokus o autentizaci, vygeneruje náhodné číslo FKJ. K tomuto číslu přidá svoji adresu a řetězec také zašifruje distribučním klíčem DKi. Vzniklý kryptogram E (FKJ+ADKJ, DKi) je zaslán k TSC. Obě strany přijaté kryptogramy dešifrují známým distribučním klíčem. Ze získaných hodnot získají náhodná čísla a zkontrolují adresy odesilatelů. V případě, že se adresa odesílatele neshoduje s jejich adresou, jsou náhodná čísla sečtena operací XOR a je získán klíč RK: RK = FTSC ⊕ FKJ .
(1)
(Pozn.: Kontrola dešifrovaných adres slouží jako ochrana proti útoku zrcadlením. První kryptogram z TSC může útočník zaslat zpátky do TSC jako první kryptogram z KJ. TSC pak odvodí klíč RK = 0 a s tímto klíčem pak útočník může vystupovat jako KJ.) Komunikační jednotka KJi poté vygeneruje náhodné číslo RKJ, které zašifruje klíčem RK. Vzniklý kryptogram E (RKJ, RK) je zaslán TSC. Sběrová centrála přijme kryptogram E (RKJ, RK). Dešifruje jej a získá číslo RKJ. Číslo, které získala neguje. Negaci čísla zašifruje klíčem RK a zašle nazpět kryptogramem E (¬ ¬RKJ, RK). Jednotka přijme kryptogram E (¬RKJ, RK), dešifruje jej a porovná přijatou ¬RKJ s RKJ.
52-5
2007/52 – 10.12.2007 RKJ == ¬(¬RKJ )
(2)
V případě rovnosti je rozhodnuto o autentizaci sběrové centrály. Sběrová centrála TSC vygeneruje náhodné číslo RTSC. Toto číslo zašifruje klíčem RK a zašle komunikační jednotce kryptogram E (RTSC, RK). Jednotka kryptogram dešifruje E (RTSC, RK) a získá číslo RTSC. Provede negaci získaného čísla a šifrované klíčem RK zašle zpět sběrové centrále TSC v kryptogramu E (¬ ¬RTSC, RK). Sběrová centrála TSC kryptogram dešifruje a porovná obě čísla. RTCS == ¬(¬RTSC )
(3)
V případě rovnosti je rozhodnuto o autentizaci jednotky. Pokud všechny kroky autentizačního procesu proběhnou úspěšně, je proces autentizace považován za dokončený. Po ustanovení tohoto procesu následuje zahájení přenosu dat šifrovaný pomocí vypočítaného klíče RK, který se tak stává pro každý přenos odlišný.
4.2 Navržený formát šifrované zprávy Pro zabezpečený přenos zpráv je využit algoritmus AES v módu CBC. Tento mód zaručí důvěrnost a integritu přenášených zpráv. Na obr. 4 je vidět navržený formát datové zprávy. Do bloku, který bude šifrován, vstupují data a výplň PAD. Výplň je nutné do bloku přidat z důvodu použitého módu CBC. Ten data šifruje po blocích dlouhých n x 128 bitů. Dále je do bloku nutné doplnit délku dat LEN, aby bylo zřejmé, co jsou v blocích přenášených zpráv data a co je výplň. Z těchto částí je vypočítán kontrolní součet a přiložen na konci zprávy. Celá zpráva je pak zašifrována a odeslána k cíli.
4.3 Bezpečný přenos zpráv, rozbor problému v komunikaci Koncept je navržen pro TCP síť, kde dochází k potvrzování bezchybně přijatých paketů. Protokol TCP [10] tak zajistí bezchybné doručení odeslaných dat. V přenosu dat může dojít k poškození, modifikaci nebo podvrhnutí zprávy. To jsou všechno důvody, kdy příjemce vypočítá špatné CRC a komunikaci ukončí. Mód CBC pro šifrování a dešifrování potřebuje inicializační vektor. Dojde-li k modifikaci tohoto vektoru, bude zašifrovaná část chybně dešifrována. CRC bude špatné. Příjemce zprávu zahodí a spojení ukončí.
52-6
2007/52 – 10.12.2007
Obr. 4: Navržený formát zprávy pro síť TCP/IP
5. Závěr Pro účely využívání veřejných komunikačních kanálů ke sběru měřících dat byl navržen způsob bezpečné autentizace a zabezpečeného přenos dat. Pro potřebu bezpečné autentizace byl zvolen symetrický kryptosystém založený na blokovém zpracování dat AES v režimu EBC. Byl představen způsob, jak lze bezpečně z této autentizace odvodit šifrovací klíč pro následný bezpečný přenos přenášených dat. Děje se tak na základě dvou tajných náhodných čísel, která jsou vyměněna v autentizačních mechanizmech. Šifrovací klíč je tak pro každý přenos unikátní. Unikátnost klíče pro každý přenos by tak měla dostatečně ochránit přenášené datové zprávy. Pro tento přenos byl navrhnut AES v režimu CBC, který tak zaručí důvěru a integritu přenášených zpráv. V další části článku byla představena možnost realizace přenosového paketu pro použití v TCP/IP sítích. V současné době je pracováno na implementaci algoritmu do vyvíjené komunikační jednotky a jeho zahrnutí do komutačního řetězce systému hromadného sběru dat.
Poděkování Tento příspěvek vznikl za podpory projektu AVČR 1ET110530523. Literatura [1] MOLLIN, Richard A. An introduction to cryptography. New York : Chapman & Hall/CRC, 2006. 413 s. ISBN 978-1584886181.. [2] MENEZES, Alfred J., OORSCHOT, Paul C. van, VANSTONE, Scott A. Handbook of applied cryptography. Boca Raton : CRC Press, 1996. 816 s. ISBN 0-8493-8523-7. [3] K. Burda. Bezpečnost informačních systémů. 1. Brno: FEKT VUT Brno, 2005. s. 1621.
52-7
2007/52 – 10.12.2007 [4] DAEMEN, Joan, RIJMEN, Vincent. The Design of Rijndael : AES - The Advanced Encryption Standard. Berlin : Springer-Verlag, 2002. 238 s. ISBN 3-540-42580-2. [5] Institute for Computer Sciences and Technology. FIPS PUB 46-2 : Data Encryption Standard. 1993. 26. Dostupný z WWW:
. [6] Electronic Frontier Foundation. Cracking DES : Secrets of Encryption Research. Farnham : O'Reilly Media, 1998. 264 s. ISBN 1565925203. [7] GARFINKEL, Simson. PGP : Pretty Good Privacy. Farnham : O'Reilly Media, 1994. 430 s. ISBN 978-1565920989. [8] ADAMS, C. RFC 2144 : The CAST-128 Encryption Algorithm. Request for Comments : Informational [online]. 1997. Dostupný z WWW: . [9] SCHNEIER, Bruce. The Blowfish Encryption Algorithm : One Year Later. Dr. Dobb’s: Journal [online]. 1995. Dostupný z WWW: . [10] DOSTÁLEK, Libor, KABELOVÁ, Alena. Velký průvodce protokoly TCP/IP a systémem DNS. Brno : Computer Press, 2002. 552 s. ISBN 80-7226-675-6.
52-8