10.07.2017

SSO: Одна за всех

Появление достаточно большого числа «домашних» и корпоративных web-приложений обеспечило массу удобств, позволило оптимизировать работу и снизить издержки. Однако теперь для аутентификации каждый пользователь вынужден запоминать множество логинов и паролей, что порождает вполне понятные проблемы. Справляться с ними помогают технологии единой аутентификации.

Девятый вал паролей

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

Развитие web-технологий значительно облегчило решение этих задач и позволило вывести пользовательские сервисы на новый уровень. Сегодня можно получать различные услуги, не выходя из дома. Оплата коммунальных платежей и штрафов, запись ребенка в детский сад или школу, покупка продуктов и бытовой техники, перевод денежных средств и управление личными финансами – лишь малая часть того, что обеспечивают web-технологии.

В корпоративной среде также происходят значительные изменения. Размываются границы офиса и корпоративной сети. Для доступа к рабочему пространству и информации, будь офисные приложения, электронная почта или портал, CRM- или ERP-система, чаще всего нужен только интернет. Это позволяет оптимизировать работу, значительно повысить ее производительность, и снизить издержки на поддержание офиса.

Уже есть примеры весьма масштабных проектов, реализуемых в данной области. В 2016 году компания «ВымпелКом» успешно запустила проект BeeFree, подразумевающий перевод ее сотрудников на работу из дома. Планируется до конца 2017 г. довести их количество до 70% общего числа. В нашей стране это - первый, но, наверняка, далеко не последний проект столь крупного масштаба. Еще одна тенденция оптимизации издержек бизнеса - передача ИТ-сервисов и систем в облака. Пока в России развитие облачных технологий идет медленнее, чем в западных странах, но в целом наблюдается положительный тренд. Уже сейчас редко можно встретить зрелую компанию, у которой хотя бы один-два ИТ-сервиса не являются облачными.

При всей полезности современных ИТ мы получаем достаточно большое количество пользовательских web-приложений - «домашних» и корпоративных. Большинство из них требуют отдельной аутентификации, т.е., как минимум, ввода логина и пароля пользователя, защищающих конфиденциальную информацию от внешних посягательств. Запомнить такое количество пар логинов и паролей достаточно сложно даже для «продвинутого» пользователя, поэтому чаще всего используются слабые пароли, либо пароли хранятся в открытом виде - как наклейки на мониторах или записки под клавиатурой. Нередко используется один пароль к личными корпоративным аккаунтам.

Все это обуславливает значительное снижение уровня защищенности систем от несанкционированного доступа. Нужно учитывать и психологический дискомфорт пользователей, вынужденных вспоминать пароли и тратить время на их ввод. Многие из нас были свидетелями таких ситуаций: после длительного неиспользования приложения (например, во время отпуска) восстановление пароля ложилось на службу технической поддержки. Практически в любой компании заявки на сброс паролей входят в топ-лист системы Service Desk, и столь банальная задача серьезно нагружает квалифицированных специалистов ИТ-служб.

Технологии единой аутентификации

Решение этих проблем стало возможным с появлением принципа единой аутентификации и соответствующих технологий SSO (Single Sign-On). Принцип SSO заключается в однократной аутентификации пользователя (например, при входе в домен или приложение), после чего во все остальные приложения, к которым ему разрешен доступ, он входит «прозрачно», без предъявления аутентифицирующей информации. При необходимости для усиления однократной аутентификации задействуются дополнительные способы, такие, как применение смарт-карт и USB-токенов, одноразовых паролей, биометрии и т.п.

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

Для реализации единой аутентификации в web-приложениях, предназначенных для широкого круга внутренних и внешних пользователей, используется другая технология, Web SSO. Основной ее принцип заключается в организации единого сервиса аутентификации, который интегрируется с целевыми приложениями и «забирает» функцию проверки подлинности пользователя на себя. При доступе пользователя к web-приложению, интегрированному с сервисом Web SSO, он перенаправляется на страницу аутентификации данного сервиса. Только после успешного прохождения процедуры аутентификации Web SSO отдает соответствующий ответ с данными пользователя web-приложению, которое его авторизует; сам пользователь тоже возвращается на страницу web-приложения. При обращении пользователя к другому приложению, в которому у него есть права доступа, Web SSO проверяет наличие текущей сессии аутентификации При обнаружении таковой повторная аутентификация не требуется  – пользователь получает доступ «прозрачно».

Для усиления аутентификации чаще всего применяется технология одноразовых паролей TOTP (Time-based One Time Password Algorithm). Они могут генерироваться в мобильном приложении или высылаться по sms. Данный алгоритм удобен, в первую очередь, тем, что не накладывает ограничения на устройства доступа к приложениям. Могут применяться и другие способы аутентификации, такие как использование смарт-карт и биометрия, но уже зачастую в корпоративной среде.

Технология Web SSO может быть представлена в двух реализациях: как IDP (Identity Provider) и реверсивный прокси. IDP выступает в роли стороннего сервиса, к которому web-приложение перенаправляет пользователя для аутентификации. В основном для интеграции IDP с приложениями используются стандартизованные протоколы SAML и OpenID Connect, которые поддерживает большинство современных приложений, что делает интеграцию с IDP простой и малозатратной.

При реализации Web SSO в виде реверсивного прокси пользователь сначала проходит аутентификацию на прокси-сервере, а затем получает доступ к приложению. Как правило, такая интеграция Web SSO с приложениями осуществляется с помощью проприетарных протоколов, что подразумевает определенные доработки web-приложений. А поскольку любое, даже повторное обращение пользователя к приложению проходит через прокси-сервер, возникают серьезные требования к его производительности.

Примеры использования Web SSO

Любая организация, оказывающая услуги населению (будь то орган исполнительной власти, финансовая организация или интернет-магазин), сталкивается с проблемами аутентификации внешних пользователей в различных приложениях, и системы Web SSO являются отличным решением. Технологии Web SSO активно применяются как в корпоративной среде, так и в социальной сфере. Наиболее яркие примеры – сайт госуслуг www.gosuslugi.ru и портал Москвы www.mos.ru. Несмотря на возможность единого доступа ко всем сервисам, за каждым из них стоит отдельное ведомство с собственными информационными системами. Единую однократную аутентификацию для доступа к ним и обеспечивают решения Web SSO. 

Еще один пример применения Web SSO - федеративная аутентификация. Она уже давно используется в социальных сетях, с помощью аккаунта в одной сети можно создать аккаунт и получить доступ к другой. Схожий принцип может быть реализован и в корпоративной среде. Чаще всего это актуально для холдинговых структур - у каждой компании холдинга есть свои каталоги пользователей и приложения, но периодически ей требуется предоставлять доступ к приложениям «родственного» предприятия. Тогда на уровне головной компании может быть организован сервис Web SSO, который интегрируется с приложениями этой компании и обеспечивает единую аутентификацию всех пользователей с их учетными данными.

Наконец, несколько слов об импортозамещении. До настоящего времени активными участниками рынка Web SSO были лишь крупные западные производители такие, как Oracle и IBM, они предлагали не всегда оптимальные варианты решения - как по удобству администрирования и производительности, так и по цене. Однако в последнее время появились примеры действительно качественного импортозамещения, причем хорошие российские решения превосходят зарубежные по техническим показателям и значительно дешевле.

Среди них - система Blitz Identity Provider, которая «выросла» из Единой системы идентификации и аутентификации (ЕСИА) для портала госуслуг. Можно также назвать Indeed Web Authentication компании Indeed Identity, специализирующейся на продуктах для единой аутентификации. Есть и решение Avanpost Web SSO, которое гармонично дополняет линейку систем Identity Management (IDM) компании «Аванпост» и уже используется несколькими крупными заказчиками. Остается надеяться, что активное развитие данных продуктов продолжится во внутренней честной конкурентной борьбе, и что в ближайшее время мы увидим новые интересные возможности таких систем и новые проекты.


Олег Губка
Журнал !Безопасность деловой информации