Zespół z Uniwersytetu Columbia i Microsoftu daje nową szansę protokołowi IPSec. Ich projekt ma rozwiązać jeden z głównych jego problemów czyli ogromną złożoność konfiguracji. Protokół IPSec miał być w początkowych założeniach (przełom lat 80-tych i 90-tych) standardowym mechanizmem bezpieczeństwa dla sieci IP. Niestety, najwyraźniej został zaprojektowany bez udziału specjalistów od używalności bo już jego specyfikacja była niezwykle skomplikowana. Przez kilka lat po publikacji pierwszych wersji na początku lat 90-tych mało kto potrafił ją ogarnąć w całości i sensownie zaimplementować. Potem przez parę kolejnych lat mieliśmy problemy ze współdziałaniem różnych implementacji.
A potem okazało się że IPSec nie działa z NAT i ten niezwykle zaawansowana architektura została sprowadzona do roli niszowego protokołu do zabezpieczania ruchu między wyspecjalizowanymi szyfratorami. Dodatkowo, żeby skonfigurować prosty tunel trzeba albo przejść specjalistyczne szkolenie albo spędzić kilka wieczorów na czytaniu hermetycznej dokumentacji i zabawie w tunele testowe.
Pomysł zespołu Srivatsan, Johnson i Bellovin to stworzenie maksymalnie uproszczonego języka opisu topologii VPN (Simple-VPN), który jest następnie kompilowany na konfigurację tuneli. W różnych stopniu robią to od dawna wizardy konfiguracyjne różnych darmowych lub komercyjnych implementacji IPSec.
Simple-VPN opiera się o następujące założenia:
- Nie używamy AH (Authentication Header), które i tak po zniesieniu ograniczeń eksportowych w 2001 roku nie ma sensu i nikt go nie używa.
- ESP (Encapsulation Security Payload), czyli główny protokół roboczy IPSec, stosujemy w jednej konfiguracji - AES-128 w trybie CBC z ochroną autentyczności za pomocą HMAC-SHA1.
- Zawsze używamy trybu głównego (main mode) w trybie tunelowym (tunnel mode).
- Generalnie nie używamy szyfrowania selektywnego czyli filtrów w SPD (Security Policy Database), które pozwalają na szyfrowanie tylko ruchu na jednym wybranym porcie. Szyfrowane jest wszystko jak leci.
- Do uwierzytelnienia są używane zawsze certyfikaty X.509. Domyślny czas ważności certyfikatu to 1 rok.
</ul>
Przykład konfiguracji zapisanej w Simple-VPN:
access "direct" type "racoon" authgen vpn sample { nodes "ubuntu" { host 128.59.11.1, 128.59.12.1 gw 128.59.13.1 { subnet 128.59.13.0/24 } } }
Konfiguracja zapisana w ten sposób może być skompilowana do wynikowych plików przeznaczonych dla różnych systemów operacyjnych i implementacji IPSec. Kompilator jest dostępny na Sourceforge. http://sourceforge.net/projects/simple-vpn/ Dokument opisujący założenia Simple-VPN: https://mice.cs.columbia.edu/getTechreport.php?techreportID=1433