Skip to main content

如何保护好你的私钥?

· 2 min read
Libing Chen
Java程序员,兼全栈、Rust和AI开发

Dotenvx采用非对称方式对配置项进行加密,默认的私钥都保存在$HOME/.dotenvx/.env.keys.json文件中,这个做法和其他工具也没有什么不同, 如大家都知道的$HOME/.ssh/id_rsa文件,也是保存SSH私钥的地方,你的GitHub也是使用这个私钥进行SSH认证的。

但是还是有些同学会担心这个私钥文件的安全性,毕竟这个文件是保存在本地磁盘上的,如果被其他人获取到,那么就可以解密你的配置项了。 这个不是杞人忧天,而且确实有这种风险,不少同学的私密信息,就是这样被恶意软件或者代码窃取的。

此外保存电脑上,还有一个丢失的风险,如你的笔记本电脑丢失了,或者被盗了,虽然笔记本有登录密码,但是这个开机密码很容易被跳过, 那么这个秘钥文件就会泄露,你还需要准备应急预案。大公司、金融组织和其他相关部门,员工的笔记本电脑丢失和被盗后,第一时间就是要上报给公司, 不是没有道理的。

为了解决私钥丢失或者被窃取的风险,Dotenvx还提供了基于加密U盘的私钥保护方案,也就是Dotenvx不再读取本地磁盘的env.keys.json文件, 而是读取加密U盘上的私钥文件,这样就可以避免笔记本电脑丢失被盗后的秘钥丢失风险。 当然在不需要使用到Dotenvx秘钥时,你可以拔掉U盘,这样在很大程度上也避免了恶意软件窃取秘钥的风险。

当然加密U盘的引入,还可以解决秘钥文件备份的问题,即便你的笔记本损坏啦,也不用担心秘钥丢失的问题,还有U盘中保存着这些秘钥文件。 当然如果你有多台电脑和笔记本的话,加密U盘方式,也让你可以在多台电脑上使用同一套秘钥文件,不用担心秘钥不同步的问题或者网络传输时的泄露风险。

很快这一特性就会添加到Dotenvx中,敬请期待。

加密U盘