{ Windows CardSpace }
Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH “Identity 2.0, also called digital identity, is the anticipated revolution of identity verification on the internet using emerging user-centric technologies such as Information Cards or OpenID. Identity 2.0 stems from the Web 2.0 theory of the world wide web transition. Its emphasis is a simple and open method of identity transactions similar to those in the physical world, such as driver's license.” (Quelle: Wikipedia, http://en.wikipedia.org/wiki/Identity_2.0) ?????
?????
3 20.000 19.000 18.000 17.000 16.000 15.000 14.000 13.000
12.000 Im Moment werden jede Woche 1 Million Angriffe durch den Internet Explorer 7 Phishing-Filter blockiert. 11.000 Quelle: Internet Explorer Blog, http://blogs.msdn.com/ie 10.000
4 Quelle: http://www.antiphishing.org Benutzer Benutzername + Kennwort z.B. PostIdent
Identitäts- anbieter Webseite (offline)
5 Microsoft Freiberuflich Campus Consult • Senior Student Partner • .NET Trainer & Entwickler Projektmanagement • [email protected] • [email protected] GmbH • Berater • [email protected]
.NET User Group INETA Europe Uni Paderborn Paderborn • Vice President Academic • Student • Gründer • mathias.raacke@ineta- • [email protected] • [email protected] europe.org Die Antwort hängt vom Kontext ab: Wonach wird Name, Adresse, Kreditkartennummer, Alter,… gefragt?
Händler, Polizei, Fahrkartenkontrolleur, Wer fragt? Geschäftspartner, …
Wer bestätigt Bank, Staat, Bahn, die Angaben? Automobilclub, ich selbst, …
7 Benutzer EC Karte
Personalausweis
Geld- Bank automat
8 WPF WCS .NET 3.0 WCF WF
9 { CardSpace aus Endanwendersicht} Läuft in einem geschützten Desktop
Vom Windows Desktop isoliert
Geschützt vor Hacking durch Usermode-Prozesse
11 IE7 Firefox 2.0 Firefox 2.0 Safari Windows Windows „überall“
Internet Firefox 2.0 Safari + Firefox 2.0 Explorer 7 + Plugin Plugin
CardSpace CardSpace Xmldap Xmldap / .NET 3.0 / .NET 3.0 (Java) (Java)
Vista, XP, Vista, XP, Windows, Mac 2003 2003 Mac, Linux
Ab Firefox 3.0 direkt in Firefox integriert
12 { CardSpace und Firefox} Selbstausgestellte Verwaltete Karten Karten • Enthält vom Nutzer • Von einem Identitäts- aufgestellte Identitäts- anbieter (Bank, behauptungen Behörde, Verein, …) • Nicht überprüft ausgestellt • Lokal gespeichert • Lokal nur Metadaten • Signiert und ver- gespeichert schlüsselt, geschützt • Daten werden beim vor „replay“-Angriffen Identitätsanbieter gespeichert
14 Benutzer mit „Identity Selector“
Identitäts- „Relaying anbieter Party“ (Webseite)
15 1. Benutzer ruft Webseite auf 2. Server sendet HTML Seite Benutzer mit CardSpace
Identitäts- „Relaying anbieter Party“ (Webseite)
16 1. Benutzer ruft Webseite auf 2. Server sendet HTML Seite mit Benutzer CardSpace
Identitäts- „Relaying anbieter Party“ (Webseite)
17 Authentifizierung beim Identitätsanbieter mit Benutzer - Benutzername + Kennwort - Selbstausgestellter Karte - X.509 - Kerberos
Identitäts- „Relaying anbieter Party“ (Webseite)
18 Token entschlüsseln Formular mit SSL konfigurieren • XML Encryption CardSpace (ab 3.5 optional) • Zugriff auf den private Object-Tag Key des SSL Zertifikats
Signatur des Tokens Gültigkeit des Claims aus dem überprüfen Tokens überprüfen Token auslesen • XML Signturen • SAML • SAML • Canonical XML
20 …muss man aber nicht ASP.NET Token Klasse aus den CardSpace Samples von Microsoft Viele fertige Steuerelemente Bibliotheken für PHP Kim Cameron http://www.identityblog.com Rob Richards http://www.cdatazone.org Auch für Java und andere Plattformen gibt es CardSpace Bibliotheken
21 { CardSpace in Webseiten integrieren}
23 Vorname Nachname E-Mail Straße
Ort Bundesland Postleitzahl Land
Telefon Telefon (privat) Telefon (mobil) Geburtsdatum (weitere Nr.)
Eindeutige ID Geschlecht (PPID)
Aussteller URI: http://schemas.xmlsoap.org/ws/2005/05/identity/issuer/self 24 Eindeutiger Wert berechnet aus Karte und Relying Party Jede Kombination hat unterschiedliche PPID Wird berechnet aus Relying Party SSL Zertifikat falls vorhanden, ansonsten DNS Hostname / IP Wert aus der Karte „Ersetzt“ das Kennwort, es geht aber noch sicherer: UniqueID (= PPID + Public Key) Siehe Token.cs Beispiel auf netfx3.com { Claims auslesen} protected void Page_Load(object sender, EventArgs e) { string xmlToken = Convert.ToString(Request["XmlToken"]);
Token token = new Token(xmlToken);
// Benutzername mit dieser InfoCard finden string username = MembershipHelper.GetUser(token.UniqueID);
// Diesen Benutzer anmelden
Token-Klasse MembershipHelper-Klasse
• Entschlüsselt das Token • Kapselt Datenbankzugriff • Ermöglicht Zugriff auf • Sucht Benutzer aus der Claims Datenbank mit ID aus • Code auf netfx3.com Token 27 CREATE PROCEDURE aspnet_CardSpace_lookup (@card nvarchar(50) ) AS SELECT UserName FROM aspnet_Users WHERE UniqueHash = @card
CREATE PROCEDURE aspnet_CardSpace_associate (@UserID nvarchar(256), @card nvarchar(50) ) AS UPDATE aspnet_Users SET UniqueHash = @card WHERE UserName = @UserID 28 Windows CardSpace unter .NET 3.0 funktioniert nur mit gültigem SSL-Zertifikat, ab 3.5 optional Selfssl.exe aus Internet Information Services (IIS) 6.0 Resource Kit Tools Findprivatekey.exe aus „Introduction … with IE7“ Sample IIS Account benötigt Leserechte auf die Keydatei
selfssl.exe /N:CN=www.adventureworks-cinema.de /T /V:365 findprivatekey.exe My Localmachine -n CN=www.adventureworks-cinema.de
29 OpenID ist anfällig für Phishing CardSpace als Login beim OpenID Identity Provider löst dieses Problem Beispiel: myOpenID.com
Jede OpenID Seite unterstützt (indirekt) auch CardSpace! { CardSpace und OpenID} Otto Store LiveID (Beta) myOpenID.com fun communications GmbH: WebCard Loaylty Virtuelle Kundenkarte Vorstellung auf der CeBit, Halle 6, Stand E12 http://www.fun.de/deutsch/Solutions/CardSpace.asp { CardSpace in der Praxis }
Christian Arnold ATE Software Kein SSL Zertifikat mehr erforderlich Verbesserte Benutzeroberfläche Funktioniert auch auf FAT Partitionen Identity Provider können eigene Fehlermeldungen anzeigen Unterstützung für aktuelle OASIS Web Service Security Exchange Standards (WS- SX) { CardSpace für WCF Clients} Portabilität von InfoCards CardSpace v2? Novell und andere Anbieter Bekanntheit SSL - nicht für „billige“ Shared Hosting Angebote geeignet .NET 3.5
37 Vereinheitlicht Authentifizierung
Besserer Schutz vor Phishing
Geringer Implementierungsaufwand
Basiert auf offenen Standards
Daten nicht zentral gespeichert
Nicht nur für Web-Anwendungen!
http://cardspace.netfx3.com/
38 [email protected] [email protected] http://www.outofcoffeeexception.de http://www.identityblog.com (Kim Cameron) http://www.windowscardspace.de (Christian Arnold) http://www.leastprivilege.com (Dominik Baier) http://staff.newtelligence.de/michaelw (Michael Willers) http://blogs.msdn.com/card (CardSpace Team) 39 weitere Angebote Visual Studio Team System Information Day Regelmäßige ganztägige Informationsveranstaltung von Microsoft Praxisnahe Demos & viel Raum für Diskussionen Details & Anmeldung: www.event-team.com/events/visualstudio
TeamConf 2008 – Die Visual Studio Team System Konferenz VSTS in der Praxis - 22.-24. April 2008 in München Anwenderberichte (Siemens, ABB, Commerzbank, Datev, Münchener Rück,..) Fach- und Technologievorträge Vortragsprogramm und Anmeldung: www.teamconf.de
Visual Studio Launch Promotion Tauschen Sie Ihre Visual Studio Standard in eine höherwertige Visual Studio Edition Ihrer Wahl Anrechnung in Höhe von 299 € beim Kauf eines anderen VS Produktes vom 19. Februar bis zum 30. April 2008 Nur bei den Partnern: PC Ware, SoftExpress, SOS und Zoschke (befinden sich alle in der Ausstellerhalle) Wir freuen uns auf Ihre Fragen: Technische Experten stehen Ihnen während der gesamten Veranstaltung in der Haupthalle zur Verfügung. © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.