Otwarte Implementacje VPN
Transkrypt
Otwarte Implementacje VPN
Otwarte implementacje VPN Pawe? Krawczyk A BA Spis tre?ci ● ● ● ● ● Technologie VPN (IPSec, SSL, PPTP) Implementacje open-source (Linux, *BSD) Nowo?ci w IPSec (NAT-T, IKEv2, ...) IPSec w *BSD (funkcjonalno??) IPSec w Linuksie (a jest ich sporo...) Technologie VPN ● SSL, SSH – – – ● Tunelowanie PPP po SSL lub SSH X.509 (SSL) lub has?o, RSA (SSH) Niewydajne (TCP/SSL/PPP) Inne wynalazki – – PPTP (www.poptop.org) Vtun (vtun.sourceforge.net) www.freshmeat.net/browse/151/ Technologie VPN ● IPSec – – – – – Standard IETF i przemys?owy (Cisco i in.) Kryptograficznie silny Dobre zarz?dzanie kluczami Wydajny (ESP) Problemy ● ● – Powszechne stosowanie NAT Bardzo szybkie ??cza (gbit) – wydajno?? 3DES, ESP Wiele implementacji dla systemów open-source Nowo?ci w IPSec ● NAT Traversal – ● Nowe algorytmy kryptograficzne – – ● ● Tunelowanie IKE i ESP w UDP (4500) AES-CBC, XCBC-AES-MAC Tryby CWC, EAX, CCM Grupy MODP do 8192 bitów Du?e numery sekwencyjne ESP IPSec open-source ● OpenBSD – – ● KAME – – ● Niezale?ne od KAME IKE isakmpd FreeBSD, NetBSD, Linux 2.5 IKE racoon Linux – – FreeS/WAN (IKE pluto) KAME (Linux 2.5) OpenBSD i KAME ● Funkcjonalnie pe?na implementacja IPSec – – – ● ● AES, SHA2, 3DES, CAST, Blowfish Uwierzytelnienie X.509 IPComp Dobra obs?uga akceleracji sprz?towej Brak mniej lub bardziej wa?nych nowo?ci – – – MODP do 8192 bitów NAT-T DPD www.kame.net, www.openbsd.org IPSec w Linuksie ● FreeS/WAN (j?dra 2.2, 2.4) – ● OpenS/WAN (dawny Super FreeS/WAN) – ● IKE pluto IKE pluto KAME (2.5, 2.6) – – IKE racoon IKE OpenBSD isakmpd www.ipsec-howto.org Linux KAME ● Oparty o KAME – – – To samo jest w NetBSD, FreeBSD Narz?dzie setkey (konfiguracja r?czna) Demon IKE ● ● Racoon Isakmpd (OpenBSD) www.kame.net Zalety i wady KAME ● Zalety – Kryptografia oparta o OpenSSL ● – – ● Standardowa, sprawdzona implementacja Uporz?dkowany kod Du?o algorytmów IKE (dzi?ki OpenSSL) Wady – – – Brak rozszerze? ESP i IKE (MODP 8192, NAT-T, DPD) Ograniczona kryptografia w kernelu Kod beta (kernel) FreeS/WAN ● Najstarszy projekt IPSec dla Linuksa – – – – W?asna, ograniczona kryptografia (3DES) Uwierzytelnienie has?em i “go?ym” RSA Dobra obs?uga DNSSEC G?ówne wady ● ● – Zagmatwany kod w kernelu Narz?dzia w sh, perlu, C Ale: brak dziur do tej pory! www.freeswan.org OpenS/WAN – Po??czenie ?at dla FreeS/WANA ● ● – Pocz?tkowo Super FreeS/WAN Potem nowy projekt OpenS/WAN Bardzo bogata funkcjonalno?? ● ● ● ● ● ● ● X.509, RSA, has?a, smartcard Modularne szyfry ESP (AES, SHA2, XCBC, ...) NAT Traversal Dead Peer Detection XAUTH Du?e MODP (do 8192) IKE Aggressive Mode www.openswan.org OpenS/WAN ● Wady SuperFreeS/WAN – – ● Cel OpenS/WAN – – ● Funkcjonalno?? w uporz?dkowanej formie Mo?liwo?? wy??czenia niepotrzebnych funkcji Marzenie – ● Du?o poprawek Niejednolity kod Funkcjonalno?? OpenS/WAN w formie KAME OpenS/WAN pluto mo?e wspó?pracowa? z KAME w kernelu Ciekawostki sprz?towe ● Kryptografia “dla ubogich” – – – Intel RNG VIA Padlock RNG (C3) VIA Eden AES (C5) www.intel.com/design/security/rng/rng.htm www.via.com.tw/en/Products/eden_n.jsp Z naszego podwórka ● Linux z papierami – Grudzie? 2002 ● – Stycze? 2004 ● ● ● Certyfikat ABW dla szyfratora ABA (ITSEC-E2) Rozpocz?ta certyfikacji ABW na E3 Przygotowania do certyfikacji WSI na E3 GPL jako “problem”? Nie! – – Prywatne funkcje jako modu?y Wyniki pracy udost?pnione jako GPL (DPD) www.aba.krakow.pl Pytania? Pawe? Krawczyk <[email protected]>