Однонаправленная хэш-функция MAC
В качестве MAC может быть использована и однонаправленная хэш-функция [1537]. Пусть Алиса и Боб используют общий ключ K, и Алиса хочет отправить Бобу MAC сообщения M. Алиса объединяет Kи M, и вычисляет однонаправленную хэш-функцию объединения: H(K,M). Это хэш-значение и является кодом MAC. Так как Боб знает K, он может воспроизвести результат Алисы, а Мэллори, которому ключ неизвестен, не сможет это сделать.
Со методами MD-усиления этот способ работает, но есть серьезные проблемы. Мэллори всегда может добавить новые блоки к концу сообщения и вычислить правильный MAC. Это вскрытие может быть предотвращено, если к началу сообщения добавить его длину, но Пренел сомневается в этой схеме [1265]. Лучше добавлять ключ к концу сообщения, H(M,K), но при этом также возникают проблемы [1265]. Если Hоднонаправленная функция, которая не защищена от столкновений, Мэллори может подделывать сообщения. Еще лучше H(K,M,K)или H(Kl,M,K2),где Klи K2 различны [1537]. Пренел не уверен и в этом [1265].
Безопасными кажутся следующие конструкции:
H(Kl, H(K2, M))
H(K, H(K,M))
H(K, p,M,K)), где p дополняет K до полного блока сообщения.
Лучшим подходом является объединение с каждым блоком сообщения по крайней мере 64 битов ключа. Это делает однонаправленную функцию менее эффективной, так как уменьшаются блоки сообщения, но так она становится намного безопаснее [1265].
Или используйте однонаправленную хэш-функцию и симметричный алгоритм. Сначала хэшируйте файл, потом зашифруйте хэш-значение. Это безопаснее, чем сначала шифровать файл, а затем хэшировать зашифрованный файл, но эта схема чувствительна к тому же вскрытию, что и конструкция H(M,K) [1265].
MAC с использованием потокового шифра
Эта схема MAC использует потоковые шифры (см. Рис. 18-15) [932]. Криптографически безопасный генератор псевдослучайных битов демультиплексирует поток сообщения на два подпотока. Если на выходе генератора битов ki единица, то текущий бит сообщения mi отправляется в первый подпоток, если ноль, то mi отправляется во второй подпоток. Каждый подпоток отправляется на свой LFSR (раздел 16.2). Выходом MAC просто является конечное состояние обоих регистров.
К несчастью этот метод небезопасен по отношению к небольшим изменениям в сообщении [1523]. Например, если изменить последний бит сообщения, то для создания поддельного MAC нужно будет изменить только 2 бита соответствующего MAC; это может быть выполнено с заметной вероятностью. Автор предлагает более безопасный, и более сложный, вариант.
Рис. 18-15. MAC с использованием потокового шифра.
Дата добавления: 2021-01-26; просмотров: 371;