v0.0
키 세레모니 워크플로우 설계서¶
1. Executive Summary¶
본 문서는 D'CENT 엔터프라이즈 콜드월렛 커스터디 솔루션의 키 세레모니(Key Ceremony) 워크플로우를 설계한다. 키 세레모니는 키 생성, 백업, 검증, 배포의 보안과 무결성을 의식적이고 구조화된 절차로 보장하는 공식 프로토콜이다.
세레모니 유형: | 유형 | 빈도 | 참석자 | 소요 시간 | |------|------|--------|----------| | 초기 설정 | 1회 (시스템 도입) | Admin + Approver 전원 + 증인 | 4-8시간 | | 서명자 추가 | 필요 시 | Admin + 신규 서명자 + 증인 | 2-3시간 | | 서명자 교체 | 필요 시 | Admin + 신규/퇴임 서명자 + 증인 | 3-5시간 | | 키 로테이션 | 연간/필요 시 | Admin + 서명자 전원 + 증인 | 6-8시간 | | 긴급 복구 | 비상 시 | 가용 Admin + 서명자 + 최소 증인 | 1-2시간 |
규제 근거: AC-KM-05 (키 세레모니 프로세스 — CCSS Aspect 1 Level 3, ISO A.5.10)
2. 키 세레모니 개요¶
2.1. 키 세레모니의 목적¶
| 목적 | 설명 |
|---|---|
| 보안 보장 | 키 생성 환경의 물리적/전자적 격리 확인 |
| 무결성 보장 | 절차의 모든 단계가 문서화되고 검증 가능 |
| 비부인 보장 | 참석자의 서명과 증인의 입회로 절차 수행 증명 |
| 감사 대비 | 세레모니 기록이 규제 감사 시 증빙 자료로 사용 |
| 재현성 | 스크립트화된 절차로 일관된 품질 보장 |
2.2. 공통 참석자 역할¶
| 역할 | 인원 | 책임 |
|---|---|---|
| 세레모니 리더 | 1명 (Admin) | 전체 절차 진행, 체크리스트 관리 |
| 키 생성자 | N명 (Approver) | 자신의 콜드월렛에서 키 생성 |
| 검증자 | 1-2명 (Admin) | 키 복원/주소 일치 검증 수행 |
| 증인 | 2명 이상 | 독립적 절차 준수 확인 |
| 기록자 | 1명 | 모든 단계 기록 (체크리스트 작성) |
3. 초기 설정 키 세레모니 (상세)¶
3.1. 사전 준비 (D-7 ~ D-1)¶
D-7: 일정 확정 및 참석자 소집
- 참석자: Super Admin, Admin, Approver 전원, 증인 2명 이상
- 장소 예약: 전자기기 반입 금지 구역 (Faraday cage 또는 동급)
- 장비 조달 확인
D-3: 장비 준비
- 새 D'CENT X 콜드월렛 (서명자 수 + 백업 디바이스)
- 금속 시드 플레이트 (각 서명자당 2개 이상)
- 각인 도구
- 체크리스트 인쇄물
- 변조 방지 봉인 백/봉투
- 디지털 카메라 (장비 확인용 — 시드 촬영 금지)
D-1: 최종 확인
- 장소 보안 점검 (네트워크 차단 확인, 감시카메라 관련 조치)
- 장비 수량 및 상태 확인
- 참석자 최종 확인
3.2. 세레모니 8단계 절차¶
Step 1: 환경 검증 (30분)¶
체크리스트:
□ 세레모니 장소 입장 (참석자 전원 + 증인)
□ 모든 개인 전자기기 (휴대폰, 노트북, 스마트워치) 장소 외부 보관함에 보관
□ 네트워크 연결 차단 확인:
- WiFi AP 비활성화 확인
- 유선 네트워크 케이블 물리적 분리 확인
- Bluetooth 스캐너로 무선 전파 확인 (NFC는 리커버리카드 전용)
□ CCTV/감시 장비 상태 확인 (시드 노출 방지)
- 화면이 보이는 각도에 카메라 없음 확인
□ 참석자 명단 기록 (이름, 역할, 서명)
□ 증인이 환경 검증 결과 서명
Step 2: 디바이스 초기화 (서명자당 15분)¶
각 서명자(Approver)별:
□ 새 D'CENT X 콜드월렛 개봉 (봉인 상태 확인)
□ 디바이스 전원 켜기
□ 펌웨어 버전 확인 (최신 버전인지 검증)
□ PIN 설정 (서명자 본인만 입력 — 다른 참석자 화면 미확인)
□ SE 내부 키 생성 (TRNG + DRBG)
- BIP-39 니모닉 24단어 생성
- 디바이스 화면에 표시
□ 증인이 디바이스 초기화 완료 확인 (니모닉 내용은 확인하지 않음)
Step 3: 시드 백업 (서명자당 20분)¶
각 서명자별:
□ 디바이스 화면의 24단어 니모닉을 금속 시드 플레이트에 각인
- 다른 참석자가 볼 수 없는 독립 공간에서 수행
- 최소 2개 금속 플레이트 (Primary + Secondary)
□ 각인 완료 후 디바이스 화면에서 니모닉 재표시 → 금속 플레이트와 대조 확인
□ 확인 완료 후 디바이스에서 니모닉 표시 닫기
□ 금속 플레이트를 변조 방지 봉투에 봉인
□ 봉투에 서명자 이름, 날짜, 일련번호 기록
□ 증인이 봉인 과정 확인 및 서명
Step 4: 백업 검증 (서명자당 15분)¶
각 서명자별:
□ 별도 테스트 디바이스 사용 (백업 검증 전용)
□ 금속 시드 플레이트에서 니모닉 읽기 → 테스트 디바이스에 입력
□ 테스트 디바이스에서 키 복원
□ 복원된 키의 파생 주소 확인:
- BTC (Taproot): m/86'/0'/0'/0/0 → 주소 비교
- ETH: m/44'/60'/0'/0/0 → 주소 비교
□ 원본 디바이스의 주소와 테스트 디바이스의 주소가 일치하는지 확인
□ 일치 확인 → 백업 유효성 검증 완료
□ 테스트 디바이스 즉시 보안 삭제 (Factory Reset)
□ 검증자(Admin)가 주소 일치 확인 서명
Step 5: 다중 서명 월렛 구성 (30분)¶
□ 각 서명자의 공개키(Extended Public Key) 수집
- 콜드월렛 화면에 공개키 QR 표시
- 오프라인 서명 앱으로 스캔
□ M-of-N 설정 결정:
- 서명자 수 (N) 확인
- 임계값 (M) 결정 (예: 2-of-3, 3-of-5)
- 기록에 명시
□ 다중 서명 월렛 생성:
- BTC: MuSig2 집계 공개키 + Taproot 스크립트 트리 구성
- EVM: Safe 컨트랙트 배포 (Owner 목록 + Threshold)
□ 생성된 월렛 주소 확인 및 기록
□ 모든 참석자가 월렛 주소 확인 서명
Step 6: 테스트 트랜잭션 (30분)¶
□ 테스트용 소액 자산을 다중 서명 월렛으로 입금
- BTC: 0.001 BTC (테스트넷 또는 메인넷 소액)
- ETH: 0.01 ETH
□ 다중 서명 출금 트랜잭션 생성 (대시보드)
□ M명의 서명자가 에어갭 서명 수행:
- 대시보드 → QR → 오프라인앱 → QR → 콜드월렛
- WYSIWYS 확인 → 물리 버튼 승인 → SE 서명
- 서명 반환 → 오프라인앱 → 대시보드
□ 서명 취합 → 트랜잭션 전파 → 블록체인 확인
□ 테스트 트랜잭션 성공 확인
□ 전체 에어갭 서명 흐름이 정상 동작함을 검증
Step 7: 백업 분산 보관 (30분)¶
□ 각 서명자의 금속 시드 백업을 봉인 상태로 보관 담당자에게 전달
- Primary 백업 → Site A (본사 보안 금고)
- Secondary 백업 → Site B (원격 사이트)
□ 보관 담당자: 수령 확인 서명
□ 보관 위치 기록 (보관함 번호, 접근 코드 관리자)
□ 증인이 전달 과정 확인 및 서명
Step 8: 세레모니 기록 완성 (30분)¶
□ 체크리스트 전 항목 완료 확인
□ 세레모니 기록 문서 작성:
- 일시, 장소, 참석자 명단
- 각 단계별 완료 시각 및 확인자
- 디바이스 일련번호 목록
- 월렛 주소 목록
- M-of-N 설정 정보
- 백업 보관 위치 정보
- 테스트 TX Hash
□ 참석자 전원 서명 (세레모니 완료 확인)
□ 증인 서명 (절차 준수 확인)
□ 기록 문서 봉인 및 보관 (감사 대비)
□ 사진 촬영: 참석자 단체 사진 (선택), 시드/화면 사진 절대 금지
소요 시간 합계: 약 4-6시간 (서명자 3명 기준)
4. 서명자 교체 세레모니¶
4.1. 절차 개요¶
사전 준비:
- 퇴임 서명자의 오프보딩 절차 시작 (rbac-role-model.md 참조)
- 신규 서명자의 온보딩 승인 완료
세레모니:
Step 1: 환경 검증 (초기 설정과 동일)
Step 2: 신규 서명자 디바이스 초기화 + 시드 백업 + 검증
Step 3: 퇴임 서명자 키 폐기
□ 퇴임 서명자의 콜드월렛 SE 보안 삭제
□ 해당 시드 백업 물리적 파기 (증인 입회)
□ 파기 기록 (일련번호, 파기 방법, 증인)
Step 4: 다중 서명 재구성
□ BTC: 새 Taproot 스크립트 트리 (신규 서명자 포함, 퇴임 서명자 제거)
□ EVM: Safe removeOwner + addOwnerWithThreshold
Step 5: 자산 이전 (키 로테이션 — AC-KM-07)
□ BTC: 기존 주소 → 새 다중 서명 주소로 전체 자산 이전
□ EVM: Safe 소유자 변경 (자산 이전 불필요 — 동일 컨트랙트)
Step 6: 테스트 트랜잭션
Step 7: 백업 분산 보관 (신규 서명자)
Step 8: 세레모니 기록 완성
5. 긴급 복구 세레모니¶
5.1. 축소 절차¶
긴급 상황(보안 침해, 자연재해)에서는 표준 세레모니의 축소 버전을 실행한다.
축소 세레모니 (1-2시간):
Step 1: 최소 환경 검증 (10분)
- 네트워크 차단 확인만 수행
- 격리 공간 확보 (사무실 회의실 가능)
Step 2: 긴급 키 생성 (15분)
- 가용 백업 디바이스로 즉시 키 생성
- 시드 백업은 1개만 (긴급)
Step 3: 긴급 다중 서명 구성 (15분)
- 축소 M-of-N (가용 서명자만으로 구성)
- 최소 M=2 유지
Step 4: 긴급 자산 이전 (30분)
- 위험 월렛 → 긴급 월렛으로 자산 이전
Step 5: 사후 조치 계획 (10분)
- 48시간 내 정규 세레모니 일정 수립
- 긴급 조치 감사 기록
5.2. 최소 증인 요건¶
| 세레모니 유형 | 최소 증인 수 | 비고 |
|---|---|---|
| 초기 설정 | 2명 (독립 제3자) | 1명 이상 외부 (감사인/법률자문) |
| 서명자 추가/교체 | 1명 | 내부 감사팀 가능 |
| 긴급 복구 | 1명 | 가용 증인 우선 (사후 보고로 보완) |
6. 증인(Witness) 역할¶
6.1. 증인 자격¶
| 항목 | 요건 |
|---|---|
| 독립성 | 키 생성/서명 역할과 이해관계 없는 제3자 |
| 적합 인원 | 내부 감사팀, 외부 감사인, 법률 자문, 준법감시인 |
| 부적합 인원 | 키 세레모니에 참여하는 서명자, 동일 부서 구성원 |
6.2. 증인의 책임¶
| 책임 | 설명 |
|---|---|
| 절차 준수 확인 | 체크리스트의 모든 단계가 순서대로 수행되었음을 확인 |
| 보안 검증 | 환경 격리, 전자기기 반입 금지 등 보안 조건 준수 확인 |
| 봉인 확인 | 시드 백업 봉인 과정 입회 및 서명 |
| 서명 | 세레모니 기록에 절차 준수 확인 서명 |
| 사후 증언 | 감사 또는 분쟁 시 세레모니 절차 준수를 증언 |
7. 세레모니 로그 및 감사¶
7.1. 체크리스트 기반 기록¶
모든 세레모니는 사전 인쇄된 체크리스트를 사용하여 기록한다.
체크리스트 항목 구조:
□ [단계번호] [항목 설명]
수행자: ____________
확인자: ____________
시각: ____:____
비고: ____________
7.2. 기록물 보관¶
| 기록물 | 형태 | 보관 기간 | 보관 위치 |
|---|---|---|---|
| 체크리스트 원본 | 종이 (서명본) | 영구 | 본사 보안 금고 |
| 디지털 사본 | 스캔 PDF | 7년 이상 | 대시보드 감사 시스템 |
| 참석자 서명 페이지 | 종이 | 영구 | 체크리스트와 함께 보관 |
| 월렛 주소/설정 기록 | 암호화 디지털 | 영구 | 대시보드 + 오프라인 백업 |
8. 컴플라이언스 매핑¶
| 제약조건 ID | 설명 | 충족 방식 |
|---|---|---|
| AC-KM-05 | 키 세레모니 프로세스 (스크립트화, 증인, 검증) | 8단계 체크리스트, 최소 2명 증인, 시드 복원 검증, 테스트 TX |
| AC-KM-03 | 키 저장소 이중화 | Step 3에서 최소 2개 금속 시드 백업 생성 |
| AC-KM-07 | 서명자 교체 시 키 로테이션 | 서명자 교체 세레모니의 Step 5에서 자산 이전 수행 |
본 문서는 Phase 3 Core Product Design의 일부로, 재해 복구(disaster-recovery.md)의 키 복구 시나리오가 본 세레모니의 긴급 복구 모드를 트리거한다. RBAC 역할 체계(rbac-role-model.md)의 온보딩/오프보딩 절차에서 Approver 역할의 키 세레모니가 본 문서의 서명자 추가/교체 절차를 따른다.
관련 문서¶
- 에어갭 트랜잭션 서명 플로우 설계서 -- 제품 설계
- 감사 추적 체계 설계서 -- 제품 설계
- 컴플라이언스 리포팅 기능 정의서 -- 제품 설계
- 재해 복구 및 키 백업 절차 설계서 -- 제품 설계
- 멀티체인 지원 범위 및 우선순위 정의서 -- 제품 설계
- M-of-N 다중 서명 승인 워크플로우 설계서 -- 제품 설계
- 운영 시나리오 문서 -- 제품 설계
- 트랜잭션 정책 엔진 기능 정의서 -- 제품 설계
- RBAC 역할 체계 정의서 -- 제품 설계
- 화이트리스트 주소 관리 정책 설계서 -- 제품 설계