haruhiko 发表于 2021-3-24 14:31

(已解决)有关pgp加密的问题

本帖最后由 haruhiko 于 2021-3-25 13:11 编辑

更新:大家好像理解错我的意思了 我不是要把私钥到处传 恰恰是我想把私钥仅仅存储在yubikey里面 随身携带 避免在公网上发送 经过自己的摸索 解决办法实际上很简单 只要在新的机器上导入公钥后,插上yubikey,打开命令行 输入gpg --card-status 就可以实现了 这样就相当于把口令牌和机器上的公钥联系起来了 告诉机器私钥存在yubikey里面 需要使用的时候直接读取卡里存的私钥就好
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
突然对信息安全很感兴趣,买了一本《图解密码技术》,里面提到的PGP加密很对胃口,了解原理之后买了一支yubikey 5的安全令牌。看网上的教程自己生成了密钥串,一个主密钥和若干子密钥,把子私钥都导入了yubikey里面,在办公电脑上使用GPG4win加密签名或者解密都会正常弹出要我插入口令牌的窗口,情况一切正常。
今天突发奇想把已经加密签名的文件传到另外的机器上,一台win10、一台Debian,两台机器都可以识别到口令牌,用gpg --card-status命令也正常显示令牌里存的私钥,
但是我尝试解密的时候都会提示私钥不存在,确实,子私钥只存在我的口令牌里面,难道只有在我的办公电脑上才能实现插卡解密,其他电脑必须要重新导入子私钥才可以解密吗,那这样如果需要在很多电脑上传递加密文件岂不是子私钥要传递很多次,安全性不也就**下降了吗我觉得设计出PGP这么精妙系统的人不应该这点都没想到吧
坛里有人能解决这个问题吗 只随身携带口令牌和公钥 实现随时插卡加密解密 口令牌的意义就在此吧 不然只局限一台机器太鸡肋了
附:生成和导入秘钥的指引链接
https://snowfrs.com/yubikey#header-12
https://mogeko.me/2019/068/

黑暗之凰 发表于 2021-3-24 15:25

没记错的话, 在其他电脑导入的是公钥

litel 发表于 2021-3-24 16:31

到处传的应该叫公钥吧。。

xiaowufeixia 发表于 2021-3-24 19:47

我用的是gnupg.org上的版本, 还有gpg4win的outlook插件。反而是git for windows的gpg会和这个有冲突。他们都有GUI可以管理导出私钥, 除了不能给subkey延期以外好像没什么功能上的缺陷。

导出私钥的命令查了下是gpg --export-secret-key, 重定向到一个文件就可以了。

现在gpg主要是给git commit签名, 邮件签名之类的, 加密用得很少吧。

chachi 发表于 2021-3-24 19:53

和别人第一次接触让他发公钥给你,
然后你加密东西的时候用自己的私钥和对方的公钥加密
对方收到东西后,用自己的私钥解。
同样对方也是用你的公钥和自己的私钥加密,发给你,你用自己的私钥解。

YoumuChan 发表于 2021-3-25 06:41

在别的电脑上使用需要先导入公钥啊...
还有就是你的yubikey里存了哪些私钥,签名的?解密的?身份验证的?缺了解密的当然就解不了(

foraiur 发表于 2021-3-25 08:48

私钥永远不要外传
公钥-私钥能解密对应加密的内容
电脑a上生成公钥p1,私钥k1
电脑b上生成公钥p2,私钥k2
把p1导入b、p2导入a
a上用k1签名、p2加密文件f,b上就能用k2和p1得到文件内容
其中能用p1解密签名,证明文件确实是a发来的,因为只有a有k1;能用k2解密内容,证明文件确实是发给b的,因为只有b和k2
假设电脑a和b都是你的,你也可以a和b用同一套公钥、私钥,比如把p1、k1都导入b,但是一定要确认真的都全是你的

台球论坛网友 发表于 2021-3-25 09:24

linux40 发表于 2021-3-25 09:35

xiaowufeixia 发表于 2021-3-24 19:47
我用的是gnupg.org上的版本, 还有gpg4win的outlook插件。反而是git for windows的gpg会和这个有冲突。他们 ...

手动给自己的文件加密这种场景用得不少。
页: [1]
查看完整版本: (已解决)有关pgp加密的问题