20
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

パスワード管理ツールについて調べた(1Password・Bitwarden)

20
Posted at

はじめに

パスワード管理ツールはなんとなく安全なんだろうなぐらいの認識だったので、どういう仕組みなのかを調べてみました。

この記事で扱うパスワード管理ツールは、1PasswordとBitwardenです。
パスワードを管理している仕組みや、Googleパスワードマネージャーとの違いをみていきます。

1. パスワード管理ツール

  • 1Password(公式HP)

    • 有料のパスワード管理ツール
    • マスターパスワードに加えて、Secret Keyという2つ目の鍵を持つのが特徴
    • 「暗証番号と物理キーの両方が要る金庫」みたいなもの
       
  • Bitwarden(公式HP)

    • 無料プランのあるパスワード管理ツール
    • ソースコードが公開されていて、自分のサーバーで動かすこともできる
    • 「設計図が公開されている金庫」みたいなもの
       
  • Googleパスワードマネージャー(比較対象)

    • ChromeとAndroidに組み込まれた無料の機能
    • Googleアカウントに紐づく
    • 「銀行の貸金庫。既定では銀行側も鍵を持つ」みたいなもの

2. 1PasswordとBitwardenの基本的な仕組み

  1. 手元の端末で暗号化する
    パスワードの一覧(保管庫)は、自分の端末の中で暗号化してからサーバーに送る。サーバーにあるのは、意味の読めないデータだけ。
     

  2. マスターパスワードはサーバーに送らない
    保管庫を開ける鍵は、マスターパスワードから端末の中で作る。このため、提供会社の社員もサーバーに侵入した人も中身を読めない。

    ログインのときも、パスワードそのものは送らない。
    送り方はツールで違い、1PasswordはSRPという方式を使い、Bitwardenはパスワードから作ったハッシュを送る。
     

  3. 保管庫の鍵はわざと時間をかけて作る
    マスターパスワードとソルトから256ビットの鍵を作るときに、あえてハッシュ計算を数十万回繰り返す。

    本人は正しいパスワードを1回入力するだけなので、影響はほとんど無い。総当たりにかかる手間だけを大きくする仕組み。
     

  4. 保管庫を開ける「本当の鍵」は別につくり、マスターパスワードから作った鍵で管理する
    3で作った鍵(マスターキー)では、保管庫を直接開けない。
    最初にランダムに作った「本当の鍵」を暗号化して保管しておき、マスターキーはその本当の鍵を開けるために使う。

    本当の鍵を別に用意することで、次のことができる。

    • マスターパスワードを変えても、保管庫全体を暗号化し直さずに済む。
    • 保管庫そのものは、人が決めるパスワードと違って推測の余地のない鍵で守られる。
    • 指紋や顔認証など、複数の経路から本当の鍵を取り出せる。
       
  5. 共有は公開鍵暗号で鍵を渡す
    保管庫を共有するときは、その保管庫の鍵を相手の公開鍵で暗号化して渡す。相手は自分の秘密鍵で開けられるが、サーバーには開けられない。そのため、共有してもゼロ知識が崩れない。

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人程度の実務未経験の方が応募し技術面接を受けます。
興味のある方は、ぜひ上のリンクから覗いてみてください。

20
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?