OneID compared to Facebook, OpenID 2.0, SAML2

Here is a table summarizing the differences between the traditional approach to identity and OneID’s approach:

Feature

Traditional IdP

OneID

Trustable

No.

 

There is basically not a single trustable third party consumer IdP. That is why each site is its own identity provider.

Yes, no mass breach possible since secrets on individual user devices. Passwords from other sites are insufficient to crack a OneID account because it is device centric. OneID will be announcing a large number of well known brand names that need a trusted identity provider that will be relying on OneID identities as the only third party identity provider.

Offers high assurance options

Most do not. Some offer a few options but they are so hard to use that few people use them.

All OneID providers support the full range of high assurance, yet easy to use, authentication and authorization methods. Users can bring their own devices.

End-to-end security

No

Yes

Account lock out

Yes

No. We only disable those devices that are compromised and we also give you the ability to re-enable them yourself

Pre-authorize device before first use

No

Required. This is fundamental if you want to create a secure identity. It takes a few extra seconds, but it is the key to creating a secure identity system.

Personal information is stored in the cloud and can be decrypted by the identity provider

Yes. The decryption keys are all held at the IdP and so they can view all your personal information at any time

No. There is no way anyone can read your information because the decryption keys are kept on your devices.

Privacy

There is no privacy. The IdP knows all your attributes and if you use this IdP for OpenID connect, they know where you’ve been as well.

OneID knows nothing. Not where you’ve been, not any of your attributes. This is guaranteed in the design. All your attributes are decrypted on your device(s) using crypto secrets that are only on your devices.

Controls

User has virtually no controls on his identity. He basically just has a username and password. He can change his password. That’s about it.

User has an enormous amount of control over his identity at the device level, web site level, and per transaction level.

Password standards

Varies.

None. You choose the password you want. Users love this. You can have a blank password and nobody will be able to break into your account without access to your devices.

Impact of password breaches

If any site is broken into where you used a password that you use at other sites, all those other sites are at risk.

If someone learns your OneID password, they cannot log in as you because they don’t have a pre-authorized device. Password breaches are a non-event because OneID never uses passwords to log into any OneID supported sites.

Shared secrets

The fundamental way you log in, even though shared secrets are extremely insecure

Eliminated. OneID replaces shared secrets with NSA-approved asymmetric crypto.

Device types

One.

Two: access and control. This provides much better security at minimal inconvenience.

2-factor login

Rarely supported or used

Fundamental to our security and easy to use, but it is only invoked when requested by the user or the RP.

2-factor out-of-band login

Not available

Available on every account

Secrets needed to compromise an identity

One

Six.

Phish immunity

None. If you are fooled into typing in your password into the wrong place, kiss your identity goodbye.

Phishing won’t work even if the attacker learns your password and PIN. This is because the attacker must have one of your devices as well, and phishing never provides that.

Physical theft of devices

In most cases, your browser remembered your passwords. Kiss your identity goodbye.

Your browser doesn’t cache your password because it is in a javascript pop up. All high value assets are protected by two factor authorization.

Malware on a device

Kiss your identity goodbye

All high value assets are protected by two factor authorization.

Identity assertion

Asserted by your IdP. This means that the IdP can very easily use your identity without your permission (bug, malicious use, or attacker).

Your identity is asserted by your devices. Your IdP cannot assert your identity without your express consent.

Security

Neither RP or user can set the level of assurance.

RP and user can set the level of assurance on device login, site login, and transactions. RP can set the LoA on a per transaction basis.

Mass breaches

Happen regularly. Very damaging because your shared secrets are exposed. You have to change your password everywhere.

A non-event. A mass breach at an RP site reveals public keys which is useless to an attacker. A mass breach at a OneID repository reveals fully encrypted data.

Database is crackable

Yes, if the databases at any identity provider is breached, all the information is crackable, including databases at LastPass, etc.

No, the databases at RP and OneID aren’t crackable because high entropy decryption secrets are stored on the user’s devices, out of reach of the attacker. No brute force attacks will work.

Decryption keys

Held at the IdP. Based on your low-entropy password as the key (shared secret).

Encryption is based on secrets with 256 bits of entropy held on the user’s device. Asymmetric crypto with no shared secrets.

How does OneID differ from Facebook Connect?

They are similar, but there are many key differences:

1.      OneID was architected from scratch to solve the key problems with digital identity. Facebook Connect was an afterthought to a social network to make it easier for sites to leverage a user’s Facebook account.

2.      OneID primary mission is to provide secure digital identities. Facebook’s primary mission is to be a social network.

3.      OneID is open: anyone can be a OneID identity provider. Facebook is closed: the only company that can assert a Facebook Connect identity is Facebook.

4.      OneID protocols are end-to-end secure. Facebook’s are not.

5.      OneID was architected from scratch to be user-centric (so only the user can assert his identity and not a central server), to preserve privacy (OneID knows nothing about users beyond their email address), and provide security. Facebook Connect is an add-on to a conventional identity provider and has none of these attributes.

6.      OneID provides users many more functions and more control over their identity and keeps it secure.

7.      OneID can do end-to-end secure payments where the payment card information is never given to the merchant. A second benefit is that only the card issuer and the user know that a purchase was made by the user: the OneID payment gateway knows only that a transaction happened, but not who made the transaction, preserving privacy.

8.      OneID can only be used if the device is pre-authorized. This is because the crypto secrets are kept on the user’s devices. Facebook can be used from any device because the authentication is done between the user and Facebook. This is susceptible to mass breaches and situations where a user’s identity can be asserted without the user’s consent.

9.      You can switch your OneID provider at any time. If you decide to close your facebook account, you will have to figure out how to log into each of the accounts you used your Facebook account with.

10.  Facebook is pretty insecure. 600,000 Facebook identities per day are compromised.

Can’t I get the same benefits using Google or Facebook as my identity provider?

Here are some differences:

1.      OneID is a pure identity provider. Google and Facebook are doing identity as a feature. Identity should be independent from email, social networking, etc. The primary reason people are using facebook and Google as identity providers is lack of a viable alternative and not because they are desirable identity providers.

2.      OneID provides strong identities that cannot be breached by any common attack (phishing, malware, physical theft). Google and facebook identities are easily breached by these attacks and centralized attacks on other IdPs where the same password is used. 600,000 facebook identities per day are breached, for example.

3.      OneID provides a stable for life universal identifier (like a social security number) that certifications can be tied to. Facebook doesn’t have an identifier (that anyone would know) and Google uses an email address as an identifier that forces people to have an email account for life and every time you give out your identity, you are allowing people to spam you.

4.      You are never locked out of your OneID account, but you can be locked out of a device if it is lost or stolen. By contrast, you can be locked out of your google or facebook accounts.

5.      OneID uses asymmetric crypto for identity assertions and digital claims. These are all signed by the user. Google, facebook, etc don’t use asymmetric crypto at all for anything.

6.      OneID identity assertions are end-to-end secure and provide several levels of assurance. Google and Facebook assertions are IdP centric, susceptible to mass breaches.

7.      Google and Facebook provide a single level of assurance in almost all cases (for all practical purposes). With OneID, both the RP and user can set the minimum LoA on a per transaction basis to an appropriate level for that transaction.

8.      OneID provides better usability, as well as much better security, privacy, and controls.

9.      OneID preserves privacy: it knows nothing about the user beyond their email address.

10.  OneID allows user choice. If you want to switch where your identity is stored, you can do that without impacting any other part of the system. With Google and Facebook, you are locked in to a single vendor.

11.  Google and Facebook rely on password security. Would you feel comfortable sharing your username and password with a stranger? With OneID, you can share your username, password, and PIN with an attacker and still not be concerned that your identity can be breached.

OneID vs. OpenID 2.0 and OpenID Connect

OneID is a network of identity providers all of whom support the same functionality and protocols for authentication, authorization, information sharing, and digital claims. There is a specific way to integrate to a website in a way that is supported by all OneID identity providers. End-to-end secure login and transactions are fully specified.

By contrast, OpenID Connect is only a protocol for allowing websites to accept identity assertions from certain identity providers who support the OpenID protocols. Each IdP in OpenID has completely different functionality. The UX is still under development for how to accomplish login in a way that is not confusing to users.

If all you need is a low-assurance login, then OpenID Connect is an option. OneID is looking at supporting OpenID 2.0 (see OneID interoperability).

But if you need anything more than pure low-assurance login, then OneID is a better choice. OneID provides high assurance transactions, secure information sharing without privacy issues, and secure transactions.

 

OpenID Connect

OneID

Protocol specification for login

Yes

Yes

Provides identity services

No. OpenID is not an IdP. OpenID is just a protocol allowing legacy IdPs to be used at websites.

Yes. OneID is an identity provider itself. OneID licenses code so other companies can be OneID identity providers.

High assurance login

Up to each IdP to support in different ways. Few do. There are no OpenID IdP providers that support 2-factor out of band. Each website has to decide on which IdPs to accept.

Fully supported by all OneID IdPs in the same way. All support two factor out of band authentication and authorization

End-to-end security

Completely unspecified for how to accomplish this. Because this isn’t specified, the RP has to trust the representation of the IdP.

Fully specified protocol for login and transactions. RP is getting a crypto assertion directly from the user’s device. The IdP can’t change anything.

Potential for massive identity breaches

Identities at every OpenID provider have been compromised. Every OpenID provider relies on shared secrets so there will continue to be mass breaches.

Uses a new pre-authorized device model where secrets are put on each device so mass breaches cannot happen because the attacker lacks the crypto secrets needed to do anything.

Authorization

No specified way to do authorizations. You can use OpenID Connect or Oauth2. There is no one way. There is no specification for doing a secure transaction.

One well specified way to do authorizations and secure transactions.

Privacy

Every participating IdP has all your personal details (name, age, social security number, address, email, etc)  including what websites you visit.

 

The RP will know who your identity provider is.

Every participating IdP has none of your personal details since this is encrypted using encryption keys on your device.

 

OneID cannot know what websites you’ve been on because OneID is user centric; the user device is the only device talking to OneID, not the RP. That also means that the RP can’t know your identity provider; only that is a OneID provider (because it is using the OneID protocol).

 

You cannot be tracked since each website is given a different set of public keys (opaque identifiers).

Security

Varies with the IdP but generally very low

Better security than the best OpenID provider. And the RP can rely on, and leverage, the security of OneID, e.g., the RP can specify the minimum LoA on any transaction.

Ease of use

We don’t know because it isn’t in broad use anywhere.

Very easy to use. Release in October.

NSTIC compliant

None of the IdP comply with the basic NSTIC requirements

All OneID IdPs have the same architecture and so all comply with the NSTIC requirements

RP interface

Each RPs must decide which IdPs to support. So a user is forced to having multiple IdPs if he uses multiple websites.

All websites supporting OneID support all OneID IdPs. A user need only have a single OneID IdP and it can be used on any website supporting OneID.

User experience

Still confusing but getting better with the Account Chooser. This is a very difficult problem to solve since OpenID has to work with every IdP and each IdP is so different. Some people think this problem is unsolvable. There are many unsolved problems. For example, on a new computer, all of your IdPs are gone making it very difficult to log into sites. User has to deal with maintaining identity at multiple identity providers.

Uniform user experience. It is much easier to design a UX when every IdP works the same. Users have only one IdP to manage their identity.

Standards for each IdP, e.g. support of attributes, two factor, etc.

No. Just the API to do basic authentication.

Yes, all functionality for identity, authN/Z, info sharing, digital claims, secure transactions is specified and uniformly supported

Login

Upon login to a site, user must pick which IdP to use.

No confusion. There is just a single OneID login button. No having to choose a provider. Once the device is logged in, you can go to any website and login with just a click.

Secure credit card transactions

Unspecified. Not supported anywhere.

Fully specified and universally supported.

OneID vs. SAML2

SAML is a protocol to talk to an Identity Provider and an RP. It leaves a lot of configuration for the user to decide and manually enter on each RP. OneID makes this all very easy. No configuration, instant provisioning and federation. See OneID interoperability for a description of our virtual SAML2 server.

See also Requirements for a trustable cloud identity provider.

For more information see:
OneID documentation guide