Windless
订阅/Feed
稗田千秋(i@wind.moe)

当Yubikey(私钥)丢了之后

不想说话小千秋
Mar.10 2017 security

看着前两篇博客,心塞塞的。

首先,绝对不要把装着私钥的U盘和Yubikey绑在一起,绝 对 不 要。当然,除了我这种萌二应该没人会这么干...

我也不抱着能找回的心态了,我丢过的U盘向来都是被捡到的人直接格式化一波带走=。=

于是记下来以防剩下的这把Yubikey丢失。

最后,容灾备份还是很关键的,我的新 GPG 公钥 EB57 A51B 1C23 0614

0x01 吊销公钥

首先准备好吊销证书,没有的话按照如下步骤生成

# gpg --gen-revoke 00E3F7EE
sec  rsa4096/EB61443600E3F7EE 2016-12-24 Forblackking <forblackking@gmail.com>

要为这把密钥建立一份吊销证书吗?(y/N)y
请选择吊销的原因:
  0 = 未指定原因
  1 = 密钥已泄漏
  2 = 密钥被替换
  3 = 密钥不再使用
  Q = 取消
(也许您会想要在这里选择 1)
您的决定是什么?1
请输入描述(可选);以空白行结束:
> yubikey broken.
> 
吊销原因:密钥已泄漏
yubikey broken.
这样可以吗? (y/N)
已强行使用 ASCII 封装过的输出。
-----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: This is a revocation certificate

iQJFBCABCAAvFiEE5v/WcuaLShE6Q+Gn62FENgDj9+4FAljCMIgRHQJ5dWJpa2V5
IGJyb2tlbi4ACgkQ62FENgDj9+6kvw/+MvIoHb9sfd8q3+EFxOQ2dyWifOD3naq1
DDPaM/2vOOBrz0D8tOYwmu6+gfelXu1DR/mpkH2N2LiwwYUBGaT/39V1FyGooZN/
nntV+J9BSMt5f+Tx5lwv6Sutn4GuUN579TUz9B6QGkLT/8HgQe3sc1L7JwyLnorp
lDlVXpq4OniNi9UseWPvXTlcCizQn/0//c0YgWsTG/3NJ+sj3RwuGHbuzLT0sulC
XtmFbPpxZs0Y36mz+F2wjJ0FeRIoeowe2WCaqGgVJFCKQtKKklnAOetEWV5UA6g7
CihZCqsoYPT7t3zZqquERb6GIbUcvdIlqHZI+uPtXDsZVGWIUhjlhPV2mUzNx5p+
WDvKXr3IbmPxWVrpl3EN0fA9p4WrLFTXTjqWJfga6rsoDs2RF1UGwKyjc+OxBMm7
q5PkcUgy8Tys2eJ9dpDpCirx1wrsCMHJiXDPTOhW7sC9TP/KbOW9KkTwJp13MgWc
cosij5MzCbihmqQLmjdMloWRDYelt6Yue3Pa4IudyW0Hqwg5Z1MmGPngWY1dYesN
TQ+mvO4UY0hCQl4d3JcagPYTWVhT3QTtgfFCpzx+gSgyik2vHQGpe1/5ZQ+lP94f
fuYDbVXuxktcM1OcT4/+3uR6BYXcLu+hpYHtfIWrZxOsJ8x0hqYR0RtqH6TQJtU3
xczwP79PJkU=
=i9Rv
-----END PGP PUBLIC KEY BLOCK-----
已建立吊销证书。

请把这个文件转移到一个可隐藏起来的介质(如软盘)上;如果坏人能够取得这
份证书的话,那么他就能让您的密钥无法继续使用。把这份凭证打印出来再藏
到安全的地方也是很好的方法,以免您的保存媒体损毁而无法读取。但是千万
小心:您的机器上的打印系统可能会在打印过程中把这些数据临时在某个其他
人也能够看得到的地方!

接着将中间的 Key Block部分复制进任意一个文件如 revoke_00e3f7ee,接着导入

# gpg --import revoke_00e3f7ee.key
gpg: 密钥 EB61443600E3F7EE:“Forblackking <forblackking@gmail.com>”吊销证书已被导入
gpg: 合计被处理的数量:1
gpg:     新的密钥吊销:1
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: 深度:0 有效性:  2 已签名:  0 信任度:0-,0q,0n,0m,0f,2u

最后,将已吊销的密钥发送到密钥服务器

# gpg --send-keys 00e3f7ee

然后可以搜索看看自己的密钥是否已经被吊销

# gpg --search-keys 00e3f7ee                 
gpg: data source: http://192.167.206.241:11371
(1) Zenan Zhang <i@wind.moe>
    Hieda no Chiaki <354016028@qq.com>
    Forblackking <forblackking@gmail.com>
      4096 bit RSA key EB61443600E3F7EE, 创建于:2016-12-24 (已吊销)
0x02 U2F

在已经登录 Google 帐号的浏览器上打开个人设置,在两步验证里面 移除安全密钥,只需要输入一次密码即可解除。 剩余的网站有的需要使用 Recovery Code或者申诉来解决。

0x03 GPG

生成一把仅用于认证的密钥 # gpg --full-gen-key --expert

选择 (8) RSA (自定义用途) ,接着反选 E S,生成4096位长度密钥。

接着依次生成签名子密钥,加密子密钥,认证子密钥,,输入 save 保存退出。

将公钥上传至服务器 gpg --keyserver hkp://pgp.mit.edu --send-keys xxx@your.email

生成的方法太过简单就一笔带过,接着就是把生成的子密钥导入 Yubikey

# gpg --edit-key ********  
gpg> key 1
gpg> keytocardkey
Please select where to store the key:  
   (1) Signature key
   (3) Authentication key
Your selection? 1

选择相应的密钥,使用 key 数字 选择,再次输入时反选,选择的密钥会带有一个星号,根据其用途分别执行 keytocard 即可。

--END--
文章创建于 2017-03-10 13:04:18,最后更新 2017-03-10 13:04:18
Comment
尝试加载Disqus评论, 失败则会使用基础模式.
    • play_arrow

    About this site

    version:1.02 Alpha
    博客主题: Lime
    联系方式: i@wind.moe
    写作语言: zh_CN & en_US
    博客遵循 CC BY-NC-SA 4.0许可进行创作

    此外,本博客会基于访客的Request Headers记录部分匿名数据用于统计(Logger的源码见Github),包含Referer, User-Agent & IP Address.个人绝不会主动将数据泄露给第三方