ノンス

提供: セキュリティ
2015年5月25日 (月) 22:25時点におけるDaemon (トーク | 投稿記録)による版 (ページの作成:「ノンス (nonce, ナンス)とは、暗号通信で使われる「使い捨てのランダムな値」です。リプレイアタックを防ぐために利用され...」)

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索
スポンサーリンク

ノンス (nonce, ナンス)とは、暗号通信で使われる「使い捨てのランダムな値」です。リプレイアタックを防ぐために利用されます。HTTPのDigest認証や暗号で利用されます。

読み方

ノンス
のんす
nonce
のんす
Number used ONCE
なんばー ゆーずど わんす

概要

nonce は、Number used ONCE の略です。1回だけ利用される番号という意味です。

ノンスは、生成時点より前に生成されたことがない値であることが求められます。 タイムスタンプから生成する、十分なエントロピーをもった乱数で生成する、といった重複を避ける手法で生成します。

利用シーン

ノンスが利用される事例を以下に挙げます。

HTTPとノンス

HTTPでは、Digest認証で、パスワードMD5で計算するときに、ノンスを使用します。

ストリーム暗号とノンス

同じであっても暗号文が異なった結果にするためにノンスが利用されることがあります。同じ目的で、初期ベクトルノンスの一種とかんがえることができます。

ノンスの生成

PHPによるノンスの生成

<?php
$nonce = hash('sha512', openssl_random_pseudo_bytes(128));
?>

関連項目




スポンサーリンク