2023-11-02 15:10-15:30 [E3-3] 위성보안 특별세션 1
우주용 AES-256 암호 FPGA IP 개발 및 최적화
이선재, 박준용*
인공위성 및 우주탐사선의 원격명령(telecommand), 원격검침(telemetry), 관측 영상 데이터 등은 인증되지 않은 사용자의 접근차단 및 도청으로부터 보호하기 위해 데이터를 암호화하여
전송한다. 본 논문에서는 암호화를 위한 AES-256 알고리즘을 FPGA IP로 구현하기 위해 사용한 최적화 기법과 우주환경에서 사용하기 위한 신뢰성 개선 방법을 제시한다. FIPS 197
Advanced Encryption Standard (AES)에 따라 최적화 없이 FPGA logic cell로만 AES-256를 구현하면 일반적으로 사용되는 대용량의 FPGA에도 적용하기 어려울 정도의 FPGA logic cell 자
원이 소요된다. 반복적으로 수행되는 기능의 로직 재사용, FPGA의 RAM자원 이용 등의 방법을 사용하여 최적화를 수행하였으며 최적화하기 전의 3% 이하로 FPGA logic cell 사용량을 크
게 줄일 수 있었다. 성능 면에서는 256 bits의 key 적용을 위한 key expansion 동작과 암호화를 위한 encryption processing 동작이 병렬적으로 수행되도록 함으로써 key expansion을 위한
별도의 시간이 필요 없도록 하였다. 또한 여러 clock에 나누어서 수행하던 일부 연산을 1 clock에 통합 수행하도록 하여 key expansion을 포함한 128 bits의 평문 1 block 암호화 수행 시간
을 44 clock으로 단축하였다. 우주방사선에 의한 오류 발생 확률이 높은 RAM data는 Error Detection And Correction (EDAC) 기능을 적용하여 우주환경에서의 AES-256 동작 오류 가능성
을 최소화하였다. FPGA logic 최적화 및 EDAC 기능 적용 후 Microchip사의 RT3PE3000L STD FPGA device를 대상으로 Place and Route 결과 6.3%의 logic cell 사용률과 70 MHz의 최대
clock 성능을 확인하였고 최대 203.6 Mbps의 AES-256 암호화 성능을 도출하였다.
Development of AES-256 Encryption FPGA IP for Space Environment Sun-Jae Lee1, Jun-Yong Park2*
Sun-Jae Lee, Jun-Yong Park*
Telecommand, telemetry, and observation image data from satellites and space probes are encrypted to protect them from access and eavesdropping by unauthorized users. This paper
presents the optimization techniques used to implement the AES-256 encryption algorithm for encryption into FPGA IP and how to improve reliability for use in space environments.
Implementing AES-256 according to the FIPS 197 AES using only FPGA logic cells without optimization requires too many FPGA logic cell resources even for a typical high-capacity FPGA.
Optimization was achieved by reusing the logic of repetitive functions and utilizing the RAM resources of the FPGA. As a result, the FPGA logic cell usage was significantly reduced to less
than 3% compared to before optimization. In terms of performance, key expansion for applying a 256-bit key and encryption processing for encryption are performed in parallel, so additional
time for key expansion is not required. In addition, some operations that were divided into multiple clocks were integrated into one clock, we have reduced the time to perform 128-bit
plaintext 1-block encryption including key expansion to 44 clocks. The EDAC function was applied to RAM data, which has relatively high probability of error due to space radiation, to
minimize the possibility of AES-256 operation errors in the space environment. After optimizing the FPGA logic and applying the EDAC function, the place and route results of Microchip's
RT3PE3000L STD FPGA device showed a logic cell usage of 6.3% and a maximum clock performance of 70 MHz, resulting in AES-256 encryption performance of up to 203.6 Mbps.
Keywords: AES, FPGA, cryptographic
|
Speaker 이선재 쎄트렉아이 |
|