ECB/CBC/OFB/CTR 운영모드와 80/128-비트 키 길이를 지원하는 PRESENT 암호 프로세서 설계 A Design of PRESENT Crypto-Processor Supporting ECB/CBC/OFB/CTR Modes of Operation and Key Lengths of 80/128-bit원문보기
본 논문은 ISO/IEC 29192-2 경량 암호 표준으로 지정된 초경량 블록암호 알고리듬 PRESENT의 하드웨어 구현에 대해 기술한다. PRESENT 암호 프로세서는 80, 128비트의 마스터키 길이와 ECB, CBC, OFB, CTR의 4가지 운영모드를 지원하도록 설계되었다. 마스터키 레지스터를 갖는 on-the-fly 키 스케줄러가 포함되어 있으며, 저장된 마스터키를 사용하여 평문/암호문 블록의 연속적인 암호/복호화 처리가 가능하다. 경량화 구현을 위해 80, 128 비트의 키 스케줄링 회로가 공유되도록 최적화하였다. 라운드 블록을 64 비트의 데이터 패스로 설계하여 암호/복호화의 라운드 변환이 한 클록 사이클에 처리되도록 하였다. PRESENT 암호 프로세서를 Virtex5 FPGA로 구현하여 정상 동작함을 확인하였다. $0.18{\mu}m$ 공정의 CMOS 셀 라이브러리로 합성을 한 결과, 8,100 gate equivalents(GE)로 구현되었으며, 최대 454 MHz의 클록 주파수로 동작하여 908 Mbps의 처리율을 갖는 것으로 평가되었다.
본 논문은 ISO/IEC 29192-2 경량 암호 표준으로 지정된 초경량 블록암호 알고리듬 PRESENT의 하드웨어 구현에 대해 기술한다. PRESENT 암호 프로세서는 80, 128비트의 마스터키 길이와 ECB, CBC, OFB, CTR의 4가지 운영모드를 지원하도록 설계되었다. 마스터키 레지스터를 갖는 on-the-fly 키 스케줄러가 포함되어 있으며, 저장된 마스터키를 사용하여 평문/암호문 블록의 연속적인 암호/복호화 처리가 가능하다. 경량화 구현을 위해 80, 128 비트의 키 스케줄링 회로가 공유되도록 최적화하였다. 라운드 블록을 64 비트의 데이터 패스로 설계하여 암호/복호화의 라운드 변환이 한 클록 사이클에 처리되도록 하였다. PRESENT 암호 프로세서를 Virtex5 FPGA로 구현하여 정상 동작함을 확인하였다. $0.18{\mu}m$ 공정의 CMOS 셀 라이브러리로 합성을 한 결과, 8,100 gate equivalents(GE)로 구현되었으며, 최대 454 MHz의 클록 주파수로 동작하여 908 Mbps의 처리율을 갖는 것으로 평가되었다.
A hardware implementation of ultra-lightweight block cipher algorithm PRESENT which was specified as a standard for lightweight cryptography ISO/IEC 29192-2 is described. The PRESENT crypto-processor supports two key lengths of 80 and 128 bits, as well as four modes of operation including ECB, CBC, ...
A hardware implementation of ultra-lightweight block cipher algorithm PRESENT which was specified as a standard for lightweight cryptography ISO/IEC 29192-2 is described. The PRESENT crypto-processor supports two key lengths of 80 and 128 bits, as well as four modes of operation including ECB, CBC, OFB, and CTR. The PRESENT crypto-processor has on-the-fly key scheduler with master key register, and it can process consecutive blocks of plaintext/ciphertext without reloading master key. In order to achieve a lightweight implementation, the key scheduler was optimized to share circuits for key lengths of 80 bits and 128 bits. The round block was designed with a data-path of 64 bits, so that one round transformation for encryption/decryption is processed in a clock cycle. The PRESENT crypto-processor was verified using Virtex5 FPGA device. The crypto-processor that was synthesized using a $0.18{\mu}m$ CMOS cell library has 8,100 gate equivalents(GE), and the estimated throughput is about 908 Mbps with a maximum operating clock frequency of 454 MHz.
A hardware implementation of ultra-lightweight block cipher algorithm PRESENT which was specified as a standard for lightweight cryptography ISO/IEC 29192-2 is described. The PRESENT crypto-processor supports two key lengths of 80 and 128 bits, as well as four modes of operation including ECB, CBC, OFB, and CTR. The PRESENT crypto-processor has on-the-fly key scheduler with master key register, and it can process consecutive blocks of plaintext/ciphertext without reloading master key. In order to achieve a lightweight implementation, the key scheduler was optimized to share circuits for key lengths of 80 bits and 128 bits. The round block was designed with a data-path of 64 bits, so that one round transformation for encryption/decryption is processed in a clock cycle. The PRESENT crypto-processor was verified using Virtex5 FPGA device. The crypto-processor that was synthesized using a $0.18{\mu}m$ CMOS cell library has 8,100 gate equivalents(GE), and the estimated throughput is about 908 Mbps with a maximum operating clock frequency of 454 MHz.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
제안 방법
4가지 운영모드(ECB, CBC, OFB, CTR)와 2가지 마스터키 길이(80 비트, 128 비트)를 지원하는 PRESENT 암호 프로세서(crypto-processor)를 설계하였다. 전체 구조는 그림 2와 같으며, PRESENT 알고리듬을 구현하는 PRESENT_Core, 4가지 운영모드 동작에 필요한 두개의 64 비트 레지스터(iv_reg, op_reg), 16 비트 및 64비트 XOR 게이트 그리고 제어블록으로 구성된다.
ISO/IEC 국제표준으로 승인된 64 비트 블록암호 알고리듬 PRESENT를 4가지 운영모드와 2가지 마스터키 길이를 지원하도록 하드웨어로 구현하였다. 설계된 PRESENT 암호 프로세서는 0.
OFB 모드와 CTR 모드의 암호화/복호화에는 복호연산 없이 암호연산만 사용되므로, core_mode 신호를 추가하여 복호화 과정에서 PRESENT_Core가 암호연산을 수행하도록 하였다.
본 논문에서는 독일 보훔루르 대학에서 개발한 64 비트 블록암호 PRESENT를 네 가지 운영모드인 ECB, CBC(Cipher Block Chaining), OFB(Output Feed-Back), CTR(Counter) 모드와 80 비트, 128 비트의 두 가지 마스터키 길이를 지원하도록 설계하고, FPGA 구현을 통해 하드웨어 동작을 검증하였다. Ⅱ장에서는 PRESENT 블록암호 알고리듬과 운영모드에 대해 설명하고, Ⅲ장에서는 PRESENT 암·복호 프로세서 설계에 대해 설명한다.
설계된 PRESENT 암호 프로세서는 RTL 시뮬레이션에 의한 기능검증과 FPGA 구현에 의한 하드웨어 동작 확인의 2단계로 검증하였다. 그림 6은 RTL 기능검증 결과의 일부를 보이고 있다.
대상 데이터
설계된 PRESENT 암호 프로세서는 FPGA 보드, UART 인터페이스, PC, 구동 소프트웨어로 구성되는 검증 시스템을 통해 하드웨어 동작을 검증하였으며, Virtex5 XC5VSX-95T FPGA 디바이스가 사용되었다. PC와 FPGA 사이의 데이터 송수신은 RS232C를 통해 이루어진다.
이론/모형
IoT 보안은 기존의 유무선 인터넷 보안과 유사하게 대칭키 블록암호(symmetric key block cipher) 방식과 공개키 암호(public-key cryptosystem) 방식을 기반으로 한다. 센서 네트워크, RFID 태그와 같이 제한된 자원을 갖는 IoT 환경에서는 저전력 소모와 작은 하드웨어 구현이 중요하며, AES[2], ARIA[3] 등 기존의 블록암호 알고리즘을 대체할 수 있는 경량 암호기술(lightweight cryptography)에 대한 연구가 활발하게 진행되어 왔다.
성능/효과
그림 7 (a),(b)의 중앙의 암호화된 이미지를 다시 FPGA로 전송하여 PRESENT 암호 프로세서에서 복호화한 결과는 우측의 이미지와 같으며, 암호화에 사용된 원본 이미지가 복원되었음을 확인할 수 있다. 그림 7의 FPGA 검증 결과에서 보는 바와 같이, 이미지를 암호화 하고 암호화된 이미지를 복호하여 원래 이미지와 일치 하는 결과가 출력됨으로써 설계된 PRESENT 암호 프로세서가 올바르게 동작함을 확인하였다.
본 논문에서 설계된 PRESENT 암호 프로세서의 특성은 표 1과 같다. 0.18㎛ CMOS 표준 셀 라이브러리로 합성한 결과, 최대 454 MHz의 클록 주파수로 동작하여 908 Mbps의 처리율을 갖는 것으로 평가되었다. 100 kHz의 주파수로 합성한 결과, 두 가지 키길이(80, 128비트)로 암호/복호를 수행하는 PRESENT_Core는 5,740 GE로 구현되었고, 네 가지 운영모드를 지원하는 회로는 약 1,950 GE로 구현되었다.
18㎛ CMOS 표준 셀 라이브러리로 합성한 결과, 최대 454 MHz의 클록 주파수로 동작하여 908 Mbps의 처리율을 갖는 것으로 평가되었다. 100 kHz의 주파수로 합성한 결과, 두 가지 키길이(80, 128비트)로 암호/복호를 수행하는 PRESENT_Core는 5,740 GE로 구현되었고, 네 가지 운영모드를 지원하는 회로는 약 1,950 GE로 구현되었다. 전체 PRESENT 암호 프로세서는 8,100 GE로 구현이 되었다.
각 모드의 암호화에서 얻어진 세 블록의 암호문을 복호한 결과 원래의 평문 “1234 5678 12345678”이 세 블록씩 출력되어 ECB, CBC, OFB, CTR 모드의 기능이 올바로 동작함을 확인하였다.
ISO/IEC 국제표준으로 승인된 64 비트 블록암호 알고리듬 PRESENT를 4가지 운영모드와 2가지 마스터키 길이를 지원하도록 하드웨어로 구현하였다. 설계된 PRESENT 암호 프로세서는 0.18㎛ CMOS 공정에서 8,100 GE로 구현되었으며, 최대 454 MHz의 클록 주파수로 동작하여 908 Mbps의 처리율을 갖는다. 설계된 PRESENT 암호 프로세서는 저면적을 특징으로 가져 IoT, RFID 환경과 같이 제한된 자원을 갖는 응용분야의 정보보호 SoC 설계에 IP로 활용이 가능하다.
암호화 결과로 암호문“3622 d310 63cc f617”, “0a1a 1c0f d0a6 141e”가 출력되었으며, 이 암호문을 다시 복호화한 결과로 평문“0000 aaaa 0000 bbbb”, “1234 5678 1234 5678”이 출력 됨을 확인할 수 있다.
후속연구
18㎛ CMOS 공정에서 8,100 GE로 구현되었으며, 최대 454 MHz의 클록 주파수로 동작하여 908 Mbps의 처리율을 갖는다. 설계된 PRESENT 암호 프로세서는 저면적을 특징으로 가져 IoT, RFID 환경과 같이 제한된 자원을 갖는 응용분야의 정보보호 SoC 설계에 IP로 활용이 가능하다.
질의응답
핵심어
질문
논문에서 추출한 답변
IoT 환경용 경량 암호기술을 개발하는 이유는?
IoT 보안은 기존의 유무선 인터넷 보안과 유사하게 대칭키 블록암호(symmetric key block cipher) 방식과 공개키 암호(public-key cryptosystem) 방식을 기반으로 한다. 센서 네트워크, RFID 태그와 같이 제한된 자원을 갖는 IoT 환경에서는 저전력 소모와 작은 하드웨어 구현이 중요하며, AES[2], ARIA[3] 등 기존의 블록암호 알고리즘을 대체할 수 있는 경량 암호기술(lightweight cryptography)에 대한 연구가 활발하게 진행되어 왔다. 대표적인 경량 블록암호 알고리듬으로는 PRESENT[4, 5], HIGHT[6], CLEFIA[7], KATAN/KTANTAN[8], LEA[9] 등이 있으며, 다양한 하드웨어 구현 사례들이 발표되고 있다[10-13].
IoT 보안을 위해서는 무엇을 고려하여야 하는가?
IoT를 통해 유통되는 데이터가 암호화되지 않은 상태로 유통될 경우 악의적인 공격자에 의한 정보 유출 및 정보 조작이 이루어져 매우 심각한 보안 위협 문제가 발생할 수 있다. IoT 보안을 위해서는 디바이스 간 통신에서의 기밀성(confidentiality), 무결성(integrity), 및 기기간 인증(authentication) 등을 고려해야 한다[1].
블록암호 ECB 모드의 문제점은?
블록암호는 임의의 길이의 평문(또는 암호문)을 고정된 크기의 블록(64 비트 또는 128 비트)로 나누어 암호(또는 복호)화한다. 기본 운영모드인 ECB(Electronic Code Book) 모드는 각 블록을 독립적으로 암호(복호) 화 하므로, 키 값이 고정된 상태에서는 동일한 평문(암호문)에 대해 동일한 암호문(평문)이 얻어져 보안성이 떨어지는 단점을 갖는다. 이와 같은 블록암호 ECB 모드의 보안 취약점을 보완하여 다양한 응용 환경에서 적절한 기밀성을 유지할 수 있도록 운영모드(mode of operation)가 지원되어야 한다[14].
참고문헌 (15)
C. Lu. Overview of Security and Privacy Issues in the Internet of Things [Internet]. Available: http://www.cse.wustl.edu/-jain/cse574-14/ftp/security.pdf
FIPS-197, Advanced Encryption Standard, National Institute of Standard and Technology(NIST), November, 2001.
KS X 1213:2004, 128 bit Block Encryption Algorithm ARIA, Korean Agency for Technology and Standards (KATS), 2004.
A. Bogdanov et al., "PRESENT: An Ultra-Lightweight Block Cipher," Cryptographic Hardware and Embedded Systems (CHES 2007), LNCS, Springer, vol. 4727, pp. 450-466, 2007.
ISO/IEC Std. 29192-2, Information technology-Security techniques-Lightweight cryptography (part2): Block ciphers, International Organization for Standardization (ISO), 2012.
TTA Std. TTAK.KO-12.0040/R1, 64-bit Block Cipher HIGHT, Korea Internet & Security Agency, 2008.
Sony Corporation. The 128-bit Block Cipher CLEFIA: Algorithm Specification, [Internet]. Available: http://www.sony.net/Products/cryptography/clefia/download/data/clefia-spec-1.0.pdf.
De Canniere, Christophe, Orr Dunkelman, and Miroslav Knezevic. "KATAN and KTANTAN-a family of small and efficient hardware-oriented block ciphers," Cryptographic Hardware and Embedded Systems (CHES 2009), Springer, pp. 272-288, 2009.
T. Eisenbarth, C. Paar, A. Poschmann, S. Kumar and L. Uhsadel, "A Survey of Lightweight Cryptography Implementations," IEEE Design & Test of Computers, vol. 24, no. 6, pp. 522-533, Nov. 2007.
H.W. Park and K.W. Shin, "An efficient hardware implementation of 64-bit block cipher algorithm HIGHT," Journal of KIICE, vol. 15, no. 9, pp. 1933-1999, Sep. 2011.
M.J. Sung and K.W. Shin, "An Efficient Hardware Implementation of Lightweight Block Cipher LEA-128/192/256 for IoT Security Applications," Journal of KIICE, vol. 19, no. 7, pp. 1608-1616, Jul. 2015.
G.C. Bae and K.W. Shin, "An Efficient Hardware Implementation of Lightweight Block Cipher Algorithm CLEFIA for IoT Security Applications," Journal of KIICE, vol. 20, no. 2, pp. 351-358, Feb. 2016.
NIST Special Publication 800-38A, Recommendation for Block Cipher Modes of Operation-Methods and Techniques, National Institute of Standards and Technology (NIST), 2001.
D.H Kim and K.W. Shin, "An Efficient Hardware Implementation of ARIA Block Cipher Algorithm Supporting Four Modes of Operation and Three Master key Lengths", Journal of KIICE, vol. 16, no. 11, pp. 2517-2524, Nov. 2012.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.