Architecture
billycash의 시스템 구조를 설명합니다. 토큰 발행부터 청산까지의 데이터 흐름, 체인과 오프체인 원장의 분리, 장애 복구 전략을 다룹니다.
System overview
billycash는 발행·유통·청산을 담당하는 Core Services 레이어를 중심으로 구성됩니다. 각 서비스는 Kafka 이벤트로 결합되며, 상태는 Postgres와 프라이빗 체인에 이중화됩니다.
Ledger separation
권리이전은 프라이빗 체인에서 기록되지만, 장부의 최종성은 오프체인 원장이 가집니다. 체인 장애 시에도 오프체인이 단독으로 운영 가능하며, 복구 시 역순 병합(reverse reconciliation) 방식으로 상태를 맞춥니다.
| Component | Responsibility | Tech |
|---|---|---|
| Issuance Service | 자산 실사 · 토큰 발행 | Kotlin · Spring |
| Matching Engine | 주문 매칭 · 체결 | Rust · Tokio |
| Settlement | DvP 청산 · 리포팅 | Go · Postgres |
| Private Chain | 권리이전 기록 | Besu · QBFT |
Security
billycrew는 금융 인프라 사업자로서 운영의 모든 계층에 표준 보안 컨트롤을 내장합니다. 이 문서는 PMR을 비롯한 모든 제품에 공통 적용되는 보안 모델을 설명합니다.
[확인 필요] 표시된 항목은 인프라·보안팀 검증 후 확정됩니다. 작성 가이드는 /docs/_planning/trust-center.md 참조.
1. 인증 · 권한
모든 API 호출은 OAuth 2.0 기반 토큰 또는 발급된 API Key로 인증되며, 호출자의 권한은 RBAC + ABAC 조합으로 평가됩니다.
| 항목 | 사양 | 비고 |
|---|---|---|
| 인증 프로토콜 | OAuth 2.0 · API Key | Client Credentials |
| 토큰 형식 | JWT (RS256) | 만료 60분 |
| 권한 모델 | RBAC + ABAC | 조직·계정·자산 단위 |
| Scope 단위 | 제품·동작·자원 | pmr:read · pmr:write |
| MFA | 콘솔 강제 | API는 발급 단계에서 |
2. 암호화
전송·저장 모든 구간에서 암호화가 적용됩니다. 키는 별도 관리 시스템에서 생성·회전되며, 애플리케이션은 평문 키를 직접 보유하지 않습니다.
| 구간 | 방식 | 비고 |
|---|---|---|
| 전송 (in transit) | TLS 1.2+ | 1.3 권장 · 약한 사이퍼 비활성화 |
| 저장 (at rest) | AES-256-GCM | 모든 영속 저장소 |
| 키 관리 | [확인 필요] KMS / HSM | 회전 90일 |
| 시크릿 저장 | Vault 또는 동급 | 앱 직접 접근 불가 |
3. 네트워크
기본 접근은 공용 인터넷에서 제공되며, 기관 고객은 추가 통제 옵션을 결합할 수 있습니다.
| 옵션 | 설명 | 적용 범위 |
|---|---|---|
| IP 허용목록 | API Key 단위 등록 | 전 제품 |
| mTLS | 클라이언트 인증서 | 옵션 |
| PrivateLink | [확인 필요] 도입 가능 시 | VPC 격리 환경 |
| 금융망 전용선 | 코스콤 등 연계 | 별도 협의 |
내부 서비스 간 통신은 모두 mTLS로 암호화됩니다.
4. 감사 로그
모든 API 호출과 콘솔 동작은 감사 로그로 기록됩니다. 보존 기간은 자본시장법 기준 5년입니다.
| 항목 | 사양 | 비고 |
|---|---|---|
| 보존 기간 | 5년 | 자본시장법 |
| 기록 대상 | 인증·권한 변경·데이터 접근·키 발급 | 전 카테고리 |
| 추출 포맷 | JSONL · CSV · SIEM 연동 | Splunk · Datadog |
| 변조 방지 | 해시 체인 + 일별 무결성 검증 | SHA-256 |
| 고객 제공 | 셀프서비스 + Webhook 스트리밍 | 실시간 |
5. 인증서 · 컴플라이언스
billycrew가 현재 보유 또는 운영 중인 표준입니다. 감사보고서 전문은 NDA 체결 후 영업 채널을 통해 제공됩니다.
| 표준 | 상태 | 비고 |
|---|---|---|
| ISMS-P | 보유 | [확인 필요] 인증 번호 |
| SOC 2 Type II | [확인 필요] | 진행 여부 결정 필요 |
| ISO 27001 | [확인 필요] | 진행 여부 결정 필요 |
6. 직원 접근 통제
운영 환경 접근은 최소권한 원칙을 따릅니다. 권한은 필요 시점에 한시 부여되고 만료 후 자동 회수됩니다.
| 항목 | 적용 | 비고 |
|---|---|---|
| SSO + MFA | 전 직원 강제 | 예외 없음 |
| JIT 권한 | 운영 환경 접근 | 만료 자동 회수 |
| 권한 리뷰 | 분기별 | 감사 로그 보관 |
| 퇴사 처리 | 당일 자동 회수 | SCIM 연동 |
7. 취약점 신고
보안 취약점을 발견하셨다면 다음 채널로 신고해주세요. 책임 있는 공개(Responsible Disclosure) 정책에 따라 처리합니다.
| 채널 | 주소 | 응답 시간 |
|---|---|---|
| 이메일 | [확인 필요] security@billycrew.info | 영업일 24h 내 |
| PGP | [확인 필요] 게시 여부 결정 | — |
| security.txt | /.well-known/security.txt | [확인 필요] |