Skip to content
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

Detail Solid extension for HTTP Signature #20

Merged
merged 5 commits into from
Oct 14, 2019

Conversation

bblfish
Copy link
Contributor

@bblfish bblfish commented Sep 4, 2019

As per issue #18 "Detailing HTTP-Signature based authentication for Solid"

Copy link
Member

@elf-pavlik elf-pavlik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this can get merged as panel member submission and act as reference in future panel discussions.

@dmitrizagidulin
Copy link
Member

Couple of comments:

  • For in-browser Javascript apps, how is the app authenticated? (Specifically, how is the app's public key linked to the app's URL?)
  • I'm not quite sure about the keyId terminology...

@dmitrizagidulin
Copy link
Member

To clarify my comment about app authentication - using the temporary terminology from the App identity discussion, how does this proposed authentication mechanism propose to link the ephemeral in-browser app identity to a particular installed app instance (or app source identity)?

@bblfish
Copy link
Contributor Author

bblfish commented Oct 5, 2019

Sorry to take so long to answer - I have been busy reading all the Capabilties material @dmitrizagidulin gave me... :-)

@dmitrizagidulin wrote

To clarify my comment about app authentication - using the temporary terminology from the App identity discussion, how does this proposed authentication mechanism propose to link the ephemeral in-browser app identity to a particular installed app instance (or app source identity)?

The way to do this is to create an Auth App that would also be an App Launcher started from an secure origin trusted by the user.
This would allow the Launcher App to:

  • know the URL of the Apps launched (since it launches them)
  • allow that Launcher App to keep keys securely for instances of the launched apps, without those less secure Launched Apps getting access to the private keys
  • save the information about the user's preferred apps on the Users Pod (securely) and store the keys there as well as giving those app instances WebID.

See the User controlled Authorization App and App launcher proposal .

@bblfish
Copy link
Contributor Author

bblfish commented Oct 5, 2019

The keyId is a URL for a key, like a WebID is a URL for an Agent. (It is true that in Abadi et al, those are often conflated, but I think that is simply because any well functioning key has via the inverse of cert:key a foaf:Agent ). If you take a WebID profile document you can give the blank node a hash URI and turn it into a keyId.

@elf-pavlik
Copy link
Member

I think we could merge this PR, possibly create a label for issues related to it and then continue discussion in small focused issues.

Some issues will deal with something more general that also applies to HTTP-Sig as well as other approaches. In that case we should avoid dissing it just in one more specific context eg. clients authenticating directly with RS, not just AS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants