v0.2
Layer 3 콜드룸 환경 어노테이션 (Cold Room Signing Annotation)¶
1. Executive Summary¶
본 문서는 D'CENT Enterprise 서명 플로우의 Layer 3 콜드룸 환경 어노테이션이다. signing-core-flow.md(Layer 1)에서 정의한 Step 1~9의 디지털 플로우를 변경하지 않고, 콜드룸 환경에서 추가되는 물리 절차를 [CR Annotation] Before/After Step N 형식으로 삽입한다.
적용 시나리오: S1(셀프 커스터디 + Zero Cloud + 콜드룸), S5(수탁 사업자 + Zero Cloud + 콜드룸)
"Same digital flow, different physical envelope" 원칙 구현:
콜드룸 환경에서의 서명은 디지털 플로우(MuSig2/Safe 프로토콜, WYSIWYS 검증, QR + USB-C 통신)가 비콜드룸과 완전히 동일하다. 차이는 오직 물리적 봉투(physical envelope)에서만 발생한다:
| 영역 | 콜드룸 특성 |
|---|---|
| 서명 방식 | 동기 집결(Synchronous Gathering) -- M명의 서명자가 물리적으로 같은 콜드룸에 집결 |
| 디바이스 관리 | 체인-오브-커스터디(Chain of Custody) -- 금고 반출/반입, 봉인 관리 |
| 접근 통제 | 듀얼 컨트롤(CC-PROC-01) + 맨트랩 + 다중 인증 |
| 감시 | 전용 CCTV 24/7 녹화, 세션 전체 기록 |
| 환경 차폐 | Faraday cage 수준 전자기 차폐 |
업계 SLA 참조: 콜드룸 동기 집결 서명 SLA는 세션 예약부터 완료까지 12-24시간 (industry-benchmarking.md 참조). BitGo Vault의 동기 서명 세션이 유사한 물리 절차를 수행한다.
2. 사전 준비: 서명 세션 스케줄링¶
콜드룸 동기 집결 서명은 M-of-N 서명자 중 최소 M명이 물리적으로 같은 콜드룸에 모여야 하므로, 사전 스케줄링이 필수이다.
2.1. 세션 스케줄링 절차¶
| 단계 | 액션 | 역할 | 소요 시간 |
|---|---|---|---|
| 1 | 서명 요청 접수 (대시보드에서 TX가 READY_TO_SIGN 상태 확인) | Admin | -- |
| 2 | 세션 일시 결정 (서명자 M명 이상 참석 가능 시간 조율) | Admin | 2-24시간 |
| 3 | 참석자 확인 (M명 확정 + 비상 대체자 1-2명 대기) | Admin | 1-4시간 |
| 4 | 콜드룸 예약 (시설 관리자 사전 통보, CCTV 점검, 환경 확인) | Admin + 시설 관리 | 1-2시간 |
| 5 | 세션 안건 정리 (서명 대상 TX 목록, 예상 소요 시간, 특이사항) | Admin | 30분-1시간 |
| 6 | 참석자 최종 확인 + 콜드룸 입장 시간 공지 | Admin | 세션 1시간 전 |
2.2. 세션 배치 전략¶
단일 TX마다 세션을 소집하는 것은 비효율적이므로, 배치 세션을 권장한다:
- 정기 세션: 주 1-2회 고정 일정 (예: 화/금 14:00)
- 긴급 세션: 긴급 TX 발생 시 최소 2시간 사전 통보로 소집
- 배치 규모: 세션 당 5-20건의 TX를 일괄 서명 (세션 소집 비용 분산)
- 세션 시간 상한: 4시간 (cold-room-definition-standards.md의 체류 시간 상한 준수)
2.3. 비상 대체자 관리¶
| 상황 | 대응 |
|---|---|
| M명 중 1인 당일 불참 | 대체 서명자(N풀에서) 투입, 대체 사유 기록 |
| M명 미달 (대체자 포함해도 부족) | 세션 연기, TX 상태 유지 (타임아웃 전 재스케줄링) |
| 대체자 D'CENT X 미보유 | 사전에 대체자 D'CENT X 콜드룸 내 별도 보관 (봉인 관리) |
3. [CR Annotation] Before Step 1: 콜드룸 입장 절차¶
signing-core-flow.md Step 1(TX 생성)은 온라인 대시보드에서 수행되므로 콜드룸 밖에서 이루어진다. 이 어노테이션은 서명자들이 콜드룸에 입장하여 Step 3~7(에어갭 서명)을 수행하기 위한 물리 절차이다.
3.1. 듀얼 컨트롤 입장 (CC-PROC-01)¶
절대 원칙: 1인 단독 콜드룸 입장 금지. 최소 2인 이상 동시 입장이 듀얼 컨트롤의 핵심이다.
- 참석자 전원이 콜드룸 입구에 집결
- 신원 확인: 배지(또는 직원 ID카드) + 생체인증(지문/홍채) 이중 인증
- 참석자 목록 대조: 사전 등록된 세션 참석자 명단과 실제 참석자 일치 확인
- 비등록자 입장 거부 (예외 시 Admin + 보안 책임자 승인 + 사유 기록)
3.2. 전자기기 반입 통제¶
- 반입 금지 품목 수거: 스마트폰, 노트북, 스마트워치, Bluetooth 이어폰 등 네트워크 가능 기기 전량 수거
- 수거함 봉인 후 콜드룸 외부 보관
- 반입 허용 품목: 오프라인 서명 앱 실행 전용 디바이스(WiFi/BT/셀룰러 비활성화 확인), 필기구, 세션 기록지
3.3. CCTV 녹화 확인¶
- 콜드룸 내부 CCTV 정상 작동 확인 (녹화 상태 인디케이터 점등)
- CCTV 녹화 시작 시간을 세션 기록지에 기재
- CCTV 장애 시: 세션 진행 불가 -- 장애 복구 후 재개 (예외 절차 섹션 8 참조)
3.4. 입장 로그 서명¶
- 전자식 출입 로그 자동 기록 (배지 태그 시점)
- 세션 기록지에 수기 서명 (참석자 전원): 입장 시간, 성명, 역할(서명자/목격자/Admin)
- 맨트랩 통과 → 콜드룸 내부 진입 완료
4. [CR Annotation] Before Step 3: 디바이스 반출 및 체인-오브-커스터디¶
Step 3(에어갭 전달 준비)은 대시보드에서 QR을 생성하는 단계이다. 콜드룸에서는 그 전에 D'CENT X 콜드월렛을 금고에서 반출해야 한다.
4.1. 금고 개봉 (CC-PHY-01, CC-PHY-02)¶
- 이중 잠금 해제: 2명의 서로 다른 보관 담당자가 각자의 키/다이얼로 금고 개봉 (단일 인원으로 개봉 불가)
- 개봉 시간 기록
4.2. 봉인 확인 (CC-PHY-04)¶
- D'CENT X 디바이스가 보관된 봉인 백(tamper-evident bag) 확인
- 봉인 번호를 인벤토리 대장(CC-PROC-02)과 대조
- 봉인 상태 판별:
- 정상(무결): 봉인 일련번호 일치 + 물리적 파손 없음 -> 봉인 개봉 후 디바이스 반출
- 파손/불일치: 즉시 세션 중단 -> 보안 사고 프로토콜 발동 (섹션 8 참조)
- 봉인 개봉 시 2인 이상 목격, 개봉 시간 기록
4.3. 체인-오브-커스터디 기록 시작¶
- 체인-오브-커스터디 기록지 작성 시작:
- 디바이스 일련번호
- 봉인 백 일련번호 (개봉된 것)
- 반출 시간
- 반출자 2인 서명
- 반출 사유 (세션 ID 참조)
- 디바이스를 서명자에게 인계 (인계 시점 기록)
4.4. 디바이스 attestation (CC-TECH-02)¶
- 각 D'CENT X에서 attestation 수행: SE가 정품 인증서를 제시하고, 오프라인 앱이 이를 검증
- attestation 실패 시: 해당 디바이스 격리, 대체 디바이스 사용 (인벤토리 확인 후)
- attestation 결과를 세션 기록지에 기재 (Pass/Fail, 디바이스 일련번호)
5. [CR Annotation] During Steps 3-7: 동기 서명 세션 운영¶
Step 3~7은 에어갭 QR 전달, USB-C 디바이스 통신, WYSIWYS 확인, SE 서명, 서명 반환의 핵심 서명 절차이다. 콜드룸에서는 모든 서명자가 동일 공간에서 이 절차를 수행한다.
5.1. 서명 순서 관리¶
콜드룸 동기 집결에서는 순차 서명(디바이스 릴레이)이 기본이다 (signing-core-flow.md 섹션 5.3.1 참조):
- 서명 순서 결정 (사전 지정 또는 참석 순서)
- 오프라인 앱 1대에서 TX 수신 (Step 3-4)
- 서명자 1 → D'CENT X로 전달 → WYSIWYS 확인 (Step 5) → 서명 (Step 6) → 오프라인 앱에 반환
- 서명자 2 → 같은 절차 반복
- M명 완료 → 오프라인 앱에서 대시보드로 일괄 반환 (Step 7)
5.2. QR 스캔 환경 관리 (대시보드↔오프라인 앱)¶
콜드룸 내 QR 스캔 최적 환경 (에어갭 경계 통과 시):
| 항목 | 권장 사항 |
|---|---|
| 조명 | 균일한 간접 조명, 화면 반사 방지 (직접 조명 비추지 않음) |
| 디바이스-카메라 거리 | 15-25cm (대시보드 화면 -> 오프라인 앱 카메라) |
| 고정 거치대 | 권장 -- 수동 정렬보다 안정적인 QR 스캔 |
참고: 오프라인 앱 ↔ D'CENT X 콜드월렛 간 통신은 USB-C 케이블로 수행하므로 QR 스캔 불필요.
5.3. USB-C 연결 절차¶
오프라인 앱과 D'CENT X 콜드월렛 간 USB-C 케이블 연결:
- 오프라인 앱 디바이스와 D'CENT X를 USB-C 케이블로 연결
- 연결 상태 확인 (양쪽 디바이스 화면에 연결 표시)
- 서명자 순서에 따라 한 명씩 자신의 D'CENT X를 USB-C로 연결하여 서명 수행
- 혼선 방지: 한 번에 1대의 D'CENT X만 USB-C 연결 (나머지는 봉인 상태 유지)
- USB-C 케이블은 콜드룸 내 전용 비품으로 관리
5.4. WYSIWYS 독립 확인 원칙¶
절대 원칙: 서명자 각각이 자신의 D'CENT X 디스플레이에서 독립 확인. 다른 사람의 확인에 의존 금지.
- 서명자 A가 "확인했다"고 말해도, 서명자 B는 반드시 자신의 D'CENT X에서 직접 확인
- 모든 서명자가 동일한 수신 주소, 금액, 수수료를 각자의 D'CENT X에서 확인해야 함
- 서명자 간 확인 내용이 다른 경우 → 즉시 세션 중단 → 보안 사고 프로토콜 발동
5.5. 목격자(Witness) 역할¶
콜드룸 세션에서는 목격자가 각 서명자의 WYSIWYS 확인 과정을 관찰하고 기록한다:
| 목격자 역할 | 상세 |
|---|---|
| 자격 | 서명자가 아닌 참석자 (Admin 또는 별도 지정 목격자) |
| 관찰 사항 | 서명자가 D'CENT X 디스플레이를 확인하는 것, 물리 버튼을 누르는 것 |
| 기록 사항 | 각 서명자의 확인 시간, 승인/거부 결과, 이상 여부 |
| 관찰하지 않는 것 | 디스플레이에 표시된 수신 주소/금액 (목격자가 TX 내용을 알 필요 없음, 프라이버시 보호) |
| 기록 방식 | 세션 기록지에 수기 기재 + 서명 |
5.6. 서명 거부 발생 시¶
- 서명 거부 서명자의 거부 사유 구두 확인
- 거부 사유를 세션 기록지에 기록
- 세션 중단 기준:
- 1명 거부: 대체 서명자 투입 가능하면 계속, 불가하면 해당 TX만 보류
- 2명 이상 거부: 세션 중단, 전체 TX 재검토
- WYSIWYS 불일치 사유 거부: 즉시 세션 중단 + 보안 사고 프로토콜
- 중단된 세션의 TX는 대시보드에서 SIGN_EXPIRED 처리 → 원인 해결 후 새 세션 스케줄링
6. [CR Annotation] After Step 8: 디바이스 반입 및 봉인¶
Step 8(서명 집계 + 블록체인 전파)는 대시보드에서 수행된다. 콜드룸에서는 서명 완료 후 디바이스를 금고에 반입하고 새 봉인을 적용한다.
6.1. 서명 완료 확인¶
- 오프라인 앱에서 모든 부분 서명이 대시보드로 반환되었음을 확인
- 대시보드에서 서명 집계 상태 확인 (FULLY_SIGNED 또는 BROADCASTING)
6.2. D'CENT X 반입 절차¶
- 각 D'CENT X의 화면을 종료/잠금 (활성 세션 없음 확인)
- 디바이스를 새 봉인 백에 삽입 (이전 봉인은 파기)
- 새 봉인 번호 기록: 봉인 백 일련번호를 체인-오브-커스터디 기록지에 기재
- 봉인 부착 시 2인 이상 목격, 봉인 시간 기록
6.3. 금고 재보관¶
- 봉인된 D'CENT X를 금고에 반입
- 이중 잠금 시행: 2명의 보관 담당자가 각자의 키/다이얼로 금고 잠금
- 잠금 시간 기록
6.4. 체인-오브-커스터디 기록 완료¶
- 체인-오브-커스터디 기록지 완료:
- 반입 시간
- 새 봉인 번호
- 반입자 2인 서명
- 다음 예정 접근 일시 (정기 세션 또는 감사)
- 기록지에 참석자 전원 서명 → 보관
6.5. 인벤토리 업데이트 (CC-PROC-02)¶
- 디바이스 인벤토리 대장 업데이트:
- 디바이스 일련번호 + 현재 봉인 번호 매핑
- 최종 사용 일시
- 상태: Active / Reserve / Quarantined
7. [CR Annotation] After Step 9: 콜드룸 퇴장 및 사후 처리¶
Step 9(확인 대기 + 완료 처리)는 대시보드에서 수행되며 콜드룸 밖에서도 가능하다. 이 어노테이션은 서명 세션 종료 후 콜드룸 퇴장 및 감사 기록 절차이다.
7.1. 콜드룸 퇴장¶
- 콜드룸 내 잔류 물품 확인 (디바이스, 문서, 필기구 등 반출)
- CCTV 녹화 종료 시점 기록 (또는 24/7 상시 녹화인 경우 세션 종료 마킹)
- 퇴장 로그 서명: 세션 기록지에 퇴장 시간, 참석자 전원 수기 서명
- 맨트랩 통과 → 콜드룸 외부 진출
- 반입 금지 물품(스마트폰 등) 반환
7.2. 세션 보고서 작성¶
- 세션 보고서 작성 (Admin 책임):
| 보고서 항목 | 내용 |
|---|---|
| 세션 ID | 고유 식별자 (대시보드 세션 ID와 동일) |
| 일시 | 시작 시간 ~ 종료 시간 |
| 참석자 | 서명자 M명 + 목격자 + Admin (전원 기명) |
| 서명 건수 | 정상 서명 N건, 거부 N건, 보류 N건 |
| 이상 여부 | 봉인 이상, WYSIWYS 불일치, 디바이스 장애 등 기재 (없으면 "이상 없음") |
| CCTV | 녹화 시작/종료 시간, 정상 작동 확인 |
7.3. 감사 추적(Audit Trail) 교차 검증¶
- 대시보드 전자 로그와 콜드룸 물리 로그의 교차 검증:
| 전자 로그 (대시보드) | 물리 로그 (콜드룸) | 교차 검증 포인트 |
|---|---|---|
| TX 생성 시간 (Step 1) | -- | 물리 로그에 대응 항목 없음 (콜드룸 밖) |
| 서명 요청 시간 (Step 3) | 디바이스 반출 시간 | 반출이 서명 요청보다 선행해야 함 |
| 부분 서명 타임스탬프 (Step 6) | 목격자 확인 시간 | 시간 범위 일치 확인 |
| 서명 집계 시간 (Step 8) | 디바이스 반입 시간 | 반입이 집계보다 후행해야 함 |
| TX 확인 시간 (Step 9) | 세션 종료 시간 | 시간 순서 일관성 |
- 불일치 발견 시: 원인 조사 → 기록 오류 또는 보안 사고 판별
8. 예외 상황 처리¶
8.1. 서명자 미참석 (M명 미달)¶
| 미달 수준 | 대응 |
|---|---|
| M-1명 참석 (1명 부족) | 대체 서명자 투입 시도. 불가 시 세션 연기 (최대 24시간 내 재소집) |
| M-2명 이상 부족 | 세션 취소. TX 상태 유지, 새 세션 스케줄링 |
| 대체 서명자도 불가 | TX 타임아웃까지 대기. 긴급 TX면 에스컬레이션 (경영진 승인 후 타임아웃 연장) |
8.2. 디바이스 고장¶
- 고장 디바이스 격리 (봉인 후 별도 보관, "Quarantined" 상태)
- 해당 서명자의 예비 D'CENT X 사용 (사전 키 백업/복구 완료 전제)
- 예비 디바이스 없는 경우: 해당 서명자는 이번 세션에서 제외, 대체 서명자 투입
- 고장 디바이스 수리/교체 후 키 복구 절차는 별도 키 세레모니에서 수행
8.3. 봉인 파손 발견¶
봉인 파손은 보안 사고로 취급한다.
- 즉시 세션 중단 -- 모든 서명 활동 정지
- 파손된 봉인의 사진 촬영 + 봉인 번호 기록
- 해당 디바이스 격리 (사용 금지)
- 보안 사고 보고서 작성 (발견자, 시간, 상태, 의심 사항)
- CCTV 기록 검토 (마지막 정상 봉인 확인 시점부터 현재까지)
- 해당 디바이스의 attestation 수행 → 정품 확인
- 정품 확인 시에도 키 손상 가능성 감안 → 키 교체 세레모니 검토
- 세션은 나머지 정상 디바이스로만 진행 가능 (M명 충족 시)
8.4. 정전 / 비상 대피¶
- UPS(무정전 전원장치)로 즉시 전환 (환경 통제 유지)
- 진행 중인 서명 세션 일시 중단 (D'CENT X의 서명 상태는 SE에 보존)
- 비상 대피 필요 시:
- D'CENT X를 봉인 없이 금고에 반입 (시간 부족 시 최소한 잠금)
- 대피 후 복귀 시 전체 디바이스 봉인 상태 재확인
- 봉인 없이 보관된 디바이스는 attestation 재수행 필수
- 정전 복구 후 CCTV 연속성 확인 → 갭 있으면 기록
8.5. CCTV 장애¶
- CCTV 장애 발견 시 세션 시작 불가 (이미 진행 중이면 현재 TX 완료 후 중단)
- 장애 시간 기록
- 대안 조치: 목격자 2인 이상 배치 + 수기 기록 강화 (CCSS Level 2 최소 요건)
- CCTV 복구 후에만 다음 세션 진행 가능
- 장애 기간의 감사 로그에 "CCTV unavailable, witness-based recording" 주석
9. 감사 대응 어노테이션¶
9.1. CCSS Level 2/3 감사 시 콜드룸 서명 증적¶
| 증적 항목 | CCSS Level 2 | CCSS Level 3 추가 | 보관 기간 |
|---|---|---|---|
| 세션 기록지 (수기 서명 포함) | 필수 | 필수 + 외부 감사인 사본 | 5년 |
| 체인-오브-커스터디 기록지 | 필수 | 필수 | 5년 |
| 디바이스 인벤토리 대장 | 필수 | 필수 + 분기 외부 검증 | 무기한 |
| CCTV 녹화 영상 | 필수 (90일 보관) | 필수 (1년 보관) | 90일/1년 |
| 출입 로그 (전자식) | 필수 | 필수 + 이상 패턴 분석 | 3년 |
| 대시보드 감사 로그 | 필수 | 필수 + 실시간 모니터링 | 무기한 |
| 봉인 교체 이력 | 필수 | 필수 | 3년 |
| Attestation 결과 기록 | 권장 | 필수 | 3년 |
| 세션 보고서 | 권장 | 필수 | 5년 |
9.2. SOC 2 Type II 통제 항목 매핑¶
| SOC 2 통제 카테고리 | 콜드룸 어노테이션 대응 |
|---|---|
| CC6.1 논리적/물리적 접근 통제 | 섹션 3 콜드룸 입장 절차 (듀얼 컨트롤, 다중 인증) |
| CC6.2 접근 인증 | 섹션 3.1 배지 + 생체인증 |
| CC6.3 접근 권한 관리 | 섹션 2.1 세션 참석자 사전 등록 |
| CC6.4 물리적 접근 제한 | 섹션 3 맨트랩, 전자기기 반입 통제 |
| CC6.6 보안 사건 관리 | 섹션 8 예외 상황 처리 (봉인 파손, CCTV 장애) |
| CC7.1 모니터링 | 섹션 3.3 CCTV 녹화, 섹션 7.3 교차 검증 |
| CC7.2 이상 탐지 | 섹션 7.3 전자/물리 로그 교차 검증 |
| CC8.1 변경 관리 | 섹션 6 디바이스 봉인 교체, 인벤토리 업데이트 |
본 문서는 Phase 13 서명 플로우 설계의 Layer 3 콜드룸 어노테이션으로, signing-core-flow.md(Layer 1)의 Step 번호를 참조하여 S1, S5 시나리오의 물리 절차를 삽입한다. cold-room-definition-standards.md의 물리 보안 표준과 industry-benchmarking.md의 업계 사례를 기반으로 설계되었다.