Live data from Hacker News

Sharelock – Securely share data

sharelock.io

1–10 of 37 posts

Re: Sharelock – Securely share data

#4

How are keys shared between users?

The encryption keys are on the server. We encourage you to deploy your own sharelock instance. We made that super easy with Heroku for instance (https://dashboard.heroku.com/new?template=https%3A%2F%2Fgith...). There is no storage, just a node app. And then you can configure the apps to use the sharelock instance. More about it: https://github.com/auth0/sharelock#host-your-own-sharelock-s...

Re: Sharelock – Securely share data

#5
post #3

How are keys shared between users?

Keys live on Sharelock server [1] Secrets are signed with HMAC SHA256 and encrypted with AES 256 CTR using keys that live on the Sharelock server [1] https://sharelock.io/security

So one have to trust sharelock. That's not very convincing, unfortunately.

Re: Sharelock – Securely share data

#7
post #3

Earlier quoted context omitted.

Keys live on Sharelock server [1] Secrets are signed with HMAC SHA256 and encrypted with AES 256 CTR using keys that live on the Sharelock server [1] https://sharelock.io/security

So one have to trust sharelock. That's not very convincing, unfortunately.

Read my response above.

Re: Sharelock – Securely share data

#8
post #3

Earlier quoted context omitted.

Keys live on Sharelock server [1] Secrets are signed with HMAC SHA256 and encrypted with AES 256 CTR using keys that live on the Sharelock server [1] https://sharelock.io/security

So one have to trust sharelock. That's not very convincing, unfortunately.

Read my response above.

Re: Sharelock – Securely share data

#9
From the "Security" page:

> Urls are ephemeral, they are NOT stored anywhere (neither your secrets). The content you share lives encrypted in the URL.

> The decrypted content can ONLY be accessed by the people that you shared shared the data with by means of login and email verification (as opposed to, let's say, Dropbox links which can be accessed by anyone who has the link).

(note: "shared shared" is present in the original. I hope that gets fixed)

> Secrets are signed with HMAC SHA256 and encrypted with AES 256 CTR using keys that live on the Sharelock server

So it seems that the server holds the keys, and doles them out to users that prove their identity. And the URL holds the secret. So we're pretty much taking it on faith that the server never logs the URL anywhere (not just in the actual backend, but in access logs for any middleware or load balancers or anything else).

As for authentication, the animated slideshow on the front of the site says the user has to login with a Google, Facebook, Microsoft, or Twitter account (I assume that secrets shared with twitter handles must use the Twitter login, but for emails it presumably uses any of them).

I'm a bit concerned about the identity verification angle. If someone manages to compromise any of those 4 accounts, then that means they can then decrypt any URLs shared with that user (if they manage to get at the URL). Twitter accounts being compromised is not that uncommon. And it would be especially bad if the sharelock URLs are then sent via Twitter (say, Twitter DMs) to that user, because then the attacker has both the URL and the keys. Or perhaps the user doesn't even realize they have an old Microsoft account, one with a pathetically weak password, and the attacker breaks into that.

In fact, that may very well apply to me (I don't use anything that requires a Microsoft login, but I did once have a (rarely-used) Windows Live login, and if Microsoft converted those into whatever their current authentication setup is, then I probably have an account with a terribly weak password).

Re: Sharelock – Securely share data

#10
post #9

From the "Security" page: > Urls are ephemeral, they are NOT stored anywhere (neither your secrets). The content you share lives encrypted in the URL. > The decrypted content can ONLY be accessed by the people that you shared shared the data with by means of login and email verification (as opposed to, let's say, Dropbox links which can be accessed by anyone who has the link). (note: "shared shared" is present in the…

Yep, you got it right. Re: holding the keys, response below. The encryption keys are on the server. We encourage you to deploy your own sharelock instance. We made that super easy with Herok. There is no storage, just a node app. And then you can configure the apps to use that Sharelock instance. More about it: https://github.com/auth0/sharelock#host-your-own-sharelock-s...
Post reply on HN