Skip to content

Commit 79cd522

Browse files
committed
add GPG
1 parent 8ddc18f commit 79cd522

File tree

3 files changed

+34
-8
lines changed

3 files changed

+34
-8
lines changed

docs/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,4 @@
4848

4949
---
5050

51-
首先要明确,本书的内容不明确针对任何一个国家。需要如何防范,这点是要根据你的所在位置,以及所在位置的国家的成分,以及对言论处理的形式所决定的。生成敏感数据的环境需要禁用一切独裁、威权政府治下的公司或机构的应用或网站,而需要选用其他国家的,和独裁、威权政府没有紧密联系或者合作的应用,这样可以保障即使你的隐私和敏感信息被他们收集,也不会对你的人身安全产生严重威胁。
51+
首先要明确,本书的内容不明确针对任何一个国家。需要如何防范,这点是要根据你的所在位置,以及所在位置的国家的成分,以及对言论处理的形式所决定的。生成敏感数据的环境需要禁用一切独裁、威权政府治下的公司或机构的应用或网站,而需要选用其他国家的,和独裁、威权政府没有紧密联系或者合作的应用,这样可以保障即使你的隐私和敏感信息被他们收集,也不会对你的人身安全产生严重威胁。例外的一点是,如果你有足够的影响力,那么使用任何中心化或者非完全匿名的方式都是危险的,因为各国政府间完全有可能以"人质交换"的方式以及各种"灵活外交"的手段互换所需要抓捕的人的各项数据。

docs/_sidebar.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,16 @@
33
- [不要使用专有软件或服务](proprietary_software.md)
44
- [不要使用闭源/威权治下的操作系统/设备](proprietary_system.md)
55
- [敏感信息自查](sensitive_information.md)
6-
76
- [Tor](tor.md)
8-
- [GnuPG](/)
7+
- [GnuPG](/gpg.md)
8+
- [更多内容陆续撰写中...](/)
9+
- [贡献文档与代码](contribution.md)
10+
- [关于&致谢](about.md)
11+
<!-- - [I2P](/)
12+
- [VeraCrypt](/)
13+
- [Bitwarden](/)
14+
- [claws-mail](/)
915
- [Linux Firejail](/)
10-
- [加密邮件](/)
1116
- [匿名支付方式](/)
1217
- [路由器安全 OpenWrt](/)
13-
- [本机加密 veraCrypt](/)
14-
15-
- [贡献文档与代码](contribution.md)
16-
- [关于&致谢](about.md)
18+
-->

docs/gpg.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# GnuPG
2+
3+
使用 GPG 密钥对可以获取这些能力:认证(Certificating)、签名(Signing)、验证(Authenticaion)、加密(Encryping)。认证用于主私钥生成新的不同功能的子私钥,这是主私钥的独特能力。签名用来给邮件、Git Commit 等签名,表明身份。验证用来身份验证与鉴权,如 SSH 登录。加密用于给消息或文件加密。一个 GPG 密钥对可以拥有很多功能,因为它实际上是多个密钥对的集合。对于不同的功能,推荐分别使用不同的子密钥对。
4+
5+
对于 GPG 的基本使用,网络上有非常多的文章,本书不再赘述,仅进行一些提示。
6+
7+
通过命令行可以对 GPG 进行全面掌控,这毋庸置疑。除此之外我们提供一种更方便的图形化方式对 GPG 进行操作。在 ArchLinux 下推荐使用[kleopatra](https://archlinux.org/packages/extra/x86_64/kleopatra/)。其与知名的 windows 下 GPG 套件 Gpg4win 操作几乎相同。关于 kleopatra 的详细操作可参考[【安全上网】GPG 入门教程](https://pincong.rocks/article/11717)
8+
9+
许多人习惯将 GPG 公钥上传到公共公钥服务器,我们认为在现在的时间点,这已经没有必要。只将公钥提供给所需要联系的人、或保证在有人有意向联系你时可以找到即可。发布方面也建议存放在更流行,通用且便于修改删除的网站服务中,如 Github 等。在将公钥完整的发布在合适的位置后,还需要为他人提供验证公钥的方式。正规的方式是提供公钥指纹,一个长 160 比特的序列。信息接收方在导入信息发送方的公钥后,可以得到计算出的公钥指纹,将这个计算出的指纹与信息发送方事先公布的指纹进行比较,若二者一致,即可说明这份公钥可信。事先公布的指纹一般可以存放在被信任的位置,如 Telegram 的个人简介。指纹的问题在于其长度过长,验证起来不是很方便,这时可以使用指纹的后 64 比特,这部分序列被称为长密钥 ID(long key ID),它是指纹的一部分。一般来说,验证长密钥 ID 即可取到同样的验证效果,但是仍有被碰撞的可能。指纹的后 32 比特被称为短密钥 ID,它们通常被认为有很高的冲突风险,不应该用于验证公钥。最稳妥的公钥验证方式仍是完整的指纹。[[1]](https://superuser.com/questions/769452/what-is-a-openpgp-gnupg-key-id)。
10+
11+
---
12+
13+
GPG 普遍应用的一个场景就是发送加密邮件。如果你想为一个人发送加密邮件,首先你需要获取他的公钥。随后即可通过公钥加密你想发送的内容并发送邮件。对于邮箱服务商,我们推荐致力于隐私保护的[Tutanota](https://tutanota.com/)。使用 Tutanota 发送邮件时,若双方均为 Tutanota 用户,则默认均发送端到端加密的邮件。如果为外部邮箱发加密邮件时,必须事先指定一个加密密码,并和对方通过安全的方式交换此密码,这种情况可以尝试通过端对端加密通讯软件来交换。但是这种方式意义不大,既然有安全的交换密码方式,为何不直接通过这个方式通讯呢?在和外部邮箱进行邮件发送时,使用 GPG 加密就是一个很好的选择。
14+
15+
> Tutanota 用户之间的邮件,使用的是一种标准的由对称和不对称算法混合组成的加密方法,128 位的 AES 和 2048 位的 RSA。对于外部收件人的邮件,使用的是对称加密的 128 位的 AES。由此也可看出,与外部收件人通信仅用 128 位 AES 安全度不够,从这点考虑也应该自行发送 GPG 加密的邮件,或混合使用二者。
16+
17+
> ProtonMail 因为在 2021 年向法国警方提供‘气候活动家’的 IP 地址而名誉扫地[[2]](https://zh.wikipedia.org/wiki/ProtonMail#%E9%81%B5%E5%AE%88%E7%91%9E%E5%A3%AB%E6%B3%95%E9%99%A2%E5%91%BD%E4%BB%A4%E5%92%8CIP%E8%AE%B0%E5%BD%95),我们不论述它的行为是否合理,仅从结果看,它确实向本国以及外国政府提供了用户 IP 等元数据。这种行为在其他加密邮件服务也完全有可能存在,如 Tutanota 在其 FAQ 中明确写了"只有当账户涉及谋杀、抢劫、勒索、儿童色情、炸弹袭击等重大犯罪时,我们才会依照德国法院下达的命令记录个人账户相关的 IP 地址。",然而在邮箱服务商所在国家政府与其他政府交涉过程中,如何定义"重大犯罪"?这是非常含糊的表述。为了你的人身安全,即使使用这种加密邮箱服务的同时也要采取代理或 Tor 的方式隐藏自己的 IP,并且尽量混淆使用时间等元数据。
18+
19+
Ref:
20+
21+
- [Tutanota faq](https://tutanota.com/faq/#0)
22+
- [简明 GPG 概念](https://zhuanlan.zhihu.com/p/137801979)
23+
- [GnuPG 密钥生成三步走](https://lab.jinkan.org/2020/04/30/gnupg-in-three-steps/)
24+
- [2021 年,用更现代的方法使用 PGP 系列](https://ulyc.github.io/2021/01/13/2021%E5%B9%B4-%E7%94%A8%E6%9B%B4%E7%8E%B0%E4%BB%A3%E7%9A%84%E6%96%B9%E6%B3%95%E4%BD%BF%E7%94%A8PGP-%E4%B8%8A/)

0 commit comments

Comments
 (0)