한국어
보안 권장사항
- API Key와 HMAC Key를 서버 측 Secret Manager에 보관하고 브라우저·모바일 코드에 넣지 않습니다.
- 모든 연동에 검증된 TLS와 명시적 timeout을 적용합니다.
- OOLIN 호출 전에 고객사 백엔드에서 고객과 작업 권한을 확인합니다.
- 요청마다 새 nonce와 timestamp를 만들고 시스템 시각을 동기화합니다.
- 자산 금액은 raw 정수 또는 decimal-safe 값으로 처리합니다.
- 출금 전에 계정 소유권·상태, 자산·네트워크 활성, 주소, 견적, 수수료를 검증합니다.
- 변경 요청 전에
client_request_id를 저장하고 응답 유실 시 결과를 먼저 복구합니다. - 로그에서 자격 증명, 서명, 개인정보와 민감한 metadata를 마스킹합니다.
- 안전한 식별자, 상태 전이, 행위자, 시각을 포함한 불변 업무 감사 기록을 유지합니다.
- 재시도와 호출량을 제한하고 알 수 없는 오류는 안전하게 실패 처리합니다.
고객 앱은 OOLIN Wallet API를 직접 호출하지 않고 인증된 고객사 백엔드를 호출해야 합니다. 고객사 백엔드는 고객의 권한을 확인한 뒤 Wallet API 요청에 서명합니다.
출금 통제 지점
출금 제출 직전에 서버 측에서 새로운 인가 판단을 수행합니다. 고객, 출금 계정, 자산, 네트워크, 금액, 목적지, 견적을 변경할 수 없는 하나의 업무 레코드에 연결합니다. 고객 확인 대기가 길었다면 중요한 필드를 다시 검증합니다.
Upstream 정책과 별도로 애플리케이션 수준 velocity limit과 이상 모니터링을 적용합니다. 거래 조회 권한과 생성·승인 권한을 분리합니다.
자격 증명 교체 runbook, 새 변경 요청 중단 수단, 안전한 request correlation, escalation 연락처를 준비합니다. 중단이 이미 블록체인에 제출된 거래를 되돌린다고 가정해서는 안 됩니다.