Задача аутентификации данных

Задача аутентификации данных. На первый взгляд может показаться, что данная задача решается простым шифрованием.

Действительно, если массив данных зашифрован с использованием стойкого шифра, такого, например, как ГОСТ 28147-89, то для него практически всегда будет справедливо следующее в него трудно внести изменения осмысленным образом, поскольку со степенью вероятности, незначительно отличающейся от единицы, факты модификации зашифрованных массивов данных становятся очевидными после их расшифрования - эта очевидность выражается в том, что такие данные перестают быть корректными для их интерпретатора вместо текста на русском языке появляется белиберда, архиваторы сообщают, что целостность архива нарушена и т.д. только обладающие секретным ключом шифрования пользователи системы могут изготовить зашифрованное сообщение, таким образом, если к получателю приходит сообщение, зашифрованное на его секретном ключе, он может быть уверенным в его авторстве, так как кроме него самого только законный отправитель мог изготовить это сообщение.

Тем не менее, использование шифрования в системах обработки данных само по себе неспособно обеспечить их аутентичности по следующим причинам 1. Изменения, внесенные в зашифрованные данные, становятся очевидными после расшифрования только в случае большой избыточности исходных данных.

Эта избыточность имеет место, например, если массив информации является текстом на каком-либо человеческом языке.

Однако в общем случае это требование может не выполняться - если случайная модификация данных не делает их недопустимым для интерпретации со сколько-нибудь значительной долей вероятности, то шифрование массива не обеспечивает его подлинности.

Говоря языком криптологии, аутентичность и секретность суть различные свойства криптосистем. Или, более просто свойства систем обработки информации обеспечивать секретность и подлинность обрабатываемых данных в общем случае могут не совпадать. 2. Факт успешного в смысле предыдущего пункта расшифрования зашифрованных на секретном ключе данных может подтвердить их авторство только в глазах самого получателя. Третья сторона не сможет сделать на основании этого однозначного вывода об авторстве массива информации, так как его автором может быть любой из обладателей секретного ключа, а их как минимум два - отправитель и получатель.

Поэтому в данном случае споры об авторстве сообщения не могут быть разрешены независимым арбитражем. Это важно для тех систем, где между участниками нет взаимного доверия, что весьма характерно для банковских систем, связанных с управлением значительными ценностями. Таким образом, существование проблемы подтверждения подлинности и авторства массивов данных, отдельной от задачи обеспечения их секретности, не вызывает сомнения.

В последующих разделах настоящей статьи излагаются подходы к ее решению, базирующиеся на использовании классических блочных шифров. В разделе 2 рассматриваются подходы к решению задачи подтверждения подлинности данных, а в разделе 3 - к задаче подтверждения их авторства. В принципе, для решения указанных задач может быть использован любой традиционный блочный криптографический алгоритм.

В компьютерных кодах, прилагаемых к настоящей статье, автор использует наиболее знакомый и близкий ему шифр - криптоалгоритм ГОСТ28147-89. 2.