Udostępnij za pośrednictwem


Co to jest przypinanie certyfikatu?

Przypinanie certyfikatów to technika zabezpieczeń, w której podczas ustanawiania bezpiecznej sesji akceptowane są tylko autoryzowane lub przypięte certyfikaty. Każda próba ustanowienia bezpiecznej sesji przy użyciu innego certyfikatu zostanie odrzucona.

Historia przypinania certyfikatu

Przypinanie certyfikatu zostało pierwotnie opracowane jako środek udaremnienia ataków Man-in-the-Middle (MITM). Przypinanie certyfikatów po raz pierwszy stało się popularne w 2011 roku w wyniku naruszenia bezpieczeństwa urzędu certyfikacji DigiNotar, gdzie osoba atakująca mogła utworzyć certyfikaty z symbolami wieloznacznymi dla kilku witryn internetowych o wysokim profilu, w tym Google. Przeglądarka Chrome została zaktualizowana, aby blokować aktualne certyfikaty dla witryn internetowych Google i będzie odrzucać wszelkie połączenia, jeśli zostanie przedstawiony inny certyfikat. Nawet jeśli atakujący znalazł sposób na przekonanie urzędu certyfikacji do wystawienia fałszywego certyfikatu, nadal byłby rozpoznawany przez Chrome jako nieprawidłowy, a połączenie odrzucone.

Chociaż przeglądarki internetowe, takie jak Chrome i Firefox, były jednymi z pierwszych aplikacji do zaimplementowania tej techniki, zakres przypadków użycia szybko się rozszerzył. Urządzenia Internetu rzeczy (IoT), aplikacje mobilne dla systemów iOS i Android oraz różne kolekcje aplikacji oprogramowania zaczęły używać tej techniki do obrony przed atakami typu Man-in-the-Middle.

Przez kilka lat przypinanie certyfikatów było uznawane za dobrą praktykę w zakresie zabezpieczeń. Nadzór nad krajobrazem infrastruktury kluczy publicznych (PKI) poprawił się dzięki przejrzystości w praktykach wydawania certyfikatów przez publicznie zaufane urzędy certyfikacji.

Jak rozwiązać kwestię przypinania certyfikatu w aplikacji

Zazwyczaj aplikacja zawiera listę autoryzowanych certyfikatów lub właściwości certyfikatów, w tym nazwy wyróżniające podmiotu, odciski palca, numery seryjne i klucze publiczne. Aplikacje mogą przypinać poszczególne certyfikaty liścia lub jednostki końcowej, certyfikaty podrzędnego urzędu certyfikacji, a nawet certyfikaty głównego urzędu certyfikacji.

Jeśli aplikacja jawnie określa listę akceptowalnych urzędów certyfikacji, może być okresowo konieczne zaktualizowanie przypiętych certyfikatów po zmianie lub wygaśnięciu urzędu certyfikacji. Aby wykryć przypinanie certyfikatu, zalecamy wykonanie następujących czynności:

  • Jeśli jesteś deweloperem aplikacji, przeszukaj swój kod źródłowy w poszukiwaniu któregokolwiek z poniższych odniesień do CA, które zmienia się lub wygasa. Jeśli istnieje dopasowanie, zaktualizuj aplikację, dodając brakujące urzędy certyfikacji.

    • Odciski palca certyfikatu
    • Nazwy wyróżniające podmiotów
    • Nazwy pospolite
    • Numery seryjne
    • Klucze publiczne
    • Inne właściwości certyfikatu
  • Jeśli niestandardowa aplikacja kliencka integruje się z interfejsami API platformy Azure lub innymi usługami platformy Azure i nie masz pewności, czy używa przypinania certyfikatu, sprawdź dostawcę aplikacji.

Ograniczenia przypinania certyfikatu

Praktyka przypinania certyfikatów stała się powszechnie kwestionowana, ponieważ niesie ze sobą niedopuszczalne koszty elastyczności certyfikatów. Jedna z konkretnych implementacji, przypinanie klucza publicznego HTTP (HPKP), została całkowicie uznana za przestarzałą.

Ponieważ nie ma żadnego standardu internetowego dotyczącego sposobu wykonywania przypinania certyfikatów, nie możemy zaoferować bezpośrednich wskazówek dotyczących wykrywania jego użycia. Chociaż nie zalecamy przypinania certyfikatów, klienci powinni pamiętać o ograniczeniach, które ta praktyka tworzy, jeśli zdecyduje się go użyć.

Następne kroki