-
Notifications
You must be signed in to change notification settings - Fork 369
Develop additional authentication mechanisms to run alongside WebID+TLS #22
Description
Develop an alternative mechanism to the current in-browser-only certificate-based WebID authentication workflow.
Note: This is part of a two-pronged approach - 1) continue to improve the browser's certificate management UI and overall user experience (possibly get in touch with the browser vendors), and 2) (this issue here) develop a short-term alternative to WebID-TLS.
Friction points with current approach
- Firefox bug requiring browser restart when first signing up for a WebID
- User unfamiliarity with certificate management
- Lacking or limited support in several browsers (Internet Explorer, mobile browsers, etc)
- Lack of Log Out capability
- No good story for use on public/shared computers
- Limited or confusing UI for many use cases:
- no good way of determining which app/browser tab is requesting a certificate (the UI only shows what datastore is being accessed)
- difficulty in managing multiple identities, once a user has a handful of certificates
- initial confusion when first using a Solid app, before a user has a WebID
- Current browser-centric focus makes it difficult for non-Javascript programming languages to interact with Solid
Possible Approaches (Proposals so far)
- Username & Password authentication to a user's pod, and the pod would proxy requests (possibly using parts of the WebID Delegated Requests mechanism) to other pods
- WebID RSA proposal
- Use HTTP-Signature instead of WebID-RSA
- IETF Draft 5 - Signing HTTP Messages
- node-http-signature - Joyent's Node.js implementation of HTTP Signatures (see also their http_signing.md doc)
- solid/spec/issue #5 for more HTTP Signature discussions
- Sandro's Spot spec.
- indieauth (see IndieAuthProtocol) / distributed-indieauth
Related / Helpful Reading
The Quest to Replace Passwords: A Framework for Comparative Evaluation of Web Authentication Schemes - a remarkable paper evaluating 20 years' worth of authentication schemes, and rating them on various criteria (security, usability, ease of deployment, etc).
W3C Credential Management Level 1 recommendations
Wikipedia entries: https://en.wikipedia.org/wiki/Single_sign-on and https://en.wikipedia.org/wiki/List_of_single_sign-on_implementations
W3C FIDO 2.0 Platform Specifications (see W3C Welcomes the FIDO 2.0 Member Submission post)
- FIDO 2.0: Web API for accessing FIDO 2.0 credentials
- FIDO 2.0: Key Attestation Format
- FIDO 2.0: Signature format
W3C Good Practices for Capability URLs