Live data from Hacker News

Ask HN: How does your company manage its encryption keys?

news.ycombinator.com

121–130 of 246 posts

Re: Ask HN: How does your company manage its encryption keys?

#121
post #22

Earlier quoted context omitted.

If those are the keys used in production, then I'm horrified. If they're dev-keys, I think this is pretty common.

We make no distinction between dev keys and production. Consider them production. Since it's of interest to HN, I am working on educating our very small team on how keys should be protected and used. I am the youngest developer by about 15 years. It's a very rural company and it often feels like all learning and passion for development stalled around 2005. It's a company that gave me a chance to grow into a developme…

Using different ones for dev and prod still might be good idea. If either one is compromised, there’s a chance the other is safe. You can still rotate them regularly, and/or if either one is compromised.

Re: Ask HN: How does your company manage its encryption keys?

#123

https://www.vaultproject.io/ We use Hashicorp's Vault product to manage SSH credentials, TLS certificates, as well as application secrets across thousands of users, tens of thousands of virtual machines, and hundreds of applications. We pay for the enterprise version, but the free version is more than capable for most needs. Avoid a password manager if you can, it leads to poor security practices and availability iss…

This just pushed the problem further down the stack. You should have keys to unlock vault when it is restarted. How do you secure those keys?

You could do a lot worse than to have the operators store their shares in their separate password managers or on paper in safe places.

It does admit the possibility that an operator's share could be copied. To work around that you can get a proper HSM that needs a quorum of smart cards presented to unlock. (The offline, low QPS, root of trust-oriented ones are not exactly cheap, but much cheaper than the network-attached ones targeting high QPS transactions). Vault Enterprise has PKCS#11 integration.

With the Thales nShield stuff, you can replicate key material from one to another for redundancy while allegedly still preserving the "can't ever get keys out in plaintext" property. Not sure about others.

Re: Ask HN: How does your company manage its encryption keys?

#124
post #82

We use shh for secrets ( https://egt.run/shh ). It's designed to integrate really well with your existing CLI tools like vim, xargs, and diff. It offers user-based permissions, and secrets are encrypted into a single file that's safe to commit into your git repo. We can stream secrets out of it directly to our remote servers during deploys. Unlike Vault you don't need to manage infra to run it -- it's just a file. Un…

A couple of questions..

1. Does every client have a copy of shh to interact with the secrets? Or are the secrets in the file served from a single centralized node?

2. What is your process of exchanging user keys with shh?

3. If someone leaves the company, what is the process you go through to change the secrets and rotate keys?

Re: Ask HN: How does your company manage its encryption keys?

#125
post #90
post #74

Earlier quoted context omitted.

We have very simmiliar issue. All our databases have password Qwerty1234 Android keystore is checked in repository with access key in scripts. Security keys for external services are also checked in into repository. Some external services for production are managed by devs that are long time ago not working in our company

Hehe. Less than 8 years ago I asked for help to add a column in a database at a company I helped. This was a few days after they met me for the first time. The company solved this by giving me a root username and password that worked on every single important database in the company, at least every customer database. I had to beg them to create a somewhat restricted account. The same company was however deeply scepti…

Skepticism regarding remote work often comes from the fact that a company is not sure whether the employees work like they should (especially for larger companies).

If they slack off, at least they do it in the office and not freely at home (imagine the possibilities!)

Re: Ask HN: How does your company manage its encryption keys?

#127

https://www.vaultproject.io/ We use Hashicorp's Vault product to manage SSH credentials, TLS certificates, as well as application secrets across thousands of users, tens of thousands of virtual machines, and hundreds of applications. We pay for the enterprise version, but the free version is more than capable for most needs. Avoid a password manager if you can, it leads to poor security practices and availability iss…

This just pushed the problem further down the stack. You should have keys to unlock vault when it is restarted. How do you secure those keys?

We put them in a password manager (1Password) to which multiple accounts have access. Each account is secured with a key, passphrase, and 2FA.

Re: Ask HN: How does your company manage its encryption keys?

#129
post #48

We have so many secret values it made sense to build our own internal product, an audited system which holds secrets in a backed up, locked down database. Apps pull from that system at runtime (or deploy time) but they can only access their own secrets using access control. We also use AWS KMS for AWS related resources.

Before building your own, did your company consider using Vault? If so, what factors led you to go down the build your own path?
Post reply on HN