Nie mogę uzyskać prostej odpowiedzi na to pytanie. Wikipedia twierdzi, że „IPsec jest integralną częścią podstawowego zestawu protokołów w IPv6”, ale czy to oznacza, że WSZYSTKIE komunikaty są zawsze szyfrowane, czy oznacza to, że szyfrowanie jest opcjonalne, ale urządzenia muszą być w stanie to zrozumieć (jeśli powinno się go użyć )?
Jeśli szyfrowanie jest opcjonalne, czy to system operacyjny decyduje, czy użyć szyfrowania, czy też aplikacja? Czy popularne systemy operacyjne i oprogramowanie zazwyczaj umożliwiają szyfrowanie?
Zbadałbym to sam, ale brakuje mi łączności IPv6.
Aktualizacja: Ok, więc jest opcjonalna. Moje dalsze pytanie: czy zazwyczaj jest to aplikacja, która określa, czy używać szyfrowania, czy też system operacyjny?
Konkretny przykład: Wyobraź sobie, że mam najnowszą wersję systemu Windows z natywną obsługą ipv6 i szukam czegoś na ipv6.google.com przy użyciu Mozilla Firefox. Czy byłby zaszyfrowany?
źródło
Odpowiedzi:
Nie.
IPv6 ma wbudowany protokół IPsec jako część protokołu i nie jest on zintegrowany, jak w przypadku protokołu IPv4. Nie oznacza to jednak, że jest domyślnie włączony, to po prostu oznacza (teoretycznie) niższy narzut na stosie sieciowym.
Zasadniczo użycie IPsec jest określane na poziomie IP stosu sieciowego, a zatem jest określane przez same zasady systemowe. np. System A może mieć politykę, która wymaga, aby zarówno AH, jak i ESP miały jakąkolwiek komunikację z podsiecią 4.0.0.0/8.
Aktualizacja: dla jasności aplikacja nie ma znaczenia - po prostu wie, że musi gdzieś otworzyć połączenie sieciowe i wysłać / odebrać dane. Następnie system musi ustalić, czy negocjować IPsec dla danego żądanego połączenia. Protokół IPsec jest w dużej mierze zaprojektowany jako mechanizm uwierzytelniania / szyfrowania niskiego poziomu i został celowo zbudowany, aby protokoły i aplikacje wyższego poziomu nie musiały się o to martwić.
To powiedziawszy, to tylko kolejna kontrola bezpieczeństwa na poziomie sieci i niekoniecznie powinna być używana w izolacji lub polegać na zagwarantowaniu „bezpieczeństwa” - jeśli próbujesz rozwiązać problem z uwierzytelnianiem, jest całkiem możliwe, że chcesz aplikacja do egzekwowania pewnego rodzaju uwierzytelnienia na poziomie użytkownika, pozostawiając uwierzytelnianie na poziomie komputera aż do IPsec.
źródło
Krótka odpowiedź: nie
Długa odpowiedź: IPsec brano pod uwagę przy projektowaniu IPv6 w tym sensie, że w przeciwieństwie do IPv4, IPsec (gdy jest używany) jest częścią nagłówka IPv6.
Więcej wyjaśnień: w IPv4 IPsec działa na samym IP. W rzeczywistości jest to protokół warstwy 4, który „zamaskowuje” jako protokół warstwy 3 (tak, że zwykłe protokoły L4 TCP i UDP nadal będą mogły działać). ESP (Encapsaping Security Payload) nie może rozdzielać pakietów IP. W rezultacie pakiety IPsec zwykle będą miały znacznie zmniejszoną pojemność użyteczną, jeśli zapobiegnie się fragmentacji. Dodatkowo, ponieważ jest na szczycie IP, nagłówek IP nie jest chroniony.
W IPv6 IPsec jest częścią samego IP. Może rozciągać się na pakiety, ponieważ nagłówek ESP jest teraz częścią nagłówka IP. A ponieważ jest zintegrowany z IP, można chronić więcej części nagłówka IP.
Mam nadzieję, że moje wyjaśnienie w skrócie jest wystarczająco jasne.
źródło
Do Ciebie Dalsze pytanie:
System operacyjny określa, kiedy używać szyfrowania. Te opcje „zasad” znajdują się w panelach sterowania / zasadach konfiguracji. Mówisz rzeczy takie jak „jeśli chcesz połączyć się z dowolnym adresem w podsieci ab12 :: musisz mieć tajny Blah1234”. Istnieją opcje korzystania z PKI.
W tej chwili aplikacja nie może dodać do tej zasady ani zażądać skonfigurowania tej zasady. W sekcji ipv6 gniazda linux wspomniano: „Brakuje obsługi IPSec dla nagłówków EH i AH”. Ludzie myśleli o tym, ale obecnie nie są znane żadne działające implementacje.
źródło
Na twoje kolejne pytanie tak i nie.
Aplikacje mogą określać szyfrowanie, ale szyfrowanie odbywa się na poziomie aplikacji. Istnieje wiele różnych par nieszyfrowanych / szyfrowanych protokołów korzystających z różnych portów, takich jak HTTP / HTTPS, LDAP / LDAPS, IMAP / IMAPS i SMTP / SSMTP. Wszystkie używają szyfrowania SSL lub TLS. Niektóre usługi oferują opcję startTLS, która umożliwia uruchomienie szyfrowanego połączenia na normalnie nieszyfrowanym porcie. SSH to aplikacja, która zawsze używa szyfrowanego połączenia. W tych przypadkach szyfrowanie jest kompletne. (Istnieje algorytm szyfrowania NULL, którego można użyć, a zaszyfrowana treść zostanie przetransportowana w postaci niezaszyfrowanej).
IPSEC jest konfigurowany przez administratora, a aplikacja nie będzie wiedziała, czy połączenie jest szyfrowane. Widziałem głównie IPSEC używane do mostkowania ruchu między sieciami LAN przez niezabezpieczone połączenia (połączenia VPN). Wierzę, że IPSEC może dotyczyć tylko części trasy, więc w niektórych segmentach sieci dane są przesyłane w postaci czystej (niezaszyfrowanej).
Biorąc pod uwagę wybór, użyję szyfrowania aplikacji, ponieważ szyfrowanie sieciowe nie jest intensywnie używane.
źródło