Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

40
Identity 2.0 { Windows CardSpace } Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH

Transcript of Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Page 1: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Identity 2.0{ Windows CardSpace }

Mathias RaackeSenior Student PartnerMicrosoft Deutschland GmbH

Page 2: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Identity 2.0: Windows CardSpace

“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)

Page 3: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Zu viele Kennwörter

3

?????

?????

Page 4: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Mai Ju

li

Sept

embe

r

Novem

ber

Janu

arMär

zMai

10,000

11,000

12,000

13,000

14,000

15,000

16,000

17,000

18,000

19,000

20,000

Quelle: http://www.antiphishing.org

Im Moment werden jede Woche 1 Million Angriffe

durch den Internet Explorer 7 Phishing-Filter blockiert.

Quelle: Internet Explorer Blog, http://blogs.msdn.com/ie

Berichte über Phishing-Angriffe Mai ‘05 – Mai ‘06

4

Page 5: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Beteiligte ParteienBenutzername + Kennwort

Benutzer

Webseite

Identitäts-anbieter(offline)

5

z.B. PostIdent

Benutzername +

Kennwort

Page 6: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Identitäten in der „Offlinewelt“Microsoft•Senior Student Partner•[email protected]

Freiberuflich•.NET Trainer & Entwickler•[email protected]

Campus Consult Projektmanagement GmbH•Berater•[email protected]

.NET User Group Paderborn•Gründer•[email protected]

INETA Europe•Vice President Academic•[email protected]

Uni Paderborn•Student•[email protected]

Page 7: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Authentifizierung: Wer bin ich?

Wonach wird gefragt?Name, Adresse,

Kreditkartennummer, Alter,…

Wer fragt?Händler, Polizei,

Fahrkartenkontrolleur, Geschäftspartner, …

Wer bestätigt die Angaben?Bank, Staat, Bahn,

Automobilclub, ich selbst, …

Die Antwort hängt vom Kontext ab:

7

Page 8: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Beteiligte Parteien„Offlinewelt“ – Beispiel Bank

Benutzer

Geld-automat

Bank

8

Personalausweis

EC Karte

Page 9: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

WCS

WFWCF

WPF.NET 3.0

Identitätsverwaltung mit Windows CardSpace™

Einfacher

Einheitliche User Experience

Sichere Token statt Benutzername + Kennwort

Sicherer

Schützt vor Phishing

Token sind kryptographisch stark verschlüsselt

Offene Standards

Basiert auf WS-* Protokollen

Auf jeder Plattform verwendbar

9

Page 10: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

{ CardSpace aus Endanwendersicht}

demo

Page 11: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Die CardSpace Umgebung

Läuft in einem geschützten

Desktop

Vom Windows Desktop isoliert

Geschützt vor Hacking durch

Usermode-Prozesse11

Page 12: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Plattformunabhängig und Interoperabel

12

IE7 Windows

Internet Explorer 7

CardSpace / .NET 3.0

Vista, XP, 2003

Firefox 2.0 Windows

Firefox 2.0 + Plugin

CardSpace / .NET 3.0

Vista, XP, 2003

Firefox 2.0 „überall“

Firefox 2.0

Xmldap (Java)

Windows, Mac, Linux

Safari

Safari + Plugin

Xmldap (Java)

Mac

Ab Firefox 3.0 direkt in Firefox integriert

Page 13: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

{ CardSpace und Firefox}

demo

Page 14: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Kartentypen

Selbstausgestellte Karten

•Enthält vom Nutzer aufgestellte Identitäts-behauptungen•Nicht überprüft•Lokal gespeichert•Signiert und ver-schlüsselt, geschützt vor „replay“-Angriffen

Verwaltete Karten

•Von einem Identitäts-anbieter (Bank, Behörde, Verein, …) ausgestellt•Lokal nur Metadaten gespeichert•Daten werden beim Identitätsanbieter gespeichert

14

Page 15: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Beteiligte ParteienWindows CardSpaceBenu

tzermit

„Identity

Selector“

„Relaying Party

“ (Webseite)

Identitäts-anbieter

15

Page 16: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Benutzer

„Relaying Party

“ (Webseite)

Identitäts-anbieter

Scenario 1: Anmeldung mit selbstausgestellter Karte(„Visitenkarte“)

1. Benutzer ruft Webseite auf2. Server sendet HTML Seite

mit CardSpace <object> Tag3. Benutzer wählt selbsterstellte

Karte4. Verschlüsseltes Token mit

Benutzerdaten wird an Server übermittelt

16

Page 17: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Benutzer

„Relaying Party

“ (Webseite)

Identitäts-anbieter

Scenario 2: Anmeldung mit verwalteter Karte („Ausweis“)

1. Benutzer ruft Webseite auf2. Server sendet HTML Seite mit

CardSpace <object> Tag3. Benutzer wählt verwaltete Karte4. CardSpace fordert

Sicherheitstoken von Identitätsanbieter an

5. Identitätsanbieter antwortet mit signiertem und verschlüsseltem Token

6. CardSpace sendet Token an den Server

17

Page 18: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Benutzer

„Relaying Party

“ (Webseite)

Identitäts-anbieter

Authentifizierung beim Identitätsanbieter

Authentifizierung beim Identitätsanbieter mit

- Benutzername + Kennwort- Selbstausgestellter Karte- X.509- Kerberos

18

Page 19: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

CardSpace in eigenen Webseiten verwenden

20

SSL konfigurieren (ab 3.5 optional)

Formular mit CardSpace Object-

Tag

Token entschlüsseln• XML Encryption• Zugriff auf den private

Key des SSL Zertifikats

Signatur des Tokens überprüfen

• XML Signturen• Canonical XML

Gültigkeit des Tokens überprüfen

• SAML

Claims aus dem Token auslesen

• SAML

Page 20: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Das kann man alles selbst machen…

21

…muss man aber nicht ASP.NET

Token Klasse aus den CardSpace Samples von MicrosoftViele fertige Steuerelemente

Bibliotheken für PHPKim Cameronhttp://www.identityblog.comRob Richardshttp://www.cdatazone.org

Auch für Java und andere Plattformen gibt es CardSpace Bibliotheken

Page 21: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

{ CardSpace in Webseiten integrieren}

demo

Page 22: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Login und Registrierungsseiten

<asp:Button ID="AnmeldeButton" runat="server" Text="Anmeldung mit Windows CardSpace" /> <object type="application/x-informationcard" name="xmlToken"><param name="tokenType" value="urn:oasis:names:tc:SAML:1.0:assertion"/><param name="issuer" value="http://.../identity/issuer/self"/><param name="requiredClaims" value="http://.../claims/givenname http://.../claims/surname http://.../claims/emailaddress http://.../claims/privatepersonalidentifier"/></object>

23

Page 23: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

CardSpace Claims für selbstausgestellte Karten

Vorname

Nachname E-Mail

Straße Ort Bundesland

Postleitzahl Land Telefon

(privat)

Telefon (weitere Nr.)

Telefon (mobil)

Geburtsdatum

Aussteller URI: http://schemas.xmlsoap.org/ws/2005/05/identity/issuer/self

24

Page 24: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Der Private Personal Identifier

Eindeutiger Wert berechnet aus Karte und Relying Party

Jede Kombination hat unterschiedliche PPIDWird berechnet aus

Relying Party SSL Zertifikat falls vorhanden,ansonsten DNS Hostname / IPWert aus der Karte

„Ersetzt“ das Kennwort, es geht aber noch sicherer: UniqueID (= PPID + Public Key)

Siehe Token.cs Beispiel auf netfx3.com

Page 25: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

{ Claims auslesen}

demo

Page 26: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Das Security-Token auslesen

protected void Page_Load(object sender, EventArgs e) { string xmlToken = Convert.ToString(Request["XmlToken"]);

Token token = new Token(xmlToken);

// Benutzername mit dieser InfoCard findenstring username =

MembershipHelper.GetUser(token.UniqueID);

// Diesen Benutzer anmelden

Token-Klasse

•Entschlüsselt das Token•Ermöglicht Zugriff auf Claims•Code auf netfx3.com

MembershipHelper-Klasse

•Kapselt Datenbankzugriff•Sucht Benutzer aus der Datenbank mit ID aus Token27

Page 27: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Anpassen der Datenbank

CREATE PROCEDURE aspnet_CardSpace_lookup (@card nvarchar(50) ) AS SELECT UserName FROM aspnet_UsersWHERE UniqueHash = @card

CREATE PROCEDURE aspnet_CardSpace_associate (@UserID nvarchar(256), @card nvarchar(50) )

AS UPDATE aspnet_Users SET UniqueHash = @cardWHERE UserName = @UserID

28

Page 28: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Testzertifikat erstellen

29

Windows CardSpace unter .NET 3.0 funktioniert nur mit gültigem SSL-Zertifikat, ab 3.5 optionalSelfssl.exe aus Internet Information Services (IIS) 6.0 Resource Kit ToolsFindprivatekey.exe aus „Introduction … with IE7“ SampleIIS 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

Page 29: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

CardSpace und OpenID

OpenID ist anfällig für PhishingCardSpace als Login beim OpenID Identity Provider löst dieses ProblemBeispiel: myOpenID.com

Jede OpenID Seite unterstützt (indirekt) auch CardSpace!

Page 30: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

{ CardSpace und OpenID}

demo

Page 31: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

CardSpace in der Praxis

Otto StoreLiveID (Beta)myOpenID.comfun communications GmbH: WebCard Loaylty

Virtuelle KundenkarteVorstellung auf der CeBit, Halle 6, Stand E12http://www.fun.de/deutsch/Solutions/CardSpace.asp

Page 32: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

{ CardSpace in der Praxis }

Christian ArnoldATE Software

partner

Page 33: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

CardSpace – neues in .NET 3.5

Kein SSL Zertifikat mehr erforderlichVerbesserte BenutzeroberflächeFunktioniert auch auf FAT PartitionenIdentity Provider können eigene Fehlermeldungen anzeigenUnterstützung für aktuelle OASIS Web Service Security Exchange Standards (WS-SX)

Page 34: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

{ CardSpace für WCF Clients}

demo

Page 35: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Offene Probleme

37

Portabilität von InfoCardsCardSpace v2?Novell und andere Anbieter

BekanntheitSSL - nicht für „billige“ Shared Hosting Angebote geeignet .NET 3.5

Page 36: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Zusammenfassung

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

Page 37: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Fragen?

[email protected]@raacke.infohttp://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

Page 38: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Visual Studio 2008weitere Angebote

Visual Studio Team System Information DayRegelmäßige ganztägige Informationsveranstaltung von MicrosoftPraxisnahe Demos & viel Raum für DiskussionenDetails & Anmeldung: www.event-team.com/events/visualstudio

TeamConf 2008 – Die Visual Studio Team System KonferenzVSTS in der Praxis - 22.-24. April 2008 in MünchenAnwenderberichte (Siemens, ABB, Commerzbank, Datev, Münchener Rück,..)Fach- und TechnologievorträgeVortragsprogramm und Anmeldung: www.teamconf.de

Visual Studio Launch PromotionTauschen 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 Produktesvom 19. Februar bis zum 30. April 2008Nur bei den Partnern: PC Ware, SoftExpress, SOS und Zoschke (befinden sich alle in der Ausstellerhalle)

Page 39: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Ask the ExpertsWir freuen uns auf Ihre Fragen: Technische Experten stehen Ihnen während der gesamten Veranstaltung in der Haupthalle zur Verfügung.

Page 40: Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

© 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.