Подходы к контролю неизменности данных.
В настоящее время известны два подхода к решению задачи защиты данных от несанкционированного изменения, базирующихся на двух изложенных выше подходах к выработке контрольной комбинации:
1. Выработка MAC
– Message Authentification Code – кода аутентификации сообщений. Этот подход заключается в том, что контрольная комбинация вычисляется с использованием секретного ключа с помощью некоторого блочного шифра. Важно, что на основе любого такого шифра можно создать алгоритм вычисления MAC для массивов данных произвольного размера. В литературе ÌÀÑ иногда не вполне корректно называется криптографической контрольной суммой, или, что более точно, криптографической контрольной комбинацией. Данный подход к аутентификации данных общепризнан и закреплен практически во всех криптографических стандартах - имитовставка, формируемая согласно ГОСТ 28147-89 является типичным образцом MAC.
2. Выработка MDC
– Ìànipulation Detection Code – кода обнаружения манипуляций (с данными). Для вычисления MDC для блока данных используется так называемая необратимая функция сжатия информации, в литературе также называемая односторонней функцией, функцией одностороннего сжатия (преобразования) информации, криптографической хэш–функцией, или просто хэш–функцией. Понятно, что ее необратимость должна носить вычислительный характер:
- вычисление прямой функции Y=f(X) легко осуществимо вычислительно;
- вычисление обратной функции X=f–1(Y) неосуществимо вычислительно, то есть не может быть выполнено более эффективным путем, чем перебором по множеству возможных значений X;
Оба способа вычисления контрольной комбинации – MDC и MAC
принимают в качестве аргумента блок данных произвольного размера и выдают в качестве результата блок данных фиксированного размера.
В следующей ниже таблице 1 приведены сравнительные характеристики обоих подходов:
Таблица 1. Сравнительные характеристики подходов к решению задачи контроля неизменности массивов данных.
№ |
| Параметр сравнения | Подход | ||||
вычисление MAC | вычисление MDC | ||||||
1. | Используемое преобразование данных | Криптографическое преобразование (функция зашифрования) | Односторонняя функция, функция необратимого сжатия информации | ||||
2. | Используемая секретная информация | Секретный ключ | Не используется | ||||
3. | Возможность для третьей стороны вычислить контрольную комбинацию | Злоумышленник не может вычислить контрольную комбинацию, если ему не известен секретный ключ | Злоумышленник может вычислить контрольную комбинацию для произвольного блока данных | ||||
4. | Хранение и передача контрольной комбинации | Контрольная комбинация может храниться и передаваться вместе с защищаемым массивом данных | Контрольная комбинация должна храниться и передаваться отдельно от защищаемого массива данных | ||||
5. | Дополнительные условия | Требует предварительного распределения ключей между участниками информационного обмена | Не требует предварительных действий | ||||
6. | Области, в которых подход имеет преимущество | Защита от несанкционированных изменений данных при их передаче | Разовая передача массивов данных, контроль неизменности файлов данных и программ |
Прокомментируем отличия: подход на основе MAC требует для вычисления контрольной комбинации секретного ключа, для второго это не нужно. Потенциальный злоумышленник не сможет вычислить MAC для произвольного сфабрикованного им сообщения, но сможет вычислить MDC, так как для этого не требуется никаких секретных данных, поэтому MAC может передаваться от источника к приемнику по открытому каналу, тогда как для передачи MDC требуется защищенный канал.
Казалось бы, преимущества первого подхода настолько очевидны, что второй подход не сможет найти себе применения. Однако это не так – использование MAC требует, чтобы предварительно между участниками информационного обмена были распределены ключи. Если же этого не произошло, для его реализации необходим специальный канал, обеспечивающий секретность
и подлинность передаваемой информации, по которому параллельно с передачей данных по незащищенному каналу будут передаваться ключи. Для передачи же MDC требуется канал, обеспечивающий только подлинность передаваемых данных, требование секретности отсутствует, и это делает данный метод предпочтительным при одноразовой передаче данных: основная информация передается по обычному незащищенному каналу, а MDC сообщается отправителем получателю по каналу, который может прослушиваться но не может быть использован для навязывания ложных данных – например, голосом по телефону – если участники обмена лично знакомы и хорошо знают голоса друг друга. Кроме того, подход на основе выработки MDC более прост и удобен для систем, где создание и использование информационных массивов разделены во времени, но не в пространстве, то есть для контроля целостности хранимой, а не передаваемой информации – например, для контроля неизменности программ и данных в компьютерных системах. При этом контрольная комбинация (MDC) должна храниться в системе таким образом, чтобы исключить возможность ее модификации злоумышленником.
Оба подхода допускают возможность реализации на основе любого классического блочного шифра. При этом надежность полученной системы имитозащиты, конечно при условии ее корректной реализации, будет определяться стойкостью использованного блочного шифра – это утверждение исключительно легко доказывается. В двух последующих разделах будут рассмотрены оба подхода к контролю неизменности массивов данных.