内容简介
本书根据工信部五层架构来逐层分析区块链各层安全问题,并结合经典案例,讲解区块链安全中的理论、技术与实践。从总体上讲解区块链的定义,安全属性等。第2章从技术角度分析主流区块链的安全属性。第3~7章从应用层与智能合约、激励层、网络层、数据层与共识、私钥安全层面剖析安全隐患与防范措施。
作者简介
黄连金 硅谷Dynamic Fintech Group管理合伙人、联合国旗下世界区块链组织(WBO)首席技术官、美国 ACM Practitioner Board 委员、美国分布式商业应用公司CEO和创始人、中国电子学会区块链专家委员、中国人大特聘研究员与讲师、美国CISSP专家、CyberVein 总顾问,多个成功区块链项目技术顾问。曾就职于美国CGI公司18年,任CGI安全技术总监、CGI云安全主管和首席安全架构师等职务,创建了CGI联邦身份管理和网络安全能力中心。在CGI工作时,曾经为美国联邦政府、金融机构和公用事业公司提供金融、人工智能、区块链、安全等方面的专家咨询。曾多次在国内外大型区块链峰会担任嘉宾、评委、培训专家。
吴思进 33复杂美创始人及CEO,浙大本科硕士毕业,金融数据专家,精通量化交易及区块链,主导多家世界500强区块链项目落地。2014年申请区块链发明专利,2项已授权,目前累计申请专利50多项,全球区块链专利排名前十,主要区块链项目有供应链金融、供应链管理、积分、钱包、交易所。
曹锋 PCHAIN发起人,中物联区块链协会首席科学家。中国早期区块链国际专利发明人,ChinaLedger共同发起人,2016年完成全球区块链资产收益权转让暨中国区块链金融真实交易。曾担任IBM全球下一代人机大战中国区负责人、互联网金融首席科学家、专利评审委员会联合主席;3次获得IBM全球杰出技术成就奖,发表22篇国际论文,30余项美国专利,并担任多个ACM IEEE国际会议论坛主席。
季宙栋 Onchain分布科技首席战略官,本体联合创始人,(工信部)中国区块链技术与产业发展论坛副秘书长,中国电子学会区块链专委会委员,ISO/IEC TC307中国代表团成员,参与本体论、身份和隐私保护等标准组。作为区块链行业的专家,参与了工信部区块链白皮书及相关标准编制工作。
马臣云 北京信任度科技CEO、信息安全专家、产品管理专家,电子认证与签名行业15年从业经验。主要方向是密码学、区块链、身份认证、电子签名。曾获得省部级科技进步二等奖(国家密码局)、首都五一劳动奖章、全国五一劳动奖章等,是电子签章技术、基于人脸识别的身份认证安全技术、互联网金融个人借贷电子合同安全技术等标准的起草人。著有《精通PKI网络安全认证技术与编程实现》。网络ID:非信息安全砖家。
达摩 BOX.LA项目发起人,原唯链COO,参与了众多知名区块链项目的早期投资。
李恩典 美国分布式商业应用公司董事与中国区总裁、深圳市微风智联科技有限公司董事长、区块链软件和金融行业应用研发专家。15年以上金融安全研发经验,在区块链存储、大数据平台、物联网平台和金融系统核心等领域均有领先的技术成果和丰富的产品技术实战经验,并拥有近10项相关领域发明专利。
徐浩铭 CyberVein数脉链项目技术负责人,负责区块链平台架构和搭建。曾就职于欧洲微软研发中心,负责Office项目开发。毕业于英国剑桥大学,主要研究方向为机器学习在生物信息学领域的应用;曾在美国卡内基-梅隆大学访学,主要研究方向为机器视觉在无人驾驶中的应用;曾在美国杜克大学访学,研究领域为深度学习在生物医学工程中的应用。在SCI和EI检索杂志上发表多篇文章。
翁俊杰 IBM 10余年开发及解决方案经验,批Fabric应用开发者,NEO核心开发者之一,Onchain DNA联盟链的架构设计与核心开发人员,Ontology(本体)区块链开发团队负责人。在票据、供应链、积分、征信、数据交易、共享金融等多个领域有区块链应用经验。
目录
作者简介
序一 多边界的区块链安全防守
序二 区块链安全观之我见
序三 安全是区块链发展和应用的基石
前言
第1章 详解区块链的安全属性 1
1.1 保密性 2
1.1.1 比特币的半匿名性 3
1.1.2 Hyperledger Fabric CA的动态交易证书 6
1.1.3 用零知识证明做数据加密 7
1.1.4 使用状态通道让数据不可见 10
1.1.5 同态加密 16
1.2 数据完整性分析 17
1.2.1 签名与验证 17
1.2.2 共识机制 17
1.2.3 数据上链 18
1.2.4 时间戳 18
1.2.5 开源 19
1.3 可用性 19
1.4 物理安全性 20
1.4.1 物联网和安全性 20
1.4.2 区块链和物联网 21
1.5 本章小结 22
第2章 主流区块链安全属性分析 23
2.1 比特币 23
2.2 以太币 31
2.3 Zcash 34
2.4 本章小结 37
第3章 应用与智能合约层的安全控制 39
3.1 Web与移动客户端应用安全 39
3.1.1 注入 39
3.1.2 失效的身份认证与会话管理 41
3.1.3 跨站脚本漏洞 42
3.1.4 不安全的直接对象引用 43
3.1.5 安全配置错误 45
3.1.6 敏感数据泄漏 46
3.1.7 功能级访问控制缺失 47
3.1.8 跨站请求伪造 48
3.1.9 使用已知易受攻击组件 49
3.1.10 未验证的重定向和转发 51
3.2 智能合约的安全 52
3.2.1 智能合约简介 52
3.2.2 智能合约安全编码的最佳实践 54
3.2.3 智能合约的几个安全漏洞 79
3.2.4 智能合约安全的开源工具 82
3.2.5 智能合约的形式化验证 85
3.2.6 智能合约的虚拟机安全 86
3.2.7 智能合约的安全开发过程建议 90
3.2.8 从DevOps到DevSecOps:智能合约开发须知 91
3.3 智能合约中的身份管理与访问控制 94
3.3.1 传统身份管理与访问控制系统的问题 94
3.3.2 智能合约的身份管理 95
3.3.3 身份链的定义和国外典型身份链的分析 97
3.3.4 身份链的生态系统 98
3.3.5 身份智能合约 99
3.3.6 区块链落地的身份管理与访问控制考虑 100
3.4 本章小结 101
第4章 激励层安全机制设计 103
4.1 激励的产生和分配 103
4.1.1 激励机制价值 103
4.1.2 比特币激励 104
4.1.3 以太币激励 106
4.1.4 其他通证激励 108
4.2 激励层安全分析 111
4.2.1 通证激励模式的安全隐患 111
4.2.2 通证激励安全事件分析 112
4.2.3 通证激励安全事件反思 115
4.2.4 通证激励的法律风险 116
4.2.5 通证激励的安全措施 118
4.3 本章小结 119
第5章 网络层安全与控制 121
5.1 P2P加密 121
5.1.1 区块链与P2P网络的关系 121
5.1.2 区块链上的P2P应用与加密 122
5.2 客户端与节点通信加密(联盟链) 126
5.2.1 恶意客户端作恶方式及后果 126
5.2.2 P2P网络安全机制 128
5.2.3 联盟链如何确保客户端和节点的可信任 129
5.2.4 主流联盟链通信安全实现剖析 133
5.3 防御DDoS攻击 138
5.3.1 例说DDoS攻击危害与处理 139
5.3.2 区块链网络如何防御DDoS攻击 142
5.4 本章小结 144
第6章 数据层与共识安全 145
6.1 区块链数据加密技术的应用 145
6.1.1 如何使用这些加密技术形成区块链 145
6.1.2 安全性阐述 149
6.2 数据传输 151
6.2.1 加密数据传输 151
6.2.2 数字证书的定义 152
6.2.3 超级账本中CA的实现 152
6.3 区块链交易签名 163
6.3.1 数字签名与交易安全 163
6.3.2 典型的数字签名技术剖析 166
6.4 共识攻击 168
6.5 区块链安全性考虑 174
6.6 本章小结 175
第7章 私钥的安全 177
7.1 私钥安全的重要性 177
7.2 主流区块链私钥的使用方法和问题分析 178
7.3 私钥保护的正确“姿势” 184
7.4 硬件钱包介绍 185
7.5 移动钱包如何提升安全性 187
7.6 浅析私钥更新、找回与吊销 192
7.7 本章小结 194
附录A 区块链安全基础概念、原理与分析方法 195
附录B 区块链的DAG技术和安全分析 211
附录C 企业级数字资产保护 219
前言/序言
Preface 前言
为什么要写这本书这本书的初衷是希望给区块链项目提供一些安全方面的指导来改变目前区块链项目匆匆上线,安全系数不高,安全问题层出不穷的现状,也希望正在开发或将来需要开发的区块链项目在安全方面给予足够的重视。我们认为安全问题会是区块链项目落地的主要绊脚石。一个不注意安全的区块链项目,成功系数不会很高。区块链有很好的安全属性,比如数据不可篡改、数据不会丢失、可利用一些加密技术对数据进行加密等。但是从许多与区块链有关的安全事件可以看出,区块链的安全属性不能保证区块链项目百分之百安全。本书尽量从多个不同的方面,比较系统地对区块链的安全进行分析,并且对区块链项目落地所需要考虑的因素,提供一些建议。
本书特色本书是为数不多系统性地阐述区块链安全的书。
本书的主要特色是以深入浅出的形式讲解区块链的安全,便于读者更好地理解为什么区块链安全是一个重要的课题,以及如何解决某些区块链的安全问题。
读者对象本书的读者对象包括:
区块链的开发者区块链安全的架构师区块链项目的主要技术负责人其他对区块链安全感兴趣的人如何阅读本书在阅读过程中,读者可以根据工作需要将某些章节多读几遍。因为章节与章节之间的依赖性不强,完全可以根据工作需要抽出重点来读。
第1章详解区块链的安全属性,主要从保密性、数据完整性、可用性、物理安全性4个方面对区块链的安全属性进行详解。在分析过程中,本章穿插了一些实例,使得内容讲解更为直观、易懂。本章所介绍的内容,可以使读者对区块链的安全属性有更深层次的了解,对做好区块链的安全工作具有非常重要的参考价值。
由于区块链的安全性分析极具抽象性,所以第2章特意挑选了一些主流数字货币(包括比特币、以太币和Zcash),对其安全属性进行分析。通过本章的学习,读者可以了解主流数字货币的代码、密码学算法以及“钱包”等,进一步加深对区块链相关安全技术的认识。
第3章为应用与智能合约层的安全控制。本章主要从Web或者移动客户端应用程序、智能合约,以及身份与访问控制3个方面对安全问题进行分析。在当前信息技术快速发展的背景下,移动设备已经成为很多人上网的主要工具。为此,本章从一开始就对Web或者移动客户端应用程序的安全性进行了分析,让读者对相关的危险因素有所了解。在智能合约的安全方面,主要从智能合约的概念、安全编码、漏洞、开源工具等几个方面进行了分析,为读者在开发相关内容方面提供了重要的参考。在本章的最后,从多个方面对区块链的身份管理与访问控制进行了分析。通过对这部分内容的学习,读者可以了解在开发区块链的过程中,如何高效、安全地做好身份管理与访问控制等工作。
第4章为激励层安全机制设计。本章主要从激励的产生和分配以及激励层安全两方面进行了分析。首先,分别借助比特币、以太币的激励模式对激励的产生和分配进行了分析,可以让读者对区块链激励层的存在有较为直观的认识。在此基础上,本章又从激励模式的安全隐患、安全事件、法律风险以及安全措施等方面,对激励层安全进行了分析,让读者了解安全对激励层的重要性,以及如何设计才能有效避免区块链激励层安全事件的发生。
第5章为网络层安全与控制。网络层是区块链的重要组成部分,能否做好安全与控制直接影响区块链的价值。本章主要从P2P加密、客户端与节点通信加密、防御DDoS攻击3个方面进行了分析。通过对本章的学习,读者可以对网络层安全与控制的相关内容有全面的了解。这对开发过程中提高区块链的安全性具有重要指导作用。
第6章为数据层与共识安全。数据层是区块链设计的基础部分,是影响区块链能否正常运行的关键。本章主要从区块链数据加密技术、数据传输、区块链交易签名、共识攻击、区块链安全性考虑5个方面进行分析。通过本章的学习,读者可以了解关于数据层安全更多的知识。这对于提高区块链的安全,保障区块链的正常运行具有重要的参考价值。
第7章为私钥的安全。本章从私钥的重要性、使用方法、存在的问题等多个方面对私钥的安全进行了全面的分析。通过对本章的学习,读者可以对私钥安全性在区块链技术中的重要性有更深层次的认识,了解如何使用私钥才能有效避免安全问题的出现以及私钥的更新、找回与吊销等。除此之外,本章还对私钥保护的正确“姿势”、硬件钱包等内容做了分析。有了这些内容的指导,读者可以参考、拓展关于保障硬件钱包、移动钱包方面的设计思路,提高区块链的安全性。
除了上述内容,本书还包括3个附录。附录A介绍的是区块链安全基础概念、原理与分析方法,可以更好地理解区块链。当制定区块链安全性测试标准时,可以适当地参考、借鉴。附录B主要介绍DAG的基本概念、原理与主流项目,从中可以了解DAG给区块链安全带来的价值和影响。附录C介绍区块链私钥管理的一种方法,主要用于企业级数字资产的安全。
勘误和支持本书从不同的角度来阐述区块链安全,抛砖引玉。我们不能说这本书包含了区块链项目落地需要考虑的所有安全因素,因为不可能面面俱到。
区块链安全技术指南 下载 mobi epub pdf txt 电子书 格式