[논문 리뷰] Power-Based Side-Channel Attack for AES Key Extraction on the ATMega328 Microcontroller
이 논문은 아두이노 유노 보드에 사용되는 ATMega328 마이크로컨트롤러에서 소프트웨어로 실행되는 AES-128-ECB 암호화 과정 중 전력 소비를 측정하여 128비트 AES-128 키를 추출하는 실용적인 전력 기반 사이드 채널 공격을 수행한다. 수백 건의 트레이스를 수집하고 관련 전력 분석(CPA)을 적용함으로써, 키의 무작위성에 따라 400~600개의 평균 트레이스를 사용하여 3시간 이내에 기밀 키를 성공적으로 복원하였다.
We demonstrate the extraction of an AES secret key from flash memory on the ATMega328 microcontroller (the microcontroller used on the popular Arduino Genuino/Uno board). We loaded a standard AVR-architecture AES-128 implementation onto the chip and encrypted randomly chosen plaintexts with several different keys. We measured the chip's power consumption during encryption, correlated observed power consumption with the expected power consumption of the plaintexts with every possible key, and ultimately extracted the 128-bit key used during AES. We describe here our test infrastructure for automated power trace collection, an overview of our correlation attack, sanitization of the traces and stumbling blocks encountered during data collection and analysis, and results of our attack.
연구 동기 및 목표
- 사용자 수준의 임베디드 장치(ATMega328)에 대해 전력 소비 분석을 이용한 실현 가능한 사이드 채널 공격을 보여주기 위해.
- 자원 제약이 있는 마이크로컨트롤러에서 소프트웨어로 실행되는 암호화에서 AES 키를 추출하는 데 있어 관련 전력 분석(CPA)의 효과성을 평가하기 위해.
- 사이드 채널 공격 중 트레이스 수집, 동기화, 노이즈 감소 과정에서 발생하는 실질적 과제를 규명하고 이를 해결하기 위한 방법을 제시하기 위해.
- 다양한 키(비무작위 테스트 키 포함)를 대상으로 공격을 검증하여 복원 시간의 변동성을 평가하기 위해.
- 재현 가능한 임베디드 시스템을 대상으로 한 사이드 채널 분석을 위한 오픈소스 도구 및 인프라를 제공하기 위해.
제안 방법
- ATMega328에서 AES-128-ECB 암호화 중 전력 트레이스를 디지털 온스코프를 사용해 측정하였으며, I/O 핀에 하드웨어 신호를 통해 트리거를 발생시켰다.
- 트레이스 동기화를 위해 시간 마커를 삽입한 AESLib 라이브러리의 수정 버전을 사용하였으며, 실제 환경에서 이러한 신호가 제공되지 않을 수 있는 조건을 시뮬레이션하였다.
- CPA를 적용하여 첫 번째 라운드의 XOR 및 S-박스 연산에 대한 해밍 무게 모델 기반 예상 전력 소비와 관측된 전력 트레이스 간의 상관관계를 분석하였다.
- 노이즈 감소 및 신호 대 노이즈 비율 향상을 위해 각 평문에 대해 10개의 트레이스를 평균화한 후 CPA 처리를 수행하였다.
- 파이썬 및 매트랩 스크립트를 사용해 트레이스 수집 및 처리를 자동화하였으며, 온스코프가 기록한 .wfm 바이너리 파일에서 데이터를 파싱하였다.
- 모든 256개의 가능한 키 바이트에 대해 각 바이트 위치에서 예상 전력 소비와 관측 전력 소비 간 상관계수를 계산하여 가장 높은 상관계수를 보이는 값을 키 추측값으로 선정하였다.
실험 결과
연구 질문
- RQ1ATMega328 마이크로컨트롤러에서 소프트웨어로 실행되는 AES-128-ECB 암호화에 대해 관련 전력 분석(CPA) 공격이 128비트 AES 키를 성공적으로 추출할 수 있는가?
- RQ2기밀 키를 신뢰성 있게 복원하기 위해 필요한 전력 트레이스의 수는 얼마이며, 이 수치는 키의 무작위성에 따라 달라지는가?
- RQ3트레이스 수집 및 동기화 과정에서 발생하는 실질적 과제는 무엇이며, 실제 공격 환경에서 이를 어떻게 완화할 수 있는가?
- RQ4전력 모델의 선택(예: 해밍 무게)이 이 플랫폼에서 CPA 공격의 성공에 미치는 영향은 어느 정도인가?
- RQ5트레이스 수집을 위한 명시적 하드웨어 트리거 없이도 공격를 자동화하고 확장할 수 있는가?
주요 결과
- 비록 비무작위 키를 사용한 경우를 포함해 세 번의 테스트에서 모두 정확한 128비트 AES 키를 성공적으로 추출하였다.
- 비무작위 키의 경우 600개의 평균 트레이스가 필요했고, 무작위 키 중 하나는 400개, 다른 하나는 300개가 필요하여 키에 따라 복원 시간이 달라지는 것으로 나타났다.
- 400개의 트레이스 이후에는 항상 가장 높은 상관계수를 보이는 바이트가 정확한 키 바이트로 확인되었으며, 시간에 따른 상관계수 그래프에서도 이와 같은 경향이 뚜렷하게 나타났다.
- 100개의 평문에 대한 데이터 수집은 약 30분이 소요되었으며, 500개의 트레이스로 확장할 경우 약 2.5시간으로 선형 증가하였다.
- 500개의 트레이스에 대해 키 복원 및 상관계수 계산은 5~10분이 소요되어 후처리가 효율적임을 확인하였다.
- 노이즈와 시간 이동 오차가 존재하더라도 공격는 효과적으로 유지되었으며, 트레이스 평균화 및 수동적인 시간 프레임 정렬 전략이 효과적인 것으로 확인되었다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.