타원곡선 암호 (elliptic curve cryptography; ECC)는 사물인터넷 (internet of things; IoT), 블록체인, 블루투스 (bluetooth), 자율주행 자동차의 V2X (vehicle-to-everything) 통신 등 다양한 응용분야에 ECC 기반의 ...
타원곡선 암호 (elliptic curve cryptography; ECC)는 사물인터넷 (internet of things; IoT), 블록체인, 블루투스 (bluetooth), 자율주행 자동차의 V2X (vehicle-to-everything) 통신 등 다양한 응용분야에 ECC 기반의 보안 프로토콜이 사용된다. ECC 기반의 보안 프로토콜은 IoT 기기와 같이 제한된 하드웨어 리소스가 요구되거나 V2X 통신을 위해 고성능이 요구되므로, 이를 충족시키는 맞춤형 ECC 프로세서가 필요하다. 본 논문은 확장 가능형 이진체 ECC (BF_sECC) 프로세서와 BF_sECC 프로세서가 내장된 보안 SoC (system-on-chip)에 대해 기술한다. BF_sECC 프로세서의 모듈러 연산기는 1차원 배열의 처리요소 (processing element; PE)들을 포함하고 있으며, 1차원 배열의 PE들은 32 비트 워드 단위 연산을 병렬적으로 처리한다. 설계자는 요구되는 연산성능과 하드웨어 리소스에 따라 1∼8개의 PE를 사용하여 모듈러 연산기를 구현할 수 있다. BF_sECC 프로세서는 모듈러 연산기의 구조적 확장성을 통해 연산성능과 하드웨어 복잡도를 조절함으로써 다양한 응용분야의 요구조건에 충족시킬 수 있다. 또한, BF_sECC 프로세서는 SEC2와 FIPS 186-2 표준에 정의된 12가지 이진체 타원곡선과 10가지 동작모드를 지원한다. 또한, BF_sECC 프로세서는 부채널 공격(side-channel attack; SCA)에 방어하기 위해 x-좌표만 이용한 수정된 몽고메리 래더 알고리듬 (modified Montgomery ladder algorithm using only x-coordinates; MMLAx), 무작위화 투영 좌표계 (randomized projective coordinates; RPC), 포인트 검사 (point validation; PV) 등 대응기법들이 적용되었다. Verilog HDL을 기반으로 설계된 BF_sECC 프로세서는 Xsim을 이용해 기능 검증이 수행되었으며, RTL 시뮬레이션 결과를 Python으로 계산된 소프트웨어 결과와 비교했다. BF_sECC 프로세서는 Zynq-7 FPGA 디바이스에 구현하여 하드웨어 동작 검증을 수행했다. 1개의 PE로 구현된 BF_sECC 프로세서는 13,319개의 LUT (look-up table)와 3,733개의 FF (flip-flop)로 사용되었고, 8개의 PE로 구현된 경우 17,538개의 LUT와 4,361개의 FF가 사용되었다. PE의 개수가 1개에서 8개로 증가하면서 LUT는 약 1.32배 증가했지만, B571R의 타원곡선에서의 초당 점 스칼라 곱셈 (point scalar multiplication; PSM) 횟수는 약 4.39배로 증가했다. BF_sECC 프로세서에 구현된 부채널 공격 대응기법들의 유효성을 확인하기 위해 전력분석 공격 실험이 수행되었으며, 실험 결과를 통해 SPA 공격, relative DA, DPA 공격에 내성이 있음을 입증했다. 보안 SoC는 Cortex-M0를 CPU로 사용하고, BF_sECC 프로세서가 AHB-Lite 버스를 통해 연결된 구조로 설계되었다. BF_sECC 프로세서가 내장된 보안 SoC는 Cyclone-V FPGA 디바이스에 구현되었고, NIST와 KISA에서 제공된 테스트 벡터를 이용하여 ECC 기반 키 교환 프로토콜의 H/W-S/W 통합 검증이 수행되었다.
타원곡선 암호 (elliptic curve cryptography; ECC)는 사물인터넷 (internet of things; IoT), 블록체인, 블루투스 (bluetooth), 자율주행 자동차의 V2X (vehicle-to-everything) 통신 등 다양한 응용분야에 ECC 기반의 보안 프로토콜이 사용된다. ECC 기반의 보안 프로토콜은 IoT 기기와 같이 제한된 하드웨어 리소스가 요구되거나 V2X 통신을 위해 고성능이 요구되므로, 이를 충족시키는 맞춤형 ECC 프로세서가 필요하다. 본 논문은 확장 가능형 이진체 ECC (BF_sECC) 프로세서와 BF_sECC 프로세서가 내장된 보안 SoC (system-on-chip)에 대해 기술한다. BF_sECC 프로세서의 모듈러 연산기는 1차원 배열의 처리요소 (processing element; PE)들을 포함하고 있으며, 1차원 배열의 PE들은 32 비트 워드 단위 연산을 병렬적으로 처리한다. 설계자는 요구되는 연산성능과 하드웨어 리소스에 따라 1∼8개의 PE를 사용하여 모듈러 연산기를 구현할 수 있다. BF_sECC 프로세서는 모듈러 연산기의 구조적 확장성을 통해 연산성능과 하드웨어 복잡도를 조절함으로써 다양한 응용분야의 요구조건에 충족시킬 수 있다. 또한, BF_sECC 프로세서는 SEC2와 FIPS 186-2 표준에 정의된 12가지 이진체 타원곡선과 10가지 동작모드를 지원한다. 또한, BF_sECC 프로세서는 부채널 공격(side-channel attack; SCA)에 방어하기 위해 x-좌표만 이용한 수정된 몽고메리 래더 알고리듬 (modified Montgomery ladder algorithm using only x-coordinates; MMLAx), 무작위화 투영 좌표계 (randomized projective coordinates; RPC), 포인트 검사 (point validation; PV) 등 대응기법들이 적용되었다. Verilog HDL을 기반으로 설계된 BF_sECC 프로세서는 Xsim을 이용해 기능 검증이 수행되었으며, RTL 시뮬레이션 결과를 Python으로 계산된 소프트웨어 결과와 비교했다. BF_sECC 프로세서는 Zynq-7 FPGA 디바이스에 구현하여 하드웨어 동작 검증을 수행했다. 1개의 PE로 구현된 BF_sECC 프로세서는 13,319개의 LUT (look-up table)와 3,733개의 FF (flip-flop)로 사용되었고, 8개의 PE로 구현된 경우 17,538개의 LUT와 4,361개의 FF가 사용되었다. PE의 개수가 1개에서 8개로 증가하면서 LUT는 약 1.32배 증가했지만, B571R의 타원곡선에서의 초당 점 스칼라 곱셈 (point scalar multiplication; PSM) 횟수는 약 4.39배로 증가했다. BF_sECC 프로세서에 구현된 부채널 공격 대응기법들의 유효성을 확인하기 위해 전력분석 공격 실험이 수행되었으며, 실험 결과를 통해 SPA 공격, relative DA, DPA 공격에 내성이 있음을 입증했다. 보안 SoC는 Cortex-M0를 CPU로 사용하고, BF_sECC 프로세서가 AHB-Lite 버스를 통해 연결된 구조로 설계되었다. BF_sECC 프로세서가 내장된 보안 SoC는 Cyclone-V FPGA 디바이스에 구현되었고, NIST와 KISA에서 제공된 테스트 벡터를 이용하여 ECC 기반 키 교환 프로토콜의 H/W-S/W 통합 검증이 수행되었다.
Keyword
#타원곡선 암호 (elliptic curve cryptography
#ECC) 점 스칼라 곱셈 (point scalar multiplication
#PSM) 구조적 확장성 부채널 공격 (side-channel attack
#SCA) 보안 SoC ECDH
학위논문 정보
저자
김민주
학위수여기관
금오공과대학교 대학원
학위구분
국내석사
학과
전자공학과
지도교수
신경욱
발행연도
2024
총페이지
112
키워드
타원곡선 암호 (elliptic curve cryptography,
ECC) 점 스칼라 곱셈 (point scalar multiplication,
PSM) 구조적 확장성 부채널 공격 (side-channel attack,
SCA) 보안 SoC ECDH
※ AI-Helper는 부적절한 답변을 할 수 있습니다.