-
Attacker able to modify CIS code or data/identity vault/stream (by owning serverless functions or the IAM account)
- Identities must be verifiable without trusting CIS
- Identity's authentication data is not stored by CIS
-
Attacker able to modify publisher (f.e. "mozillians.org") user profiles
- CIS must validate all changes so that a publisher may only emit changes that pertain to it's area of authority
- Identity must be verified out-of-band (2FA, OIDC OP verified)
- Identity's authorizations (groups membership) may-be additionally verified through Mozilla's "2nd opinion" which is also out of band
-
Attacker able to modify identity drivers
- Identity must be verified out-of-band (2FA, OIDC OP verified)
- Identity's authorizations (groups membership) may-be additionally verified through Mozilla's "2nd opinion" which is also out of band
- Attacker brings CIS down or delete the identity vault
- CIS is not relied upon by identity providers (OIDC OP such as Auth0, LDAP, etc.) as they cache the data on their own
- CIS identity vault may be lost and re-created from identity provider's data
- User identity contains certain groups that allow for an expiration attribute, so that access may be lost without any additional CIS information
- User identity may be invalidated/blocked outside of CIS
- Attacker grabs the identity vault
- No credentials are stored on CIS
- Attacker may get sensitive group information
- Attacker may get personal data such as t-shirt size or email addresses
- (1) CIS requires all events to be signed by each stream publisher (each publisher own a private, unique key that is trusted by CIS).
- (1) Identity events are submitted with the entire identity (no partial changes, the full copy of the identity is always transmitted) As identities are sent in their entirety with a signature, it is possible to relying parties can verify signatures, i.e. changes are verifiable end-to-end)
- (2) Each stream publisher belongs to a validation plugin which verifies only
allowed identity fields have been modified.
- A publisher generally can modify it's own user groups (but not other publisher's)
- Certain publisher can modify different fields, such as t-shirt size, name, etc.
- (3) User identity never contains any authentication tokens. These are stored by identity providers.
- (4) Support the use of
AuthoritativeGroups
per relying party automatically with default-expiration. - (5) KMS key is required to access data