Redhand

"Nigdy nie ma się drugiej okazji, żeby zrobić pierwsze wrażenie." czyli SSL i "OCSP stapling" w akcji


"Nigdy nie ma się drugiej okazji, żeby zrobić pierwsze wrażenie." czyli SSL i "OCSP stapling" w akcji

Można śmiało powiedzieć, iż ciągłe dążenie do poprawiania wydajności stron internetowych, które wykonujemy, jest naszym oczkiem w głowie. Dość już zostało napisane w artykule „Co łączy Speedy Gonzales'a i strony internetowe Redhand ?” i wydawać by się mogło, że temat został wyczerpany. Otóż nie.
Pole do popisu jest naprawdę szerokie. Staramy się wykorzystywać najnowsze rozwiązania i technologie aby nieustannie podnosić jakość świadczonych usług.

Kolejnym usprawnieniem jakie wdrożyliśmy dla sklepów internetowych solokolos.pl oraz sklep-karnisze.net jest coś co nazywa się „OCSP stapling

Jest w dobrym tonie, aby sklep internetowy posiadał certyfikat SSL zabezpieczający komunikację użytkownika końcowego z oprogramowaniem sklepu. Konieczne jest aby wrażliwe dane klientów wysyłane poprzez np. formularz rejestracji czy logowanie, były odpowiednio zabezpieczone przed nieuprawnionym podsłuchaniem. Certyfikaty SSL wydawane są przez zaufane jednostki certyfikujące na określony czas np. rok, dwa lata i przypisane są do konkretnej domeny (domen). Dzięki temu użytkownik odwiedzając stronę internetową wykorzystującą certyfikat SSL ma pewność, że strona jest zaufana a połączenie jest szyfrowane, dając poczucie bezpieczeństwa.

Ale zdarzają się sytuacje, gdy certyfikat musi zostać anulowany podczas trwania okresu jego ważności np. na skutek włamania na serwer. Aby anulowanie certyfikatu miało sens i było możliwe powstał protokół OCSP (Online Certificate Status Protocol). Daje on możliwość sprawdzania w czasie rzeczywistym, bezpośrednio u wydawcy certyfikatu czy dany certyfikat jest nadal ważny.
Obsługa odpytywania serwera OCSP leży po stronie przeglądarki klienta. Tak więc wchodząc na jakąkolwiek stronę internetową zabezpieczoną przez certyfikat SSL, przeglądarka przed pierwszym wyświetleniem treści strony najpierw odpytuje serwer wydawcy certyfikatu w celu sprawdzenia czy certyfikat jest nadal aktualny. Jeśli został anulowany, przeglądarka odmówi wyświetlenia strony w obawie przez złośliwym oprogramowaniem lub oszustwem z wykorzystaniem np. skradzionego certyfikatu.

I tu pojawia się pole do optymalizacji. Ten dodatkowy czas, który potrzebuje przeglądarka aby połączyć się z serwerem wydawcy w celu weryfikacji, stanowi znaczny procent w całkowitym czasie oczekiwania użytkownika od momentu wpisania adresu do pojawienia się pierwszej strony. Stąd ogólne wrażenie, że strony zabezpieczone przez SSL wczytują się wolniej. Inicjalizacja połączenia SSL jest z natury rzeczy wolniejsza niż zestawienia tradycyjnego połączenia. Jest to związane ze skomplikowanymi operacjami kryptograficznymi, jakie musi przeprowadzić serwer oraz przeglądarka użytkownika w celu zapewnienie pełnej poufności.

Dlatego też, aby poprawić ogólne wrażenie prędkości pierwszego wczytania strony, wdrożyliśmy coś, co nazywa się OCSP stapling.
Od teraz, nasz serwer wyręcza przeglądarkę użytkownika i w jej imieniu odpytuje serwer wystawcy certyfikatu, przechowując wynik w pamięci, w celu późniejszego wykorzystania gdy stronę odwiedzi kolejny użytkownik. Informacje o statusie certyfikatu przesyła bezpośrednio do przeglądarki korzystając z już nawiązanego połączenia. Dzięki temu rozwiązaniu skraca się czas niezbędny do wczytania strony, co poprawia odczucie użytkowników i wpływa korzystanie na wizerunek strony internetowej.

Nie powiedzieliśmy jeszcze ostatniego słowa w temacie poprawiania wydajnosci stron internetowych.
Już wkrótce zaskoczymy naszą najnowszą realizacją z wykorzystaniem ciekawych rozwiązań.

Autor: Michał Grabowski