はじめに
パスワード管理ツールはなんとなく安全なんだろうなぐらいの認識だったので、どういう仕組みなのかを調べてみました。
この記事で扱うパスワード管理ツールは、1PasswordとBitwardenです。
パスワードを管理している仕組みや、Googleパスワードマネージャーとの違いをみていきます。
1. パスワード管理ツール
-
1Password(公式HP)
- 有料のパスワード管理ツール
- マスターパスワードに加えて、Secret Keyという2つ目の鍵を持つのが特徴
- 「暗証番号と物理キーの両方が要る金庫」みたいなもの
-
Bitwarden(公式HP)
- 無料プランのあるパスワード管理ツール
- ソースコードが公開されていて、自分のサーバーで動かすこともできる
- 「設計図が公開されている金庫」みたいなもの
-
Googleパスワードマネージャー(比較対象)
- ChromeとAndroidに組み込まれた無料の機能
- Googleアカウントに紐づく
- 「銀行の貸金庫。既定では銀行側も鍵を持つ」みたいなもの
2. 1PasswordとBitwardenの基本的な仕組み
-
手元の端末で暗号化する
パスワードの一覧(保管庫)は、自分の端末の中で暗号化してからサーバーに送る。サーバーにあるのは、意味の読めないデータだけ。
-
マスターパスワードはサーバーに送らない
保管庫を開ける鍵は、マスターパスワードから端末の中で作る。このため、提供会社の社員もサーバーに侵入した人も中身を読めない。ログインのときも、パスワードそのものは送らない。
送り方はツールで違い、1PasswordはSRPという方式を使い、Bitwardenはパスワードから作ったハッシュを送る。
-
保管庫の鍵はわざと時間をかけて作る
マスターパスワードとソルトから256ビットの鍵を作るときに、あえてハッシュ計算を数十万回繰り返す。本人は正しいパスワードを1回入力するだけなので、影響はほとんど無い。総当たりにかかる手間だけを大きくする仕組み。
-
保管庫を開ける「本当の鍵」は別につくり、マスターパスワードから作った鍵で管理する
3で作った鍵(マスターキー)では、保管庫を直接開けない。
最初にランダムに作った「本当の鍵」を暗号化して保管しておき、マスターキーはその本当の鍵を開けるために使う。本当の鍵を別に用意することで、次のことができる。
- マスターパスワードを変えても、保管庫全体を暗号化し直さずに済む。
- 保管庫そのものは、人が決めるパスワードと違って推測の余地のない鍵で守られる。
- 指紋や顔認証など、複数の経路から本当の鍵を取り出せる。
-
共有は公開鍵暗号で鍵を渡す
保管庫を共有するときは、その保管庫の鍵を相手の公開鍵で暗号化して渡す。相手は自分の秘密鍵で開けられるが、サーバーには開けられない。そのため、共有してもゼロ知識が崩れない。
3. 各ツールの特徴
3-1. 1Password
-
マスターパスワードに加えて、Secret Key(34文字のランダムな鍵)を使う。Secret Keyは最初のセットアップ時に端末で作られ、サーバーには送られない。
-
保管庫の鍵は、マスターパスワードとSecret Keyの両方から作る。サーバーのデータが漏れても、攻撃者はSecret Keyを持っていない。そのため、マスターパスワードが多少弱くても、総当たりでは事実上破れない。
-
新しい端末でログインするときは、Secret Keyが必要になる。最初にもらえるEmergency Kitを失くすと、自分でも開けなくなる。
-
鍵の重ね方(2-4)が、Bitwardenより一段多い。個人で使うときも、秘密鍵と保管庫ごとの鍵の段を通る。
マスターパスワード + Secret Key + ソルト ↓ 鍵導出 アカウントを開ける鍵(Account Unlock Key) ↓ 復号 自分の秘密鍵(公開鍵暗号の鍵ペアの片方) ↓ 復号 保管庫ごとの鍵(vault key) ↓ 保管庫を復号
3-2. Bitwarden
- マスターパスワードだけから鍵を作り、Secret Keyに当たるものは無い。そのため、サーバーのデータが漏れたときに頼りになるのは、マスターパスワードの強さと鍵導出の重さである。長いパスフレーズにするのが前提になる。
- 鍵導出の方式を自分で選べる。PBKDF2かArgon2idを選べ、回数も変えられる(1Passwordは方式が決まっていて選べない)。
- ソースコードが公開されていて、第三者が検証できる。セルフホストもできる。
4. Googleパスワードマネージャーとの違い
4-1. 既定の設定の仕組み
GoogleパスワードマネージャーはGoogleアカウントに紐づく機能で、ChromeとAndroidに組み込まれている。無料で、Chromeなら設定なしで使える。
保存したパスワードは、Googleアカウントへのログインと、Googleのサーバー側の暗号化の2つで守られている。
そのため、安全性は「Googleアカウントを乗っ取られないか」と「Googleを信頼できるか」。
アカウントを乗っ取られるとパスワードも全部見られるので、2段階認証やパスキー(パスワードの代わりに端末の生体認証で入る仕組み)の設定が前提になる。
4-2. デバイス上の暗号化の守り方
「デバイス上の暗号化」を有効にすると、鍵を自分の端末側で持つようになる。保管庫は、Googleアカウントのパスワードか端末の画面ロックで開ける。
画面ロックのPIN(4〜6桁)のような短い秘密は、組み合わせが少ない。鍵導出で計算を重くしても、総当たりで破られる。
そこでGoogleは、計算を重くする代わりに、試せる回数を制限している。新しい端末で鍵を取り戻すときは、すでに使っている別の端末の画面ロックを入力する。
続けて間違えられるのは10回以下で、超えるとその端末の画面ロックでは取り戻せなくなる。画面ロックのPINそのものはGoogleには分からない。
4-3. パスワード管理ツールとの違い
既定の設定では、2章の原則は1〜5のどれも当てはまらない。理由は、暗号化の鍵を自分ではなくGoogleが持っていることにある。
- 1は、暗号化をGoogleのサーバー側で行うので当てはまらない。
- 2は、Googleが仕組みの上で中身を復号できるので当てはまらず、マスターパスワードという仕組みも無い。
- 3と4は、自分のパスワードから鍵を作る段が無いので当てはまらない。鍵導出も、鍵を包む段も要らない。
- 5は、鍵をGoogleが持っているので当てはまらない。ファミリーグループと共有する機能はあるが、相手に鍵を渡す仕組みは要らない。
デバイス上の暗号化を有効にすると、1(端末で暗号化)と2(Googleも読めない)は当てはまるようになる。3は別のやり方で守っている。
守り方の考え方も違い、1PasswordとBitwardenは、盗まれても破るのに時間がかかるようにしている。デバイス上の暗号化を有効にしたGoogleは、そもそも何度も試させないようにしている。
5. 比較
| 1Password | Bitwarden | Googleパスワードマネージャー | |
|---|---|---|---|
| 鍵を持つ人 | 自分だけ | 自分だけ | 既定はGoogle。デバイス上の暗号化で自分だけ |
| 鍵の材料 | マスターパスワードとSecret Key | マスターパスワード | Googleアカウント、または端末の画面ロック |
| サーバーから漏れたとき | Secret Keyが無いのでほぼ破れない | マスターパスワードの強さ次第 | 設定次第。既定ならGoogleの管理に依存 |
| 弱点 | Secret Keyを失くすと自分も開けない | 弱いマスターパスワード | Googleアカウントの乗っ取り |
| 費用 | 有料 | 無料プランあり | 無料 |
| 使える場所 | どのブラウザ、OSでも | どのブラウザ、OSでも。セルフホストも可 | ChromeとAndroidが中心 |
6. 料金プラン
金額は年払いを月あたりに直したもの(USD)で、キャンペーンや地域で変わる(2026-10-17調べ)。
6-1. 1Password
| プラン | 料金 | 内容 |
|---|---|---|
| Individual(1人) | 月$3.99(新規の1年目は月$2.99) | ストレージ1GB。漏えいなどを知らせる機能(Watchtower)付き |
| Families(5人まで) | 月$5.99(新規の1年目は月$4.49) | 保管庫を無制限に共有でき、管理者の権限設定がある |
無料プランは無く、14日間の無料体験がある。
6-2. Bitwarden
| プラン | 料金 | 無料プランとの違い |
|---|---|---|
| Free | 無料 | 端末とパスワードの数は無制限。共有できるのは1人まで |
| Premium(1人) | 月$1.65(年$19.80) | 2段階認証のコード表示(TOTP)、ファイル添付、緊急アクセス、パスワードの健康診断 |
| Families(6人まで) | 月$3.99(年$47.88) | 6人分のPremiumと、無制限の共有 |
| Teams | 1人あたり月$4 | 組織での管理、操作の記録(イベントログ)、社内のアカウント情報との同期 |
| Enterprise | 1人あたり月$6 | 細かい権限管理、SSO(社内アカウントでのログイン)、セルフホスト。社員全員にFamiliesが付く |
6-3. 違いのまとめ
1Passwordは無料で使い続けられず、1人でも年$36〜48ほどかかる。
一方で、Bitwardenは1人で使うなら無料でも主な機能が使え、有料のPremiumも年$20ほどである。
(参考)
1Password Pricing
Bitwarden Pricing
7. 補足
7-1. 守り切れない場面
端末がウイルスに感染していると、保管庫を開いた後の画面を盗まれる。キーロガー(打った文字を盗むソフト)で、入力中のマスターパスワードを盗まれることもある。
また、マスターパスワードそのものを偽サイトに入力すると、暗号の強さは関係なくなる。
7-2. 偽サイト対策にもなる
自動入力は、保存したときのドメインと一致するサイトでしか動かない。見た目がそっくりな偽サイトでは何も入力されないので、「おかしい」と気づくきっかけになる。
株式会社シンシア
株式会社xincereでは、実務未経験のエンジニアの方や学生エンジニアインターンを採用し一緒に働いています。
※ シンシアにおける働き方の様子はこちら
シンシアでは、年間100人程度の実務未経験の方が応募し技術面接を受けます。
興味のある方は、ぜひ上のリンクから覗いてみてください。