Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сети ЭВМ и телекоммуникации / Лекции / 16_Сеансовый уровень и уровень представлений.doc
Скачиваний:
93
Добавлен:
09.06.2015
Размер:
254.98 Кб
Скачать

Лекция 16 08.03.20174:50:04

Протоколы сеансового уровня

Сессионный (или сеансовый) уровень (Session layer) позволяет двум программам поддерживать продолжительное взаимодействие по сети, называемое сессией (session) или сеансом. На этом уровне программное обеспечение реализует следующие функции:

- управляет установлением сеанса, обменом информацией и завершением сеанса.

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

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

    

Храрактеристики сеансов

  1. Способ авторизации и аутентификации.

  2. Способ определения (распределения) прав доступа к ресурсам.

Система аутентификации

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

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

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

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

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

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

Тем не менее симметричные алгоритмы широко используются. Примером может служить алгоритм DES (Data Encryption Standard). Данный алгоритм был принят в качестве национального стандарта США в 1977 году для работы с некритичными данными.

Хорошо известной системой, работающей в открытых сетях, является система аутентификации Kerberos (TM), которая была разработана в рамках проекта Athena (Афина) в MIT. Система Kerberos базируется на алгоритме DES и использует специальный сервер, который хранит секретные ключи всех пользователей и услуг. Описание протокола содержится в RFC 1510. В спецификации RFC 1964 описывается механизм и формат передачи жетонов безопасности в сообщениях Kerberos.

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

Аутентификаторы.

Простой протокол аутентификации с секретным ключом вступает в действие, когда кто-то стучится в сетевую дверь и просит впустить его. Чтобы доказать своё право на вход, пользователь предъявляет аутентификатор (authenticator) в виде набора данных, зашифрованного секретным ключом. Получив аутенитификатор, привратник расшифровывает его и проверяет полученную информацию, чтобы убедиться в успешности дешифрования. Разумеется, содержание набора данных должно постоянно меняться, иначе злоумышленник может просто перехватить пакет и воспользоваться его содержимым для входа в систему. Если проверка прошла успешно, то это значит, что посетителю известен секретный код, а так как этот код знает только он и привратник, следовательно, пришелец на самом деле тот, за кого себя выдаёт.

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

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

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

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

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

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