パスワードの暗号化とは?ウェブサービスとパスワードマネージャーの違いをわかりやすく解説

Tips
「パスワードは暗号化されているから安全」ってよく聞くけど、実際のところどういう意味なんだろう?

この疑問はもっともで、「暗号化されている」という言葉だけでは、実際の安全性の度合いはまったくわかりません。

筆者自身、あるサービスの情報漏洩のニュースを見て「でもパスワードは暗号化されているから影響なし、って書いてあるんだけど、本当に大丈夫?」と思ったことがありました。

調べてみると、「暗号化」と言っても種類や実装方法によって安全性は全く異なること、さらにそもそも「暗号化」ではなく「ハッシュ化」が使われているケースが正しい実装だということがわかってきました。

結論から言えば、ウェブサービスがパスワードをどう保存しているかはユーザー側では確認できませんが、パスワードマネージャーはクライアント側の暗号化(ゼロ知識設計)を採用しており、その違いは非常に大きいです。

この記事では、暗号化の仕組みをわかりやすく説明したうえで、ウェブサービスとパスワードマネージャーの暗号化の違い、そして何が「安全」で何が「安全ではない」かを整理します。

この記事でわかること

  • 暗号化とハッシュ化の違いと、パスワード保存に使われる技術
  • ウェブサービスがパスワードを保存する「適切な方法」と「問題のある方法」
  • パスワードマネージャーが採用するクライアント側暗号化とゼロ知識設計の仕組み
  • NordPassのXChaCha20暗号化が何を守るか
  • 「暗号化されているから安全」という言葉の正しい解釈の仕方

まず基礎知識:「暗号化」と「ハッシュ化」は全く異なる技術

「パスワードの暗号化」を理解するうえで、まず「暗号化」と「ハッシュ化」を区別することが重要です。この2つは似たような文脈で使われますが、仕組みも用途も異なります。

暗号化(Encryption)とは

暗号化とは、データを「鍵」を使って別の形式に変換し、同じ「鍵」を使えば元のデータに戻せる(復号できる)技術です。

わかりやすいたとえで言うと、南京錠で荷物を施錠するようなイメージです。錠前(鍵)を持つ人だけが開けられますが、鍵があれば誰でも開けられます。

代表的な暗号化方式として、AES-256(Advanced Encryption Standard・256ビット)やXChaCha20などがあります。

AES-256は現在最も広く使われる暗号化規格で、米国政府の機密情報保護にも採用されています。XChaCha20はNordPassが採用している次世代の暗号化方式で、特にモバイル環境で高速かつ安全とされています。

ハッシュ化(Hashing)とは

ハッシュ化とは、データを一定の計算式(ハッシュ関数)に通して変換し、元のデータに戻すことが原理的に不可能な形式(ハッシュ値)に変える技術です。

同じ入力には必ず同じハッシュ値が生成されますが、ハッシュ値から元のデータを逆算することはできません。

代表的なハッシュ関数として、bcrypt、Argon2、SHA-256などがあります。

暗号化とハッシュ化の違いをまとめると

項目 暗号化(Encryption) ハッシュ化(Hashing)
元データへの復元 鍵があれば可能 原理的に不可能(一方向)
主な用途 データの転送・保管中の保護 パスワードの保存・照合
代表的な方式 AES-256、XChaCha20 bcrypt、Argon2、SHA-256
漏洩時のリスク 鍵が漏れると元データが復元される ハッシュ値のみでは元パスワードを得られない
「パスワードが暗号化されているから安全」という表現は、厳密には不正確なことがあります。パスワードの「保存」においては、復元可能な「暗号化」より、復元不可能な「ハッシュ化」の方が安全性が高いとされています。適切に実装されたサービスはパスワードをハッシュ化して保存しており、サーバー側もユーザーの元のパスワードを知ることができません。

ウェブサービスはパスワードをどう保存しているか

あなたが使っているウェブサービスが、登録したパスワードをどのように保存しているか、意識したことはあるでしょうか。残念ながら、その実装の品質は、サービスによって大きく異なります。

適切な実装:bcryptやArgon2でのハッシュ化保存

セキュリティを正しく実装しているサービスでは、ユーザーが登録したパスワードを「そのままの形(平文)」では保存しません。bcryptやArgon2などの専用ハッシュ関数を使ってハッシュ値に変換し、そのハッシュ値だけをデータベースに保存します。

ログイン時は、入力されたパスワードを同じハッシュ関数で変換し、保存されているハッシュ値と照合するだけです。元のパスワードの復元は行いません。

この方式では、仮にデータベースが漏洩しても、攻撃者は「元のパスワードが何だったか」を知ることができません。

bcryptにはコスト係数(ストレッチング)という仕組みがあり、ハッシュ計算を意図的に遅くすることで、総当たりによるパスワード解析を困難にしています。Argon2はさらに新しい世代のハッシュ関数で、2015年のPassword Hashing Competition(パスワードハッシュ化コンテスト)で最優秀賞を受賞しています。

セキュリティ的に弱い実装:平文保存・SHA-1・MD5

一方で、セキュリティの実装が不十分なサービスも存在します。代表的な問題のあるパターンは以下のとおりです。

  • 平文(プレーンテキスト)保存:パスワードをそのままデータベースに保存。漏洩したらそのまま悪用されます
  • MD5・SHA-1によるハッシュ化:汎用ハッシュ関数で変換。現代の計算機では「レインボーテーブル攻撃」により解読可能です
  • ソルトなしのハッシュ化:同じパスワードから同じハッシュ値が生成されるため、事前計算テーブルによる解析が可能です

これらの実装では、データベースが漏洩した場合、攻撃者がパスワードを解読できる可能性があります。

ウェブサービスのパスワード実装品質は、ユーザー側からは直接確認できません。情報漏洩が起きた際の企業の発表内容(「パスワードはハッシュ化されていた」「ソルト処理済み」などの記述)が判断材料になります。逆に言えば、サービス側の実装に頼らず自分で対策できることとして、「各サービスに固有のパスワードを使う」ことが最も重要な自衛策です。

パスワードマネージャーの暗号化が優れている理由

ウェブサービスのパスワード保存と、パスワードマネージャーによるパスワード管理では、暗号化の役割と仕組みが根本的に異なります。

クライアント側暗号化とゼロ知識設計

NordPassなどの主要なパスワードマネージャーが採用しているのは、クライアント側暗号化(Client-Side Encryption)とゼロ知識設計(Zero-Knowledge Architecture)の組み合わせです。

仕組みを簡単に説明すると、次のようになります。

  1. あなたのデバイス(スマホやPC)上で、マスターパスワードを使ってパスワードデータを暗号化する
  2. 暗号化済みのデータのみがNordPassのサーバーに送信・保存される
  3. サーバー上には、解読のための鍵(マスターパスワード)は一切存在しない
  4. データを復号できるのは、あなたのデバイス上でのみ(マスターパスワードを知るあなた自身だけ)

この設計では、NordPass社のサーバーが不正アクセスを受けたとしても、攻撃者が手に入れるのは解読不可能な暗号データだけです。NordPass社自身も、あなたのパスワードを見ることができません。これが「ゼロ知識(Zero-Knowledge)」の意味です。

パスワードマネージャーの安全性の仕組みについては、パスワードマネージャーは本当に安全か?仕組みとゼロ知識設計を正直に解説でさらに詳しく解説しています。

NordPassが採用するXChaCha20暗号化

NordPassは、業界最高水準の暗号化方式の一つであるXChaCha20(エックスチャチャ20)を採用しています。

XChaCha20の主な特徴は以下のとおりです。

  • 256ビット鍵長:総当たりによる解読は現実的に不可能
  • ストリーム暗号:モバイルデバイスでも高速かつ省電力で動作する
  • nonce(使い捨て乱数)管理が容易:AES-GCMのnonce重複問題を回避できる設計
  • オープンソース・パブリックドメイン:独立した研究者による第三者検証が可能
XChaCha20は、Google・Cloudflare・Meta(Facebookの親会社)など、世界の主要なIT企業も採用している暗号化方式です。「なぜAES-256ではなくXChaCha20なのか?」というと、XChaCha20はハードウェアAES命令セットがない環境でもAES-256と同等以上のセキュリティを維持できる利点があります。

主要パスワードマネージャーの暗号化方式比較

主要なパスワードマネージャーが採用している暗号化方式を比較すると以下のようになります。

パスワードマネージャー 暗号化方式 ゼロ知識設計
NordPass XChaCha20(最新世代) ○ あり
1Password AES-256-GCM ○ あり
Bitwarden AES-256-CBC ○ あり

各社公式サイト・セキュリティドキュメントをもとに作成。詳細は各公式サイトでご確認ください。

「AES-256とXChaCha20はどちらが安全か?」という質問をよく見ますが、現時点では「どちらも十分に安全」というのが正確な答えです。どちらも現在の計算能力では解読不可能なレベルのセキュリティを提供しています。選ぶ際は暗号化方式よりも、ゼロ知識設計の有無・独立セキュリティ監査の実施有無・オープンソース性の方が重要な判断基準になります。

「暗号化されているから安全」ではない

改めて、「パスワードは暗号化されているから安全」という言葉を整理しましょう。

この言葉が意味するのは、サービスによって異なります。

  • ウェブサービスの文脈(パスワードの保存):「暗号化」という言葉が使われていても、実態はハッシュ化であることが多い。また実装の品質によって安全性は大きく異なる。漏洩が起きた場合のリスクは、使っているパスワードの固有性(使い回しかどうか)が最も重要
  • パスワードマネージャーの文脈:クライアント側でのAES-256やXChaCha20による暗号化。ゼロ知識設計によりサービス提供者もデータを見られない。サーバーが攻撃されても暗号化データしか盗まれない

パスワードマネージャーの「暗号化」は、ウェブサービスの「暗号化」とは設計思想が根本的に異なります。ユーザー自身がデータの暗号化の鍵を握る設計になっているという点で、パスワードマネージャーの暗号化の方が、個人のデータ保護という観点でははるかに強力です。

過去には、LastPassというパスワードマネージャーが情報漏洩を引き起こし、パスワードが解読される事案もありました。LastPassは確かにパスワードを暗号化して管理していたのですが、その設計や実装が甘かったことにより大規模なインシデントとなってしまいました。

よくある質問

最後にパスワードの暗号化に関連してよくある質問をいかにまとめておきます。

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暗号化とゼロ知識設計の実力をご覧ください。

まずは無料でNordPassを始める

クレジットカード不要。1デバイス・パスワード保存数無制限で今すぐ使い始められます。

NordPassを無料でダウンロード →

コメント

タイトルとURLをコピーしました