この疑問はもっともで、「暗号化されている」という言葉だけでは、実際の安全性の度合いはまったくわかりません。
筆者自身、あるサービスの情報漏洩のニュースを見て「でもパスワードは暗号化されているから影響なし、って書いてあるんだけど、本当に大丈夫?」と思ったことがありました。
結論から言えば、ウェブサービスがパスワードをどう保存しているかはユーザー側では確認できませんが、パスワードマネージャーはクライアント側の暗号化(ゼロ知識設計)を採用しており、その違いは非常に大きいです。
この記事では、暗号化の仕組みをわかりやすく説明したうえで、ウェブサービスとパスワードマネージャーの暗号化の違い、そして何が「安全」で何が「安全ではない」かを整理します。
この記事でわかること
- 暗号化とハッシュ化の違いと、パスワード保存に使われる技術
- ウェブサービスがパスワードを保存する「適切な方法」と「問題のある方法」
- パスワードマネージャーが採用するクライアント側暗号化とゼロ知識設計の仕組み
- NordPassのXChaCha20暗号化が何を守るか
- 「暗号化されているから安全」という言葉の正しい解釈の仕方
まず基礎知識:「暗号化」と「ハッシュ化」は全く異なる技術
「パスワードの暗号化」を理解するうえで、まず「暗号化」と「ハッシュ化」を区別することが重要です。この2つは似たような文脈で使われますが、仕組みも用途も異なります。
暗号化(Encryption)とは
暗号化とは、データを「鍵」を使って別の形式に変換し、同じ「鍵」を使えば元のデータに戻せる(復号できる)技術です。
わかりやすいたとえで言うと、南京錠で荷物を施錠するようなイメージです。錠前(鍵)を持つ人だけが開けられますが、鍵があれば誰でも開けられます。
代表的な暗号化方式として、AES-256(Advanced Encryption Standard・256ビット)やXChaCha20などがあります。
ハッシュ化(Hashing)とは
ハッシュ化とは、データを一定の計算式(ハッシュ関数)に通して変換し、元のデータに戻すことが原理的に不可能な形式(ハッシュ値)に変える技術です。
同じ入力には必ず同じハッシュ値が生成されますが、ハッシュ値から元のデータを逆算することはできません。
代表的なハッシュ関数として、bcrypt、Argon2、SHA-256などがあります。
暗号化とハッシュ化の違いをまとめると
| 項目 | 暗号化(Encryption) | ハッシュ化(Hashing) |
|---|---|---|
| 元データへの復元 | 鍵があれば可能 | 原理的に不可能(一方向) |
| 主な用途 | データの転送・保管中の保護 | パスワードの保存・照合 |
| 代表的な方式 | AES-256、XChaCha20 | bcrypt、Argon2、SHA-256 |
| 漏洩時のリスク | 鍵が漏れると元データが復元される | ハッシュ値のみでは元パスワードを得られない |
ウェブサービスはパスワードをどう保存しているか
あなたが使っているウェブサービスが、登録したパスワードをどのように保存しているか、意識したことはあるでしょうか。残念ながら、その実装の品質は、サービスによって大きく異なります。
適切な実装:bcryptやArgon2でのハッシュ化保存
セキュリティを正しく実装しているサービスでは、ユーザーが登録したパスワードを「そのままの形(平文)」では保存しません。bcryptやArgon2などの専用ハッシュ関数を使ってハッシュ値に変換し、そのハッシュ値だけをデータベースに保存します。
ログイン時は、入力されたパスワードを同じハッシュ関数で変換し、保存されているハッシュ値と照合するだけです。元のパスワードの復元は行いません。
この方式では、仮にデータベースが漏洩しても、攻撃者は「元のパスワードが何だったか」を知ることができません。
セキュリティ的に弱い実装:平文保存・SHA-1・MD5
一方で、セキュリティの実装が不十分なサービスも存在します。代表的な問題のあるパターンは以下のとおりです。
- 平文(プレーンテキスト)保存:パスワードをそのままデータベースに保存。漏洩したらそのまま悪用されます
- MD5・SHA-1によるハッシュ化:汎用ハッシュ関数で変換。現代の計算機では「レインボーテーブル攻撃」により解読可能です
- ソルトなしのハッシュ化:同じパスワードから同じハッシュ値が生成されるため、事前計算テーブルによる解析が可能です
これらの実装では、データベースが漏洩した場合、攻撃者がパスワードを解読できる可能性があります。
パスワードマネージャーの暗号化が優れている理由
ウェブサービスのパスワード保存と、パスワードマネージャーによるパスワード管理では、暗号化の役割と仕組みが根本的に異なります。
クライアント側暗号化とゼロ知識設計
NordPassなどの主要なパスワードマネージャーが採用しているのは、クライアント側暗号化(Client-Side Encryption)とゼロ知識設計(Zero-Knowledge Architecture)の組み合わせです。
仕組みを簡単に説明すると、次のようになります。
- あなたのデバイス(スマホやPC)上で、マスターパスワードを使ってパスワードデータを暗号化する
- 暗号化済みのデータのみがNordPassのサーバーに送信・保存される
- サーバー上には、解読のための鍵(マスターパスワード)は一切存在しない
- データを復号できるのは、あなたのデバイス上でのみ(マスターパスワードを知るあなた自身だけ)
この設計では、NordPass社のサーバーが不正アクセスを受けたとしても、攻撃者が手に入れるのは解読不可能な暗号データだけです。NordPass社自身も、あなたのパスワードを見ることができません。これが「ゼロ知識(Zero-Knowledge)」の意味です。
パスワードマネージャーの安全性の仕組みについては、パスワードマネージャーは本当に安全か?仕組みとゼロ知識設計を正直に解説でさらに詳しく解説しています。
NordPassが採用するXChaCha20暗号化
NordPassは、業界最高水準の暗号化方式の一つであるXChaCha20(エックスチャチャ20)を採用しています。
XChaCha20の主な特徴は以下のとおりです。
- 256ビット鍵長:総当たりによる解読は現実的に不可能
- ストリーム暗号:モバイルデバイスでも高速かつ省電力で動作する
- nonce(使い捨て乱数)管理が容易:AES-GCMのnonce重複問題を回避できる設計
- オープンソース・パブリックドメイン:独立した研究者による第三者検証が可能
主要パスワードマネージャーの暗号化方式比較
主要なパスワードマネージャーが採用している暗号化方式を比較すると以下のようになります。
| パスワードマネージャー | 暗号化方式 | ゼロ知識設計 |
|---|---|---|
| NordPass | XChaCha20(最新世代) | ○ あり |
| 1Password | AES-256-GCM | ○ あり |
| Bitwarden | AES-256-CBC | ○ あり |
各社公式サイト・セキュリティドキュメントをもとに作成。詳細は各公式サイトでご確認ください。
「暗号化されているから安全」ではない
改めて、「パスワードは暗号化されているから安全」という言葉を整理しましょう。
この言葉が意味するのは、サービスによって異なります。
- ウェブサービスの文脈(パスワードの保存):「暗号化」という言葉が使われていても、実態はハッシュ化であることが多い。また実装の品質によって安全性は大きく異なる。漏洩が起きた場合のリスクは、使っているパスワードの固有性(使い回しかどうか)が最も重要
- パスワードマネージャーの文脈:クライアント側でのAES-256やXChaCha20による暗号化。ゼロ知識設計によりサービス提供者もデータを見られない。サーバーが攻撃されても暗号化データしか盗まれない
パスワードマネージャーの「暗号化」は、ウェブサービスの「暗号化」とは設計思想が根本的に異なります。ユーザー自身がデータの暗号化の鍵を握る設計になっているという点で、パスワードマネージャーの暗号化の方が、個人のデータ保護という観点でははるかに強力です。
よくある質問
最後にパスワードの暗号化に関連してよくある質問をいかにまとめておきます。
Q. パスワード暗号化とは何ですか?
A. 「パスワード暗号化」という言葉は、文脈によって2つの意味で使われます。一つは、ウェブサービスがユーザーのパスワードをハッシュ化・暗号化してデータベースに保存すること。
もう一つは、パスワードマネージャーがユーザーのパスワードデータをクライアント側で暗号化して保管・同期することです。後者のパスワードマネージャーの暗号化は、AES-256やXChaCha20などの高度な暗号化方式を使い、提供者側もデータを復号できないゼロ知識設計になっているものが一般的です。詳細はパスワードマネージャーとは?仕組みと必要な理由をご覧ください。
Q. パスワードはなぜ暗号化(ハッシュ化)されているのですか?
A. ウェブサービスがパスワードをそのままの形(平文)で保存すると、データベースが流出したときにパスワードが丸ごと漏れてしまうためです。ハッシュ化して保存することで、仮にデータベースが攻撃者に入手されても、元のパスワードを復元することが困難になります。
また、サービス提供者自身もユーザーのパスワードを知ることができないため、内部不正や従業員によるアクセスも防げます。
Q. 最強の暗号化アルゴリズムは何ですか?
A. 2026年現在、個人のデータ保護の観点で実用的に最高水準とされているのはAES-256とXChaCha20です。どちらも現在の計算能力では解読が現実的に不可能なレベルのセキュリティを提供します。
NordPassが採用するXChaCha20は、特にモバイル環境での速度と安全性のバランスが優れた次世代の標準として注目されています。「最強の暗号化方式」よりも重要なのは、暗号化がどこで行われるか(サーバー側かクライアント側か)という設計の問題です。
Q. 暗号化をしないとどうなりますか?
A. ウェブサービスがパスワードを暗号化・ハッシュ化せずに平文のまま保存すると、データベースが不正アクセスを受けた際に、全ユーザーのパスワードが攻撃者にそのまま入手されます。2012年のLinkedIn漏洩(1億1700万件)などの大規模事例では、ソルトなしのSHA-1ハッシュが使われており、多くのパスワードが解読されました。こうした事件は、適切な暗号化・ハッシュ化の重要性を示す典型例です。
Q. パスワードマネージャーを使うと、暗号化の面でどう安全になりますか?
A. 主に2点の大きな違いがあります。1つ目は、ユーザー側(クライアント側)でデータを暗号化するため、サービス提供者側にはデータを復号する鍵がない(ゼロ知識設計)点です。2つ目は、②各ウェブサービスに対して、ランダム生成した固有のパスワードを使えるため、どこかのサービスから情報が漏洩しても他のサービスへの影響がない点です。この2点により、「自分がパスワードを管理するすべての情報」の保護レベルが格段に上がります。
まとめ
「パスワードの暗号化」という言葉は、ウェブサービスとパスワードマネージャーでは全く異なる意味を持っています。
ウェブサービスの実装はサービスによって品質が異なり、ユーザー側では確認できません。一方で、NordPassのようなパスワードマネージャーが採用するクライアント側暗号化とゼロ知識設計は、ユーザーが自分のデータの暗号化の鍵を握り、提供者側もデータを覗けないという設計になっています。
| 比較項目 | ウェブサービスの保存 | パスワードマネージャー |
|---|---|---|
| 使われる技術 | bcrypt/Argon2ハッシュ化(適切実装の場合) | AES-256 / XChaCha20による暗号化 |
| 暗号化される場所 | サーバー側 | クライアント側(あなたのデバイス) |
| 提供者がデータを見られるか | 実装次第(平文保存のサービスも存在) | 見られない(ゼロ知識設計) |
| 漏洩時のリスク | 実装品質に依存、使い回しなら被害拡大 | 暗号化データのみ(解読不可能) |
| ユーザーが取れる最大の対策 | サービスごとに固有パスワードを使う | マスターパスワードを強力かつ秘密に保つ |
NordPassの詳しいレビューや機能については、NordPassレビュー|XChaCha20暗号化とゼロ知識設計の実力をご覧ください。


コメント