Bezpieczny kryptoprocesor - Secure cryptoprocessor

Kryptoprocesor Western Electric 229G.

Bezpieczne kryptoprocesorem jest dedykowany komputer-on-a-chip lub mikroprocesora do przeprowadzenia kryptograficznych operacji, osadzonych w opakowaniu z wielu zabezpieczeń fizycznych środków, które dają mu stopień odporności na ingerencję . W przeciwieństwie do procesorów kryptograficznych, które wysyłają odszyfrowane dane do magistrali w bezpiecznym środowisku, bezpieczny kryptoprocesor nie wysyła odszyfrowanych danych ani rozszyfrowanych instrukcji programowych w środowisku, w którym nie zawsze można zapewnić bezpieczeństwo.

Celem bezpiecznego kryptoprocesora jest działanie jako kluczowy element podsystemu bezpieczeństwa, eliminując potrzebę ochrony reszty podsystemu za pomocą fizycznych środków bezpieczeństwa.

Przykłady

Sprzętowy moduł kryptograficzny (HSM) zawiera jeden lub więcej bezpiecznych kryptoprocesorem żetony . Urządzenia te to wysokiej jakości bezpieczne kryptoprocesory używane z serwerami korporacyjnymi. Sprzętowy moduł bezpieczeństwa może mieć wiele poziomów bezpieczeństwa fizycznego, a jego najbezpieczniejszym składnikiem jest jednoukładowy kryptoprocesor. Kryptoprocesor nie ujawnia kluczy ani wykonywalnych instrukcji na magistrali, z wyjątkiem zaszyfrowanej postaci i kluczy zerowych podczas prób sondowania lub skanowania. Crypto Chip (s) może być również wbita w sprzętowego modułu kryptograficznego z innych procesorów i chipów pamięci, która przechowuje i przetwarza zaszyfrowane dane. Każda próba usunięcia zalewania spowoduje wyzerowanie kluczy w chipie kryptograficznym. Sprzętowy moduł zabezpieczający może również stanowić część komputera (na przykład bankomatu ), który działa w zamkniętym sejfie, aby zapobiec kradzieży, zamianie i manipulowaniu.

Nowoczesne karty inteligentne są prawdopodobnie najpowszechniej stosowaną formą bezpiecznego kryptoprocesora, chociaż bardziej złożone i wszechstronne bezpieczne kryptoprocesory są szeroko stosowane w takich systemach, jak bankomaty , dekodery telewizyjne , aplikacje wojskowe i przenośny sprzęt komunikacyjny o wysokim poziomie bezpieczeństwa. Niektóre bezpieczne kryptoprocesory mogą nawet uruchamiać systemy operacyjne ogólnego przeznaczenia, takie jak Linux, w granicach ich bezpieczeństwa. Kryptoprocesory wprowadzają instrukcje programu w postaci zaszyfrowanej, odszyfrowują instrukcje do zwykłych instrukcji, które są następnie wykonywane w tym samym chipie kryptoprocesora, w którym rozszyfrowane instrukcje są niedostępne. Nigdy nie ujawniając odszyfrowanych instrukcji programu, kryptoprocesor zapobiega manipulowaniu programami przez techników, którzy mogą mieć uprawniony dostęp do szyny danych podsystemu. Jest to znane jako szyfrowanie magistrali . Dane przetwarzane przez kryptoprocesor są również często szyfrowane.

Trusted Platform Module (TPM) jest implementacją bezpiecznego kryptoprocesorem które przynosi pojęcia zaufanych komputerów do zwykłych komputerów poprzez umożliwienie bezpiecznego środowiska . Obecne implementacje TPM koncentrują się na zapewnieniu odpornego na manipulacje środowiska rozruchowego oraz trwałego i ulotnego szyfrowania pamięci masowej.

Dostępne są również chipy zabezpieczające do systemów wbudowanych, które zapewniają ten sam poziom ochrony fizycznej kluczy i innych tajnych materiałów, co procesor karty inteligentnej lub moduł TPM, ale w mniejszym, mniej złożonym i tańszym pakiecie. Są często określane jako kryptograficzne urządzenia uwierzytelniające i służą do uwierzytelniania urządzeń peryferyjnych, akcesoriów i / lub materiałów eksploatacyjnych. Podobnie jak TPM, są to zwykle gotowe układy scalone przeznaczone do wbudowania w system, zwykle przylutowane do płytki PC.

funkcje

Środki bezpieczeństwa stosowane w bezpiecznych kryptoprocesorach:

Stopień bezpieczeństwa

Bezpieczne kryptoprocesory, chociaż są użyteczne, nie są niewrażliwe na ataki, szczególnie w przypadku dobrze wyposażonych i zdeterminowanych przeciwników (np. Rządowej agencji wywiadowczej), którzy są skłonni wydać wystarczające zasoby na projekt.

Jeden atak na bezpieczny kryptoprocesor wymierzony był w IBM 4758 . Zespół z Uniwersytetu Cambridge poinformował o pomyślnym wydobyciu tajnych informacji z IBM 4758 przy użyciu kombinacji matematyki i specjalnego sprzętu do łamania kodów . Jednak ten atak nie był praktyczny w rzeczywistych systemach, ponieważ wymagał od atakującego pełnego dostępu do wszystkich funkcji API urządzenia. Normalne i zalecane praktyki wykorzystują integralny system kontroli dostępu do podziału uprawnień, tak aby nikt nie mógł przeprowadzić ataku.

Podczas gdy luką, którą wykorzystali, była luka w oprogramowaniu załadowanym na 4758, a nie w architekturze samego 4758, ich atak służy jako przypomnienie, że system bezpieczeństwa jest tak bezpieczny, jak jego najsłabsze ogniwo: mocne ogniwo 4758 sprzęt stał się bezużyteczny z powodu błędów w projekcie i specyfikacji załadowanego na niego oprogramowania.

Karty inteligentne są znacznie bardziej podatne na ataki, ponieważ są bardziej podatne na ataki fizyczne. Ponadto sprzętowe tylne drzwi mogą osłabić bezpieczeństwo kart inteligentnych i innych kryptoprocesorów, chyba że zostaną zainwestowane w metody projektowania zabezpieczające przed tylnymi drzwiami.

W przypadku aplikacji do szyfrowania całego dysku , zwłaszcza zaimplementowanych bez kodu PIN rozruchu , kryptoprocesor nie byłby zabezpieczony przed atakiem podczas zimnego rozruchu, gdyby można było wykorzystać remanencję danych do zrzucenia zawartości pamięci po tym, jak system operacyjny odzyska klucze kryptograficzne ze swojego modułu TPM .

Jeśli jednak wszystkie wrażliwe dane są przechowywane tylko w pamięci kryptoprocesora, a nie w pamięci zewnętrznej, a kryptoprocesor jest zaprojektowany tak, aby nie był w stanie ujawnić kluczy lub odszyfrowanych lub niezaszyfrowanych danych na podkładkach łączących chip lub stykach lutowniczych , wówczas takie chronione dane byłyby dostępne tylko przez sondowanie chipa kryptoprocesora po usunięciu wszelkich opakowań i metalowych warstw ekranujących z chipa kryptoprocesora. Wymagałoby to zarówno fizycznego posiadania urządzenia, jak i umiejętności i wyposażenia innych niż większość personelu technicznego.

Inne metody ataku obejmują dokładną analizę czasu różnych operacji, które mogą się różnić w zależności od wartości tajnej, lub odwzorowanie zużycia prądu w funkcji czasu w celu zidentyfikowania różnic w sposobie obsługi bitów „0” wewnętrznie w porównaniu z bitami „1”. Atakujący może też zastosować skrajne temperatury, zbyt wysokie lub niskie częstotliwości taktowania lub napięcie zasilania przekraczające specyfikacje w celu wywołania usterki. Wewnętrzną konstrukcję kryptoprocesora można dostosować, aby zapobiec takim atakom.

Niektóre bezpieczne kryptoprocesory zawierają podwójne rdzenie procesorów i generują niedostępne klucze szyfrujące w razie potrzeby, dzięki czemu nawet jeśli obwód zostanie poddany inżynierii wstecznej, nie ujawni żadnych kluczy niezbędnych do bezpiecznego odszyfrowania oprogramowania uruchomionego z zaszyfrowanej pamięci flash lub komunikowanego między rdzeniami.

Pierwszy projekt jednoukładowego kryptoprocesora służył do ochrony przed kopiowaniem oprogramowania komputerów osobistych (patrz patent USA 4 168 396, 18 września 1979) i został zainspirowany Listem otwartym Billa Gatesa do hobbystów .

Historia

Sprzętowy moduł kryptograficzny (HSM), rodzaj bezpiecznego kryptoprocesorem, został wynaleziony przez egipsko-amerykański inżynier Mohammed M. Atalla , w 1972 roku wynalazł moduł wysokiego bezpieczeństwa nazwany „Atalla Box”, który zaszyfrowany PIN i bankomat wiadomości i chronione urządzenia offline z niemożliwym do odgadnięcia kluczem do generowania kodu PIN. W 1972 roku zgłosił patent na urządzenie. W tym samym roku założył Atalla Corporation (obecnie Utimaco Atalla ), a rok później skomercjalizował „Atalla Box”, oficjalnie jako system Identikey. Był to czytnik kart i system identyfikacji klienta , składający się z konsoli czytnika kart , dwóch pinpadów klienta , inteligentnego kontrolera i wbudowanego pakietu interfejsu elektronicznego. Pozwoliło to klientowi na wpisanie tajnego kodu, który za pomocą mikroprocesora jest przetwarzany przez urządzenie na inny kod dla kasjera. Podczas transakcji numer rachunku klienta został odczytany przez czytnik kart . Był to sukces i doprowadził do szerokiego stosowania modułów o wysokim poziomie bezpieczeństwa.

W obawie, że Atalla zdominuje rynek, banki i firmy obsługujące karty kredytowe zaczęły pracować nad międzynarodowym standardem w latach 70. IBM 3624 , rozpoczęła się pod koniec 1970 roku, przyjęła podobny proces weryfikacji PIN do wcześniejszej wersji systemu Atalla. Atalla była wczesnym konkurentem IBM na rynku zabezpieczeń bankowych.

Na konferencji National Association of Mutual Savings Banks (NAMSB) w styczniu 1976 r. Atalla zaprezentowała ulepszenie swojego systemu Identikey, zwanego Interchange Identikey. Dodał możliwości przetwarzania transakcji online i radzenia sobie z bezpieczeństwem sieci . Zaprojektowany z myślą o przyjmowaniu transakcji bankowych online , system Identikey został rozszerzony na operacje w placówkach wspólnych. Był spójny i kompatybilny z różnymi sieciami przełączającymi i był w stanie resetować się elektronicznie do dowolnego z 64 000 nieodwracalnych nieliniowych algorytmów zgodnie z informacjami z danych karty . Urządzenie Interchange Identikey zostało wydane w marcu 1976 roku. Później w 1979 roku firma Atalla wprowadziła pierwszy procesor bezpieczeństwa sieciowego (NSP). Produkty HSM firmy Atalla chronią 250 milionów transakcji kartowych każdego dnia od 2013 roku i zabezpieczają większość transakcji bankomatowych na świecie od 2014 roku.  

Zobacz też

Bibliografia

Dalsza lektura

  • Ross Anderson , Mike Bond, Jolyon Clulow i Sergei Skorobogatov, Cryptographic Processors - A Survey, kwiecień 2005 (PDF) . To nie jest przegląd procesorów kryptograficznych; jest to przegląd istotnych kwestii bezpieczeństwa.
  • Robert M. Best, patent USA 4 278 837 , 14 lipca 1981
  • R. Elbaz, et al., Hardware Engines for Bus Encryption - A Survey, 2005 (PDF) .
  • David Lie, Execute Only Memory, [1] .
  • Wyodrębnianie klucza 3DES z IBM 4758
  • JD Tygar i Bennet Yee, A System for Using Physically Secure Coprocessors , Dyad