logo search
Криптографическая защита информации

7.4. Целостность данных и аутентификация сообщений

Термин "аутентификация" означает установление подлинности. Он может относиться ко всем аспектам взаимодействия: сеансу связи, сторонам, передаваемым сообщениям и т.д. Применительно к самой информации аутентификация означает проверку того, что данные, передаваемые по каналу связи, являются подлинными по своему источнику и содержанию, по времени создания, времени пересылки и т. д.

Рассмотрим эти свойства более подробно.

Целостность данных – свойство, позволяющее убедиться в том, что данные не изменялись неавторизованным способом с тех пор, как они были созданы, переданы или сохранены авторизованным источником. Под изменениями обычно понимают пропуски, вставки, замены и перестановки фрагментов сообщения.

Аутентификация источника данных – получение подтверждения того, что рассматриваемый документ был создан именно указанным соответствующим образом источником информации. Подчеркнем, что при этом не требуется проверка времени создания и единственности документа, важно только то, что он был создан в некоторый (обычно неопределенный) момент времени в прошлом. Нарушение "единственности документа" подразумевает его повторную передачу или повторное использование. Если источник сообщений фиксирован, то вместо термина "аутентификация источника данных" используют термин "аутентификация сообщений".

Целостность данных и аутентификация источника данных тесно связаны друг с другом. Действительно, если данные подверглись модификации, то у них автоматически изменился источник. Если же не установлен источник, то без ссылки на него нельзя разрешить проблему целостности. В связи с этим будем считать по определению, что аутентификация источни­ка данных включает проверку целостности данных.

Рассмотрим примеры.

1. Для обеспечения целостности хранимых данных (М) мож­но добавить к ним значение криптографической хэш-функции (М, hk(М)), зависящей от ключа, известного только владельцу информации. Такой способ автоматически решает проблему аутентификации источника данных.

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

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

4. Аутентификация источника возможна также при совмест­ном использовании бесключевой хэш-функции и симмет­ричного шифрования. Для этого достаточно воспользо­ваться одной из следующих форм передаваемого сообще­ния: Еk(M,h(M)) или (М, Еk(h(М))). В рассматри­ваемом случае можно повторить те же комментарии, что и в п. 2. К этому следует добавить, что алгоритм шифрования Еk должен быть стойким к атакам на основе известного открытого текста.

5. На практике чаще, чем предыдущие, применяются схемы, использующие бесключевые хэш-функции в сочетании с асимметричным шифрованием. Подобным образом на ос­нове схемы (Mk(h(M))) строятся алгоритмы вычис­ления цифровой подписи. Подобные схемы позволяют решать проблему аутентификации источника как при взаимодействии доверяющих друг другу, так и не дове­ряющих друг другу сторон.

6. Возможно совместное использование ключевой хэш-функции и симметричного шифрования в соответствии с одной из следующих схем:

и т. д. При таком подходе не только ключи шифрования (k1) и хэш-функции (k2) должны быть независимыми, но и сами алгоритмы шифрования и вычисления значения хэш-функции также должны иметь существенные разли­чия. В противном случае возникают дополнительные со­отношения, которые можно использовать для отбраковки ключей.

В заключение рассмотрим вопрос о дополнительном гарантировании единственности и своевременности передачи сообщений. В этом случае используется термин "аутентификация транзакции", означающий аутентификацию сообщения подтверждением единственности и своевременности передачи данных. Такой тип аутентификации предоставляет возможность защиты от повторного использования ранее переданныx сообщений, что является необходимым в тех случаях, когда подобная угроза может привести к нежелательным последствиям. Примером таких приложений являются элек­тронные банковские платежи или системы автоматизирован­ного управления подвижными объектами.

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