区块链系统是一个分部式系统——共享与存储块链式的数据存储结构数据和时间绑定——数据的保真性 收据产生的合理性 数据的完整性1.1数据完整性
为了篡改或破坏一个区块链系统,黑客需要同一时间成功入侵区块链系统的多个节点拥有许多节点的大型区块链网络受到黑客攻击的风险较低,渗透这种网络的复杂性大大增加。区块链技术可用于日志保护区块链技术有利于追踪黑客攻击,网络入侵者通常会清除权限日志,以隐藏未授权访问设备的痕迹,但是如果日志分步在多个设备中(如区块链技术),则可以降低风险。1.2数据可用性保护
区块链技术可抵抗DDoS攻击基于区块链的每一个节点都具备完整的数据,并且能够对其他节点进行有效验证。黑客发现识别和利用单个漏洞点的难度更大1.3区块链来源——比特币
1.4区块链的架构与分类论文提到了比特币的数字货币,与此前的数字货币方案本质区别:
不需要例如“中央银行”这样的可信任的第三方不使用盲签名等金融密码学技术安全的基础也不再是某个具体的复杂度假设创造性地提出了一种叫区块链的新型技术,整个方案的安全性完全依赖于此技术区块链的每个参与者都保存一个账本【账本中的一页叫做一个“区块”】
账本中保存系统里每一笔交易的信息通过类似于民主投票的方式保证所有数据的一致性
1.5 智能合约根据组成节点的类型,可用分为
公有链:节点分为属于众多不同的组织和个人,理论上讲,任何计算设备都可用加入系统。私有链:所有节点属于同一个组织,只有获得管理员同意才可用加入。联盟链:节点属于有紧密联系的若干组织或个人。介于公有链与私有链之间,由一组管理员来共同协调管理。
金融合同的数字化、自动化实现用分步在多方的代码来表示合同的内容通过运行这些代码来自动执行合同1.6区块链的密码学支撑
为了保护数据完整性,一个区块通常包含上千个交易记录采用Merkle树技术提高效率,如果用数字签名的方法对每一个消息进行记录的话效率会非常低1.7区块链协议
2.区块链系统面临的安全威胁1.7.1区块链本质上是一个分布式数据库。这个分布式数据库预先定义了一系列规则,这些参与节点必须同意的规则称为区块链协议。
1.7.2 2016年提出了区块链“胖协议”
2.1本质是:去中心化与监管的冲突
比特币 | 以太坊 | |
交易模式 | UTXO | 账户余额 |
效率 | 7tx/s | 28otx/s |
出块时间 | 10min | 14s |
块大小 | 1MB | 40KB |
隐私 | 交易信息公开 | 交易信息公开 |
监管 | 欠缺 | 欠缺 |
中小型金融机构:几十到几白tx/s大型金融机构:几千到几万ts/s2.2安全与隐私
2.3分步式身份安全问题现实需要
保护用户隐私,支持匿名交易严格监管、支持案件调追踪防止对同一货币的再次使用智能合约
编码状态机中对逻辑错误不对等的激励,针对交易算法时序进行的一种攻击调用栈bug
区块链网络
攻击者入侵、修改、伪造系统中区块链节点,改节点不可信,对交易造成威胁接入网安全威胁
网络耦合安全威胁身份认证机制安全威胁应用安全威胁
数据的非法访问车辆的大数据安全Sybil攻击虫洞、黑客攻击
2.4 隐私保护 3. 拟态现象与拟态防御 3.1拟态现象
一种生物在形态,行为等特征上模拟其他一种生物或环境,一发方或双方受益的生态适应现象。
3.1防御者视角
4.网络空间拟态防御生物体用视在效果造成对象的认知困境,以此获得生存优势的拟态现象,按防御行为分类可以将其列入积极防御的范畴,称为拟态防御
基本技术拟态防御:以不确定性防御应对网络空间不确定性威胁
核心思想:
利用一个效应,生物基于拟态现象实现的拟态防御效应导入一种架构,动态异构冗余架构DHR引入一种机制,输入指派与“去协同化”’条件下策略裁决与调度机制获得一种非线性安全增益,基于架构机理获得内生防御增益用目标环境视在的不确定性应对网络空间未知安全风险和不确定威胁在功能等价,开放的多元化生态环境上,将复杂目标系统的自主可控问题转换为简单附加部件(拟态括号)的可控可信问题CMD意愿
能够应对拟态界内未知漏洞或后门等导致的未知风险或不确定威胁防御的有效性不依赖但可以融合现有的防御手段或方法不以拟态内构件的“绝对可信”为前提,可以“有毒带菌”运行
动态异构冗余:
多维动态重构:
复合调度策略裁决:
去协同化:
随机化,动态化:
单线联系:
容器虚拟化:
容错技术:
相异性设计:
实现基础
实现代价复杂性与成本弱相关:
开源模式多样性:
多样化编译器:
标准化开放架构:
可重构可重组时代:
虚拟化时代:
网安需求旺盛:
云计算时代:
非相似性设计:
拟态显现调度:
卷回与清洗:
环境再同步:
裁决时延:
主要缺陷 5.区块链系统安全分析与拟态解决思路拟态界内或拟态括号内:
构件代价至多是线性增加防御能力则是非线性提高极大降低生存周期防护成本
数据链路层协议面临的问题➢数据层协议:
●链式结构: 每一个区块都通过“父区块哈希值”指向前一个区块,这样所有区块构成了一条长长的链。
●Merkle树: - 一个区块中的所有交易构成- 棵Merkle树
●加密协议: 椭圆曲线数字签名算法、hash256等
●时间戳协议: 记录区块的诞生时间
●密钥管理不当:区块链密钥容易遭受字典攻击、钓鱼网站攻击、和侧信道攻击。
●交易可锻性:比特币交易存在交易可锻性问题,即改变签名字符串或scriptSig值可以改变交易的哈希值(ID),并且不影响交易的进行。
例: 1、黑客向交易所发起一一笔提现交易
2、黑客在交易被区块链确认之前修改了这笔交易的交易ID3、黑客向交易所声称没有收到金额。交易所查询交易ID后发现转账失败,于是再次转账。
●隐私泄漏: 比特币的非对称加密并不能很好的保护用户的身份隐私和交易隐私。攻击者利用交易聚类分析和交易图谱公析可以推测出交易者的身份和交易内容。
使用安全的密码货币钱包(冷钱包、多因子验证钱包)选择可靠的交易所保护私钥(安全白盒软件加密、安全密钥分片存储保护)使用安全的随机数发生器(量子随机数发生器、物理随机数发生器)实现、系统安全性应对
解决方法——从自然界中得到启发1.加强区块链中智能合约的安全性验证
智能合约形式化验证智能合约异构化智能合约逻辑简化2.采用传统网络防御手段
关闭相关端口硬件防火墙等DDoS攻击3.加强区块链标准制定
密码算法标准智能合约标准数据结构标准4.采用新型区块链安全防御手段
动态防御终端异构冗余机制
1.拟态现象(拟态章鱼)
2.群飞
6.联盟链监管根据上述生物学中的拟态现象和群飞、群游现象,提出了拟态群体异构体系结构,MCH体系结构
区块链系统中的部件可以根据应用场景动态调整变化不同部位的不同实现方式,完成统一的目的系统的部件异构,构建最合适应用的区块链系统针对特定的应用场景,选择合适的异构部件,构建最优的体系结构,达到目的。
7 密码技术
7.1密钥内生与密钥演进链式结构 + 分布式 + 密码学 + 智能合约 = 区块链
公钥体系 + 哈希函数 + 数字签名 + 完整性认证 + 零知识证明 = 密码学
密钥:加密 解密 ;数字签名 ;数字货币钱包.......
7.2前向安全数字签名体制区块链态势感知(运行状态)——> 触发条件(阈值设计)——>新密钥(密钥演化)
密钥演进方法
利用随机数进行密钥更新定期更新密钥派生技术硬件存储器辅助更新明文密钥更新密态密钥更新
7.2.2多重数字签名在联盟链共用机制中的应用1.前向安全,是密码学中通讯协议的安全属性,指的是长期使用的主密钥泄漏不会导致过去的会话密钥泄漏。前向安全能够保护过去进行的通讯不受密钥在未来暴露的威胁。如果系统具有前向安全性,就可以保证在主密钥泄露时历史通讯的安全,即使系统遭到主动攻击也是如此。
2.在联盟链和PoS(权益证明)中,每个交易区块需要验证委员会合作签名确认,有效后才能传播并存储在区块链中
使用密钥演化密码学,该技术要求用户演化其密钥,以使即使在完全暴露其当前秘密状态的情况下也无法伪造过去的签名。
7.2.3前向安全:数字签名、加密解密、密钥协商 7.3后向安全数字签名
在当前密钥泄露的情况下,以后时段的密钥不可获取,以后时段的数字签名不可伪造;
前向安全是必要的
在前向安全的密码体制中,有一个不可避免的弱点:一旦某一时间段的密钥泄露,则该时间段之后的所有密钥均可得到,从而整个密码体制将崩溃。
8.数据链路层 8.1保护用户私钥区块链内生安全密码学方法不仅包括前向-后向安全数字签名、加密解密、密钥协商,还包括密钥安全存储与防护技术、关键密码算法自适应组合技术、基于冷热钱包的密钥安全技术、适用于区块链的新型国产密码算法、安全多方计算技术等。
8.2解决交易可锻性问题8.1.1最优门限签名算法
8.1.2保护用户私钥
为了解决比特币钱包的密码泄露问题,Jarecki等 人提高了PPSS(Password-Protected Secret Sharing)方案的效率,并且证明了改进方案的UC (Universally Composable)安全性。
主要贡献:效率高、不依赖公钥基础设施和安全通道、具有UC安全性
8.3解决隐私泄露问题为了防止攻击者篡改交易ID,Ubaidullah等人将最终交易哈希和没有签名的交易脚本作为新的交易ID。
9.网络层Sasson等人采用简洁性非交互式零知识证明(zk- SNARKs)和-一个承诺方案提高区块链的隐私保护性。该方案可以同时保护用户的身份隐私和交易隐私。
9.共识层简要1.负责区块链节点之间的通信,主要包括区块链网络的组网方式和区块链节点之间的通信机制
2.P2P: peer-to-peer 网络
Stratum: stratum协议是目前最常用的矿机和矿池之间的TCP通讯协议
传播机制、验证机制:交易和区块的传播和验证机制➢网络层协议面临的问题:
●Sybil Attack (女巫攻击) :女巫攻击是指攻击者利用单个节点来伪造多个身份,以达到监视或干扰P2P网络正常活动的目的。●DDoS (Distributed denial of service attack) :分布式拒绝服务攻击是指处于不同位置的多个攻击者同时向一一个或数个目标发动攻击
●Eclipse attack:攻击者控制一个受害节点的所有连接,并确保受害者节点不再从网络中接收正确的信息。1.对应女巫攻击
Pim等人提出了一个新的反女巫攻击算法NetFlow。NetFlow可 以保证网络中的节点既索取资源也贡献资源,因此可以过滤掉伪造节点。
2.应对DDoS攻击
①为了分析DDoS攻击,Johnson等人提出了一种博弈论分析法。该方法分析出大矿池更容被DDoS攻击,且更愿意发动攻击。
②Eyal提出 了一个类似囚徒困境的协议-矿工困境。在该协议下,发动DDoS攻击的矿池会损失一定 的比特币。3.应对Eclipse攻击
Heilman等人提出了日蚀攻击的概念,并且设计了一个提高日蚀攻击门槛的方案
➢共识层负责确保各节点在没有中心机构的情况下保存同一份可信的账本
➢共识层协议:
PoW (Proof of Work):工作量证明机制。优点:安全性高;缺点:浪费电力,效率低,趋向中心化(矿池)
●PoS (Proof of Stake):股权证明机制。优点:效率高;缺点:拥有大量代币的用户可以坐享其成
●BFT: 拜占庭容错算法。优点:可扩展性好,转账费用低;缺点:部分中心化
●Casper: 以太坊下一代共识机制,包括“出块”和“投注”两个活动
●分片技术:为了提高区块链的可扩展行,让每- -笔交易只让-一小部分节点看到和处理。
一、提升处理交易能力➢共识层协议面临的挑战
弱- -致性: PoW、PoS等共识机制存在分叉现象
扩展性差: Visa每秒能处理约45000笔交易,而比特币每秒大约可以处理7笔交易,以太坊每秒可以处理10-20笔交易
二.防止分支1.2016年,Luu等人第一-次提出将分片技术应用到区块链领域。他们提出的ELASTICO链将挖矿网络(安全地)平行地划分为更小的委员会,每个委员会处理- -组互不关联的交易。
2.Eleftherios等人利用分片技术设计了OmniLedger账本。OmniLedger的处理交易能力与Visa相当,同时具备区块链的安全性和去中心化特点
10.激励层Ouroboros方案将安全多方计算(MPC)与PoS结合, 增强了PoS的致性。但要求节点持续
线,无法保证新节点的安全加入。
➢激励层负责经济激励的发行机制和分配机制等,主要在公有链中出现
➢激励层协议包括:
●发行机制: 发行新币的机制,例如比特币通过Coinbase交易发行新币。
●分配机制:基于PoW的区块链系统中,大量的节点会选择加入矿池。矿池通常采用(PPLNS (Pay per last N shares)、PPS (Payper share)和PROP (PROPortionately))等机制分配奖励。.
➢激励层协议面临的挑战
自私挖矿攻击 : 挖到区块后不公布,而是继续挖矿,然后,根据策略择机公布
Nothing at stake攻击: 在PoS机制中,矿工在两个区块链分叉后均进行挖矿。这种攻击增加了区块链分叉和双重支付的概率
扣块攻击: 一些矿池通过委派部分矿工加入到目标矿池贡献无效的工作量,分得目标矿池的奖励
一.应对自私挖矿等攻击
●Eyal提出了-种直接应对自私挖矿的方案:当一个矿工面对相同长度的多个分叉时,转发分叉信息并随机选择-一个分叉。
●Heilman引入 了Freshness Preferred(FP)的概念。FP放置时间戳到区块中,并且选择拥有最近时间戳的区块。这样扣块的矿工就无法发布被扣押的区块。
●Zhang提出 了一种更鲁棒的解决方案。该方案可以自动忽略没有及时公开的块。
二、分配机制
10.合约层Luu等人设计了-种名为”SmartPool”的分布式挖矿协议。
SmartPool协议运行在分布式区块链上,允许矿工利用智能合约进行分布式挖矿,并且可以保证矿工获得低方差的奖励。
负责封装区块链系统的各类脚本代码、算法以及由此生成更为复杂的智能合约
智能合约代码
pragma solidity >-0.4.0 <0.7.0;
contract SimpleStorage {
fuint storedData;
function set(uint x) public{
lstoredData = x;
}
function get() public view returns (uint) {
return storedData;
}
}
主要问题
➢合约层包含脚本、算法以及智能合约,涉及数字资产转移问题,因此面临着诸多挑战。
●代码漏洞:智能合约通常由脚本语言编写,因此难免出现漏洞。主要面临的漏洞有:
交易顺序依赖漏洞:交易顺序的错误执行对合约造成负面影响
时间戳依赖漏洞:合约代码依赖时间戳,时间戳依赖矿工未处理异常漏洞:没有正确检查异常信息
可重入性漏洞:利用fallback函数递归调用合约
●隐私泄漏问题:智能合约普遍是公开的,涉及的用户账户、交易等信息容易暴露在整个网络中。
一、智能合约审计
1.Oyente分析器发现了四种潜在的智能合约漏洞,分析了19366份以坊智能合约,发现8833份合约是易受攻击的。
2.Security是一个全自动化的以太坊智能合约分析器,可以通过给定的属性断定合约行为是否安全
3.Mythril分析器使用符号执行、可满足性模理论和污点分析检测合约漏洞
三.隐私泄露问题
为了保护智能合约的交易隐私,Ahmed等提出了Hawk框架。使用Hawk框架的合约开发者无需了解密码学和隐私保护的知识,编写私有智能合约就能保护交易隐私
11.应用层
1.负责封装区块链的各种应用场景和案例
2.目前搭建在区块链上的应用还偏向于金融、抽奖和游戏。区块链的未来取决于应用层的完善程度3.区块链技术被广泛应用于社交、医疗、物品溯源等领域
主要问题
一、跨链1.跨链困难:面对数量众多的异构区块链应用,亟需跨链技术将它们连接起来,构建互联、互通、互信的区块链应用网络
2.监管困难:区块链去中心化、不可篡改、匿名等特点却增加了监管机制设置的难度
1、Interledger协议,通过一一个或多个第三方连接器账户进行资金托管,形成跨链交易路径,可以保证两个异构区块链之间的代币兑换
2、Cosmos是Tendermint团队推出的-一个支持跨链交互的异构网络,目标是创建一一个区块链互联网,允许大量自主且易开发的区块链互相扩展和交互
二、区块链监管
●
国内:
2016年12月,在国务院印发的《“十三五”国家信息化规划》中,区块链技术首次被列入《国家信息化规划》
2018年8月24日,银保监会、中央网信办、公安部、人民银行、市场监管总局五部门《关于防范以“虚拟货币”“区块链”名义进行非法集资的风险提示》
2019年01月10日,网信办发布了《区块链信息服务管理规定》
●
美国:
美国监管机构将比特币界定为“可转化虚拟货币”,受《银行安全法》监管,对于比特币可能涉及的洗钱问题则由美国金融犯罪执法网络执法监督
●
日本:
2016年5月25日,日本国会通过了《资金结算法》的修正案,正式将包含比特币在内的“虚拟货币”纳入了法律规制的体系内
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)