Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [ 22 ] 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

1 Аутентификация 73

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

Бытует убежденность, что любая криптосистема с секретным ключом может использоваться непосредственно как с целью защиты информации, так и для того, чтобы обеспечить ее аутентификацию. Пусть к - секретный ключ, общий как для Алисы, так и для Боба, и пусть Ек и Dk - соответствующие алгоритмы шифрования и дешифрования. Если бы Боб получил от Алисы некоторый шифртекст с, он мог бы расшифровать его как т = Dk{c). В том случае, когда получившийся открытый текст m имеет смысл, Боб может чувствовать себя уверенным в том, что шифртекст сив самом деле был получен как с = Efc(ra) единственным кроме него самого человеком, знающим секретный ключ к, а именно Алисой. Аргументацией этого является то, что фальсификатор, не зная к, был бы не в состоянии составить фальшивый шифртекст так, чтобы он при расшифровке не превратился бы в бессмысленную мешанину символов. Однако эта вера ошибочна, потому что фальсификатор может, зная пары соответствующих открытых и шифрованных текстов, оказаться способным объединить отдельные части шифртекста в нечто вполне осмысленное. Помимо того, даже самые лучшие криптосистемы могут быть абсолютно бесполезными для целей аутентификации, особенно если они используются в режиме электронной кодовой книги (см. § 3.5).

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



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

Любая аутентификационная система состоит из пространства ключей К, и для каждого А; G АС из пространства сообщений Мку пространства меток Тк и аутентификационной функции Ак. Мк -Тк- При этом для любого заданного к должен легко получаться эффективный алгоритм вычисления Ак- Аутентификационная система используется следуюпщм образом. Если Аяяса и Боб ожидают, что со временем они могут обмениваться друг с другом подтверждающими свою подлинность сообщениями, то они сначала должны договориться о некотором секретном ключе к£К. Всякий раз, когда Аляса захочет аутентифицировать некоторое сообщение т£Мк для Боба (то есть подтвердить ему свое авторство данного сообщения), он вычисляет его метку t = Ак{т) и посылает ее вместе с т. Для того чтобы удостовериться в подлинности этого сообщения. Боб также вычисляет Ак{т) и сравнивает его с той меткой t, которую он получил. Конечно, это не исключает возможности при этом зашифровывать сообщение т, если требуется не только подтверждение его подлинности, но и соблюдение секретности.

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

Как и в случае криптографии с секретным ключом, здесь также можно выделить различные уровни атаки:

• Атака на основе известного сообщения: фальсификатор подслушал несколько аутентифицированных пар (mi,<i), ("г2,<2>, • • •. {mi,и), таких что tj - /4fc(mj) для каждого j, 1 i », при неизвестном к; тогда он сможет:



- ИЛИ вычислить к или оказаться неспособньглэто сделать; /

- или вычислить ti+i = /Afe(m,+i) для выбранного им самим сообщения m,-.).i или оказаться неспособным на это;

- или вычислить = /Afc(m,+i) для любого rriii, отличного от rrij, 1 У г (в надежде сбить с толку), или, если даже и это окажется невозможным, то

- вычислить некоторую пару (mi+i,t,+i) для нового m,+i такого, что ij-t-i должна быть правильной меткой Ak{mi+i) с вероятностью большей, нежели некоторая пренебрежимо малая величина.

• Атака на основе выбранных сообщений: фальсификатор вначале формирует некоторые сообщения mi, шг, ..., т,-, затем ему предоставляются соответствующие этим сообщениям метки tl = Ak{mi), t2 = Ак{т2), ..., ti = Ак{т{), после чего он решает одну из упомянутых выше задач (такой тип атаки может быть подготовлен с помощью временно устроившегося на работу в банк служащего, который имеет доступ на ограниченное время к аутентификационному черному ящику автомата).

Несмотря на все, что было сказано ранее, криптосистема с секретным ключом зачастую все же может использоваться в системах аутентификации в качестве составного блока. Это возможно, если криптосистема имеет блок фиксированного размера и если сообщение, которое должно аутентифицироваться, является достаточно длинным, и поэтому занимает несколько блоков. Идея заключается в том, чтобы зашифровывать сообщения либо в режиме шифрования со сцеплением блоков, либо в режиме шифрования с обратной связью и разрешить использовать для аутентификационной метки только таким образом получающийся в результате блок. В этом случае, согласно определению каждого из режимов, метка будет зависеть от всего сообщения. Если же добиваться и секретности, и аутентификации одновременно, и если для обеспечения обеих этих функций используется одна и та же криптосистема с секретным ключом, то тогда существенно надежнее будет использовать два различных секретных ключа [226].



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [ 22 ] 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57