Skip to main content

不変ログ — 暗号化監査チェーン

SecureAI は、すべての AI 対話とすべての管理アクションを 3 層の不変チェーンに記録します。このアーキテクチャにより、誰かがデータベースに直接アクセスした場合でも、レコードの変更、削除、操作が確実に検出可能になります。

なぜそれが重要なのでしょうか?

MongoDB にのみ存在するログは、真に不変ではありません。サーバーにアクセスできる人なら誰でも、痕跡を残さずに削除できます。 SecureAI は、Open Source Security Foundation (OpenSSF) が運営する公開透明性ログである Sigstore Rekor に各ログを固定することでこの問題を解決します。これは、ソフトウェア業界が重要なパッケージの保管過程を検証するために使用しているのと同じシステムです。
技術的保証: マークル ブロック ハッシュが Rekor に保存されると、SecureAI オペレーターを含む誰もそのレコードを遡って変更することはできません。サードパーティの監査人は、単一のcurl呼び出しで独立して検証できます。

##3 つの証拠 各インタラクション バンドルには、次の 3 つのレベルの暗号証拠があります。

レイヤ 1 — MongoDB レジストリ (L1)

インタラクションの主な記録は、次のものとともに MongoDB に保存されます。 文字列 prev_hash → current_hash → next_current_hash を使用すると、行を削除すると文字列が分割されます。シーケンスをトラバースすることで不一致を検出できます。

レイヤー 2 — マークル ツリー (L2)

10 個のログ エントリごとに Merkle ブロック にグループ化されます。
merkle_root は、10 個のエントリを表すルート ハッシュです。いずれかのエントリが変更されると、merkle_root が変更され、包含テストが無効になります。

レイヤー 3 — Rekor アンカー (L3)

封印された各ブロックの merkle_root は、追加専用の公開ログである Sigstore Rekor に送信されます。 Rekor は次のように返します。 log_index が Rekor に存在すると、誰も削除できません。Rekor ログは公開され、分散され、設計上不変です。

透明性ポータル (管理者)

アクセス

管理者 → AI ゲートウェイ → 透明性ポータル

バンドルを確認する

  1. 検索フィールドに bundle_id を入力または貼り付けます。
  2. 「校正確認」 をクリックします。
  3. ステータス バッジが付いた 3 つのレイヤーが表示されます。
    • 緑色 = 正常に検証されました
    • ⚠️ 黄色 = 封印/アンカー保留中 (2 分以内のインタラクションでは通常)
    • = 検証失敗 (警告信号)

公開検証リンクをコピーします

結果が表示されると、「公開検証 URL をコピー」 ボタンのあるバーが表示されます。このリンクは公開されており、ログインを必要とせずに外部監査人に送信できます。
##公開検証ページ bundle_id を持っている人は誰でも、SecureAI にアクセスせずにテストを検証できます。
このページには、3 つのレイヤー、テスト JSON をダウンロードするボタン、ローカルで検証するコマンドが表示されます。 このページでは次のものは公開されません
  • メッセージの内容とAIの応答
  • ユーザーデータ (名前、電子メール、IP)
  • 個人を特定できる情報
ハッシュ、タイムスタンプ、インデックス、検証ステータスのみが表示されます。
##カールによる独立した検証 外部監査人は、Web インターフェイスを信頼せずにバンドルを検証できます。

ステップ 1 — テストを受ける

ステップ 2 — マークル層のハッシュを確認する

ステップ 3 — Rekor でアンカーを確認する

signedEntryTimestamp フィールドが空でない場合は、Rekor がエントリを受け入れ、署名したことを確認します。そのタイムスタンプを遡って変更することはできません。

署名付きエクスポート バンドル (監査者とユーザー)

bundle_id による公開検証機能に加えて、SecureAI を使用すると、オフライン監査用に暗号化証拠をポータブル ZIP 形式でエクスポートできます。

ZIP には何が含まれていますか?

管理者がログまたは SMLTP で 署名済みバンドルのエクスポート を使用すると、次のファイルがダウンロードされます。
  • data.csv: エクスポートされたデータ。
  • manifest.json: 暗号化メタデータ (rowCountmerkleRootOfExportsigningKeyFingerprint、タイムスタンプなど)。
  • manifest.sig: manifest.json の署名 Ed25519。
  • verify.js: 依存関係のないオフライン検証ツール。
  • README.txt: 簡単な説明。

確認方法(オフライン)

  1. ZIP を解凍します。
  2. そのフォルダー内のターミナルを開きます。
  3. 以下を実行します。
無傷のバンドルで期待される出力:

この検証ツールは何を検出しますか?

  • data.csv 内の任意のフィールドを編集します。
  • data.csv 内の行の削除または追加。
  • manifest.jsonの修正。
  • 間違った署名キーの使用。
いずれかのチェックが FAIL と表示される場合、そのエクスポートは 信頼できるものとみなされません

監査のための簡単なテスト

改ざん検出をデモンストレーションするには:
  1. 新しくエクスポートされた ZIP に対して node verify.js を実行します (すべて PASS が返されるはずです)。
  2. data.csv 内の任意の文字を編集して保存します。
  3. node verify.js を再度実行します。
  4. 少なくとも Merkle root of export に失敗する必要があります。
これにより、エクスポートされたデータセットのエンドツーエンドの整合性の証拠が確認されます。

状態の解釈


メッセージの完全なフロー


サプライヤーのコンプライアンス

「プロバイダー コンプライアンス」 バッジは、AI プロバイダー (OpenAI、Anthropic など) が SMLTP プライバシー ヘッダーの受信を確認したかどうかを示します。

よくある質問

インターネットなしでバンドルを確認できますか? はい、オンライン中に [JSON をダウンロード] ボタンからテスト JSON をダウンロードします。 merkle_root とハッシュは、ツリーを再計算することでオフラインで検証できます。 L3 が保留中の場合はどうなりますか? これは、最近のインタラクション (1 分未満) では正常です。 Rekor のサイドカーは、約 30 秒ごとにブロックを処理します。 5 分経っても保留中の場合は、サイドカー rekor-anchor が実行されていることを確認してください。 記録はどのくらいの期間保存されますか? デフォルトでは、ログは構成された retentionPeriod に基づいて保存されます。準拠としてマークされたレコード (phipiisecurityauthorization) は自動的に削除されません。 確認リンクを顧客と共有できますか? はい。 URL /verify/<bundle_id> はログインを必要とせず、機密データを公開しません。監査人、規制当局、または顧客と安全に共有できます。