区块链安全研究方法
⑴ 区块链如何提高安全性和数据共享
针对现有区块链技术的安全特性和缺点,需要围绕物理、数据、应用系统、加密、风控等方面构建安全体系,整体提升区块链系统的安全性能。
1、物理安全
运行区块链系统的网络和主机应处于受保护的环境,其保护措施根据具体业务的监管要求不同,可采用不限于VPN专网、防火墙、物理隔离等方法,对物理网络和主机进行保护。
2、数据安全
区块链的节点和节点之间的数据交换,原则上不应明文传输,例如可采用非对称加密协商密钥,用对称加密算法进行数据的加密和解密。数据提供方也应严格评估数据的敏感程度、安全级别,决定数据是否发送到区块链,是否进行数据脱敏,并采用严格的访问权限控制措施。
3、应用系统安全
应用系统的安全需要从身份认证、权限体系、交易规则、防欺诈策
略等方面着手,参与应用运行的相关人员、交易节点、交易数据应事前受控、事后可审计。以金融区块链为例,可采用容错能力更强、抗欺诈性和性能更高的共识算法,避免部分节点联合造假。
4、密钥安全
对区块链节点之间的通信数据加密,以及对区块链节点上存储数据加密的密钥,不应明文存在同一个节点上,应通过加密机将私钥妥善保存。在密钥遗失或泄漏时,系统可识别原密钥的相关记录,如帐号控制、通信加密、数据存储加密等,并实施响应措施使原密钥失效。密钥还应进行严格的生命周期管理,不应为永久有效,到达一定的时间周期后需进行更换。
5、风控机制
对系统的网络层、主机操作、应用系统的数据访问、交易频度等维度,应有周密的检测措施,对任何可疑的操作,应进行告警、记录、核查,如发现非法操作,应进行损失评估,在技术和业务层面进行补救,加固安全措施,并追查非法操作的来源,杜绝再次攻击。
文章来源:中国区块链技术和应用发展白皮书
⑵ 区块链安全问题应该怎么解决
区块链项目(尤其是公有链)的一个特点是开源。通过开放源代码,来提高项目的可信性,也使更多的人可以参与进来。但源代码的开放也使得攻击者对于区块链系统的攻击变得更加容易。近两年就发生多起黑客攻击事件,近日就有匿名币Verge(XVG)再次遭到攻击,攻击者锁定了XVG代码中的某个漏洞,该漏洞允许恶意矿工在区块上添加虚假的时间戳,随后快速挖出新块,短短的几个小时内谋取了近价值175万美元的数字货币。虽然随后攻击就被成功制止,然而没人能够保证未来攻击者是否会再次出击。
当然,区块链开发者们也可以采取一些措施
一是使用专业的代码审计服务,
二是了解安全编码规范,防患于未然。
密码算法的安全性
随着量子计算机的发展将会给现在使用的密码体系带来重大的安全威胁。区块链主要依赖椭圆曲线公钥加密算法生成数字签名来安全地交易,目前最常用的ECDSA、RSA、DSA 等在理论上都不能承受量子攻击,将会存在较大的风险,越来越多的研究人员开始关注能够抵抗量子攻击的密码算法。
当然,除了改变算法,还有一个方法可以提升一定的安全性:
参考比特币对于公钥地址的处理方式,降低公钥泄露所带来的潜在的风险。作为用户,尤其是比特币用户,每次交易后的余额都采用新的地址进行存储,确保有比特币资金存储的地址的公钥不外泄。
共识机制的安全性
当前的共识机制有工作量证明(Proof of Work,PoW)、权益证明(Proof of Stake,PoS)、授权权益证明(Delegated Proof of Stake,DPoS)、实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)等。
PoW 面临51%攻击问题。由于PoW 依赖于算力,当攻击者具备算力优势时,找到新的区块的概率将会大于其他节点,这时其具备了撤销已经发生的交易的能力。需要说明的是,即便在这种情况下,攻击者也只能修改自己的交易而不能修改其他用户的交易(攻击者没有其他用户的私钥)。
在PoS 中,攻击者在持有超过51%的Token 量时才能够攻击成功,这相对于PoW 中的51%算力来说,更加困难。
在PBFT 中,恶意节点小于总节点的1/3 时系统是安全的。总的来说,任何共识机制都有其成立的条件,作为攻击者,还需要考虑的是,一旦攻击成功,将会造成该系统的价值归零,这时攻击者除了破坏之外,并没有得到其他有价值的回报。
对于区块链项目的设计者而言,应该了解清楚各个共识机制的优劣,从而选择出合适的共识机制或者根据场景需要,设计新的共识机制。
智能合约的安全性
智能合约具备运行成本低、人为干预风险小等优势,但如果智能合约的设计存在问题,将有可能带来较大的损失。2016 年6 月,以太坊最大众筹项目The DAO 被攻击,黑客获得超过350 万个以太币,后来导致以太坊分叉为ETH 和ETC。
对此提出的措施有两个方面:
一是对智能合约进行安全审计,
二是遵循智能合约安全开发原则。
智能合约的安全开发原则有:对可能的错误有所准备,确保代码能够正确的处理出现的bug 和漏洞;谨慎发布智能合约,做好功能测试与安全测试,充分考虑边界;保持智能合约的简洁;关注区块链威胁情报,并及时检查更新;清楚区块链的特性,如谨慎调用外部合约等。
数字钱包的安全性
数字钱包主要存在三方面的安全隐患:第一,设计缺陷。2014 年底,某签报因一个严重的随机数问题(R 值重复)造成用户丢失数百枚数字资产。第二,数字钱包中包含恶意代码。第三,电脑、手机丢失或损坏导致的丢失资产。
应对措施主要有四个方面:
一是确保私钥的随机性;
二是在软件安装前进行散列值校验,确保数字钱包软件没有被篡改过;
三是使用冷钱包;
四是对私钥进行备份。
⑶ 为什么说区块链很安全
因为每个块包含它自己的哈希值和前一个块的哈希值,更改一个哈希值将使其余的区块链无效。
如果有区块链方面的问题,欢迎私聊咨询~~~~~
⑷ 区块链它是如何安全的
区块链中的安全性来自一些属性。
1.挖掘块需要使用资源。
2.每个块包含之前块的哈希值。
想象一下,如果攻击者想要通过改变5个街区之前的交易来改变链条。如果他们篡改了块,则块的哈希值会发生变化。然后攻击者必须将指针从下一个块更改为更改的块,然后更改下一个块的哈希值...这将一直持续到链的末尾。这意味着块体在链条的后面越远,其变化的阻力就越大。
实际上,攻击者必须模拟整个网络的哈希能力,直到链的前端。然而,当攻击者试图攻击时,链继续向前移动。如果攻击者的哈希值低于链的其余部分(<50%),那么他们将始终追赶并且永远不会产生最长的链。因此,这种类型的区块链可以抵御攻击,其中攻击者的哈希值低于50%。
当攻击者拥有51%的哈希值时,他们可以使用有效事务列表重写网络历史记录。这是因为他们可以比网络的其他部分更快地重新计算任何块排序的哈希值,因此它们最终可以保证更长的链。51%攻击的主要危险是双重花费的可能性。这简单的意思是攻击者可以购买一件物品并表明他们已经在区块链上用任意数量的确认付款。一旦他们收到了该物品,他们就可以对区块链进行重新排序,使其不包括发送交易,从而获得退款。
即使攻击者拥有>50%的哈希值,攻击者也只能造成这么大的伤害。他们不能做诸如将钱从受害者的账户转移到他们的账户或打印更多硬币之类的事情。这是因为所有交易都由帐??户所有者签署,因此即使他们控制整个网络,也无法伪造帐户签名。
⑸ 区块链如何保证使用安全
区块链项目(尤其是公有链)的一个特点是开源。通过开放源代码,来提高项目的可信性,也使更多的人可以参与进来。但源代码的开放也使得攻击者对于区块链系统的攻击变得更加容易。近两年就发生多起黑客攻击事件,近日就有匿名币Verge(XVG)再次遭到攻击,攻击者锁定了XVG代码中的某个漏洞,该漏洞允许恶意矿工在区块上添加虚假的时间戳,随后快速挖出新块,短短的几个小时内谋取了近价值175万美元的数字货币。虽然随后攻击就被成功制止,然而没人能够保证未来攻击者是否会再次出击。
当然,区块链开发者们也可以采取一些措施
一是使用专业的代码审计服务,
二是了解安全编码规范,防患于未然。
密码算法的安全性
随着量子计算机的发展将会给现在使用的密码体系带来重大的安全威胁。区块链主要依赖椭圆曲线公钥加密算法生成数字签名来安全地交易,目前最常用的ECDSA、RSA、DSA 等在理论上都不能承受量子攻击,将会存在较大的风险,越来越多的研究人员开始关注能够抵抗量子攻击的密码算法。
当然,除了改变算法,还有一个方法可以提升一定的安全性:
参考比特币对于公钥地址的处理方式,降低公钥泄露所带来的潜在的风险。作为用户,尤其是比特币用户,每次交易后的余额都采用新的地址进行存储,确保有比特币资金存储的地址的公钥不外泄。
共识机制的安全性
当前的共识机制有工作量证明(Proof of Work,PoW)、权益证明(Proof of Stake,PoS)、授权权益证明(Delegated Proof of Stake,DPoS)、实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)等。
PoW 面临51%攻击问题。由于PoW 依赖于算力,当攻击者具备算力优势时,找到新的区块的概率将会大于其他节点,这时其具备了撤销已经发生的交易的能力。需要说明的是,即便在这种情况下,攻击者也只能修改自己的交易而不能修改其他用户的交易(攻击者没有其他用户的私钥)。
在PoS 中,攻击者在持有超过51%的Token 量时才能够攻击成功,这相对于PoW 中的51%算力来说,更加困难。
在PBFT 中,恶意节点小于总节点的1/3 时系统是安全的。总的来说,任何共识机制都有其成立的条件,作为攻击者,还需要考虑的是,一旦攻击成功,将会造成该系统的价值归零,这时攻击者除了破坏之外,并没有得到其他有价值的回报。
对于区块链项目的设计者而言,应该了解清楚各个共识机制的优劣,从而选择出合适的共识机制或者根据场景需要,设计新的共识机制。
智能合约的安全性
智能合约具备运行成本低、人为干预风险小等优势,但如果智能合约的设计存在问题,将有可能带来较大的损失。2016 年6 月,以太坊最大众筹项目The DAO 被攻击,黑客获得超过350 万个以太币,后来导致以太坊分叉为ETH 和ETC。
对此提出的措施有两个方面:
一是对智能合约进行安全审计,
二是遵循智能合约安全开发原则。
智能合约的安全开发原则有:对可能的错误有所准备,确保代码能够正确的处理出现的bug 和漏洞;谨慎发布智能合约,做好功能测试与安全测试,充分考虑边界;保持智能合约的简洁;关注区块链威胁情报,并及时检查更新;清楚区块链的特性,如谨慎调用外部合约等。
数字钱包的安全性
数字钱包主要存在三方面的安全隐患:第一,设计缺陷。2014 年底,某签报因一个严重的随机数问题(R 值重复)造成用户丢失数百枚数字资产。第二,数字钱包中包含恶意代码。第三,电脑、手机丢失或损坏导致的丢失资产。
应对措施主要有四个方面:
一是确保私钥的随机性;
二是在软件安装前进行散列值校验,确保数字钱包软件没有被篡改过;
三是使用冷钱包;
四是对私钥进行备份。
⑹ 区块链使用安全如何来保证呢
区块链本身解决的就是陌生人之间大规模协作问题,即陌生人在不需要彼此信任的情况下就可以相互协作。那么如何保证陌生人之间的信任来实现彼此的共识机制呢?中心化的系统利用的是可信的第三方背书,比如银行,银行在老百姓看来是可靠的值得信任的机构,老百姓可以信赖银行,由银行解决现实中的纠纷问题。但是,去中心化的区块链是如何保证信任的呢?
实际上,区块链是利用现代密码学的基础原理来确保其安全机制的。密码学和安全领域所涉及的知识体系十分繁杂,我这里只介绍与区块链相关的密码学基础知识,包括Hash算法、加密算法、信息摘要和数字签名、零知识证明、量子密码学等。您可以通过这节课来了解运用密码学技术下的区块链如何保证其机密性、完整性、认证性和不可抵赖性。
基础课程第七课 区块链安全基础知识
一、哈希算法(Hash算法)
哈希函数(Hash),又称为散列函数。哈希函数:Hash(原始信息) = 摘要信息,哈希函数能将任意长度的二进制明文串映射为较短的(一般是固定长度的)二进制串(Hash值)。
一个好的哈希算法具备以下4个特点:
1、 一一对应:同样的明文输入和哈希算法,总能得到相同的摘要信息输出。
2、 输入敏感:明文输入哪怕发生任何最微小的变化,新产生的摘要信息都会发生较大变化,与原来的输出差异巨大。
3、 易于验证:明文输入和哈希算法都是公开的,任何人都可以自行计算,输出的哈希值是否正确。
4、 不可逆:如果只有输出的哈希值,由哈希算法是绝对无法反推出明文的。
5、 冲突避免:很难找到两段内容不同的明文,而它们的Hash值一致(发生碰撞)。
举例说明:
Hash(张三借给李四10万,借期6个月) = 123456789012
账本上记录了123456789012这样一条记录。
可以看出哈希函数有4个作用:
简化信息
很好理解,哈希后的信息变短了。
标识信息
可以使用123456789012来标识原始信息,摘要信息也称为原始信息的id。
隐匿信息
账本是123456789012这样一条记录,原始信息被隐匿。
验证信息
假如李四在还款时欺骗说,张三只借给李四5万,双方可以用哈希取值后与之前记录的哈希值123456789012来验证原始信息
Hash(张三借给李四5万,借期6个月)=987654321098
987654321098与123456789012完全不同,则证明李四说谎了,则成功的保证了信息的不可篡改性。
常见的Hash算法包括MD4、MD5、SHA系列算法,现在主流领域使用的基本都是SHA系列算法。SHA(Secure Hash Algorithm)并非一个算法,而是一组hash算法。最初是SHA-1系列,现在主流应用的是SHA-224、SHA-256、SHA-384、SHA-512算法(通称SHA-2),最近也提出了SHA-3相关算法,如以太坊所使用的KECCAK-256就是属于这种算法。
MD5是一个非常经典的Hash算法,不过可惜的是它和SHA-1算法都已经被破解,被业内认为其安全性不足以应用于商业场景,一般推荐至少是SHA2-256或者更安全的算法。
哈希算法在区块链中得到广泛使用,例如区块中,后一个区块均会包含前一个区块的哈希值,并且以后一个区块的内容+前一个区块的哈希值共同计算后一个区块的哈希值,保证了链的连续性和不可篡改性。
二、加解密算法
加解密算法是密码学的核心技术,从设计理念上可以分为两大基础类型:对称加密算法与非对称加密算法。根据加解密过程中所使用的密钥是否相同来加以区分,两种模式适用于不同的需求,恰好形成互补关系,有时也可以组合使用,形成混合加密机制。
对称加密算法(symmetric cryptography,又称公共密钥加密,common-key cryptography),加解密的密钥都是相同的,其优势是计算效率高,加密强度高;其缺点是需要提前共享密钥,容易泄露丢失密钥。常见的算法有DES、3DES、AES等。
非对称加密算法(asymmetric cryptography,又称公钥加密,public-key cryptography),与加解密的密钥是不同的,其优势是无需提前共享密钥;其缺点在于计算效率低,只能加密篇幅较短的内容。常见的算法有RSA、SM2、ElGamal和椭圆曲线系列算法等。 对称加密算法,适用于大量数据的加解密过程;不能用于签名场景:并且往往需要提前分发好密钥。非对称加密算法一般适用于签名场景或密钥协商,但是不适于大量数据的加解密。
三、信息摘要和数字签名
顾名思义,信息摘要是对信息内容进行Hash运算,获取唯一的摘要值来替代原始完整的信息内容。信息摘要是Hash算法最重要的一个用途。利用Hash函数的抗碰撞性特点,信息摘要可以解决内容未被篡改过的问题。
数字签名与在纸质合同上签名确认合同内容和证明身份类似,数字签名基于非对称加密,既可以用于证明某数字内容的完整性,同时又可以确认来源(或不可抵赖)。
我们对数字签名有两个特性要求,使其与我们对手写签名的预期一致。第一,只有你自己可以制作本人的签名,但是任何看到它的人都可以验证其有效性;第二,我们希望签名只与某一特定文件有关,而不支持其他文件。这些都可以通过我们上面的非对称加密算法来实现数字签名。
在实践中,我们一般都是对信息的哈希值进行签名,而不是对信息本身进行签名,这是由非对称加密算法的效率所决定的。相对应于区块链中,则是对哈希指针进行签名,如果用这种方式,前面的是整个结构,而非仅仅哈希指针本身。
四 、零知识证明(Zero Knowledge proof)
零知识证明是指证明者在不向验证者提供任何额外信息的前提下,使验证者相信某个论断是正确的。
零知识证明一般满足三个条件:
1、 完整性(Complteness):真实的证明可以让验证者成功验证;
2、 可靠性(Soundness):虚假的证明无法让验证者通过验证;
3、 零知识(Zero-Knowledge):如果得到证明,无法从证明过程中获知证明信息之外的任何信息。
五、量子密码学(Quantum cryptography)
随着量子计算和量子通信的研究受到越来越多的关注,未来量子密码学将对密码学信息安全产生巨大冲击。
量子计算的核心原理就是利用量子比特可以同时处于多个相干叠加态,理论上可以通过少量量子比特来表达大量信息,同时进行处理,大大提高计算速度。
这样的话,目前的大量加密算法,从理论上来说都是不可靠的,是可被破解的,那么使得加密算法不得不升级换代,否则就会被量子计算所攻破。
众所周知,量子计算现在还仅停留在理论阶段,距离大规模商用还有较远的距离。不过新一代的加密算法,都要考虑到这种情况存在的可能性。
⑺ 区块链隐私关键技术研究
在数字化浪潮推动下,数据领域的技术创新、场景应用与管理服务日益成为各个行业领域数字化转型发展的重要驱动力。同时,“数据流通”与“数据安全”间的矛盾也日益升级,成为影响数字化发展的制约因素。
安全VS发展
“安全”与“发展”,一直是数据管理领域的两大重要主题。二者既矛盾对立,相互制约;又在不断的技术创新下追寻均衡,最大限度实现数据的价值。
矛盾制约
“数据”作为一种特殊的市场资源与生产要素,其自身特点决定只有在更大范围的社会共享中才能发挥其真正的资源价值。在人工智能、大数据、云计算等技术快速应用推广的当下,不断提高的算力+不断优化的算法,将通过不同维度、不同领域的大数据发现事物间蕴藏的规律,并运用规律解释过去、预测未来。
智能算法持续优化、提升的重要前提即是通过海量、多元的大数据资源进行数据训练,客观上有着较强的数据共享使用需求,这与具有“信息数据共享和透明”特点的区块链技术不谋而合,相辅相成,因此近年来区块链技术发展应用迅速。但需要注意的是,数据的共享交换虽然提升了数据自身价值,但也不可避免的出现侵犯数据所有者“数据隐私”的安全问题,数据共享挖掘面临合规监管,数据技术发展应用陷入瓶颈。
均衡发展
“在矛盾中寻找平衡”,是目前数据领域技术创新应用的重要课题。客观市场环境的快速变化也为“数据流通”与“数据安全”的均衡发展形成强大驱动力。
2019年末,一场突如其来的新型冠状病毒疫情在世界范围内蔓延肆虐,大量民众不幸罹难,各国经济发展更是遭受沉重打击。在客观疫情防控形势下,“数字化转型发展”成为各国恢复经济秩序和建立全新国际竞争优势的重要战略措施。在这样的背景下,数据作为全新的生产要素,随着功能价值不断提升,技术应用不断拓展,数据的“流通使用”和“安全保障”也日益受到行业发展与政府监管的重视。
数据技术创新应用,一方面对数据安全保障提出了全新挑战,另一方面也以技术创新形式给出了相应的答案——“区块链+隐私计算”。
区块链+隐私计算
数据时代的信任机制与隐私保护
区块链技术是一种通过去中心化、高信任的方式集体维护一个可靠数据库的技术方案。由于具有“去中心化”、“分布式数据存储”、“可追溯性”、“防篡改性”、“公开透明”等优势特点,区块链技术能够有效解决数据领域的数据真实性、安全性与开放性问题,通过建立可信任的数据管理环境,防范和避免各类数据造假、篡改、遗失等数据管理问题,促进数据的高效共享与应用。
一如上文所述,区块链技术具有“信息数据共享和透明”的特点,但无论从市场商业竞争角度还是个人信息安全角度来看,都没有人希望自己的数据完全公开、透明。因此,隐私保护合规成为数据管理领域的一条重要“红线”,一方面保护着数据所有者的隐私安全,另一方面也影响着数据流通共享的效率与发展。
那么有没有一种技术既可以保证信息数据的高效流通共享,却又不会越过隐私保护合规红线?
如果说“区块链”技术建立了数据时代的信任机制,那么“隐私计算”则在数据共享洪流中为数据所有者建立了安全的隐私保护防线。
“隐私计算”,即面向隐私信息全生命周期保护的计算理论和方法,是隐私信息的所有权、管理权和使用权分离时隐私度量、隐私泄漏代价、隐私保护与隐私分析复杂性的可计算模型与公理化系统。简单来说,隐私计算即是从数据的产生、收集、保存、分析、利用、销毁等环节中对隐私进行保护的技术方法。
同区块链技术一样,隐私计算并不特指某一门技术,而是一种融合了密码学、数据科学、经济学、人工智能、计算机硬件、软件工程等多学科的综合技术应用。隐私计算包括一系列信息技术,如业界较早提出的安全多方计算(MPC)技术、以硬件技术隔离保护为主要特点的可信执行环境(TEE)技术、基于密码学和分布式计算实现多方协作机器学习的联邦学习(FL)技术,以及如同态加密、零知识证明、差分隐私等辅助性技术,都属于隐私计算范畴。
安全多方计算(MPC),是一种在参与方不共享各自数据且没有可信第三方的情况下安全地计算约定函数的技术和系统。通过安全的算法和协议,参与方将明文形式的数据加密后或转化后再提供给其他方,任一参与方都无法接触到其他方的明文形式的数据,从而保证各方数据的安全。
可信执行环境(TEE),是指CPU的一个安全区域,它和操作系统独立开来,且不受操作系统的影响。在这个安全区域里保存和计算的数据不受操作系统的影响,是保密且不可篡改的。
联邦学习(FL),是指在多方在不共享本地数据的前提下,进行多方协同训练的机器学习方式。联邦学习技术支持数据不出域,而是让算法模型进行移动,通过数据训练进而优化算法模型。
隐私计算技术的目的在于让数据在流通过程中实现“可用不可见”,即只输出数据结果而不输出数据本身。这一方面保证了数据所有者的数据所有权不受侵犯,满足数据流通的合规性;另一方面在隐私保护技术加持下,各方主体拥有的信息数据能够高效流通使用,不断扩大数据价值,赋能各个行业领域数据应用。
举例如在医疗数据领域,各类医疗数据的隐私性要求较高、数据量较大,通常只保存在本地机构的信息系统中,很难实现高效的医疗数据流通、共享与使用,无法为医疗领域的各类病理研究、医疗诊断与技术创新形成数据支持,不利于创新医疗技术研发与应用。
但如果能通过隐私计算技术支持,在保证数据“可用不可见”的前提下,实现不同区域、不同医疗机构医疗数据的高效流通使用,持续优化医疗行业的各类算法模型,将为实现医疗行业的精准医疗、远程医疗、智能医疗等医疗技术服务创新形成强力数据支持。
数字化发展浪潮之下,“数据”作为一种全新的重要市场资源与生产要素,其快速发展与管理应用日益受到国家的重视,并不断赋能各个行业领域发展。同时,数据领域存在的隐私安全问题也令数据管理应用陷入发展困境。可以预见,区块链技术和隐私计算技术的结合,将是数据管理领域一次重要的尝试探索,对数据领域发展产生重要影响。
⑻ 如何关注区块链的安全问题
安全隐患包含三点:
私钥丢失;
错误的实现;
协议被攻击。
现阶段也只是能预防,完全解决是不现实的,毕竟区块链还只是一个新生的婴儿。比特币、以太坊被攻击是常有的事情,最近比较活的区块链内容发布平台DECENT也会遇到同样的技术问题。