CyberGlossary

Криптография

Нонс

Также известно как: Число одноразового использования, Криптографический нонс

Определение

«Число, используемое единожды», подаваемое криптографическому алгоритму для обеспечения свежести и предотвращения повторов и повторного использования ключа/IV.

Нонс — это вход, который не должен повторяться в течение жизни ключа; он используется симметричными шифрами, AEAD-режимами, схемами подписи и протоколами аутентификации, чтобы каждая операция была уникальной. В AEAD вроде AES-GCM или ChaCha20-Poly1305 нонс обычно имеет длину 96 бит и может быть случайным или детерминированным счётчиком; повторное использование нонса в AES-GCM при том же ключе катастрофически ломает и конфиденциальность, и аутентификацию. Нонсы также применяются в рукопожатиях TLS, OAuth/OIDC-запросах, заголовках блоков Bitcoin и в схемах подписи ECDSA, где повтор нонса раскрывает закрытый ключ. Рекомендуется использовать случайные нонсы достаточной длины или строго монотонный счётчик, а при риске коллизий переходить на режимы, устойчивые к неправильному использованию (AES-GCM-SIV, XChaCha20-Poly1305).

Примеры

  • TLS 1.3 формирует AEAD-нонс для каждой записи, XOR-ируя номер последовательности с IV направления.
  • Восстановление закрытого ECDSA-ключа PlayStation 3 в 2010 году произошло из-за того, что Sony повторно использовала нонс при подписи.

Связанные термины