美文网首页
GnuPG的subkey(子密钥)的使用

GnuPG的subkey(子密钥)的使用

作者: 抠脚邦德 | 来源:发表于2017-10-26 19:38 被阅读382次

    网络上关于GnuPG的博客都没有提到一个关键的东西 ------ “子密钥”!但是,子密钥却是GnuPG的最重要、最关键、最核心!

    在GnuPG里,日常的加密和签名,使用子密钥;主密钥并非用来日常加密和签名。

    使用到主密钥的场景,比较特殊,有哪些呢?下面是debian社区的说法:

    · when you sign someone else's key or revoke an existing signature,

    · when you add a new UID or mark an existing UID as primary,

    · when you create a new subkey,

    · when you revoke an existing UID or subkey,

    · when you change the preferences (e.g., with setpref) on a UID,

    · when you change the expiration date on your master key or any of its subkey, or

    · when you revoke or generate a revocation certificate for the complete key.

    (Because each of these operation is done by adding a new self- or revocation signatures from the private master key.)

    (关于主密钥对,pub + sec的使用,我会再写文章介绍)

    另外,说明一下;一个主密钥,可以绑定若干个子密钥;这些子密钥有的具备加密功能,有的具备签名功能。

    比如我的密钥是这样:

    gpg>

    pub 2048R/6EB6C991 created: 2016-11-24 expires: 2017-02-22 usage: SC

    trust: ultimate validity: ultimate

    sub 2048R/8B5EC34E created: 2016-11-24 expires: 2017-02-02 usage: E

    sub 2048g/3F1F2211 created: 2016-11-28 expires: 2016-12-19 usage: E

    sub 2048g/E423A188 created: 2016-11-28 expires: 2016-12-19 usage: E

    sub 2048D/A9B67F16 created: 2016-12-01 expires: 2016-12-08 usage: S

    sub 2048R/A03B3497 created: 2016-12-01 expires: 2016-12-08 usage: S

    sub 1024D/A0C43169 created: 2016-12-01 expires: 2016-12-08 usage: S

    [ultimate] (1). virtual <164820658@qq.com>

    gpg>

    其中有六个子密钥,三个用来加密(E),三个用来签名(S)。

    gpg命令对于“导出密钥”有三个选项:

    --export-key;

    --export-secret-key;

    --export-secret-subkey;

    主密钥要严格保密,主密钥的私钥更加严格保密保密再保密!

    --export-key,导出公钥(主公钥 --- pub,全部子公钥 --- sub);

    --export-secret-keys,导出私钥(主私钥 --- sec,全部子私钥 --- ssb);

    这个选项导出的东西,应该找个地方藏起来,比如加密U盘、保险箱、保险库、有军队把守必须生物识别的严密机构!

    --export-secret-subkeys,使用自己的私钥的正确的做法,仅仅导出全部子私钥!当然,还是要加密(并且验证签名)传输到其他电脑上,再导入。

    示例如下:

    加密 + 签名一段消息,然后解密 + 验证签名:

    ps:

    重要的提示,sec#,这里有一个符号#, 标识主私钥不在这个电脑上(它应该已经被放在一个极其、极端、极度安全的地方了)。

    相关文章

      网友评论

          本文标题:GnuPG的subkey(子密钥)的使用

          本文链接:https://www.haomeiwen.com/subject/fttlpxtx.html