開発者ツール · SHA ハッシュ計算ツール
オンライン ハッシュ ツールへのシークレットの貼り付け: ダイジェストがローカルである必要がある理由
· なぜそれが重要なのか
しゃ-256 セキュリティ プライバシー ブラウザ API
ハッシュ ツールが入力をそのサーバーに送信した場合、ハッシュしていた秘密はすでにマシンから流出しています。この投稿では、リスク、Web Crypto によってサーバーが不要になる仕組み、ツールがローカルであることを確認する方法について説明します。
構成ファイルと比較するためにハッシュした API キー — およびその保存場所
開発者は、API キーをハッシュして構成に保存されている値と比較する必要があるため、最も近いオンライン ハッシュ ツールを利用します。キーを貼り付け、ボタンをクリックすると、ダイジェストが取得されます。ハッシュが一致するため、テストは成功します。彼らはおそらく、API キーがすでにマシンから流出していることに気づいていないでしょう。サーバー上で実行されるハッシュ ツールは、ダイジェストを計算する前に平文入力を受け取ります。サーバーはそれを記録、保存、販売、または競合他社に転送できます。
ハッシュ ツールは実際に正しい出力を生成し、入力をサーバーに送信したままであるため、欺瞞は巧妙です。ハッシュの数学的演算は場所に依存しないため、アーキテクチャが安全ではない場合でも、サーバー側のハッシュは暗号的に正しいものになります。攻撃者が勝つためにハッシュ計算を破壊する必要はありません。必要なのは平文入力だけです。出力が正しいため、ハッシュ ツールがローカルであると考える開発者は、間違ったプロパティを信頼していることになります。
サーバー側ハッシュ ツールが受け取るもの — 定義により、ダイジェストが計算される前の完全な平文入力
サーバー側ハッシュ ツールは、定義上、入力として平文入力を必要とします。サーバーは HTTPS 経由でデータを受信するため、転送中は保護されますが、これはサーバーに到達するまでに限られます。その後、プレーンテキストはサーバーによってログに記録され、ハッシュ中にメモリに保存され、場合によってはディスクに書き込まれ、サーバーが保持するバックアップまたは監視トレースに含まれます。サーバーを実行している企業はログを読み取り、そこでハッシュ化されたすべての秘密を確認できます。
別の方法は、ブラウザー独自の暗号化実装である Web Crypto を使用することです。安全なオリジン (HTTPS または localhost を意味します) では、ブラウザーは、SHA-1、SHA-256、SHA-384、SHA-512 ダイジェストを完全にブラウザー プロセス内で計算する関数である crypto.subtle.digest を公開します。入力がデバイスから出ることはなく、サーバーも関与しません。ブラウザの実装はブラウザ ベンダーによって監査され、ブラウザ ベンダーによってパッチが適用され、出荷された JavaScript ではなく最適化されたネイティブ コードとして実行されます。
サーバーが不要な理由 — ブラウザー独自の Web Crypto がすべての SHA-2 ダイジェストをローカルで計算します
ハッシュ ツールがローカルであることを確認するには、DevTools ネットワーク パネルを開いて、ツールがネットワーク経由で送信する内容を監視するだけです。ほとんどのブラウザでは、DevTools は F12 または Cmd+Option+I で開き、[ネットワーク] タブはネットワーク トラフィックを監視する場所です。 [ネットワーク] タブが開き、ハッシュ ツールが表示されている状態で、プレーンテキストを貼り付け、ハッシュ ボタンをクリックして、何が起こるかを観察します。ローカル ツールが使用されている場合、ネットワーク パネルには新しいリクエストは表示されません。
この検証方法が機能するのは、ブラウザーが同一オリジン制限を実装しているためです。このページは、CORS 問題を引き起こすことなく独自のオリジンにリクエストを行うことができるため、ローカル ツールは必要に応じて同じドメイン上のサーバーにリクエストを行うことができます。 DevTools パネルにネットワーク要求が表示されると、ツールがどこかにデータを送信していることがわかります。これをチェックしてネットワーク トラフィックがないことを確認した開発者は、入力がブラウザから出ていないことを強く確信できます。 ToolAcre SHA ハッシュ計算ツールは、ハッシュ時に空のままのネットワーク パネルを生成します。
ネットワーク パネルでの検証 — ペースト、ハッシュ、ゼロ リクエストの監視
厳格なコンテンツ セキュリティ ポリシーにより、ネットワーク パネルのチェックを超えた追加の保証を提供できます。コンテンツ セキュリティ ポリシーは、サーバーが送信する HTTP ヘッダーで、ブラウザーがスクリプトのロードとリクエストの実行を許可するドメインを宣言します。すべての外部スクリプト、すべての外部スタイルシート、および外部オリジンへのすべてのフォーム送信を禁止するポリシーにより、侵害されたページが実行できる操作が制限されます。ポリシーで外部リクエストが禁止されている場合、攻撃者は外部サーバーに入力を送信する悪意のあるコードを送信できません。
コンテンツ セキュリティ ポリシー ヘッダーは HTTP 応答とともに送信され、DevTools の [ネットワーク] タブの [応答ヘッダー] セクションで検査できます。 Content-Security-Policy:default-src 'self'; のような行script-src 'self' は、スクリプトが同じオリジンからのみ取得できることを宣言します。フレーム祖先「なし」を含むより厳格なポリシーにより、ページが iframe に埋め込まれることがなくなり、悪意のある iframe がフォーカスを盗もうとした場合の 1 つの攻撃ベクトルがブロックされます。これらの詳細は防御策を理解するのに役立ちますが、ネットワーク パネルのチェックが依然として主要な検証です。
CSP は多層防御です。ここで読み取られたリポジトリ ソースはデプロイされたヘッダーを確立しません
実用的な例: AWS または Azure からの API キーを ToolAcre SHA ハッシュ計算ツールに貼り付け、保存されているフィンガープリントと照合して検証します。 DevTools を開き、[ネットワーク] タブを選択し、記録中であることを確認します。 API キーをハッシュ ツールに貼り付け、SHA-256 を選択し、[ハッシュ] をクリックします。ダイジェストがツールに表示され、ネットワーク パネルには新しいリクエストが表示されません。必要に応じてハッシュの正確性をクロスチェックするために、ツールのドキュメントでテスト ベクトルを利用できます。重要な点は、API キーがブラウザーを離れることがなく、シークレットを公開することなくダイジェストを保存された値と比較できることです。
このワークフローでは、ブラウザー拡張機能が侵害されたかどうか、またはブラウザー自体が侵害されたかどうかはカバーされません。広範な権限を持つ悪意のある拡張機能は、すべてのトラフィックを確認し、クリップボードのコンテンツを傍受し、ユーザーの入力内容を監視できます。ゼロデイ脆弱性または悪意のあるインストールによってブラウザーが侵害されると、入力を任意の場所に強制的に送信される可能性があります。これらの脅威に対して、保護を提供できる Web ツールはありません。適切な防御策は、ブラウザーのインストールを信頼し、常に最新の状態に保ち、インストールされている拡張機能を確認することです。
有効な例: ライブ API キーを貼り付けるのではなく、無害なマーカーを使用してリクエストを検査します
ツールにシークレットを貼り付ける人へのアドバイスは、貼り付ける前にツールがローカルであることを確認することです。これは、サーバー オペレーター、その従業員、バックアップ、ログのすべてが平文を閲覧するという、唯一最大のリスクを排除する簡単な手順です。 DevTools ネットワーク パネルを使用し、リクエストがゼロであることを監視し、シークレットを備えたツールを信頼します。 ToolAcre SHA ハッシュ計算ツールは、この方法で使用するように設計されています。何も保存せず、何もアップロードせず、[ネットワーク]パネルは空のままです。
すでにシークレットをサーバー側ツールに貼り付けている開発者の場合、次のステップはそれらのシークレットをローテーションすることです。不明なサーバーに送信された API キーは侵害されたと想定する必要があります。それを取り消して、新しいものを発行する必要があります。パスワードを変更する必要があります。 SSH キーを交換する必要があります。インフラストラクチャ API キーのような静的シークレットの場合、これは 1 回限りの操作です。セッション トークンまたは一時認証情報の場合、トークンの有効期限が切れるとローテーションが自動的に行われます。
これでカバーされないもの — ブラウザ拡張機能と侵害されたマシン。Web ツールでは防御できません。
オンライン ツールに対する信頼の構築は、計算が行われる場所を理解し、その理解をブラウザー開発者ツールで検証することから始まります。ネットワーク パネルは明確な信号です。データがブラウザーから送信されると、そこに表示されます。リクエストに特有のテスト入力が含まれていない場合、そのセッションはローカル コンバージョン パスの証拠を提供します。拡張機能、ブラウザ コードの侵害、または将来の展開について保証するものではありません。可能であれば、このチェックとソース コードのレビューを組み合わせることで、信頼性が高まります。
機密データに使用する暗号化ツールを評価する組織の場合、原則は変わりません。つまり、制御する場所で計算が行われることを検証することです。 API キーをハッシュしたり、ファイルを検証したりする個人の場合は、最初にネットワーク パネル チェックを使用してください。運用システムの場合は、認証にプレーン ハッシュの代わりに HMAC または署名を使用します。 ToolAcre SHA ハッシュ計算ツールは、学習およびローカル ダイジェスト計算のためのツールの 1 つです。これは実稼働認証には適していません。
要点: 検証してから信頼する — ToolAcre SHA ハッシュ計算ツールはブラウザーで実行され、次の訪問の間に何もアップロードせず、何も保存しません。
透明性の原則は ToolAcre アプローチの中心です。すべてのツールは、その機能、ブラウザーが提供するもの、開発者が実行する必要があることを文書化します。 SHA ハッシュ計算ツールは、SHA-256、SHA-384、SHA-512 に対してブラウザーの Web Crypto 実装を使用し、HMAC やキー導出を実装していないことを文書化しています。ハッシュに関しては、このツールは正確です。認証のために、開発者は他の場所を探す必要があります。この明確さにより、1 つのツールで多くのことを実行しようとしたときに生じる混乱を防ぐことができます。
開発者がネットワーク パネルが空でソース コードが開いていることを確認すると、信頼関係は強固な基盤の上にあります。このツールは、ブラウザー独自の実装を使用してローカルでハッシュを計算するという、その主張どおりのことを行います。開発者は、ツールが自分たちのユースケースに適合するかどうかについて情報に基づいた決定を下すことができます。 APIキーの検証にはぴったりです。本番認証には HMAC が必要です。パスワードを保存するには、Argon2id のようなキー導出関数が必要です。これらの境界を知ることが、安全なシステムを構築するための第一歩です。