Moja służbowa Toshiba Tecra ma wbudowany moduł TPM produkcji Infineona. Normalnie sterowniki pod Windows pozwalają wykorzystać moduł jako bezpieczny magazyn kluczy np. dla EFS.
Ale ponieważ Infineon daje także standardowy interfejs PKCS#11, więc można go także wykorzystać do trzymania certyfikatów X.509. Trzeba tylko wiedzieć jak się nazywa odpowiedni DLL. W przypadku Infineona jest to biblioteka C:\WINDOWS\SYSTEM32\FXTPMCK.DLL, co jest pewną zmyłką bo zwykle producenci (RSA, Aladin, Cryptotech) nazywają ją tak by miała w środku “11”. Zresztą dalej będzie również opisana instalacja innych tokenów tego typu, procedura jest identyczna.
Moduł TPM powinien być zainicjalizowany w systemie, co zrobią natywne narzędzia Infineona przy pierwszym uruchomieniu. Obejmuje to m.in. ustawienie hasła administratora oraz haseł dla każdego z użytkowników.
Instalacja w Thunderbird
- Narzędzia -> Opcje -> Prywatność -> Zabezpieczenia -> Urządzenia
- Klikamy Załaduj, pojawi się prompt do wybrania ściezki nowego sterownika PKCS#11
- Wpisujemy w Nazwa pliku modułu "\WINDOWS\SYSTEM32\FXTPMCK.DLL", a w Nazwa modułu np. "Infineon TPM", wciskamy OK
</ol>
W analogiczny sposób należy załadować PKCS#11 do Firefoksa. Dostęp do TPM w Firefoksie będzie potrzebny po to, żeby móc wygenerować na TPM klucz prywatny i załadować do niego certyfikat od centrum certyfikacji. I właściwie tylko po to - później będzie z niego korzystał tylko Thunderbird.
Generowanie certyfikatu
Darmowe, testowe certyfikaty X.509 można uzyskać w Certum. Przechodząc rejestrację dojdziemy do punktu, gdzie należy zaakceptować regulamin i wybrać długość klucza. Zamiast domyślnego 2048 bity należy wybrać 1024, bo większość kart elektronicznych (w tym TPM) nie obsługuje dłuższych kluczy i generowanie zakończy się błędem.
Po wciśnięciu Generuj Firefox powinien zapytać nas o miejsce generowania klucza, oferując Trusted Platform Module (to wybieramy) i natywny plikowy magazyn Firefoksa. Po zakończeniu procedury zostajemy z kluczem prywatnym w TPM, certyfikatem (CSR) wysłanym do podpisania przez Certum i czekamy na maila. W mailu przyjdzie link do gotowego certyfikatu, który po kliknięciu Instaluj powinien sam zainstalować się w TPM.
Podgląd certyfikatu
Teraz z poziomu Thunderbirda powinniśmy zobaczyć nasz nowy certyfikat wybierając Narzędzia -> Konfiguracja kont -> Zabezpieczenia -> Wyświetl certyfikaty. Nowy certyfikat powinien widnieć w pierwszej zakładce (Twoje certyfikaty), co oznacza że Thunderbird ma równocześnie dostęp do klucza prywatnego związanego z tym certyfikatem. Certyfikat oczywiście powinien mieć "Trusted Platform Module" w kolumnie Urządzenie zabezpieczające.
Korzystanie z certyfikatu
W tym momencie możemy podpiąć certyfikat pod konto email, z którego korzystamy, wciskając w zakładce Zabezpieczenia przycisk Wybierz i wybierając jedyny dostępny tam klucz - ten z TPM. Przy wysyłaniu poczty należy wcisnąć Zabezpieczenia -> Podpisz cyfrowo tę wiadomość.
Problemy i uwagi
Identyczną procedurę można zrealizować dla dowolnej karty elektronicznej, której producent dostarcza sterownik PKCS#11. Zwykle największyu problem to znaleźć informację o tym, jak nazywa się plik sterownika. Pomocna powinna być poniższa tabelka, zawierająca wyniki moich testów na różnych kartach z certyfikatami Certum:
Producent Plik Wynik Infineon IFXTPMCK.DLL działa Firefox/Thundebird/MSIE CryptoCard CCPKIP11.DLL działa Firefox/Thundebird/MSIE RSA 800 PKCS11.DLL </a> działa Thundebird/MSIE, w Firefoksie psuje dostęp do dotychczas istniejących certyfikatów CA Aladdin ETPKCS11.DLL </a> działa Firefox/Thundebird/MSIE - Biblioteki RSA należy szukać w katalogu \Program Files\RSA Security\RSA Authenticator Utility
- Wszystkie pozostałe powinny być dostępne w \WINDOWS\system32.
- Jeśli nie znamy nazwy biblioteki to zwykle można na nią trafić szukając '*11*.DLL.