← Back to Blog

オンラインパスワード生成ツールは安全か?自分で確認する方法

2025-12-26

「適当なウェブサイトでパスワードを生成しても安全か?」というのは正当な疑問です——自分がコントロールできないツールに、これからアカウントに預けようとしている秘密を作らせようとしているのですから。正直な答えは、それはツールの実際の動作方法に完全に依存しており、サイトの言い分を鵜呑みにする必要はない、ということです。この記事では、自分で確認できる方法を説明します。

TL;DR

  • 本当のリスクはパスワードそのものではなく、サイトが生成した内容をサーバーに送信し、そこで記録される可能性があるかどうかです。
  • 自分で確認できます:ブラウザの開発者ツールを開き、ネットワークタブに移動し、パスワードを生成して、リクエストが発生するかどうかを観察します。
  • 真にクライアントサイドの生成ツールは、パスワード生成時にネットワーク活動を一切発生させません——JavaScriptは完全にブラウザ内で実行されます。
  • 乱数の生成方法を一切開示していないツールよりも、Web Crypto API(crypto.getRandomValues())の使用を明示的に宣言しているツールを優先しましょう。

簡単な答え

オンラインパスワード生成ツールは、パスワードを完全にブラウザ内で生成し、どこにも送信しない場合に限り、安全に使用できます。PassGenerate はこの方式で動作しています:生成はWeb Crypto APIを通じてローカルで行われ、ウェブサイト上の主張を信頼する必要なく、ブラウザに組み込まれた開発者ツールを使って1分以内に自分で確認できます。

生成ツールを自分で確認する方法

このチェックを行うのに開発者である必要はありません:

  1. パスワード生成ツールのサイトを開きます。
  2. ブラウザの開発者ツールを開きます(ほとんどのブラウザではF12、または右クリック→検証)。
  3. ネットワークタブをクリックします。
  4. ページ上でパスワードを生成します。
  5. ネットワークタブを観察します。真にクライアントサイドのツールであれば、パスワードが生成される際に新しいリクエストが一切発生しません——どこにも何も送信されません。生成をクリックした瞬間にサーバーへのリクエストが出るのが見えたら、調べてみる価値があります:リクエストボディでどんなデータが送信されているか確認してください。

これが機能する理由は、ブラウザ内で実行されるJavaScriptが、すべての処理をローカルで行う(ランダムなパスワードを計算して表示するだけ)か、データをサーバーに送信して応答を待つか、そのどちらかしかできないためです。ネットワークタブは実際に何が起きているかを示してくれます——これはブラウザが実際に送信しているトラフィックを検査しているため、サイトがあなたに気づかれずに偽装できるものではありません。

「クライアントサイド生成」が技術的に意味すること

真にクライアントサイドのパスワード生成ツールは、ブラウザ自体のWeb Crypto API、具体的には crypto.getRandomValues() を使用して暗号学的に安全なランダムバイトを生成し、そのバイトを、あなたのデバイス上で動くJavaScriptの中だけで、選択した文字セットにマッピングします。このプロセスのどの部分もネットワークリクエストを必要としませんし、それによる恩恵もありません。あるツールがパスワードを「生成」するためにブラウザがサーバーと通信する必要があるのなら、それはこのタスクにとってアーキテクチャ上不要であり、それ自体が疑問視すべき点です。

注意すべき危険信号

  • 乱数の生成源が開示されていない。 サイトが乱数の生成方法を説明していない場合、Math.random()のような弱い方法を使っていないかを確認できません。この方法は一部のエンジンで、観測された出力から再構築できるほど予測可能であり、セキュリティ上重要な用途には不適切です。
  • 生成中にネットワーク活動がある。 上記の開発者ツールでのチェックで確認できます。サイトが何も記録しないと主張していても、リクエストが存在する以上、意図的にせよサーバー側のバグにせよ、記録される可能性があります。
  • ツールを使う前にアカウント登録やメールアドレスの取得を求められる。 パスワード生成ツールが、ランダムな文字列を生成するためにメールアドレスを必要とする正当な理由はありません。
  • 過剰なサードパーティスクリプト。 秘密情報を扱うページに広告技術や分析ツールが大量に読み込まれていると、攻撃対象領域が広がります——ページ上で動くサードパーティコードが多いほど、生成ツール自体がクライアントサイドであっても、侵害されたスクリプトがページ上の内容を傍受する機会が増えます。これは仮定の話ではありません:2024年6月、広く利用されているPolyfill.js CDNが侵害され、日常的な依存関係としてこのスクリプトを組み込んでいただけの49万以上のウェブサイトの訪問者に悪意のあるコードが配信されました——これらのサイトはどれも個別に狙われたわけではなく、サードパーティスクリプトを信頼した以外に何も間違ったことはしていません。今や平均的なウェブサイトは数十のスクリプトを読み込んでおり、そのうち約3分の2はサードパーティ製で、侵害におけるサードパーティの関与は年々急増しています。だからといってサードパーティスクリプトのあるページが自動的に安全でないというわけではありませんが、無関係なツールを大量に抱えたツールより、簡潔で検証しやすいページを持つ生成ツールを優先する実質的な理由になります。

なぜこれが一部のパスワードにとってより重要なのか

信頼できない生成ツールを使うリスクは、そのパスワードが何を保護しているかに比例します。使い捨てのニュースレター登録のための使い捨てパスワードを生成する場合、疑わしいツールであってもリスクは小さいでしょう。銀行のパスワード、メールのパスワード、パスワードマネージャーのマスターパスワードを生成する場合こそ、主張を鵜呑みにするのではなく、クライアントサイドの動作を自分で確認することにこだわるべき場面です——なぜなら、記録された平文のコピーが実際に問題になるのは、まさにこうしたパスワードだからです。

重要なポイント

  • あらゆるオンラインパスワード生成ツールにとっての核心的な安全性の問いは、パスワードをどこかに送信しているかどうかです——主張を鵜呑みにせず、ネットワークタブで自分で確認してください。
  • 真にクライアントサイドの生成は、パスワード生成時にネットワークリクエストをゼロにします。
  • 乱数の生成源を説明していないツールよりも、Web Crypto APIのCSPRNGの使用を明示的に開示しているツールを優先してください。
  • 銀行やメール、マスターパスワードなど、リスクの高いパスワード用の生成ツールには、使い捨ての低リスクなパスワード用よりも厳しい審査を適用してください。

PassGenerateを信頼できる理由

  • パスワードはWeb Crypto APIを使用してブラウザ内でローカルに生成されます。
  • パスワードがサーバーに送信されることはありません。
  • 暗号学的に安全な擬似乱数生成器(CSPRNG)を使用しています。
  • NISTおよびOWASPが推奨する最新のセキュリティベストプラクティスに従っています。

参考文献

  • Polyfill.js CDNのサプライチェーン侵害、2024年6月
  • MDN Web Crypto APIドキュメント
  • OWASP パスワード保存チートシート
  • NIST SP 800-63B – デジタルアイデンティティガイドライン

結論

オンラインパスワード生成ツールがどう動作しているかについて、その言い分を鵜呑みにする必要はありません——ブラウザのネットワークタブを1分間確認すれば、生成した内容を送信しているかどうかが確実にわかります。Web Crypto APIのCSPRNGを使用し、パスワード生成以外に何も要求せず、ネットワーク活動が一切発生しないことを自分で確認できたツールを優先し、何か問題が起きた場合に最も影響が大きいパスワードには、最も厳しい審査を割り当てましょう。