От паролей к CardSpace Сергей Березников Эксперт DocsVision Digital Design.

Презентация:



Advertisements
Похожие презентации
Интеграция средств идентификации от различных производителей - основа безопасного информационного обмена Владимир Мамыкин Директор по информационной безопасности.
Advertisements

Андрей Рыковский Евгений Якушкин пятница, 27 июля 2012 г.пятница, 27 июля 2012 г.пятница, 27 июля 2012 г.пятница, 27 июля 2012 г.пятница, 27 июля 2012.
Реализация Windows CardSpace Дневник разработчика Основан на одноименном докладе: Dominick Baier Консультант по безопасности.
Top 10 возможностей ASP.NET 2.0. Выбор сделан на основе опросов разработчиков Top 10 – горячая десятка возможностей.
Технологии и продукты Microsoft в обеспечении ИБ Лекция 13. Системы управления идентичностью.
Полигон 2006: Тестовая лаборатория будущего The 2007 Microsoft Office system.
Простая автоматизация бизнес процессов С помощью Microsoft Share Point Portal Server И DocsVision Share Point Edition Докладчик Андреев Владимир Сергеевич.
Единая система аутентификации Обзор решения Москва, 2012г.
Microsoft TechDays Александр Неволин Nevlabs кандидат технических наук.
Microsoft TechDays Леонид Шапиро MCT ЦКО «Специалист»
Microsoft TechDays Николай Миляев консультант Microsoft.
Веб-технологии и современные средства разработки УЦ ВГТУ & SoftLine Academy.
Windows ® Azure Platform. Проблемы безопасности в «облаке» Физическая безопасность Сети и изоляция Безопасность приложений Управление идентификацией пользователей.
Веб-решение или Толстый клиент? Сравнение, тенденции, архитектура Иван Бодягин MAS Elektronik AG.
Проф. В.К.Толстых, WCF-службы Понятие безопасности Из цикла лекций «Internet-технологии разработки приложений» для студентов 4-го курса.
Прогресс в безопасности за первое полугодие 2007 года ИНФОФОРУМ 14 июня 2007 г. Владимир Мамыкин Директор по информационной безопасности Кабинет Президента.
Microsoft TechDays Леонид Шапиро MCT, MVP, MCSE Microsoft TechDays Правила наименьших привилегий Стандартные средства защиты Microsoft Свойства учетной.
Программа Web Seeding Александр Орехов, Руководитель департамента стратегических технологий «Майкрософт Украина»
Microsoft TechDays Заграничнов Александр Microsoft.
Разработка web- приложений и ASP.NET. Web-приложения и web- серверы Web-приложение это набор взаимосвязанных файлов (*.htm, *.asp, *,aspx, файлов изображений.
Транксрипт:

От паролей к CardSpace Сергей Березников Эксперт DocsVision Digital Design

Содержание Личностный кризис Интернет Обзор CardSpace Реализация Метасистема Идентификации Запуск CardSpace

А Вы кто?

Личностный кризис Интернет Мошенничество (фишинг) «Утомлённые паролями» Несовместимые, частные механизмы идентификации

Мошенничество (фишинг) Интернет – опасное место!

«Утомлённые паролями» Плохой выбор Плохое управление Плохое (пере-)использование

Что необходимо? Простой, согласованный, защищённый способ представления личности –Применимый всеми и для всего Быть открытым и никому не принадлежать Подходить для всех сценариев Работать с существующими и будущими системами –Вовлечь пользователя в управление своей личностью Защитить персональную информацию Помочь в принятии правильных решений Получить признание и принятие индустрии

Личностная метасистема Абстракция личности, основанная на Семи Законах Личность (identity): набор заявок (claims) в маркере безопасности (security token) Роли –Субъект –Поставщик личности –Заинтересованная сторона Протокол 1)Пользователя просят представиться 2)Пользователь выбирает поставщика личности 3)Поставщик выдаёт пользователю маркер 4)Пользователь предъявляет маркер безопасности инициатору запроса

Протокол взаимодействия Поставщик личности (Identity Provider - IP) Заинтересованная сторона (Relying Party - RP) Клиент Клиент желает получить доступ к ресурсу RP выставляет требования: формат, список заявок и издателя маркера безопасности 1 2 Пользователь 3 Клиент показывает список IP, удовлетворяющих этим требованиям Пользователь выбирает IP 4 5 У IP запрашивается маркер безопасности 6 IP генерирует маркер на основе требований RP 7 Пользователь подтверждает/отклоняет выдачу маркера 8 Маркер предъявляется RP RP просматривает заявки и предоставляет доступ

Как? WS-* и CardSpace! Описать политику… –WS-SecurityPolicy Извлечь политику… –WS-MetadataExchange Security Token Service… –WS-Trust Сообщения… –SOAP и WS-Security Формат маркера… –Всё, что желает RP и может предоставить IP Взаимодействие сторон происходит под руководством селектора личности (identity selector) на клиенте –CardSpace – селектор личности для Windows

Windows CardSpace Единообразный интерфейс Помогает избавиться от паролей Помогает защитить пользователей от подделок и мошенничества Поддерживает взаимную и многоступенчатую аутентификацию ПрощеБезопаснее Базируется на WS-* протоколах

Что такое Windows CardSpace? CardSpace – это селектор личности для Windows –Часть.NET Framework 3.0, использует WCF для реализации стека WS-* Цифровые личности пользователя – набор карточек –Карточки связаны с поставщиком личности –Содержат метаданные маркера безопасности Что они из себя представляют и где их взять –Отображаются при помощи специального защищённого пользовательского интерфейса Когда пользователь выбирает карточку… –CardSpace получает у поставщика личности маркер –С согласия пользователя передаёт его заинтересованной стороне Пользователь принимает непосредственное и активное участие в процессе

Поиграем за… 1)Поставщика 2)Сторону 3)Клиента

Роль 1: Поставщик личности Каждый поставщик личности должен иметь: –SSL сертификат Представляет личность поставщика, используется для подписи маркера Предпочтительны High Assurance сертификаты с логотипом –Security Token Service Обрабатывает запросы на получение маркера, аутентифицирует пользователя, создаёт маркер –Одну информационную карточку на пользователя Содержит метаданные маркера безопасности Примеры –Работодатель, школа, банк, клуб –Пользователь!

Поставщик личности = Пользователь Подходит для большинства веб-сайтов На клиенте нам нужно: –Security Token Service –Создание карточки –Ключи для подписи маркера Является частью системы CardSpace Персональные или самодельные карточки –Создаются пользователем в CardSpace UI –Фиксированный набор из 12 заявок –Маркеры безопасности в формате SAML 1.x –Карточка и данные - на клиенте

SSL сертификат –High Assurance сертификаты с логотипом Security Token Services –Купить у производителя –Создать на.NET Framework 3.0 –На устройстве… портативный STS Создаёт управляемые (managed) карточки –Одна на пользователя, подписана поставщиком –Поставщик определяет набор заявок, формат маркера, способ аутентификации –Карточка передаётся пользователю, но данные остаются у поставщика Поставщик личности != Пользователь

Роль 2: Заинтересованная сторона SSL сертификат –High Assurance сертификат с логотипом Требования к маркеру заданы в политике Обработка маркера безопасности –Расшифровать маркер, проверить подпись издателя, разобрать заявки, идентифицировать пользователя, авторизовать Примеры –Любой сайт или сервис

Заинтересованный = Веб-сервис Установить сертификат, использовать WCF, config и System.IdentityModel

Заинтересованный = Веб-сайт Веб-сайтам тоже нужны WS-*? Нет! Для поддержки CardSpace: –Изменить страницы входа и регистрации Добавить кнопку с тегом объекта CardSpace Добавить обработчик присланного маркера безопасности –Авторизованным пользователям традиционно выдать куки –Модифицировать базу учётных записей Добавить поле для заявки «идентификатор пользователя»

Интеграция с CardSpace Четыре основных задачи: 1.Изменить базу данных 2.Создать страницу ассоциации 3.Обновить страницу входа 4.Обновить страницу регистрации

CREATE PROCEDURE aspnet_cardspace_associate nvarchar(50) ) AS... CREATE PROCEDURE aspnet_cardspace_lookup nvarchar(50) ) AS Ассоциируем пользователя с карточкой

Update account with your Information Card

public partial class Associate_aspx : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // check if an xmlToken is posted string xmlToken = Request["xmlToken"]; if (xmlToken != null) { TokenHelper tokenHelper = new TokenHelper(xmlToken); // get the unique id string uniqueID = tokenHelper.getUniqueID(); if (uniqueID != null && uniqueID != "") { //store it with the account. MembershipUser user = Membership.GetUser(); MembershipHelper.AssociateUser( user.UserName, uniqueID); } 2b. Создаём страницу ассоциации

Sign in with your Information Card

public partial class Login_aspx : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { string xmlToken = Request["xmlToken"]; TokenHelper tokenHelper = new TokenHelper(xmlToken); // Lookup the account using the uniqueId string username = MembershipHelper.GetUser( tokenHelper.getUniqueID()); if (username != null) { MembershipUser user = Membership.GetUser(username); // give the cookie back to the browser. FormsAuthentication.SetLoginCookie(user.UserName, false); } 3b. Обновляем страницу входа

Register with your Information Card

//... string xmlToken = Request["xmlToken"]; TokenHelper tokenHelper = new TokenHelper(xmlToken); string uniqueId = tokenHelper.getUniqueID(); string Address = tokenHelper.GetClaim( string username = tokenHelper.GetClaim( if (username != null) { MembershipUser user = CreateUser(name, Address,...); MembershipHelper.AssociateUser(user.UserName, uniqueID); } //... 4b. Обновляем страницу регистрации

Роль 3: Клиентское приложение «Толстый» клиент –Использовать WCF и System.IdentityModel Браузер –В IE7.0 есть icardie.dll Читает HTML тег и вызывает CardSpace –Другие браузеры в Windows могут делать то же самое Клиентам Mac, Linux нужен селектор личности и WS-* стек

Безопасность CardSpace Архитектура –Отдельный «рабочий стол» –Ограниченная учётная запись –Обслуживает сервис –Хранилище зашифровано и ACL –Защита PIN PKCS#5 Взаимодействие –Всё зашифровано (кроме WS-MEX) –Многоступенчатая аутентификация Секретность –Для каждой RP свой ключ для самодельных карт Пользователь всегда при деле –Пользователь всегда знает какую информацию он предоставляет –Идентификация сторон через Trust Dialog –Пользователь может защитить карточки PIN-кодом

Trust Dialog Пользователь выносит явное решение о доверии поставщику личности и заинтересованной стороне Идентифицируют X.509 сертификатами Диалог доверия отображает: –Предмет и издателя сертификата –High Assurance информацию и логотип RP: показывается при первом визите и последующих отказах IP: появляется при импорте карточки

демонстрация CardSpace

.NET 3.0 и CardSpace Встроена в Windows Vista Доступна для Windows XP и Windows Server 2003 Beta 2 выпущена CTP периодически RTM в конце 2006 Q2Q3Q Q2Q4Q Q3Q4 B1CTP V1 RTM B2CTP

Дополнительная информация.NET Framework 3.0 Beta.NET Framework 3.0 Beta – msdn.microsoft.com/windowsvista/downloads/getthe beta/ msdn.microsoft.com/windowsvista/downloads/getthe beta/ msdn.microsoft.com/windowsvista/downloads/getthe beta/ Internet Explorer 7.0 Beta 2Internet Explorer 7.0 Beta 2 – CardSpace в.NET 3.0 Developer CenterCardSpace в.NET 3.0 Developer Center – msdn.microsoft.com/winfx/reference/infocard/ msdn.microsoft.com/winfx/reference/infocard/ Kim Camerons Identity WeblogKim Camerons Identity Weblog –

Вопросы? Сергей Березников

© 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.