本文へ移動

テナントルートのバックアップ

Deriver AとBのテナントルートを、別々のGoogle Cloud KMSラッピング鍵で保護してR2に保存する仕組み、復元動作、費用の目安。

テナントルートのバックアップ ​

各テナントには、ランダムに生成したサーバー側導出ルートのシェアがあり、Deriver AとDeriver Bが別々に保持します。 現在のシェアを失うと、そのペアを必要とする将来の導出ができません。 本番では、別々のGoogle Cloud KMS鍵で保護した、各シェアの暗号化復元コピーをCloudflare R2に保存します。 ウォレットのカストディシードとクライアント署名ルートは、既存の鍵管理経路に留まります。 このバックアップの対象は、サーバーのテナントルートシェアです。

このページは、R120の管理型可用性バックアップを説明します。 R121のテナント管理の復元パッケージと、R122で計画するウォレット移行パッケージは、内容と承認が異なります。 復元と移行を参照してください。

ストレージと鍵の管理主体 ​

素材Deriver ADeriver B
有効なシェアA専用のD1内で暗号化B専用のD1内で暗号化
管理型バックアップAのR2バケット内の暗号文BのR2バケット内の暗号文
バックアップのラッピング鍵Google KMS鍵AGoogle KMS鍵B
KMSへのアクセス鍵Aの利用を許可したAのサービスアカウント鍵Bの利用を許可したBのサービスアカウント

本番のバックアップ鍵は、Google KMSのソフトウェア保護レベルを使います。 現在、各ロールは、全テナントで1つのラッピング鍵バージョンを共有します。 Google KMSは、ラッピング鍵素材のエクスポートを許可せず、APIで暗号化と復号を実行します。 Workerは、自身の鍵を呼べるサービスアカウントの認証情報を保持します。バックアップ鍵自体はCloudflareの外に留まります。 Google KMSの暗号化ドキュメント

ロールの認証情報は分離されていますが、両鍵は現在、共通管理下の1つのGoogle Cloudプロジェクトにあります。 実行時の認証情報は分離されます。両鍵の権限を持つ管理者は、共有の信頼境界として残ります。 盗まれたロール認証情報は、アクセスを取り消すまで、そのロールの鍵を呼べます。

バックアップ・更新・復元 ​

テナントルートの作成・更新時、各DeriverはKMSで自身のバックアップを暗号化します。 復号と公開コミットメントの確認により、バックアップを検証します。 このAPI呼び出し中、Google KMSはそのロールの平文シェアを処理します。 各バックアップは、テナント識別情報、ロール、鍵管理の系統、エポック、シェアのコミットメント、導入証跡に認証付きで紐づきます。 有効化には、両ロールのレコードと検証済みバックアップが必要です。

古い世代のクリーンアップが成功すると、各テナントには、A用とB用の2つの現行シェアの暗号化バックアップオブジェクトがあります。 R2には補助的な証跡オブジェクトも保存します。 更新中やクリーンアップ中断時には、現行、保留、廃止済みエポックのオブジェクトが共存する場合があります。 「2つ」は、クリーンアップ後の現行シェアのバックアップ数です。保存オブジェクト全体の上限ではありません。

承認済みの管理型復元は、対象ロールのバックアップをそのDeriver内で復号し、コミットメントを検証します。 両ロールによる次の世代への更新も必須です。 復元には、保持したR2暗号文、利用可能なKMSバージョン、正規の識別・有効化レコードが必要です。 このフロー内のシェア復元を対象とします。データベースを完全に失った場合は、それらのレコードの復元も必要です。

通常のECDSA・Ed25519署名は、既存のオンライン署名素材を使い、このKMSバックアップアダプターを呼びません。 KMSの可用性と操作料金が影響するのは、バックアップの作成、検証、更新、復元です。

10・50・100テナントの場合の費用 ​

2026年9月5日に確認した米ドル価格では、ソフトウェア鍵バージョンは月額約$0.06です。 暗号化・復号は10,000回あたり$0.03です。手動作成したこれらの鍵には、Autokeyの無料枠を使いません。 Google Cloud KMSの料金

テナント数R2内の現行シェアのバックアップ数有効なKMSバージョン数KMSの月額固定費
10202約$0.12
501002約$0.12
1002002約$0.12

両シェアの暗号化と検証には、4回のKMS操作を使います。1組あたり約$0.000012です。 再試行、追加検証、復元で呼び出しが増える場合があります。 R2の保存・リクエスト、D1、Workerの実行は別料金です。追加のKMSバージョンを保持すると、固定費も増えます。

R120は、テナント管理者による成功した更新を、テナントごとに直近1時間で1回に制限します。 プロバイダー処理の前に、サーバーで適用します。 待機期間中の別リクエストには、サーバーが計算した再試行時刻とHTTP 429を返します。 同じ操作の再試行には、既存の結果を返します。 復元後に必須の更新は、別途承認した復旧経路を維持します。 環境内でこの上限に依存する前に、デプロイしたリリースと受付ポリシーを確認してください。

ローテーションと破棄の制約 ​

テナントルートの更新は、有効な導出ルートを維持しながらA/Bシェアを変更します。 現在のバックアップ提供者は、設定済みの共有KMSバージョンを使い続けます。 新しいKMSバージョンの作成は、別のラッピング鍵のローテーション操作です。

古いR2オブジェクトを削除しても、KMSバージョンが利用可能な間は、複製した暗号文すべての復元不能を証明できません。 共有KMSバージョンの破棄は、その鍵で暗号化したすべてのバックアップに影響します。 現在のデプロイが保証するのは、運用上のローテーションと暗号化バックアップの可用性です。 テナント単位の暗号学的消去と、侵害からの能動的な回復は未検証です。

テナントルート更新、レーン更新、ウォレットの鍵交換の違いは、鍵のローテーションを参照してください。