논문 정보
제목: Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems
저자: Paul C. Kocher
발표: CRYPTO '96 (Springer LNCS 1109), 1996
분야: 사이드채널 공격, 구현 보안 (암호 구현 분석)
Semantic Scholar 인용: 미확인 (API 제한 — 429)
저자: Paul C. Kocher
발표: CRYPTO '96 (Springer LNCS 1109), 1996
분야: 사이드채널 공격, 구현 보안 (암호 구현 분석)
Semantic Scholar 인용: 미확인 (API 제한 — 429)
연구 배경
1990년대 중반까지 암호학계의 주류 가정은 "암호 알고리즘이 수학적으로 안전하면, 그 구현도 안전하다"는 것이었다. 공격자는 오직 입출력 값(평문·암호문)만 관찰할 수 있다고 간주했다. 그러나 Paul Kocher는 1996년 CRYPTO에서 암호 연산이 실제로 걸리는 시간이라는 물리적 부수 정보(사이드 채널)만으로도 RSA·Diffie-Hellman·DSS의 비밀 키를 복구할 수 있음을 실증적으로 보여주며, "구현의 안전성"이라는 새로운 연구 축을 열었다. 이 논문은 이후 전력 분석(SPA/DPA), 전자기파 분석, 캐시 타이밍 공격 등 사이드채널 공격 전체 분야의 출발점이 된 고전이다.
핵심 내용
- 타이밍 누설의 원리: 모듈러 지수승(예: RSA의 m^d mod n)은 키 비트 값에 따라 수행되는 연산이 달라진다 — 비트가 1이면 추가 곱셈이 실행되어 실행 시간이 미세하게 길어진다. 수천~수만 회의 서명/복호화 시간을 통계적으로 측정하면 이 마이크로초 수준의 편차를 키 복구 신호로 쓸 수 있다
- 최적화가 오히려 누설을 키움: 당시 널리 쓰이던 몽고메리 곱셈, 슬라이딩 윈도우, CRT 가속 등의 성능 최적화 기법은 키 비트와 실행 경로의 상관관계를 더 뚜렷하게 만들어 타이밍 공격을 더 쉽게 만든다
- 적용 대상: RSA 개인키 연산, Diffie-Hellman 키 교환, DSS 서명, 그리고 스마트카드·하드웨어 토큰 등 키가 물리적으로 고정된 기기 전반에 적용 가능 — 네트워크 지연이 큰 환경에서도 통계적 방법으로 극복 가능함을 시연
- 대응책 제시: 상수 시간(constant-time) 구현, 블라인딩(랜덤 값으로 입력을 마스킹), 타이밍 노이즈 주입, 그리고 연산 횟수 고정 등을 체계적으로 정리 — 이후 모든 암호 구현의 표준 요구사항이 됨
보안 시사점
- "블랙박스는 안전하지 않다": 알고리즘의 수학적 안전성과 구현의 안전성은 완전히 별개의 문제 — 실행 시간·전력·전자기파 같은 부수 채널이 키를 누설할 수 있다는 인식의 전환점
- 상수 시간 구현의 표준화: 오늘날 OpenSSL, BoringSSL, RustCrypto 등 주요 암호 라이브러리의 상수 시간 코드, 그리고 CTF·보안 평가에서의 타이밍 분석은 모두 이 논문의 직계 후손
- 하드웨어 보안 평가 체계: 스마트카드·HSM·TEE의 CC(Common Criteria) 보안 평가와 FIPS 인증에서 사이드채널 시험 항목이 필수가 된 배경
- 현대까지 이어지는 공격 계보: 2000년대 캐시 타이밍(Meltdown/Spectre), 2010년대 웹 타이밍 오라클, 최근의 원격 측정 기반 키 복구까지 — '시간'이라는 채널의 탐구는 이 논문에서 시작되었다
결론
Kocher의 타이밍 공격 논문은 "암호는 수학 문제다"라는 당대의 믿음을 뒤엎고, 보안을 추상적 알고리즘이 아니라 물리적으로 구현된 시스템의 속성으로 재정의했다. 30년이 지난 지금도 모든 암호 구현은 "타이밍 누설이 없는가"라는 질문을 먼저 받으며, 사이드채널 분석은 하드웨어 보안과 암호 공학의 필수 과목이 되었다. 구현 보안 연구의 출발점으로서 가장 많이 인용되는 고전 중 하나다.
원문: Springer LNCS — Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems