핵심 요약
AWS에서 당근의 서명 시스템은 CloudHSM과 KMS를 Active-Standby로 조합해 수천만 개의 토큰을 무중단으로 서명하도록 구현했습니다.
구현 방법
- PKCS#11 기반 CloudHSM에 crypto11 Go 래퍼를 적용하고 세션 풀로 성능 안정성을 확보
- Signer 인터페이스로 HSMSigner, KMSSigner, LocalSigner를 Active-Standby로 구성, Dynamic Config로 실시간 전환
- 5단계 무중단 키 전환: 새 키 등록 → 가중치 조정으로 트래픽 이전 → 기존 키 중단 → TTL 대기 → 공개키 제거
주요 결과
- RS256에서 ES256으로 전환해 키 크기 8배, 서명 데이터 4배 감소, 토큰 크기 약 37% 축소
- 단일 인스턴스에서도 RPS 증가 및 latency 관리 개선
- Istio 이슈 시 자동으로 KMS로 Failover되어 무중단 운영



