去中心化的信任模型WOT
1.信任模型
1.1中心化信任体系
信任由一个或少数几个中心权威实体提供,所有参与方默认信任该中心 在中心化的信任体系中存在明确的信任根也就是信任锚点,同时信任关系呈星型结构,身份、权限、规则由中心统一管理,用户之间不直接建立信任,而是通过中心背书
典型实现
- PKI/CA体系HTTPS、TLS
- Kerberos
- OAuth/OpenID Connect
- 企业IAM、LDAP、AD
- 云厂商账号体系AWS/GCP/Azure
适用于企业内部系统,强合规、强治理,封闭或半封闭网络的中心化信任模型,存在明显的单点故障SPOF,单点风险,以及强控制审查的缺点。
1.2去中心化信任网络
OpenPGP不同于传统的中心化信任模型,它采用Web of Trust的去中心化信任网络,通过多方相互验证来建立和维护信任关系
- 没有中心化机构
- 每个用户可以签署他人公钥
- 通过签署来建立信任链
- 形成一个类似社交网络WOT(Web of Trust)的信任体系
OpenPGP不仅支持对原始数据的数字签名以验证其完整性与来源,更核心的特性在于支持密钥认证Key Certification——即通过对公钥-身份UID绑定关系的签署,构建去中心化的信任网
OpenPGP定义了两类概念(使用gpg --edit-key 36604E4252411821629DCC589270DF719D5C345A可以看到validity和trust属性):
签名级别:validity,表示你认为某把公钥是否真的属于这个用户
等级:
unknown:尚未为该密钥指定所有者信任,或信任关系尚未完成计算
expired:信任计算失败,有可能是过期
undefined: 没有足够的信息计算
marginal:部分信任(Web of Trust中有限签名支持)
full:完全信任(有多个信任签名支持)
ultimate:终极信任
revoked: 撤销
信任级别:trust,表示你认为这个密钥持有者是否有能力去签署其他公钥(给别人背书的能力)
例:
你信任Alice能签署Bob的密钥,你就把Alice标记为fully trusted
这样Bob的密钥就可以被间接信任
2.GPG软件
91年,程序员Phil Zimmermann为了避开政府监视,开发了加密软件PGP(Pretty Good Privacy)。这个软件非常好用,迅速流传开来,成了许多程序员的必备工具。由于软件专利授权问题,98年,IETF互联网工程任务组将PGP的核心机制标准化,协议标准OpenPGP。99年GNU项目基于OpenPGP标准,实现开源,完全自由、无专利风险的软件实现GnuPG(GNU Privacy Guard)
2.1软件安装
apt install gnupg
# 配置文件介绍, GPG配置文件目录: ~/.gnupg
~/.gnupg/gpg.conf – 配置文件
~/.gnupg/trustdb.gpg – 信任库, 存储你对每个公钥的信任等级
~/.gnupg/private-keys-v1.d/ - 私钥文件, 加密保存
~/.gnupg/pubring.kbx - 公钥环, 存放你的公钥和导入的他人公钥
~/.gnupg/crls.d/ - 吊销证书, 存放X.509证书的撤销列表
~/.gnupg/openpgp-revocs.d/ - 密钥撤销证书
2.2秘钥构建
在OpenPGP体系中,主密钥作为信任锚点,负责对用户身份和子密钥进行签名;实际的数据加密、签名和认证操作由用途受限的子密钥承担,从而降低主密钥暴露风险
Read more...






