Bezpieczeństwo transakcji

Pierwszą firmą, która zrealizowała w praktyce zastosowanie certyfikatów umożliwiających weryfikację jak i szyfrowanie danych była firma Netscape. Wprowadziła ona do swojej przeglądarki WWW protokół bezpieczeństwa o nazwie SSL ( Secure Socket Layer ). Ponieważ specyfikacja protokołu jest publicznie dostępna może on być implementowany także w produktach innych firm. Obecnie protokół SSL obejmują wszystkie ważniejsze przeglądarki WWW ( w tym przeglądarka Internet Explorer oraz najpopularniejszy w świecie serwer WWW – Apache). Strony WWW zabezpieczone przez SSL możemy rozpoznać po tym, że rozpoczynają się od przedrostka https://... a nie jak zwykle http://...

Każdy serwer akceptujący bezpieczne połączenia WWW ma swój klucz publiczny, który wysyła przeglądarce nawiązującej z nim połączenie. Przeglądarka generuje losowy klucz prywatny na czas trwania połączenia ( sesji ) i wysyła go do serwera zaszyfrowanym otrzymanym kluczem publicznym. Od tego momentu dalsza wymiana informacji pomiędzy serwerem a przeglądarką jest zaszyfrowana kryptograficznie.

System SSL rozwiązuje także problem weryfikacji sprzedawcy. Serwer stosujący protokół SSL nie tylko musi mieć swój klucz publiczny, ale także klucz ten musi być certyfikowany przez jeden ze znanych przeglądarce tzw. urzędów certyfikujących ( Certification Authorities ). Takie urzędy certyfikacyjne prowadzi firma RSA Data Security Inc. – właściciel algorytmu. Po dokładnym sprawdzeniu jej „tożsamości” generuje odpłatnie specjalny certyfikat, podpisany swoim własnym kluczem prywatnym. Certyfikat ten firma musi zainstalować w serwerze, aby uaktywnić możliwość korzystania z SSL. Firma chcąca wykorzystywać na swoim serwerze SSL zgłasza się do urzędu certyfikacyjnego, który po zastosowaniu szyfrowania z kluczem publicznym pozwala na utajnienie oraz uwierzytelnienie przesyłanych przez sieć danych. Uwierzytelnienie danych uzyskujemy dzięki wspomnianemu już podpisowi elektronicznemu.

Odmiennym od SSL produktem jest standard SET (Secure Electronic Transactions) zaproponowany przez VISA, MasterCard oraz Microsoft, Netscape i IBM. Jest on połączeniem dwóch niezależnych projektów: STT (Secure Transaction Technology), opracowywanego przez VISA i SEPP (Secure Electronic Payment Protocol), autorstwa MasterCard. System ten jest jednak na razie w fazie testów, a uruchomione są jedynie realizacje pilotażowe. SET opiera się na certyfikatach wystawianych w sposób automatyczny przez specjalne serwery, zarządzane przez firmy zajmujące się rozliczaniem kart kredytowych. Po połączeniu się z takim serwerem połączeniem szyfrowanym, zawierający transakcje musi podać dane swojej karty kredytowej oraz dane osobowe, pozwalające na zweryfikowanie tożsamości. Dane te są sprawdzane w banku przez prywatne sieci międzybankowe, służące do autoryzacji kart kredytowych. W przypadku pozytywnej weryfikacji serwer odsyła certyfikat, który zostaje zapamiętany na dysku użytkownika. Druga strona transakcji musi też uzyskać certyfikat (rejestracja jest analogiczna), jeśli chce przyjmować płatności w systemie SET. W przeciwieństwie do SSL, gdzie certyfikat jest tylko potwierdzeniem tożsamości, certyfikaty stosowane w SET przeznaczone mają być wyłącznie do celów transakcji kartami kredytowymi, przez co mogą wzbudzać zaufanie. Kiedy powyższe formalności zostały przeprowadzone i obie strony mają wygenerowane certyfikaty, to podczas każdej transakcji oprogramowanie sprzedawcy i klienta sprawdza nawzajem swoje certyfikaty, eliminując tym samym przypadki oszustwa z obu stron. W ten sposób obie strony przekonane są o wiarygodności partnera.

Bardzo podobny w swoich założeniach do SET jest jeszcze jeden system opracowany przez firmę CyberCash – polega on na wzajemnym sprawdzaniu tożsamości klienta i sprzedawcy w oparciu o certyfikaty. W systemie tym po obu stronach używane są wyspecjalizowane programy, współpracujące z przeglądarką lub serwerem WWW.