暗号ナンスとは?

暗号の分野では、秘密にすべきことを秘密にしておくことが重要です。直面する問題の 1 つは事前計算です。これは、攻撃者がかなりの処理能力を費やして、入力の組み合わせが先制的に行う出力を決定できる場所です。十分な処理能力と時間があれば、指定された入力を選択し、さまざまな暗号化キーを使用して、どのような出力が得られるかをテストできます。

次に、暗号化された送信の膨大な範囲をチェックして、既知の出力のいずれかがクロップされたかどうかを確認し、使用されたメッセージとキーを知ることができます. 残念ながら、このシナリオを完全に防ぐ方法はありません。ただし、もっと難しくすることは可能です。

メッセージの正確な内容と、その暗号化に使用された暗号化キーを推測することは、すでに困難です。メッセージ内の 1 文字の違いがすべての労力を無用にしてしまうとしても、それは短くて単純なメッセージに対してのみ実際に実行可能です。そうしないと、言い回しや言い回しのバリエーションが多すぎて、タイプミスやスラングのリスクさえあります。しかし、物事を推測する能力のこのリスクでさえ高すぎます。さらに困難なことに、ほとんどの暗号方式では、「初期化ベクトル」または略して IV と呼ばれる 3 番目の値が必要です。

IV は、暗号化および復号化アルゴリズムに入力される別の値です。これは方程式の 3 番目の変数であり、その存在によって、特定の出力を生成するために必要な入力を正しく推測することが大幅に難しくなります。おかしなことに、IV は秘密にする必要さえありません。それが必要とするものはユニークです。

事前計算攻撃を回避することの全体的な問題は、メッセージの内容を推測することをさらに不可能にすることです。そのためには、IV を 1 つだけ選んでそれに固執することはできません。変更する必要があります。さらに、毎回異なる IV を使用すると、結果の暗号文の暗号解読が難しくなります。確実に一意の値を取得するには、「ナンス」、特に暗号ナンスを使用する必要があります。

暗号ナンスは、暗号的に安全な PRNG または疑似乱数ジェネレーターによって生成される値であり、1 回だけ使用することを目的としています。通常、これは、何らかの形式のタイムスタンプを値に組み込むことによって実現されます。

ヒント:特にイギリス英語のネイティブ スピーカーとやり取りする場合は、「once」という単語だけでなく、「cryptographic nonce」というフレーズを具体的に使用することが不可欠です。イギリスでは、「once」は小児性愛者を表す俗語です。一般に、混乱を避けるために、暗号ナンスという用語を具体的に使用することをお勧めします。

その他の用途

一意の値の潜在的な使用例のほとんどは、暗号的に安全な乱数を必ずしも必要としませんが、暗号ナンスは要件に適合します。たとえば、リプレイ攻撃は、攻撃者が同じトラフィックを繰り返し送信して頻繁にリプレイする Web ベースの攻撃です。このリクエストが、レポートの生成に時間を費やすようサーバーに指示するとします。攻撃者は、要求を複数回繰り返すことで、必要な作業量を増やすことができます。

多くの場合、攻撃者は自動化された方法でリクエストをわずかに変更することもできます。たとえば、オンライン ストアがページ URL で連続した製品番号を使用している場合、攻撃者はそれらすべてを要求するプロセスを自動化できます。

これを回避するために、サーバーは、リクエストごとに 1 回限りのトークンをブラウザーに提供できます。サーバーは使用されたトークンを追跡し、有効な未使用のトークンを含まないトラフィックを自動的にドロップします。このシナリオでは、トークンは一意である必要があり、再利用しないでください。したがって、暗号ナンスは法案に適合します。

結論

暗号ナンスは、暗号的に安全な乱数であり、一度だけ使用する必要があります。そうすることで、事前計算攻撃が不可能になり、暗号ナンス自体を秘密にしておく必要がなくなります。その主な用途は、暗号化方式の初期化ベクトルです。

この用語は、「一度だけ使用される数」を意味すると主張されることがよくあります。ただし、これは誤った語源です。この言葉は中英語に由来し、一度または一時的に使用されるものを意味します。それにもかかわらず、「一度使用される数」の概念は、暗号ナンスの目的を説明するのに役立ちます。この目的を支援するために、多くの場合、何らかの形式のタイムスタンプが含まれています。



ハードドライブのクローンを作成する方法

ハードドライブのクローンを作成する方法

データが貴重な資産である現代のデジタル時代では、Windows 上でハード ドライブのクローンを作成することは、多くの人にとって重要なプロセスとなる可能性があります。この包括的なガイド

Windows 10でドライバーWUDFRdのロードに失敗した場合の修正方法

Windows 10でドライバーWUDFRdのロードに失敗した場合の修正方法

コンピュータの起動中に、ドライバ WUDFRd をコンピュータに読み込めなかったことを示すエラー メッセージが表示されましたか?

NVIDIA GeForce Experienceエラーコード0x0003を修正する方法

NVIDIA GeForce Experienceエラーコード0x0003を修正する方法

デスクトップで NVIDIA GeForce experience エラー コード 0x0003 が発生していますか? 「はい」の場合は、ブログを読んで、このエラーをすばやく簡単に修正する方法を見つけてください。

Chromebook の電源が入らないのはなぜですか

Chromebook の電源が入らないのはなぜですか

「Chromebook の電源がオンにならないのはなぜですか?」という質問に対する答えを見つけます。この役立つガイドは Chromebook ユーザー向けです。

Fitbit Versa 4 の文字盤を変更する方法

Fitbit Versa 4 の文字盤を変更する方法

Fitbit Versa 4 の文字盤を無料で変更して、時計の外観を毎日変えることができます。それがいかに早くて簡単かを見てください。

ルンバが止まったり、くっついたり、向きを変えたりする – 修正

ルンバが止まったり、くっついたり、向きを変えたりする – 修正

ルンバ ロボット掃除機が停止し、固着し、回転し続ける問題を修正します。

Steam Deckのグラフィック設定を変更する方法

Steam Deckのグラフィック設定を変更する方法

Steam デッキは、堅牢で多彩なゲーム体験をすぐに提供します。ただし、ゲームを最適化し、可能な限り最高のパフォーマンスを保証するには、

分離ベースのセキュリティとは何ですか?

分離ベースのセキュリティとは何ですか?

サイバーセキュリティの世界でますます重要になっているトピック、つまり分離ベースのセキュリティを詳しく掘り下げる予定でした。このアプローチは、

Chromebook でオート クリッカーを使用する方法

Chromebook でオート クリッカーを使用する方法

今日は、Chromebook で繰り返しクリックするタスクを自動化できるツール、オート クリッカーについて詳しく説明します。このツールは時間を節約し、

SMPSとは何ですか?

SMPSとは何ですか?

コンピューターに SMPS を選択する前に、SMPS とは何か、およびさまざまな効率評価の意味を理解してください。