Szyfrowanie sprzętowe
Typ procesu | Kryptografia |
---|---|
Sektory przemysłowe | Przetwarzanie danych |
Główne technologie lub podprocesy | Kryptograficzna funkcja skrótu , szyfrowanie |
Szyfrowanie sprzętowe to wykorzystanie sprzętu komputerowego do wspomagania oprogramowania lub czasami zastępowania oprogramowania w procesie szyfrowania danych . Zazwyczaj jest to realizowane jako część procesora . Na przykład AES (nowoczesny szyfr ) można zaimplementować za pomocą zestawu instrukcji AES 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 jest realizowany 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 wykorzystanie niż tradycyjne implementacje programowe, 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 Scytale używany przez Spartan . Maszyna Enigma była elektromechaniczną maszyną szyfrującą, używaną w szczególności przez Niemców podczas II wojny światowej . [ potrzebne źródło ] Po II wojnie światowej opracowano systemy czysto elektroniczne. W 1987 roku zainicjowano projekt ABYSS (A Basic Yorktown Security System). Celem tego projektu była ochrona przed piractwo oprogramowania . Jednak zastosowanie komputerów w kryptografii w ogóle datuje się na lata 40. XX wieku i Bletchley Park , gdzie komputer Colossus został użyty do złamania szyfrowania używanego przez niemieckie naczelne dowództwo podczas II wojny światowej . Wykorzystanie komputerów do szyfrowania nastąpiło jednak później. W szczególności do czasu wynalezienia układu scalonego , którego pierwszy wyprodukowano w 1960 r., komputery były niepraktyczne do szyfrowania, ponieważ w porównaniu z przenośnym formatem maszyny Enigma ówczesne komputery zajmowały powierzchnię całego budynku. Dopiero wraz z rozwojem mikrokomputerów szyfrowanie komputerowe stało się wykonalne poza niszowymi aplikacjami. Rozwój sieci World Wide Web doprowadził do tego, że konsumenci potrzebowali dostępu do szyfrowania, ponieważ zakupy online stały się powszechne. Głównymi obawami 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.
Implementacje
W zestawie instrukcji
x86
Architektura X86 , jako architektura CISC (Complex Instruction Set Computer) , zazwyczaj implementuje złożone algorytmy sprzętowo. Algorytmy kryptograficzne nie są wyjątkiem. Architektura x86 implementuje istotne komponenty AES (Advanced Encryption Standard) , które mogą być wykorzystywane przez NSA do informacji ściśle tajnych . Architektura obejmuje również obsługę algorytmów mieszania SHA za pośrednictwem rozszerzeń Intel SHA . Podczas gdy AES jest szyfrem przydatnym do szyfrowania dokumentów, haszowanie służy do weryfikacji np. haseł (patrz PBKDF2 ).
RAMIĘ
Procesory ARM mogą opcjonalnie obsługiwać rozszerzenia zabezpieczeń. Chociaż ARM jest RISC (Reduced Instruction Set Computer) , istnieje kilka opcjonalnych rozszerzeń określonych przez ARM Holdings .
Jako koprocesor
- IBM 4758 - poprzednik IBM 4764 . Obejmuje to własny wyspecjalizowany procesor, pamięć i generator liczb losowych .
- IBM 4764 i IBM 4765 , identyczne z wyjątkiem używanego połączenia. Ten pierwszy używa PCI-X , a drugi PCI-e . Oba są urządzeniami peryferyjnymi podłączanymi do płyty głównej .
Proliferacja
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. Istnieją również na wielu tabletach i smartfonach ze względu na ich implementację w procesorach ARM .
Zalety
Implementacja kryptografii w sprzęcie oznacza, że część procesora jest dedykowana temu zadaniu. Może to prowadzić do znacznego wzrostu prędkości. W szczególności nowoczesne architektury procesorów obsługujące potokowanie mogą często wykonywać inne instrukcje równolegle z wykonywaniem instrukcji szyfrowania. Ponadto sprzęt może mieć metody ochrony danych przed oprogramowaniem. W rezultacie, nawet jeśli system operacyjny zostanie naruszony, dane mogą nadal być bezpieczne (zobacz Rozszerzenia Software Guard ).
Niedogodności
Jeśli jednak implementacja sprzętowa zostanie naruszona, pojawiają się poważne problemy. Złośliwe oprogramowanie może pobierać dane z (rzekomo) 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 rozwiązuje problemy związane z bezpieczeństwem za pośrednictwem usługi Windows Update . Podobnie wydawane są regularne aktualizacje zabezpieczeń dla systemów Mac OS X i Linux , a także mobilnych systemów operacyjnych, takich jak iOS , Android i Windows Phone . Sprzęt to jednak inna kwestia. 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 zmniejsza korzyści wydajnościowe implementacji sprzętowej, na przykład w exploicie Spectre .