Идентификация и проверка подлинности

1.1 Основные понятия и концепции

 

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

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

Следующий шаг - аутентификация объекта (проверка подлинности объекта). Эта процедура устанавливает, является ли данный объект именно таким, каким он себя объявляет.

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

Перечисленные три процедуры инициализации являются процедурами защиты и относятся к одному объекту КС.

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

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

(а) получатель должен быть уверен в подлинности источника дан­ных;

(б) получатель должен быть уверен в подлинности передаваемых данных;

(в) отправитель должен быть уверен в доставке данных получате­лю;

(г) отправитель должен быть уверен в подлинности доставленных данных.

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

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

1.2 Идентификация и механизмы подтверждения подлинности пользователя

 

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

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

Перечислим возможные способы подтверждения под­линности.

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

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

- Характерные личные особенности пользователя: отпечатки пальцев, рисунок сетчатки глаза, тембр голоса и т.п.

- Характерные приемы и черты поведения пользователя в ре­жиме реального времени: особенности динамики и стиль рабо­ты на клавиатуре, приемы работы с манипулятором и т.п.

- Навыки и знания пользователя, обусловленные образованием, культурой, обучением, воспитанием, привычками и т.п.

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

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

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

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

Например, функция а(*) может быть определена следую­щим образом:

a(P)=Ep(ID),

где Р - пароль отправителя;

ID - идентификатор отправителя;

Ер - процедура шифрования, выполняемая с использованием па­роля Р в качестве ключа.

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

На практике пароли состоят только из нескольких букв, чтобы дать возможность пользователям запомнить их. Короткие пароли уязвимы к атаке полного перебора всех вариантов. Для того чтобы предотвратить такую атаку, функцию а(Р) определяют иначе, а именно:

t(P)=Ep xor k(ID),

где К и ID-соответственно ключ и идентификатор отправителя.

Очевидно,значение а(Р) вычисляется заранее и хранится в виде a'(Р) в идентификационной таблице у получателя. Подтверждение подлинности состоит из сравнения двух ото­бражений пароля a(РА) и a'(PА) и признания пароля рА, если эти отображения равны. Конечно, любой, кто получит доступ к идентификационной таблице, может незаконно изменить ее со­держимое, не опасаясь, что эти действия будут обнаружены.