Скачиваний:
112
Добавлен:
09.04.2015
Размер:
2.28 Mб
Скачать

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

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

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

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

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

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

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

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

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

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

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

S =Tdmod n.

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

Т = SEmodn.

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

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

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

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

Аутентификация программных кодов.

Компания Мiсrоsоft разработала средства для доказательства аутентичности программных кодов, распространяемых через Интернет. Пользователю важно иметь доказательства, что программа, которую он загрузил с какого-либо сервера, действительно содержит коды, разработанные определенной компанией. Протоколы защищенного канала типа SSL помочь здесь не могут, так как позволяют удостоверить только аутентичность сервера. Мiсrоsоft разработала технологию аутентикода (Authenticode), суть которой состоит в следующем.

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

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

Рис. 9. Схема получения аутентикода.

Система Kerberos.

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

В основе этой достаточно громоздкой системы лежит несколько простых принципов.

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

2. В системе Kerberos клиент должен доказывать свою аутентичность для доступа к каждой службе, услуги которой он вызывает.

3. Все обмены данными в сети выполняются в защищенном виде с использованием алгоритма шифрования DES.

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

Итак, в системе Kerberos имеются следующие участники: Kerberos-cepвep, Кеrberos – клиенты, ресурсные серверы(рис. 10).Кеrberos- клиенты пытаются получить доступ к сeтевым ресурсам - файлам, приложениям, принтеру и т. д. Этот доступ может быть предоставлен, во-первых, только легальным пользователям, а во-вторых, при наличии у пользователя достаточных полномочий, определяемых службами авторизации соответствующих ресурсных серверов - файловым сервером, сервером приложений, сервером печати. Однако в системе Kerberos ресурсным серверам запрещается «напрямую» принимать запросы от клиентов, им разрешается начинать рассмотрение запроса клиента только тогда, когда на это поступает разрешение от Кеrberos-сервера. Таким образом, путь клиента к ресурсу в системе Kerberos состоит из трех этапов:

1. Определение легальности клиента, логический вход в сеть, получение разрешения на продолжение процесса получения доступа к ресурсу.

2. Получение разрешения на обращение к ресурсному серверу.

3. Получение разрешения на доступ к ресурсу.

Рис. 10. Три этапа работы системы Kerberos.

Для решения первой и второй задач клиент обращается к Кеrberos-серверу. Каждая из этих двух задач решается отдельным сервером, входящим в состав Кеrberos-сервера. Выполнение первичной аутентификации и выдача разрешения на продолжение процесса получения доступа к ресурсу осуществляется так называемымаутентификационным сервером (Authentication Server, AS).Этот сервер хранит в своей базе данных информацию об идентификаторах и паролях пользователей.

Вторую задачу, связанную с получением разрешения на обращение к ресурсному серверу, решает другая часть Кеrberos–сервера -сервер квитанций(Ticket - Granting Server, TGS).Сервер квитанций для легальных клиентов выполняет дополнительную проверку и дает клиенту разрешение на доступ к нужному ему ресурсному серверу, для чего наделяет его электронной формой-квитанцией. Для выполнения своих функций сервер квитанций использует копии секретных ключей всех ресурсных серверов, которые хранятся у него в базе данных. Кроме этих ключей сервер TGS имеет еще один секретный DЕS-ключ, который разделяет с сервером AS.

Третья задача - получение разрешения на доступ непосредственно к ресурсу - решается на уровне ресурсного сервера.

Примечание.

При описании протоколов взаимодействия Кегbегоs-клиента и Kerberos-cepвepa, а также Кегbегоs-клиента и ресурсного сервера использован термин «квитанция» (ticket), означающий в данном случае электронную форму, выдаваемую Кегbегоs-сервером клиенту, которая играет роль некоего удостоверения личности и разрешения на доступ к ресурсу.

Первичная аутентификация.

Процесс доступа пользователя к ресурсам включает две процедуры: во-первых, пользователь должен доказать свою легальность (аутентификация), а во-вторых, он должен получить разрешение на выполнение определенных операций с определенным ресурсом (авторизация). В системе Kerberos пользователь один раз аутентифицируется во время логического входа в сеть, а затем проходит процедуры аутентификации и авторизации всякий раз, когда ему требуется доступ к новому ресурсному серверу. Выполняя логический вход в сеть, пользователь, а точнее клиент Kerberos, установленный на его компьютере, посылает аутентификационному серверу AS идентификатор пользователя ID (рис. 11).

Вначале аутентификационный сервер проверяет в базе данных, есть ли запись о пользователе с таким идентификатором, затем, если такая запись существует, извлекает из нее пароль пользователя р. Данный пароль потребуется для шифрования всей информации, которую направит аутентификационный сервер Kerberos-клиенту в качестве ответа. А ответ состоит из квитанции TTGSна доступ к серверу квитанций Kerberos и ключа сеанса Ks. Под сеансом здесь понимается все время работы пользователя, от момента логического входа в сеть до момента логического выхода. Ключ сеанса потребуется для шифрования в процедурах аутентификации в течение всего пользовательского сеанса. Квитанция шифруется с помощью секретного DЕS-ключа К, который разделяют аутентификационный сервер и сервер квитанций. Все вместе - зашифрованная квитанция и ключ сеанса - еще раз шифруются с помощью пользовательского пароля р. Таким образом, квитанция шифруется дважды ключом К и паролем р. В приведенных выше обозначениях сообщение-ответ, которое аутентификационный сервер посылает клиенту, выглядит так: {{TTGS}K, Ks}p.

После того как такое ответное сообщение поступает на клиентскую машину, клиентская программа Kerberos просит пользователя ввести свой пароль. Когда пользователь вводит пароль, то Кегbегоs-клиент пробует с помощью пароля расшифровать поступившее сообщение. Если пароль верен, то из сообщения извлекается квитанция на доступ к серверу квитанций {TTGS}K (в зашифрованном виде) и ключ сеанса Ks (в открытом виде). Успешная расшифровка сообщения означает успешную аутентификацию. Заметим, что аутентификационный сервер AS аутентифицирует пользователя без передачи пароля по сети.

Рис. 11. Последовательность обмена сообщениями в системе Kerberos.

Квитанция TTGSна доступ к серверу квитанций TGS является удостоверением легальности пользователя и разрешением ему продолжать процесс получения доступа к ресурсу. Эта квитанция содержит:

1. идентификатор пользователя;

2. идентификатор сервера квитанций, на доступ к которому получена квитанция;

3. отметку о текущем времени;

4. период времени, в течение которого может продолжаться сеанс;

5. копию ключа сессии Ks.

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

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

Получение разрешения на доступ к ресурсному серверу.

Итак, следующим этапом для пользователя является получение разрешения на доступ к ресурсному серверу (например, к файловому серверу или серверу приложений). Но для этого надо обратиться к серверу TGS, который выдает такие разрешения (квитанции). Чтобы получить доступ к серверу квитанций, пользователь уже обзавелся квитанцией{TTGS}К, выданной ему сервером AS. Несмотря на защиту паролем и шифрование, пользователю, для того чтобы доказать серверу квитанций, что он имеет право на доступ к ресурсам сети, нужно кое-что еще, кроме квитанции.

Как уже упоминалось, первое сообщение от аутентификационного сервера содержало не только квитанцию, но и секретный ключ сеанса Ks, который разделяется с сервером квитанций TGS. Клиент использует этот ключ для шифрования еще одной электронной формы, называемой аутентификатором {A}Ks. Аутентификатор А содержит идентификатор и сетевой адрес пользователя, а также собственную временную отметку. В отличие от квитанции {TTGS}K, которая в течение сеанса используется многократно, аутентификатор предназначен для одноразового использования и имеет очень короткое время жизни - обычно несколько минут. Кегbегоs-клиент посылает серверу квитанций TGS сообщение-запрос, содержащее квитанцию и аутентификатор: {TTGS}K, {A}Ks.

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

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

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

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

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

Новый ключ сеанса KS1содержится не только в самом сообщении, посылаемом клиенту, но и внутри квитанции ТRS1. Все сообщение шифруется старым ключом сеанса клиента Ks, так что его может прочитать только этот клиент. Используя введенные обозначения, ответ сервера TGS клиенту можно представить в следующем виде: {{TRS1}KRS1,KS1}Ks·

Получение доступа к ресурсу.

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

{TRS1}KRS1,{A}KS1.

Это сообщение обрабатывается аналогично тому, как обрабатывался клиент-сервером TGS. Сначала расшифровывается квитанция ключом KRS1, затем извлекается ключ сеанса KS1и расшифровывается аутентификатор. Далее сравниваются данные о пользователе, содержащиеся в квитанции и аутентификаторе. Если проверка проходит успешно, то доступ к сетевому ресурсу разрешен.

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

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

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

Достоинства и недостатки системы Kerberos.

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

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

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

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

Выводы.

1. Безопасная информационная система обладает свойствами конфиденциальности, доступности и целостности. Конфиденциальность - гарантия того, что секретные данные будут доступны только авторизованным пользователям, то есть только тем пользователям, которым этот доступ разрешен.Доступность - гарантия того, что авторизованные пользователи всегда получат доступ к данным.Целостность- гарантия сохранности данными правильных значений, которая обеспечивается запретом для неавторизованных пользователей каким-либо образом изменять, модифицировать, разрушать или создавать данные.

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

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

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

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

6. Существуют два класса криптосистем - симметричные и асимметричные.

В симметричных схемах шифрования секретный ключ зашифровки совпадает с секретным ключом расшифровки. В асимметричных схемах шифрования открытый ключ зашифровки не совпадает с секретным ключом расшифровки.

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

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

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

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

11. Аудит - фиксация в системном журнале событий, связанных с доступом к защищаемым системным ресурсам.

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

13. Совокупность защищенных каналов, созданных предприятием в публичной сети для объединения своих филиалов, часто называют виртуальной частной сетью (Virtual Private Network, VPN).

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

15. Централизованная система Kerberos является посредником между клиентами и серверами сети при проведении процедур аутентификации и авторизации.

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