Мобильные технологии в корпоративном сегменте активно развиваются уже достаточно давно, хотя пока не получили массового распространения, но преимущества использования мобильных устройств для решения бизнес-задач ни у кого не вызывают сомнений. За исключением, наверное, специалистов по информационной безопасности, которые традиционно скептически относятся к безопасности всех ИТ-новинок.
Тема безопасности мобильных технологий далеко не нова. Много копий сломано вокруг концепции BYOD (bring your own device) и контроля мобильных устройств, популярна тема шифрования данных и удаленного управления, а также безопасного доступа к информационным ресурсам компании. Доступ должен быть обеспечен для любой платформы, используемой как на рабочей станции пользователя, так и на мобильном телефоне или планшете. Усиленная аутентификация, в том числе с использованием дополнительных факторов, должна происходить на компьютере и мобильном устройстве, иначе мобильность будет слабым звеном в контуре безопасности организации. При этом меры обеспечения ИБ не должны создавать неудобства для пользователей. В противном случае новые технологии не найдут у них поддержки, и организация не достигнет запланированных показателей повышения эффективности работы за счет их использования.
На сегодняшний день одной из современных тенденций в области аутентификации является использование SSO. Это удачный компромисс между безопасностью доступа к приложениям и удобством работы пользователя. Идея этой технологии заключается в обеспечении единой аутентификации для всех информационных систем организации, которые с точки зрения доступа являются разнородными и никак не интегрированы между собой или с общей службой каталогов, например, Microsoft Active Directory. Т. е. вместо ввода логина и пароля для каждого приложения достаточно один раз пройти аутентификацию, например, при входе в домен. Это очень удобно для пользователя, которому не надо запоминать много разных и сложных паролей, а затем менять их хотя бы раз в полгода. Кроме того, подобное решение повышает уровень информационной безопасности в части парольной политики, так как пароли к приложениям могут быть более длинными и сложными и чаще меняться, что снижает риск брутфорсинга.
Аутентификация — одна для всех
Несмотря на общую идею SSO-технологии, существует несколько подходов в ее реализации. Первый из них заключается в организации общего сервиса аутентификации для всех приложений, который интегрируется с ними и обеспечивает единую и однократную аутентификацию. Ключевой момент такого подхода — это интеграция с приложениями на основе стандартных протоколов, например, Kerberos, SAML, OpenID, OAuth и т. п. Конечно, у каждого из этих протоколов есть своя специфика, но в целом они решают общую задачу — использование однократной аутентификации (SSO) для доступа во все приложения.
Наиболее распространенным вариантом такого подхода в ИТ-инфраструктурах, построенных на базовых продуктах Microsoft, является интеграция приложений со службой каталогов Microsoft Active Directory и использование стандартного протокола аутентификации Kerberos. Этот подход внедрения SSO c использованием стандартных протоколов аутентификации для интеграции приложений является, безусловно, более системным, но далеко не всегда реализуемым, так как процесс интеграции зачастую подразумевает доработки непосредственно в информационных системах. Поэтому, как правило, такой подход применим в развитых ИТ-инфраструктурах, где любое приложение изначально поддерживает внешнюю аутентификацию с использованием промышленных стандартов. К сожалению, в России это скорее исключение, чем правило, поэтому применимость этого подхода весьма ограничена.
Что касается мобильных платформ, то чаще всего такой подход применяется для web-приложений, где механизм аутентификации не зависит от устройства, с которого пользователь получает доступ. Т. е. SSO-аутентификация, организованная для web-приложений, будет работать на любом из этих устройств, и с точки зрения мобильных платформ специфика минимальна. В случае с нативными приложениями все не так однозначно, и организация SSO-аутентификации может потребовать их доработок. Хотя использование стандартных протоколов и отсутствие необходимости установки дополнительного ПО как на рабочую станцию, так и на мобильное устройство — несомненный плюс.
Автоматическая подстановка
Второй подход не требует значительных интеграционных работ и не подменяет внутренние механизмы аутентификации самих приложений. Основная суть данного подхода заключается в перехвате окна аутентификации приложения по его идентификатору и подстановке пары логин/пароль, соответствующих данному приложению, из защищенного профиля пользователя. Т. е. при аутентификации осуществляется автоматический ввод идентификационных данных пользователя вместо ручного ввода, сам механизм аутентификации остается прежним.
В целом с точки зрения пользователя процесс выглядит следующим образом. Пользователь при входе на компьютер осуществляет logon в операционной системе. Если рассматривать вариант инфраструктуры Microsoft, то он вводит доменный логин или пароль. Как правило, SSO-решения позволяют использовать различные факторы аутентификации, в том числе токен, смарт-карта, биометрия, одноразовые пароли и т. д., но для начала можно рассмотреть самый примитивный вариант — пару логин/пароль. После входа на компьютер пользователь запускает бизнес-приложение. Появляется окно аутентификации приложения, которое автоматически перехватывается специализированным программным SSO-агентом. SSO-агент подставляет в окно аутентификации из защищенного профиля пользователя его логин и пароль для данного приложения. Приложение осуществляет аутентификацию согласно своим стандартным протоколам.
Основная сложность такого подхода — автоматизация смены паролей и записи их в профиль пользователя. Необходимость самостоятельной смены паролей пользователями для каждого приложения и записи их в свой профиль снижает эффективность данной технологии, хотя такие реализации тоже встречаются.
Промышленным вариантом такого подхода является интеграция SSO-сервиса с приложениями, где он, используя стандартную функциональность приложений по управлению паролями, меняет их по заданному графику и с необходимым уровнем сложности и записывает новые пароли в профиль пользователя. Профиль пользователя при следующей аутентификации синхронизируется с хранилищем на рабочей станции или токене пользователя.
Особенности SSO для мобильных устройств
В части применения данного подхода на мобильных устройствах есть свои плюсы и минусы. Сама схема такой SSO-реализации на мобильной платформе не сильно отличается от полноценных рабочих станций. Для ее работы нужен нативный SSO-агент, который обеспечит подстановку пары логин/пароль в окна аутентификации мобильных приложений. С точки зрения интеграции дополнительное появление мобильных приложений в готовой SSO-инфраструктуре для рабочих станций не обременит заказчика серьезными трудозатратами. Но далеко не всегда производители SSO-решений готовы предоставить полный набор готовых полнофункциональных SSO-агентов для всех популярных мобильных операционных систем, и здесь ограничения являются зачастую организационными.
Классическим примером этого является операционная система iOS компании Apple. Чтобы разработать приложение и легитимно устанавливать его на устройствах Apple, необходимую пройти соответствующую процедуру регистрации производителя и сертификации разрабатываемого программного обеспечения. Данная процедура далеко не однозначна, требует значительного времени и трудозатрат. В противном случае остается только один путь — это jailbreak, что не подходит большинству пользователей iPhone и iPad, для которых корректность работы устройства и поддержка его производителем превыше преимуществ корпоративной SSO.
В случае с Android и Windows все намного проще, и функциональность SSO ограничивается только фантазией, потребностями заказчиков и компетентностью разработчика. С учетом сопоставимой с iOS популярности этих платформ, это уже неплохой результат. По статистике топ-менеджмент предпочитает устройства Apple, и, стремясь достичь удобства использования личных гаджетов для корпоративных целей, можно столкнуться с описанными ранее трудностями.
Еще одна особенность, связанная с SSO на мобильных устройствах, касается факторов аутентификации. В случае с рабочими станциями основными из них являются аппаратные USB-токены и смарт-карты, которые используют стандартные порты и протоколы. Для мобильных устройств такие факторы малоприменимы, и дело здесь не только в специфике аппаратного и программного подключения (хотя реализации подключения токенов через адаптер уже встречаются), но и в громоздкости конечной конструкции, что противоречит самой идеологии компактности и удобства мобильного устройства.
Выходом из сложившейся ситуации во многом является использование «программных» факторов аутентификации, таких как одноразовый пароль и его последующие концепты. Справедливости ради стоит отметить, что для аутентификации стали применяться и беспроводные технологии, например, использование bluetooth-токенов c возможностью подключения и по USB. Т. е. комбинированный вариант, который можно использовать и для рабочих станций, и для мобильных телефонов и планшетов. Некоторые производители мобильных устройств уже встраивают в них биометрические сканеры, поэтому использование этого функционала для SSO-аутентификации в мобильных приложениях также не за горами.
В заключение хочется отметить, что на текущее время рынок информационной безопасности не может похвастаться сформированным сегментом мобильной SSO-аутентификации. Это связано не только с организационными и технологическими ограничениями, но, по большей части, — с недостаточным пока спросом российских корпоративных пользователей. Ведь сейчас далеко не каждая организация использует SSO-технологии даже в классической офисной ИТ-инфраструктуре. Но с ростом числа корпоративных мобильных приложений неминуемо встанет проблема комплексной аутентификации с обеспечением необходимого уровня безопасности и удобства для пользователя.
Олег Губка, директор департамента по развитию компании Аванпост