-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Detailing HTTP-Signature based authentication for Solid #18
Comments
This HTTP Signature protocol for WebID proposal was discussed:
|
One of the things that's worth noting, about any sort fo HTTP-Sig based proposals, is that it's currently used almost exclusively for secure clients (meaning, traditional server-side applications) and for server-to-server authentication. By itself, it is not appropriate for authentication of public clients (SPA / in-browser Javascript apps). |
I wanted to make sure we are all on the same page with regard to the limitation of the HTTP-Sig protocol. The illustration below depicts a client laptop running an app with Origin The argument is the following: since friend.net cannot tell if the authentication is coming from the client laptop, or from Technically, this is because even though correct usage would allow the Is this the reason @dmitrizagidulin why you say HTTP-Sig is not appropriate for authentication of in browser clients? |
Here is a way to make it possible for apps to sign HTTP headers without ever having access to private keys.
<#me> :authenticationApp </safe/authentication.html> . //which contains the JS.
One could also go the other way around, and register apps in one's authentication app, and have that open a browser window in which the app occurs. |
Regarding the question as to what the problem with HTTP-Signature is felt to be @dmitrizagidulin answered on gitter that it had to do with the problem of the Confused Deputy, which is what is behind the emergence of Capability Systems, and that these arise when 3 or more agents are involved in a secure communication. Here we have the App as the extra agent. This may be resolvable by being able to identify the app. I'll look into the confused deputy and capabilities vs ACL debate to which Dmitry provided ample pointers. |
I think it would be useful to detail HTTP-Signatures based authentication for Solid. I wrote an implementation for it a few years ago for the server, and one before that for the client using Web-Crypto.
Not much is needed in addition to the existing spec. I can think of the following:
a) located in the WebID doc
b) located elsewhere in case there is a desire to not tie a key to a webid.
a) if the wACL identifies that Agent via that WebKey that that is all that is needed
b) if the wACL identifies the Agent via a WebID then the client needs to send the WebId in the request. If the situation is 1a above, then that is all that is needed. If 1b above then there needs to be a proof tying the WebId to the WebKey.
The text was updated successfully, but these errors were encountered: