Subject: [rtcweb] RTCWeb Identity and Crypto Agility

From: Tim Hollebeek <[email-masked]>
Date: Tue, 20 Mar 2018 15:02:52 +0000

I promised to write this up a few days ago.

One of the IETF security guys stopped by during the hackathon and we had

an interesting discussion about whether RTCWeb Identity was unnecessarily

complex.

After looking at it for a while, my personal opinion is that it actually has

some useful security properties that make the complexity worthwhile.

Specifically, the splitting of the transport certificate and the identity

assertion allows for some interesting use cases involving multiple
identities

and crypto agility.

One can imagine one identity that can be asserted over two possible

transport certificates, for example, one traditional one, and one hybrid

(post-quantum) certificate.  Some endpoints would only understand the

first one, some would understand both.  This would allow such an RTC

system to be able to transition easily between "crypto eras".

Similarly, one can have two identities linked to a particular fingerprint.

I could generate assertions for a particular fingerprint from Giggle's OAUTH

and another from Faceplant's certificate service, and let the other end

decide which IDP it wants to use to verify the identity.

And of course you can mix both of those, where you have various

independent transport possibilities, and various independent identity

assertion possibilities, without having a N^2 explosion of your
configuration

space.

Overall, I think the RTCWeb identity architecture is actually kind of
elegant, 

and worth continuing to think about more.  There are probably lessons 

that can be learned and applied elsewhere.

-Tim