{ Windows CardSpace }

Mathias Raacke Senior Student Partner Deutschland GmbH “Identity 2.0, also called digital identity, is the anticipated revolution of identity verification on the internet using emerging -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 7 -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 2.0 Firefox 2.0 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,

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. sendet HTML Seite Benutzer mit CardSpace Tag 3. Benutzer wählt selbsterstellte Karte 4. Verschlüsseltes Token mit Benutzerdaten wird an Server übermittelt

Identitäts- „Relaying anbieter Party“ (Webseite)

16 1. Benutzer ruft Webseite auf 2. Server sendet HTML Seite mit Benutzer CardSpace Tag 3. Benutzer wählt verwaltete Karte 4. CardSpace fordert Sicherheitstoken von Identitätsanbieter an 5. Identitätsanbieter antwortet mit signiertem und verschlüsseltem Token 6. CardSpace sendet Token an den Server

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- 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? 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, 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.