Site icon Condatis

Trust in Federated Identity

In the first edition of our technical blog series, we look at trust in federated identity.

What is federated identity?

Federated identity means I can use identity information given to me in one place to sign in somewhere else. We see federated identity when we use a Facebook, LinkedIn or Twitter identity to sign in to a third-party service (using one of those identities to sign in to a third-party media site, for example). To talk about federated identity, it’s important to establish common terminology:

If we think of an example:

  1. I (the user) access The New York Times (the relying party) and am prompted to sign-in with one of three social identity providers: Google, Facebook or Apple:
    Figure 1 – NYT sign in with SIdPs
  2. I pick, Continue with Facebook (identity provider), consent to share limited personal information from Facebook with The New York Times (relying party), and am returned as a logged in user to The New York Times:
    Figure 2 – NYT return following sign in

Federated identity is a common and well-understood pattern, but it’s important to know what’s going on under the hood.

Trust in federated identity

In federated identity, there is two-way trust between the user and the identity provider (IdP). The user can trust that Facebook is indeed the genuine Facebook because they have connected to it via HTTPS and they can see the green padlock in their browser. Building on this trust, the user has already given personal information (e.g., set-up a Facebook account) to get credentials they can use elsewhere (e.g., sign-in to The New York Times with Facebook). The user is trusting the IdP to keep their credentials safe and, in fact, the credentials are owned by the IdP (Facebook owns my Facebook account, not me). In addition, the IdP (Facebook) can trust that the user is the real owner of their information, because they are in possession of the credentials (username/password) given to them at time of registration. We can show this:

In the diagram above, the following information exchange takes place:

Figure 3 – user and SIdP trust relationship

There’s also two-way trust between the identity provider and relying party. The relying party needs to trust that the identity provider can assert information on a user’s behalf; the identity provider needs to trust the relying party is genuine (the real New York Times) and not a bad actor (a fake site set-up to steal my credentials:

Above, the following information exchange takes place:

Figure 4 – relying party and IdP trust relationship

Because we’ve established trust between the user and the identity provider, and the identity provider and the relying party, we can now have a resulting trust between the user and the relying party:

Figure 5 – user and relying party trust

 

Big privacy problems

Author: Chris Eckl, CTO

The largest problem with federated identity in the context described, is we’re sharing a lot of personal information with organisations we don’t entirely trust. I’m giving a lot of information to social identity providers (whether Facebook, LinkedIn, Twitter or someone else) about where I spend my time on the internet. These identity providers know what I’m reading online and if I’m signing into digital services advising on medical conditions.

What we need to do is move away from trusting single identity providers and towards decentralized identity patterns – and that’s the subject of our next blog article.

 

Exit mobile version