因此,我想开始使用pass,但是我需要一个GPG密钥。该应用程序将存储我的所有密码,这意味着一旦生成我不要丢失我的私钥,这一点非常重要。

硬盘损坏,通常不信任云提供商。并不是说我不信任他们不要弄乱我的密钥,但是它们的安全性可能会受到损害,而且我的所有密码都可以找到。

那么,我可以在哪里安全地存储我的GPG私钥?

评论

我的只是存储在OpenPGP应用程序中。

我将私钥存储区保存在云中,并且通常将其保存在拇指驱动器上。当然,它的密码短语很好。这实际上是关于平衡风险和可访问性。我很容易想到一种情况,在这种情况下,我对钥匙的处理方式会非常不同。

嗯,您的硬盘备份确实不错,对吧?

在智能卡上。

pass可以通过其文件名和目录结构泄漏帐户信息。这可能对您无关紧要,但这是需要注意的。

#1 楼

我喜欢将我的东西存储在纸上。

使用JavaScript(离线阅读)QR代码生成器,我以ASCII铠装形式创建私钥的图像,然后将其打印掉。注意旁边的密钥ID,并将其存储在物理上安全的位置。

只要您使用支持JavaScript的浏览器,无论您使用哪种操作系统,都可以使用该密钥。

对于Windows用户:

单击此处下载JavaScript QR代码生成器:https://github.com/davidshimjs/qrcodejs/archive/04f46c6a0708418cb7b96fc563eacae0fbf77674.zip

将文件提取到某个位置,然后按照以下说明进行操作。

对于MacOS或Unix用户:



$ # This specific version is to avoid the risk that if someone hijacks `davidshimjs`'s 
$ # repository (or he goes rogue), you will still be using the version that I vetted.
$ # For the truly paranoid you don't trust GitHub either, and you will want to verify the code you download yourself.
$ wget https://github.com/davidshimjs/qrcodejs/archive/04f46c6a0708418cb7b96fc563eacae0fbf77674.zip
$ unzip qrcodejs-04f46c6a0708418cb7b96fc563eacae0fbf77674.zip
$ cd qrcodejs-04f46c6a0708418cb7b96fc563eacae0fbf77674/
$ # We need to edit index.html so that it supports pasting your PGP key
$ # Open the file in a text editor like Notepad, vi, or nano
$ vi index.html


将第11行从以下位置更改:



<input id="text" type="text" value="http://jindo.dev.naver.com/collie" style="width:80%" /><br />


至:



<textarea id="text" type="text" value="http://jindo.dev.naver.com/collie" style="width:80%" /></textarea><br />


现在使用Explorer,Finder或Nautilus等导航到您在此处得到的目录。

例如:



$ pwd
/Users/george/Documents/Code/qrcodejs/qrcodejs-04f46c6a0708418cb7b96fc563eacae0fbf77674
$ open .




现在,双击刚刚编辑并保存的index.html文件。



你会mos您可能需要将您的PGP密钥分解为四分之一或更小,以创建漂亮的大QR码,以便以后轻松扫描。粘贴到文本区域后,单击远离文本框,然后将出现您的QR码。保存每个代码并适当命名,以便了解它们的顺序!

创建所有代码后,请使用例如手机QR码扫描仪应用程序对其进行扫描。对于偏执狂,在安装条形码读取器后,请使该设备保持脱机状态,然后对设备进行完全擦除并恢复出厂设置,然后再使其重新联机。这样可以防止QR扫描仪应用泄漏您的PGP密钥。


如果您有一个大钥匙或很多钥匙,我建议您使用paperbak,尽管一定要写下有关以后如何恢复数据的说明。与如何备份一样重要的是如何从备份中还原它。我可能会尝试使用虚拟数据来确保您完全了解它的工作原理。

请注意,您可以使用密码保护私钥,因此即使将其托管在云提供商的帮助下,看不到您的私钥,但是您所有的密码安全性都降低到该密码短语,而不是完整的私钥,更不用说云提供商可以在一夜之间消失了。

评论


+1。自1997年以来,我一直使用硬拷贝来备份我的私钥,并且不得不对其进行两次还原。第一次,我在Courier中使用纯ASCII文本,不得不使用OCR还原它们,虽然可以,但是确实需要手动纠错。我第二次使用条形码(实际上是长的一维条形码序列,而不是二维条形码),并且恢复过程要容易得多。

–法律
2014-2-18 15:31



我也一样。加倍努力,想一想纸张如何降解,例如如果喷墨打印件弄湿了-将纸张放在自封袋中,再将第二份副本放入保险箱或保险箱等中。

–克里斯·约翰逊(Chris Johnson)
14年2月18日在20:01

作为一种选择,paperkey也存在:jabberwocky.com/software/paperkey

–弗洛里安人造黄油
2014年2月19日在9:03

@crdx从备份的角度提出了这个问题。对于实时使用,最安全的方法是带有硬件引脚输入的OpenPGP智能卡。

–deed02392
2014年2月21日在9:13

之后不要忘记擦除打印机的内存。

–马修·迪恩(Matthew Dean)
15年5月18日在2:49

#2 楼

在我的偏执狂像一个成熟的番茄的日子里,请我摘下它,我将私钥(自然已经是密码短语保护)切成两半,然后对它们进行异或运算以形成第三个字符串。然后,我在每个字符串上使用简单的密码加密(gpg --symmetric),并将每个字符串放在不同大陆上的远程服务器上。理想情况下,每个远程服务器都具有不同的ISP或云提供商。

但是,随着药物的发展-至少直到我意识到NSA如此雄心勃勃-我实际上已经在做过去只是加密(整个)私钥(再次使用gpg --symmetric)并将其放在我的智能手机上。

现在,在阅读了其他答案之后,我发现了三个QR码的想法,嵌入三张全家福照片,令人眼花attractive乱。是时候使用更强的药物了?

评论


“该买更强的药了吗?” ->你刚刚过了我的一天!

– DBX12
17 Mar 24 '17在15:24

喜欢这个答案,哈哈:)

– Saswat Padhi
19-09-20在23:15

#3 楼

这不是我目前使用的,但我正在考虑:


使用很长的对称加密密钥来加密私钥
使用Shamir的秘密共享来拆分对称加密7个密钥(如Voldemort)的密钥,至少需要5股才能成功合并。
找出将7个秘密备份放在何处的一些想法:


在家中安全
钱包里的打印纸
在Dropbox中的
海外安全保管箱
皮肤植入物
埋在一些随便的家伙的坟墓里
毒死了宠物蛇




这样,我可以失去对几个共享的访问权限,但仍然可以访问密钥;而攻击者将不得不折衷5个不同的个人安全场所,这些地方对我来说很容易进入,而对于邪恶的黑暗领主的恶棍来说,这是在屋子前那辆黑色汽车中所犯的

评论


这个计划好性感

–马格努斯
19年11月21日在7:42

#4 楼

一种选择是使用密码对密钥进行加密,然后将加密的密钥存储在云服务上。

我将密钥存储在笔记本电脑(硬件加密驱动器)和外部硬盘上的Truecrypt容器中驱动器作为备份。好的,数据丢失的风险不是零,但已降至我可以接受的水平。

评论


如另一个答案中所述,这非常方便,但是会降低密码短语所保护的所有项目的安全性。您还冒着一个非常现实的风险,即云服务有一天会发现自己具有不同的业务优先级(请参阅ourincrediblejourney.tumblr.com),这可能会使您感到无所适从。

– Zigg
2014-02-18 13:47



@zigg-如果您使用了不错的密码短语,那么云的危害远非“高而干燥”

–paj28
14年2月18日在13:49

“干而高”并不是妥协。这里提出了两个不同的观点,以“您也……”打断。

– Zigg
14年2月18日在16:26

是的,这仅与密码短语一样安全...但是您可以使用40个字符的随机密码短语,然后将其打印在纸上,以确保安全。这比将整个密钥放入QR码要容易得多,后者可能很难在没有相机的计算机上恢复,或者如果代码太损坏了。 (至于云服务消失了……怎么办?如果Dropbox明天消失了,我所有的保管箱文件都已经同步到了我的每台设备。第二天我可以注册一个新的云服务-不会丢失数据!)

–乔什
16-10-21在18:46

@zigg“但是您降低了密码密钥所保护的所有项目的安全性”但是,无论您将密钥存储在何处,这都不总是正确的吗?我认为整个链中的真正弱点是从恶意方访问物理/虚拟位置有多么容易,因为任何位置选项的最后一步总是要破解密码,因此应该假定可靠的70位以上的密码或类似的东西,真正的问题实际上变成了在哪里放置它。

–分支
16 Dec 5'1:51

#5 楼

您可以将私钥保存在闪存驱动器中,并将此驱动器保存在储物柜中。另外,请确保不要将此闪存驱动器用于可能导致某些恶意软件感染的活动。

评论


因此,由于丢失计算机而需要钥匙的那一天,我去拿了闪存驱动器,发现它已损坏。我该怎么办?

–弗洛里安人造黄油
14年2月18日在9:52

我问这个问题是因为我已经停止计数我看到损坏的USB密钥的数量。

–弗洛里安人造黄油
14年2月18日在9:58

@FlorianMargaine提出了一个观点。 USB密钥(以及就此而言,WORM(也称为WORN,N表示“从不”)光学介质)具有不良的记录。就是说,除了其他较不方便的备份方法(如其他答案中介绍的书面方法)之外,我可能会考虑使用此方法。

– Zigg
14年2月18日在13:45

实际上,考虑到恶意软件,SD卡可能更安全。小型硬盘(最大2GB)非常可靠。

–吗?
14年2月18日在20:12

我要做的是将密钥存储在闪存驱动器和纸张上。如果我很幸运,闪存驱动器就可以工作。如果不是这样,那么密钥恢复就更加不便。另外,与任何重要数据一样,请考虑具有多个备份。

– Miikka
2014-2-19在8:07

#6 楼

我将密钥(以及其他敏感数据,如用户名/密码列表)加密在truecrypt容器中。此容器受大量密码保护。该容器也已备份到云存储中,因此将同步我的任何计算机上的编辑。

这不是完美的,但是如果云提供商死了,我仍然可以在我的计算机上同步它。如果文件本身遭到破坏,他们将不得不破解truecyrpt短语和密钥密码。

评论


如另一个答案中所述,这非常方便,但是会降低密码短语所保护的所有项目的安全性。您还...正如zigg在评论中指出的那样

–n611x007
2015年10月24日在8:11



密码短语多长时间?

–user311982
16 Mar 2 '16 at 4:29

#7 楼

我有两把钥匙,一把存放在计算机上的安全性较低,另一把存放在OpenPGP卡中。后者是尽可能安全的,因为私钥永远不会将芯片留在卡上。
(不过,为了获得最佳安全性,我不得不稍加修改gpg才能使用读卡器的安全键盘,而不用来自PC键盘的卡的PIN码,这可能会导致键盘记录程序攻击。)

#8 楼

我将使用隐写术将加密的密钥放置在我上传到多个云存储(例如盒子,dropbox和ovh)的一系列100张照片中。
所以首先您需要知道这些图片上有东西,找到找出并解密。
有点极端,但它比纸具有更好的耐火性。

评论


+1表示“它比纸更耐火”。我仍然认为集群云服务比书面服务更好。

–EaterOfCode
2014年2月20日在10:42

如果您已经加密了密钥,则可以将其打印出来并将PDF存储在云服务中。标准化是隐写术的一个大问题-您可能会发现需要回去密钥时丢失了所使用的应用程序。

–deed02392
2014年2月20日在10:44

@ deed02392好吧,我建议的方法绝对是极端的,但是在这里要说明的是,如果您想隐藏东西,则必须非常小心。同样,可读的pdf可以用一些蛮力轻松解密,而隐写术则意味着要首先找到该信息。但是是的,工具很少见,您最好自己编写代码。

–奇威
2014年2月20日上午10:50

虽然我喜欢隐写术背后的原理,但是我已经失去了丢失文件的数量,因为我不记得存储在什么图片中了。

–deed02392
2014年2月20日在10:52

@ deed02392,您应该给他们提供文件名,如“ no_secrets_here.jpg”。或者只是将地图存储在计算机上的某个位置。 X标记点;)

–Wayne Werner
15年12月29日在18:31

#9 楼

我将我的密码存储在KeePassX加密文件中,此文件保存在git存储库中,该存储库在我需要使用密码的所有计算机上进行克隆。
附加的好处是,如果服务器使用某些密码,我可以保持密码同步原因破坏了文件,我始终可以使用任何克隆的存储库。
如果我偏执,我可以放置一个包含KeePassX加密文件的truecrypt卷。

Git还可以为我提供版本控制总是回到我的密码文件的先前版本,这很不错。

评论


da,我听说您喜欢加密文件,所以...

–IQAndreas
2014年9月2日在11:36

#10 楼

我真的很喜欢在纸上进行长期长期备份的想法。 (在安全位置中的加密存档CD旁边。)我只是找不到支持完整私钥长度的QR生成器,而且我不信任paperbak,直到他们修复了AES密钥生成为止(而且看起来(仅限Windows)。

我确实找到了optar,它可以将任何长度的数据编码成机器可读的格式,但是现在您必须从C手动编译它。 [对于Mac用户来说,在Homebrew中放一些东西并不困难,如果证明工作正常,也许撒玛利亚人可以维护Windows版本。]

paperkey应该适合打印/使用OCR可以还原私钥,并为条形码/ QR码生成器创建最少的字符。

#11 楼

请执行以下操作:


选择两个喜欢的数字:RC
转到私钥行R和列C,并记住在那里找到的字符X。 br />将该字符更改为任何其他随机值。
将更改后的私钥安全地存储在多个云服务(不同地理位置)上。

如果没有R,存储在那里的密钥将无用, CX(当然,只要您知道诀窍)。如果可以花时间找到RCX,那么...好运,现在猜我的密码。

也要记住从引入更改的角度来看,RCX应该非常容易。

提示:请勿在字符串的开头或结尾处进行操作。在那里,很容易猜出变化。

#12 楼

您可以尝试记住它...

可以使用类似gzip的算法来压缩和记忆人类。您可以将其编码成一段音调并记住,

评论


将您已经知道的曲调编码为键听起来更容易。 :)

– bzlm
14年2月19日在20:16

@bzim:熵将非常低

– Lie Ryan
16年5月25日在1:09

噢,天哪!请接受我的支持,只是因为你成就了我的一天! :)

– VictorSchröder
19年3月6日在10:10

#13 楼

私钥已被加密。再次对称地对其加密不会有任何伤害。之后,应该担心物理安全性。
介质耐用性和异地安全性应该是主要考虑因素。只要有USB端口可用,USB密钥至少可以保留十年。将钥匙放在安全的地方。安全保管箱或良好的现场安全保护措施都是可行的。万一您正在使用的系统现在以某种不可恢复的方式中断,这应该可以进行恢复。标签并标明日期。密钥的吊销证书的加密副本也应与其一起存储。
如果您担心USB记忆棒失败,请复制几个副本。

#14 楼

免责声明:将您指向我正在编写的一段代码/我自己的“小型”解决方案

用于解决此类问题(更一般地说是在纸张上“存档”重要的,中等大小的内容)正在使用qrdump,这是一种自动


1)将数据拆分为足够小以适合qr代码的部分的方法
2)转储到一系列qr codes
3)将具有预定义布局的qr代码组装成pdf。

当然也可以实现逆变换。

例如:

bash-4.4$ FOLDER_TESTS=$(mktemp -d)
bash-4.4$ cd $FOLDER_TESTS/
bash-4.4$ head -c 4096 </dev/urandom > dummy.dat # create a random file, 4096 bytes
bash-4.4$ sha256sum dummy.dat 
02f2c6dd472f43e9187043271257c1bf87a2f43b771d843e45b201892d9e7b84  dummy.dat
bash-4.4$ bash ~/Desktop/Git/qrdump/src/qrdump.sh --create-A4 --base64 --safe-mode --output ./pdf_dump.pdf --input dummy.dat # crete a printable qr-codes pdf of the file
SAFE to use: success restoring check
bash-4.4$ rm dummy.dat # the file is removed, so from now on only way to get it back is to restore from the pdf
bash-4.4$ bash ~/Desktop/Git/qrdump/src/qrdump.sh --base64 --read-A4 --input pdf_dump.pdf --output ./ # restore
bash-4.4$ sha256sum dummy.dat # the digest should be the same as the initial one to confirm good restore
02f2c6dd472f43e9187043271257c1bf87a2f43b771d843e45b201892d9e7b84  dummy.dat


如果您有兴趣,请点击此处查看更多信息:

https://github.com/jerabaul29/qrdump

#15 楼

使用强密码进行编码,并在您使用的每个论坛上将其用作签名。也许也有此类密钥的邮件列表。

评论


这一定是我见过的最糟糕的想法之一。

– Qwertie
2014年6月5日在8:12