TACK TLS - nowy pomysł na bezpieczny SSL

Pojawiła się kolejna propozycja rozszerzenia protokołu TLS (Transport Layer Security), które powinno umożliwić przeglądarkom wykrywanie i blokowanie fałszywych certyfikatów SSL. W procedurze walidacji certyfikatów SSL, rozszerzenie TACK TLS łączy klucz publiczny z kluczami generowanymi przez właściciela domeny.

Rozszerzenie TACK (Trust Assertions for Certificate Keys) zostało opracowane przez dwóch specjalistów zajmujących się bezpieczeństwem - Trevora Perrina i Moxie Marlinspike’a - i zostało przedstawione do aprobaty przez IETF (Internet Engineering Task Force), ciało odpowiedzialne za TLS.

TACK to próba rozwiązania problemów związanych z zaufaniem do infrastruktury klucza publicznego, które ostatnimi czasy było podważane przez incydenty naruszenia bezpieczeństwa ośrodków certyfikacji takich jak Comodo czy Diginotar.

Polecamy OpenSSL załatany

W wyniku tych incydentów, zostały wygenerowane fałszywe certyfikaty bezpieczeństwa dla takich domen jak google.com, hotmail.com czy mail.yahoo.com. W przypadku Diginotar, certyfikaty te zostały wykorzystane do aktywnego ataku na użytkowników Gogle w Iranie.

Obecnie przeglądarki "pokładają zaufanie" w ponad 600 organizacjach wydających certyfikaty na całym świecie. Organizacje te znane są jako ośrodki certyfikacji (CA) i każdy z nich może wydawać ważne certyfikaty dla dowolnej domeny w internecie.

W ciągu ostatnich 12 miesięcy przedstawiono kilka propozycji ulepszających istniejący system oparty na ośrodkach certyfikacji, ale nie osiągnięto konsensusu, która z tych propozycji jest rozwiązaniem najlepszym.

Polecamy Czy certyfikaty SSL self-signed rzeczywiście nie są bezpieczne?

W listopadzie 2011 r. specjaliści Google zaproponowali rozszerzenie HTTP o nazwie "public key pinning", które miało umożliwiać witrynom WWW efektywne powiadamianie przeglądarki - za pośrednictwem nagłówka HTTP - który CA powinien być zaufany jako wydawca certyfikatów SSL dla ich nazw domen.

Przeglądarka powinna zachować tę informację (pin) i odmawiać ustanowienia połączenia, jeżeli w przyszłości otrzyma z witryny certyfikat podpisany przez inne CA. Statyczna implementacja tego systemu już istnieje w Google Chrome dla poszczególnych nazw domen, w tym oczywiście Google.

TACK opiera się na takiej samej koncepcji "ustalania" klucza publicznego, ale zamiast publicznych kluczy CA do poszczególnych nazw domen, ustala publiczne klucze generowane przez właściciela domeny.

W ramach TACK właściciel domeny może generować parę kluczy: prywatny i publiczny, zwaną "kluczami TACK". Klucz prywatny jest używany do podpisywania serwerowego klucza publicznego TLS, który jest aktualnie używany przez przeglądarkę do walidacji certyfikatów SSL. Klucz publiczny TACK jest następnie udostępniany łączącym się przeglądarkom i jest używany do weryfikowania klucza publicznego TLS, podpisanego przez klucz prywatny TACK.

Przeglądarka może zachować dla nazwy domeny publiczny klucz TACK, jeżeli odbierze go z tego serwera w kilku oddzielnych sesjach. Jeżeli napastnik podejmie próbę użycia wrogiego certyfikatu SSL, aby oszukać zabezpieczone połączenie z nazwą domeny, która już ma ustalony klucz TACK, przeglądarka nie będzie go autoryzować, ponieważ nie przejdzie on walidacji TACK.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200