Karta kryptograficzna dla bramy VPN: cztery przekazania przed zakupem
Wykryta karta PCI to tylko jeden z czterech kroków. Prześledź sterownik, wymaganą operację kryptograficzną i aktywny backend VPN, zanim zapłacisz za przyspieszenie.
Stare akceleratory kryptograficzne pojawiają się w inwentarzu PCI, a przyjmuje się, że VPN będzie teraz szyfrować szybciej. Aby to była prawda, muszą powieść się cztery osobne przekazania: system znajduje urządzenie, utrzymywany sterownik nim zarządza, interfejs udostępnia operację potrzebną VPN, a aktywny backend VPN o nią prosi. Jeśli którekolwiek zawiedzie, karta pozostaje poza rzeczywistą ścieżką tunelu.
Wykrycie to pierwsze przekazanie, nie ostatnie
Wykrycie dowodzi tylko, że magistrala widzi urządzenie i że jądro ma jakieś pojęcie, czym ono jest. Wsparcie sterownika to następna brama i zależy od wersji: moduł obecny w starym wydaniu może całkowicie brakować w bieżącym pakiecie jądra. Poza tym sterownik musi zarejestrować konkretny algorytm i tryb używany przez kanał danych. Karta przyspieszająca AES-CBC nic nie daje konfiguracji negocjującej AES-GCM.
Nazwij każde przekazanie osobno w ocenie, ponieważ awaria na czwartym wygląda z zewnątrz tak samo jak awaria na pierwszym.
Przeczytaj inwentarz algorytmów jądra
Zacznij od zebrania tego, co host już wie o urządzeniu i o algorytmach, które zarejestrował.
lspci -nn | grep -i -E "crypt|hifn|soekris"
grep -E "^(name|driver|priority)" /proc/crypto | head -40Wiersz PCI podaje identyfikatory producenta i urządzenia potrzebne do każdego wyszukiwania sterownika, a/proc/crypto wymienia zarejestrowane implementacje wraz z ich sterownikami i priorytetami. Wartość priorytetu porządkuje wybór między implementacjami tego samego algorytmu, co nie jest tym samym, co wybór jednej z nich przez aplikację. Jeśli algorytm karty się tam nie pojawia, sterownik nigdy go nie zarejestrował i żadna zmiana w przestrzeni użytkownika go nie wywoła. Zapisz identyfikatory i nazwy implementacji, a nie zrzut ekranu karty.
VPN musi wybrać właśnie tę implementację
Dostępność w jądrze to menu, a nie gwarancja, że proces VPN z niego zamówił. Sprawdź, czego backend faktycznie używa.
openssl speed -evp aes-256-gcm
openssl engine -t -cPolecenie szybkości ćwiczy własną ścieżkę biblioteki i daje linię bazową dla maszyny w skonfigurowanym stanie, a lista silników pokazuje, czy OpenSSL ma w ogóle dostępnego jakiegoś opcjonalnego dostawcę. VPN w przestrzeni użytkownika z własną biblioteką kryptograficzną całkowicie omija implementacje jądra, więc zarejestrowany sterownik może być dla niego nieistotny. Przenoszenie kanału danych to jeszcze trzeci mechanizm, który zmienia przetwarzanie pakietów, zamiast wysyłać żądania szyfrowania do karty rozszerzeń. Ustal, który z tych trzech opisuje twoje wdrożenie, zanim kupisz sprzęt do czwartego.
Porównaj ze ścieżką procesora, którą już masz
Współczesne procesory zawierają instrukcje AES, których utrzymywana biblioteka używa bez dodatkowego sprzętu, i unikają transferów magistrali oraz zbędnych kopii. Stary akcelerator może przegrać z tą ścieżką, wciąż podając imponujące surowe liczby szyfrowania. Zmierz rzeczywiste obciążenie: ten sam ruch, te same ustawienia ochrony, linia bazowa kontra kandydat, z jednoczesnym zapisem obciążenia procesora i przepustowości aplikacji. Uwzględnij w decyzji zachowanie przy aktualizacji i odtwarzaniu, ponieważ nieutrzymywany moduł zwiększa ryzyko utrzymania bramy przez cały jej okres eksploatacji.
Podstawą zakupu jest wspierany łańcuch plus zmierzona korzyść. Wykryta karta albo moduł, który ktoś kiedyś skompilował, nie jest powodem, by utrzymywana brama zależała od przestarzałego sprzętu.