맨위로가기

전력 분석

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

전력 분석은 암호 장치의 전력 소비를 분석하여 비밀 정보를 추출하는 부채널 공격의 일종이다. 단순 전력 분석(SPA)은 전력 소비의 시각적 검사를 통해, 차분 전력 분석(DPA)은 통계적 분석을 통해 암호화 키와 같은 정보를 찾아낸다. 고차 차분 전력 분석(HO-DPA)은 DPA의 확장된 형태로, SPA 및 DPA보다 덜 일반적이다. 전력 분석은 알고리즘의 구현 보안에 취약성을 드러내며, AES, Triple DES와 같은 암호화 알고리즘도 공격 대상이 될 수 있다. 전력 분석 공격을 방어하기 위해서는 암호 소프트웨어 내 조건 분기, 하드웨어 클럭 주파수 변경과 같은 기술을 사용한다.

더 읽어볼만한 페이지

  • 암호 공격 - 재전송 공격
    재전송 공격은 유효한 데이터 전송을 가로채 재사용하여 권한 없는 접근을 시도하는 사이버 공격으로, 세션 ID, 일회용 비밀번호, 타임스탬핑 등을 통해 방지할 수 있으며, IoT 장치와 같은 시스템에서 보안 위험을 초래할 수 있다.
  • 암호 공격 - 랜섬웨어
    랜섬웨어는 컴퓨터 시스템 접근을 제한하고 금전을 요구하는 악성 소프트웨어이며, 암호화 기술을 활용하여 파일 접근을 막고, 비트코인 등장 이후 피해가 급증했으며, 이중 갈취 및 서비스형 랜섬웨어 형태로 진화하여 기업과 기관을 대상으로 공격하고, 파일 암호화, 시스템 잠금, 데이터 유출 등의 피해를 발생시킨다.
전력 분석
개요
유형사이드 채널 공격
공격 목표암호 시스템
데이터 수집 방법전력 소비량 측정
분석 방법통계 분석
상세 정보
설명단순 전력 분석 (SPA)은 암호 장치의 전력 소비량 측정값을 직접 해석하여 비밀 정보를 알아내는 사이드 채널 공격의 한 형태이다.
특징비 침투적 공격 방법이다.
장비의 물리적 해체가 필요하지 않다.
구현상의 결함을 이용한다.
분석 방법알고리즘 실행 중 전력 소비량의 변화를 시각적으로 검사한다.
공격 대상암호 알고리즘의 특정 연산 (예: 곱셈, 제곱)
예시RSA 암호 시스템에서 제곱과 곱셈 연산의 전력 소비량 차이를 분석하여 개인 키를 알아낼 수 있다.
DES 암호 시스템에서 라운드 함수의 실행 시간을 분석하여 키 정보를 얻을 수 있다.
대책
하드웨어적 대책전력 소비량의 변화를 줄이는 회로 설계
난수 발생기를 사용하여 연산 순서 변경
소프트웨어적 대책전력 소비량의 차이를 숨기는 알고리즘 구현
마스킹 기법 적용
블라인딩 기법 적용
같이 보기
관련 항목차분 전력 분석 (DPA)
사이드 채널 공격
전자기파 분석

2. 역사적 배경

암호학에서, 부채널 공격은 스마트 카드, 변조 방지 "블랙 박스" 또는 집적 회로와 같은 일부 보안 장치에서 비밀 데이터를 추출하는 데 사용된다.[1] 부채널 분석은 일반적으로 장치에서 암호화 키 및 기타 비밀 정보를 비침습적으로 추출하려고 시도한다.[1] 이에 대한 간단한 예로 제2차 세계 대전 중 독일군 전차 문제가 있는데, 연합군은 전차의 일련번호를 분석하여 독일군의 전차 생산량 및 배치 상황을 추정하는 데 성공했다.[1] 물리적 보안에서 비침습적 공격은 자물쇠 따기와 유사하며, 성공적인 공격은 공격자의 흔적을 남기지 않는다.[1]

3. 단순 전력 분석 (SPA)

단순 전력 분석(Simple Power Analysis, SPA)은 부채널 공격의 일종으로, 장치가 시간에 따라 사용하는 전류의 그래프를 시각적으로 검사하는 방법이다. 장치가 다른 연산을 수행할 때 전력 소비량이 달라지는 원리를 이용한다. 예를 들어, 마이크로프로세서가 수행하는 명령어에 따라 전력 소비 프로파일이 다르게 나타난다.

비밀 값에 의존하는 코드 흐름은 전력 소비를 모니터링함으로써 코드 흐름과 비밀 값을 노출시킬 수 있다. 예를 들어, 암호 확인 코드는 실행 시간이 일정하지 않아 타이밍 공격에 취약하며, 전력 소비를 관찰하면 실행된 루프 횟수를 파악할 수 있다. 하지만 응답 반환 전에 지연 시간을 추가하거나, 모든 루프를 완료하도록 코드를 수정하여 이러한 공격을 완화할 수 있다.

마찬가지로, RSA 암호 구현에서 제곱 및 곱셈 연산을 구별하여 공격자가 비밀 키를 계산할 수 있다. 전력 소비 변화가 작더라도 표준 디지털 오실로스코프를 사용하여 데이터 변화를 확인할 수 있으며, 주파수 필터 및 평균 함수를 사용하여 고주파 성분을 제거하기도 한다.

SPA로부터 비밀키를 보호하기 위해, d[i] 값에 관계없이 연산을 수행하고 d[i] 값에 맞는 처리를 하는 "Add-and-double-always method"나 "몽고메리 래더"와 같은 알고리즘을 사용할 수 있다.[8] 이러한 알고리즘은 RSA 암호뿐만 아니라 ElGamal 암호나 타원 곡선 암호 등 다른 공개 키 암호에도 적용할 수 있다.

3. 1. SPA 예시

INPUT: d,C
OUTPUT: M



int i;

int T=C;

for(i=n;i=>0;i--)

{

T=T*T; // ①

if(d[i]==1){

T=T*C; // ②

}

}

return T;



이 경우 d[i]=0인 경우에는 ①의 제곱 연산만 수행되지만, d[i]=1인 경우에는 ①에 더하여 ②의 곱셈 연산도 수행된다. 제곱 연산과 곱셈의 소비 전력이 다르다는 점을 이용하면 1개의 소비 전력 파형으로부터 비밀키를 도출할 수 있다.[8]

4. 차분 전력 분석 (DPA)

차분 전력 분석(Differential Power Analysis, DPA)은 부채널 공격의 일종으로, 암호 시스템의 전력 소비 측정값을 통계적으로 분석하는 방법이다. 이 공격은 마이크로프로세서나 기타 하드웨어가 비밀 키를 사용하여 연산을 수행하는 동안 전력 소비가 달라지는 편향성을 이용한다. DPA 공격은 신호 처리 및 오류 정정 특성을 가지고 있어, 단순 전력 분석으로는 분석할 수 없을 정도로 노이즈가 많은 측정값에서 비밀 정보를 추출할 수 있다. DPA를 사용하면, 공격자는 취약한 스마트 카드나 기타 장치에서 수행된 여러 암호 연산의 전력 소비 측정값을 분석하여 비밀 키를 얻을 수 있다.

5. 고차 차분 전력 분석 (HO-DPA)

'''고차 미분 전력 분석''' ('''HO-DPA''')은 DPA 공격의 한 형태이다. HO-DPA는 여러 데이터 소스와 다양한 시간 오프셋을 분석에 통합할 수 있게 해준다. HO-DPA는 분석이 복잡하고, 대부분의 취약한 장치는 SPA 또는 DPA로 더 쉽게 공격할 수 있기 때문에 SPA 및 DPA보다 널리 사용되지는 않는다.[2]

6. 전력 분석과 알고리즘 보안

전력 분석은 '변조 방지' 하드웨어 내부를 "볼 수 있는" 방법을 제공한다. 수학적으로 강력하다고 여겨지는 AES 및 Triple DES와 같은 알고리즘 구현은 전력 분석 공격을 사용하여 쉽게 깰 수 있다.[8] 전력 분석 공격은 알고리즘 암호 해독과 구현 보안의 요소를 결합한다.

7. 표준 및 실제 보안 문제

전력 분석에 취약한 장치가 적의 물리적 소유가 될 수 있는 응용 분야의 경우, 전력 분석에 대한 방어는 일반적으로 주요 설계 요구 사항이다. 전력 분석은 유료 텔레비전 시스템에서 사용되는 조건부 접근 모듈에 대해서도 사용된 것으로 보고되었다.[3]

전력 분석 공격을 수행하는 데 필요한 장비는 널리 보급되어 있다. 예를 들어, 대부분의 디지털 저장 오실로스코프는 필요한 데이터 수집 기능을 제공하며, 데이터 분석은 일반적으로 일반 PC를 사용하여 수행된다.[4] 칩위스퍼러 프로젝트는 전력 분석 실험을 위한 최초의 완전한 오픈 소스 하드웨어 및 소프트웨어 툴체인이었다.[5]

8. SPA 및 DPA 공격 방지

전력 분석 공격은 공격자가 장치의 전력 소비를 수동적으로 모니터링하기 때문에 일반적으로 장치에서 감지할 수 없다. 또한, 이 공격은 비침습적이어서 물리적 인클로저, 감사 기능 및 공격 탐지기로는 효과적으로 대응하기 어렵다. 따라서 암호 시스템 엔지니어는 장치의 전력 변화가 공격자에게 유용한 정보를 드러내지 않도록 설계해야 한다.

단순 전력 분석(SPA)과 차분 전력 분석(DPA)는 모두 전력 소비의 편향성을 악용하지만, DPA는 노이즈가 많은 측정값에서도 비밀 정보를 추출할 수 있어 더 방지하기 어렵다.

8. 1. SPA 공격 방지

암호 소프트웨어 실행에서 조건 분기 결과를 쉽게 구별할 수 없도록 해야 한다. 암호 소프트웨어 구현 내에서 조건 분기에 영향을 미치는 비밀 값이 없는지 확인해야 한다. 마이크로 코드 차이, 컴파일러에 의해 도입된 분기, 곱셈기의 전력 소비 변화와 같은 다른 변동 요인 또한 일반적으로 SPA 취약성으로 이어진다.[6][7]

8. 2. DPA 공격 방지

DPA는 전력 소비의 작은 편향조차도 악용 가능한 약점으로 이어질 수 있으므로 방지하기가 더 어렵다. 대응 전략으로는 암호화 작업이 실제 값과 관련된 데이터에서 수행되도록 알고리즘을 수정하는 방법이 있다. 예를 들어 블라인딩 매개변수를 사용하여 값을 무작위로 만들 수 있다. 하드웨어를 수정하여 DPA 공격의 효과를 줄일 수도 있다. 칩 내부 클럭 주파수를 변경하여 전기 신호를 비동기화하는 방법이 고려되었으며, 이는 기존 DPA의 알고리즘 향상으로 이어진다.[6][7]

8. 3. SPA 방지 예시

RSA 암호복호화 과정에서 비밀키 d[i] 값에 관계없이 항상 제곱 연산과 곱셈 연산을 모두 수행하는 알고리즘(Add-and-double-always method, 몽고메리 래더)을 사용하여 단순 전력 분석(SPA) 공격을 방지할 수 있다.[8] 이러한 알고리즘은 RSA뿐만 아니라 ElGamal 암호나 타원 곡선 암호 등 공개 키 암호 전반에 적용할 수 있다.

아래는 "Add-and-double-always method"와 "몽고메리 래더"(논문[IIT03]의 명칭) 알고리즘 예시이다. d[i]의 값에 관계없이 ①과 ②의 연산을 수행하고, ③에서 d[i]의 값에 맞는 처리를 하는 것이 특징이다.[8]

''Calculate M=Cd mod N''
INPUT: d,C
OUTPUT: M



int i;

int T[];

T[0]=C;

for(i=n;i=>0;i--)

{

T[0]=T[0]*T[0]; // ①

T[1]=T[0]*C; // ②

T[0]=T[d[i]]; // ③

}

return T[0];



''Calculate M=Cd mod N''
INPUT: d,C
OUTPUT: M



int i;

int T[];

T[0]=C; T[1]= C*C;

for(i=n;i=>0;i--)

{

T[2] = T[d[i]]*T[d[i]]; // ①

T[1] = T[0]*T[1]; // ②

T[0] = T[2-d[i]]; // ③

T[1] = T[1+d[i]]; // ③

}

return T[0];


참조

[1] 논문 Differential Power Analysis https://www.paulkoch[...] Springer-Verlag 1998
[2] 웹사이트 Introduction to Differential Power Analysis and Related Attacks (1998) http://www.rambus.co[...]
[3] 웹사이트 Home Page - Cyber-Piracy: The Truth http://hackhu.com/ 2002-11-13
[4] 웹사이트 DPA Workstation Analysis Platform https://www.rambus.c[...]
[5] 문서 ChipWhisperer: An Open-Source Platform for Hardware Embedded Security Research https://eprint.iacr.[...]
[6] 웹사이트 Improving the DPA attack using wavelet transform (2005) http://csrc.nist.gov[...] 2016-03-04
[7] 웹사이트 Improving differential power analysis by elastic alignment (2011) http://dl.acm.org/ci[...]
[8] 문서 ただしハードウェアの回路構成によってはSPAに防御できないことがある(論文[ISO09]より)
[9] 논문 Differential Power Analysis https://www.paulkoch[...] Springer-Verlag 2018-01-09



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com