ノンス
ノンス とは何ですか?
ノンス暗号アルゴリズムに与える一度しか使ってはならない値で、新鮮性を保証し、リプレイや鍵・IV の再利用を防ぐ。
ノンス(nonce)は、同じ鍵の有効期間中に決して重複してはならない入力であり、対称暗号、AEAD モード、署名方式、認証プロトコルなどで、各操作を一意に保つために使用されます。AES-GCM や ChaCha20-Poly1305 のような AEAD では、ノンスは通常 96 ビットで、乱数または決定的なカウンターとして生成されます。AES-GCM で同じ鍵下にノンスを再利用すると、機密性と認証性が同時に崩壊します。ノンスは TLS ハンドシェイク、OAuth/OIDC のチャレンジ、Bitcoin のブロックヘッダー、ECDSA などの署名方式でも使われ、ECDSA でノンスを再利用すると秘密鍵が漏れます。ベストプラクティスは十分な長さの乱数ノンスか厳密に単調増加するカウンターを使うこと、衝突を否定できない場合は AES-GCM-SIV や XChaCha20-Poly1305 など誤用耐性モードへ移行することです。
● 例
- 01
TLS 1.3 は、シーケンス番号と方向別 IV を XOR してレコードごとの AEAD ノンスを生成する。
- 02
2010 年に PlayStation 3 の ECDSA 秘密鍵が回復されたのは、Sony が署名時のノンスを再利用したため。
● よくある質問
ノンス とは何ですか?
暗号アルゴリズムに与える一度しか使ってはならない値で、新鮮性を保証し、リプレイや鍵・IV の再利用を防ぐ。 サイバーセキュリティの 暗号 カテゴリに属します。
ノンス とはどういう意味ですか?
暗号アルゴリズムに与える一度しか使ってはならない値で、新鮮性を保証し、リプレイや鍵・IV の再利用を防ぐ。
ノンス からどのように防御しますか?
ノンス に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
ノンス の別名は何ですか?
一般的な別名: 一度限りの数, 暗号学的ノンス。