ナンス(nonce)とは?暗号技術で使われる一度限りの値の基本概念を分かりやすく解説

Explanation of IT Terms

ナンスとは?

ナンス(nonce)とは、暗号技術で一度限りの値を表す基本概念です。この一度限りの値は、通信の際のセキュリティを強化するために用いられます。特に、鍵交換やメッセージ認証などのプロトコルにおいて、暗号鍵を漏洩させないために、ナンスが利用されることが多いです。

ナンスの種類

ナンスには、以下の2種類があります。

  • ランダムナンス:ランダムに生成された値を利用するナンスで、通常は擬似乱数生成器によって生成されます。ランダム性がより高いため、セキュリティレベルが高いとされています。
  • カウンターナンス:カウントアップされる値をナンスとして利用する方法です。カウントが増えることで、ナンスは毎回変化しますが、ランダム性は低いため、暗号強度が落ちるという問題があります。

ナンスの利用例

以下に、ナンスが暗号技術でどのように利用されるかを紹介します。

  • 鍵交換プロトコル:Diffie-Hellman鍵共有プロトコルなどの鍵交換プロトコルにおいて、ランダムナンスが利用されます。2つのパーティ間でランダムナンスをやり取りすることで、暗号鍵を漏洩させないようにします。
  • メッセージ認証コード:メッセージ認証コード(MAC)を生成する際に、カウンターナンスが利用されることがあります。この場合、カウンター値をMACの生成に利用し、毎回異なるMACを生成することで、攻撃者からのMACの推測を防ぎます。

以上が、ナンスとその利用方法についての簡単な解説です。

参考記事

参考サイト

合わせて読みたい

【Google Chrome】右クリックで翻訳がでなくなった時の対策方法の決定版