SSL Pinning - co to?

0

Cześć.
Mógłby mi ktoś wyjaśnić (najlepiej dosyć szczegółowo) co to jest ssl pinning, zasade działania i podać jakiś przykład fizyczny?
Byłbym niezmiernie wdzięczny

Z góry dzięki

1

tl;dr:
Certyfikaty może wystawiać wiele różnych podmiotów, każdy dla każdej możliwej domeny. Jeśli jesteś jednym z centrów certyfikacji, to mógłbyś wystawić sobie lewy certyfikat np. dla domeny jakiegoś banku i kraść hasła użytkowników, podszywając się pod bank spoofując dns.
Na przykład takie Google, które utrzymuje dość powszechnie stosowane serwery DNS, mogłoby podmienić IP dla niektórych domen na kontrolowane przez siebie strony phishingowe, wystawić dla nich lewe certyfikaty i praktycznie nie ma możliwości zorientować się że coś jest nie tak. A są przecież centra certyfikacji w rosji czy chinach - pytanie jak bardzo im ufasz, albo jak bardzo ufasz takiemu google czy nsa ;)
Certificate pinning pozwala podczas pierwszej wizyty na danej stronie wysłać do użytkownika informacje o tym kto może wystawiać certyfikaty dla danej domeny.

szerzej: https://sekurak.pl/mechanizm-http-public-key-pinning/

0
Shalom napisał(a):

Certificate pinning pozwala podczas pierwszej wizyty na danej stronie wysłać do użytkownika informacje o tym kto może wystawiać certyfikaty dla danej domeny.

Jest jeszcze możliwy preloading, czyli wpisanie tych informacji w kodzie źródłowym aplikacji łączącej się z serwerem, żeby ochrona dotyczyła też pierwszej wizyty. W Chrome: https://github.com/chromium/hstspreload.org/wiki/Preload-List-Processes#user-content-preloaded-hpkp-pinning-entries, ale w np. aplikacjach mobilnych/desktopowych można po prostu ograniczyć w kodzie certyfikaty traktowane jak prawidłowe, nie trzeba wtedy prosić kogokolwiek o dodanie do listy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1