Szyfrowanie sprzętowe — Hardware-based encryption

Szyfrowanie sprzętowe
IBM4758 na zewnątrz1.JPG
IBM 4758 kryptograficzna Module
Typ procesu Kryptografia
Sektor(y) przemysłowy(e) Przetwarzanie danych
Główne technologie lub podprocesy Funkcja skrótu kryptograficznego , szyfrowanie

Szyfrowanie sprzętowe to wykorzystanie sprzętu komputerowego do wspomagania oprogramowania, a czasem zastępowania oprogramowania, w procesie szyfrowania danych . Zazwyczaj jest to zaimplementowane jako część zestawu instrukcji procesora . Na przykład algorytm szyfrowania AES (współczesny szyfr ) można zaimplementować za pomocą instrukcji AES ustawionej na wszechobecnej architekturze x86 . Takie instrukcje istnieją również w architekturze ARM . Istnieją jednak bardziej nietypowe systemy, w których moduł kryptograficzny jest oddzielony od centralnego procesora, zamiast tego zaimplementowany jako koprocesor , w szczególności bezpieczny kryptoprocesor lub akcelerator kryptograficzny , czego przykładem jest IBM 4758 lub jego następca IBM 4764 . Implementacje sprzętowe mogą być szybsze i mniej podatne na eksploatację niż tradycyjne implementacje oprogramowania, a ponadto mogą być chronione przed manipulacją.

Historia

Przed użyciem sprzętu komputerowego kryptografię można było przeprowadzić za pomocą różnych środków mechanicznych lub elektromechanicznych . Wczesnym przykładem jest Scytalus używany przez Spartan . Maszynę Enigma była maszyna System szyfr elektromechaniczny szczególnie wykorzystywane przez Niemców w II wojnie światowej . Po II wojnie światowej opracowano systemy czysto elektroniczne. W 1987 r. zainicjowano projekt ABYSS (A Basic Yorktown Security System). Celem tego projektu była ochrona przed piractwem oprogramowania . Jednak generalnie zastosowanie komputerów do kryptografii sięga lat 40. XX wieku i Bletchley Park , gdzie komputer Colossus był używany do złamania szyfrowania używanego przez niemieckie naczelne dowództwo podczas II wojny światowej . Jednak użycie komputerów do szyfrowania nastąpiło później. W szczególności do rozwoju układu scalonego , z których pierwszy został wyprodukowany w 1960 roku, komputery były niepraktyczne do szyfrowania, ponieważ w porównaniu do przenośnej obudowie z Enigmy , komputery ery wziął przestrzeni całego budynek. Dopiero wraz z rozwojem mikrokomputera szyfrowanie komputerowe stało się możliwe, poza zastosowaniami niszowymi. Rozwój sieci WWW spowodował, że konsumenci muszą mieć dostęp do szyfrowania, ponieważ zakupy online stały się powszechne. Kluczowymi kwestiami dla konsumentów były bezpieczeństwo i szybkość. Doprowadziło to do ostatecznego włączenia kluczowych algorytmów do procesorów jako sposobu zarówno na zwiększenie szybkości, jak i bezpieczeństwa.

Realizacje

W zestawie instrukcji

x86

X86 architektura , jako CISC (CISC) Architecture, zazwyczaj realizuje złożone algorytmy w sprzęcie. Algorytmy kryptograficzne nie są wyjątkiem. Architektura x86 implementuje istotne elementy algorytmu AES (Advanced Encryption Standard) , który może być używany przez NSA do informacji ściśle tajnych . Architektura obejmuje również obsługę algorytmów mieszających SHA za pośrednictwem rozszerzeń Intel SHA . Podczas gdy AES jest szyfrem, który jest przydatny do szyfrowania dokumentów, hashowanie służy do weryfikacji, na przykład haseł (patrz PBKDF2 ).

RAMIĘ

Procesory ARM mogą opcjonalnie obsługiwać rozszerzenia zabezpieczeń. Chociaż ARM jest architekturą RISC (komputer z ograniczonym zestawem instrukcji) , istnieje kilka opcjonalnych rozszerzeń określonych przez ARM Holdings .

Jako koprocesor

Proliferacja

Procesory Advanced Micro Devices (AMD) są również urządzeniami x86 i obsługują instrukcje AES od iteracji procesora Bulldozer z 2011 roku . Ze względu na istnienie instrukcji szyfrowania na nowoczesnych procesorach dostarczanych zarówno przez Intel, jak i AMD, instrukcje te są obecne na większości nowoczesnych komputerów. Występują również na wielu tabletach i smartfonach ze względu na ich implementację w procesorach ARM .

Zalety

Implementacja kryptografii na sprzęcie oznacza, że ​​część procesora jest dedykowana do zadania. Może to prowadzić do dużego wzrostu prędkości. W szczególności nowoczesne architektury procesorów, które obsługują potokowanie, mogą często wykonywać inne instrukcje jednocześnie z wykonywaniem instrukcji szyfrowania. Ponadto sprzęt może mieć metody ochrony danych przed oprogramowaniem. W związku z tym, nawet jeśli system operacyjny zostanie naruszony, dane mogą być nadal bezpieczne (zobacz Rozszerzenia Software Guard ).

Niedogodności

Jeśli jednak implementacja sprzętu zostanie naruszona, pojawiają się poważne problemy. Złośliwe oprogramowanie może pobierać dane z (podobno) bezpiecznego sprzętu – dużą klasą stosowanych metod jest atak czasowy . Jest to o wiele bardziej problematyczne do rozwiązania niż błąd oprogramowania, nawet w systemie operacyjnym . Firma Microsoft regularnie zajmuje się kwestiami bezpieczeństwa za pośrednictwem witryny Windows Update . Podobnie regularne aktualizacje zabezpieczeń są wydawane dla systemów Mac OS X i Linux , a także mobilnych systemów operacyjnych, takich jak iOS , Android i Windows Phone . Jednak sprzęt to inny problem. Czasami problem można rozwiązać za pomocą aktualizacji mikrokodu procesora (oprogramowanie niskiego poziomu). Jednak inne problemy można rozwiązać tylko poprzez wymianę sprzętu lub obejście w systemie operacyjnym, które łagodzi korzyści związane z wydajnością implementacji sprzętowej, takie jak exploit Spectre .

Zobacz też

Bibliografia