Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Post on 05-Apr-2015

107 views 1 download

Transcript of Mathias Raacke Senior Student Partner Microsoft Deutschland GmbH.

Identity 2.0{ Windows CardSpace }

Mathias RaackeSenior Student PartnerMicrosoft 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)

Zu viele Kennwörter

3

?????

?????

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

Beteiligte ParteienBenutzername + Kennwort

Benutzer

Webseite

Identitäts-anbieter(offline)

5

z.B. PostIdent

Benutzername +

Kennwort

Identitäten in der „Offlinewelt“Microsoft•Senior Student Partner•i-maraac@microsoft.com

Freiberuflich•.NET Trainer & Entwickler•mathias@raacke.info

Campus Consult Projektmanagement GmbH•Berater•mraacke@campus-consult.de

.NET User Group Paderborn•Gründer•raacke@dotnet-paderborn.de

INETA Europe•Vice President Academic•mathias.raacke@ineta-europe.org

Uni Paderborn•Student•raacke@upb.de

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

Beteiligte Parteien„Offlinewelt“ – Beispiel Bank

Benutzer

Geld-automat

Bank

8

Personalausweis

EC Karte

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

{ CardSpace aus Endanwendersicht}

demo

Die CardSpace Umgebung

Läuft in einem geschützten

Desktop

Vom Windows Desktop isoliert

Geschützt vor Hacking durch

Usermode-Prozesse11

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

{ CardSpace und Firefox}

demo

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

Beteiligte ParteienWindows CardSpaceBenu

tzermit

„Identity

Selector“

„Relaying Party

“ (Webseite)

Identitäts-anbieter

15

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

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

Benutzer

„Relaying Party

“ (Webseite)

Identitäts-anbieter

Authentifizierung beim Identitätsanbieter

Authentifizierung beim Identitätsanbieter mit

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

18

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

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

{ CardSpace in Webseiten integrieren}

demo

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

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

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

{ Claims auslesen}

demo

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

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

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

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!

{ CardSpace und OpenID}

demo

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

{ CardSpace in der Praxis }

Christian ArnoldATE Software

partner

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)

{ CardSpace für WCF Clients}

demo

Offene Probleme

37

Portabilität von InfoCardsCardSpace v2?Novell und andere Anbieter

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

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

Fragen?

i-maraac@microsoft.commathias@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

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)

Ask the ExpertsWir 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.