Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Основы информационной безопасности

..pdf
Скачиваний:
7
Добавлен:
12.11.2023
Размер:
11.15 Mб
Скачать

ции по подписи имеет частоту ошибочного отрицания, приблизительно равную частоте ошибочного признания и составляющую около 0,5 %.

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

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

12.2. Методы контроля доступа

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

«списковые» схемы, в которых защитные механизмы встраиваются в каждый объект и осуществляют контроль в соответствии со списками доступа данного объекта;

«мандатные» схемы, в которых защитный механизм объекта реа-

гирует на некоторый мандат и субъект должен иметь набор мандатов для доступа ко всем необходимым ему объектам.

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

Системы без схем защиты. В некоторых системах полностью отсутствуют механизмы, препятствующие определенному пользователю полу-

401

читьдоступкинформации, хранимойвсистеме. Хотянасовременномэтапе развития средств защиты информации эти системы уже не представляютинтереса, онихследуетупомянутьпотому, чтонекоторыеизнихдосих пор широко использовались, да еще и продолжают использоваться. Это, например, DOS для IBM360/370, MS и PS DOS для персональных ЭВМ.

Системы, построенные по принципу виртуальной машины. В та-

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

вполное распоряжение пользователя, который может считать, что имеет

всвоем распоряжении собственную ЭВМ. Здесь разграничение доступа реализовано путем полного изолирования пользователей друг от друга. Данная схема в чистом виде делает затруднительным взаимодействие пользователей, поэтому иногда здесь приходится вводить еще и элементы разграничения доступа, например парольный доступ к некоторым ресурсам совместного использования. К числу подобных систем относятся VM/370 для IBM, CBM для ЕС ЭВМ и некоторые другие.

Системы с единой схемой контроля доступа. Для обеспечения пря-

мого контроля доступа к отдельным ресурсам в таких системах с каждым информационным элементом может быть связан «список авторизованных пользователей», причем владелец элемента может предписать различным пользователям различные режимы его использования – для чтения, для записи или для выполнения. Среди функционально полных систем такого рода можно отметить ОС ADEPT-50, разработанную по заказу Министерства обороны США.

Системы с программируемыми схемами разграничения доступа. Час-

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

402

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

Системыдинамическогораспределенияправ. Большинствоизпред-

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

Вопросы для самоконтроля к главе 12

1.Каковы основные принципы защиты информации от несанкционированного доступа? В чем заключается суть каждого из них?

2.Чем различаются модели защиты информации?

3.Дайте определения идентификации и аутентификации пользователей. В чем разница между этими понятиями?

4.Назовите основные способы аутентификации. Какой из этих способов является, по-вашему, наиболее эффективным?

5.Приведите примеры известных вам систем аутентификации, построенных по принципу «пользователь имеет». Что вы можете сказать о преимуществах и недостатках методов аутентификации пользователей пластиковых кредитных карточек, широко используемых в банковской сфере?

6.Каковы основные характеристики устройств аутентификации? Сравните известные вам устройства по каждой из этих характеристик.

7. Какие основные методы контроля доступа используются в современных автоматизированных системах?

403

ГЛАВА 13

КРИПТОГРАФИЧЕСКИЕ МЕТОДЫ ЗАЩИТЫ ИНФОРМАЦИИ

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

13.1. Введение в проблемы классической криптографии

Чтобы сделать материал данного подраздела более наглядным, начнем с рассмотрения небольшого примера.

Пусть шифруемые сообщения состоят из символов алфавита А, включающего буквы русского языка (без буквы Ё), и знака пробела. И имеется таблица, задающая соответствие между символами этого алфавита и числами от 0 до 32 (табл. 13.1).

Таблица 13.1

Шифрование методом простой замены

А

Б

В

Г

Д

Е

Ж

3

И

Й

К

Л

М

Н

О

П

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

09

23

01

04

07

02

14

13

21

31

17

25

29

06

22

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Р

С

Т

У

Ф

X

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

26

00

19

30

08

18

16

28

03

27

32

15

10

20

24

12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Шифрование методом простой замены в данном случае заключается

вподменесимволовшифруемогосообщениясоответствующимичислами из второй строки: «А» на «09», «Б» на «23» и т.д. Таким образом, текст:

«ПРОСТАЯ ЗАМЕНА ОДИН ИЗ САМЫХ ДРЕВНИХ ШИФРОВ»

взашифрованном виде будет выглядеть следующим образом:

404

«11 26 22 00 19 09 12 05 13 09 29 02 06 09 05 22 07 21 06 05 21 13 05 00 09 29 15 18 05 07 26 02 01 06 21 18 05 03 21 08 26 22 01».

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

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

Таблица 13.2 Оценки вероятностей появления букв русского языка и пробела

А

Б

В

Г

Д

Е, Ё

Ж

3

И

Й

К

 

 

 

 

 

 

 

 

 

 

 

0,069

0,013

0,038

0,014

0,024

0,071

0,007

0,016

0,064

0,010

0.029

 

 

 

 

 

 

 

 

 

 

 

Л

М

Н

О

П

Р

С

Т

У

Ф

X

 

 

 

 

 

 

 

 

 

 

 

0,039

0,027

0,057

0,094

0,026

0,042

0,046

0,054

0,023

0,003

0.008

 

 

 

 

 

 

 

 

 

 

 

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

 

 

 

 

 

 

 

 

 

 

 

 

0,005

0,012

0,006

0,004

0,001

0,015

0,013

0,002

0,005

0,017

 

 

 

 

 

 

 

 

 

 

 

 

Примечание. Оценки получены на основе анализа научно-технических и художественных текстов общим объемом более 1 000 000 символов.

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

405

Чтобы дать определение шифра нам понадобится ввести в рассмотрение ряд понятий. Пусть X – множество возможных открытых текстов; S – множество шифрованных текстов (криптограмм); К – множество ключей.

Определение. Шифр – это совокупность инъективных отображений множества открытых текстов во множество шифрованных текстов, проиндексированная элементами из множества ключей

{FК: XS, К К} (для упрощения изложения мы здесь не рассматриваем случай, когда при фиксированном ключе в отображении может присутствовать элемент случайности).

Для того чтобы зашифровать сообщение X Х, нужно выбрать ключ К К и применить к X отображение FК. Получившийся результат FК (X) = S является результатом шифрования текста X на ключе К. Для расшифрованияиспользуетсяотображение, обратноеFК, существование которого для множества FК (X) = {FК (X), X X} вытекает из требования инъективности отображений FК для всех К К (инъективным называется отображение множества А во множество В, при котором различные элементы из А имеют различные образы в В).

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

Подчеркнем, что под дешифрованием мы понимаем процесс восстановления открытого текста по шифрованному при неизвестном ключе(вотличиеотрасшифрования, когдавосстановлениеисходноготекста происходит при известном ключе). Таким образом, свои расшифровывают, а враги дешифруют.

Врассмотренном выше примере X представляет собой множество слов конечной длины в алфавите A, S – множество слов конечной длины

валфавите из цифр от 0 до 32, К – множество перестановок 33 элементов (всего таких перестановок 33!8,7 × 1036).

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

406

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

Во-вторых, шифр должен быть стойким к дешифрованию, то есть должно быть достаточно сложно узнать открытый текст, имея только шифрованное сообщение и не имея ключа, даже если известен сам шифр. Можно рассматривать и другие варианты возможностей противника (см., например, [1] или [5]).

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

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

Более полувека назад К. Шеннон дал следующее определение совершенного шифра: это шифр, при использовании которого перехват криптограммы не дает противнику никакой информации о передаваемом сообщении, даже если противник обладает неограниченными вычислительными ресурсами [48].

Приведем пример такого шифра. Пусть имеется сообщение t1,.., tn, представляющее собой последовательность символов из алфавита А, состоящего, как и ранее, из 32 букв русского языка и пробела (буквы Е и Е не различаются). Ключ К представляет собой последовательность чисел k1…, kn из множества чисел М = {0,..,32}. Зашифрованный текст s1…, sn вычисляется по следующей формуле:

Si = (C (ti) + ki)mod 33, i = 1,.., n,

гдеС: АМ– функция, отображающаясимволвегопорядковыйномер. Запись d = (a+b)mod m означает, что d совпадает с остатком от деления на т суммы чисел а и b, например l = (4+7)mod 10.

Расшифровать сообщение можно с помощью формулы ti = C1 ((si+ (33 – ki))mod 33). В данном случае через С1 обозначается функция, отображающая число из множества от 0 до 32 в символ (букву или пробел) с соответствующим номером.

407

Будем предполагать, что ключ выбирается случайно равновероятно из Мn – множества векторов длины п, координаты которых принимают значения из М (или, что то же самое, каждый из элементов ключа ki i = 1,.., n, выбирается случайно равновероятно и независимо из М).

Определенный таким образом шифр называется шифром гаммирования со случайной равновероятной гаммой (гаммой принято называть последовательность чисел k1,.., kn, складываемую по модулю с шифруемым сообщением).

При таком методе шифрования количество символов в криптограмме совпадает с количеством символов сообщения, то есть совпадают их длины. Чтобы скрыть от противника длину сообщения, его можно дополнить пробелами до некоторой фиксированной длины, которую не превосходит стандартное сообщение. В приведенном ниже примере мы будем дополнять сообщения до 10 символов.

Зашифруем с помощью описанного выше шифра гаммирования сообщение «НАСТУПАТЬ» на ключе «05 12 03 29 24 12 30 14 11 31». Для этого заменим буквы нашего сообщения их порядковыми номерами в алфавите и сложим эти номера с элементами ключевой последовательности по модулю 33:

13 00 17 18 19 15 00 18 28 32 – шифруемое сообщение в цифровом виде;

05 12 03 29 24 12 30 14 11 31 – ключ; 18 12 20 14 10 27 30 32 06 30 – результат шифрования.

Криптоаналитик противника, зная алгоритм шифрования и имея зашифрованный текст, но не имея ключа, не сможет извлечь для себя никакой другой информации, кроме самого факта передачи сообщения (факт передачи сообщения можно замаскировать, передавая с определенной частотой «пустые» сообщения). Делая разные предположения оключе, криптоаналитикбудетполучатьразныеоткрытыетексты. Изменяязначениеki от0 до32, онполучитвсевозможныезначенияi-госимво- лаоткрытоготекста, независимоотзначенияi-госимволакриптограммы. Таким образом, излюбогошифрованного текста можнополучитьпроизвольныйтексттакойжедлины. Вчастности, еслипредположить, чтобыл выбран ключ, удовлетворяющий соотношению ki = (33–C (ti) + s)mod 33, i = 1,.., n, криптограмма s1,.., sn будет расшифрована в сообщение t1,.., tn. Например, в нашем случае, в предположении, что использовался ключ

408

«04 27 03 29 24 12 30 14 11 31», криптограмма «18 12 20 14 10 27 30 32 06 30» будет дешифрована в сообщение «ОТСТУПАТЬ » – прямо противоположноепосмыслуисходному(«НАСТУПАТЬ»). Посколькуключи выбирались случайно равновероятно, криптоаналитик противника на основе шифртекста не сможет отдать предпочтение ни одному из возможных сообщений из десяти символов (всего их 3310). Единственное, что может сделать противник в данном случае – это отсортировать сообщения на более вероятные и менее вероятные, исходя из анализа обстановки. Например, если сторона, которой адресовано сообщение, имеет превосходство над своим противником, то сообщение «ОТСТУПАТЬ» является менее вероятным, чем сообщение «НАСТУПАТЬ», а получение приказа «СДАВАЙТЕСЬ» – совсем неправдоподобно. Однако, чтобы прийти к подобным выводам, нет необходимости перехватывать криптограммы противника.

Строгое математическое определение совершенного шифра можно дать только с использованием понятий теории вероятностей.

Пусть Р (Х1),.., Р (Хт) – априорное распределение на множестве сообщений; PX (S) – вероятностьтого, чтосообщениеX будетзашифровано в криптограмму S; P (S) – вероятность появления криптограммы S.

Тогда апостериорная вероятность передачи сообщения X при условии, чтоперехвачено зашифрованное сообщение S, вычисляется поформуле

PS (X ) =

P(X )PX

(S)

.

(13.1)

P(S)

 

 

 

 

 

Определение. Шифр называется совершенным, если для любой пары X и S выполняется равенство Ps (X) = Р (Х), то есть вероятность передачи сообщения X при условии перехвата криптограммы S совпадает с априорной вероятностью сообщения X.

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

Очевидно, что для любой пары X, S существует единственный ключ КXS К такой, что сообщение X, зашифрованное на ключе КXS совпадает с S (координаты этого ключа вычисляются по формуле ki = (33 – С (ti) + si)mod33, i = 1,.., n). Поскольку по предположению ключи выбираются случайно равновероятно, любой открытый текст мо-

409

жет перейти в любой шифрованный с вероятностью 1/3310, то есть PX (S) = 1/3310 для всех X X, S S. С другой стороны,

P(S) = P(X )P(КXS ) = P(X )

1

=

1

 

10

10

X X

X X

33

 

33 .

Таким образом, из формулы (13.1) вытекает, что Ps (X) = Р (Х) для всех X X, S S и по определению рассматриваемый шифр является совершенным.

Рассмотренный метод шифрования можно было бы считать идеальным, если бы не один существенный недостаток – длина ключа при гаммировании случайной равновероятной гаммой совпадает с длиной шифруемого текста. Конечно, современные технические средства позволяют обеспечитьхранениебольшогообъемаключевыхданных, используядля этого, например, лазерные диски. Однако во многих случаях реализация данного метода будет слишком дорогой и неудобной. Например, чтобы обеспечить шифрование изображения со спутника-шпиона, необходимо будет отправить в космос целый контейнер с несколькими тысячами лазерных дисков. Большие трудности возникают также при попытке объединить в сети связи большое количество абонентов. Ведь в этом случае необходимо иметь возможность быстро получать доступ к ключу любого абонента (а их может быть несколько тысяч). Таким образом, на практике, как правило, приходится довольствоваться шифрами, которые не являются совершенными. В частности, распространены шифры гаммирования с использованием псевдослучайной гаммы.

Проанализируем стойкость рассматривавшегося выше шифра гаммирования в предположении, что вместо случайной гаммы используется псевдослучайная последовательность. Для того чтобы упростить дальнейшее изложение, перейдем к алфавиту из 32 символов, отбросив пробел из нашего исходного алфавита М. Вместо пробела в сообщениях будем использовать одну из редко встречающихся букв, например «Ф».

Будем предполагать, что ключ К = (Y1, Y2, Y3) состоит их трех чисел, выбранных случайно равновероятно и независимо из множества {0,..,31}. С помощью рекуррентного соотношения Yt = (Yt – 1 + Yt – 3)mod 32 порождаются элементы последовательности Y1,..., Yn + 1 для t > 3. Затем по формуле

410