Кратко

  • RFC 7146 заменил требование RFC 3723 реализовывать 3DES-CBC на обязательную реализацию AES-CBC для IPsec в протоколах блочного хранения.
  • Значение 3 ГиБ иллюстрирует десятикратный запас относительно birthday bound в 32 ГиБ для 64-битного блока; это не универсальное правило смены ключа и не описание состоявшейся атаки.

Объём данных опережал длительность сеанса

Ассоциация безопасности IPsec могла исправно обслуживать активную сессию хранения и всё же приближаться к криптографическому пределу до её завершения. RFC 7146, опубликованный в апреле 2014 года, отвечал на этот разрыв: ожидалось, что протоколы блочного хранения будут работать на скоростях в несколько гигабит в секунду, тогда как 3DES обрабатывает 64-битные блоки. Важен был не только срок использования ключа, но и количество данных, зашифрованных под ним.

Документ обновил требования IPsec из RFC 3723. Раньше реализация должна была поддерживать 3DES в режиме CBC, а поддержку AES в режиме счётчика (AES-CTR) рекомендовалось реализовать. RFC 7146 сделал оба варианта необязательными и потребовал реализовывать AES-CBC. Требование поддерживать NULL-шифрование сохранилось: оно позволяет создавать ассоциации с аутентификацией и целостностью, но без конфиденциальности. Это требования к возможностям реализации, а не приказ выбирать конкретный алгоритм в каждом развёртывании.

Предел — не таймер

Для шифра с размером блока 64 бита RFC 7146 указывает birthday bound в 32 ГиБ. Ключ следует менять существенно раньше, поскольку по мере приближения к этому объёму проявляются слабости. В качестве примера документ приводит 3 ГиБ для запаса примерно на порядок при передаче по каналу в несколько гигабит в секунду. Это иллюстрация эксплуатационной нагрузки, а не обязательный порог для всех систем.

В хранилище несколько гигабайт могут пройти быстро. Политика, основанная только на длительности сеанса, может не учитывать фактический объём. Частая смена ключей также требует, чтобы обе стороны надёжно согласовывали и устанавливали новые ассоциации без остановки трафика. RFC 7146 показывает эту нагрузку, но не утверждает, что каждая сессия 3DES достигала предела или что была зафиксирована успешная атака.

У AES размер блока — 128 бит, а указанный в RFC предел намного выше: 2^68 байт. Поэтому AES-CBC стал новым обязательным для реализации алгоритмом совместимости. Но режимы AES не взаимозаменяемы: реализациям с поддержкой IKEv2 рекомендуется поддерживать и AES-GCM. Причина изменения статуса AES-CTR иная: документ говорит, что аппаратные соображения стали благоприятствовать GCM. Он не описывает изменение как провал безопасности CTR.

Что изменило обновление стандарта

RFC 7146 меняет требования к реализации, а не описывает парк установленного оборудования, не измеряет сети хранения и не является универсальной современной рекомендацией по криптографии. 3DES-CBC по-прежнему можно реализовывать там, где скорость ниже и частота смены ключей приемлема. Изменилась минимальная гарантия совместимости для указанного сценария, а не все унаследованные применения.

Исторический вывод: требования к реализации содержат предположения об эксплуатации. Алгоритм может оставаться доступным, но рост скорости меняет цену удержания его в заданных пределах. Поэтому следует совместно оценивать поддерживаемые алгоритмы, согласованный срок ассоциации, объём переданных байтов, пространство номеров последовательности и возможность менять ключи без перерыва. RFC 7146 явно связывает эти факторы, но практическая политика и доказательства развёртывания остаются задачей операторов.

Источники: RFC 7146; сведения о RFC 7146; список исправлений RFC 7146; RFC 3723; RFC 4106; RFC 3602; RFC 4303; RFC 4301; RFC 8221; RFC 6071; RFC 6176.