[논문 리뷰] Rosita: Towards Automatic Elimination of Power-Analysis Leakage in Ciphers
Rosita는 강화된 누출 에뮬레이터(Elmo*)를 사용하여 마스킹된 암호 구현에서 전력 분석 누출을 탐지하고 제거하는 자동화된 코드 재작성 엔진이다. AES와 Xoodoo에 대해 거의 모든 누출을 최소한의 성능 손실로 제거했으며, ChaCha에 대해서는 64%의 성능 손실을 감수하면서도 누출의 99% 이상을 제거하여 임베디드 암호화 알고리즘을 보호하는 데 실용적인 적용 가능성을 입증한다.
Since their introduction over two decades ago, side-channel attacks have presented a serious security threat. While many ciphers' implementations employ masking techniques to protect against such attacks, they often leak secret information due to unintended interactions in the hardware. We present Rosita, a code rewrite engine that uses a leakage emulator which we amend to correctly emulate the micro-architecture of a target system. We use Rosita to automatically protect masked implementations of AES, ChaCha, and Xoodoo. For AES and Xoodoo, we show the absence of observable leakage at 1,000,000 traces with less than 21% penalty to the performance. For ChaCha, which has significantly more leakage, Rosita eliminates over 99% of the leakage, at a performance cost of 64%.
연구 동기 및 목표
- 마스킹된 암호 구현에서 전력 분석 누출을 유발하는 의도하지 않은 마이크로아ーキ테크처 상호작용이라는 핵심 과제를 해결하기 위해.
- 마스킹된 암호에서 누출을 수정하는 수동적이고 실수를 유발하기 쉬운 과정을 자동화하여 전문가 중심의 시행착오에 의존하는 것을 줄이기 위해.
- ISO/IEC 17825와 같은 표준 준수를 위해 누출 에뮬레이션과 자동 코드 재작성 통합 도구체인을 개발하기 위해.
- 실제 하드웨어를 사용하여 마스킹된 AES, ChaCha, Xoodoo의 구현을 대상으로 자동 누출 완화의 효과를 평가하기 위해.
- 자동화된 도구가 임베디드 암호 시스템에서 사이드 채널 저항성을 확보하기 위해 요구되는 노력의 양을 크게 줄일 수 있음을 입증하기 위해.
제안 방법
- Rosita는 누출이 확인된 지점에서 누출을 제거하기 위해 변환을 적용하는 규칙 기반 코드 재작성 엔진을 사용한다.
- Elmo*는 레지스터 및 락스와 같은 마이크로아키텍처 저장 요소를 모델링하여 운영자 상호작용과 값 의존성으로 인한 누출을 탐지하는 수정된 누출 에뮬레이터와 통합된다.
- Elmo*는 비연속 명령어 누출을 탐지하고 누출의 근본 원인, 포함된 특정 저장 구성 요소까지 식별할 수 있도록 개선되었다.
- 에뮬레이션 트레이스의 온라인 통계 분 析을 수행하여 표준 사이드 채널 테스트(예: t-검정)를 사용해 누출을 탐지한다.
- 작업 워크플로우는 Elmo*를 반복적으로 실행하여 누출을 탐지하고, Rosita의 재작성 규칙을 적용하며, 실제 하드웨어에서 수정된 코드를 검증한다.
- 이 방법은 일차 사이드 채널 누출을 대상으로 하며, Cortex-M0 및 AVR 프로세서와 같은 순서 실행, 캐시 없는 마이크로컨트롤러에 최적화되어 있다.
실험 결과
연구 질문
- RQ1누출 에뮬레이터는 탐지 외에도 소프트웨어 구현에서 사이드 채널 누출을 자동으로 완화하는 데 사용될 수 있는가?
- RQ2자동 코드 재작성은 마스킹된 암호에서 마이크로아키텍처 상호작용으로 인한 누출을 어느 정도 제거할 수 있는가?
- RQ3Rosita 도구체인은 복잡도가 다른 다양한 암호 설계에서 누출 감소에 얼마나 효과적인가?
- RQ4자동 누출 완화 과정에서 발생하는 성능 오버헤드는 얼마이며, 암호 간에 어떻게 달라지는가?
- RQ5강화된 에뮬레이션과 규칙 기반 재작성의 조합이 ISO/IEC 17825와 같은 사이드 채널 보안 표준 준수를 달성할 수 있는가?
주요 결과
- 1,000,000개의 트레이스 이후 Rosita는 마스킹된 AES-128 및 Xoodoo 구현에서 관측 가능한 모든 누출을 성공적으로 제거하여 더 이상 누출 지점이 없음을 확인했다.
- ChaCha의 경우 Rosita는 원래 238개의 누출 지점 중 단 1개로 누출을 줄여 99% 이상의 감소를 이뤘으며, 성능 손실은 64%였다.
- ChaCha는 복잡한 라운드 함수와 더 높은 마스킹 복잡도로 인해 성능 손실이 가장 컸지만, 실용적 구현에 있어 여전히 수용 가능한 수준이었다.
- 도구체인은 실제 하드웨어에서 검사된 결과, AES와 Xoodoo에 대해 ISO/IEC 17825 표준에 완전히 준수했으며, 악용 가능한 누출은 발견되지 않았다.
- Elmo*는 비연속 명령어 누출을 모델링하고 근본 원인을 식별할 수 있도록 성공적으로 확장되어 재작성 규칙의 정확한 대상 설정을 가능하게 했다.
- 결과적으로 자동 누출 완화가 자원 제약이 있는 마이크로컨트롤러를 주로 사용하는 임베디드 시스템에서 실현 가능하고 효과적임을 입증했다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.