Как снизить уровень риска реализации угроз, связанных с удаленным доступом к корпоративной информационной системе? Рассмотрим один из способов решения этой проблемы - аутентификацию.
Bаш босс хочет иметь доступ к корпоративной информационной системе со своего ноутбука в любое время дня и ночи? Менеджерам необходим удаленный доступ к своим почтовым ящикам, файлам с презентациями и договорами? Хотите предоставлять информацию своим клиентам и партнерам через Internet?
Bce подобные действия создают определенные угрозы и головную боль сотрудникам службы информационной безопасности компании. Как снизить уровень риска реализации угроз, связанных с удаленным доступом к корпоративной информационной системе?
Эти вопросы могут быть объединены общей темой обеспечения безопасности при удаленном доступе к информационным ресурсам; условно в ней можно выделить следующие разделы: «Аутентификация»; «Защита информации, передаваемой по каналам связи»; «Защита внутренних информационных ресурсов». В настоящей статье рассмотрены вопросы аутентификации при удаленном доступе к корпоративной информационной системе.
Современные корпоративные информационные системы имеют распределенную структуру, состоящую из локальных сетей в центральном и региональных офисах. Объединение сетей происходит по каналам связи — либо выделенным, либо организованным на базе глобальных сетей общего пользования.
Удаленные и мобильные пользователи могут подключаться к информационным системам, расположенным в центральном и региональных офисах, через глобальные сети общего пользования или непосредственно к серверам доступа по коммутируемым линиям связи. Кабельные и сотовые линии связи предоставляются местными телефонными компаниями, а доступ в Internet — местным провайдером или непосредственно сотовым оператором.
Корпоративные сети построены, как правило, на базе протокола IP, и к информации, передающейся по таким сетям, могут получить доступ как легитимные пользователи, так и злоумышленники. Поэтому при удаленном доступе к информационным ресурсам должны быть приняты все меры для обеспечения конфиденциальности передаваемой информации.
Наиболее вероятны следующие угрозы:
- нарушение конфиденциальности и подлинности информации, хранимой и обрабатываемой на серверах локальных сетей и передаваемой по сетям передачи данных, в результате получения несанкционированного доступа к этой информации и возможности ее модификации;
- нарушение функционирования объектов корпоративной информационной системы в результате несанкционированных программных воздействий на оборудование и серверы локальных сетей.
Остановимся на средствах, помогающих решить проблему аутентификации.
Строгая аутентификация
Термин «аутентификация» означает процедуру, в ходе которой проводится проверка подлинности отправителя или получателя сообщения («принципала»). В роли принципала могут выступать пользователь, организация, сервер, маршрутизатор, межсетевой экран, клиентские и серверные приложения.
В процессе аутентификации принципал сообщает системе определенную информацию, которую может знать только он. Имея такую информацию, служба аутентификации принимает решение о предоставлении данному принципалу доступа к системе и определяет права данного принципала («авторизация принципала»). Скажем, принимая решение о том, следует ли разрешить доступ к определенному ресурсу, система должна установить личность принципала, желающего получить этот доступ. Если пользователь сможет выдать себя за принципала, обладающего большими полномочиями, то получит доступ к ресурсам, обращаться к которым не имеет права.
Строгая аутентификация (иногда используют термины «усиленная» или «жесткая») — это надежное и достоверное определение принципала.
Строгую аутентификацию в корпоративной информационной системе призван обеспечить ряд различных технологий.
Аутентификация с помощью пароля
Самый распространенный вид аутентификации — использование некоего идентификатора принципала, например, имени пользователя и его пароля, которые поступают в систему опознавания. Затем система определяет, соответствует ли пароль, введенный в процессе регистрации, паролю, хранящемуся в системе. Если установлено соответствие, значит, пользователь — «тот» или выдает себя за того, кому принадлежит введенный пароль.
Легкость реализации данного метода способствует его широкому применению, однако пароль необходимо передавать с места, где находится пользователь, на компьютер, где установлена система аутентификации, и если канал передачи не обеспечивает механизмов защиты, то при пересылке пароль может быть перехвачен. Поэтому разработчики систем безопасности используют различные механизмы защиты паролей. Наиболее распространенным способом защиты пароля во время его передачи по сети является использование функций необратимого преобразования (хеш-функции), которые, основываясь на исходной информации, порождают уникальный набор двоичных символов — дайджест. Хеш-функция используется перед передачей данных аутентификации на сервер. На сервере пароли хранятся также в зашифрованном виде. Получив парольный хеш, сервер сверяет его с дайджестом в базе данных пользователей, после чего делает заключение о результате аутентификации.
Этот способ защиты данных аутентификации имеет недостатки, позволяющие злоумышленнику перехватить хеш-пароль во время передачи по сети и использовать его для нелегального получения привилегий.
Чтобы не допустить этого, используется механизм, основанный на принципе «запрос-ответ» (Challenge-Response). Суть данного метода состоит в том, что пользователю посылается случайная последовательность данных, к которой применяется хеш-алгоритм совместно с паролем пользователя. Результирующие данные отправляются на сервер, который проделывает описанную выше последовательность преобразований, после чего сверяет полученный результат с поступившими данными клиента (рис. 2).
Рис. 2. Схема действий злоумышленника |
Основной недостаток парольной аутентификации, основанной на методе «запрос-ответ», состоит в том, что идентификационные данные пользователей должны храниться на сервере аутентификации в открытом виде, так как пересылаемая пользователю случайная последовательность при каждой аутентификации различна, что не позволяет заранее произвести какие-либо преобразования над паролем.
Использование паролей должно регламентироваться определенным набором правил, например: минимальная длина пароля; типы символов, присутствующих в пароле (буквы, цифры, спецсимволы); время обновления (интервал времени действительности паролей); время повторного использования (интервал времени между использованием одинаковых паролей).
Правила определения и использования паролей должны находить отражение в политике безопасности предприятия.
Другим методом аутентификации, основанным на использовании секретного идентификатора, является протокол Kerberos, созданный в Массачусетском технологическом институте. Общедоступным этот протокол стал с версии 4, а версия 5 была принята в качестве стандарта IETF.
Kerberos предлагает механизм взаимной аутентификации клиента и сервера перед установлением связи между ними. В протоколе учтен тот факт, что начальный обмен информацией между ними происходит в незащищенной среде, а передаваемые пакеты могут быть перехвачены и модифицированы. Таким образом, протокол идеально подходит для применения в Internet.
Основная концепция Kerberos заключается в возможности взаимного удостоверения взаимодействующих сторон при помощи разделяемого ими общего секрета. Для обмена информацией, содержащей общий секрет, Kerberos прибегает к методам симметричной криптографии, использующей для шифрования и дешифрования один и тот же секретный ключ, знание которого подтверждает личность собеседника.
Чтобы идентифицировать себя, пользователь предъявляет аутентификатор в виде набора данных, зашифрованного секретным ключом. Получив аутентификатор, сервер расшифровывает его и проверяет полученную информацию. Чтобы предотвратить возможность перехвата сетевого трафика и его последующего использования злоумышленником, содержание этого набора данных постоянно меняется. Если проверка прошла успешно, значит, пользователю известен секретный код, следовательно, пользователь тот, за кого себя выдает.
Иногда может потребоваться взаимная аутентификация пользователя и сервера. В этом случае сервер извлекает из исходного аутентификатора часть информации, затем шифрует ее, превращая в новый аутентификатор, и передает обратно пользователю. Пользователь расшифровывает и сравнивает информацию с исходной; если они совпадают, следовательно, сервер знает секретный ключ. Последовательность действий представлена на рис. 1.
Рис. 1. Последовательность действий при взаимной аутентификации пользователя и сервера |
Представленные механизмы аутентификации обеспечивают высокую надежность, однако необходимо решить проблему первоначального обмена общими секретами. Если каждому клиенту для поддержания связи с каждой службой требуется индивидуальный ключ, и такой же ключ нужен каждой службе для каждого клиента, то данная проблема быстро становится достаточно острой.
Для ее решения используется дополнительное звено — центр распределения ключей (Кеу Distribution Center, KDC), представляющий собой службу, которая работает на физически защищенном сервере и ведет базу данных со сведениями об учетных записях своих абонентов. Вместе с информацией о каждом абоненте безопасности в этой базе сохраняется криптографический ключ, известный только самому абоненту и KDC. Этот ключ (его называют долговременным) используется для связи пользователя системы безопасности с центром распределения ключей. В большинстве практических реализаций протокола Kerberos долговременные ключи генерируются на основе пароля пользователя, указываемого при входе в систему.
Когда клиенту нужно обратиться к серверу, он направляет запрос в центр KDC, который в свою очередь направляет каждому участнику предстоящего сеанса копии уникального сеансового ключа, действующие в течение короткого времени. Назначение этих ключей — проведение аутентификации клиента и сервера. Копия сеансового ключа, пересылаемая на сервер, шифруется посредством долговременного ключа этого сервера, а направляемая клиенту — посредством долговременного ключа клиента.
Kerberos обеспечивает высокий уровень безопасности, обладает повышенной гибкостью и эффективностью, что способствует его широкому распространению в корпоративных сетях, особенно после принятия Microsoft его в качестве основного протокола аутентификации в операционной системе Windows 2000.
Аппаратные средства аутентификации
Аутентификация на базе аппаратных средств — надежное, но более дорогое и потому менее распространенное решение. Для удостоверения личности принципала используются специализированные аппаратные средства хранения и генерации идентификационных данных пользователя. Наиболее распространены смарт-карты, токены и устройства генерации одноразовых паролей.
Смарт-карты представляют собой интеллектуальные карты, оснащенные микропроцессором и способные хранить данные пользователя. При аутентификации пользователь вставляет карту в специальное устройство, считывающее данные с нее. Информация на карте может быть защищена паролем, что обеспечивает повышенный уровень безопасности.
Токены — небольшие устройства, предназначенные для хранения идентификационных данных и использующие для обмена информации USB-порт компьютера. Во время аутентификации пользователь должен подключить токен к USB-порту своего компьютера и — при необходимости дополнительной защиты — ввести пароль доступа к токену. Применение токенов экономически более выгодно, поскольку не требует приобретения дополнительного оборудования для чтения информации.
Устройствам генерации одноразовых паролей не нужно передавать свой базовый секрет, чтобы аутентифицировать принципала; вместо этого они используют собственные секретные данные. Традиционные устройства этого типа, имеющие размер карманного калькулятора с клавиатурой, генерируют аутентификационные данные (одноразовый пароль), которые затем набираются с клавиатуры. Естественно, подобные решения не требуют специальной аппаратной поддержки. Существуют также устройства генерации одноразовых паролей, непосредственно подключающиеся к компьютеру. Одноразовые пароли обычно генерируются с использованием базового секрета и некоторой синхронизирующей информации, скажем, показаний синхронизирующего счетчика или часов.
По сравнению с парольной данный вид аутентификации является наиболее защищенным за счет того, что аутентифицироваться может только тот пользователь, который обладает аппаратным носителем идентификационной информации. Кроме того, отпадает необходимость в запоминании (записывании) сложных паролей для пользователей, что оказывается одной из причин несанкционированного доступа.
Биометрические средства
Методы биометрической идентификации наименее распространены. Они сложны и дороги, но обеспечивают очень высокую надежность. При использовании данных методов аутентификация осуществляется по определенным физическим характеристикам индивидуума, например, по отпечаткам пальцев или сетчатке глаза.
Такие средства очень удобны и надежны с точки зрения информационной безопасности и администрирования, так как пароль может быть утерян или стать легкодоступным злоумышленникам, а биометрические признаки уникальны.
В подобных решениях основная опасность заключается в возможности кражи цифрового варианта биометрической информации, что позволяет обойти систему безопасности.
Непрямая аутентификация
Решения на основе непрямой аутентификации применяются, когда в системе имеется несколько точек обслуживания и когда затруднительно поддерживать совместимость нескольких отдельных баз данных для аутентификации пользователей. Такие схемы предполагают наличие в системе специального сервера аутентификации (рис. 3). Все другие точки обслуживания определяют подлинность принципалов, связываясь с сервером аутентификации всякий раз, когда кто-то пытается зарегистрироваться в системе.
Открытым стандартом для реализации непрямой аутентификации является протокол RADIUS (Remote Authentication Dial In User Service) и разработанный компанией Cisco Systems протокол TACACS+.
Современные корпоративные информационные системы имеют на своих границах соответствующие защитные устройства, использующие схемы непрямой аутентификации (например, серверы доступа, маршрутизаторы, межсетевые экраны). Когда эти устройства должны устанавливать определенные правила для принципалов (например, разрешить выход в Internet по протоколам FTP, HTTP и т. п.), необходимо выполнение аутентификации.
Цифровые сертификаты
Данный тип аутентификации основан на применении асимметричных криптографических методов, которые предусматривают использование двух ключей. Открытый ключ применяется для шифрования данных, а закрытый — для дешифрования. Данные, зашифрованные общедоступным открытым ключом, может расшифровать только владелец парного закрытого ключа.
В рассматриваемом случае принципалу выдается сертификат, который представляет собой набор данных, используемых для установления подлинности принципала. Основные данные сертификата включают открытый ключ и сведения о принципале, срок действия сертификата, информацию об организации, выдавшей сертификат, ее открытый ключ и цифровую подпись, сгенерированную этой организацией.
Цифровая подпись представляет собой последовательность байт определенной длины, полученную путем применения к исходным данным хеш-функции, которая затем шифруется при помощи секретного ключа лица, создающего сигнатуру. Лицо, создавшее эту подпись с помощью своего закрытого ключа, называют автором подписи. Подпись можно дешифровать только с помощью открытого ключа автора; тем самым она удостоверяет его личность.
Сертификат выпускается специализированным полномочным органом сертификации — Центром сертификации (Certificate Authority, CA), заявляющим, что указанный в сертификате открытый ключ принадлежит именно тому субъекту, о котором говорится в сертификате. Конечно, необходимо доверять самому центру сертификации и заранее получить его открытый ключ («самоподписанный сертификат»). Производители некоторых программных продуктов для обеспечения повышенной безопасности заранее устанавливают в них сертификаты общеизвестных центров сертификации (например, Verisign).
Наиболее распространен сертификат, определенный стандартом Х.509, который предусматривает использование различных алгоритмов создания цифровой подписи. Сертификаты Х.509 содержат информацию о версии и алгоритме создания подписи, идентификационные данные и подпись организации, выдавшей сертификат, срок действия сертификата, идентификационные данные принципала и его открытый ключ.
Аутентификация посредством сертификатов может быть как односторонней, так и двусторонней. В случае односторонней аутентификации проверяется только клиентский сертификат; при двухсторонней аутентификации на стороне сервера проверяется клиентский сертификат, а на стороне клиента — серверный, что обеспечивает взаимную аутентификацию сторон.
Для получения сертификата необходимо (например, средствами Web) отправить в СА запрос на выдачу сертификата, в котором должна быть указана вся нужная для этого информация. В органе сертификации обрабатывают запрос и производят генерацию сертификата, который может быть выслан по электронной почте.
Органы сертификации также предоставляют списки упраздненных сертификатов, в которых перечисляются сертификаты, аннулированные до окончания срока их действия. Периодически опрашивая эти списки, пользователь может проверить, имеют ли сертификаты, присылаемые ему другими лицами, законную силу.
Сертификат, как правило, используется в случае, когда необходимо произвести обмен открытыми ключами шифрования и убедиться, что полученный ключ принадлежит именно тому объекту, с которым осуществляется обмен. Если вести обмен ключами без применения сертификатов, то появляется возможность перехвата злоумышленником трафика данных с последующей передачей фиктивного ключа обеим сторонам, после чего атакующий может просматривать и изменять передаваемые данные (рис. 2).
В силу своей высокой надежности, гибкости и ориентации на слабосвязанные среды метод аутентификации на основе цифровых сертификатов наибольшее распространение получил в приложениях электронной коммерции, в которых необходимо однозначно идентифицировать территориально распределенные стороны обмена, обеспечив их защищенное взаимодействие.
Комплексные решения
Для реализации схем строгой аутентификации при предоставлении удаленного доступа к информационным ресурсам наиболее предпочтительны схемы с применением одноразовых паролей и цифровых сертификатов. При этом необходимо использовать соответствующие аппаратные средства.
На рис. 3 представлен вариант решения для аутентификации удаленных пользователей с использованием генерации одноразовых паролей.
Пользователь инициирует удаленное соединение и получает запрос на ввод идентификационных данных. На устройстве генерации одноразовых паролей он вводит PIN-код и генерирует пароль, который затем вместе со своим идентификатором вводит с клавиатуры собственного компьютера. Эти данные поступают на сервер доступа, где работает RADIUS-клиент, который отправляет их на сервер аутентификации. Тот проверяет полученные данные и передает соответствующий ответ (разрешить/запретить доступ) серверу доступа; после этого последний разрешает или запрещает доступ пользователю.
Такая же схема работает и в случае удаленного соединения через Internet, при удаленном доступе к Web-серверам, серверам приложений и т. п.
В решении, изображенном на рис. 3, используется сервер аутентификации, авторизации и учета работы пользователей по протоколу RADIUS. Сервер поддерживает разнообразные продукты для проведения строгой аутентификации принципалов и работает совместно с маршрутизаторами и межсетевыми экранами.
Литература
- Э. Смит. Аутентификация: от паролей до открытых ключей. "Вильямс", 2002.
- Michael Wenstrom, Managing Cisco Network Security. Cisco Press, 2001.
- Константин Кузовкин. Защищенная платформа для Web-приложений. Открытые системы, 2001. № 4.
Константин Кузовкин — ведущий эксперт компании «Ай-Теко», Kuzovkin@i-teco.ru