부채널공격과 암호 구현의 물리적 정보 유출

부채널공격의 시간·전력·전자기파·캐시 분석 방식과 암호시스템 구현 단계의 방어 기법을 정리한다.

2026-08-14 · 최초 발행 2025-05-27

암호 구현이 남기는 정보는 별도의 공격 표면이다

부채널공격(Side Channel Attack)은 암호시스템이나 보안장치가 동작하는 과정에서 생기는 부가정보를 분석해 비밀 정보를 추출하는 공격이다. 공격 대상은 암호 알고리즘의 수학적 구조가 아니라 전력 소비, 전자기파, 소리, 처리 시간처럼 하드웨어와 소프트웨어 구현이 남기는 물리적 특성이다.

현대 암호 알고리즘은 수학적으로 안전하게 설계됐더라도, 실제 장치나 프로그램으로 옮겨지는 과정에서는 여러 부채널이 생긴다. 이 경로가 민감한 정보를 드러내면 이론적으로 안전한 시스템도 실제 환경에서 취약해질 수 있다.

스마트카드, IoT 장치, 금융 시스템 같은 중요 암호화 시스템이 노출되면 개인정보 유출, 금융 사기, 신원 도용으로 이어질 수 있다. 그래서 부채널 방어는 암호 알고리즘 선택과 별개로 다뤄야 할 문제다.

시간과 물리 신호에서 비밀을 읽는 방식

시간 기반 공격

Timing Attack은 암호화 또는 복호화에 걸리는 미세한 시간 차이를 측정해 비밀키를 추론한다. 입력 데이터에 따라 연산 시간이 달라질 수 있으며, 이 차이를 통계적으로 분석하면 비밀키 정보가 드러날 수 있다.

입력 데이터암호 연산시간 측정통계적 분석비밀키 추론

1996년 Paul Kocher는 RSA 암호화 과정의 지수 연산 시간을 분석해 개인키를 복구하는 방법을 발표했다. 이 방법은 네트워크 지연을 고려해도 원격 수행이 가능함을 증명했다.

전력 분석 공격

장치가 암호 연산 중 소비하는 전력을 관측해 비밀키를 찾는 방식이다. 단순 전력 분석(SPA)은 전력 소비 패턴을 직접 관찰해 수행 중인 연산 종류를 식별한다. 차분 전력 분석(DPA)은 다수의 전력 측정 데이터를 통계적으로 처리해 노이즈에 강한 분석을 수행한다.

암호 장치전력 소비 측정분석 방법단순 전력 분석차분 전력 분석직접 패턴 식별통계적 상관관계 분석비밀키 정보 추출

스마트카드에서 DES 암호화 시 전력 소비를 분석해 마스터키를 추출한 사례가 있으며, 금융 보안 시스템에 심각한 위협이 됐다.

전자기파와 음향 분석

전자기파 분석 공격은 전자 장치가 동작할 때 방출하는 전자기파를 측정하고 분석한다. 전력 분석보다 비침투적이며 원거리에서도 가능하다는 특징이 있다. 2001년 IBM 연구팀은 스마트카드에서 발생하는 전자기파 분석으로 RSA 개인키를 추출할 수 있음을 증명했고, 이후 TEMPEST라는 코드명으로 방어 기술이 개발됐다.

음향 공격은 컴퓨터나 키보드에서 나는 소리를 분석해 정보를 얻는다. 키 입력 소리와 CPU/FAN 소음 등이 대상이 될 수 있다. 2004년 연구에서는 키보드 타이핑 소리를 녹음해 95% 정확도로 입력 텍스트를 복원할 수 있음이 증명됐으며, 암호 입력 시 심각한 위협이 된다.

공유 캐시가 만드는 관측 지점

캐시 기반 공격(Cache-based Attack)은 CPU 캐시 메모리의 접근 패턴을 분석해 정보를 추출한다. 공유 캐시를 쓰는 클라우드 등의 환경에서는 특히 위험하다.

피해자 프로세스캐시 메모리 접근공격자 프로세스캐시 상태 측정접근 패턴 분석비밀 정보 유추

Spectre와 Meltdown 취약점은 프로세서의 캐시 동작을 활용한 대표적인 부채널공격 사례다. 이 취약점은 클라우드 환경에서 가상머신 간 정보 유출을 가능하게 했다.

구현 단계에서 누출을 줄이는 방어

실행 시간의 차이를 없애기

상수 시간 구현(Constant-time Implementation)은 입력 값과 무관하게 암호 알고리즘이 일정한 시간에 실행되도록 구성하는 방식이다. 조건부 분기를 피하고 모든 연산 경로를 동일하게 처리해 시간 기반 공격을 방어한다.

비상수 시간 구현시간 차이 발생시간 기반 공격 가능상수 시간 구현일정한 실행 시간시간 기반 공격 방어

중간값과 신호를 감추기

마스킹(Masking)은 민감한 데이터를 랜덤한 값과 결합해 중간 계산 결과를 무작위화한다. 전력 분석과 전자기파 분석의 효과를 낮추는 방법이다. AES 구현에서 S-box 연산에 마스킹을 적용하면 DPA 공격에 대한 내성을 크게 향상시킬 수 있다.

하이딩(Hiding)은 신호 크기를 낮추거나 노이즈를 더해 부채널 신호를 감춘다. 이중 레일 로직(Dual-rail logic)과 노이즈 생성기 활용이 대표적이다.

민감한 연산이중 레일 로직상호 보완적 신호전력 소비 균등화부채널 정보 감소

물리적 차폐, 노이즈 생성기, 센서 역시 부채널 정보 유출을 막는 수단이다. 스마트카드에는 능동적·수동적 방어책이 적용되며, 칩에 금속 메쉬 레이어를 추가해 물리적 침입과 전자기파 누출을 방지하는 기술도 상용화됐다.

프로토콜에서도 관측값을 제한하기

암호화 프로토콜을 설계할 때는 키 재사용 제한과 블라인딩(입력 무작위화) 같은 대응을 포함할 수 있다. 블라인딩은 RSA 연산에 랜덤 요소를 추가해 부채널 내성을 높인다.

RSA 연산기본 구현부채널 취약블라인딩 적용랜덤 요소 추가부채널 내성 향상

환경 변화에 따라 넓어지는 공격 대상

과거에는 물리적 접근이 필요했던 부채널공격이 네트워크를 통한 원격 공격으로도 이어지고 있다. 클라우드 환경에서 가상머신 간 캐시 공유를 이용하는 방식이 대표적이다.

딥러닝을 활용해 부채널 데이터를 분석하는 연구도 활발하다. 전력 트레이스 분석에 CNN을 적용하면 기존 통계적 방법보다 효율적인 키 복구가 가능해졌다.

저전력·저비용 IoT 장치는 보안 기능이 제한적이어서 부채널공격에 취약하다. 스마트홈과 의료기기에서 발생할 수 있는 부채널 취약점 연구가 증가하는 배경이다. 양자 컴퓨팅 시대를 대비한 양자 내성 암호(PQC)도 부채널공격에 취약할 수 있으며, NIST PQC 후보군의 부채널 취약성을 분석하는 연구가 진행 중이다.

설계와 운영에서 확인할 지점

보안 시스템을 설계할 때는 암호 알고리즘 자체뿐 아니라 구현의 부채널 내성을 검토해야 한다. 보안 인증(CC EAL 등)을 획득하는 과정에도 부채널 저항성 평가가 포함돼야 한다.

개발자 교육에는 부채널공격 방어 기법을 포함하고, 정기적인 부채널 취약점 평가로 새로운 공격 기법에 대비할 필요가 있다. 보안 장치를 도입할 때도 부채널 방어 기능을 갖춘 제품인지 확인해야 한다.

암호시스템의 안전성은 수학적 강도만으로 완성되지 않는다. IoT, 클라우드, 핀테크처럼 구현 환경이 다양해질수록, 가장 약한 연결고리가 될 수 있는 부채널 보호를 암호시스템의 필수 요소로 다뤄야 한다.

부채널공격암호시스템정보보안전력분석캐시공격