Как отмечает kelalaka, кажется, существует неявное предположение, что «транзакция» содержит несколько сообщений, прошедших отдельную проверку подлинности, и что эти сообщения не прикованный любым способом (например, путем включения маркера MAC предыдущего сообщения во входные данные для расчета MAC следующего сообщения).
Стоит отметить, что такая схема не защищает целостность транзакций в любом случае — злоумышленник MITM может изменить порядок, удалить или воспроизвести сообщения в рамках одной транзакции, не будучи перехваченным MAC. Атака дня рождения, как описано, только дает злоумышленнику дополнительную свободу воспроизведения сообщений от одной транзакции к другой с использованием того же ключа MAC, что не является большим расширением (и без того довольно плохой) уязвимости к атакам MITM, которые схема могла бы иметь даже с более длинными ключами MAC.
В принципе, дни рождения атакуют может влияют даже на хорошо спроектированные схемы аутентификации с несколькими сообщениями, если ключ MAC и/или маркеры слишком короткие. Детали, однако, во многом зависят от схемы, и обычно для таких атак требуется нечто большее, чем просто короткий ключ.
Например, предположим, что $я$-е сообщение в транзакции $t$ аутентифицируется тегом $$\tau_{i,t} = \operatorname{MAC}_{K_t}(\tau_{i-1,t} \mathbin\| i \mathbin\| m_{i,t}),$$ куда $K_t$ является MAC-ключом для каждой транзакции, $\tau_{i-1,t}$ это тег MAC для предыдущего сообщения в транзакции, $я$ - это номер сообщения (дополненный до фиксированной длины или иным образом однозначно отделенный от других входных данных MAC) и $m_{i,t}$ это сообщение, которое должно быть аутентифицировано.
Затем, чтобы иметь возможность заменить помеченное сообщение $(m_{i,t}, \tau_{i,t})$ с ранее перехваченным $(m_{i',t'}, \tau_{i',t'})$ из другой сделки $t'$ и пройти проверку MAC-адреса, злоумышленнику нужно не просто $K_t = K_{t'}$, но и $я = я'$ и $\tau_{i-1,t} = \tau_{i-1,t'}$. Этот мог произойти случайно, если общая длина ключа, тега и (типичные значения) счетчика сообщений была достаточно низкой, но это намного менее вероятно, чем просто столкновение двух ключей. На практике также потребуется, чтобы тег (или ключ!) был достаточно коротким, чтобы он был непосредственно уязвим для атак с подделкой методом грубой силы даже без использования эффекта дня рождения.
Таким образом, несмотря на то, что основная мысль, которую пытается донести книга, — ключи должны быть достаточно длинными, чтобы избежать коллизий дней рождения, — в целом является хорошим принципом, которому следует следовать, я не уверен, что реальная атака, которую они представляют, практический, по крайней мере, не против любых схем, которые в любом случае уже не уязвимы для гораздо более серьезных атак.