# 키 재사용 (Key Reuse)

키 재사용(key reuse)은 같은 암호 키, 또는 같은 키와 같은 일회성 값(논스·IV)을 여러 번이나 여러 용도에 다시 쓰는 것을 말합니다. 블록 암호의 키처럼 반복 사용을 전제로 설계된 경우도 있지만, 암호학과 블록체인에서 이 말은 대개 보안을 무너뜨리는 위험한 관행을 가리킵니다.

## 자세히 알아보기

무엇을 재사용하느냐에 따라 위험이 크게 다릅니다.

- **같은 키로 여러 메시지 암호화:** AES 같은 현대 블록 암호는 올바른 운용 모드와 함께라면 하나의 키로 많은 데이터를 암호화하도록 설계되었습니다. 그래도 NIST SP 800-57은 키마다 사용 기간(암호 기간)을 정해 교체하도록 권고합니다.
- **키와 논스·IV를 함께 재사용:** 스트림 암호나 CTR 모드에서 같은 키와 같은 논스로 두 메시지를 암호화하면 두 암호문의 XOR이 두 평문의 XOR과 같아져 내용이 드러납니다. AES-GCM에서는 여기에 더해 인증까지 깨져 위조가 가능해지므로, NIST SP 800-38D는 같은 키 아래 IV가 겹치지 않도록 엄격히 요구합니다.
- **한 키를 여러 용도에 사용:** 같은 키로 암호화와 서명을 함께 하거나 여러 프로토콜에 쓰면, 한쪽의 결과가 다른 쪽 공격에 이용될 수 있습니다. 그래서 키 하나는 한 가지 용도에만 쓰는 키 분리 원칙을 따릅니다.

ECDSA 서명에서는 서명마다 쓰는 비밀 난수 k가 특히 중요합니다. 같은 개인키로 두 메시지에 같은 k를 쓰면, 공개된 두 서명만으로 k를 계산하고 이어서 개인키까지 구할 수 있습니다. RFC 6979는 이 위험을 줄이려고 개인키와 메시지에서 k를 결정적으로 만드는 방법을 정했습니다.

## 블록체인·암호화폐에서는

2013년 8월 안드로이드의 난수 생성기 결함으로 일부 비트코인 지갑 앱이 서명에 같은 k를 다시 써서 개인키가 노출되었고, bitcoin.org는 해당 지갑 사용자에게 새 주소로 자금을 옮기라고 공지했습니다. 이처럼 서명 난수의 재사용은 곧바로 자산 탈취로 이어질 수 있습니다.

주소 재사용(address reuse)도 같은 계열의 문제입니다. 같은 주소로 여러 번 받으면 블록체인이 공개 장부이므로 누구나 그 주소의 거래를 하나로 묶어 볼 수 있어 사생활 보호가 약해집니다. 그래서 비트코인 지갑은 받을 때마다 새 주소를 만드는 방식을 권장합니다.

## 쉽게 말하면

같은 열쇠로 매일 현관문을 여는 것은 괜찮지만, 그 열쇠로 집과 사무실과 금고를 모두 열게 하거나, 한 번만 쓰라고 받은 일회용 번호표를 두 번 내미는 것은 곤란합니다. 문제는 반복 그 자체보다 무엇을 어디에 다시 쓰느냐에 있습니다.

---
출처: https://achivx.kr/glossary/key-reuse-%ED%82%A4-%EC%9E%AC%EC%82%AC%EC%9A%A9/ · ACHIVX 용어 사전 · 수정일 2026-10-20
