.Net MyServices, .Net Passport и защита данных

Наталия Елманова

Создание приложений, использующих Internet, сегодня является одним из наиболее актуальных направлений в области разработки программного обеспечения. Нередко в таких приложениях требуется применение персональных данных и настроек пользователя, например для предоставления ему персонализированного интерфейса и сервисов. Этой цели служит .Net MyServices — платформа для построения ориентированных на пользователя Интернет-приложений, которая состоит из набора Web-сервисов, предоставляющих своим клиентским приложениям персональные данные.

Что такое .Net MyServices

О Web-сервисах мы уже неоднократно писали в нашем журнале (см. КомпьютерПресс № 6, 9-12’2001). Напомним, что Web-сервис — это, по сути, объект, реализующий один или несколько методов, к которым можно обращаться через Internet из какого-либо другого приложения, используя для этой цели обмен данными в формате XML (eXtensible Markup Language) по протоколу SOAP (Simple Object Access Protocol). Для описания методов, предоставляемых конкретным Web-сервисом (то есть его программного интерфейса), создается и делается доступным специальный документ на языке WSDL (Web Service Definition Language), который является подмножеством языка XML. Отметим, что для поиска Web-сервисов в Internet планируется использовать реестры UDDI (Universal Description, Discovery and Integration), в которых провайдер регистрирует свои Web-сервисы, чтобы разработчики могли их найти. Web-сервисы позволяют создавать распределенные приложения, части которых могут функционировать на любых платформах и располагаться в произвольных местах, что делает эту технологию весьма привлекательным средством интеграции корпоративных приложений.

В .Net MyServices включаются Web-сервисы, позволяющие осуществлять авторизацию пользователей, отправлять уведомления, сохранять персональную информацию (в том числе контакты, почтовые сообщения, календарь, списки, сведения о банковских счетах), хранить документы, настройки различных приложений. Образно говоря, эти сервисы позволяют создать так называемый цифровой сейф для хранения этих данных, доступ к которому можно осуществить из любого места, даже с мобильного устройства, а данные из этого сейфа можно полностью или частично предоставлять другим приложениям и пользователям. Разработчики могут использовать такие сервисы для аутентификации пользователей в своих приложениях, а также для получения нужной приложениям персональной информации. .Net MyServices можно использовать в Web-приложениях, в других Web-сервисах, в клиентских приложениях и приложениях для мобильных устройств, реализованных на любой платформе.

Наиболее показательным примером такого применения может служить получение стандартных сведений о пользователе: если сейчас многим из нас приходится заполнять одни и те же анкеты на Web-сайтах, вводя одни и те же данные (название компании, адрес, телефон, факс...), причем нередко по несколько раз в день, то при обращении к Web-сайту, который использует приложения, обращающиеся к .Net My Services, достаточно ввести имя и пароль, а все стандартные анкетные данные будут запрошены у .Net MyServices Web-приложением, которому они нужны, из цифрового сейфа. С помощью .Net MyServices можно также осуществлять календарное планирование для территориально распределенных групп, заключать онлайновые сделки и делать многое другое.

Из чего состоят .Net MyServices

Согласно спецификации .Net MyServices включают следующие сервисы:

  • .Net Services — следит за тем, на какие из сервисов подписан данный пользователь;
  • .Net Location — содержит сведения о физическом присутствии пользователя (дома, в офисе и т.д.);
  • .Net Alerts — позволяет приложениям и другим Web-сервисам посылать пользователю уведомления о событиях на любое устройство и в любое время. Для определения, куда посылать уведомления, используется сервис .Net Presence, соответствующим образом настроенный пользователем;
  • .Net Presence — предоставляет сведения о том, каким образом конкретный пользователь может в данный момент получать уведомления (по телефону, на мобильное устройство, с помощью персонального компьютера и т.д.);
  • .Net Calendar — позволяет хранить расписание пользователя, делая его доступным с любого устройства и в любое время. Можно также сделать доступной часть этого расписания другим пользователям для осуществления календарного планирования;
  • .Net Contacts — позволяет хранить сведения о контактах, подобно персональным информационным менеджерам, причем часть этой информации можно сделать общедоступной;
  • .Net Inbox — предоставляет доступ к электронной почте пользователя из любого места и с любого устройства;
  • .Net Documents — позволяет хранить персональные и служебные документы и обращаться к ним из любого места и с любого устройства;
  • .Net Wallet — хранит данные, позволяющие заключать онлайновые сделки, и посылает их на торговые Web-сайты;
  • .Net ApplicationSettings — хранит сведения о пользовательских настройках интерфейса, после чего они автоматически воспринимаются тем устройством, с которым в настоящее время работает данный пользователь;
  • .Net Profile — хранит персональные данные;
  • .Net FavoriteWebSites — хранит сведения о наиболее посещаемых данным пользователем Web-cайтах и делает их доступными из любого приложения;
  • .Net Devices — позволяет пользователю хранить настройки его мобильных устройств;
  • .Net Lists — позволяет пользователю хранить любые списки (например, список неотложных дел);
  • .Net Categories — хранит стандартный список категорий, доступных всем сервисам. Категории позволяют группировать документы, контакты, даты в расписании и т.д.

Как работает .Net Passport

Аутентификация пользователя в .Net MyServices осуществляется с помощью Web-сервиса под названием .Net Passport — расширенной версии существующего сервиса Microsoft Passport. Когда пользователь регистрируется и получает .Net Passport, с ним связывается 64-битный цифровой ключ, известный как персональный уникальный идентификатор — Personal Unique Identifier (PUID). По этому классификатору предоставляется доступ к персональным данным, которые пользователь хранит в .Net MyServices. Для защиты передаваемых данных применяется протокол Kerberos, используемый для аутентификации пользователей в Windows 2000 и Windows XP. Указанный протокол отвечает за распознавание клиентского запроса и генерацию так называемых билетов (tickets), являющихся по сути временными ключами доступа клиента к сервисам.

Аутентификация пользователей происходит следующим образом:

  1. Пользователь выбирает ссылку для обращения к .Net Passport, расположенную на Web-странице или в приложении, из которого он обращается к сервисам .Net MyServices. Затем он вводит свое имя и пароль (рис. 1).

    Рис. 1

  2. После этого клиентское приложение либо Web-приложение, с которым работает пользователь, обращается к сервису .Net Passport для получения билета (ticket-granting-ticket, TGT).
  3. Если сервис .Net Passport, проверив данные пользователя, убеждается в их подлинности, он выдает билет и сообщает пользователю, что тот успешно ввел имя и пароль. Сам билет кэшируется в приложении для дальнейшего использования.
  4. Далее приложение предъявляет полученный билет сервису .Net Passport. При опознании подлинности билета и при условии, что срок его годности не истек, .Net Passport запрашивает другой билет (на открытие сессии — session ticket) у службы .Net MyServices и возвращает его клиенту вместе с ключом для шифрования данных. Последний используется для шифрования данных, передаваемых между клиентом и сервером.
  5. Клиентское приложение (либо Web-приложение), с которым работает пользователь, предъявляет билет на открытие сесcии службе .Net MyServices, которая проверяет его подлинность и позволяет использовать .Net MyServices на уровне доступа, предназначенном для данного пользователя (рис. 2).

    Рис. 2

  6. После того как пользователь обратился к этому сервису из клиентского приложения или инициировал такой запрос из серверного приложения, приложение отправляет запрос к Web-сервису .Net Passport, который, в свою очередь, проверяет права приложения на доступ к .Net MyServices и в случае наличия таких прав выдает приложению соответствующее разрешение. Далее это разрешение предъявляется приложением тому же сервису .Net Passport для получения права обратиться к остальным сервисам .Net MyServices, и доступ к ним предоставляется в соответствии с правами пользователя.

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

Службы .Net Passport

Мicrosoft .Net Passport в действительности представляет собой набор служб. Владельцам Web-сайтов и разработчикам, желающим использовать Microsoft Passport, доступны либо все перечисленные ниже службы .Net Passport, либо каждая из них в отдельности (первые две из означенных служб можно применять на своих сайтах уже сейчас):

  • служба единого входа .Net Passport — позволяет пользователю создать всего одно имя и один пароль для получения доступа ко всем Web-сайтам, участвующим в программе .Net Passport. Служба единого входа .Net Passport призвана избавить пользователей от запоминания многочисленных регистрационных имен и паролей. Для каждого пользователя .Net Passport создается личный профиль, позволяющий персонализировать посещение конкретного сайта данным пользователем. Если пользователь открывает доступ к этим сведениям, сайт автоматически получает часть информации из его профиля одновременно с PUID пользователя в момент авторизации последнего на сайте;
  • экспресс-покупка в службе .Net Passport — позволяет пользователям совершать онлайновые покупки, используя информацию, хранящуюся в их паспорте .Net. Информация о кредитных картах и адресах доставки пользователей службы .Net Passport хранится в их цифровых бумажниках, поэтому можно свести процедуру оформления покупки к выбору товара, платежной карты и того или иного адреса доставки. Пользователь выбирает кредитную карту и адрес доставки из числа хранящихся в его цифровом бумажнике. Завершается операция передачей данной информации на торговый сайт;
  • служба Kids .Net Passport — дополнительная функция службы единого входа .Net, которая представляет собой готовое решение для получения согласия родителей на сбор или разглашение личных сведений об их детях.

Отметим, что корпорация Microsoft требует от всех сайтов, использующих эти службы, обязательной политики защиты личных сведений и соблюдения стандартов, принятых в IT-индустрии. Это оговорено в контракте, заключаемом Microsoft с компаниями — владельцами сайтов, использующими .Net MyServices.

Заключение

Итак, что можно ожидать от применения .Net MyServices? С одной стороны, пользователи могут получать удобный и, не исключено, действительно защищенный доступ к своим персональным данным из любой точки земного шара и с помощью любого устройства, а разработчики и владельцы Web-сайтов — возможность создавать решения, использующие такой доступ. С другой стороны, сама мысль о том, что эти данные могут быть предоставлены компаниям — владельцам сайтов, заключившим соответствующие контракты с Microsoft, скорее всего, заставит пользователей подходить с известной долей осторожности к хранению своих личных данных на удаленном сервере, не принадлежащем их компаниям. Отметим, однако, что некоторые американские компании уже используют .Net MyServices для совершения своих бизнес-операций, и, видимо, стоит подождать и посмотреть, каковы будут результаты.

КомпьютерПресс 4'2002


Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует