v0.5
4대 핵심 사용자 플로우 재설계 (v2)¶
1. Executive Summary¶
Phase 24~27에서 확정된 2단계 서명 아키텍처(옵션 A: 오프체인 승인 + 온체인 마스터 서명 완전 분리)를 반영하여 4대 핵심 사용자 플로우를 v1에서 v2로 재설계한다.
1.1. 재설계 핵심 원칙¶
| 원칙 | 설명 | 근거 |
|---|---|---|
| Stage 1/2 분리 | 개인 기기 오프체인 승인(Stage 1)과 콜드월렛 마스터 서명(Stage 2)의 물리적 분리 | Phase 24 옵션 A 채택 |
| 키 독립성 | approval_sk(개인 기기)와 master_sk(콜드월렛)는 수학적으로 완전 독립 | Phase 24-01 키 관계 정의 |
| RBAC v2 6역할 체계 | Approver(오프체인 승인 전용), Operator(콜드월렛 서명 실행) 분리 | Phase 26 RBAC v2 |
| 5단계 TX 파이프라인 | Request-Approve-Collect-Sign-Broadcast | Phase 24 서명 흐름 |
| NFC 우선 통신 | D'CENT X NFC 우선, NFC 불가 시 QR 폴백 | Phase 27 통신 전략 |
| Pre-commitment Pipelining | MuSig2 QR 교환 62.5~70% 감소(복수 콜드월렛 시) | Phase 27 최적화 |
1.2. 4대 플로우 v1 vs v2 변경 총괄표¶
| 플로우 | v1 핵심 특징 | v2 핵심 변경 | 승인자 물리적 위치 | 정량 개선 |
|---|---|---|---|---|
| 일상출금 | 4단계, Approver M명 콜드룸 집결 | 5단계, Approver 원격 승인 | 원격 가능 | 소요시간 30분+ -> 5~10분 |
| 키세레모니 | 8단계, Approver 전원 콜드룸 | 확장 11단계, 개인 기기 키 생성 추가 | 부분 원격 (Day-1 Operator만 콜드룸) | 콜드룸 인원 8명+ -> 4명 |
| 서명자교체 | 단일 교체 절차, 키 세레모니 필요 | Approver/Operator 교체 분리 | Approver: 원격, Operator: 콜드룸 | Approver 교체 시 온체인 무영향 |
| 긴급출금 | 긴급 키세레모니 + 자산 이전 | approval_sk 유출 시 기기 교체만 | 원격 가능 | 대응시간 67~83% 단축 |
2. 일상출금 플로우 재설계¶
2.1. v1 대비 v2 구조 변경¶
| 항목 | v1 | v2 | 변경 근거 |
|---|---|---|---|
| TX 파이프라인 | Request-Approve-Sign-Broadcast (4단계) | Request-Approve-Collect-Sign-Broadcast (5단계) | Stage 1/2 분리, Collect 단계 신설 |
| Approve 방식 | 대시보드에서 M명 Approver 온라인 승인 | 개인 기기(Zone 3+) SE에서 ECDSA 승인 서명 | 오프체인 승인 전용 키 도입 |
| Sign 주체 | Approver M명이 각자 콜드월렛으로 서명 | Operator 1명이 콜드월렛 마스터 키로 단일 서명 | 역할 분리 (RBAC v2) |
| 콜드룸 인원 | M명 (3-of-5 기준 3명) | 1명 (Operator) | 운영 효율 대폭 개선 |
| 승인자 위치 | 콜드룸 필수 | 원격 가능 (어디서든 개인 기기 승인) | 오프체인 승인은 위치 무관 |
| BTC 서명 | MuSig2 2라운드 x M명 = 24회 QR | 단일 Schnorr 서명 (BIP-340) | 옵션 A 마스터 키 단일 서명 |
| EVM 서명 | Safe M-of-N 각 서명자 실행 | Safe execTransaction 단일 서명 | Operator 단일 실행 |
| 소요 시간 | 30분+ (M명 집결 + MuSig2 교환) | 5~10분 (비동기 승인 + 단일 서명) | 병목 해소 |
| 통신 채널 | QR (에어갭) | NFC 우선 / QR 폴백 | Phase 27 NFC 우선 전략 |
2.2. v2 일상출금 플로우 상세 (5단계 파이프라인)¶
Step 1: TX 생성 (Request) [Zone 1] [Initiator] [원격 가능]¶
- 컴포넌트: 온라인 대시보드
- 역할: Initiator
- 물리적 위치: 원격 가능 (대시보드 접근만 필요)
- 액션:
- Initiator가 대시보드 MFA 로그인
- 출금 월렛 선택 (BTC/EVM)
- 수신 주소 입력 (화이트리스트 자동 검증)
- 금액/자산 유형/수수료 설정
- TX 데이터 구성: BTC는 PSBT(BIP-370), EVM은 EIP-712 TypedData
- ApprovalBundle 요청 생성 (미서명 TX 해시 + 메타데이터 패키징)
- 정책 엔진 사전 검증: 화이트리스트, 금액 한도, 시간대, Tier별 정족수 결정
- 승인 요청을 N명 Approver에게 발송 (알림)
- 출력: 미서명 TX + ApprovalRequest(CBOR UR 45050)
- 통신: HTTPS (Zone 1 대시보드)
Step 2: 오프체인 승인 (Approve) [Zone 3+] [Approver x M] [원격 가능]¶
- 컴포넌트: 개인 기기 (D'CENT X / 바이오메트릭 / 카드)
- 역할: Approver (M-of-N)
- 물리적 위치: 어디서든 가능 (원격 가능) -- 콜드룸 집결 불필요
- 액션 (각 Approver별):
- 대시보드 또는 오프라인 앱에서 승인 요청 확인 (TX 상세, 정책 검증 결과)
- TX 해시를 개인 기기로 전달 (NFC APDU INS 0x50 / QR)
- 개인 기기 WYSIWYS 디스플레이에서 TX 상세 확인:
- 수신 주소 (전체 또는 축약)
- 전송 금액 및 수수료
- 체인 정보 (Bitcoin / Ethereum 등)
- EVM: delegatecall 경고, 미지 컨트랙트 경고
- 생체인증(지문) + 물리 버튼으로 최종 승인 확인
- 개인 기기 SE에서 approval_sk로 ECDSA secp256k1 승인 서명 생성
- 승인 서명(approval_sig)을 NFC/QR로 반환
- 출력: approval_sig_1, approval_sig_2, ..., approval_sig_M
- 통신: NFC APDU (INS 0x50 수신, INS 0x51 서명 반환) 우선 / QR 폴백
- 비동기 수집: 승인 서명은 stateless이므로 시간/순서에 구애받지 않음
기기 유형별 제한:
| 기기 유형 | 허용 범위 | 통신 채널 |
|---|---|---|
| D'CENT X | 전체 TX 승인 (제한 없음) | NFC / QR / USB-C |
| 바이오메트릭 | 전체 TX 승인 (WYSIWYS 축약) | NFC / USB-C |
| 카드 | 저액(일일한도 10% 미만) 및 비금전만 | NFC 전용 |
Step 3: 승인 서명 수집 (Collect) [Zone 1 -> Zone 2] [시스템] [자동]¶
- 컴포넌트: 대시보드 + 오프라인 앱
- 역할: 시스템 (자동 수집)
- 물리적 위치: 자동 (N/A)
- 액션:
- M개 이상의 승인 서명이 수집될 때까지 대기
- 각 승인 서명의 유효성 검증 (등록된 approval_pk로 ECDSA 검증)
- M-of-N 임계값 충족 확인
- ApprovalBundle(CBOR UR 45052) 생성:
- M개 approval_sig 배열
- 원본 TX 해시
- 정족수 정보 (required, total)
- 각 서명자 식별 정보
- ApprovalBundle + 원본 TX 데이터를 Operator에게 전달 준비
- 출력: ApprovalBundle (UR type 45052)
- 통신: 대시보드 내부 (HTTPS) -> 오프라인 앱 전달 (QR/USB)
Step 4: 콜드월렛 최종 서명 (Sign) [Zone 2 -> Zone 3] [Operator] [콜드룸 필수]¶
- 컴포넌트: 오프라인 서명 앱 + 콜드월렛 (D'CENT X)
- 역할: Operator
- 물리적 위치: 콜드룸 필수 (에어갭 Zone 3 접근)
- 액션:
- Operator가 콜드룸에 입실
- 오프라인 앱에서 ApprovalBundle + TX 데이터 수신 (QR 스캔 또는 USB)
- 오프라인 앱 -> 콜드월렛 전달 (NFC APDU / QR / USB-C)
- 콜드월렛 SE Approval Verifier:
- M개 approval_sig 검증 (등록된 approval_pk로)
- M-of-N 임계값 충족 확인
- 4개 HW 불변 규칙 검증 (화이트리스트, 금액 한도, delegatecall 차단 등)
- WYSIWYS 파싱: 콜드월렛 디스플레이에서 TX 상세 최종 확인
- Operator 생체인증(지문) + 물리 버튼 확인
- 마스터 키(master_sk)로 블록체인 서명:
- BTC: Schnorr 서명 (BIP-340) -- 단일 서명
- EVM: ECDSA secp256k1 -- Safe execTransaction 서명
- 서명된 TX를 오프라인 앱에 반환 (NFC/QR/USB-C)
- 출력: 서명된 TX (BTC: signed PSBT, EVM: signed execTransaction)
- 통신: NFC 우선 (D'CENT X <-> 오프라인 앱) / QR 폴백
Step 5: 블록체인 전파 (Broadcast) [Zone 1] [시스템] [자동]¶
- 컴포넌트: 온라인 대시보드
- 역할: 시스템 (자동)
- 물리적 위치: 자동 (N/A)
- 액션:
- 오프라인 앱에서 서명된 TX를 대시보드에 전달 (QR 스캔 또는 USB)
- 서명 유효성 최종 검증
- 블록체인 네트워크에 TX 전파
- 확인 대기: BTC 6 확인, EVM 12 확인
- 상태 업데이트: PENDING -> CONFIRMED
- 감사 로그 기록: TX 해시, 참여 Approver, Operator, 타임스탬프, 정족수 정보
- Initiator 및 관계자에게 완료 알림
- 출력: TX 확인 + 감사 로그
- 통신: HTTPS -> 블록체인 노드 (JSON-RPC / REST)
2.3. BTC vs EVM 분기 상세¶
| 구분 | BTC (Taproot) | EVM (Safe Multisig) |
|---|---|---|
| TX 생성 | PSBT (BIP-370 v2) | EIP-712 TypedData |
| 승인 서명 대상 | PSBT sighash | safeTxHash |
| 승인 서명 알고리즘 | ECDSA secp256k1 | ECDSA secp256k1 |
| 마스터 서명 알고리즘 | Schnorr (BIP-340) | ECDSA secp256k1 |
| 온체인 표현 | 단일 Schnorr 서명 (Taproot keypath spend) | execTransaction 단일 실행 |
| 복수 콜드월렛 시 | MuSig2 (BIP-327) -- Pre-commitment Pipelining 적용 | Safe M-of-N owner |
| UR 타입 | 45050 (ApprovalRequest), 45052 (ApprovalBundle) | 동일 |
2.4. 복수 콜드월렛 시 MuSig2 최적화 (콜드룸 폴백)¶
단일 콜드월렛이 아닌 복수 콜드월렛 운용 시(콜드룸 폴백 시나리오), Step 4에서 MuSig2 프로토콜이 적용된다. 이때 Phase 27의 Pre-commitment Pipelining이 적용된다:
| 정족수 | v1 QR 교환 | v2 최적화 후 QR 교환 | 감소율 |
|---|---|---|---|
| 2-of-3 | 8회 | 3회 | 62.5% |
| 3-of-5 | 12회 | 4회 | 66.7% |
| 5-of-7 | 20회 | 6회 | 70.0% |
- NFC 우선: D'CENT X 간 NFC APDU 교환 시 QR 대비 80%+ 시간 단축 (7초/회 -> 1.5초/회)
- QR 폴백: NFC 불가 시 Animated QR 배치 전송으로 라운드 데이터 통합
3. 키세레모니 플로우 재설계¶
3.1. v1 대비 v2 구조 변경¶
| 항목 | v1 | v2 | 변경 근거 |
|---|---|---|---|
| 총 단계 | 8단계 | 11단계 (개인 기기 관련 3단계 추가) | 개인 기기 키 생성/등록/검증 추가 |
| 세레모니 대상 키 | master_sk (콜드월렛) | master_sk + approval_sk (개인 기기) | 2단계 서명 아키텍처 |
| 콜드룸 참석 인원 | 8명+ (Approver 전원 + Admin + 증인) | 4명 (Operator 1~2명 + Admin + 증인) | Approver 콜드룸 불필요 |
| Approver 참여 방식 | 콜드룸 전원 집결 | 원격 참여 가능 (개인 기기 키 생성은 각자 위치에서) | 키 독립성 |
| 기기 배포 | 콜드월렛 배포 | 콜드월렛(Operator) + 개인 기기(Approver) 이원 배포 | 역할별 기기 분리 |
| 기기 권장 | N/A | D'CENT X 1순위, 바이오메트릭 2순위, 카드 제한적 | Phase 25 적합성 평가 |
| Day-1 소요 시간 | 4~8시간 | 6~10시간 (개인 기기 절차 추가) | 절차 확장 |
| R3covery 카드 | 별도 발급 절차 | Day-1 통합 발급 | Phase 16-17 연계 |
3.2. v2 키세레모니 11단계 절차¶
Phase A: 사전 준비 (D-7 ~ D-1)¶
Step 0: 사전 준비 - 변경점: 준비 장비에 개인 기기(Approver 수 + 백업) 추가 - 장비 목록 추가: - 개인 기기: D'CENT X(권장) 또는 바이오메트릭 (Approver N명 + 예비 2대) - 저액/비금전 전용 카드 타입 (선택, 보조용) - 참석자 변경: - v1: Admin + Approver 전원 + 증인 (8명+) - v2 콜드룸: Operator 1~2명 + Admin 1명 + 세레모니 리더 1명 + 증인 2명 = 4~6명 - v2 원격: Approver N명 (개인 기기 키 생성은 원격 가능)
Phase B: 콜드룸 세레모니 (콜드월렛 마스터 키)¶
Step 1: 환경 검증 [콜드룸] [세레모니 리더] [콜드룸 필수] - v1 동일: 네트워크 차단, 전자기기 반입 금지, CCTV 확인 - 참석: Operator, Admin, 증인 (Approver 불필요)
Step 2: 콜드월렛 초기화 [Zone 3] [Operator] [콜드룸 필수] - 콜드월렛 개봉 및 PIN 설정 - SE 인증 등급 확인 (EAL6+ for D'CENT X) - BLE 비활성화 강제 확인
Step 3: 마스터 키 생성 [Zone 3] [Operator] [콜드룸 필수] - master_sk 생성 (SE TRNG, 독립 엔트로피) - BTC: BIP-340 Schnorr 키 쌍 - EVM: ECDSA secp256k1 키 쌍 - master_pk 추출 및 기록
Step 4: 마스터 키 백업 [Zone 3] [Operator + Admin] [콜드룸 필수] - 금속 시드 플레이트 각인 (Shamir 분할 시 복수 플레이트) - R3covery 카드 발급 (Phase 16-17 통합) - 변조 방지 봉인 + 지리적 분산 보관
Step 5: 마스터 키 검증 [Zone 3] [검증자] [콜드룸 필수] - 백업 복원 검증 (별도 기기에서 시드 복원 -> 주소 일치 확인) - 검증 완료 후 복원 기기 초기화
Phase C: 개인 기기 키 세레모니 (approval_sk) -- 원격 가능¶
Step 6: 개인 기기 배포 및 초기화 [Zone 3+] [Admin + Approver] [원격 가능] - 물리적 위치: Approver 각자 위치에서 수행 가능 (원격 가능) - 액션: 1. 개인 기기(D'CENT X 1순위 / 바이오메트릭 2순위) 개봉 2. PIN 설정 및 지문 등록 3. BLE 비활성화 강제 확인 4. SE attestation chain 검증 (기기 진위 확인) - 카드 타입 허용 조건: 저액/비금전 전용으로만 배포, 고액 TX 차단 정책 사전 설정
Step 7: 개인 기기 키(approval_sk) 생성 [Zone 3+] [Approver] [원격 가능] - 물리적 위치: 어디서든 가능 (원격) - 액션: 1. KEY_GENERATE (INS 0x70) 명령 실행 2. 듀얼 인증: Approver 지문 + Admin 승인 토큰 3. SE TRNG 엔트로피 생성 (256비트 하드웨어 난수) 4. secp256k1 키 쌍 유도: approval_sk = TRNG_output mod n 5. approval_pk (compressed, 33바이트) 추출 6. 키 ID 생성: {device_id}{key_index} 7. key_status: ACTIVE (0x01) - 키 독립성 확인: approval_sk는 master_sk와 완전 독립된 엔트로피에서 생성. 별도 세레모니 가능. - 통신: NFC APDU (INS 0x70 키 생성, INS 0x71 공개키 추출)
Step 8: 공개키 대시보드 등록 [Zone 1 + Zone 3] [Admin] [부분 원격] - 액션: 1. 각 Approver의 approval_pk를 대시보드에 등록 2. SE attestation 인증서와 함께 등록 (기기 진위 검증) 3. 정족수 설정 (M-of-N) 4. 콜드월렛 SE 공개키 레지스트리에 N명의 approval_pk 등록 - 이 단계는 콜드룸에서 Operator가 수행 (콜드월렛 접근 필요) 5. 기기 유형별 권한 정책 설정 (카드: 저액/비금전만)
Phase D: 통합 검증 및 완료¶
Step 9: End-to-End 테스트 [전체 Zone] [전원] [부분 원격] - 테스트 TX 생성 -> Approver 원격 승인 (최소 M명) -> ApprovalBundle 수집 -> Operator 콜드월렛 서명 -> 전파 - 테스트넷에서 실행하여 전체 5단계 파이프라인 검증 - 각 기기 유형별 승인 테스트 (D'CENT X, 바이오메트릭, 카드)
Step 10: 세레모니 기록 [Zone 1] [기록자] [원격 가능] - 체크리스트 서명 (참석자 전원) - 감사 로그: 키 생성 시간, 기기 시리얼, approval_pk 목록, master_pk - 증인 서명 - 세레모니 기록 봉인 보관
Step 11: 기기 보관 및 운영 전환 [전체] [Admin] [부분 원격] - 콜드월렛: 콜드룸 금고 보관 (Operator 접근 권한) - 개인 기기: 각 Approver 개인 보관 (일상 소지) - 백업 기기: 지리적 분산 보관 - R3covery 카드: 별도 보관 (Phase 16-17 절차) - 시스템 운영 모드 전환: 세레모니 모드 -> 운영 모드
3.3. v1 vs v2 비교표¶
| 항목 | v1 | v2 | 개선 |
|---|---|---|---|
| 총 단계 | 8단계 | 11단계 | 개인 기기 절차 통합 |
| 콜드룸 참석 인원 | 8명+ (Admin + Approver 전원 + 증인) | 4~6명 (Admin + Operator + 증인) | 50% 감소 |
| Approver 콜드룸 필요 | 필수 (전원 집결) | 불필요 (원격 키 생성) | 물리적 제약 해소 |
| 소요 시간 | 4~8시간 | 6~10시간 (개인 기기 절차 추가) | 절차 확장 but 콜드룸 시간 단축 |
| 대상 키 | master_sk 단일 | master_sk + approval_sk 이원 | 2단계 아키텍처 반영 |
| R3covery 카드 | 별도 절차 | Day-1 통합 | 운영 효율 |
| 보안 수준 | CCSS Level 2 | CCSS Level 2+ (듀얼 컨트롤 강화) | 승인/서명 분리 |
| 기기 배포 | 콜드월렛만 | 콜드월렛 + 개인 기기 이원 배포 | 역할별 기기 분리 |
4. 서명자교체 플로우 재설계¶
4.1. v1 대비 v2 핵심 변경: Approver 교체와 Operator 교체 분리¶
v1에서는 "서명자 교체"가 단일 절차였으나, v2에서는 키 독립성에 의해 Approver 교체(S-08a)와 Operator 교체(S-08b)로 명확히 분리된다.
| 항목 | v1 서명자 교체 | v2 Approver 교체 (S-08a) | v2 Operator 교체 (S-08b) |
|---|---|---|---|
| 대상 키 | master_sk (온체인) | approval_sk (오프체인) | master_sk (온체인) |
| 온체인 영향 | 있음 (BTC 주소 변경, Safe owner 변경) | 없음 (키 독립성) | 있음 (기존과 동일) |
| 자산 이전 필요 | 필요 (BTC: 신규 주소로 이전) | 불필요 | 필요 |
| 키 세레모니 | 전체 키 세레모니 필요 | 불필요 (기기 교체 + 공개키 재등록) | 키 세레모니 필요 |
| 콜드룸 필요 | 필수 (교체 대상 + 신규 서명자) | 불필요 (원격 가능) | 필수 |
| 소요 시간 | 3~5시간 | 30분~1시간 | 3~5시간 (기존 유지) |
| 정기 교체 주기 | N/A | 12개월 (Phase 25) | 필요 시 |
| 전이 기간 | N/A | 72시간 (Phase 25) | 즉시 전환 |
4.2. S-08a: Approver 교체 플로우 (v2) [원격 가능]¶
전제 조건: 3-of-5 설정. Approver A -> Approver F로 교체. 정기(12개월) 또는 사유 발생. 관련 역할: Super Admin (승인), Admin (실행), Approver A (퇴임), Approver F (신규) 물리적 위치: 전 과정 원격 가능 (콜드월렛 SE 레지스트리 업데이트 시에만 Operator 콜드룸)
| Step | 컴포넌트 | 역할 | Zone | 액션 | 물리적 위치 |
|---|---|---|---|---|---|
| 1 | 대시보드 | Admin | Zone 1 | 교체 요청 생성: Approver A 해제 + Approver F 등록. Super Admin 쿼럼 승인 요청 | 원격 가능 |
| 2 | 대시보드 | Super Admin (2명) | Zone 1 | 교체 요청 쿼럼 승인 | 원격 가능 |
| 3 | 대시보드 | Admin | Zone 1 | Approver A 상태 -> ROTATING (72시간 전이 기간 시작) | 원격 가능 |
| 4 | 개인 기기 | Approver F | Zone 3+ | 신규 개인 기기에서 approval_sk 생성 (KEY_GENERATE INS 0x70) | 원격 가능 |
| 5 | 대시보드 | Admin | Zone 1 | Approver F의 approval_pk 대시보드 등록. SE attestation 검증 | 원격 가능 |
| 6 | 콜드월렛 | Operator | Zone 3 | 콜드월렛 SE 공개키 레지스트리 업데이트: A의 pk 삭제 + F의 pk 등록 | 콜드룸 필수 |
| 7 | 전체 | Approver F | Zone 3+ | 테스트 승인 수행 -> 콜드월렛 검증 통과 확인 | 원격 가능 |
| 8 | 대시보드 | Admin | Zone 1 | 72시간 전이 기간 완료 후: Approver A 상태 -> REVOKED | 원격 가능 |
| 9 | 개인 기기 | Approver A | Zone 3+ | 기존 개인 기기 SE 와이프 (KEY_WIPE INS 0x75) | 원격 가능 |
키 라이프사이클 상태 전이:
Approver A: ACTIVE -> ROTATING -> REVOKED
Approver F: (없음) -> ACTIVE
전이 기간: 72시간 (A와 F 모두 승인 가능)
핵심 이점: - 온체인 무영향: BTC Taproot 주소 변경 없음, EVM Safe owner 변경 없음 - 자산 이전 불필요: 블록체인 레벨에서 변경 없음 (키 독립성) - 콜드룸 최소화: Operator의 레지스트리 업데이트 시에만 잠시 필요
4.3. S-08b: Operator 교체 플로우 (v2) [콜드룸 필수]¶
전제 조건: Operator A -> Operator B로 교체. 콜드월렛 물리 인수인계 필요. 관련 역할: Super Admin, Admin, Operator A (퇴임), Operator B (신규) 물리적 위치: 콜드룸 필수 (콜드월렛 물리 접근 인수인계)
| Step | 컴포넌트 | 역할 | Zone | 액션 | 물리적 위치 |
|---|---|---|---|---|---|
| 1 | 대시보드 | Admin | Zone 1 | Operator 교체 요청 + Super Admin 승인 | 원격 가능 |
| 2 | 대시보드 | Super Admin (2명) | Zone 1 | 교체 승인 | 원격 가능 |
| 3 | 콜드룸 | Operator A + B | Zone 3 | 콜드월렛 물리 인수인계: PIN 전달, 접근 권한 이전 | 콜드룸 필수 |
| 4 | 콜드월렛 | Operator B | Zone 3 | 콜드월렛 PIN 변경 + 지문 재등록 | 콜드룸 필수 |
| 5 | 전체 | Operator B | 전체 | 테스트 서명 수행 (기존 Approver 승인 -> Operator B 서명) | 콜드룸 필수 |
| 6 | 대시보드 | Admin | Zone 1 | Operator 권한 전환 완료. Operator A 접근 권한 해제 | 원격 가능 |
핵심 사항: - master_sk가 포함되므로 기존 키 세레모니 절차에 준하는 보안 수준 유지 - Operator 교체 시 Approver는 관여 불필요 (역할 분리) - 온체인 영향: 없음 (master_sk 자체는 변경되지 않음, 물리 접근 권한만 이전)
4.4. 5인 미만 소규모 조직: Approver+Operator 겸임 시 교체 절차¶
Phase 26에서 정의된 겸임 조건(5인 미만 조직, 동일 TX 금지)에서의 교체 절차:
| 상황 | 교체 범위 | 절차 |
|---|---|---|
| 겸임자의 Approver 역할만 교체 | approval_sk만 교체 | S-08a 절차 적용 (원격 가능) |
| 겸임자의 Operator 역할만 교체 | 콜드월렛 접근 권한만 이전 | S-08b 절차 적용 (콜드룸 필수) |
| 겸임자 전체 교체 | approval_sk + 콜드월렛 접근 모두 | S-08a + S-08b 순차 수행 |
5. 긴급출금 플로우 재설계¶
5.1. v1 대비 v2 핵심 변경: 유출 유형별 대응 분리¶
v2에서는 키 독립성을 활용하여 유출 유형에 따른 차등 대응이 가능해진다.
| 항목 | v1 | v2 (approval_sk 유출 S-07a) | v2 (master_sk 유출 S-07b) |
|---|---|---|---|
| 온체인 자산 영향 | 있음 | 없음 (키 독립성) | 있음 |
| 긴급 키 세레모니 | 필요 | 불필요 | 필요 |
| 자산 긴급 이전 | 필요 | 불필요 | 필요 |
| 대응 시간 | 3~5시간 | 30분~1시간 | 3~5시간 |
| 콜드룸 필요 | 필수 | 최소 (레지스트리 업데이트만) | 필수 |
| 승인자 물리적 위치 | 콜드룸 긴급 소집 | 원격 가능 | 원격 승인 + 콜드룸 키 세레모니 |
5.2. S-07a: approval_sk 유출 대응 플로우 (v2) [원격 가능]¶
전제 조건: Approver 1명의 개인 기기 분실/도난 또는 approval_sk 유출 의심. 핵심: 온체인 자산 무영향 (키 독립성). 긴급 키 세레모니 불필요. 관련 역할: Admin, 해당 Approver, Operator (레지스트리 업데이트 시) 물리적 위치: 주요 절차 원격 가능
| Step | 컴포넌트 | 역할 | Zone | 액션 | 물리적 위치 |
|---|---|---|---|---|---|
| 1 | - | 탐지자 | - | 개인 기기 분실/도난 또는 키 노출 의심 보고 | 원격 가능 |
| 2 | 대시보드 | Admin | Zone 1 | 해당 Approver의 approval_pk 즉시 비활성화 (시스템에서 승인 권한 정지) | 원격 가능 |
| 3 | - | Admin | - | 기기 회수 시도 또는 원격 와이프 (INS 0x75 KEY_WIPE) | 원격 가능 |
| 4 | 개인 기기 | Approver | Zone 3+ | 새 개인 기기에서 approval_sk 재생성 (KEY_GENERATE INS 0x70) | 원격 가능 |
| 5 | 대시보드 | Admin | Zone 1 | 새 approval_pk 대시보드 등록 + SE attestation 검증 | 원격 가능 |
| 6 | 콜드월렛 | Operator | Zone 3 | 콜드월렛 SE 공개키 레지스트리: 기존 pk 삭제 + 새 pk 등록 | 콜드룸 필수 |
| 7 | 개인 기기 | Approver | Zone 3+ | 테스트 승인 수행 -> 정상 확인 | 원격 가능 |
정량 개선: - v1 대응시간: 3~5시간 (전체 키 세레모니 + 자산 이전) - v2 대응시간: 30분~1시간 (기기 교체 + 공개키 재등록) - 개선율: 67~83% 시간 단축 - 자산 이전: 불필요 (BTC Taproot 주소 변경 없음, EVM Safe owner 변경 없음)
5.3. S-07b: master_sk 유출 대응 플로우 (v2) [콜드룸 필수]¶
전제 조건: 콜드월렛 마스터 키(master_sk) 유출 의심. 전체 자산 보호 필요. 핵심: 온체인 자산 직접 위험. 긴급 키 세레모니 + 자산 이전 필요. 관련 역할: Super Admin, Admin, Approver 전원 (원격 승인), Operator 물리적 위치: Approver 원격 가능, Operator/Admin 콜드룸 필수
| Step | 컴포넌트 | 역할 | Zone | 액션 | 물리적 위치 |
|---|---|---|---|---|---|
| 1 | - | 탐지자 | - | master_sk 유출 의심 보고 (콜드룸 물리 보안 위반 등) | 원격 가능 |
| 2 | 대시보드 | Super Admin | Zone 1 | 긴급 프로토콜 발동: 기존 콜드월렛 서명 즉시 중단 | 원격 가능 |
| 3 | 대시보드 | Initiator | Zone 1 | 긴급 TX 생성: 전체 자산 -> 임시 안전 월렛 + ApprovalBundle 요청 | 원격 가능 |
| 4 | 개인 기기 | Approver 전원 | Zone 3+ | 긴급 승인 (WYSIWYS "EMERGENCY" 표시) -> 승인 서명 병렬 수집 | 원격 가능 |
| 5 | 대시보드 + 오프라인앱 | 시스템 | Zone 1->2 | ApprovalBundle 생성 | 자동 |
| 6 | 오프라인앱->콜드월렛 | Operator | Zone 2->3 | ApprovalBundle + TX -> 콜드월렛 서명 -> 전파 (자산 긴급 이전) | 콜드룸 필수 |
| 7 | 콜드룸 | 전원 | Zone 3 | 긴급 키 세레모니: 새 콜드월렛에서 master_sk 재생성 | 콜드룸 필수 |
| 8 | 전체 | 전원 | 전체 | BTC: 새 Taproot 주소로 이전. EVM: Safe owner 재구성 | 콜드룸+원격 |
| 9 | 대시보드 | Admin | Zone 1 | 사후 감사: 보안 침해 경위 조사, 24시간 내 보고 | 원격 가능 |
v1 대비 개선점: - Approver 긴급 소집: v1(콜드룸 집결 필수) -> v2(원격 즉시 승인) - 긴급 자산 이전 속도: v1(M명 집결 후 MuSig2 서명) -> v2(원격 승인 + Operator 단일 서명) - 전체 대응 시간: v1(5~8시간) -> v2(2~4시간)
5.4. 긴급 정족수 완화 정책¶
| 긴급 유형 | 정상 정족수 | 긴급 정족수 | 완화 조건 | 시간 제한 |
|---|---|---|---|---|
| approval_sk 유출 (S-07a) | M-of-N | 변동 없음 | 완화 불필요 (기기 교체로 충분) | N/A |
| master_sk 유출 (S-07b) | M-of-N | (M-1)-of-N (최소 2) | Super Admin 2명 긴급 발동 승인 | 2시간 |
| 긴급 출금 (S-05) | M-of-N | (M-1)-of-N (최소 2) | Admin 긴급 발동 + 보안 경고 | 4시간 |
Emergency Operator 커스텀 역할: - 정상 Operator 비가용 시 활성화 - Super Admin 2명 승인 필요 - 4시간 제한 (타임아웃 후 자동 비활성화) - 감사 로그 강화: 모든 액션 실시간 기록
6. 공통 요소¶
6.1. 통신 채널 매핑¶
| 플로우 | 단계 | 통신 채널 | 우선순위 | 근거 |
|---|---|---|---|---|
| 일상출금 | Approve (개인기기 -> 앱) | NFC APDU / QR | NFC 우선 | Phase 27 NFC 우선 전략 |
| 일상출금 | Sign (오프라인앱 -> 콜드월렛) | NFC / QR / USB-C | NFC 우선 | 에어갭 통신 |
| 키세레모니 | 키 생성 (개인기기) | NFC APDU (INS 0x70) | NFC | SE 명령 |
| 키세레모니 | 공개키 추출 (개인기기) | NFC APDU (INS 0x71) | NFC | SE 명령 |
| 서명자교체 | 레지스트리 업데이트 (콜드월렛) | NFC / USB-C | NFC 우선 | 콜드룸 에어갭 |
| 긴급출금 | 긴급 승인 (개인기기) | NFC / QR | NFC 우선 | 긴급 시 최고속 채널 |
6.2. RBAC v2 역할별 플로우 참여 매핑¶
| 역할 | 일상출금 | 키세레모니 | Approver 교체 | Operator 교체 | 긴급출금 |
|---|---|---|---|---|---|
| Super Admin | - | 감독 | 승인 | 승인 | 긴급 발동 |
| Admin | - | 세레모니 리더 | 실행 | 실행 | 긴급 실행 |
| Initiator | TX 생성 | - | - | - | 긴급 TX 생성 |
| Approver | 개인기기 승인 | 키 생성 (원격) | 퇴임/신규 | - | 긴급 승인 |
| Operator | 콜드월렛 서명 | 마스터 키 관리 | 레지스트리 업데이트 | 인수인계 | 콜드월렛 서명 |
| Viewer | 조회 | - | - | - | 조회 |
6.3. 물리적 위치 요건 총괄표¶
| 플로우 | 단계 | 역할 | 물리적 위치 요건 |
|---|---|---|---|
| 일상출금 | Request | Initiator | 원격 가능 |
| Approve | Approver | 원격 가능 | |
| Collect | 시스템 | 자동 | |
| Sign | Operator | 콜드룸 필수 | |
| Broadcast | 시스템 | 자동 | |
| 키세레모니 | 환경검증~마스터키검증 | Operator/Admin | 콜드룸 필수 |
| 개인기기 배포/키생성 | Approver | 원격 가능 | |
| 공개키 레지스트리 등록 | Operator | 콜드룸 필수 | |
| E2E 테스트 | 전원 | 부분 원격 | |
| Approver 교체 | 키 생성/등록 | Approver/Admin | 원격 가능 |
| 레지스트리 업데이트 | Operator | 콜드룸 필수 | |
| 기존 기기 와이프 | Approver | 원격 가능 | |
| Operator 교체 | 콜드월렛 인수인계 | Operator A/B | 콜드룸 필수 |
| 긴급출금 (S-07a) | 기기 교체/재등록 | Approver/Admin | 원격 가능 |
| 레지스트리 업데이트 | Operator | 콜드룸 필수 | |
| 긴급출금 (S-07b) | 긴급 승인 | Approver | 원격 가능 |
| 긴급 서명/키 세레모니 | Operator | 콜드룸 필수 |
7. 4대 플로우 종합 비교¶
7.1. v1 vs v2 정량 비교표¶
| 지표 | 일상출금 v1 | 일상출금 v2 | 키세레모니 v1 | 키세레모니 v2 | Approver교체 v1 | Approver교체 v2 | 긴급(approval_sk) v1 | 긴급(approval_sk) v2 |
|---|---|---|---|---|---|---|---|---|
| 소요 시간 | 30분+ | 5~10분 | 4~8시간 | 6~10시간 | 3~5시간 | 30분~1시간 | 3~5시간 | 30분~1시간 |
| 콜드룸 인원 | M명 | 1명 | 8명+ | 4~6명 | 3명+ | 1명 | 전원 | 1명 |
| Approver 콜드룸 | 필수 | 불필요 | 필수 | 불필요 | 필수 | 불필요 | 필수 | 불필요 |
| 온체인 영향 | 서명 | 서명 | 주소 생성 | 주소 생성 | 있음 | 없음 | 있음 | 없음 |
| 보안 수준 | CCSS L2 | CCSS L2+ | CCSS L3 | CCSS L3 | CCSS L2 | CCSS L2+ | CCSS L2 | CCSS L2+ |
7.2. Zone 매핑 총괄¶
| 플로우 | Zone 1 (Online) | Zone 2 (Offline App) | Zone 3 (Cold Wallet SE) | Zone 3+ (Personal SE) |
|---|---|---|---|---|
| 일상출금 | Request, Collect, Broadcast | TX 전달 중개 | Sign (master_sk) | Approve (approval_sk) |
| 키세레모니 | 공개키 등록, 감사 기록 | - | 마스터 키 생성/백업 | 개인 키 생성 |
| 서명자교체 | 교체 요청/승인 | - | 레지스트리 업데이트 | 키 생성/와이프 |
| 긴급출금 | 긴급 발동, 감사 | TX 전달 | 긴급 서명 | 긴급 승인 |
설계 기준: Phase 24 option-evaluation.md 옵션 A, Phase 25 device-evaluation.md 기기 적합성, Phase 26 rbac-v2-role-definitions.md RBAC v2, Phase 26 operational-scenarios-v2.md 시나리오 v2, Phase 27 qr-optimization.md Pre-commitment Pipelining 참조: Phase 25 key-lifecycle.md 키 라이프사이클, Phase 25 firmware-requirements.md APDU 명령 세트, Phase 27 frost-analysis.md FROST-ready 추상화
관련 문서¶
- 기존 13개 산출물 v0.5 영향도 분석 및 수정 범위 정의 -- 제품 설계