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...
Show HN: Kryptonite – a new home for your SSH private key
41–50 of 227 posts
Re: Show HN: Kryptonite – a new home for your SSH private key
#42Re: Show HN: Kryptonite – a new home for your SSH private key
#43Why are you doing this instead of SHA[N]withRSA? https://github.com/KryptCo/kryptonite-android/blob/master/ap...
Re: Show HN: Kryptonite – a new home for your SSH private key
#44Although 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
#45Why 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.
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
#46It 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.
* 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
#47Re: Show HN: Kryptonite – a new home for your SSH private key
#48Earlier 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.
Re: Show HN: Kryptonite – a new home for your SSH private key
#49Earlier 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.