セキュリティ

CentraFINが見るもの、見ないもの、APIキーとウォレットの保護方法、脆弱性の報告方法について説明します。

CentraFINは、万一当社のサーバーから情報が漏えいしても、資金に手を出すことも、プライベートウォレットの中身を知ることもできないように設計されています。

当社のサーバーが見るもの

データ当社のサーバー
プラットフォームの残高、ポジション、注文、履歴見ます。数値を表示し、計算するためです
APIキーのシークレット暗号化して保管します(AES-256-GCM)。送り返すことも、表示することも、ログに記録することもありません
Hyperliquidアカウントのアドレス見ます。アカウントの読み取りに使います
ビットコインウォレットの公開鍵、アドレス、名前、残高一切見ません。ブラウザが暗号化します
秘密鍵とリカバリーフレーズ一切受け取りません。サービスはどちらも受け付けません
パスワードサービスはパスワードを使いません。パスキーとワンタイムコードを使います

読み取り専用のキー

  • CentraFINは注文も、送金も、出金も一切行いません。
  • CoinbaseとOKX:新しいキーはすべてプラットフォームに照会して確認します。取引、送金、出金ができるキーは拒否します。
  • Kraken:プラットフォームがこの確認に対応していません。キーの追加画面に、チェックを入れるべき権限だけを示しています。
  • Hyperliquid:キーは不要です。アカウントは公開アドレスで読み取り、APIウォレットのアドレスは拒否します。
  • Interactive Brokers:Flexレポートのトークンを使います。このトークンで取得できるのは取引報告書だけです。
  • シークレットはサービス独自の鍵で暗号化され、キーの種類に結びつけられており、当社のサーバーの外に出ることはありません。

APIキー用の固定IPアドレス

Kraken、Coinbase、OKX、Hyperliquidへのリクエストは、すべて当社のリレーのアドレス 130.110.240.91 ひとつから送信されます。各プラットフォームでAPIキーをこのアドレスに限定しておけば、キーが盗まれても、ほかの場所では使えません。

リレーはフランスでホストされており、CentraFINが署名したリクエストだけを受け付け、これらのプラットフォームにだけ接続し、何も保存しません。プラットフォームの応答はリレーを通過しますが、シークレットがリレーに渡ることはありません。

当社が読めないプライベートウォレット

  • ウォレットはアカウントの公開鍵(xpub、ypub、zpub)で追加します。秘密鍵で追加することはありません。
  • ブラウザがウォレットを暗号化し(AES-256-GCM)、その鍵をパスキーが保護します(WebAuthn PRF拡張機能)。当社のサーバーが保存するのは、当社には開けない暗号化データだけです。
  • 残高は、ブラウザ自身が公開ビットコインノード(blockstream.info、mempool.emzy.de、mempool.bitaroo.net)から読み取ります。通信はブラインドリレーを経由し、エンドツーエンドで暗号化されます。ノードには問い合わせたアドレスが見えますが、利用者のIPアドレスもアカウントも見えません。各アドレスは常に同じノードが読み取るため、すべてのアドレスを見られるノードはありません。

パスワードのないログイン

  • アカウント作成時に確認したメールアドレスに、リクエストのたびにログインリンクが届きます。リンクの有効期限は15分で、使えるのは1回だけです。開いたページのボタンを押してはじめて使われるため、メールを検査するソフトウェアが代わりに使ってしまうことはありません。
  • パスキー(WebAuthn、ユーザー検証必須)、認証アプリ(6桁のコード)、またはその両方を追加できます。認証アプリがある場合は、リンクのあとにそのコードが求められます。パスキーだけの場合は、リンクのあとにパスキーが求められます。このように保護されたアカウントは、メールボックスだけでは開けません。
  • パスキーはメールなしでもログインに使えます。認証アプリもある場合は、そのあとにコードが求められます。
  • 1つのメールアドレスに送られるリンクは、1分に1通、1時間に5通までです。1つのIPアドレスからのリクエストは、1時間に10回までです。
  • コードを5回続けて間違えると、アカウントは15分間待機となります。その後は失敗が続くたびに待ち時間が2倍になり、最長で1日です。同じIPアドレスからは、15分間に5回失敗するとブロックされます。
  • セッションの有効期間は8時間です。
  • アカウントは、ご自身のログイン手段でしか開けません。CentraFINを含め、それなしでは誰も入れません。メールボックスを保護し、パスキーを使う場合は2つ登録しておいてください。

AIアシスタント(MCP)

  • アシスタントがアカウントにアクセスできるのは、ご自身が許可した場合だけです(OAuth 2.1、PKCE)。アクセスは読み取り専用で、プライベートウォレットには決してアクセスできません。
  • アクセストークンの有効期間は1時間です。リフレッシュトークンは30日間有効で、使えるのは一度だけです。
  • アシスタントの許可は、設定画面からいつでも取り消せます。

サイトそのもの

  • サードパーティのスクリプト、広告、アクセス解析ツールは一切使っていません。
  • 厳格なコンテンツセキュリティポリシーを適用し、HTTPS接続のみを使用しています。

脆弱性の報告

件名を「セキュリティ」として、contact@centrafin.xyzまでお送りください。見つけた内容、再現手順、確認できた情報をご記入ください。他人のデータにアクセスしたり、サービスに支障を与えたりしないでください。また、公表の前に、修正のための時間を当社にお与えください。これらのルールはsecurity.txtファイルにも記載しています。