보안 — 비수탁(non-custodial) 구조

한 줄 원칙

판단도 실행(키·서명·전송)도 이용자 기기의 에이전트에서. 소리트레이딩 서버는 거래 경로에 없습니다.

  • API 키는 소리트레이딩 서버로 가지 않습니다. 주문 서명과 전송은 에이전트가 거래소로 직접 합니다.
  • 서버는 키를 갖지 않으므로 거래소에 직접 주문을 낼 수 없고, 주문을 대신 내지도 않습니다.
  • 소리트레이딩 백엔드가 털려도 서버 혼자서는 에이전트에 명령을 내릴 수 없습니다 — 에이전트는 회원님의 신뢰 기기 서명이 있는 연결만 받습니다.

막지 못하는 것 — 정직하게

"절대 안전"이라고 말하지 않습니다. 남는 위험은 이렇습니다.

  • 본인 기기(브라우저) 감염 · 가짜 사이트 피싱 — 신뢰 기기에서 서명하므로, 그 기기나 화면을 쥔 사람은 명령을 낼 수 있습니다. 주소창의 공식 도메인을 확인하세요.
  • 키 자체를 도둑맞으면 우리 프로그램을 거치지 않고 쓸 수 있습니다. 그때 남는 건 거래소가 키에 건 제한(출금 권한 없음 · IP 제한)뿐이라, 거래소가 지원하면 IP 제한을 걸어 두세요.
  • 내 서버(VPS)가 털리면 — 이용자 책임 영역입니다.

E2E 암호화 원격 조작

브라우저에서 에이전트로 보내는 명령(키 등록 · 실주문 켜기 · 원격 조작)은 종단간 암호화(ECDH P-256 + AES-256-GCM)로 갑니다. 서버는 암호문을 전달만 하고 읽을 수 없습니다. 웹과 에이전트 양쪽에 같은 지문(fingerprint)이 보이는지 확인하면 중간자를 알아챌 수 있습니다.

범위도 적어 둡니다: 이 암호화는 명령에 대한 것입니다. 에이전트가 서버로 보고하는 체결·잔고·성과·로그는 화면에 보여 주기 위해 서버가 받아 저장합니다.

키 안전장치

  • 출금 권한 없는 키가 기본입니다. 에이전트는 키를 등록할 때 거래소에 권한을 물어볼 수 있으면 출금 권한이 켜진 키를 거부하고, 물어볼 수 없는 거래소는 "확인 못 함"으로 표시합니다(안전하다고 그리지 않습니다).
  • 키는 에이전트 기기에만 암호화되어 저장됩니다. 웹을 거치지 않고 서버(VPS)에서 직접 넣을 수도 있습니다(에이전트 콘솔 명령).
  • 출금을 뗄 수 없는 거래소(지갑 키로 서명하는 탈중앙 거래소 등)도 지원합니다. 대신 키를 넣을 때 그 사실을 경고하고 명시적 동의를 받으며, 에이전트는 주문·잔고·포지션처럼 거래에 필요한 기능만 쓰고 출금·이체는 막도록 설계되어 있습니다. 키는 다른 키처럼 에이전트에만 있습니다.
  • 탈중앙 거래소는 위임 키(거래만 되는 API 키·에이전트 지갑 — 거래소에서 내 지갑으로 승인해 만듭니다)를 먼저 씁니다. 위임 키가 없는 곳만 거래 자금만 둔 전용 지갑의 개인키를 받습니다. 시드 문구·메인 지갑 키는 받지 않습니다 — 시드처럼 보이는 입력은 웹이 보내기 전에 막고, 에이전트도 거절합니다.

가드레일

실주문은 지갑 크기(= 최대 손실) 를 정하고 실주문을 따로 켜야 나갑니다. 주문 빈도 제한·승인 천장·수동 정지는 그대로 걸립니다.

이용자 서버(VPS)의 보안은 이용자 책임입니다. 출금 권한 없는 키를 쓰고, 거래소가 지원하면 IP 제한을 거세요.
soritrading
이메일로 간편하게 시작하세요