「ノンス」の版間の差分
提供: セキュリティ
(ページの作成:「ノンス (nonce, ナンス)とは、暗号通信で使われる「使い捨てのランダムな値」です。リプレイアタックを防ぐために利用され...」) |
(相違点なし)
|
2015年5月25日 (月) 22:25時点における最新版
ノンス (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)); ?>