[OpenID] OpenID 2.0, PAPE, and handling monetary transactions

Terry Hayes Terry.Hayes at corp.aol.com
Mon Nov 26 21:04:13 UTC 2007


I'm always surprised that people are considering using OpenID for  
financial transactions (at least right now).  OpenID has a lot to  
offer without being used at sites that require the highest levels of  
security.  However, since the question was asked, I'll respond to a  
few points below.

Terry

On Nov 26, 2007, at 12:00 , Ben Bangert wrote:

> I've been working on an OpenID 2.0 based application to replace a  
> legacy system the past few months, and its getting close to  
> deployment (any day now!). Some interesting issues have come up  
> since I first embarked on this project, mainly dealing with all the  
> little details.
>
> One of the most pressing, is security. While OpenID 1.0 was  
> originally created with the intention of making it easy to manage  
> your identity, so you could post comments to blogs, etc. it is  
> increasingly being used and added to systems that do so much  
> more.... like financial websites (some banks now take OpenID), and  
> other online websites that might manage subscriptions or other  
> activities linked to financial data. With such a move, the  
> inability to do a few basic actions becomes a massive problem that  
> I've experienced.

Can you tell me which banks have adopted OpenID for authentication?   
Mine certainly hasn't.  Are they allowing all types of transactions  
based on OpenID?  How does a user's OpenID become associated with  
their account?

I certainly don't expect my bank or my brokerage to adopt OpenID.   
I'm comfortable managing passwords for those sites separately.   
OpenID would be great for lots of other places, like my New York  
Times account, my blog, or even my Tivo or Netflix accounts.

>
> The most common need I have when dealing with a user account linked  
> to financial information, is before anything can be changed, I want  
> to ensure that they can still provide authentication credentials.  
> PAPE supports a max-age limit where I can ensure a user has been  
> able to sign-in within a specific time frame, which appears to meet  
> this need. However, whether or not the user's OP *really* honors  
> it, is questionable, and except for a small white-list of IDP I  
> can't really ensure that the user really has re-authenticated to  
> their OP.

I don't know all the details of PAPE (I'm way behind on some of the  
proposed extensions), but I'm going to assume that part of the OpenID  
authentication response includes a (signed) statement that certain  
PAPE requests were satisfied (in this case "max-age").  In other  
words, the OP is asserting that it honors PAPE.

In the world of OpenID, you (the bank or other RP) need to accept the  
OP's PAPE statement.  OpenID transfers control of a user's identity  
to the user.  They are free to select a provider that gives them a  
set of features and a level of security that makes them comfortable.   
It is the user's responsibility to choose an appropriate OP, one that  
actually implements the portions of the specifications they will need  
for the sites they visit.

That said, it's perfectly reasonable for the bank (or other RP) to  
notify the user that they need to take appropriate care in selecting  
an OP.  Clearly, there is a registration step where the bank  
associates an account with an OpenID serviced by the user's chosen  
OP. (This may be at each login, if the OP changes in the delegated  
case.)  At that point, the RP can in require the user to agree that  
they are taking appropriate care.  Most institutions already do this  
when dealing with the user's management of passwords.  ("You must  
keep the password to yourself...")


Again, this is just a result of the way OpenID puts the user in control.

>
> I've seen a few banks solve this problem by requiring security  
> questions, so the security question is acting as a specific  
> password that the bank can then ensure that you are you, rather  
> than someone who got lucky sitting at another terminal. PAPE is  
> only useful if you're absolutely sure the other website is actually  
> honoring it, which naturally results in having to maintain a white- 
> list of IDP's you can trust. And rather than having to restrict  
> users to a white-list, I've gone with following the bank model and  
> having OpenID users choose security questions (which is not as  
> desirable as having PAPE I can trust).

In fact, I would be unhappy having to provide answers to security  
questions to some entity other than my OP.  The idea of designating  
an OP is to get most of the identity information in a single trusted  
and managed location.  Spreading answers to personal questions around  
to various RPs (financial institutions or not) is moving in the wrong  
direction.

>
> To top it all off, PAPE is only Draft 1, which seems silly since so  
> many sites are handling financial data, that only now did this  
> become a concern. Meanwhile the advocacy to "Support OpenID", etc.  
> is in full gear, and its rather frightening to think some sites may  
> blindly start supporting OpenID without realizing its missing  
> something as basic as a way to ensure a user can re-authenticate  
> (quite a few OP's have very long session timeouts).

Again, I'm surprised to hear that "so many sites are handling  
financial data".  It is certainly not my sense that the "Support  
OpenID" advocacy (as you call it) is pushing sites with high value  
transactions in this direction at all.

If the OpenID community does want to push in this direction, there  
are other things to worry about first, such as consistent and working  
support for SSL-based OpenIDs (https URLs).

>
> As PAPE is an early draft, could it be extended to support some  
> sort of trust signature that can be signed off on? This could help  
> alleviate the need to maintain a white-list, by instead supporting  
> any OP that has had its PAPE support verified by means of another  
> service (maybe some OpenID non-profit that can cryptographically  
> sign OP's?).

Again, the OpenID model puts the user in charge.  The financial  
institution's customer needs to select a provider that delivers the  
appropriate level of security, which may include correctly  
implementing PAPE.

>
> At the very least, it'd be exceptionally useful to those  
> implementing OpenID on websites that do need to handle accounts  
> linked to financial data, with a set of guidelines for:
> * How to handle re-authentication (PAPE with white-list? Security  
> questions?)
> * Security considerations (Can't trust an OP, since anyone can run  
> one, and *claim* it supports PAPE, ie, no way to verify the claim)

PAPE may be the appropriate solution for "re-authentication".  As far  
as "anyone can run" a provider, it's up to the user to choose a good  
one, and up the bank (or other RP) to inform the user of their  
responsibility and liability.

>
>
> Btw, thanks very much to the JanRain team for an excellent set of  
> Python OpenID libraries that actually implement such early Drafts! :)
>
> Cheers,
> Ben_______________________________________________
> general mailing list
> general at openid.net
> http://openid.net/mailman/listinfo/general




More information about the general mailing list