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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



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

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

Система Kerberos

Kerberos — это сетевая служба, предназначенная для централизованного реше­ния задач аутентификации и авторизации в крупных сетях.

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

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

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

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

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

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

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

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

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

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

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

Вторую задачу, связанную с получением разрешения на обращение к ресурсному серверу, решает другая часть Kerberos-сервера — сервер квитанций (Ticket-Gran­ting Server, TGS). Сервер квитанций для легальных клиентов выполняет допол­нительную проверку и дает клиенту разрешение на доступ к нужному ему ре­сурсному серверу, для чего наделяет его электронной формой-квитанцией. Для выполнения своих функций сервер квитанций использует копии секретных

ключей всех ресурсных серверов, которые хранятся у него в базе данных. Кроме этих ключей сервер TGS имеет еще один секретный DES-ключ, который разде­ляет с сервером AS.

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

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

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

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

Выполняя логический вход в сеть, пользователь, а точнее клиент Kerberos, уста­новленный на его компьютере, посылает аутентификационному серверу AS иден­тификатор пользователя ID (рис. 11.15).

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

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

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

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

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

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

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

□ копию ключа сессии Кs.

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

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



Поделиться:


Последнее изменение этой страницы: 2017-01-19; просмотров: 132; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.9.141 (0.007 с.)