Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Olifer_V_G__Olifer_N_A_-_Kompyuternye_seti_-_2010.pdf
Скачиваний:
2385
Добавлен:
21.03.2016
Размер:
23.36 Mб
Скачать

Шифрование

847

следовало бы признать устройство, которое при отказе просто отключается, начиная про­ пускать в сеть весь внешний трафик.

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

НЕМНОГО СТАТИСТИКИ ----------------------------------------------------------------------------------

По данным отчета1о состоянии информационной безопасности на предприятиях и компаниях Велико­ британии в 2008 году подавляющее большинство предприятий использует средства защиты, а именно:

99 % регулярно выполняют резервное копирование своих наиболее важных данных;

98 %имеют средства обнаружения шпионских программ;

97 %фильтруют трафик электронной почты на наличие спама;

97 % используют сетевые экраны для защиты своих веб-сайтов;

95 % сканируют входящие сообщения электронной почты на предмет содержания в них вирусов;

94 %шифруют трафик своих беспроводных сетей.

Шифрование

Шифрование—этосредствообеспеченияконфиденциальностиданных,хранящихся в памяти компьютера или передаваемых по проводной или беспроводной сети.

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

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

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

1 См. отчет «О нарушениях информационной безопасности 2008» («The Information Security Breaches Survey 2008»), представленный компанией PricewaterhouseCoopers по поручению Министерства предпринимательства, промышленности и управленческих реформ Великобритании.

2 Информацию, над которой выполняются функции шифрования и дешифрирования, будем условно

848

Глава 24. Сетевая безопасность

В криптографии принято п р а в и л о К е р к х о ф заключающееся,ф

в том, что стойкость

шифра должна определяться только секретностью ключа. Так, все стандартные алгоритмы шифрования (например, AES, DES, PGP) Широко известны1,их детальное описание содер­ жится в легкодоступных документах, но от этого их эффективность не снижается. Система остается защищенной, если злоумышленнику известно все об алгоритме шифрования, но он не знает секретный ключ.

Существует два класса криптосистем —симметричные и асимметричные. В симметричных схемах шифрования (классическая криптография) секретный ключ шифрования совпадает с секретным ключом дешифрирования. В асимметричных схемах шифрования (криптогра­ фия с открытым ключом) открытый ключ шифрования не совпадает с секретным ключом дешифрирования.

Симметричные алгоритмы шифрования

На рис. 24.8 приведена классическая модель с и м м е т р и ч н о й к р и п т о с и с ттеоретическием ы ,

основы которой впервые были изложены в 1949 году в работе Клода Шеннона. В данной модели три участника: отправитель, получатель и злоумышленник. Задача отправителя за­ ключается в том, чтобы по открытому каналу передать некоторое сообщение в защищенном виде. Для этого он зашифровывает открытый текст X ключом k и передает шифрованный текст Y. Задача получателя заключается в том, чтобы расшифровать Y и прочитать сообще­ ние X. Предполагается, что отправитель имеет свой источник ключа. Сгенерированный ключ заранее по надежному каналу передается получателю. Задача злоумышленника заключает­ ся в перехвате и чтении передаваемых сообщений, а также в имитации ложных сообщений.

Злоумышленник

 

Дешифрирование

Получатель

 

Y = FK(X)

X = FK(Y)

 

 

 

4і-

 

X

Y —

 

X —

исходный текст

зашифрованный текст

расшифрованный текст

F — алгоритм шифрования/дешифрирования

К— секретный ключ Рис. 24.8. Модель симметричного шифрования

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

Шифрование

849

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

Алгоритм DES

Наиболее популярным стандартным симметричным алгоритмом шифрования данных яв­ ляется DES (Data Encryption Standard). Алгоритм разработан фирмой IBM и в 1976 году был рекомендован Национальным бюро стандартов к использованию в открытых секторах экономики. Суть этого алгоритма заключается в следующем (рис. 24.9).

Исходный блок 64 бита

Результат шифрования

Рис. 24.9. Схема шифрования по алгоритму DES

Данные шифруются поблочно.Перед шифрованием любая форма представления данных пре­ образуется вчисловую. Числа получают путем применения любой открытой процедуры пре­ образования блока текста в число. Например, ими могли бы быть значения двоичных чисел, полученных слиянием кодов ASCII последовательных символов соответствующего блока текста. На вход шифрующей функции поступает блок данных размером 64 бита, он делится пополам на левую (L) и правую (R) части. На первом этапе на место левой части результи­ рующего блока помещается правая часть исходного блока. Правая часть результирующего блока вычисляется как сумма по модулю 2 (операция XOR) левой и правой частей исходного блока. Затем на основе случайной двоичной последовательности по определенной схеме в полученном результате выполняются побитные замены и перестановки. Используемая двоичная последовательность, представляющая собой ключ данного алгоритма, имеетдлину 64 бита, из которых 56 действительно случайны, а 8 предназначены для контроля ключа.

Вот уже более трех десятков лет алгоритм DES испытывается на стойкость. И хотя суще­ ствуют примеры успешных попыток «взлома» данного алгоритма, в целом можно считать, что он выдержал испытания. Алгоритм DES широко используется в различных техноло­ гиях и продуктах, связанных с безопасностью информационных систем. Для того чтобы повысить криптостойкость алгоритма DES, иногда применяют его усиленный вариант, называемый «тройным алгоритмом DES», который включает троекратное шифрование с использованием двух разных ключей. При этом можно считать, что длина ключа увели­ чивается с 56 до 112 бит?а 'значит, криптостойкость алгоритма существенно повышается. Но за это приходится платить производительностью —тройной алгоритм DES требует

втри раза больше времени на реализацию, чем «обычный».

В2001 году Национальное бюро стандартов США приняло новый стандарт симметричного шифрования, который получил название AES (Advanced Encryption Standard). Стандарт AES был разработан в результате проведения конкурса на разработку симметричного алгоритма

850

Глава 24. Сетевая безопасность

шифрования, обладающего лучшим, чем у DES, сочетанием показателей безопасности и ско­ рости работы. Победителем был признан алгоритм Rijndael, который и был положен в основу AES. В результате AES обеспечивает лучшую защиту, так как использует 128-битные ключи (а также может работать со 192- и 256-битными ключами) и имеет более высокую скорость ра­ боты, кодируя за один цикл 128-битный блок в отличие от 64-битного блока DES. В настоящее время AES является наиболее распространенным симметричным алгоритмом шифрования.

В симметричных алгоритмах главную проблему представляют ключи. Во-первых, крипто­ стойкость многих симметричных алгоритмов зависит от качества ключа, это предъявляет повышенные требования к службе генерации ключей. Во-вторых, принципиальной явля­ ется надежность канала передачи ключа второму участнику секретных переговоров. Про­ блема с ключами возникает даже в системе с двумя абонентами, а в системе с п абонентами, желающими обмениваться секретными данными по принципу «каждый с каждым», потре­ буется п х ( п - 1)/2 ключей, которые должны быть сгенерированы и распределены надеж­ ным образом. То есть количество ключей пропорционально квадрату количества абонентов, что при большом числе абонентов делает задачу чрезвычайно сложной. Несимметричные алгоритмы, основанные на использовании открытых ключей, снимают эту проблему.

Несимметричные алгоритмы шифрования

В середине 70-х двое ученых —Винфилд Диффи и Мартин Хеллман —описали принци­ пиально другой подход к шифрованию.

Особенностьшифрованиясоткрытым ключом состоитвтом,чтоодновременно генерируется уникальная пара ключейіГатх чтотёкст,зашифрованный одним ключом,может быть расшиф­

ровантолько о использованием второгоключа,и наоборот.

Е —открытый ключ

« П м »

^ "" D—закрытый секретный ключ получателя

X—исходный текст

Y—текст,

X—текст,

 

зашифрованный

расшифрованный

 

открытым ключом Е

закрытым ключом D

Шифрование

851

Вмодели криптосхемы с открытым ключом также три участника: отправитель, получатель

излоумышленник (рис. 24.10). Задача отправителя заключается в том, чтобы по открытому каналу связи передать некоторое сообщение в защищенном виде. Получатель генерирует на своей стороне два ключа: открытый Е и закрытый D. Закрытый ключ D (часто называемый также личным ключом) абонент должен сохранять в защищенном месте, а открытый ключ Е он может передать всем, с кем хочет поддерживать защищенные отношения. Для шифрова­ ния текста служит открытый ключ, но расшифровать этот текст можно только с помощью закрытого ключа. Поэтому открытый ключ передается отправителю в незащищенном виде. Отправитель, используя открытый ключ получателя, шифрует сообщение X и передает его получателю. Получатель расшифровывает сообщение своим закрытым ключом D. Очевидно, что числа, одно из которых служит для шифрования текста, а другое —для де­ шифрирования, не могут быть независимыми друг от друга, а значит, есть теоретическая возможность вычисления закрытого ключа по открытому. Однако это связано с огромным объемом вычислений, которые требуют соответственно огромного времени. Поясним прин­ ципиальную связь между закрытым и открытым ключами следующей аналогией.

ПРИМЕР-АНАЛОГИЯ ---------------------------------------------------------------------------------------------------

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

Рис. 24.11. Использование шифрования с открытым ключомдля обеспечения

852

Глава 24. Сетевая безопасность

Когда у сотрудников возникает необходимость написать секретное сообщение руководителю, они, пользуясь словарем, пишут сообщения на санскрите. Руководитель переводит сообщения на русский язык, пользуясь доступным только ему санскритско-русским словарем. Очевидно, что здесь роль открытого ключа Е и закрытого ключа D руководителя играют русско-санскритский и санскритскорусский словари соответственно. Могут ли пользователи 2, 3 и 4 прочитать чужие сообщения 5г, 5з, 5 *4, которые посылает каждый из них руководителю? Вообще-то нет, так как для этого им нужен санскритско-русский словарь, обладателем которого является только пользователь 1. Так обеспечи­ вается конфиденциальность потока сообщений в направлении руководителя.

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

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

В этом случае роль закрытого (D) и открытого (Е) ключей руководителя играют русско-санскритский

исанскритско-русский словари соответственно, причем наши предположения о доступности этих словарей меняются на противоположные. Итак, руководитель пишет письма своим сотрудникам на

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

D - закрытый ключ (русско-санскритский словарь)

пользователь 4 - дешифрирование

Е — открытый ключ (санскритско-русский словарь)

 

Рис. 24.12. Использование шифрования закрытым ключомдля подтверждения авторства

Шифрование

853

Заметим, что в этом случае сообщения первого пользователя S 12, S 13, S 14, адресованные пользова­ телям 2, 3 и 4, не являются секретными, так как все адресаты обладают одним и тем же открытым ключом, с помощью которого они могут расшифровывать все сообщения, поступающие от пользо­ вателя 1 .

Для того чтобы в сети все п абонентов имели возможность не только принимать зашиф­ рованные сообщения, но и сами посылать таковые, каждый абонент должен обладать собственной парой ключей Е и D. Всего в сети будет 2п ключей: п открытых ключей для шифрования и п секретных ключей для дешифрирования. Таким образом решается проблема масштабируемости —квадратичная зависимость количества ключей от числа абонентов в симметричных алгоритмах заменяется линейной зависимостью в несимме­ тричных алгоритмах. Решается и проблема секретной доставки ключа. Злоумышленнику нет смысла стремиться завладеть открытым ключом, поскольку это не дает возможности расшифровывать текст или вычислить закрытый ключ.

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

Алгоритм RSA

Внастоящее время одним из наиболее популярных криптоалгоритмов с открытым ключом является криптоалгоритм RSA.

В1978 году трое ученых (Ривест, Шамир и Адлеман) разработали систему шифрования

соткрытыми ключами RSA (Rivest, Shamir, Adleman), полностью отвечающую всем прин­ ципам Диффи—Хеллмана. Этот метод состоит в следующем.

1.Случайно выбираются два очень больших простых числа р и q.

Вычисляются два произведения п = р х q и т = (р - 1) х (q - 1).

3.Выбирается случайное целое число Е, не имеющее общих сомножителей с т.

4.Находится D такое, что DE = 1 по модулю т.

5.Исходный текст ^разбивается на блоки таким образом, чтобы 0 < Х< п.

6.Для шифрования сообщения необходимо вычислить С = X е по модулю п.

7.Для дешифрирования вычисляется X = CDпо модулю п.

Таким образом, чтобы зашифровать сообщение, необходимо знать пару чисел (£, и), а что­ бы расшифровать —пару чисел (Д п). Первая пара —это открытый ключ, а вторая —за­ крытый.

Зная открытый ключ (£, п), можно вычислить значение закрытого ключа D. Необходимым промежуточным действием в этом преобразовании является нахождение чисел р и q, для чего нужно разложить на простые множители очень большое число и, а на это требуется

854

Глава 24. Сетевая безопасность

очень много времени. Именно с огромной вычислительной сложностью разложения боль­ шого числа на простые множители связана высокая криптостойкость алгоритма RSA. В не­ которых публикациях приводятся следующие оценки: для того чтобы найти разложение 200-значного числа, понадобится 4 миллиарда лет работы компьютера с быстродействием миллион операций в секунду. Однако следует учесть, что в настоящее время активно ведут­ ся работы по совершенствованию методов разложения больших чисел, поэтому в алгоритме RSA стараются применять числа длиной более 200 десятичных разрядов.

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

В табл. 24.1 приведены некоторые сравнительные характеристики классического крипто­ алгоритма DES и криптоалгоритма RSA

Таблица 24.1. Сравнительные характеристики алгоритмов шифрования

Характеристика

DES

RSA

Скорость шифрования

Высокая

Низкая

Используемая функция шифрования

Перестановка

Возведение в степень

 

и подстановка

 

Длина ключа

56 бит

Более 500 бит

Наименее затратный криптоанализ (его слож­

Перебор по всему

Разложение числа

ность определяет стойкость алгоритма)

ключевому пространству

на простые множители

Время генерации ключа

Миллисекунды

Минуты

Тип ключа

Симметричный

Асимметричный

Односторонние функции шифрования

Во многих базовых технологиях безопасности используется еще один прием шифрова­ ния —шифрование с помощью односторонней функции (one-way function), называемой также необратимой функцией, хэш-функцией (hash function) или дайджест-функцией (digest function).

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

Подчеркнем, знание дайджеста не позволяет и даже не предполагает восстановления ис­ ходных данных. Для чег&зке нужны односторонние функции шифрования (ОФШ)?

Для ответа на этот вопрос рассмотрим несколько примеров. Пусть требуется обеспечить целостность сообщения, передаваемого по сети. Отправитель и получатель договорились, какую ОФШ и с каким значением параметра —секретного ключа —они будут использо­ вать для решения этой задачи. Прежде чем отправить сообщение, отправитель вычисляет для него дайджест и отправляет его вместе с сообщением адресату (рис. 24.13, а). Адресат,

Шифрование

855

получив данные, применяет ОФШ к переданному в открытом виде исходному сообще­ нию. Если значения вычисленного локально и полученного по сети дайджестов совпадают, значит, содержимое сообщения не было изменено во время передачи.

Отправитель

Получатель

Отправитель Г Сообщение

Передача по сети

 

Ключ

. —

^Дайджест^—

£

 

 

 

 

 

Y

ї ї

 

 

Г

 

v

 

Сообщение Ключ

Дайджест

г

 

Сообщение

Дайджест

1--—-- V,

)

Сообщение

Передача по сети Рис. 24.13. Использование односторонних функций шифрования для контроля целостности

Таким образом,хотязнаниедайджестанедаетвозможностивосстановитьисходное сообщение,

. онопозвоЛяетпроверитьцелостностьданных.

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

В отличие от контрольной суммы дайджест вычисляется с использованием параметра — секретного ключа. Поскольку значение секретного ключа для ОФШ известно только отправителю и получателю^Любая модификация исходного сообщения будет немедленно обнаружена.

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

856

Глава 24. Сетевая безопасность

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

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

Построение односторонних функций является трудной задачей. Такого рода функции должны удовлетворять двум условиям:

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

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

Наиболее популярной в системах безопасности в настоящее время является серия хэшфункций MD2, MD4, MD5. Все они генерируют дайджесты фиксированной длины 16 байт. Адаптированным вариантом MD4 является американский стандарт SHA, длина дайдже­ ста в котором составляет 20 байт. Компания IBM поддерживает односторонние функции MDC2 и MDC4, основанные на алгоритме шифрования DES.

Аутентификация, авторизации, аудит

Понятие аутентификации

Аутентификация наряду с авторизацией (о которой рассказывается далее) представляет собой фундаментальный атрибут информационной безопасности.

Термин «аутентификация» (authentication) происходит от латинского слова authenticus, ко­ торое означает подлинный, достоверный, соответствующий самому себе. Аутентификация, или, другими словами, процедура установления подлинности, может быть применима как к людям, так и другим объектам, в частности к программам, устройствам, документам.

Аутентификация пользователя — это процедура доказательства пользователем тога, что он есть тот, за кого себя выдает.

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

ксети нежелательных лиц и разрешает вход для легальных пользователей.

Впроцедуре аутентификации участвуют две стороны: одна сторона доказывает свою аутен­ тичность, предъявляя некоторые доказательства, другая сторона —аутентификатор —про­ веряет эти доказательства и принимает решение. В качестве доказательства аутентичности применяются самые разнообразные приемы:

аутентифицируемвГЙ может продемонстрировать знание некоего общего для обеих сторон секрета: слова (пароля) или факта (даты и места события, прозвища человека и т. п.);

аутентифицируемый может продемонстрировать, что он владеет неким уникальным предметом (физическим ключом), в качестве которого может выступать, например, электронная магнитная карта;

Аутентификация, авторизации, аудит

857

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

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

ПРИМЕЧАНИЕ---------------------------------------------------------------------------------------------------------------

Многие пользователи пренебрегают угрозами, которые несут в себе легко угадываемые пароли. Так, червь Mumu, поразивший компьютерные сети в 2003 году, искал свои жертвы, подбирая пароли из очень короткого списка: password, passwd, admin, pass, 123, 1234, 12345, 123456 и пустая строка. Такая на удивление примитивная стратегия дала прекрасные (с точки зрения атакующей стороны) результаты — множество компьютеров было взломано.

Легальность пользователя может устанавливаться по отношению кразличным системам.

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

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

Многие приложения имеют собственные средства определения, является ли пользователь законным. И тогда пользователю приходится проходить дополнительные этапы проверки.

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

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

858

Глава 24. Сетевая безопасность

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

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

Авторизация доступа

Термин авторизация (authorization) происходит от латинского слова auctoritas, показы­ вающее уровень престижа человека в Древнем Риме и соответствующие этому уровню привилегии.

Авторизация —этопроцедура контролядоступалегальныхПользователей кресурсамсистемы ипредоставлениекаждомуид нихименнотехправ;которыеемубылиопределеныадминистра­ тором.

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

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

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

вфайл Filel».

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

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

Аутентификация, авторизации, аудит

859

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

Централизованная схема, базирующаяся на сервере. В этой схеме сервер управляет процессом предоставления ресурсов сети пользователю. Главная цель таких систем — реализовать «принцип единого входа». В соответствии с централизованной схемой пользователь один раз логически входит в сеть и получает на все время работы не­ который набор разрешений по доступу к различным ресурсам сети. Система Kerberos1

сее сервером безопасности и архитектурой клиент-сервер, а также более современная система Shibboleth, построенная в той же архитектуре, являются наиболее известными системами этого типа. Системы TACACS и RADIUS, часто применяемые совместно

ссистемами удаленного доступа, также реализуют этот подход.

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

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

Аудит

Аудит (auditing)—это набор процедур мониторинга и учета всех событий, представляющих по­ тенциальнуюугрозудлябезопасности системы.

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

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

1 Детали о системе Kerberos см. в книге авторов «Сетевые операционные системы».

860

Глава 24. Сетевая безопасность

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

Строгая аутентификация на основе многоразового пароля в протоколе CHAP

Протокол аутентификации по квитированию вызова (Challenge Handshake Authentication Protocol, CHAP) входит в семейство протоколов РРР В этом протоколе предусмотрено 4 типа сообщений: Success (успех), Challenge (вызов), Response (ответ), Failure (ошибка).

Этот протокол используется, например, при аутентификации удаленных пользователей, подключенных к Интернету по коммутируемому каналу Здесь аутентификатором явля­ ется сервер провайдера, а аутентифицируемым —клиентский компьютер (рис. 24.14). При заключении договора клиент получает от провайдера пароль (пусть, например, это будет слово parol). Этот пароль хранится в базе данных провайдера в виде дайджеста Z = rf(parol), полученного путем применения к паролю односторонней хэш-функции MD5.

Узел-

Разделяемый секрет —parol

Аутентифицируемый

аутентификатор

Узел

d(parol)

 

 

 

<---------

 

 

Компьютер

Сервер

 

 

провайдера

 

 

клиента

Paris

 

 

Moscow

1Запрос на установление соединения, Moscow (jT)

(Т) Пакет типа Challenge: (ID, Challenge), Paris i

~

%

 

1Пакет типа Response Y » d{(ID, challenge, d(parol)}, Moscow(IT)

®Сервер вычисляет локально d{(ID,challenge,d(parol)} и сравнивает с полученным от клиента значением У

(J)Значения совпали, пакет типа Success \

Рйе. 24.14. Аутентификация по протоколу CHAP

Аутентификация выполняется в следующей последовательности.

1.Пользователь-клиент активизирует программу (например, программу дозвона) уда­ ленного доступа к серверу провайдера, вводя имя и назначенный ему пароль. Имя (на рисунке это «Moscow») передается по сети провайдеру в составе запроса на соединение,

Аутентификация, авторизации, аудит

861

но пароль не передается в сеть ни в каком виде. То есть здесь мы имеем дело со строгой аутентификацией.

2.Сервер провайдера, получив запрос от клиента, генерирует псевдослучайное слововызов (пусть это будет слово «challenge») и передает его клиенту вместе со значением, идентифицирующем сообщение в рамках данного сеанса (ID), и собственным именем (здесь «Paris»). Это сообщение типа Challenge. (Для защиты от перехвата ответа аутен­ тификатор должен использовать разные значения слова-вызова при каждой процедуре аутентификации.)

3.Программа клиента, получив этот пакет, извлекает из него слово-вызов, добавляет к нему идентификатор и вычисленный локально дайджест Z = J(parol), а затем вычисля­ ет с помощью все той же функции MD5 дайджест Y = d{(ID, challenge, d(parol)} от всех этих трех значений. Результат клиент посылает серверу провайдера в пакете Response.

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

5.Если результаты совпадают, то аутентификация считается успешной и аутентификатор посылает партнеру пакет Success.

Аналогичный алгоритм аутентификации применяется в семействе ОС Windows. Там многоразовые пароли пользователей также хранятся в базе данных сервера в виде дайд­ жестов, а по сети в открытом виде передается только слово-вызов. Кажется, что такой способ хранения паролей надежно защищает их от злоумышленника, даже если он сможет получить к ним доступ. Действительно, ведь даже теоретически нельзя восстановить ис­ ходное значение по дайджесту. Однако создатель первого червя Роберт Моррис решил эту проблему. Он разработал довольно простую программу, которая генерировала возможные варианты паролей, как используя слова из словаря, так и путем последовательного пере­ бора символов. Для каждого сгенерированного слова вычислялся дайджест и сравнивался с дайджестами из файла паролей. Удивительно, но такая стратегия оказалась весьма эф­ фективной, и хакеру удалось завладеть несколькими паролями.

Аутентификация на основе одноразового пароля

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

Генерация одноразовых паролей может выполняться либо программно, либо аппаратно. Аппаратные реализацийсистем доступа на основе одноразовых паролей называют аппа­ ратными ключами. Они представляют собой миниатюрные устройства со встроенным микропроцессором, похожие либо на обычные пластиковые карточки, используемые для доступа к банкоматам, либо на карманные калькуляторы, имеющие клавиатуру и маленькое дисплейное окно (рис. 24.15). Аппаратные ключи могут быть также реализованы в виде присоединяемого к разъему компьютера устройства.

862

Глава 24. Сетевая безопасность

Рис. 24.15. Аппаратный ключ,который используют клиенты банка Barclays для доступа ксвоим счетам

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

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

Рассмотрим схему использования аппаратных ключей, в основе которой лежит синхрони­ зация по времени. Этот популярный алгоритм аутентификации был разработан компанией Security Dynamics.

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

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

значение текущего времени.

Если вычисленные значения совпадают, то аутентификация считается успешной.

Аутентификация, авторизации, аудит

863

Итак, пусть удаленный пользователь пытается совершить логический вход в систему с пер­ сонального компьютера (рис. 24.16). Аутентифицирующая программа предлагает ему ввести его личный персональный номер (PIN), состоящий из четырех десятичных цифр, а также 6 цифр случайного числа, отображаемого в тот момент на дисплее аппаратного ключа. На основе PIN-кода сервер извлекает из базы данных информацию о пользователе, а именно — его секретный ключ. Затем сервер выполняет вычисления по тому же алгоритму, который заложен в аппаратном ключе, используя в качестве параметров секретный ключ и значе­ ние текущего времени, проверяя, совпадает ли сгенерированное число с числом, которое ввел пользователь. Если они совпадают, то пользователю разрешается логический вход.

Удаленный клиент PIN * 2360

 

 

 

Аутентификационный сервер

login: 2360

1112511І

Дисплейное окно

Сравнение

 

password: 112511

т - 0

Секретный ключ

 

 

 

112511

 

 

П£П

Таймер

 

 

к

JТаймер

 

 

 

 

 

 

> ф

Функция

вычисления

пароля і к

Рис. 24.16. Аутентификация, основанная на временнбй синхронизации

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

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

Аутентификация на основе сертификатов

Аутентификация с применением цифровых сертификатов является альтернативой приме­ нению паролей и представляется естественным решением в условиях, когда число пользо-

864

Глава 24. Сетевая безопасность

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

С х е м а и с п о л ь з о в а н и я с е р т и ф и к а т о в

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

Сертификатпредставляет собой электронную форму, в которой содержится следующая ин­ формация:

О открытый ключ владельцаданногосертификата;

сведения о владельце сертификата, такие, например, как имя, адресэлектронной почты, наименование организации,в которой он работаетит.п.;

наименованиесертифицирующей организации,выдавшейданный сертификат;

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

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

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

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

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

Аутентификация, авторизации, аудит

865

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

Сертифицирующая

организация

Выдача Усертификата

Открытые ключи сертифицирующих организаций

Сведения о пользователе

Запрос на получение

Электронная подпись

сертифицирующей

сертификата

организации

Сертификат,зашифрованный закрытым ключом пользователя

 

 

С Е Р Т И Ф И К А Т

0 1 1 0 0 1 0

 

 

Ии.ЧОО и--- 1Н----;;----1

 

 

Валютный цжнтр-Профсояшаи

0 1 0 0 1 1 1

 

 

Тал 246-76-44

0 1 0 1 1 1 0

 

 

Фмс Армадилле

 

 

■ Я

0 1 1 1 1 0 1

 

Запрос

0 1 1 0 1 0 0

на аутентификацию

 

 

 

Открытый и закрытый ключи

 

 

пользователя

 

Ї

Т

 

 

 

Открытый и закрытый ключи

 

 

сертифицирующей организации

Рис. 24.17.Аутентификация пользователей на основе сертификатов

866

Глава 24. Сетевая безопасность

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

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

Сертифицирующие центры

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

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

Во-вторых, эти функции мргут выполнять независимые центры по выдаче сертификатов, ра­ ботающие на коммерческой основе, например сертифицирующий центр компании Verisign. Сертификаты компании Verisign выполнены в соответствии с международным стандартом Х.509 и используются во многих продуктах защиты данных, в том числе в популярном прото­ коле защищенного канала SSL. Любой желающий может обратиться с запросом на получение сертификата на веб-сервер этой компании. Сервер Verisign предлагает несколько типов сер­ тификатов, отличающихся уровне^ полномочий, которые получает владелец сертификата.

Аутентификация, авторизации, аудит

867

Сертификаты класса 1 предоставляют пользователю самый низкий уровень полно­ мочий. Они могут применяться при отправке и получении шифрованной электронной почты через Интернет. Чтобы получить сертификат этого класса, пользователь должен сообщить серверу Verisign свой адрес электронной почты или свое уникальное имя.

Сертификаты класса 2 дают возможность его владельцу пользоваться внутрикор­ поративной электронной почтой и принимать участие в подписных интерактивных службах. Чтобы получить сертификат этого более высокого уровня, пользователь дол­ жен организовать подтверждение своей личности сторонним лицом, например своим работодателем. Такой сертификат с информацией от работодателя может эффективно применяться при деловой переписке.

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

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

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

В настоящее время существует большое количество протоколов и продуктов, использую­ щих сертификаты. Например, компания Microsoft реализовала поддержку сертификатов и в своем браузере Internet Explorer, и в сервере Internet Information Server, разработала собственный сервер сертификатов, а также продукты, которые позволяют хранить серти­ фикаты пользователя, его закрытые ключи и пароли защищенным образом.

Инфраструктура с открытыми ключами

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

868

Глава 24. Сетевая безопасность

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

Имеется также ряд проблем, связанных с тем, что сертифицирующие организации су­ ществуют не в единственном числе. Все они выпускают сертификаты, но даже если эти сертификаты соответствуют единому стандарту (сейчас это, как правило, стандарт Х.509), все равно остаются нерешенными многие вопросы. Все ли сертифицирующие центры заслуживают доверия? Каким образом можно проверить полномочия того или иного сертифицирующего центра? Можно ли создать иерархию сертифицирующих центров, когда сертифицирующий центр, стоящий выше, мог бы сертифицировать центры, рас­ положенные ниже в иерархии? Как организовать совместное использование сертификатов, выпущенных разными сертифицирующими организациями?

Для решения этих и многих других проблем, возникающих в системах, использующих технологии шифрования с открытыми ключами, оказывается необходимым комплекс про­ граммных средств и методик, называемый инфраструктурой с открытыми ключами (Public Key Infrastructure, PKI). Информационные системы больших предприятий нуждаются в специальных средствах администрирования и управления цифровыми сертификатами, парами открытых/закрытых ключей, а также приложениями, функционирующими в среде

соткрытыми ключами,

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

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

клюбой частной информации при условии, что на это есть постановление суда?

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

Как только принимается решение о включении в систему безопасности средств восстанов­ ления, возникает вопрос, как же быть с надежностью защиты данных, как убедить поль­

Аутентификация, авторизации, аудит

869

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

Аутентификация информации

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

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

В компьютерных системах выделяют два вида аутентификации информации:

аутентификация хранящихся массивов данных и программ —установление факта того, что данные не подвергались модификации;

аутентификация сообщений —установление подлинности полученного сообщения, в том числе решение вопроса об авторстве этого сообщения и установление факта приема.

Цифровая подпись

Для решения задачи аутентификации информации используется концепция цифровой, или электронной, подписи. Согласно терминологии, утвержденной Международной организацией по стандартизации (ISO), под термином «цифровая подпись» понимаются методы, позволяющие устанавливать подлинность автора сообщения (документа) при возникновении спора относительно авторства. Основная область применения цифровой подписи —это финансовые документы, сопровождающие электронные сделки, документы, фиксирующие международные договоренности и т. п.

До настоящего времени чаще всего для построения схемы цифровой подписи использо­ вался алгоритм RSA. Как уже отмечалось (см. раздел «Алгоритм RSA»), в основе этого алгоритма лежит концепция Диффи—Хеллмана. Она заключается в том, что каждый пользователь сети имеет свой закрытый ключ, необходимый для формирования подписи, а соответствующий этому секретному ключу открытый ключ, предназначенный для про­ верки подписи, известе^рвсем другим пользователям сети.

На рис. 24.18 показана схема формирования цифровой подписи по алгоритму RSA. Подпи­ санное сообщение состоит из двух частей: незашифрованной части, в которой содержится исходный текст Туи зашифрованной части, представляющей собой цифровую подпись. Цифровая подпись S вычисляется с использованием закрытого ключа (D, п) по формуле:

S = Т° mod п.

870

 

 

Глава 24. Сетевая безопасность

 

т

 

 

Исходный текст

 

 

 

- .....—.... — і

Закрытый

 

J I

ключ (D, п)

 

^Шифрование

^

 

закрытым

 

 

 

^ключом S = TDmodп,

 

Т

 

 

т

S

 

 

Исходный текст

Цифровая подпись

Рис. 24.18. Схема формирования цифровой подписи по алгоритму RSA

Сообщение посылается в виде пары (Г, 5). Каждый пользователь, имеющий соответствую­ щий открытый ключ (Е, гг), получив сообщение, отделяет открытую часть Г, расшифровы­ вает цифровую подпись S и проверяет равенство: Т= SEmod п.

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

Если помимо проверки целостности документа, обеспечиваемой цифровой подписью, надо обеспечить его конфиденциальность, то после применения к тексту цифровой подписи вы­ полняют шифрование и исходного текста, и цифровой подписи (рис. 24.19).

т

 

Сравнение

Исходный текст

 

 

(D. П)

 

Шифрование

 

 

закрытым

 

^

ключом D

у

Т

ТS

Исходный текст

Цифровая подпись

Закрытый

і/ ключ (D, п)

. — Шифрование |

закрытым

.ключом X = XDmod n j

'іі

Зашифрованное сообщение Y

Передача

Рис. 24.19. Обеспечение конфиденциальности документа с цифровой подписью

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]