Po podsumowaniu roku 2015 przyszedł czas na spojrzenie na to co czeka nas w sferze krypto w roku 2016. Wpis został podzielony na dwie części. W pierwszej opisuję rzeczy raczej pewne. W drugiej natomiast przewiduję co może spotkać nas nowym roku.
Co pewne?
SHA-2
Rok 2016 będzie z pewnością rokiem w którym funkcje skrótu z rodziny SHA-2 tj. SHA-256, SHA-384 i SHA-512 na dobre wyprą z użycia te starsze, głównie SHA-1. Z pewnością miejscem, gdzie proces zastępowania SHA-1 przez SHA-2 jest najbardziej widoczny to certyfikaty TLS. Dokument Baseline Requirements Certificate Policy for the Issuance and Management of Publicly-Trusted Certificates, który jest obecnie przewodnikiem dla Urzędów Certyfikacji w kwestii wydawania certyfikatów TLS, wprost zabrania wydawania tego rodzaju certyfikatów przy użyciu funkcji skrótu SHA-1 już od początku tego roku.
Migracja do SHA-2 to jednak nie tylko certyfikaty TLS. To także wiele innych miejsce wśród których znajdują się m.in.:
- algorytm podpisu certyfikatów do podpisywania oprogramowania (Code Signing);
- algorytm podpisu certyfikatów służących do podpisywania i szyfrowania wiadomości pocztowych (S/MIME);
- algorytm podpisu programów przy użyciu certyfikatów do podpisywania kodu (algorytm podpisu oprogramowania nie jest tym samym co algorytm podpisu certyfikatu którym ten program podpisujemy);
- algorytm podpisu wiadomości pocztowych przy użyciu certyfikatów do podpisywania wiadomości pocztowych (podobnie jak przy podpisywaniu oprogramowania, algorytm podpisu wiadomości pocztowej nie jest tym samym co algorytm podpisu certyfikatu którym tę wiadomość podpisujemy);
- algorytm podpisu certyfikatów służących do znakowania czasem (ang. timestamping) oraz sam algorytm podpisu pod znacznikiem czasu;
- algorytm podpisu certyfikatów służących do podpisywania odpowiedzi OCSP oraz sam algorytm podpisu tych odpowiedzi;
- algorytmy wykorzystywane przez protokół TLS, tutaj migracja do SHA-2 wynika z tego, że coraz więcej serwerów posiada wsparcie dla protokołu TLS w wersji 1.2.
Wydaje się więc, że dominacja skrótów liczonych przy pomocy SHA-2 w 2016 będzie bezsprzeczna.
TLS 1.3
Prace nad nową wersji protokołu TLS trwają. 28 grudnia 2015 opublikowano już dwunasty, niemal kompletny draft jego specyfikacji. Można się, więc spodziewać, że w 2016 będziemy mogli zapoznać się z finalną wersją. Potem przyjdzie tylko poczekać na implementację TLS 1.3 w przeglądarkach, serwerach i innych aplikacjach z niego korzystających.
W porównaniu z obecnie najnowszą wersją TLS 1.2, TLS 1.3 przyniesie wiele zmian, które poprawią jego bezpieczeństwo i wydajności. Wśród nich znajdziemy m.in.:
- zapewnienie Perfect Forward Secrecy poprze zusunięcie wsparcia dla statycznej wymiany kluczy RSA i DH;
- zmniejszenie opóźnien poprzez ograniczenie liczby wymienianych wiadomości przez klienta i serwer podczas zestawiania bezpiecznego połączenia;
- usunięcie wsparcia dla algorytmów MD5, SHA-1 i SHA-224 w podpisach cyfrowych,
- usunięcie wsparcia dla algorytmu podpisu DSA (ang. Digital Signature Algorithm),
- usunięcie wsparcia dla zestawów szyfrów bez wsparcia dla uwierzytelnionego szyfrowania (ang. Authenticated Encryption with Associated Data – AEAD)
eIDAS
Obecnie w Polsce podpis elektroniczny funkcjonuje na zasadach spisanych w Ustawie z 18 września 2001 r. o podpisie elektronicznym, która z kolei powstała na bazie Dyrektywy Parlamentu Europejskiego i Rady 199/93/WE z dnia 13 grudnia 1999 r. w sprawie wspólnotowych ram w zakresie podpisów elektronicznych. Około półtora roku temu powstało jednak nowe europejskie rozporządzanie, które może zmienić funkcjonowanie e-podpisu.
Pełna nazwa wspomnianiego dokumentu to Rozporządzenie Parlamentu Europejskiego i Rady (UE) nr 910/2014 z dnia 23 lipca 2014 r. w sprawie identyfikacji elektronicznej i usług zaufania w odniesieniu do transakcji elektronicznych na rynku wewnętrznym oraz uchylające dyrektywę 1999/93/WE – w skrócie eIDAS (ang. electronic identification and trust services). Nowy przepis unijny (w większości swojej treści) zacznie obowiązywać w państwach członkowskich od 1 lipca 2016 roku (stara ustawa o podpisie elektronicznym zostanie uchylona). Póki co jednak nowej ustawy nie widać (prace trwają). Pozostaje zatem wierzyć słowom, które połowie minionego roku mogliśmy przeczytać na stronie ówczesnego Ministerstwa Administracji i Cyfryzacji:
Ujednolicenie przepisów w całej UE spowoduje, że kontakt elektroniczny pomiędzy obywatelami, przedsiębiorcami i administracją publiczną będzie wygodniejszy i bardziej bezpieczny. Wpłynie to pozytywnie na rozwój całego sektora e-usług, nie tylko administracji publicznej. Jeden identyfikator elektroniczny otrzymany w ojczystym kraju będzie pozwalał na uwierzytelnienie się w różnych systemach teleinformatycznych w całej UE np. w systemach opieki zdrowotnej. Każdy podpis elektroniczny spełniający wymagania określone przepisami będzie nie tylko uznany, ale też łatwo rozpoznany, a jego poprawność i ważność łatwa do zweryfikowania.
Co możliwe?
Ta część wpisu to wyłącznie moja zabawa w przewidywanie przyszłości, nie należy traktować jej jako coś pewnego :-)
Darmowe certyfikaty TLS typu DV
Stosowanie szyfrowania komunikacji w Internecie stało się bardzo powszechne. Przeglądarki zaczęły nawet rozważać czy nie oznaczać protokołu HTTP jako niebezpiecznego, a za bezpieczny uznawać jedynie HTTPS. Także implementacje nowej wersji protokołu HTTP: HTTP/2 w przeglądarkach nie zakładają użycia czystego HTTP, tylko HTTPS. Nie może więc dziwić rosnąca z dnia na dzień liczba aktywnych certyfikatów TSL.
Najtańsze z nich, certyfikaty TLS typu Domain Validation (weryfikowana jest jedynie domena) możemy znaleźć już w cenie kilkudziesięciu złotych (kilku dolarów). Co więcej, niektóre Urzędy Certyfikacji już teraz oferują darmowe certyfikaty TLS. W związku z tym pokuszę się o stwierdzenie, że na koniec 2016 za certyfikaty TLS DV płacić nie będziemy.
Rozszerzenie zasięgu Certificate Transparency
O mechanizmie Certificate Transparency (CT) pisałem w minionym roku kilkukrotnie. Swoją popularność CT zawdzięcza polityce Google, które to na początku 2015 niejako wymusiło na Urzędach Certyfikacji (poprzez ostrzeżenia w Chrome) rozpoczęcie stosowania tej technologii.
CT w uproszczeniu polega na tym, że informacja o wydawaniu certyfikatu TLS wysyłana jest do tak zwanych serwerów logów CT (w ciągu poprzedniego roku przybyło kilku nowych takich serwerów). Zainteresowani mogą te serwery logów przeglądać (najwygodniej robić to w zautomatyzowany sposób). Dzięki temu możliwe jest wykrywanie i reagowanie na błędnie wydane certyfikaty.
Obecnie to czy certyfikat TLS został wydany zgodnie z CT sprawdzane jest jedynie w przeglądarce Chrome i to tylko dla certyfikatów TLS o rozszerzonej weryfikacji (ang. extended validation – EV). Niewykluczone jest jednak, że w nowym roku Google zdecyduje się objąć tym mechanizmem także inne rodzaje certyfikatów tj. Domain Validation (DV) i Organization Validation (OV). Być może także inne przeglądarki dołączą do Chrome i zaczną wspierać CT?
Początek końca TLS 1.0 i TLS 1.1
Obecnie najbezpieczniejszą wersją protokołu TLS jest wersja 1.2 (jak mogliście przeczytaj wyżej na ukończeniu są już prace nad kolejną wersją – 1.3). Niestety, istnieje jeszcze spora grupa serwerów bez wsparcia dla najnowszej wersji tego protokołu, ale wydaje się, że rok 2016 może przynieść w tym zakresie sporo zmian.
Naciski na stosowanie najnowszej wersji protokołu TLS są coraz silniejsze (kto jeszcze nie zna przestarzałej kryptografii według Chrome?). I słusznie. TLS 1.2 w porównaniu z TLS 1.0 oferuje chociażby o wiele silniejsze zestawy szyfrów na których opiera się bezpieczeństwo transmisji danych. Przede wszystkim są to algorytmy ze wsparciem dla uwierzytelnionego szyfrowania (AEAD). Zawsze istnieje też ryzyko odkrycia krytycznej podatności dotyczącej protokołów TLS 1.0/1.1, która – podobnie jak było to z POODLE i SSL 3.0 – mogłaby znacznie przyśpieszyć zakończenie powszechnego ich stosowania. Jest to czarny scenariusz, którego jednak nie można wykluczyć.
Podsumowując, nie twierdzę, że TLS 1.0 czy 1.1 całkowicie zniknie ze sceny – na to jest chyba jeszcze za wcześnie. Mam nadzieję, że dominować będzie jednak TLS 1.2, a jego starsze wersje będę wykorzystywane tylko w ostateczności.
Czas pokaże czy moje noworoczne wróżby się sprawdzą… :-)
Pingback: Weekendowa Lektura 2016-01-09 – bierzcie i czytajcie | Zaufana Trzecia Strona