パスワードマネージャーの落とし穴-悪意あるサーバーを前提にした攻撃モデルとは

セキュリティニュース

投稿日時: 更新日時:

パスワードマネージャーの落とし穴-悪意あるサーバーを前提にした攻撃モデルとは

「ゼロ知識暗号(Zero Knowledge Encryption)」は、クラウド型パスワード管理サービスが頻繁に掲げる売り文句です。一般にこの表現は「サーバー運営者は(暗号化された)保管庫=ボルトの中身を知り得ない」という安心感を与えます。

しかし、IACR ePrint 2026/058の研究は、サーバーが完全に悪意を持つ状況では必ずしもこの安心感は成立しない可能性を具体的な攻撃として示しました。調査対象はBitwarden、LastPass、Dashlaneの3製品で、

研究チームはBitwardenに12件、LastPassに7件、Dashlaneに6件の攻撃を行い調査し、その多くがパスワードの回収(機密性の侵害)にまでつながるとしています。なお、研究者らはベンダーに責任ある開示を行っており、修正対応が進行中だと述べています。

本研究が重視するのは「サーバーが受動的に暗号文を保管するだけでなく、クライアントとのやり取りを改ざんできる能動的な悪意(fully malicious server)」という脅威モデルです。

パスワード管理サービスは侵害対象として魅力が大きく、過去の侵害事例もあるため、この強いモデルは現実的だという立場を取ります。また、ベンダーの説明(運営者も見られないサーバーが侵害されても盗めないといった趣旨)が、利用者に「悪意あるサーバー相当でも守られる」と受け取られ得る点も問題提起しています。

典型的な落とし穴

研究は、3製品に共通して現れた設計上のアンチパターンとして、主に次の論点を挙げています。

1つ目は、パスワードボルト全体を一つの暗号オブジェクトとして完全性(改ざん検知)付きで守るのではなく、アイテムや設定を部品単位で暗号化・管理している点です。

更新効率は上がる一方で、ボルト全体としての整合性が崩れても気づきにくくなります。たとえばアイテムの入れ替え、削除、設定改ざん、メタデータ改ざんなどが成立し得ます。

2つ目は、共有機能やアカウント回復(鍵エスクロー)のように「他者と鍵素材をやり取りする」場面で、公開鍵の真正性確認(origin authentication)が弱い/欠けることで、鍵すり替え(key substitution)攻撃が成立しやすい点です。

研究はBitwardenやLastPass、Dashlaneで、共有・回復の鍵配布がサーバー提供データに強く依存し、利用者側で正当性を検証できない構造が攻撃面を広げると指摘しています。

3つ目は、暗号方式やパラメータの後方互換・設定変更が、悪意あるサーバーによるダウングレードの入口になる点です。

研究では、最新クライアントを使っていても、サーバー側の応答や設定を介して危険な経路へ誘導できる可能性を示します。

具体的に何が起きるのか:代表的な攻撃例

鍵エスクロー/回復機能を悪用した「ボルト全面侵害」

鍵エスクロー/回復機能を悪用した「ボルト全面侵害」

Bitwardenの組織参加(招待)やパスワード回復ポリシーに絡む手続きでは、クライアントがサーバーから取得する組織の公開鍵やポリシー情報が完全性保護されていないことを前提に、攻撃者(サーバーを支配する存在)が公開鍵をすり替え、ユーザー鍵(ボルト復号の中核鍵)を回復用暗号文から奪取できると説明しています。これにより対象ユーザーのボルト内容を読み書きできる「フル侵害」に至り得ます。

LastPassでも、管理者によるパスワードリセット/回復の過程で管理者公開鍵がサーバーから配布され、その真正性が検証されない場合、攻撃者が公開鍵を混入させてユーザー鍵を回収し、ボルト全面侵害が成立し得るとしています。

さらに研究は、組織内の鍵素材の扱いによっては、1ユーザーの侵害が組織全体へ波及し得る点にも触れています(組織の秘密鍵がメンバーに共有される設計など)。

KDF(鍵導出)の設定改ざんで総当たりを極端に高速化

KDF(鍵導出)の設定改ざんで総当たりを極端に高速化

「マスターパスワードをPBKDF2等で重くして総当たりを難しくする」という基本防御も、サーバーが悪意を持つと崩れ得る、というのが研究の衝撃点の一つです。

BitwardenやLastPassでは、PBKDF(反復回数など)設定がサーバー上に未認証・未暗号で保存され、ログイン時にサーバーが任意の設定を提示できるとされます。

攻撃者が反復回数を極端に小さくすると、クライアントは軽い計算で認証用ハッシュを送ってしまい、攻撃者側の総当たりも桁違いに加速します。例としてPBKDF2 認証数 600,000回が事実上数回にまで落ちることで、約30万倍の高速化につながる、と具体的に述べています。

Dashlaneでも、設定トランザクションの改ざん等を通じてPBKDF2反復回数を200,000から1に落とし、約20万倍の高速化が可能になる、と説明しています。

アイテム単位暗号化の副作用:差し替え・貼り付け・メタデータ改ざん

アイテム単位暗号化の副作用:差し替え・貼り付け・メタデータ改ざん

Bitwardenの説明では、アイテムは複数フィールド(URL、ユーザー名、パスワード等)からなり、JSONのキー名に対応する暗号文が返る一方、「暗号文がどのフィールドに属するか」を暗号学的に結び付ける仕組みが弱い場合、フィールドの入れ替え(field swapping)が可能になり、ボルトの完全性が崩れると指摘します。

さらに、暗号化されないメタデータ(アイテム種別や作成日等)が読めたり改変できたりする点も問題に挙げています。

LastPassにも同様の「フィールド入れ替え」があり得るとされ、加えてURLフィールド等を通じて機微情報が外部(アイコンサーバーへの問い合わせ等)へ漏れるシナリオも説明されています。

なぜ「ゼロ知識」の議論が難しいのか

研究は、利用者が期待する安全性を「機密性(中身が読まれない)」だけでなく、「完全性(改ざん・挿入・削除を検知できる)」「安全な共有と回復」まで含めて整理しています。特に、設定(KDF回数、暗号モード、共有先の鍵など)が改ざんされれば、暗号化された中身が守られていても、利用者の操作やクライアント挙動を誘導して結果的に漏えいに至る、というのが能動的攻撃の怖さです。

また、Dashlaneについては、完全なオープンソースクライアントが限定的であり、解析の一部はリバースエンジニアリングに基づく可能性がある点も明記されています(ただしPoCで検証した範囲の記述は裏取りしているとしています)。

出典URL