畅言慎行的博客

肉体可以被摧毁,而思想是杀不死的

近期潜水一段时间,今天发现原来的私钥出了点毛病,无法导入了。想想它也只有2048位,于是决定更换为4096的新密钥。 俺没有被盗号,人身安全。新的PGP公钥可以于此处获得。 特此声明。

受够了严酷的审查和无尽的喧嚣,你从墙内逃出来,寻找属于自己的那一块净土。 你褪去了一切,与“自然人”身份有关的一切。姓名、性别、年龄……一切都化为浮云;无人能知晓面具后的脸庞。 你隐匿了一切。洋葱的紫色外衣保护着你,你的ip地址变幻莫测。你凡事谨慎,绝无大意的时刻,每次发言都斟酌再三。你的真实面貌早已模糊不清;无人能拼凑出你的画像。 你“断舍离”了一切。这张面具背后不再是实在的肉体,而是一朵思想。 肉体可以被摧毁,而思想是杀不死的。

网络世界与现实生活的一大不同之处,在于无法【直接】确认对方的身份。盗用他人虚拟身份,为某些目的(例如:钓鱼、诈骗、挑拨离间)的事例层出不穷,况且由于【高度匿名性】(例如品葱这样的论坛),线下核实大概率是【不】现实的。这时候,PGP就成了最为广泛流行的身份核对方式。 俺当初零基础学习PGP时,绕了大半天才学会,所以想写一篇浅显易懂的教程,教小白们傻瓜式入门,不必吃俺遭受过的苦头:)

啥是PGP?

这里引用一下维基百科: “PGP(英語:Pretty Good Privacy,中文翻译「优良保密协议」)是一套用于讯息加密、验证的应用程式。 PGP加密由一系列散列、数据压缩、对称密钥加密,以及公钥加密的算法组合而成。每个步骤均支持几种算法,用户可以选择一个使用。每个公钥均绑定一个用户名和/或者E-mail地址。” 简而言之,PGP就是一种加密技术。而且,不是【一般】的加密技术,目前的计算机,还是无法暴力解密滴。 PGP主要有两种功能:验证身份和加密讯息。另外GPG指的是GnuPG,一种使用PGP的工具,基本上和PGP是一回事。

几个基本概念:

一个PGP一般包括以下内容,相当于名片上的信息。 用户标识(UID):相当于您QQ的名称,这玩意儿是可以随便写滴。要注意,既然可以随便写,那么也可以伪造,这玩意是【不】能用来核实身份的。 邮箱:用于联系,也是可以随便写的。 指纹/ID:这俩玩意是独一无二的,才是【真正】可以辨别身份滴,相当于您的【QQ号】。(QQ号还可以回收(换人),这个只能吊销) 指纹一般由二十个字母组成,比如俺的长这样:9815 57F4 6325 4104 15C0 77F4 497F 8186 110B 8B28 ID是一串字符,相较于指纹和整块公钥,它具有较短的特点,特别是在有字数限制的时候方便贴上。检索他人ID时,要记得头上加上0x。 子密钥:俺还不太清楚是啥,但无伤大雅。

公钥/私钥的概念:

【公钥】是您需要公开给别人的。您可以把您的指纹/ID分享给别人。 【私钥】是需要自己妥善保管滴。导入私钥就相当于登录自己的账号了,所以【绝不】可以分享给别人。拿它是可以解锁所有加密讯息滴!

密钥服务器的概念:

密钥服务器是一个贮存人们PGP的仓库,通用的的有keyserver.ubuntu.com,keys.opengpg.org等等。 如果希望别人更方便地导入您的公钥,您可以把您的公钥上传到密钥服务器。上传后,您就可以分享相对简短的指纹/ID,让别人自己去搜索下载。 如果您不想把公钥上传到服务器,那您就需要把长长的公钥导出来去粘贴了。

如何使用PGP?

PGP有点像邮箱,一个人的PGP相当于他的邮箱地址。您需要首先自己拥有一套个人PGP,相当于创建一个邮箱账户。 不同的操作系统,使用PGP的方式不同。在Windows和Mac上都有特别的软件可以方便地操作,这里俺不细讲;俺单讲Linux系统的操作。 如果您习惯可视化的,您可以使用“密码和密钥”工具,点击加号,之后填写相关信息,就能够创建一个您自己的PGP啦。 然而,大部分操作都必须使用指令来进行。所以您需要打开终端,按照俺给的指令一点点来。

导入/导出密钥

首先,您需要导入别人的PGP来ta发加密消息,或者告诉别人您的PGP。 途径1:在密钥服务器直接搜索别人的密钥,下载。用您的密钥工具打开,直接导入。 途径2:如果别人的公钥是一整块BLOCK,复制,粘贴到文本编辑器,存为txt。假设文件名叫Alice.txt,使用指令: gpg --import Alice.txt 就可以啦。 那么,如何导出自己的公钥捏?指令如下: gpg -a --output [文件名] --export [密钥的UID] 导出的这个文件,内容就是一大块乱码BLOCK。您可以把这个txt文件上传到密钥服务器(访问服务器网站上传或者使用 gpg --send-keys 指令),也可以直接粘贴BLOCK。

加密/解密消息

PGP最重要的功能就是加密。下面来介绍以下如何加密与解密: 假设您写好了消息,需要加密,那么先把它粘贴到文本编辑器,存成一个txt文件。然后,使用以下指令: gpg --encrypt [文件名] 选择收件人(填写UID) 在原有的文件夹里会多出一个文件,内容就是加密过的暗文啦。 如果您在网络上看到别人给您的暗文,把它复制粘贴,也存成一个txt。然后,使用指令: gpg -a --output [新的文件名] --decrypt [文件名] 这个【新的文件名】指的是破解后的明文的文件名,后缀写.txt,然后打开这个txt,就能看到破解后的明文啦。

签署消息

啥叫签署?就是给一个消息签名,这样对方解密的时候,就可以确认这个信息是您发的。 签署有两种,一种是暗文签署,就是说既加密又签署,另一种是明文签署。如果您是公开发言,又希望别人确定是您亲自写的,没有人冒充您的话,用明文签署。 同前面方法,还是用txt保存您的消息,用指令: gpg --clear-sign [文件名] 就会生成一份新文件。复制粘贴里面的内容,就OK了。 校验别人签过名的消息,则用 gpg -verify [文件名]

给密钥签名

如果您【确定】某某密钥确定是某人的,您可以用自己的密钥给它签名,以添加信任度。指令是 gpg --sign-key [UID]


以上就是关于PGP的一些【基本】操作,其实玩法还不止这些。您可以使用 gpg --help 来查看更多指令。 顺便一提,如果俺说“俺的OpenGPG是……”,就是叫你去keys.opengpg.org,按照俺的指纹/ID搜索俺的密钥并导入。


相关阅读: 〖圖文教學〗如何使用PGP加密以便在非安全通訊工具內進行加密通訊 【安全上网】GPG入门教程

由于write.as的评论区功能还在开发中,俺的博客暂时【没有】评论区。然而,如果您拥有一个Fediverse账号,您可以关注 @ccaution@write.as ,以接收俺的最新博客。您可以通过回复的方式进行评论,俺会用俺的Mastodon回复您。

关于俺:

【畅言慎行】这个网名,是由成语【谨言慎行】改了一个字而得,因为俺采取了一些保护身份的措施,又来到一个没有审查的平台,所以就【不】需要自我审查,而可以【畅言】了:) 平时俺第一人称永远用【俺】,第二人称用【您】,第三人称自称会用【Caution】或者【慎行】,出处您可以自己尝试搜搜看 虽说俺一口随想话,但是俺无论知识水平还是人生经验都没有随想前辈的高度,肚子里也没什么干货:(

联系俺:

平时您可以直接使用您的Fediverse账号与俺沟通,也欢迎使用电子邮箱。您可以通过导入俺的GPG Key来查看俺的邮箱。请注意,俺有两个邮箱,其中一个不太稳定,俺建议您第一次发的时候,收件人一栏把两个邮箱都写上。 为了核实身份或者加密讯息,俺会坚持使用GPG签名或者加密讯息,建议您也用GPG加密给俺的邮件。

俺的PGP