Skaner lub kolega wskazuje liczbę bitów wydrukowaną wewnątrz pliku klucza statycznego OpenVPN i pyta, dlaczego tunel nie używa szyfru o takim rozmiarze. Pytanie brzmi rozsądnie, a odpowiedź nie jest liczbą: baner liczy zapisany materiał klucza, podczas gdy szyfr zużywa tylko tę część, której wymaga jego rozmiar klucza. Traktowanie tej sumy jako ustawienia siły prowadzi do zmian, które nic nie zmieniają. Format zbudowano tak, aby mieścił więcej materiału, niż zużywa którykolwiek pojedynczy algorytm.

Mieszają się tu dwa pytania: ile materiału klucza przechowuje plik i jak silny jest wynegocjowany szyfr. Tunel opisuje tylko drugie.

Co właściwie liczy liczba w banerze

Kontener serializuje materiał szyfru i materiał HMAC jako osobne struktury, a forma dwukierunkowa przechowuje dwa takie zestawy, aby każdy kierunek mógł nieść własne klucze. Kod zapisujący wyprowadza wydrukowaną liczbę z liczby zserializowanych struktur, ich rozmiaru i ośmiu bitów na bajt. To arytmetyka nad magazynem, a nie twierdzenie, że jeden szyfr zużywa każdy zapisany bajt. Nagłówek ustala też maksymalny przydział materiału szyfru, aby zmiana biblioteki nie mogła po cichu zmienić wymiarów formatu.

Porównaj to z kluczem certyfikatu, gdzie liczba bitów rzeczywiście opisuje rozmiar jednego obiektu. Klucz RSA o 4,096 bitach i plik klucza, którego baner głosi 4,096 bitów, to różne artefakty o różnych zadaniach, a ustawianie ich jako dwóch opcji na jednej tarczy daje błędne wnioski.

Dwa zestawy kluczy w jednym pliku

Każda połowa pliku dostarcza materiał do szyfrowania i uwierzytelniania, ponieważ tryb współdzielonego klucza chroni pakiety w obu kierunkach tymi osobnymi częściami. Aktywny szyfr zużywa tylko bajty wymagane przez jego rozmiar klucza, a skrót używa własnego rozmiaru wyjścia, dlatego użyteczna siła pochodzi z opcji, a nie z długości pliku. Wydłużenie bloku szesnastkowego nie każe skonfigurowanemu algorytmowi zużywać go więcej. Edycja komentarza większą liczbą zmienia jeszcze mniej.

Jeśli naprawdę chcesz dłuższego klucza, ustawieniem do zmiany jest szyfr albo skrót, a generator tworzy to, czego potrzebują wybrane algorytmy.

Odczyt profilu mówi, który tryb masz

Ten sam format pliku służy dwóm dość różnym zadaniom, a tylko profil mówi, które masz. Stara linia secret czyni plik jedynym materiałem klucza tunelu, a tls-auth lub tls-crypt czyni go ochroną kanału sterującego obok certyfikatów. Żadne z tych zastosowań nie zamienia go w klucz prywatny certyfikatu klienta, jakkolwiek podobnie wygląda blok. Zidentyfikuj opcję i wersję przed wygenerowaniem zamiennika i użyj udokumentowanego generatora zamiast dopisywania znaków.

Ta różnica decyduje też o reakcji na ujawnienie. Wyciekły klucz tls-auth nie ujawnia kluczy sesji, ale pozwala atakującemu wstrzykiwać ruch kanału sterującego, więc nadal trzeba go wymienić. Wyciekły klucz secret jest gorszy, bo to on był materiałem chroniącym same dane.

Co powinien odnotować przegląd bezpieczeństwa

Odnotuj trzy rzeczy osobno: wynegocjowaną ochronę kanału danych, ochronę kanału sterującego i sposób uwierzytelniania się partnerów. Linia taka jak data-ciphers AES-256-GCM opisuje tylko pierwszą, a raport, który się na tym kończy, nie potrafi odpowiedzieć, czy kanał sterujący jest w ogóle chroniony. Plik klucza statycznego należy do drugiej kategorii, gdy używa się go z tls-auth lub tls-crypt, i do żadnej, gdy się go nie używa. Recenzenci mieszający kategorie proszą o większy plik klucza, gdy chcą silniejszego szyfru.

Jeśli plik został ujawniony, obróć go i rozdystrybuuj ponownie zatwierdzonym kanałem. Dodawanie znaków do skompromitowanego sekretu nie jest rotacją i pozostawia ujawniony materiał ważnym.

Przechowuj zapis rotacji razem z profilem, do którego należy. Następny przegląd zapyta który klucz chronił który okres, a baner na to nie odpowie.

Powiązane artykuły