콘텐츠로 이동

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 역할의 키 세레모니가 본 문서의 서명자 추가/교체 절차를 따른다.


관련 문서