부채널 공격: 암호 구현에서 새어 나오는 정보와 방어
부채널 공격의 타이밍·전력·전자기파·캐시 분석 방식과 스마트카드, 클라우드 환경에서의 방어 전략을 정리한다.
2026-08-14 · 최초 발행 2025-06-28
암호 알고리즘이 수학적으로 안전하더라도, 구현이 남기는 흔적은 비밀키를 향한 다른 경로가 될 수 있다. 부채널 공격은 알고리즘을 직접 해독하는 대신 암호화 과정에서 나타나는 전력 소비, 전자기파, 실행 시간, 소리, 오류 정보를 관찰해 민감한 정보를 추출한다.
암호 구현이 만드는 공격 표면
부채널 공격의 대상은 암호 알고리즘의 수학적 구조보다 실제 하드웨어와 소프트웨어 구현이다. 구현 과정에서 생기는 부수 정보가 비밀값과 연관될 경우, 공격자는 이를 분석해 비밀키나 민감 정보를 추론할 수 있다.
관측 경로에 따라 달라지는 공격 방식
타이밍 정보로 연산을 읽는 방법
타이밍 공격은 암호화 연산에 걸리는 시간을 측정해 비밀키 정보를 얻는다. 구현에 따라 비밀키 값이 연산 시간 차이로 이어질 수 있다. RSA 암호화 과정에서는 키 비트값에 따라 제곱-곱셈 연산 시간이 달라질 수 있다.
방어에는 비밀 데이터와 무관하게 동일한 시간에 끝나는 구현을 사용하거나 랜덤 지연 시간을 추가하는 방식이 있다.
전력 파형에서 찾는 비밀값
단순 전력 분석(Simple Power Analysis, SPA)은 암호 장치의 전력 소비 패턴을 직접 관찰한다. 스마트카드가 서로 다른 연산을 수행할 때 나타나는 전력 소비의 차이를 분석해 암호 연산 종류와 비밀키를 추론하는 방식이다.
차분 전력 분석(Differential Power Analysis, DPA)은 수많은 암호화 작업의 전력 소비 데이터를 통계적으로 분석한다. 알려진 데이터와 비밀키의 관계를 추론하며, 단순 전력 분석보다 강력하고 방어하기 어렵다. 마스킹(masking)과 하이딩(hiding)이 대표적인 대응 수단이다.
전자기파, 소리, 캐시에서 드러나는 흔적
전자기파 분석 공격은 암호 장치가 방출하는 전자기파를 측정해 정보를 얻는다. 전력 분석과 유사하지만 장치에 접촉하지 않고 원격에서 시도할 수 있으며, 단순 전자기파 분석(SEMA)과 차분 전자기파 분석(DEMA)으로 나뉜다. 스마트폰이나 노트북의 전자기파를 통해 암호화 키를 추출하는 사례가 여기에 해당한다. 전자기 차폐와 전자기 노이즈 생성으로 방어할 수 있다.
음향 공격은 암호 연산 중 발생하는 소리를 분석한다. 키보드 소리로 입력을 추론하거나 CPU·프린터 소리로 작업 유형을 파악할 수 있으며, 키보드 타이핑을 녹음해 암호를 추론하는 방식도 가능하다. 소음 생성과 방음 처리가 대응책이다.
캐시 공격은 CPU 캐시 접근 패턴을 분석해 비밀 정보를 추출한다. 프로세스 사이의 캐시 공유 특성을 악용하며, Flush+Reload와 Prime+Probe 같은 기법이 사용된다. 캐시 접근 패턴을 난독화하거나 보안상 중요한 연산에서 캐시 사용을 막는 방식으로 방어한다.
정상 동작을 깨뜨려 오류를 분석하는 방식
결함 주입 공격(Fault Injection Attack)은 암호 장치에 물리적 결함을 의도적으로 만들어 비정상 동작을 유도한다. 전압 변동, 클럭 조작, 레이저 조사를 활용하고, 오류가 발생한 출력값을 분석해 비밀키를 추론한다. 스마트카드에 순간적인 전압 강하를 일으켜 연산 오류를 만드는 사례가 있다.
오류 감지 및 대응 코드와 중복 연산 검증이 이 공격을 막는 수단이다.
공격이 현실의 시스템에서 드러난 사례
스마트카드는 부채널 공격의 주요 대상이다. 2002년 연구자들은 전력 분석 공격으로 여러 상용 스마트카드의 DES, RSA, ECC 등 암호 알고리즘에서 비밀키를 추출하는 데 성공했다. 이후 금융 카드와 접근 제어 카드의 보안 설계가 크게 강화됐다.
2003년에는 연구자들이 네트워크를 통한 원격 타이밍 공격으로 OpenSSL의 RSA 구현에서 비밀키를 추출했다. 부채널 공격이 로컬 환경에만 머무르지 않고 네트워크를 통해서도 가능함을 보인 사례다.
2018년 발견된 CPU 취약점 스펙터(Spectre)와 멜트다운(Meltdown)은 프로세서의 투기적 실행(speculative execution) 기능을 악용한 부채널 공격이다. 캐시 타이밍 정보를 이용해 권한 없는 메모리 영역의 데이터를 읽을 수 있음을 증명했다.
2004년 연구에서는 키보드 타이핑 소리를 녹음해 입력 텍스트를 높은 정확도로 복원하는 기술을 시연했다. 이 방식은 이후 스마트폰 가속도계를 이용해 근처 키보드 입력을 감지하는 기술로 발전했다.
구현 계층마다 필요한 방어
알고리즘 수준에서는 상수 시간 구현(Constant-Time Implementation), 마스킹, 하이딩을 적용한다. 상수 시간 구현은 비밀 데이터와 관계없이 같은 시간 안에 연산을 끝내며, 마스킹은 비밀값을 랜덤 값과 결합해 중간 계산값을 난독화한다. 하이딩은 전력 소비를 균일하게 만들거나 랜덤 노이즈를 추가한다.
하드웨어는 전자기 차폐, 전력 소비 균등화, 듀얼 레일 로직(Dual-Rail Logic), 노이즈 생성기로 방어할 수 있다. 듀얼 레일 로직은 모든 비트 연산에서 일정한 전력 소비를 보장하고, 노이즈 생성기는 의도적인 랜덤 노이즈로 신호 분석을 방해한다.
소프트웨어에서는 연산 순서나 데이터 접근 패턴을 랜덤화할 수 있다. RSA 등에서는 비밀키 연산 전 랜덤 값을 곱하는 블라인딩(Blinding)을 사용하며, 암호 연산 순서를 무작위로 섞어 분석을 어렵게 만드는 방식도 활용된다.
확장되는 연구 대상
머신러닝 기반 부채널 공격은 딥러닝을 사용해 노이즈가 많은 부채널 데이터에서도 비밀 정보를 추출한다. 전통적인 공격보다 적은 데이터로 높은 성공률을 달성하며, CNN(Convolutional Neural Network)을 활용한 전력 분석 공격이 예다.
원격 부채널 공격 연구는 클라우드 환경의 가상머신 간 정보 유출도 다룬다. CPU 캐시와 메모리 버스 같은 공유 하드웨어 자원을 통해 다른 사용자의 암호키를 추출할 가능성을 분석한다.
IoT 장치는 자원 제약으로 인해 부채널 취약성 분석의 대상이 된다. 저전력 암호 알고리즘의 부채널 안전성을 평가하고, 스마트홈 기기나 웨어러블 장치에서 발생할 수 있는 취약점을 분석한다.
표준이 요구하는 부채널 대응
부채널 위험이 알려지면서 보안 표준도 대응을 요구하고 있다.
- FIPS 140-3은 암호모듈 보안 요구사항에 부채널 공격 대응을 포함한다.
- Common Criteria는 평가보증등급(EAL)에 따라 부채널 공격 저항성을 평가한다.
- EMVCo는 스마트카드 기반 결제 시스템의 부채널 공격 대응 요구사항을 명시한다.
양자 컴퓨팅 시대가 도래함에 따라 양자 저항성 암호(Post-Quantum Cryptography)의 부채널 취약성 연구도 중요해질 전망이다. IoT 기기 확산과 클라우드 컴퓨팅 보편화로 공격 대상과 범위 역시 확대될 것으로 예상된다.
암호 시스템은 설계 단계부터 부채널 공격을 고려해야 한다. 알고리즘의 수학적 안전성만으로는 충분하지 않으며, 구현이 가진 물리적 안전성도 함께 검증해야 한다.