본 문서는 D'CENT 엔터프라이즈 콜드월렛 커스터디 솔루션의 화이트리스트 주소 관리 정책을 설계한다. 화이트리스트는 사전 승인된 수신 주소로만 트랜잭션을 허용하여 무단 자산 유출을 원천 차단하는 핵심 보안 메커니즘이다.
핵심 원칙:
- Deny-by-Default: 화이트리스트 미등록 주소로의 전송은 전면 차단
- 쿼럼 기반 관리: 주소 등록/삭제는 Admin 쿼럼 승인 필수 (AC-TX-04)
- 쿨다운 기간: 신규 주소 등록 후 활성화까지 대기 시간 적용 (소셜 엔지니어링 방어)
- 대시보드 마스터: 화이트리스트의 단일 진실 원천(Single Source of Truth)은 온라인 대시보드
Step 1: 등록 요청
- 요청자: Initiator 또는 Admin
- 입력: 블록체인 주소, 체인 유형, 라벨, 적용 범위
│
▼
Step 2: 주소 유효성 검증 (자동)
- 주소 포맷 검증 (checksum, 길이, 체인 매칭)
- 체인 불일치 방지 (BTC 주소를 ETH 화이트리스트에 등록 시도 차단)
- 중복 등록 확인
- 블랙리스트 대조 (제재 목록, 알려진 해킹 주소)
│
▼
Step 3: Admin 쿼럼 승인 (AC-TX-04)
- 최소 2명의 Admin 승인
- 각 Admin: 주소 정확성, 사용 목적, 위험도 검토
- 상태: pending → cooldown
│
▼
Step 4: 쿨다운 기간 (Cooling-off Period)
- 기본: 48시간 (설정 가능 범위: 0-168시간)
- 쿨다운 동안: 주소 표시되나 TX 생성 불가
- 쿨다운 중 취소 가능 (단독 Admin으로 취소 가능 — 긴급 방어)
│
▼
Step 5: 활성화
- 쿨다운 완료 → 상태: cooldown → active
- 자동 활성화 (Admin 추가 개입 불필요)
│
▼
Step 6: 감사 로그 기록
- 등록 요청, 검증 결과, 승인자, 쿨다운 시작/종료, 활성화
Step 1: 삭제 요청
- 요청자: Admin
- 삭제 사유 입력 (필수)
│
▼
Step 2: Admin 쿼럼 승인
- 최소 2명의 Admin 승인
│
▼
Step 3: 즉시 비활성화
- 상태: active → inactive
- 즉시 효력 발생 — 해당 주소로의 신규 TX 생성 차단
│
▼
Step 4: 대기 트랜잭션 처리
├─ PENDING_APPROVAL 상태 TX: 자동 차단 + Initiator 알림
├─ PARTIALLY_SIGNED 상태 TX: 경고 표시 + Admin 결정
│ ├─ 차단: TX 만료 처리
│ └─ 예외 허용: 현재 TX만 완료 허용 (1회성)
└─ BROADCASTING 이후 TX: 영향 없음 (이미 전파)
│
▼
Step 5: 감사 로그 기록
- 삭제 사유, 승인자, 영향받은 TX 목록
긴급 등록 요청
- 사유: 보안 위협으로 인한 긴급 자산 이전 등
│
▼
상위 쿼럼 승인 (일반보다 높은 수준)
- 일반: Admin 2명 → 긴급: Admin 3명 + Super Admin 1명
│
▼
쿨다운 스킵 → 즉시 활성화
│
▼
사후 의무:
- 24시간 내 전체 Admin 보고
- 72시간 내 사후 감사
- 7일 내 정규 화이트리스트 등록 절차로 전환 (또는 삭제)
Phase 4에서 하드웨어 정책 엔진(DIF-02)이 구현되면:
- SE 내부에 화이트리스트 해시 캐시 저장
- 서명 요청 시 수신 주소의 화이트리스트 포함 여부를 SE에서 직접 검증
- 미등록 주소 → SE가 서명 자체를 거부 (최종 방어선)
- 캐시 용량 제한으로 Bloom Filter 또는 해시 세트 사용 고려
화이트리스트 등록 시:
chain 필드와 address 포맷 교차 검증
├─ BTC 화이트리스트에 0x... 주소 → 차단 + 경고
├─ ETH 화이트리스트에 bc1... 주소 → 차단 + 경고
└─ 주소 포맷이 선택 체인과 일치 → 통과
TX 생성 시:
TX의 chain과 수신 주소의 화이트리스트 chain 매칭 확인
└─ 불일치 → 즉시 차단
본 문서는 Phase 3 Core Product Design의 일부로, 정책 엔진(policy-engine.md)의 화이트리스트 주소 검증 규칙이 본 문서의 화이트리스트 데이터를 참조한다.에어갭 서명 플로우(airgap-signing-flow.md)의 Request 단계에서 화이트리스트 사전 검증이 수행된다.