Wybór Modułu HSM Utimaco: Kryteria i Wskazówki
Poniższy tekst przedstawia listę istotnych kryteriów decydujących o wyborze modułu HSM. Choć de facto wybór ten determinuje specyfika konkretnej aplikacji, można stworzyć zestaw generalnych zasad, które warto wziąć pod uwagę przed decyzją o zakupie.
Wydajność
Spójrz na sprzętowy moduł bezpieczeństwa pod katem funkcjonalności i dalej przeanalizuj ja pod katem potrzeb Twojej aplikacji: szyfrowanie/deszyfrowanie, symetria/asymetria, ECC (kryptografia krzywych eliptycznych). Zapytaj o konkretne dane dotyczące wydajności, np. dla sieciowego modułu HSM lub wbudowanych kart PCIe.
Skalowalność
Zastanów się, jakie są czynniki ograniczające w przypadku Twojego projektu. Czy potrzebujesz określonej liczby kluczy przechowywanych w module HSM? W jaki sposób mógłbyś wprowadzić kolejny moduł? Czy byłoby to w miarę proste?
Redundancja elementów
Co mogłoby się zdarzyć w razie awarii modułu HSM? Jaki miałoby to wpływ na prowadzone operacje? Jak skomplikowana byłaby jego wymiana, która nie pociągnęłaby za sobą przerwy w dostawie usług?
Backup
Jak rozwiązana jest w Twoim przypadku archiwizacja danych i ich odzyskiwanie? Jak skomplikowana byłaby implementacja tych procesów? Czy jesteś w stanie uniknąć nieodwracalnej utraty danych?
API
API tworzy ścieżki komunikacji modułu ze środowiskiem Twojej aplikacji. Oto kilka wskazówek, jak spojrzeć na te kwestie:
- Microsoft MS CSP/CNG: standardowy API Microsoftu, najłatwiejszy sposób podłączenia modułu HSM w środowisku Windows
- JCE: Java Cryptography Extension to standard dla programistów Java
- PKCS#11: to w zasadzie standard przemysłowy, choć uważać trzeba na kilka pułapek, np. zagadnienia związane z bezpieczeństwem czy rozszerzenia protokołu ze strony dostawcy rozwiązania. UWAGA: rozszerzenia protokołu i sam mechanizm działania są rozszerzeniem API związanym z konkretna aplikacja. Nie są częścią standardu PKCS#11 i będą zwiększały koszty inwestycji, jeśli zdecydujesz się na zmianę dostawcy.
Wniosek: wybierz API dopasowane do konkretnego zastosowania i środowiska, w którym będzie pracował moduł HSM. Jeśli jest to środowisko Microsoft OS – wybierz CNG, jeśli używasz aplikacji kompatybilnej z PKCS#11 – Twój oczywisty wybór to PKCS#11. Zapytaj o wytyczne integracji albo konkretne instrukcje.
Wsparcie systemu operacyjnego / wsparcie sprzętowe
Ten punkt to kilka ważnych pytań. Po pierwsze: jakie systemy operacyjne będą współpracowały z kartowym HSM (PCIe-Driver), a jakie będą obsługiwały sieciowy HSM? Kolejne pytanie to: jaki system operacyjny sprawdzi się w przypadku konkretnych narzędzi zarządzania IT, np. GUI czy wiersza poleceń?
Zarządzanie
Czy moduł HSM daje możliwość zdalnego zarządzania? Która z funkcji mogłaby być aktywowana i kontrolowana w ten właśnie sposób?
Programowanie
W większości przypadków development wykonywany jest z wykorzystaniem końcowych API, ale niekiedy warto móc napisać aplikacje, które działają wewnątrz urządzenia HSM (by osiągnąć większą elastyczność lub szybkość) i określić własny API.
Bezpieczeństwo fizyczne
Odpowiedz sobie na pytanie: jak odporne na bezpośredni atak fizyczny powinno być moje rozwiązanie? Jeśli z jakiegokolwiek powodu uznasz ten element za szczególnie istotny, rozważ wariant aktywny, czyli wykrywanie sabotażu i reakcje, a nie jedynie odporność na ten rodzaj ataków i ich rejestracje. Przekładając to na język certyfikatów: zdecyduj się na FIPS 140-2 poziom 4 dla sprzętu, albo pozostań przy standardowych wymogach FIPS 140-2- poziom 3.
Algorytmy
Czy dany moduł HSM obsługuje algorytm kryptograficzny, którego chcesz użyć, poprzez wybrany API (operacje elementarne, tryb pracy, parametry krzywych, rozmiar klucza)?
Opcje uwierzytelniania
Hasła, kworum i autoryzacja wieloskładnikowa, karty elektroniczne… Prawdopodobnie powinieneś rozważyć rozwiązanie, które wymaga co najmniej konfigurowalnego kworum w zakresie rozmiaru tokena lub hasła, by umożliwić przeprowadzanie operacji wykorzystujących klucz.
Wybór strategii
Dobrze móc określić chociażby politykę kontroli: np. klucze są eksportowane z modułu HSM (obudowane lub nieszyfrowane), klucz może być używany wyłącznie do podpisywania/szyfrowania/odszyfrowywania, uwierzytelniane jest wymagane przy podpisywaniu, ale już nie przy weryfikacji.
Kontrola wewnętrzna
Obejmuje zarówno operacje modułu HSM (generowanie kluczy, podpisywanie kluczem Y), jak i postepowanie w przypadku problemów z polaczeniem. Jak łatwo będzie zintegrować dzienniki logowania z Twoim systemem monitoringu (syslog/snmp/inne dostępne)?
Sieciowy HSM
Dla wdrożeń o większej skali, w szczególności tam, gdzie z funkcjonalności modułu HSM będą korzystały różne aplikacje/serwery i różni klienci. Kartowy HSM PCIe Produkt tańszy niż opisany powyżej moduł sieciowy. Weź jednak pod uwagę, że to rozwiązanie komplikuje nieco udostępnianie modułu wielu różnym aplikacjom.
Koszty
Jaki jest koszt jednostkowy? Co z kosztami wsparcia posprzedażowego i utrzymania systemu? Co tak naprawdę uwzględnia koszt modułu? Czy płacisz od API?
Czas realizacji
Stój mocno na ziemi… Jeśli moduł HSM jest Ci potrzebny NATYCHMIAST, prawdopodobnie nie doceniasz złożoności tego rozwiązania. Moduły HSM to nie masowy produkt, proces ich produkcji po prostu trwa – tego wymaga jakość.
Certyfikacja
Ogromne pole do fałszywych interpretacji. Jeśli kupujesz produkt z certyfikatem FIPS 140-2 poziom 3, oznacza to konieczność działania w tzw. trybie FIPS. Czyli: obostrzenia na poziomie API, obostrzenia dotyczące algorytmów (długość klucza, tryb użytkowania, atrybuty…). Odpowiedz wiec sobie na pytanie: jakiego poziomu zabezpieczeń tak naprawdę potrzebuje? I czego potrzebujesz z punktu widzenia regulacji prawnych.
FIPS 140-2 – Program Walidacji Modułów Kryptograficznych (CMVP).
Dostarcza on cennych informacji: ze zatwierdzone przez NIST algorytmy działają poprawnie i implementacja jest potwierdzona w zakresie znanych dobrych praktyk. Certyfikat zabezpieczeń FIPS 140 poziom 3 pokazuje, ze dany produkt spełnia podstawowe wymagania bezpieczeństwa fizycznego.
Inne systemy certyfikacji
Np. aprobaty CommonCriteria (CC), PCI-HSM lub DK będą przydatne tylko w określonych branżach.
Czynniki miękkie
Wsparcie
A co ze wsparciem posprzedażowym? Dowiedz się, jakie są dostępne opcje, ale też zapytaj o referencje – i sprawdź je!
Integracja
Jaki rodzaj integracji oferuje Ci dostawca? Jeśli Twoje wdrożenie jest złożonym projektem, może warto wybrać tego, który będzie służył wsparciem również na etapie programowania i konfiguracji system?
Inwestycja
Jak przedstawia się mapa drogowa Twojej inwestycji? Czy już teraz wiesz, że na przestrzeni kilku najbliższych lat wdrażane będą jakieś zmiany?
Kryteria ogólne
Gwarancja, którą dają oceny jakości produktu, jest bardziej płynna: czytaj „Cele zabezpieczenia”. Dziś istnieje zaledwie jeden godny zaufania profil ochrony HSM, więc żeby zrozumieć, co właściwie mówi ocena produktu, trzeba przeczytać co najmniej definicje problemu zabezpieczenia (zagrożenia i założenia).
Kraj pochodzenia
Sprawdź kraj pochodzenia produktu, który chcesz kupić (gdzie powstał jego projekt, gdzie jest wytwarzany).
Referencje
Zapytaj tez koniecznie o referencje z Twojej branży – konkretnego sektora przemysłu, administracji, bankowości etc. Nie wierz ogólnym zapewnieniom o certyfikatach ISO i normach cyklu rozwoju produktu.