하드웨어 기반 암호화
Hardware-based encryptionIBM 4758 암호화 모듈 | |
공정 유형 | 암호화 |
---|---|
산업 부문 | 컴퓨팅 |
주요 기술 또는 하위 프로세스 | 암호화 해시 함수, 암호화 |
하드웨어 기반 암호화는 데이터 암호화 과정에서 소프트웨어를 지원하거나 소프트웨어를 대체하는 컴퓨터 하드웨어를 사용하는 것입니다.통상, 이것은 프로세서의 명령 세트의 일부로서 실장됩니다.예를 들어 AES 암호화 알고리즘(현대 암호)은 유비쿼터스 x86 아키텍처 [1]상의 AES 명령 세트를 사용하여 구현할 수 있습니다.이러한 순서는 ARM [2]아키텍처에도 존재합니다.그러나 암호화 모듈이 중앙 프로세서와 분리된 경우에는 IBM 4758 또는 IBM 4764를 예로 들 [3]수 있는 보다 특이한 시스템이 존재합니다. 대신 보조 프로세서로 구현됩니다.하드웨어 구현은 기존 소프트웨어 구현보다 빠르고 악용되기 쉬우며 [4]조작으로부터 보호할 수 있습니다.
역사
컴퓨터 하드웨어를 사용하기 전에는 암호화가 다양한 기계 또는 전기 기계 수단을 통해 수행될 수 있었습니다.초기 [5]예는 스파르타인들이 사용했던 Scytale이다.에니그마 기계는 제2차 세계대전 [citation needed]당시 독일인들이 특히 사용한 전자 기계식 암호 기계였다.제2차 세계대전 이후 순수하게 전자 시스템이 개발되었다.1987년에 ABS(A Basic Yorktown Security System) 프로젝트가 시작되었습니다.[6][7]이 프로젝트의 목적은 소프트웨어 불법복제로부터 보호하는 것이었다.그러나 컴퓨터의 암호화에 대한 일반적인 적용은 1940년대와 제2차 세계대전 당시 독일군 최고사령부가 사용한 암호를 해독하기 위해 골로사스 컴퓨터가 사용되었던 블레츨리 파크로 거슬러 올라간다.그러나 컴퓨터를 사용한 암호화는 나중에 이루어졌다.특히 1960년에 최초로 생산된 집적회로가 개발되기 전까지 컴퓨터는 암호화에 실용적이지 않았다. 왜냐하면 에니그마 머신의 [8]휴대용 폼 팩터에 비해 당시의 컴퓨터는 건물 전체의 공간을 차지했기 때문이다.컴퓨터 암호화가 가능해진 것은 마이크로컴퓨터의 발달로 틈새 어플리케이션의 범위를 벗어났습니다.World [9]Wide Web의 발달은 온라인 쇼핑이 보편화됨에 따라 소비자들이 암호화에 접근할 수 있도록 하는 필요성으로 이어졌다.소비자의 주요 관심사는 보안과 [9]속도였다.이것에 의해, 속도와 [4]시큐러티의 향상을 도모하기 위해서, 최종적으로 프로세서에 키 알고리즘을 포함하게 되었습니다.
실장
명령 집합에서
x86
X86 아키텍처는 CISC(Complex Instruction Set Computer) 아키텍처로서 일반적으로 [10]하드웨어에 복잡한 알고리즘을 구현합니다.암호화 알고리즘도 예외는 아닙니다.x86 아키텍처는 AES([1]Advanced Encryption Standard) 알고리즘의 중요한 컴포넌트를 구현하고 있습니다.이 알고리즘은 NSA가 일급비밀 [11]정보에 사용할 수 있습니다.이 아키텍처에는 인텔 SHA [1]확장을 통한 SHA 해싱 알고리즘 지원도 포함되어 있습니다.AES는 문서 암호화에 유용한 암호이지만 해시는 암호와 같은 확인에 사용됩니다(PBKDF2 참조).
팔
ARM 프로세서는 옵션으로 보안 확장을 지원할 수 있습니다.ARM은 RISC(Reduced Instruction Set Computer) 아키텍처이지만 ARM [2][12]Holdings에 의해 지정된 몇 가지 옵션 확장이 있습니다.
코프로세서로서
- IBM 4758 – IBM 4764의 [13]전신입니다.여기에는 전용 프로세서, 메모리 및 난수 [14]발생기가 포함됩니다.
- IBM 4764 및 IBM 4765, 사용된 [13]연결만 제외하고 동일합니다.전자는 PCI-X를 사용하고 후자는 [3]PCI-e를 사용합니다.둘 다 메인보드에 접속하는 주변기기입니다.
증식
Advanced Micro Devices(AMD) 프로세서도 x86 디바이스이며 2011년 불도저 프로세서의 [15]반복 이후 AES 명령을 지원하고 있습니다.최신 프로세서에는 인텔과 AMD가 모두 제공하는 암호화 명령이 존재하기 때문에 대부분의 최신 [16]컴퓨터에는 암호화 명령이 있습니다.또한 ARM [16]프로세서에 구현되어 있기 때문에 많은 태블릿과 스마트폰에도 존재합니다.
이점
하드웨어에 암호화를 실장하는 것은 프로세서의 일부가 태스크 전용임을 의미합니다.이로 인해 속도가 [4]크게 향상될 수 있습니다.특히 파이프라인을 지원하는 최신 프로세서 아키텍처는 암호화 명령의 실행과 동시에 다른 명령을 수행할 수 있습니다.또한 하드웨어는 소프트웨어로부터 데이터를 보호하는 방법을 가질 수 있습니다.따라서 운영 체제가 손상되더라도 데이터는 여전히 안전할 수 있습니다(소프트웨어 가드 [17]확장 참조).
단점들
다만, 하드웨어의 실장에 문제가 발생했을 경우는, 큰 문제가 발생합니다.악성 소프트웨어는 시큐어 하드웨어에서 데이터를 취득할 수 있습니다.사용되는 수법의 대부분은 [18]타이밍 공격입니다.이것은, operating system내에서도, 소프트웨어의 버그보다 훨씬 해결이 어렵습니다.Microsoft는 정기적으로 Windows Update를 통해 보안 문제를 처리합니다.마찬가지로 iOS, Android 및 Windows Phone과 같은 모바일 운영 체제뿐만 아니라 Mac OS X 및 Linux에 대한 정기적인 보안 업데이트가 릴리스됩니다.그러나 하드웨어는 다른 문제입니다.CPU의 마이크로코드(저레벨의 소프트웨어)를 업데이트하면 문제가 해결될 수 있습니다.단, 기타 문제는 하드웨어 교체 또는 Spectre [19]악용 등 하드웨어 구현의 퍼포먼스 이점을 경감하는 운영체제에서의 회피책을 통해서만 해결할 수 있습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ a b c Intel® 64 and IA-32 Architectures Software Developer's Manual (PDF). Intel. December 2017. pp. 303–309, 410.
- ^ a b ARM® Cortex®-A57 MPCore Processor Cryptography Extension (PDF). ARM Holdings. 17 December 2017. Archived (PDF) from the original on 2016-12-13.
- ^ a b "4764 Cryptographic Coprocessor". IBM. Archived from the original on 2018-01-21. Retrieved 20 January 2018.
- ^ a b c P. Schmid and A. Roos (2010). "AES-NI Performance Analyzed". Tom's Hardware. Retrieved 20 January 2018.
- ^ Kelly, Thomas (July 1998). "The Myth of the Skytale". Cryptologia. 22 (3): 244–260. doi:10.1080/0161-119891886902.
- ^ "ABYSS: A Trusted Architecture for Software Protection" (PDF). Archived (PDF) from the original on 2018-01-21. Retrieved 20 January 2018.
- ^ "Building the IBM 4758 Secure Coprocessor" (PDF). IBM. Archived (PDF) from the original on 2017-08-08. Retrieved 20 January 2018.
- ^ "Enigma-E case" (PDF). Crypto Museum. Archived (PDF) from the original on 2016-11-05. Retrieved 20 January 2018.
- ^ a b "Consumers and their online shopping expectations – Ecommerce News". 20 February 2015. Archived from the original on 2016-09-30. Retrieved 29 August 2016.
- ^ "x86-64 Instruction Set" (PDF). University of Oxford. 18 April 2017. p. 1. Retrieved 24 January 2018.
- ^ Lynn Hathaway (June 2003). "National Policy on the Use of the Advanced Encryption Standard (AES) to Protect National Security Systems and National Security Information" (PDF). Archived (PDF) from the original on 2010-11-06. Retrieved 15 February 2011.
- ^ "Cryptographic Hardware Accelerators". OpenWRT.org. 17 May 2016. Archived from the original on 2018-01-21. Retrieved 25 January 2018.
- ^ a b "IBM 4765 Cryptographic Coprocessor Security Module" (PDF). National Institute of Standards and Technology. 10 December 2012. Archived (PDF) from the original on 2018-01-25. Retrieved 20 January 2018.
- ^ "IBM 4758 Models 2 and 23 PCI Cryptographic Coprocessor" (PDF). IBM. May 2004. Retrieved 24 January 2018.
- ^ Brent Hollingsworth (AMD) (October 2012). "New "Bulldozer" and "Piledriver" Instructions" (PDF). Arecibo Observatory. Archived (PDF) from the original on 2018-02-09. Retrieved 25 January 2018.
- ^ a b Shay Gueron (University of Haifa & Intel) and Nicky Mouha (KU Leuven & NIST) (9 November 2016). "Simpira v2: A Family of Efficient Permutations Using the AES Round Function" (PDF). Archived (PDF) from the original on 2017-07-16. Retrieved 25 January 2018.
- ^ "Intel SGX for Dummies (Intel SGX Design Objectives)". intel.com. 2013-09-26. Archived from the original on 2014-04-29.
- ^ "BearSSL – Constant-Time Crypto". www.bearssl.org. Archived from the original on 2017-01-11. Retrieved 2017-01-10.
- ^ Hachman, Mark (January 9, 2018). "Microsoft tests show Spectre patches drag down performance on older PCs". PC World. Archived from the original on February 9, 2018. Retrieved 2018-01-09.