-
-
Notifications
You must be signed in to change notification settings - Fork 27
what is it? #157
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
Comments
As a cryptography layperson with an end-user's relationship to public-key cryptography, the most important aspect of keys.pub that differentiates it from my historic understanding of public-key cryptography (which was heavily influenced by PGP) is the association between a key and an online identity. As an end-user, it was drilled into me that the foundation of PGP is a long-life protect-at-all-costs master key that is used to both identify me and for encryption, whereas keys.pub delegates identity to external services (like GitHub, Twitter and Reddit) and uses keys just for encryption. Essentially, while keys.pub is many things (a pleasant-to-use cryptography client) the differentiator for a layperson like me (vs. GPG Suite) is the difference between GPG's web of trust model and the keys.pub broadcast model (popularised by keybase(?)). I would suggest that any "what is it?" description aimed at laypeople emphasises this difference, because most people coming into a tool like this will likely have some understanding of public-key cryptography and it will likely have been shaped by PGP. Alternatives to PGP on cryptologie.net has helpful language that may be a good reference point:
|
Maybe the current website is too focused on developers and cryptography enthusiasts: most functions are only available on the client and on the API. Of course, using a client is better as it's easier to be trusted than the server, but I think there could be a balance between "it's too secure you don't need to trust the server" and "it's easy to use". At least functions that don't touch secretive data could work, like user search, public key encryption and signature verification. Saltpack doesn't allow clear signatures because data can be mangled, but there are few websites that open Saltpack signed messages, so even someone that don't care if the server needs to be trusted or not, is often required to download some client to decode it. node-saltpack doesn't even support signed messages (but @samuelthomas2774/saltpack does). Usability is good: in "Even the Inventor of PGP Doesn't Use PGP" there is "PGP has never taken off among non-techies because it's inherently hard to use". Something that could make Saltpack less hard to use would be allowing to decode signatures in the website. This website does something like that, but using Keybase client on a Lambda. I could implement so that it decodes the message on the browser (using samuelthomas2774's Saltpack), verifies the signature and shows info about the user if the public key is registered on keys.pub. Would be better if the API supported CORS: Keybase API supports, but it doesn't allow searching users per key unlike keys.pub. Unlike the Lambda implementation the server would know only the public key (unless someone edits the code to leak the data), so is more secure, still less secure than the client, so would be nice to something like "For better security, download the app". (To be fair many non tech savvy users may not install the app because, as it's not popular, SmartScreen flags it.) |
Still don't really know what it is 😬 |
@StefanKarpinski For example, I have created the key Here's a few screenshots: Searching for Viewing my key metadata, including where you can verify the proof: Me signing a message with my Verifying the message I signed against the
Does that help? |
That does help. Seems like this verbatim explanation would be an excellent addition to the docs. |
Yeah I think these are great suggestions. The documentation is very geared
toward the technical, which was sort of purposeful, in that I wasn’t sure
it was ready for widespread adoption. So that could be way better.
Also having some of the functionality available as you mentioned via the
website (search especially) would be good.
But I’m not full time on this project so progress might be slow.
Thanks for the discussion!
…On Tue, Apr 13, 2021 at 9:33 AM Stefan Karpinski ***@***.***> wrote:
That does help. Seems like this verbatim explanation would be an excellent
addition to the docs.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#157 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAAU3MRFWM4SKYWQ76ONODTIRW55ANCNFSM42JN6TPQ>
.
|
I'm intrigued by this project since we're looking for some solution to verifying identity for @JuliaLang's package manager. However, even though there is a "what is it?" section on the keys.pub website, I can't seem to find the answer to that question anywhere. There is a list of features, but no actual statement of what it is. Is it a server? Is it a service? Is it a client? How does it work? There's also a section for that but I find myself similarly unenlightened. That section is another list of features. I know these answers are probably so obvious to people who work on the project that it doesn't even occur to you to explain it, it would be great for people like me who come here and have no clue.
The text was updated successfully, but these errors were encountered: