Журнал Системный Администратор, Апрель 2007

Журнал Системный Администратор

Апрель 2007

Цена: $4.5 US

  Подписаться

Зарегистриванные пользователи, пожалуйста следуйте этой ссылке


Защита веб-служб. РНР-реализация

Александр Календарев

Веб-службы с каждым днем находят все большее применение как в публичных, так и в корпоративных системах. Как правило, такие системы требуют аутентификацию клиента и криптозащиту данных. Но у конечного пользователя не всегда есть возможность организовать обмен данных по SSL-каналу. В этом случае защиту веб-служб можно построить в соответствии со спецификацией WS-Security, с помощью Open Source-библиотеки – xmlsec.

Старые песни о главном

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

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

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

Организация продвижения стандартов структурированной информации – OASIS (the Organization for the Advancement of Structured Information Standards) – разработала новый набор спецификаций по защите веб-служб, обобщив накопленный опыт и учитывая имеющиеся недостатки. Группой OASIS были предложены два подхода: SAML [5] и WS-Security [1].

SAML (Security Assertion Markup Language) – это язык разметки заявлений системы безопасности. Он осуществляет описание функций безопасности, относящихся к аутентификации и авторизации. SAML используется поверх существующей инфраструктуры систем безопасности.

Спецификация WS-Security, напротив, описывает форматы закрытия данных и цифровой подписи SAOP-собщений. Развертывание веб-служб на базе спецификации WS-Security намного проще, и этот стандарт получил более широкое распространение.

Спецификация WS-Security была разработана на базе так называемой технологии проталкивания открытых ключей. Обычно при организации инфраструктуры открытых ключей (Public Key Infrastructure) используется один из двух подходов: создание механизмов запроса подлинности сертификата у Удостоверяющего центра, так называемое «вытягивание», или присоединение к исходному сообщению Сертификата подлинности, то есть «проталкивание» Сертификата.

Сегодня количество защищенных веб-служб постоянно увеличивается. Существует множество реализаций соответствующих библиотек для Java-платформы. Очередной всплеск активности в разработке защищенных веб-сервисов наметился и после выхода NET-Studio 2005, включающей в себя библиотеку пространства имен Microsoft.Web.Servises.Security. Пришла пора и РНР.

Оставшая часть статьи доступна только подписчикам. Если вы желаете продолжить чтение этой статьи, то вам необходимо подписаться на эту статью или весь номер.

Подписаться на весь номер

Зарегистриванные пользователи, пожалуйста следуйте по этой ссылке
oread