問題提起
エンタープライズRAGは、社内規程・契約書・治験プロトコル・SOP・規制文書を日々索引化しています。これらは多くの場合、AIエージェントが業務判断や顧客対応で引用する最終的な根拠です。
しかし索引化の瞬間に、文書は次のように変質します:
- 原本との同一性が暗黙化される。インデックス上のチャンクが、発行者の手元にある「正本」と一致しているかを検証する経路がありません
- 発行者署名が剥がれる。誰が、いつ、どの権限で発行した文書かを示すメタデータは、索引化プロセスで多くが失われます
- バージョン履歴が崩れる。RAGインデックスが再構築されれば、過去のある時点で何が「権威ある版」だったかを再現することは事実上不可能です
- 取り込み後の改変が検出されない。ストレージレベルでの書き換えや、内部関係者による意図的な差し替えに対して、インデックス自体は無防備です
EU AI Act、ISO 42001、医薬品GxP規制、金融庁のAIガバナンス指針──いずれも、AIが下した判断や提示した情報の根拠の真正性を問う方向に動いています。索引時点で来歴を固定しなければ、後からどれほど監査ログを整備しても、根拠の根拠は揺らぎ続けます。
シナリオ
ある医薬品開発企業のクリニカルチームは、進行中の治験プロトコル、SOP、規制当局への申請文書を、内部RAGに継続的に索引化しています。AIエージェントは、医療従事者からの問い合わせに対し、該当プロトコルを引用して回答します。
治験開始から18ヶ月後、規制当局の監査が入ります。「2026年8月18日時点で、AIが医療従事者に回答した内容は、その時点で承認されていたプロトコル版に基づいていたか」を証明せよ、と求められます。
社内ではこの18ヶ月でプロトコルが7回改訂されています。RAGインデックスは更新のたびに再構築され、過去の状態は残っていません。文書管理台帳から「8月18日時点ではv3.2のはず」と推定はできても、暗号的な証拠は何もありません。監査人は推定では納得しません。
Lemmaが導入されていれば、各文書の索引化時点で次が同時に記録されています:
- 発行者の署名と発行時刻
- 原本のdocHashとCID
- 索引化された各チャンクと原本の暗号的紐付け
- 索引化時刻のタイムスタンプ
AIエージェントが「8月18日に、プロトコルv3.2の第4.2項を引用した」と主張するとき、その引用が当時の原本とビット単位で一致していたことを、規制当局は独立に検証できます。RAGインデックスが何度再構築されても、過去の権威ある状態は永続的に検証可能なまま残ります。
監査人が見るのは、推定ではなく、暗号的に閉じた事実のみ。
アーキテクチャ
Lemmaの4つの暗号レイヤが、RAG文書のライフサイクル全体に対応します。
1. ENCRYPT ─ 取り込み時点での密封
文書が索引化パイプラインに入る瞬間に、原本はAES-GCMで暗号化されます。原本そのものは発行者の管理下に残り、RAG基盤に流れるのはdocHashとCIDのみ。索引化基盤は、原本の中身を一度も平文で保持しません。
2. PROVE ─ 索引と原本の暗号的束縛
ZKサーキット上で、(a) 発行者署名、(b) docHash、(c) 生成された埋め込みベクトル、(d) 索引化されたチャンク群──これら4要素の整合性を証明として封じます。後から「このチャンクはどの原本のどこから来たか」を、原本を開示せずに検証できます。
3. DISCLOSE ─ 検証者ごとの選択的開示
監査時、検証者の権限に応じて開示範囲を制御します。規制当局には完全なチャンクと発行者署名、内部監査人にはメタデータのみ、AI回答の閲覧者には引用元の存在証明だけ──この階層的な開示が、発行者署名付きで実行できます。
4. PROVENANCE ─ 永続的な履歴記録
docHash、CID、発行者署名、索引化時刻、チャンク束縛をオンチェーンに刻みます。RAGインデックス・ベクトルストア・LLMバックエンドがすべて入れ替わっても、ある時点で「何が権威ある文書だったか」は永続的に検証可能です。
┌──────────────────────────────────────────────────────────┐
│ 文書ソース(社内規程・契約書・治験プロトコル・SOP・規制文書) │
└───────────────────────┬──────────────────────────────────┘
│ 索引化パイプライン入力
▼
┌──────────────────────────────────────────────────────────┐
│ ENCRYPT (AES-GCM) │
│ ・原本を暗号化 │
│ ・発行者署名を封印 │
│ → RAG基盤には docHash + CID のみ流入 │
│ → 原本の中身を平文で一度も保持しない │
└───────────────────────┬──────────────────────────────────┘
│ docHash + CID + チャンク
▼
┌──────────────────────────────────────────────────────────┐
│ PROVE (ZK Circuit) │
│ 束縛:(a) 発行者署名 (b) docHash │
│ (c) 埋め込みベクトル (d) チャンク群 │
│ → 「このチャンクはどの原本のどこから来たか」を証明 │
│ → 原本を開示せずに検証可能 │
└───────────────────────┬──────────────────────────────────┘
│ ZK証明 + チャンク束縛
▼
┌──────────────────────────────────────────────────────────┐
│ DISCLOSE (選択的開示) │
│ 規制当局 → 完全なチャンク + 発行者署名 │
│ 内部監査人 → メタデータのみ │
│ 閲覧者 → 引用元の存在証明だけ │
└───────────────────────┬──────────────────────────────────┘
│ 開示済み属性
▼
┌──────────────────────────────────────────────────────────┐
│ PROVENANCE (On-chain) │
│ docHash / CID / 発行者署名 / 索引化時刻 / チャンク束縛 │
│ → インデックス・ベクトルストア・LLMが入れ替わっても不変 │
└──────────────────────────────────────────────────────────┘証明される事実
LemmaがRAGコンテンツ来歴で暗号的に保証する事実は以下です:
- 文書の発行者の身元と署名
- 原本のdocHashとCID──ストレージ上の同一性
- 索引化時刻のタイムスタンプ
- 発行者が当時のバージョンとして承認した版番号
- 原本と索引化チャンクの暗号的束縛
- ある歴史的時点における権威ある状態
- 取り込み後の改変の有無を、原本を開示せずに検証可能
証明する準備はできましたか?
ユースケースについてお聞かせください。1営業日以内にご返信いたします。