Podstawowym rynkiem systemów i urządzeń szyfrujących jest komunikacja. Jednak rozwój handlu internetowego zaowocował szeregiem nowych i interesujących składników kryptograficznych, które mają znaczną wartość dla bezpieczeństwa komputerowego.
Komunikacja i przechowywanie.
Jeśli spojrzysz na komercyjne produkty z listy NIST (National Institute of Standards and Technology), które są zatwierdzone, większość z nich jest zaprojektowana tak, aby chronić informacje, gdy są przekazywane, a nie kiedy siedzi na komputerze do lokalnego użytku. Jest to zrozumiałe, gdy spojrzysz na rozwój komputerów, który rozprzestrzenił się na zewnątrz od “mainframe fortecznego”. Scentralizowane magazyny danych nadają się do fizycznej kontroli dostępu. Szyfrowanie danych pozostających w tyle za ścianami i zamkniętymi drzwiami może być przesadzone w tym scenariuszu, szczególnie gdy ma miejsce kara za wydajność. Szyfrowanie było zarezerwowane dla danych przesyłanych między komputerami przez przewody. Ta filozofia została rozszerzona na serwery plików w sieciach. Szyfrowanie plików na serwerze nie było uważane za priorytet, ponieważ ludzie zakładali, że serwer będzie chroniony. Szyfrowanie danych na samodzielnych urządzeniach i nośnikach wymiennych jest stosunkowo nowym rozwiązaniem, zwłaszcza że coraz więcej poufnych danych jest umieszczanych w fizycznie mniejszych i mniejszych urządzeniach. Obecnie istnieje wiele produktów, za pomocą których można zaimplementować szyfrowanie plików.
Zabezpieczanie warstwy transportowej.
Jednym z najbardziej widocznych przykładów szyfrowania w pracy w dzisiejszym zabezpieczeniach komputerowych jest ikona bezpieczeństwa, którą widzą ludzie w przeglądarce internetowe

na przykład Netscape Navigator i Microsoft Internet Explorer. Jest to przykład czegoś, co nazywa się zabezpieczeniem warstwy transportowej, które używa protokołów o nazwach SSL i TLS.
Popularne protokoły.
SSL oznacza Secure Sockets Layer, protokół szyfrowania oprogramowania opracowany przez Netscape i pierwotnie zaimplementowany w Netscape Secure Server i przeglądarce Netscape Navigator. Protokół SSL jest również obsługiwany przez program Microsoft Internet Explorer i wiele innych produktów. TLS oznacza Transport Layer Security, nazwę nadaną standardowi internetowemu opartemu na SSL, przez IETF (jak w Internet Engineering Task Force, RFC 2246). Istnieją niewielkie różnice między protokołami SSLv3.0 i TLSv1.0, ale nie ma znaczących różnic pod względem siły zabezpieczeń, a oba protokoły współpracują ze sobą. TLS jest protokołem, standardową procedurą do regulowania transmisji danych między komputerami. W rzeczywistości składa się z dwóch warstw protokołu. Na najniższym poziomie znajduje się Protokół Zapisu TLS, który jest ułożony na szczycie pewnego niezawodnego protokołu transportowego, zwykle TCP w TCP / IP, zestawie protokołów, które uruchamiają Internet. Protokół zapisu TLS zapewnia bezpieczeństwo połączenia, które jest zarówno prywatne (przy użyciu symetrycznej kryptografii dla szyfrowania danych), jak i niezawodne (za pomocą sprawdzania spójności komunikatu). Nad protokołem zapisu TLS, zafałszowanym przez niego, znajduje się protokół uzgadniania TLS. Pozwala to serwerowi i klientowi uwierzytelniać się nawzajem, co jest główną rolą TLS w różnych formach handlu elektronicznego, takich jak bankowość internetowa. Protokół uzgadniania TLS może również negocjować algorytm szyfrowania i klucze kryptograficzne przed umieszczeniem na nim dowolnego protokołu aplikacji, takiego jak HTTP, transmituje lub odbiera swój pierwszy bajt danych

Właściwości TLS.
Zapewniając bezpieczeństwo połączeń, protokół Handshake TLS zapewnia trzy podstawowe właściwości. Tożsamość stron może zostać uwierzytelniona przy użyciu kryptografii z kluczem publicznym (takiej jak RSA). To uwierzytelnienie może być opcjonalne, ale zazwyczaj jest wymagane dla co najmniej jednej ze stron (np. Serwer Yahoo! Travel uwierzytelnia się w kliencie przeglądarki użytkownika, ale klient użytkownika nie uwierzytelnia się na serwerze Yahoo! Travel, rozróżnienie omawiane za chwilę). Drugą i trzecią podstawową cechą protokołu TLS Handshake jest to, że wspólny sekret może być bezpiecznie wynegocjowany, niedostępny dla podsłuchujących, nawet przez atakującego, który może umieścić się w środku połączenia; a negocjacja protokołu jest wiarygodna. Według słów RFC 2246: “żaden atakujący nie może modyfikować komunikacji negocjacyjnej bez wykrycia przez strony komunikacji.” TLS może korzystać z różnych algorytmów szyfrowania. Dla szyfrowania symetrycznego, które jest częścią protokołu Record, można użyć DES lub RC4. Klucze tego symetrycznego szyfrowania są generowane unikalnie dla każdego połączenia i są oparte na tajnym wynegocjowanym przez inny protokół (taki jak protokół uzgadniania TLS). Protokół zapisu obejmuje sprawdzanie integralności komunikatu za pomocą klucza MAC, z bezpiecznymi funkcjami skrótu, takimi jak SHA i MD5, używanymi do obliczeń MAC. Pakiet szyfrowania używane do określonego połączenia są określane podczas początkowej wymiany między klientem a serwerem, jak pokazano na rysunku powyżej
Testowane w rzeczywistym świecie.
Protokół TLS / SSL został szeroko i szeroko przetestowany w rzeczywistym świecie i został dokładnie sprawdzony przez prawdziwych kryptografów. Niektóre z ograniczeń i ograniczeń zauważone przez tych i innych ekspertów. Po pierwsze, ani dobry standard, ani dobry projekt nie gwarantują dobrego wdrożenia. Na przykład, jeśli TLS jest zaimplementowany ze słabym nasieniem losowym lub przypadkowym generatora liczb, który nie jest dostatecznie losowy, teoretyczna wytrzymałość projektu nic nie da, aby chronić dane, które są w ten sposób narażone na potencjalny kompromis. (Chociaż wykraczające poza zakres tego rozdziału, generatory liczb pseudolosowych lub PRNG odgrywają istotną rolę w wielu operacjach kryptograficznych i są zaskakująco trudne do stworzenia, chyba że dokładnie symulują prawdziwą losowość, atakujący będzie w stanie przewidzieć liczby, które generują, a tym samym pokonują każdy system, który opiera się na ich “losowej” jakości.) Drugim ważnym zastrzeżeniem jest to, że jeśli klienci nie mają certyfikatów cyfrowych, strona klienta sesji TLS nie jest uwierzytelniana. To stwarza liczne problemy. Większość dzisiejszych “bezpiecznych” transakcji internetowych, od biletów lotniczych zarezerwowanych przez Yahoo Travel, do akcji będących przedmiotem obrotu w większości internetowych domów maklerskich, stanowi obliczone ryzyko ze strony sprzedawcy. Chociaż klient dokonujący zakupu jest zapewniony, za pomocą certyfikatu handlowca, że sprzedawca na stronie www.amazon.com naprawdę jest Amazon, sprzedawca nie ma cyfrowego zapewnienia, że komputer kliencki należy do lub jest obsługiwany przez osobę dokonanie zakupu. Oczywiście istnieją inne zapewnienia, takie jak zgodność karty kredytowej, którą kupujący dostarcza, z innymi danymi osobowymi, które pasują do niej, takimi jak adres rozliczeniowy. Ale kupiec wciąż ryzykuje zarzut i ewentualnie inne kary za nieuczciwą transakcję. W przypadku większych i bardziej wrażliwych transakcji finansowych trzeba mieć pewność, że tożsamość klienta jest większa. Certyfikat cyfrowy jest krokiem we właściwym kierunku, ale jest to krok, którego wielu kupców jeszcze nie podjęło, z kilku powodów. Pierwszy jest koszt wystawiania certyfikatów klientom, a drugim jest trudność w uzyskaniu tych certyfikatów na swoich systemach. Niektórzy kupcy zdecydowali, że koszt i wysiłek są tego warte. Na przykład Royal Bank of Scotland zastosował to podejście jego system bankowości internetowej w 1998 roku. Są inne problemy. Użytkownik musi chronić certyfikat, nawet przed takimi zagrożeniami, jak awaria sprzętu (użytkownik zmienia format dysku, traci certyfikat) lub nieautoryzowane użycie (członek rodziny korzysta z komputera i tym samym ma dostęp do certyfikatu). Ponadto użytkownik musi mieć możliwość przeniesienia certyfikatu, na przykład, na komputer przenośny, aby umożliwić dostęp do konta bankowego podczas podróży. Oczywistą odpowiedzią jest umieszczenie certyfikatu na solidnym wymiennym nośniku

Takie nośniki są ogólnie określane jako tokeny sprzętowe. Standard dotyczący tokenów jeszcze się nie pojawił. Karty inteligentne są oczywistym wyborem, ale należy wdrożyć czytniki kart. Istnieją alternatywy, takie jak umieszczanie certyfikatu na dyskietce lub na małym breloku, który podłącza się do portu USB.
Koszt zabezpieczonych transakcji.
Dla firm, które chcą dziś wykonywać wysoce bezpieczne transakcje, korzystanie z SSL bez uwierzytelniania po stronie klienta jest krótkoterminowe, przynajmniej w przypadku niektórych kategorii transakcji. Nawet wtedy może być kosztowne, zarówno pod względem dolarów, jak i mocy obliczeniowej. Chociaż protokół TLS jest standardem otwartym, a firma Netscape dostarczyła kluczowe części technologii bez opłat licencyjnych, wciąż pozostaje pytanie, które algorytmy należy zastosować. Niektóre algorytmy są droższe od innych i nie zawsze w oczywisty sposób. Na przykład musisz licencjonować RC4, podczas gdy DES jest bezpłatny, ale RC4 jest zoptymalizowany dla 32-bitowego procesora, a DES nie. Co więcej, badania pokazują, że ilość “trafień”, które może obsłużyć serwer aWeb dramatycznie spada, gdy te trafienia wymagają protokołu TLS (i znacznie spadają podczas przetwarzania uwierzytelniania klienta, a także uwierzytelniania serwera). Odpowiedź tutaj może być specjalistycznym sprzętem. Kilka firm, takich jak IBM i Rainbow Technologies, produkuje karty kryptograficzne, które zwalniają procesorowi z wyspecjalizowanego przetwarzania matematycznego związanego z kryptografią. Są tańsze niż dodawanie kolejnego serwera, aby nadążyć za bardzo wymagającym zadaniem zapewniania bezpiecznych transakcji internetowych