ウォレットセッション
ウォレットセッションは、ウォレット利用者の操作を許可し、再利用可能な署名の利用枠を管理します。 アプリセッションとは独立しています。
承認の識別情報
ウォレットセッションの利用枠は、上限のある再利用可能な許可枠です。 AuthorizedOperationIdは、受け付けた1つの正確な操作を識別します。
authorizationGrantRef + walletSessionId + quotaId + authorizedOperationId + thresholdSessionIdウォレットIDやしきい値セッションIDだけでは、署名を許可できません。 トランザクションの署名には、正確なレーンと承認済みの操作が必要です。
各識別情報は、異なる役割を持ちます。
| フィールド | 意味 |
|---|---|
thresholdSessionId | しきい値プロトコルの曲線・セッション素材の識別情報。プロトコル状態、復元素材、保存済みレーンレコードを、同じプロトコルセッションへ紐づける。 |
AuthorizationGrantRef | 再利用可能なウォレットセッションの承認識別情報。 |
walletSessionId + quotaId | ウォレットセッションの識別情報と、サーバーが管理する有効期限・残り回数。 |
AuthorizedOperationId | 再利用可能な承認、または検証済み追加認証に基づく、正確な操作の受付。 |
同じしきい値セッションで署名できるのは、正確な再利用可能承認・セッション・利用枠、または検証済み追加認証の証跡に紐づく、承認済み操作がある場合だけです。
有効期限と追加認証
選択したレーンの再利用可能な利用枠が尽きたり期限切れになったりすると、取引署名は同じ方法で新たな認証を要求できます。 追加認証の証跡は、対象操作だけを承認します。古い利用枠の補充や、別レーンの承認は行いません。 明示的なアンロックで、新たな再利用可能枠を作れます。 エクスポートとデバイス登録には、それぞれ独自の新たな承認が必要です。
準備状態
ウォレットのアンロックは、レーンがすぐに署名可能にならなくても、認証準備完了の状態を作れます。
| 状態 | 意味 | 今すぐ署名可能か |
|---|---|---|
| 認証準備完了(Auth-ready) | セッションの承認、利用枠、Router A/Bの範囲が存在する。 | 不可 |
| 復元準備完了(Restore-ready) | 認証準備完了に加え、永続的な封印済みWorker素材があり、明示的な復元段階を実行できる。 | 不可 |
| 素材待ち(Material pending) | 保存済みWorker素材のハンドルやヒントがあるが、現在のWorkerは未検証。 | 不可 |
| 署名準備完了(Sign-ready) | 正確な承認元、承認済み操作、しきい値セッション、利用枠、Router A/Bの範囲、現在のWorkerが持つ素材を一緒に検証済み。 | 可能 |
保存済みレコードは、永続的なヒントです。現在のブラウザーWorkerが使える署名素材を持つ証明にはなりません。 再読み込み、再接続、復元、初期化、Worker再起動の後は、現在のセッションの紐づけに対して素材を検証してから、署名準備完了にする必要があります。
操作の受付
操作の受付は、署名前に実行します。 ウォレット、レーン、承認元、しきい値セッション、該当するセッション利用枠を検証し、正確な操作フィンガープリントを記録します。 安定したフィンガープリントは、機能と操作のダイジェストを含みます。 変化する承認、利用枠、セッション、ランタイムの識別情報は含めません。 既存のフィンガープリントは、利用枠を再消費せずに再生します。
拒否する要求は、非公開のDeriverやSigningWorkerの処理前に失敗させてください。