Live data from Hacker News

Show HN: Kryptonite – a new home for your SSH private key

krypt.co

41–50 of 227 posts

Re: Show HN: Kryptonite – a new home for your SSH private key

#41
post #4

Why do I want my private key on my phone instead of the computer where I am using it?

Any user-level application on your computer can read the SSH key -- you'll never know if it's used or sent off somewhere. Even passphrase encrypted keys are vulnerable. Check out this blog post for a deep dive on our threatmodel and why you should store your SSH key on your phone https://blog.krypt.co/why-store-an-ssh-key-with-kryptonite-9...

Well the phone is at least equally insecure, given it's often way more opaque than a computer.

Re: Show HN: Kryptonite – a new home for your SSH private key

#43
post #42

Why are you doing this instead of SHA[N]withRSA? https://github.com/KryptCo/kryptonite-android/blob/master/ap...

We do the hashing ourselves so that it's easy to use any hash function in the future. If you create a Keystore key but decide to use a hash function you didn't specify at generation time, it will be rejected by the API.

Re: Show HN: Kryptonite – a new home for your SSH private key

#44
Clever that it uses the client instead of the server! I've dabbled with phone-based authentication via a server-side PAM module before, but you generally don't have full control over the servers you SSH into.

Although the question remains: is this more secure than just storing your key on your computer? If you're assuming your machine to be compromised, then as soon as you login to another server you've basically given your attacker potential access there as well.

Re: Show HN: Kryptonite – a new home for your SSH private key

#45
post #42

Why are you doing this instead of SHA[N]withRSA? https://github.com/KryptCo/kryptonite-android/blob/master/ap...

We do the hashing ourselves so that it's easy to use any hash function in the future. If you create a Keystore key but decide to use a hash function you didn't specify at generation time, it will be rejected by the API.

I don't know if you've done it correctly.

You can use the built-in signature digest support and still add support for whatever you want in the future.

Re: Show HN: Kryptonite – a new home for your SSH private key

#46
post #33

It sounds very hipster and all, but how is a phone more trustworthy than a Linux PC? Cool, we don't need to trust a PC, now we have to trust a phone and pretend that malware for smartphones don't exist at all. Hardware USB token looks much better as its attack surface is so much smaller than iOS/Android.

* Every application on the phone is sandboxed.

* The disk is encrypted by default, and the OS is aggressive about keeping it encrypted; a booted-up computer is almost always decrypted.

* The language runtimes on the phone are hardened.

* The phone's kernel, in addition to being more important attack surface than the Linux kernel (because of the jailbreak market, among other things), is auto-updated.

* The phone's users, at least on secure phones, are never superuser.

* Virtually all of the shell command attack surface is gone, since you can only install apps through the one app-install interface approved by the phone vendor.

I could go on, and I'm probably missing a big one. Phones are more secure than "computers". They kind of have to be: their OS design benefits from 2 decades of security architecture lessons learned.

I use a Y4 for some of my SSH keys, but it's a gigantic pain in the ass, and one that Egor Homakov is not entirely wrong about calling a marginal bit of security theater (whoever owned up your computer also owned up your ssh binary). It's true that the phone software token doesn't fix that, but it also doesn't cost anything.

Re: Show HN: Kryptonite – a new home for your SSH private key

#48

Earlier quoted context omitted.

Some questions & comments: * Can you have multiple private keys (site specific?)? * Does the Android client support ed25519 keys or is it iOS only? * Please modify your curl statement to be something like how Honeycomb does it (that is include a checksum test). https://honeycomb.io/docs/connect/nginx/

1) We are planning to support multiple private keys, but currently only support a single key pair. 2) Android doesn't yet support ed25519 but it is coming. 3) We would consider something like this but the question is how that checksum test itself is served. We'll definitely look into improving this. The curl script itself does check the hashes of the installed binaries downloaded from github.

Multiple private keys are more important than you might think, because Github won't let you use the same key in more than one account, so everyone who has more than one Github account and wants hardware tokens has to have multiple hardware tokens.

Re: Show HN: Kryptonite – a new home for your SSH private key

#49
post #41

Earlier quoted context omitted.

Any user-level application on your computer can read the SSH key -- you'll never know if it's used or sent off somewhere. Even passphrase encrypted keys are vulnerable. Check out this blog post for a deep dive on our threatmodel and why you should store your SSH key on your phone https://blog.krypt.co/why-store-an-ssh-key-with-kryptonite-9...

Well the phone is at least equally insecure, given it's often way more opaque than a computer.

No, the opposite is true. See upthread.

Re: Show HN: Kryptonite – a new home for your SSH private key

#50
post #9
post #4

Why do I want my private key on my phone instead of the computer where I am using it?

I'd like to know this too. My computer is patched daily, my phone less often.

Respectfully, this is easy: get a better phone and turn autoupdate on.
Post reply on HN