Galois/Counter Mode
GCM (аббр. от англ. Galois/Counter Mode — счётчик с аутентификацией Галуа) — широко применяющийся режим работы симметричных блочных шифров, имеющий высокую эффективность и производительность[1]. Является режимом аутентифицированного шифрования (AEAD)[2], предоставляя как конфиденциальность, так и аутентификацию переданных данных (гарантируя их целостность).
Режим GCM определяется для блочных шифров с размером блока в 128 бит. Существует вариант GCM под названием GMAC, предоставляющий лишь аутентификацию данных, он может использоваться как инкрементальный код аутентификации сообщений. И GCM и GMAC принимают на вход вектор инициализации произвольной длины. Алгоритм не ограничен патентами[3].
Благодаря наличию кода аутентификации (имитовставки), данный режим аутентифицированного шифрования позволяет получателю легко обнаружить любые изменения сообщения (как зашифрованного, так и дополненного информацией, переданной открыто), прежде чем начать его расшифровку, что значительно улучшает защиту от искажений, атак активного MITM и атак на основе оракулов[англ.] (например от Padding oracle attack[англ.] для CBC-режима).
Стандарт NIST США с 2007 года[4].
Принцип работы
[править | править код]В обычном режиме шифрования CTR (счётчик) входные блоки нумеруются последовательно, номер блока шифруется блочным алгоритмом E (обычно AES). Выход функции шифрования используется в операции XOR (исключающее или) с открытым текстом для получения шифротекста. Как и для других режимов на базе счётчиков, схема представляет собой потоковый шифр, поэтому обязательным является использование уникального вектора инициализации для каждого шифруемого потока данных.
В GCM используется функция Галуа «Mult» («GHASH(H, A, C)»), которая комбинирует блоки шифротекста и код аутентификации, чтобы получить тег аутентификации. На вход функции подается ключ хеширования H, являющийся результатом шифрования 128 нулевых битов на ключе K, т.е. H=E(K, 0^128). Тег аутентификации используется для проверки целостности сообщения. По каналу передаются: вектор инициализации[англ.] IV, блоки шифротекста, и код аутентификации (16 байтов). По своим свойствам режим GCM (GMAC) похож на HMAC.
GCM режим подвергся критике в мире встраиваемых систем со стороны Silicon Labs, поскольку параллельная обработка не подходит для эффективного использования криптографических аппаратных движков и, следовательно, снижает производительность шифрования для некоторых наиболее чувствительных к производительности устройств[6].
Применение
[править | править код]Режим GCM используется в IEEE 802.1AE (MACsec) для безопасного Ethernet, беспроводном IEEE 802.11ad (WiGig в 60-ГГц полосе), "Fibre Channel Security Protocols" (FC-SP) от ANSI (INCITS), формате хранения на цифровых лентах IEEE P1619.1, в стандартах IPsec от IETF[7][8], может применяться в SSH[9] и TLS (версии 1.2 и новее)[10][11]. Применяется в VPN решениях, в OpenVPN присутствует с версии 2.3.3 (в шифрах AES-256-GCM-SHA384 и AES-128-GCM-SHA256)[12].
См. также
[править | править код]Примечания
[править | править код]- ↑ Lemsitzer, Wolkerstorfer, Felber, Braendli, Multi-gigabit GCM-AES Architecture Optimized for FPGAs. CHES '07: Proceedings of the 9th international workshop on Cryptographic Hardware and Embedded Systems, 2007.
- ↑ В англоязычной литературе это называется AEAD — Authenticated Encryption with Associated Data. В криптографии ГОСТ такого режима нет.
- ↑ Архивированная копия . Дата обращения: 20 сентября 2017. Архивировано 29 августа 2008 года.
- ↑ NIST Special Publication 800-38D Архивная копия от 5 августа 2011 на Wayback Machine, November, 2007, Recommendation for BlockCipher Modes of Operation:Galois/Counter Mode (GCM) and GMAC.
- ↑ http://ai2-s2-pdfs.s3.amazonaws.com/114a/4222c53f1a6879f1a77f1bae2fc0f8f55348.pdf
- ↑ Community - Silicon Labs (амер. англ.). community.silabs.com. Дата обращения: 3 ноября 2023. Архивировано 26 октября 2017 года.
- ↑ RFC 4106 The Use of Galois/Counter Mode (GCM) in IPsec Encapsulating Security Payload (ESP)
- ↑ RFC 4543 The Use of Galois Message Authentication Code (GMAC) in IPsec ESP and AH
- ↑ RFC 5647 AES Galois Counter Mode for the Secure Shell Transport Layer Protocol
- ↑ RFC 5288 AES Galois Counter Mode (GCM) Cipher Suites for TLS
- ↑ RFC 6367 Addition of the Camellia Cipher Suites to Transport Layer Security (TLS)
- ↑ David Guyton. OpenVPN Version List and Changelog (англ.) (1 октября 2019). — Last Updated: Sunday, 12 January 2020.
Ссылки
[��равить | править код]- NIST Special Publication SP800-38D defining GCM and GMAC (англ.)
- RFC 4106: The Use of Galois/Counter Mode (GCM) in IPsec Encapsulating Security Payload (ESP) (англ.)
- RFC 4543: The Use of Galois Message Authentication Code (GMAC) in IPsec ESP and AH (англ.)
- RFC 5288: AES Galois Counter Mode (GCM) Cipher Suites for TLS (англ.)
- RFC 6367: Addition of the Camellia Cipher Suites to Transport Layer Security (TLS) (англ.)
- IEEE 802.1AE — Media Access Control (MAC) Security (англ.)
- IEEE Security in Storage Working Group Архивная копия от 2 декабря 2007 на Wayback Machine developed the P1619.1 standard (англ.)
- INCITS T11 Technical Committee works on Fibre Channel — Security Protocols project. (англ.)
- AES-GCM and AES-CCM Authenticated Encryption in Secure RTP (SRTP) (англ.)
- [1] (рус.)
- Симметричные схемы аутентичного шифрования - GCM в cryptowiki.net
В другом языковом разделе есть более полная статья Galois/Counter Mode (англ.). |