IPFS 原理与实践 (29):IPFS 底层基础 2.4.4

阅读数:1 2019 年 12 月 21 日 18:57

IPFS原理与实践(29):IPFS底层基础 2.4.4

(密钥撤销机制)

内容简介
这是一部从实现原理和工程实践两个维度深入讲解 IPFS 和 Filecoin 的著作。作者是中文社区内非常有影响力的三位 IPFS/Filecoin 布道者,本书得到了 IPFS&FileCoin 创始人以及 IPFS 官方(协议实验室)的高度认可和强烈推荐。
为 * 大化满足读者需求,书中不仅介绍 IPFS 技术细节、区块链相关知识、Filecoin 项目技术细节,还加入了大量作者们在开发中的经验和技巧。为了适配当下及未来较长时间内读者的实际使用环境,书中所有案例都是基于生态链中较新的软件开发工具和前沿的软件开发技术编写的。
本书分为三大部分:
第一部分 基础篇(第 1 章)
全面介绍了 IPFS 的源起,概念、优势和应用领域,旨在帮助读者了解 IPFS 相关基础背景知识,从宏观层面认识 IPFS 技术所具有的创新性。
第二部分 原理篇(第 2~5 章)
旨在帮助读者深入理解 IPFS 和 Filecoin 的运行原理与工作机制。首先深入分析了分布式哈希表、块交换协议、版本控制、自验证文件系统 Merkle DAG 和 Merkle Tree 等底层基础知识,然后对 IPFS 协议栈中包含的 7 层子协议了进行了剖析,接着解析了 Multi-Format、libp2p、IPLD 三大 IPFS 核心模块,最后用了一整章的篇幅详细剖析了 Filecoin 项目。
第三部分 实战篇(第 6~8 章)
以工程化的方式,从基础至进阶,介绍了 IPFS 技术的实际使用,包括安装、配置、交互、入网、API、内容发布、数据保存、私网搭建等内容,之后通过两个不同风格的实际项目案例向读者展示了基于不同语言所实现的 IPFS 协议栈的使用方法。

有些时候服务器的私钥可能会被泄露,那么原有的自验证文件路径可能会错误地定位到恶意攻击者设置的服务器。为了避免这种情况发生,SFS 提供了两种机制来控制: 密钥撤销指令和 Host ID 阻塞。密钥撤销指令只能由文件服务器的拥有者发送,它的发送目标是全部的用户。这一指令本身是自验证的。而 Host ID 阻塞是由其他节点发送的,可能与文件服务器拥有者冲突,每一个验证的 Agent 可以选择服从或者不服从 Host ID 阻塞的指令。如果选择服从,对应的 Host ID 就不能被访问了。

密钥撤销指令的形式如下:

复制代码
Revokemessage={"PathRevoke" ,Location,Public_Key,NULL}||Secret_Key

在这里 PathRevoke 字段是一个常量;Location 是需要撤销密钥的自验证路径名称;NULL 是为了保持转发指针指令的统一性,在这里将转发指针指向一个空路径,意味着原有指针失效了;这里 Public_Key 是失效前的公钥;Secret_Key 是私钥。这一条信息能够确保撤销指令是由服务器所有者签发的。

当 SFS 客户端软件看到吊销证书时,任何要求访问撤销地址的请求都会被禁止。服务端会通过两种方式获取密钥撤销指令:SFS 连接到服务器的时候,如果访问到已经撤销的地址或路径,它会收到由服务器返回的密钥撤销指令;用户初次进行自认证路径名时,客户端会要求 Agent 检查其是否已经被撤销,Agent 会返回相应的结果。撤销指令是自验证的,因此分发撤销指令并不是那么重要,我们可以很方便地请求其他源头发送的撤销指令。

IPFS原理与实践(29):IPFS底层基础 2.4.4

购书地址 https://item.jd.com/12665074.html?dist=jd

评论

发布