차분 전력분석 (Differential Power Analysis)
쉽게 풀면
단순히 파형 하나를 눈으로 보고 패턴을 찾는 것과 달리, 차분 전력분석은 같은 칩에서 수백에서 수천 번 서로 다른 입력에 대해 전력 소비를 측정한 뒤 이를 통계적으로 나누어 비교합니다. 특정 비밀키 값을 가정했을 때 예상되는 전력 소비 패턴과 실제 측정값을 비교해서, 가정이 맞을 때만 통계적으로 뚜렷한 차이가 나타나는 원리를 이용합니다. 여러 사람의 목소리가 섞인 녹음에서 특정 사람의 목소리 패턴만 골라내는 통계적 필터링과 비슷한 개념입니다. 사람 눈으로는 절대 구분할 수 없는 수준의 미세한 신호 차이도 통계적 평균화를 거치면 드러날 수 있습니다.
왜 중요한가
단순 전력분석보다 훨씬 적은 사전 지식으로도 실행 가능하고, 노이즈가 섞인 실제 측정 환경에서도 효과적으로 동작하기 때문에 암호 칩 설계자들이 반드시 대비해야 하는 대표적인 위협으로 다뤄집니다. 이 기법에 대한 저항성 평가는 스마트카드나 보안 모듈의 인증 및 안전성 평가 과정에서 표준적인 절차로 포함되곤 합니다.
논문에서는 이렇게 쓰입니다
1만 개의 전력 파형을 이용해 AES 구현의 마지막 라운드 키를 복구했다는 실험 결과로, DPA 공격의 정량적 성능을 보여주는 문장입니다.
연산 단계마다 불리언 마스킹을 적용해 전력 소비와 비밀 데이터 사이의 상관관계를 줄임으로써 DPA에 대한 저항성을 높였다는 방어 기법 설명입니다.
조금 더 깊게 보면
대표적인 분석 방법으로는 파형을 두 그룹으로 나누어 평균 차이를 보는 방식과, 가정한 전력 모델과 실제 파형 사이의 상관계수를 계산하는 상관 전력분석(CPA)이 있습니다. 대응책으로는 중간값을 무작위 값으로 가리는 마스킹, 연산 순서를 매번 바꾸는 셔플링, 전력 소비를 데이터와 무관하게 만드는 이중 레일 회로 설계 등이 연구되고 있습니다.
주의할 점
차분 전력분석은 통계적 기법이기 때문에 파형 수가 충분하지 않거나 측정 노이즈가 크면 성공률이 크게 떨어질 수 있으며, 방어 기법을 적용했다고 해서 공격이 원천적으로 불가능해지는 것이 아니라 필요한 파형 수를 크게 늘려 현실적으로 어렵게 만드는 것에 가깝습니다.