콘텐츠로 이동

v0.5

Zone 3+ 확장 보안 아키텍처 설계서

1. 확장 배경 및 설계 원칙

1.1. 확장 배경

option-evaluation.md에서 옵션 A(오프체인 승인 + 온체인 마스터 서명 완전 분리)가 채택됨에 따라, 개인 서명 기기(Personal Signing Device)를 기존 3-Zone 보안 아키텍처에 통합하는 Zone 확장이 필요하다. 개인 기기는 오프체인 승인 전용 키(approval_sk)를 SE 내부에서 생성/보관/서명하며, 콜드월렛 SE와는 수학적으로 독립된 키 체계를 운용한다.

1.2. Zone 3+로 설계하는 이유 (Zone 4가 아닌 이유)

결론: Zone 4가 아닌 "Zone 3+" (Personal SE Sub-Zone)으로 설계한다.

고려 사항 Zone 4 Zone 3+
Trust Level 인상 Zone 번호가 높아지면 Trust가 낮아지는 인상 Zone 3의 ABSOLUTE Trust를 공유함을 명시
SE 기반 개인 기기도 EAL5+ SE 기반 Zone 3과 동일한 하드웨어 보안 수준
물리적 격리 콜드룸 내 격리 기대 개인 소지 기기임을 Sub-Zone으로 구분
네이밍 명확성 "Zone 4 = 덜 안전한 영역" 오해 "Zone 3+ = Zone 3의 확장, 동일 Trust"

1.3. 물리적 격리 수준 차이

속성 Zone 3 (콜드월렛 SE) Zone 3+ (개인 기기 SE)
SE 등급 CC EAL5+ CC EAL5+ (동일)
Trust Level ABSOLUTE ABSOLUTE (동일)
물리적 위치 콜드룸 내 격리 보관 승인자 개인 소지
접근 통제 콜드룸 물리 보안 (이중 잠금, CCTV, 2인 이상 입실) 개인 관리 (분실/도난 위험 상존)
네트워크 없음 (에어갭 원천 보장) 없음 (BLE/WiFi 펌웨어 비활성화 강제)
키 역할 온체인 블록체인 서명 오프체인 승인 전용

1.4. 에어갭 원칙 유지

Zone 3+ 기기는 다음 에어갭 규칙을 준수한다.

  • BLE 비활성화 강제: 엔터프라이즈 펌웨어에서 BLE 스택을 완전 비활성화. 일반 소비자 펌웨어와 분리된 엔터프라이즈 전용 빌드 (Pitfall 2 방어).
  • WiFi 없음: D'CENT 바이오메트릭/카드 타입에 WiFi 하드웨어 미탑재.
  • QR/NFC 전용 통신: QR (UR v2 Animated QR) 또는 NFC (ISO 7816-4 APDU)만 허용.
  • 셀룰러 없음: 모바일 기기가 아닌 전용 하드웨어 기기 사용.

2. 확장된 4-Zone 아키텍처 구조도

2.1. 전체 구조

┌──────────────────────────────────────────────────────────────────────┐
│                                                                       │
│  ┌────────────────────────────────────────────────────────┐          │
│  │              Zone 1: ONLINE ZONE                        │          │
│  │              Trust Level: LOW                           │          │
│  │                                                         │          │
│  │  ┌───────────┐  ┌──────────┐  ┌──────────────────────┐│          │
│  │  │ Web UI    │  │ API      │  │ Blockchain Nodes     ││          │
│  │  │ Dashboard │  │ Gateway  │  │ (BTC/ETH/EVM)        ││          │
│  │  └───────────┘  └──────────┘  └──────────────────────┘│          │
│  │  ┌──────────┐   ┌──────────────────┐                   │          │
│  │  │ Policy   │   │ Approval Tracker │ [확장]            │          │
│  │  │ Engine   │   │ (승인 상태 추적)  │                   │          │
│  │  └──────────┘   └──────────────────┘                   │          │
│  │                                                         │          │
│  └──────────────────────┬─────────────────────────────────┘          │
│                          │                                            │
│  ════════════════════════╪═══════════ TB-3: Air-Gap ══════════════   │
│                          │ QR (UR Animated) / NFC                    │
│                          │                                            │
│  ┌───────────────────────▼──────────────────────────────────┐        │
│  │              Zone 2: OFFLINE APP ZONE                      │        │
│  │              Trust Level: MEDIUM                           │        │
│  │                                                            │        │
│  │  ┌──────────┐  ┌──────────┐  ┌────────────────────────┐  │        │
│  │  │ QR/NFC   │  │ TX       │  │ Approval Signature     │  │        │
│  │  │ Bridge   │  │ Viewer   │  │ Collector [신규]       │  │        │
│  │  └──────────┘  └──────────┘  └────────────────────────┘  │        │
│  │  ┌──────────┐  ┌──────────┐  ┌────────────────────────┐  │        │
│  │  │ Policy   │  │ Session  │  │ Approval Validator     │  │        │
│  │  │ Cache    │  │ Manager  │  │ [신규]                 │  │        │
│  │  └──────────┘  └──────────┘  └────────────────────────┘  │        │
│  │                                                            │        │
│  └──────┬─────────────────────────────────┬───────────────────┘        │
│         │                                 │                            │
│  ═══════╪══════ TB-4 ═════════   ═════════╪══════ TB-7 [신규] ══════  │
│         │ QR/NFC (콜드월렛)               │ QR/NFC (개인 기기)        │
│         │                                 │                            │
│  ┌──────▼──────────────┐           ┌──────▼──────────────────┐        │
│  │ Zone 3: HW SE ZONE  │           │ Zone 3+: PERSONAL SE    │        │
│  │ Trust: ABSOLUTE      │           │ Trust: ABSOLUTE         │        │
│  │                      │           │                         │        │
│  │ ┌────────────────┐  │           │ ┌───────────────────┐   │        │
│  │ │ Master Signing │  │           │ │ Approval Signing  │   │        │
│  │ │ Applet         │  │           │ │ Applet [신규]     │   │        │
│  │ └────────────────┘  │           │ └───────────────────┘   │        │
│  │ ┌────────────────┐  │           │ ┌───────────────────┐   │        │
│  │ │ WYSIWYS        │  │           │ │ Approval WYSIWYS  │   │        │
│  │ │ Applet         │  │           │ │ [간소화]          │   │        │
│  │ └────────────────┘  │           │ └───────────────────┘   │        │
│  │ ┌────────────────┐  │           │ ┌───────────────────┐   │        │
│  │ │ Policy Applet  │  │           │ │ Biometric/PIN     │   │        │
│  │ │ (4 Rules)      │  │           │ │ Auth              │   │        │
│  │ └────────────────┘  │           │ └───────────────────┘   │        │
│  │ ┌────────────────┐  │    TB-6   │ ┌───────────────────┐   │        │
│  │ │ Approval       │  │  [신규]   │ │ Approval Key      │   │        │
│  │ │ Verifier [신규]│<═╪══════════╪═>│ Storage           │   │        │
│  │ └────────────────┘  │  논리적   │ └───────────────────┘   │        │
│  │                      │  경계     │                         │        │
│  └──────────────────────┘           └─────────────────────────┘        │
│                                                                       │
│  금지: Zone 1 <-> Zone 3/3+ 직접 통신 (AC-NW-01)                     │
│  금지: WiFi, Bluetooth, USB Data (AC-NW-02)                          │
│  신규: Zone 3+ <-> Zone 3 통신은 Zone 2 중계 전용                     │
│                                                                       │
└──────────────────────────────────────────────────────────────────────┘

2.2. Zone별 확장 요약

Zone 기존 컴포넌트 신규/확장 컴포넌트 확장 이유
Zone 1 Dashboard, API, Policy Engine, Blockchain Nodes Approval Tracker (확장) 개인 기기 승인 상태 실시간 추적
Zone 2 QR Bridge, TX Viewer, Policy Cache, Session Manager Approval Signature Collector (신규), Approval Validator (신규) 비동기 승인 서명 수집 및 형식 검증
Zone 3 Master Signing Applet, WYSIWYS Applet, Policy Applet Approval Verifier (신규) M-of-N 승인 서명 암호학적 검증
Zone 3+ -- (신규 Zone) Approval Signing Applet, Approval WYSIWYS, Biometric/PIN Auth, Approval Key Storage 개인 기기 오프체인 승인 서명 생성

3. 신규 Trust Boundary 정의

3.1. TB-6: 콜드월렛 SE <-> 개인 기기 SE (논리적 경계)

속성 정의
경계 유형 논리적 경계 — 두 SE 간 직접 물리 연결 없음. Zone 2 오프라인 앱이 데이터 중계
위협 수준 낮음 — 양쪽 모두 SE 하드웨어 보호, 중간자는 오프라인 앱 (Zero Trust)
교차 데이터 ApprovalBundle (승인 서명 묶음): 개인 기기 → Zone 2 → 콜드월렛
교차 방향 단방향 주류: Zone 3+ → Zone 3 (승인 서명 전달). 역방향은 등록/해제 시에만 발생
보안 요구사항 (1) 콜드월렛 SE가 개인 기기 공개키를 사전 등록 (키 세레모니 시점), (2) ApprovalBundle 내 서명을 등록된 공개키로만 검증, (3) 미등록 키 서명 거부

TB-6 STRIDE 위협 분석

STRIDE 위협 위험도 완화 수단
S (Spoofing) 위조된 ApprovalBundle로 콜드월렛 SE를 속여 비인가 서명 유도 낮음 SE 내부에서 등록된 공개키로 각 승인 서명을 개별 검증. ECDSA 서명 위조는 이산 로그 문제로 계산적 불가능. 미등록 키의 서명은 즉시 거부
T (Tampering) Zone 2 오프라인 앱이 ApprovalBundle 내 서명을 교체하거나 삭제 낮음 각 승인 서명이 tx_hash에 바인딩되어 있으므로, 서명 교체 시 검증 실패. M-of-N 정족수 검증으로 삭제 감지. Zone 2는 중계만 담당하며 최종 검증은 Zone 3 SE
R (Repudiation) 개인 기기 소유자가 승인 행위를 부인 낮음 개인 기기 SE의 ECDSA 서명 = 암호학적 부인 불가 증거. device_id + 공개키 + 타임스탬프로 감사 추적. 콜드월렛 SE 감사 로그에 영구 기록
I (Info Disclosure) ApprovalBundle 전달 과정에서 TX 정보 노출 낮음 ApprovalBundle에는 TX 해시와 승인 서명만 포함. 개인 키는 SE 외부로 노출되지 않음. QR/NFC 에어갭 전달으로 네트워크 도청 불가
D (DoS) Zone 2가 ApprovalBundle 전달을 거부하여 서명 프로세스 중단 중간 Zone 2 오프라인 앱의 무결성 검증 (앱 해시). 대체 오프라인 앱 기기 준비. 콜드룸 직접 서명 폴백 경로
E (Privilege Escalation) Zone 2 오프라인 앱이 ApprovalBundle을 조작하여 Approval Verifier 우회 시도 낮음 SE가 최종 암호학적 검증 수행. Zone 2는 형식 검증만 담당. Zero Trust 원칙: Zone 3이 Zone 2를 신뢰하지 않음

3.2. TB-7: 오프라인 앱 <-> 개인 기기 (에어갭)

속성 정의
경계 유형 에어갭 — QR (UR v2 Animated QR) 또는 NFC (ISO 7816-4 APDU). BLE 금지
위협 수준 낮음 — 에어갭으로 원격 공격 차단. TB-4(오프라인 앱 <-> 콜드월렛)와 동일한 보안 수준
교차 데이터 승인 요청 방향: ApprovalRequest (TX 해시 + 메타데이터). 승인 응답 방향: ApprovalResponse (ECDSA 서명)
교차 방향 양방향: Zone 2 → Zone 3+ (승인 요청), Zone 3+ → Zone 2 (승인 응답)
보안 요구사항 (1) QR UR type 사전 정의 (dcent-approval-request 45050, dcent-approval-response 45051), (2) NFC APDU 명령 세트 정의 (INS 0x50, 0x51), (3) BLE 비활성화 펌웨어 강제, (4) 전달 데이터 최소화 원칙 (키 미포함)

TB-7 STRIDE 위협 분석

STRIDE 위협 위험도 완화 수단
S (Spoofing) 가짜 개인 기기가 위조 승인 서명 생성 중간 콜드월렛 SE가 등록된 공개키 목록으로 서명 검증. 미등록 키 서명 거부. SE attestation chain으로 기기 진위 증명
S (Spoofing) 가짜 오프라인 앱이 악의적 TX 데이터를 개인 기기에 표시 중간 개인 기기 WYSIWYS로 사용자가 TX 내용 직접 확인 (SE 하드웨어 레벨). 앱 무결성 검증 (코드 서명). 대시보드에서 원본 TX와 비교 가능
T (Tampering) 승인 요청/응답 QR 데이터 변조 (물리적 QR 교체 등) 낮음 승인 서명은 TX 해시에 바인딩. 변조된 TX 해시로 생성된 서명은 원본 TX에 대해 검증 실패. NFC APDU는 근거리(4cm) 통신으로 중간자 삽입 극히 어려움
R (Repudiation) Approver가 승인 행위 부인 낮음 개인 기기 SE 서명 = 부인 불가. device_id + 공개키 + 타임스탬프로 추적. 콜드월렛 감사 로그
I (Info Disclosure) 승인 요청/응답 QR에서 TX 정보 노출 낮음 QR에 TX 해시(32바이트)와 표시용 메타데이터만 포함. 개인 키 미포함. 물리적 시야 차단(화면 보호 필름)으로 추가 방어
D (DoS) 개인 기기 분실/고장/배터리 소진으로 승인 불가 중간 N > M 구조로 여분 확보 (예: 3-of-5에서 2대 고장 허용). 대체 기기 긴급 발급 절차. 콜드룸 직접 서명 폴백 경로. 기기 충전 상태 대시보드 모니터링 (선택)
E (Privilege Escalation) 개인 기기 탈취 후 무단 승인 중간 지문/PIN 인증 필수 (3회 실패 시 잠금, 10회 실패 시 키 소거). 대시보드에서 원격 비활성화. M-of-N 정족수로 단일 기기 탈취만으로는 정족수 미달

3.3. 기존 Trust Boundary 업데이트 영향

Trust Boundary 기존 교차 데이터 추가 교차 데이터 변경 사유
TB-3 (대시보드 <-> 오프라인 앱) 미서명 TX (QR), 서명된 TX (QR) Approval Tracker 상태 데이터, 승인 요청 메타데이터 Approval Tracker → Collector 데이터 전달
TB-4 (오프라인 앱 <-> 콜드월렛) 서명 요청 (QR/NFC), 서명 응답 (QR/NFC) ApprovalBundle (QR/NFC) 승인 패키지를 콜드월렛에 전달하는 데이터 추가
TB-1 (사용자 <-> 대시보드) 인증, TX 요청 승인 진행 상태 조회, 기기 관리 Approval Tracker UI 확장
TB-5 (대시보드 <-> MPC) MPC-TSS 데이터 변경 없음 웜 월렛 영역으로 2단계 서명 범위 외

4. Zone 3+ 신규 컴포넌트 상세

4.1. Approval Signing Applet (개인 기기 SE 내부)

속성 정의
Zone Zone 3+
위치 개인 기기 SE 내부
책임 approval_sk 생성, 보관, 서명, 키 라이프사이클(생성/백업/교체/폐기)

인터페이스 (NFC APDU):

INS 명령 방향 설명 인증 필요
0x50 APPROVAL_REQ → 개인 기기 TX 승인 요청 수신, WYSIWYS 표시 트리거 아니오
0x51 APPROVAL_RESP ← 개인 기기 승인 서명 반환 예 (지문/PIN)
0x60 DEVICE_REGISTER → 개인 기기 기기 등록 시 공개키/attestation 반환 요청
0x61 DEVICE_DEREGISTER → 개인 기기 키 폐기 명령 (SE 내부 키 소거) 예 (듀얼 인증)
0x62 DEVICE_STATUS ← 개인 기기 기기 상태 조회 (배터리, 키 상태) 아니오
0x70 KEY_GENERATE → 개인 기기 approval_sk 신규 생성 예 (듀얼 인증)
0x71 KEY_EXPORT_PUB ← 개인 기기 approval_pk 공개키 내보내기 아니오

보안 규칙: - SE 내부 키 비추출: approval_sk는 SE 외부로 내보내기 불가 (공개키만 내보내기 가능) - 생체/PIN 인증 후에만 서명 수행 (INS 0x51) - BLE 비활성화 강제: 엔터프라이즈 펌웨어에서 BLE 스택 비활성화 - SE attestation chain으로 기기 진위 증명: 등록 시 attestation 인증서 체인 검증

키 라이프사이클:

생성(KEY_GENERATE) → 등록(DEVICE_REGISTER) → 운용(APPROVAL_REQ/RESP)
    → 교체(새 키 생성 + 기존 키 폐기) → 폐기(DEVICE_DEREGISTER + 키 소거)
복구: R3covery 카드 또는 신규 기기 발급 + 재등록

4.2. Approval WYSIWYS (개인 기기 디스플레이)

속성 정의
Zone Zone 3+
위치 개인 기기 디스플레이 (OLED/LCD)
책임 TX 내용을 human-readable로 표시, 물리 버튼으로 확인/거부

표시 항목:

항목 표시 형식 예시
수신 주소 전체 주소 (BTC: bc1p..., EVM: 0x...) bc1p5cyxnuxmeuwuvkwfem96l...
전송 금액 숫자 + 단위 (자동 변환) 1.5 BTC / 1,000 USDT
수수료 추정 수수료 ~0.0001 BTC
체인 체인 이름 Bitcoin / Ethereum (1)
정책 요약 적용 정책 간략 일일: 48.5/50 BTC
승인 현황 M/N 진행 승인 2/3 진행

Bybit 방어 설계: - delegatecall (operation=1) 감지 시 경고 아이콘 + "위험" 텍스트 표시 - 미지 컨트랙트: raw data 경고 + function selector hex 표시 - 고액 미지 컨트랙트 TX: 블라인드 서명 차단 — "확인 불가 거래" 메시지

카드 타입 예외: - 화면 없는 카드 타입은 WYSIWYS 불가 - 허용 범위: 저액 TX (일일 한도 10% 미만) 및 비금전 승인 (정책 변경 확인 등)에만 허용 - 고액 TX: 카드 타입으로 승인 차단, 바이오메트릭 타입 필수

4.3. Approval Verifier (콜드월렛 SE 내부) — Zone 3 확장

속성 정의
Zone Zone 3 (기존 Zone 확장)
위치 콜드월렛 SE 내부
책임 ApprovalBundle 내 M-of-N 승인 서명 암호학적 검증

인터페이스: 기존 SE 서명 파이프라인에 전처리 단계로 삽입

기존: [TX 수신] → [WYSIWYS] → [정책 검증] → [SE 서명]
확장: [TX 수신] → [ApprovalBundle 수신] → [Approval Verifier] → [WYSIWYS] → [정책 검증] → [SE 서명]

저장소 (SE 비휘발성 메모리):

데이터 크기 (기기당) 최대 N=7 설명
공개키 레지스트리 86 바이트 602 바이트 pubkey(33) + device_id(16) + status(1) + registered_at(4) + attestation_hash(32)
정족수 설정 2 바이트 2 바이트 required(1) + total(1)
세션 타임아웃 4 바이트 4 바이트 초 단위 (기본 86400 = 24시간)
합계 -- ~608 바이트 SE 비휘발성 메모리 1KB 미만

불변 규칙 (SE 펌웨어 레벨 하드코딩):

  1. 정족수 미달 시 서명 거부: count(valid_sigs) < M → REJECT
  2. 미등록 키 서명 거부: pubkey not in registry → REJECT
  3. 타임아웃 초과 거부: current_time - sig_timestamp > session_timeout → REJECT
  4. 정책 위반 거부: HW 정책 엔진 4개 규칙(일일 한도, 화이트리스트, 정족수, 시간 잠금) 중 하나라도 위반 → REJECT

4.4. Approval Tracker (Zone 1 확장)

속성 정의
Zone Zone 1 (기존 확장)
위치 대시보드 웹 UI + API
책임 개인 기기 승인 진행 상태를 실시간으로 표시

데이터 모델:

필드 타입 설명
request_id bytes(16) 승인 요청 고유 ID
tx_summary object TX 요약 (수신 주소, 금액, 체인)
approvers array 승인자 목록 [{name, device_id, status: pending/approved/rejected}]
quorum object {required: M, approved: count, rejected: count}
timeout uint 만료 시간 (Unix epoch)
created_at uint 생성 시간
status enum PENDING / APPROVED / REJECTED / EXPIRED / SIGNED

UI 표시: - 승인 대기 중인 TX 목록 - 각 TX별 Approver 승인 진행률 (M/N 프로그레스 바) - 타임아웃 카운트다운 - 기기 상태 표시 (온라인/오프라인 — 마지막 활동 기준 추정)

4.5. Approval Signature Collector (Zone 2 신규)

속성 정의
Zone Zone 2 (신규)
위치 오프라인 서명 앱
책임 개인 기기들의 승인 서명을 비동기 수집, ApprovalBundle 생성

동작 흐름:

1. 대시보드로부터 승인 요청 수신 (TB-3 QR)
2. 승인 요청을 개인 기기용 QR/NFC로 변환 (TB-7)
3. 각 개인 기기의 승인 응답 수집 (TB-7 QR/NFC)
   - 비동기: 기기별 순차 또는 동시 수집
   - 수집 완료 조건: M개 이상 유효 서명
4. Approval Validator로 형식 검증
5. ApprovalBundle 구성 (CBOR 인코딩)
6. 콜드월렛으로 ApprovalBundle + 원본 TX 전달 (TB-4 QR/NFC)

에어갭 준수: 모든 통신은 QR/NFC 전용. 온라인 연결 없음. 수집 상태는 로컬 스토리지에만 저장 (24시간 후 자동 삭제).


5. 확장된 5단계 TX 파이프라인 (전체 흐름)

5.1. 단계별 Zone 매핑

┌─────────────────────────────────────────────────────────────────────┐
│                                                                      │
│  (1) REQUEST                          (5) BROADCAST                  │
│  ┌──────────────┐                     ┌──────────────┐               │
│  │ Zone 1       │                     │ Zone 1       │               │
│  │ 대시보드      │                     │ 대시보드      │               │
│  │ TX 생성       │                     │ TX 전파       │               │
│  └──────┬───────┘                     └──────▲───────┘               │
│         │                                    │                       │
│  ═══════╧═══════ TB-3 ══════════════════════╧══════  에어갭          │
│                                                                      │
│  (2) APPROVE               (3) COLLECT         (4) SIGN             │
│  ┌──────────────┐         ┌──────────────┐    ┌──────────────┐      │
│  │ Zone 3+      │──TB-7──▶│ Zone 2       │──TB-4──▶│ Zone 3       │ │
│  │ 개인 기기 x M │         │ 오프라인 앱   │    │ 콜드월렛       │      │
│  │ 승인 서명     │         │ Bundle 생성   │    │ 검증 + 서명    │      │
│  └──────────────┘         └──────────────┘    └──────┬───────┘      │
│                                                      │               │
│  ═══════════════════════════════════════════════════╧══  에어갭      │
│                                                                      │
└─────────────────────────────────────────────────────────────────────┘

5.2. Trust Boundary 교차 매트릭스

단계 전환 교차 TB 데이터 방향 채널
(1)→(2) TB-3 + TB-7 ApprovalRequest Zone 1 → Zone 2 → Zone 3+ QR → QR/NFC
(2)→(3) TB-7 ApprovalResponse Zone 3+ → Zone 2 QR/NFC
(3)→(4) TB-4 ApprovalBundle + TX Zone 2 → Zone 3 QR/NFC
(4)→(5) TB-4 + TB-3 서명된 TX Zone 3 → Zone 2 → Zone 1 QR/NFC → QR

5.3. 기존 4단계 vs 확장 5단계 비교

속성 기존 4단계 확장 5단계
단계 Request → Approve → Sign → Broadcast Request → ApproveCollect → Sign → Broadcast
승인 대시보드 소프트 승인 개인 기기 하드웨어 승인 (SE + WYSIWYS)
승인 위치 Zone 1 (온라인) Zone 3+ (에어갭 하드웨어)
수집 없음 Zone 2에서 비동기 수집
서명 콜드월렛 직접 서명 ApprovalBundle 검증 후 서명
보안 3-Zone, 5 TB 4-Zone (3+), 7 TB
TB 수 5개 (TB-1~TB-5) 7개 (TB-1~TB-7)

6. 기존 Trust Boundary 업데이트 영향

6.1. TB-3 확장 (대시보드 <-> 오프라인 앱)

기존 데이터 추가 데이터
미서명 TX (PSBT/EIP-712) ApprovalRequest 메타데이터 (승인자 목록, 정족수, 타임아웃)
서명된 TX Approval Tracker 상태 동기화 데이터
정책 업데이트 기기 등록/해제 요청

6.2. TB-4 확장 (오프라인 앱 <-> 콜드월렛)

기존 데이터 추가 데이터
서명 요청 (PSBT/Safe TX) ApprovalBundle (승인 서명 묶음)
서명 응답 검증 결과 + 감사 로그
정책 업데이트 기기 공개키 등록/해제 명령

6.3. AC-ID 확장 필요 범위

Zone 기존 AC-ID 추가 필요 AC-ID 설명
Zone 1 31개 +3~5개 Approval Tracker 접근 제어, 기기 관리 권한
Zone 2 9개 +3~5개 Approval Collector 접근 제어, Bundle 생성 권한
Zone 3 14개 +5~7개 Approval Verifier 접근 제어, 공개키 레지스트리 관리
Zone 3+ 0개 (신규) +8~10개 승인 서명, 키 생성, 기기 등록/해제, 인증
합계 54개 +19~27개 총 73~81개 AC-ID 예상

7. 개인 기기 Trust Level 정의

7.1. Trust Level 매트릭스

Trust 속성 등급 근거
하드웨어 Trust ABSOLUTE CC EAL5+ SE 기반. 키 비추출, 탬퍼 방지
물리적 격리 수준 MEDIUM-HIGH 개인 소지이므로 콜드룸 격리 수준에 미달. 그러나 에어갭(QR/NFC) 유지
네트워크 격리 HIGH BLE/WiFi 비활성화 강제. QR/NFC 전용 통신
인증 강도 기기 타입별 차이 아래 표 참조

7.2. 기기 타입별 운영 보안 등급

기기 타입 WYSIWYS 인증 운영 보안 등급 허용 범위
D'CENT 바이오메트릭 가능 (OLED) 지문 + PIN HIGH 전체 TX 승인 (고액 포함)
D'CENT 카드 타입 불가 (화면 없음) PIN만 MEDIUM 저액 TX + 비금전 승인만
D'CENT X (부적합) 가능 확인 필요 N/A 개인 기기로 사용 부적합 (비용 과다, 역할 혼동)

7.3. 에어갭 등급

등급 조건 Zone 3+ 충족
CRITICAL 네트워크 스택 자체 없음 (NIC 미탑재) 부분 (BLE HW 탑재이나 SW 비활성화)
HIGH 네트워크 비활성화 강제 + QR/NFC 전용 충족 (엔터프라이즈 펌웨어 BLE 비활성화)
MEDIUM 네트워크 선택적 비활성화 미달
LOW 네트워크 연결 가능 미달

Zone 3+ 에어갭 등급: HIGH — 콜드월렛(Zone 3)의 CRITICAL보다 한 단계 낮으나, 에어갭 원칙을 충족하는 수준이다. BLE HW가 탑재되어 있으나 엔터프라이즈 펌웨어에서 비활성화 강제하므로 실질적 에어갭을 보장한다.


8. 보안 아키텍처 변경 요약

항목 변경 전 (3-Zone) 변경 후 (4-Zone)
Zone 수 3개 (Online/Offline/HW SE) 4개 (+Personal SE)
Trust Boundary 5개 (TB-1~TB-5) 7개 (+TB-6, TB-7)
신규 컴포넌트 -- 5개 (Approval Signing Applet, WYSIWYS, Verifier, Tracker, Collector) + Validator
TX 파이프라인 4단계 5단계 (+Approve, +Collect)
AC-ID 54개 ~73~81개 (+19~27개)
서명 주체 콜드월렛 SE 직접 승인 검증 후 콜드월렛 SE
승인 방식 대시보드 소프트 승인 개인 기기 하드웨어 승인 (SE + WYSIWYS)
SPOF 방어 SE + 정책 엔진 + WYSIWYS SE + Approval Verifier + 정책 엔진 + WYSIWYS + R3covery

설계 기준: option-evaluation.md 옵션 A 채택, three-zone-security-architecture.md 직접 확장 참조: .planning/research/ARCHITECTURE.md 섹션 2 (Zone 3+ 확장) 보안 원칙: Zero Trust, Defense in Depth, Air-Gap First, Hardware Root of Trust Pitfall 2 (에어갭 보장 붕괴) 반영: BLE 비활성화 강제, Zone 3+ 에어갭 등급 HIGH


관련 문서