« November 2009
SunMonTueWedThuFriSat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
     
       
Today
XML

Blog::Navigation

A Twisted World

Blog::Entries

Blog::Old Entries


my Infocard Blog
It takes 2 to Tango
Higgins on RollerWebLogger
Browse HAPPY**
Infocard for Wordpress (Kims PHP Code Release)**
Using infocard to authenticate yourselves to Web Apps**
Blogrolled By Kim
Referer Spam or A Sequel to Full Monty ;-)
InfoCard or JavaCard
Microsoft Infocard & my realtime discoveries**
Kim's Infocard Demo**
Next Generation Web (definitely not 2.0)
Replace Microsoft Exchange as well as Microsoft Windows Server
Identity Information Theft vs Identity Theft
Web 2.0 - The Race Is On !!
Microsoft Hailstorm
Enterprise Identity - my 2.0 cents
Open Source Identity Management
Anonymous Identity
Is your IDENTITY Yours or your Employers ?**
DE-Federated Identity Access (DEAF)
Identitfy yourSELF (mIDm)
Who Am I**
n Factor Authentication
You are who I say you are**
OpenSSO - where are we headed ?**
Identity, Security & Theft
OpenSSO is Open For Business **
Ditching Microsoft Can Save You Your Money
Microsoft wants it's users to UNINSTALL Netscape
SHLIBERTY : Liberty Alliance

Blog::Roll

DISCLAIMER: This site is a personal blog and is to be used for informational purposes only. This is not legal advice. The views expressed on this blog are those of the author only, and should not be attributed to any past or present employers.

[This is a Roller site]
Linked In
blogs.sun.com
Java blogs
XHTML
CSS

Blog Directory & Search engine






Java RSS Blogs



Creative Commons License
This work is licensed under a Creative Commons License.

Blog::Referers

Today's Page Hits: 8

Site notes

This page validates as XHTML 1.0, and will look much better in a browser that supports web standards, but it is accessible to any browser or Internet device. It was created using techniques detailed at glish.com/css/.

Powered by Roller Weblogger.
my.info.card has now moved to its a new home at http://blogs.sun.com/ideas/.
Please update your bookmarks and feed URLs.

« infocard xmlToken | Main | ie7 that works with... »
Saturday April 01, 2006
OPEN infocard

Chuck Mortimore, has posted the exact steps required to "consume" infocards on his blog (xmldap). I'm not gonna steal the spotlight from him. He deserves more credit for this than anybody else. This is a cross post from Chuck's blog.

Chuck writes:

To get started, you need to get your hands on the XML Token. This should be pretty simple, as your web framework will generally hand back parameters already URL decoded.

Once you’ve got the token, you’ll need to decrypt the token. The token is transmitted as encrypted XML.

Head On Over to Chuck's Blog to see what the xmlToken would look like
OR look at my previous post on what it looks like. Chuck's Post is "complete". Mine's truncated..

Basically what you have here is an ephemeral symmetric encryption key, which has itself been encrypted with the Public Key of the SSL Cert for the website InfoCard is interacting with. As you can see from the metadata provided in the KeyInfo fragment, the key is encrypted using RSA with OAEP encoding and SHA1, using the certificate identified in the SecurityTokenReference with the provided fingerprint (the fingerprint is a SHA1 hash of the cert bytes)

Your first job is to decrypt that encryption key. Step one : remove the Base64 encoding. Step 2 : you need to write a function which takes the private key for the cert referenced by the fingerprint, along with the data as input, and decrypts in this manner RSA-OAEP

Once you’ve successfully decrypted the key ( it should be 256 bits), you can use it to decrypt the token. As you can see in the XML, you need to use AES with a ChainedBlockCipher. Decrypt the token (Don’t forget to strip the initialization vectors...thanks Gary).

Head On Over to Chuck's Blog to see what the decrypted token would look like

The next step would be to quickly check the validity period on this Assertion to make sure it’s still fresh. You might also want to check the AssertionID against a table of previously seen assertions to prevent replay...depends on your level of paranoia.

On to signature validation...you should follow the steps outlined in XML-DSIG, but to paraphrase, check the digest of the canonicalized assetion against the digest in the SignedInfo block, and then validate the signature of the canonicalized SignedInfo using a PublicKey constructed from the provided KeyInfo.

Now, what’s bugging me is the use for the Symmetric Proof key provided in the Subject of the Assertion. Super Pat and I discussed this for awhile, and since it’s not used immediately in this protocol exchange, our best guess is that it’s used in subsequent interactions with the service, although I must admit the InfoCard docs are a little fuzzy on this subject. If anyone can fill me in, I’d appreciate it!

Finally, if your signature validation worked, extract the claims, enforce any policy you’d like, create a session, set a cookie, etc...

Chuck has also reverse-engineered the infocard token creation and has published a tool that can create a token for you on his demo servers.

Now since "infocard walled garden" has been made not so mystical, Here's are my thoughts.

The OBJECT tag required to invoke the Identity Selector is a cool tool, But on the RP side, the RP is just a listener that received tokens "pushed" to it. One does not really need the use of a InformationCardSignInHelper (ie: icardie.dll for ie7)to invoke the Identity Selector (WinFX CTP). One can easily write a tool, that creates these tokens using random data and start pushing these tokens to RP's. I see this as an extremely simple way to set up a DoS attack.

Like I said earlier, I am having a extremely hard time trying to digest the First Law from the "Laws Of Identity". For some reason I tend to lean strongly towards not being able to digest "user control". Hopefully over time, I shall grow out of it and be able to digest the theory.

SO: Higgins folks have a base to work off of for their open source version of "infocard-whatever" (not that they needed it). And I'd like to see if folks credit Chuck for HIS hard work.

PLEASE UPDATE YOUR BOOKMARKS TO :

Comments:

Post a Comment:

Comments are closed for this entry.
Copyright (C) , my.info.card