Роли ipad и opad. Учитывая вышесказанное, можно удивиться, почем необхо-
димо вводить k во «внутреннее» вычисление Hs ( (k ⊕ ipad) || m). (В частности,
для того, чтобы сделать подход хэш-и-MAC защищенным, нам нужна стойкость
к коллизиям на первом шаге, где не требуется секретный ключ.) Причина в том,
что это позволяет построить защиту HMAC на основе потенциально более слабо-
го предположения, что (GenH, H) является слабо стойкой к коллизиям, где слабая
стойкость к коллизиям определяется следующим экспериментом: ключ s генери-
руется с использованием GenH, и подбирается универсальный секретный kin ∈ {0,
1}n. Затем злоумышленнику разрешаетс я взаимодействовать с «хэш-оракулом»,
который возвращает Hs (m) в ответ на запрос m, где Hs ссылается на вычисление
Hs с использованием преобразования Меркле-Дамгорда, применимого к hs, но с
использованием секретного значения kin в качестве IV. (Снова см. Рисунок 5.2.) У
злоумышленника получится, если он сможет вывести различные значения m, mr
так, чтобы Hs in(m) = Hsin(mr), и мы скажем, что (GenH, H) является слабо стойкой
к коллизиям , если у каждого ppt A получится осуществить данный эксперимент
только с пренебрежимо малой вероятностью. Если (GenH, H) является стойкой
к коллизиям, очевидно, что она является слабо стойкой к коллизиям; последнее
условие, однако, является наиболее слабым, которое протенциально легче всего
удовлетворить. Это хороший пример работающей техники обеспечения защиты.
Эта защитная расчетная стратегия окупила себя, когда было обнаружено, что хэш-
функция MD5 (см. Раздел 6.3.2) не была стойкой к коллзиям. Атаки нахождения
коллизии в MD5 не нарули слабой стойкости к коллизиям, и HMAC-MD5 не был
взломан, хотя MD5 взломали. Это дало разработчикам время для замены MD5 на
HMAC без сиюминутного страха быть атакованными. (Несмотря на это, HMAC-
MD5 не должен быть использован теперь, когда известны недостатки MD5.)
Вышеописанное предполагает, что независимые ключи должны использо-
ваться во внутренних и внешних вычисениях. Ради эффективности единичный
ключ k используется в HMAC, но ключ используется в сочетании с ipad и opad
, чтобы вывести два других ключа. Определим
tts(k)
hs .IV || (k ⊕ opad). || hs .IV || (k⊕ ipad). = k|| k . (5.4)
Если мы предположим, что tts является псевдослучайным генератором для
любой s, тогда kout и kin могут быть расценены как независимые и универ-
сальные ключи, если k является универсальным клюом. Защита HMAC в таком
случае уменьшается до защиты следующей конструкции:
(Сравните с Уравнением (5.3).) Как было отмечено ранее, данная конструкция
может оказаться защищенной (при использовании варианта доказательства для
180
подхода хэш-и-MAC), если H слабо стойкая от коллизий, и MAC, определен-
ный в Уравнении (5.2) - защищенный MAC фиксированной длины.
Достарыңызбен бөлісу: |