Maciej Piętka
Uniwersytet w Białymstoku
Wydział Fizyki
Podpis cyfrowy i szyfrowanie poczty
Wiadomości e-mailowe mogą być podglądane, cenzurowane i zmieniane w wielu miejscach między nadawcą i odbiorcą, co w praktyce wykorzystują na przykład niektórzy pracodawcy. Tymczasem już minimalna wiedza i łatwo dostępne oprogramowanie wystarczają do niemal pełnego zabezpieczenia poczty elektronicznej. Ukrycie treści przed niepowołanymi osobami i potwierdzenie autentyczności listu zapewniają algorytmy cyfrowego podpisu i szyfrowania wiadomości.
Co to jest podpis cyfrowy?
Podpis cyfrowy to dodatkowa informacja dołączona do danych, potwierdzająca ich źródło. Cyfrowo można podpisywać pliki, korespondencję e-mailową itp. Podpis zwykle zawiera pewne informacje o posługującej się nim osobie (na przykład imię i nazwisko, dane służbowe, adres elektroniczny).
Podpis cyfrowy jest funkcją wiadomości bądź pliku. Oznacza to, że jeśli podpisana wiadomość zostanie później zmieniona (choćby o jeden bit), podpis nie będzie do niej pasował. Dlatego prawidłowy podpis cyfrowy nie tylko potwierdza źródło danych, ale dodatkowo daje gwarancję, że otrzymaliśmy je w nienaruszonej postaci.
Do składania podpisu cyfrowego wykorzystuje się algorytmy tzw. kryptografii z kluczem publicznym. Osoba zamierzająca podpisywać się cyfrowo musi dysponować parą kluczy (są to bardzo duże liczby, powiązane ze sobą matematycznie). Jeden z tych kluczy jest tajny ("prywatny"), powinien być bezwzględnie chroniony przed postronnymi osobami. Drugi klucz do pary jest jawny ("publiczny") i może być udostępniony wszystkim zainteresowanym.
Wiadomość (a właściwie jej skrót, utworzony za pomocą tzw. jednokierunkowej funkcji haszującej), w połączeniu z danymi identyfikującymi autora i dokładną datą, jest szyfrowana kluczem tajnym. Właśnie taki zaszyfrowany blok danych nazywamy podpisem cyfrowym. W celu weryfikacji podpisu odbiorca musi go odszyfrować, stosując jawny (publiczny) klucz nadawcy. Porównując odszyfrowane dane z oryginalną wiadomością można stwierdzić, czy podpis jest poprawny.
W praktyce sfałszowanie podpisu cyfrowego jest niemożliwe bez znajomości klucza prywatnego. Dlatego nasz prywatny klucz powinien być bezwzględnie chroniony!
Aby ułatwić cyfrowe podpisywanie danych i późniejsze sprawdzanie podpisu, opracowano standardy tzw. certyfikatu cyfrowego. Najważniejszą częścią certyfikatu jest klucz publiczny właściciela, może on też zawierać dodatkowe dane: imię i nazwisko, adres poczty elektronicznej, nazwę instytucji wystawiającej certyfikat, a także okres ważności, poza którym nie można się nim posługiwać. Certyfikat może być wysyłany w wiadomości razem z podpisem cyfrowym. Jest to wygodne zwłaszcza w przypadku korespondencji kierowanej do osób, które wcześniej nas nie znały: razem z podpisanym listem otrzymają one wszystkie informacje niezbędne do weryfikacji podpisu.
Skąd wiadomo, że to mój klucz?
Poprawność podpisu cyfrowego oznacza tylko tyle, że złożył go właściciel odpowiedniego klucza publicznego. Nie wynika stąd wcale, że pozostałe informacje o autorze wiadomości są prawdziwe. Łatwo wyobrazić sobie sytuację, gdy pani X przekazuje nam swój własny klucz publiczny twierdząc fałszywie, że należy on do pana Y. Jeśli zaufamy kluczowi, pani X będzie mogła podszywać się pod pana Y i wysyłać do nas pocztę w jego imieniu!
Sam mechanizm podpisu cyfrowego nie daje pewności, czy posługujące się nim osoby celowo nie fałszują swojej tożsamości. Jak zatem możemy się upewnić, że nazwisko i adres pocztowy zapisane w certyfikacie są zgodne z prawdą?
Jest to proste, gdy osobiście znamy nadawcę wiadomości. Może on nam bezpośrednio przekazać szczegóły swojego klucza publicznego, na przykład w postaci drukowanej lub telefonicznie. Do potwierdzenia klucza wystarcza "odcisk palca", generowany przez funkcję haszującą. Odcisk palca zazwyczaj zapisywany jest jako ciąg cyfr szesnastkowych (przykład na zdjęciu).
Typowy zapis odcisków palca klucza publicznego. Użyto dwóch różnych funkcji haszujących
W przypadku korespondencji internetowej z nieznanymi wcześniej osobami zwykle nie ma technicznej możliwości wcześniejszego przekazania sobie kluczy zaufanym kanałem informacyjnym. W praktyce stosowane są dwa sposoby weryfikacji kluczy publicznych:
Sieć zaufania (ang. web of trust), stosowana w systemie PGP (ang. Pretty Good Privacy). Każdy uczestnik PGP może sam wygenerować parę kluczy, korzystając z łatwo dostępnego oprogramowania. Klucze publiczne publikowane są na specjalnych serwerach, np. http://keyserver.pgp.com. Tożsamość właściciela klucza potwierdzają własnym podpisem cyfrowym inni użytkownicy PGP, którzy znają go osobiście. Może się zdarzyć, że klucz publiczny obcej nam osoby będzie podpisany przez znajomego, którego darzymy zaufaniem. Wówczas podpis znajomego złożony na kluczu uwierzytelnia jego posiadacza.
Certyfikaty PGP bywają rozbudowane. Pojedyńczy certyfikat (w żargonie PGP nazywany kluczem) może zawierać kilka "tożsamości" właściciela, których może używać w różnych sytuacjach (nazwisko, dodatkowy komentarz i adres e-mailowy). Częścią klucza PGP może być też zdjęcie w formacie JPG.- Infrastruktura klucza publicznego (ang. public key infrastructure, PKI), obsługująca certyfikaty w standardzie X.509. W tym przypadku parę kluczy oraz certyfikat cyfrowy wystawia specjalna instytucja certyfikująca (zwana w skrócie CA, od angielskiego "certificate authority"). Instytucja ta potwierdza zgodność danych w certyfikacie z rzeczywistością (w praktyce szyfrując skrót certyfikatu własnym kluczem tajnym). Podstawowe certyfikaty pocztowe nie zawierają żadnych danych oprócz adresu e-mailowego. Przed wystawieniem certyfikatu CA sprawdza, czy adres faktycznie należy do nas, wysyłając próbną wiadomość. Umieszczenie w certyfikacie pełnego imienia i nazwiska wymaga bezpośredniej weryfikacji tożsamości klienta.
Na tej samej zasadzie wystawiane są certyfikaty SSL identyfikujące strony internetowe. Ponieważ od poświadczeń wydawanych przez urzędy certyfikujące w coraz większym stopniu zależy bezpieczeństwo i zaufanie połączeń internetowych, ich klucze prywatne należą do najściślej strzeżonych danych na świecie!
Każdy program pocztowy (oraz przeglądarka stron www) ma wbudowaną listę kilkunastu zaufanych urzędów certyfikujących. Bardziej precyzyjnie, program zna ich własne certyfikaty (klucze publiczne). Z każdym kluczem skojarzone są odpowiednie uprawnienia: do identyfikacji stron internetowych, nadawców poczty elektronicznej bądź twórców oprogramowania. Program pozwala użytkownikowi na usuwanie certyfikatów CA, dodawanie nowych oraz ręczną zmianę uprawnień każdego certyfikatu.
Edycja uprawnień certyfikatu CA w programie Mozilla Thunderbird
Sprawdzanie autentyczności kluczy jest najsłabszym ogniwem bezpiecznej komunikacji w internecie. Ani sieć zaufania, ani infrastruktura klucza nie są idealnym rozwiązaniem tego problemu. Oba systemy wychodzą z krańcowo różnych założeń. W sieci zaufania to odbiorca poczty ostatecznie sam rozstrzyga, czy klucz jest autentyczny. Pomocne są w tym rekomendacje innych użytkowników systemu. W schemacie PKI całą odpowiedzialność przejmują urzędy certyfikacji, każdy potwierdzony przez nie klucz jest z założenia zaufany.
Jak cyfrowo podpisywać pocztę elektroniczną?
Obecnie stosowane są dwa standardy podpisywania poczty elektronicznej: PGP oraz S/MIME (ang. Secure / Multipurpose Internet Mail Extensions). Oba wymagają specjalnego oprogramowania. Standard S/MIME, wykorzystujący certyfikaty X.509 oraz infrastrukturę klucza publicznego, jest bardziej rozpowszechniony, bezpośrednio obsługuje go większość współczesnych programów pocztowych (np. Mozilla Thunderbird oraz Microsoft Outlook i Outlook Express). Programy Microsoftu nie obsługują wiadomości PGP, natomiast Thunderbird wymaga specjalnego dodatku o nazwie Enigmail oraz oprogramowania GnuPG.
Niezależnie od standardu, wysyłanie podpisanych wiadomości wymaga wcześniejszego zainstalowania certyfikatu w programie pocztowym.
Certyfikat PGP można samodzielnie wygenerować w programie Enigmail lub bezpośrednio poprzez polecenia GnuPG. Należy pamiętać o umieszczeniu certyfikatu na jednym z publicznych serwerów (oprogramowanie podpowie ich listę), bo w PGP podpisana wiadomość nie zawiera klucza publicznego i odbiorca musi go samodzielnie pobrać z serwera. Klucze PGP identyfikujemy za pomocą 32-bitowej liczby, tradycyjnie zapisywanej szesnastkowo. Na przykład identyfikator klucza autora artykułu to 0xBE932848.
Klucze PGP mogą mieć nadany termin ważności, po upływie którego nie można ich używać. Ze względów praktycznych (wszystkie podpisy złożone na przeterminowanym kluczu również tracą ważność i trzeba je gromadzić od nowa) wielu użytkowników decyduje się na klucze ważne bezterminowo. W przypadku podejrzenia wykradzenia klucza tajnego, certyfikat PGP można zastrzec (unieważnić), jednak nie da się go usunąć z serwera kluczy.
Certyfikaty X.509 otrzymujemy z wybranego urzędu certyfikacji CA - patrz opis poniżej. Procedura instalacji certyfikatu i podpisywania poczty w programie Mozilla Thunderbird opisana jest tutaj. Certyfikaty pocztowe X.509 są zwykle ważne rok lub dwa lata (certyfikaty serwerów często dłużej) i po uływie terminu ważności trzeba je odnawiać. Nieważnych certyfikatów nie powinno się jednak usuwać z programu pocztowego, zwłaszcza jeśli w archiwum przechowujemy listy nimi zaszyfrowane - po usunięciu przeterminowanego klucza prywatnego nie będziemy mogli odczytać archiwalnej poczty.
Należy pamiętać, że weryfikacja podpisu cyfrowego jest niemożliwa, jeśli odbiorca nie dysponuje odpowiednim oprogramowaniem. Podpisy cyfrowe są bezużyteczne na przykład dla osób, które czytają pocztę w interfejsie www!
W takim przypadku odbiorca zobaczy nasz list z załącznikiem, zawierającym podpis elektroniczny, jednak w praktyce nie będzie mógł go wykorzystać. Załącznik ma nazwę smime.p7s w standardzie S/MIME lub signature.asc w przypadku PGP. Niektórzy użytkownicy PGP wysyłają pocztę w starszym standardzie, z podpisem zawartym w treści wiadomości (tzw. podpis "inline"). List nie ma wówczas załącznika, ale w oprogramowaniu nie obsługującym PGP odbiorca zobaczy charakterystyczne dopiski.

Wiadomość PGP z podpisem inline
Skąd wziąć certyfikat X.509?
Najprostsza odpowiedź - można go kupić. Polskie instytucje CA ważny przez rok certyfikat wystawiają za około 50 zł + VAT. Co roku trzeba go odnawiać za połowę tej kwoty. Certyfikat dotyczy tylko jednego adresu e-mailowego. Jeśli chcemy podpisywać pocztę wychodzącą z kilku kont, do każdego adresu trzeba kupić osobny certyfikat.
Jeśli nie chcemy płacić za certyfikat identyfikujący nas w internecie, możemy uzyskać go za darmo w jednej z kilku instytucji certyfikujących: Thawte Consulting, CAcert.org lub Comodo. Darmowe certyfikaty pocztowe funkcjonują identycznie jak płatne, oprócz ceny mają dodatkową ważną zaletę: możemy otrzymać certyfikat dla każdego adresu mailowego, który używamy. Dzięki temu można podpisywać cyfrowo pocztę wysyłaną z różnych kont, np. domowego i służbowego.
Firma Thawte (wymowa jak angielskie słowo "thought") powstała w RPA i jest obecnie drugim co do wielkości urzędem certyfikującym w świecie. W 1999 roku została wykupiona przez lidera rynku - firmę VeriSign. Thawte oferuje między innymi darmowe certyfikaty pocztowe. Do ich uzyskania konieczna jest rejestracja na stronie firmy, wypełnienie wniosku oraz odpowiedź na próbny e-mail w celu weryfikacji adresu. Ponieważ na tym etapie Thawte nie jest w stanie stwierdzić naszej tożsamości, wystawiony certyfikat będzie zawierał wyłącznie adres e-mailowy, a zamiast nazwiska opis "Thawte Freemail Member".
Otrzymanie imiennego certyfikatu wymaga dodatkowych czynności. Thawte koordynuje międzynarodową sieć współpracowników, zwanych "notariuszami", działającą na podobnych założeniach co sieć zaufania w PGP. Notariusze w imieniu Thawte sprawdzają tożsamość osób pragnących umieścić swoje nazwisko w certyfikacie. Konieczne jest w tym celu osobiste spotkanie z notariuszem, wylegitymowanie się dwoma dokumentami tożsamości i pozostawienie ich kserokopii (będą przechowywane przez 5 lat). Jeśli dane zgodne są z bazą Thawte, notariusz potwierdza ten fakt i przyznaje aplikantowi "punkty zaufania". W zależności od doświadczenia, notariusz może przyznać od 10 do 35 punktów. Osoba, która zgromadziła co najmniej 50 punktów, może już umieścić pełne imię i nazwisko w certyfikacie. Jak widać, Thawte uznaje tożsamość osoby po potwierdzeniu przez co najmniej dwóch przedstawicieli.
W Polsce działa około 200 notariuszy Thawte (dane z początku 2008 roku). Niektórzy z nich pobierają drobną opłatę za spotkanie. Zebranie 50 punktów nie powinno być kłopotem w dużych miastach. Osoba, której uda się zgromadzić 100 punktów, sama może zostać notariuszem.
CAcert.org jest społecznościowym urzędem certyfikacji, z siedzibą w Australii. Zasady wystawiania imiennych certyfikatów e-mailowych są bardzo podobne jak w Thawte. Rejestracja w systemie i odpowiedź na próbny e-mail wystarcza do uzyskania "anonimowego" certyfikatu, zawierającego tylko adres pocztowy. Zamiast nazwiska CAcert umieści komentarz "CAcert WoT User". Identycznie jak w Thawte, imię i nazwisko staje się częścią certyfikatu po sprawdzeniu tożsamości przez kilka zaufanych osób, zwanych tutaj kontrolerami (ang. assurers). Kontroler po osobistym spotkaniu i wylegitymowaniu aplikanta może mu przyznać od 10 do 35 punktów, do uzyskania imiennego certyfikatu potrzeba 50, a kontrolerem CAcert staje się mając co najmniej 100 punktów.
CAcert ma w Polsce nieco mniej kontrolerów niż Thawte, ale ze spotkaniem kilku z nich w dużych miastach raczej nie będzie problemu.
Autor tego artykułu poświadcza tożsamość osób w obu sieciach - jestem notariuszem Thawte i kontrolerem CAcert. Można się ze mną umówić w Białymstoku, informacje kontaktowe są tutaj.
Thawte czy CAcert?
Dla większości użytkowników bardziej atrakcyjne będą certyfikaty Thawte. Podpis Thawte jest uznawany przez wszystkie główne programy pocztowe, niezależnie od platformy sprzętowej i systemu operacyjnego (faktycznie Thawte jest jedną z najstarszych i cieszących się najlepszą opinią w świecie instytucji certyfikujących). Prywatne certyfikaty pocztowe Thawte są ważne rok, po wygaśnięciu ważności trzeba je przedłużać.
W przeciwieństwie do Thawte, Cacert.org dla większości przeglądarek i programów pocztowych nie jest zaufanym urzędem certyfikacji. Odbiorca listu podpisanego certyfikatem CAcert będzie o tym fakcie ostrzeżony przez program pocztowy, na wielu osobach robi to gorsze wrażenie niż list bez podpisu.
Obecnie CAcert stara się o dołączenie swojego klucza publicznego do najpopularniejszych programów, przede wszystkim z rodziny Mozilli. Zanim jednak to nastąpi, prawidłowa obsługa certyfikatów CAcert wymaga od każdego użytkownika zainstalowania odpowiedniego klucza osobiście i nadania mu niezbędnych uprawnień (w naszym przypadku do identyfikacji użytkowników poczty).
Przewagą certyfikatów CAcert jest dłuższy okres ważności (2 lata). Dodatkowo członkowie sieci CAcert mający ponad 50 punktów zaufania mogą za darmo otrzymać dwuletnie certyfikaty SSL do identyfikacji stron www. Taki certyfikat zawiera wyłącznie adres serwera, bez danych o firmie czy instytucji. Dołączenie danych firmowych do certyfikatu jest możliwe, ale wymaga kontaktu z obsługą CAcert. Po uzyskaniu 100 punktów można też otrzymać certyfikat do podpisywania oprogramowania (code signing certificate).
Darmowe imienne certyfikaty e-mailowe wystawia jeszcze jeden urząd certyfikacji - Comodo. Firma ta w przypadku darmowych certyfikatów w żaden sposób nie weryfikuje tożsamości klientów. Ma to odbicie w treści certyfikatu: oprócz imienia i nazwiska widnieje na nim dopisek "PERSONA NOT VALIDATED". Certyfikaty pocztowe Comodo są ważne jeden rok i uznawane przez najważniejsze przeglądarki i programy pocztowe.
W 2007 roku program wydawania darmowych imiennych certyfikatów pocztowych, oparty na sieci zaufanych notariuszy, uruchomiła izraelska firma StartCom. Produkty związane z bezpieczeństwem internetowym firma określa nazwą StartSSL. Nie wiadomo czy firmie uda się zbudować sieć zaufania, obecnie (początek 2008 roku) w Europie do programu przystąpiło zaledwie pięciu notariuszy (żaden w Polsce). Bez potwierdzenia przez zaufane osoby StartCom wydaje certyfikaty podobne do Comodo: imienne, ale z ostrzeżeniem "Persona not validated".
Jak szyfrować e-maile?
Algorytmy używane przy składaniu podpisu cyfrowego można wykorzystać również do szyfrowania poczty elektronicznej. W gruncie rzeczy szyfrowanie wiadomości miało być pierwotnym zastosowaniem kryptografii z kluczem publicznym, możliwość cyfrowego podpisywania pojawiła się przy okazji.
W podpisie cyfrowym wykorzystuje się parę kluczy nadawcy: klucz prywatny do składania podpisu i klucz publiczny do jego weryfikacji. Odbiorca wiadomości nie musi mieć swojej pary kluczy.
Z kolei do szyfrowania poczty służą klucze odbiorcy: klucz publiczny do szyfrowania, natomiast klucz prywatny do odszyfrowania.
Jak widać, aby wysłać zaszyfrowany e-mail musimy znać klucz publiczny odbiorcy. Potencjalnie każdy może znać klucz publiczny osoby X, więc każdy może wysłać do niej zaszyfrowaną wiadomość. Natomiast tylko osoba X ma odpowiedni klucz prywatny, zatem wyłącznie ona będzie mogła wiadomości odszyfrować i przeczytać.
Asymetria kluczy (szyfrujący różny od deszyfrującego) jest fundamentem kryptografii z kluczem publicznym, wynalezionej w połowie lat 70-tych przez dwóch amerykańskich matematyków Whitfielda Diffiego i Martina Hellmana. Użycie jawnego klucza szyfrującego rozwiązało główny problem tradycyjnej kryptografii: dystrybucję klucza. W tradycyjnej, "symetrycznej" kryptografii przed nawiązaniem szyfrowanej korespondencji obie strony musiałyby wymienić tajny klucz, który służy i do szyfrowania, i deszyfrowania. Niezaszyfrowanym mailem nie można przesłać tajnego klucza, należy to zrobić innym, bezpiecznym kanałem informacyjnym (np. w czasie osobistego spotkania lub poprzez zaufanego posłańca). Znacznie utrudniłoby to praktyczne stosowanie kryptografii w internecie.
Wszystkie programy obsługujące podpisy cyfrowe potrafią również szyfrować wiadomości. Warunkiem jest posiadanie klucza publicznego odbiorcy. W systemie PGP klucz publiczny można pobrać z serwera kluczy. W standardzie S/MIME klucze dostarczane są razem z podpisaną wiadomością. W praktyce trzeba wysłać podpisany cyfrowo, ale niezaszyfrowany mail. Odbiorca otrzyma dzięki temu nasz klucz publiczny i jego odpowiedź do nas może już być szyfrowana. Jeśli oprócz szyfrowania korespondent podpisze się cyfrowo, to obie strony zyskają możliwość szyfrowania wysyłanych między sobą maili.
Zaszyfrowanie wiadomości S/MIME lub PGP jest banalnie proste, na przykład w Thunderbirdzie wystarczy zaznaczyć odpowiednią opcję menu w oknie tworzenia wiadomości. Program sprawdzi, czy dysponujemy kluczem publicznym odbiorcy i ostrzeże przed wysłaniem w razie jego braku.
Listy zaszyfrowane nie muszą (chociaż mogą) być podpisane cyfrowo. Teoretycznie możliwe jest zaszyfrowanie listu nawet jeśli nadawca nie ma własnego certyfikatu, bo potrzebny jest do tego tylko klucz odbiorcy. Jednak najczęściej programy pocztowe wymagają, aby również nadawca wiadomości miał własną parę kluczy. Jest to uzasadnione bezpieczeństwem po stronie nadawcy. Zwykle programy pocztowe zapisują wychodzącą pocztę w komputerze nadawcy, np. w folderze "Wysłane". Niektóre programy w przypadku dłuższej niż kilka minut edycji listu automatycznie zapisują na dysku również jego tymczasową postać. Ale wysłana wiadomość będzie zaszyfrowana kluczem odbiorcy, zatem nadawca po zaszyfrowaniu nie może jej już odczytać! Dlatego aby uniknąć zapisywania poufnych wiadomości otwartym tekstem w lokalnym komputerze nadawcy (lub na serwerze pocztowym w przypadku korzystania z protokołu IMAP), archiwizowana poczta wychodząca będzie szyfrowana jego własnym kluczem publicznym.
Bezpieczeństwo klucza
Bezpieczeństwo całej kryptografii z kluczem publicznym opiera się na założeniu, że nikt nie wejdzie w posiadanie klucza tajnego (prywatnego). Dlatego klucz tajny powinien być bezwzględnie chroniony. Ideałem jest przechowywanie go na "inteligentnej" karcie kryptograficznej (ang. smartcard) chronionej hasłem i nie zapisywanie nigdy na dysku komputera. Karta tego typu wyposażona jest w pamięć kluczy, a wszystkie operacje wymagające użycia klucza tajnego (składanie podpisu i deszyfrowanie wiadomości) wykonywane są przez wbudowany w nią mikroprocesor. Dzięki temu klucz tajny nigdy nie opuszcza karty i w żadnej sytuacji nie trafia do pamięci komputera. Odczytanie klucza tajnego z inteligentnej karty technicznie nie jest po prostu możliwe! Często karta zawiera również generator liczb losowych, służący do tworzenia pary kluczy. Tak wygenerowany klucz istnieje wyłącznie w pamięci karty, nie ma nawet możliwości utworzenia jego kopii zapasowej.
Inteligentna karta nie różni się wielkością od zwykłych kart kredytowych, ale jej użycie wymaga specjalnego czytnika. Istnieją również miniaturowe urządzenia kryptograficzne wkładane bezpośrednio do portu USB komputera. Z technicznego punktu widzenia jest to połączenie karty i czytnika w jednym urządzeniu. Urządzenia kryptograficzne produkuje kilka firm, jednym z bardziej popularnych jest eToken PRO izraelskiej firmy Aladdin. eToken wykonuje operacje kryptograficzne (szyfr RSA) z kluczem o maksymalnej długości 2048 bitów, ma sprzętowy generator liczb losowych i pamięć na kilkanaście par kluczy. Dzięki dołączonemu oprogramowaniu (and. middleware) doskonale integruje się z popularnymi programami pocztowymi i przeglądarkami zarówno w systemach Windows, jak i w Linuxie. Kluczy zapisanych w eTokenie można też używać w programach PGP, w tym GnuPG.

Urządzenie kryptograficzne eToken PRO 64k izraelskiej firmy Aladdin
Niestety większość użytkowników z konieczności przechowuje klucze tajne na dysku, zwykle w folderze z danymi programu pocztowego. Dobre programy (na przykład Mozilla Thunderbird) dają możliwość ochrony klucza hasłem. W Thunderbirdzie własne klucze tajne są chronione podwójnie - każdy klucz indywidualnym hasłem oraz wszystkie klucze głównym hasłem modułu bezpieczeństwa. Program usuwa z pamięci klucze po pewnym czasie nieaktywności, co w pewnym stopniu utrudnia przejęcie klucza przez niepowołane osoby, nawet jeśli odejdziemy od biurka pozostawiając włączony program pocztowy.