当前位置: 首页 > news >正文

基于等保2.0标准——区块链安全扩展要求探讨

在数字经济时代,区块链作为新技术,能够推进经济社会规则体系重构,在经济金融、司法审判、食品追溯、商业贸易、公共信用等领域已有广泛应用。但在规划、建设、运维区块链的同时,也需要全面评估与防范区块链应用带来的安全隐患。

当前,全社会都面临着数字化转型的挑战,区块链技术正越来越多地应用于经济领域、城市治理、社会民生方面,与实体经济深度融合,推动数字经济模式创新;与民生领域相结合,为百姓提供更便捷、更智能的服务。
随着区块链进入“可编程社会”时代,其应用场景变得越来越丰富。尽管区块链的防篡改、分布式存储、去中心化等特点为其发展提供了大量创新空间,但区块链技术本身仍存在一些内在的安全风险。

技术架构:主流区块链技术架构体系有三层模型(协议层、扩展层和应用层)和六层模型(数据层、网络层、共识层、激励层、合约层和应用层)之说,各种模型在内容上并无太大差异,仅有分类集合的区别。

数据层:数据层作为区块链技术架构的最底层,主要实现两个功能:数据存储、账户和交易的实现与安全。数据存储主要基于Merkle树,节点将一段时间内接收到的交易数据封装到数据区块中,并连接至主区块链上。此外,区块链中还会使用Key-Value数据库来保存一些区块索引等信息,以加快交易速度,常见的有levelDB、LightDB、CouchDB等。账户交易则基于哈希函数、非对称加密技术、数字签名和随机数等多种密码学算法和技术,保证了交易的安全性。

网络层:网络层封装了区块链系统的组网方式、消息传播协议和数据验证机制等要素。区块链中的节点采用P2P网络来组织参与数据验证和记账的节点,网络中的每个节点地位对等且相互连通,每个节点均承担网络路由、区块数据验证、区块数据传播、节点发现等功能。生成区块的节点将区块广播到全网其他所有的节点来加以验证。

共识层和合约层:共识机制是为了保证分布式场景下信息的准确性与一致性而设计。共识机制的设计主要由环境、业务与性能需求决定,常见的共识机制有PoW(Proof of work,工作证明)、PoS(Proof of Stake,股权证明)、DPoS(Delegated Proof of Stake,委任权益证明)、PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错算法)等。区块链的合约层主要封装了区块链系统运行所需的脚本代码、算法以及智能合约。智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议,具有高时效、低成本、高准确、透明化、可追溯等特质。

应用层:区块链系统具有的分布式、高冗余、数据不可篡改、智能合约等特性,使区块链技术的应用不再局限于数字货币领域,而是拓展至金融和社会领域,如贸易金融、供应链溯源、商业积分、电子发票、物流运输等。

风险分析

区块链技术存在一些内在安全风险,结合已知区块链安全事件,得出区块链各个层面主要面临的分析结果。
数据层主要风险包括:算法强度过低、算法的错误实现、使用弱随机数、不可信时间戳、数据泄露、密钥泄露等。具体而言,即算法安全性过低,具有已知安全漏洞,破译成本较低;实现的密码算法存在缺陷,导致数据加密不可靠等;随机数存在弱随机、可猜测等问题,破坏安全机制;在基于时间戳的可靠系统中,未正确使用时间戳或时间戳的生成不可信;链上数据无安全保护,导致存储在区块的数据泄露;密钥管理不当,导致密钥泄露。
网络层主要风险包括:恶意节点攻击、DDoS网络攻击、节点失效、数据传输泄露等。如恶意节点通过仿冒、利用漏洞等方式开展攻击,或联合其他节点发起攻击;遭受DDoS攻击,导致节点资源消耗过大、运行不稳定;由于业务压力过大或运行错误等原因导致节点失效;节点之间的数据同步和通信数据遭截获导致数据传输泄露。
共识和合约层主要风险包括:协议漏洞利用、恶意操纵节点、代码逻辑漏洞、编码缺陷、不受信任的外部调用、不安全的合约运行环境等。其中,协议漏洞利用指针对共识机制漏洞的算力攻击、分叉攻击、女巫攻击等,影响整个区块链系统的一致性;恶意操纵节点,单一节点具有多个身份标识,通过控制系统的大部分节点来削弱冗余备份的作用;共识和智能合约代码业务存在逻辑漏洞,导致运行出现异常;智能合约代码不规范,存在重入、溢出等漏洞;调用不受信任的外部合约,导致区块链出现安全风险和错误;合约运行载体存在安全漏洞,或其运行机制不完善,存在恶意消耗资源、拒绝服务等漏洞,从而影响区块链整体安全。 应用层:应用层面临的主要风险与传统应用类似,包括身份鉴别、访问控制、安全审计等方面的风险。

基本要求

根据《网络安全等级保护基本要求》控制层面、控制点、控制项的框架,给出针对区块链关键技术的安全要求,主要包括以下内容:
数据层:主要涉及安全方案设计、测试验收、个人数据保护、密码管理方面的安全要求,具体包括:采用满足国家商用密码相关规定的密码技术和服务,如国密算法SM2、SM3、SM4等;正确实现非对称加密算法,用于信息加密、数字签名和登录认证等场景;对密码算法进行安全性测试;使用随机数时,应符合《GB/T0005-2012随机性检测规范》相关要求;使用可信时间戳,标识数据产生时间和保证数据不被篡改、伪造;链上仅保存业务必需的个人信息;禁止未授权访问和使用链上保存的个人信息;具备明确的密钥管理方案。
网络层:主要涉及网络架构、集中管控、通信传输方面的安全要求,具体包括:采用可信认证机制对接入网络的节点进行可信验证,保证接入网络的节点真实性;保证网络各部分带宽、节点的业务处理能力满足业务高峰期需求;对节点进行监视,包括CPU、硬盘、内存、网络等资源的使用情况;采用密码技术保证数据传输保密性、完整性和真实性;在通信前基于密码技术对通信双方进行验证或认证;具备检测和防范恶意节点的机制,能够检测出网络中的恶意节点,并进行针对性处理。
共识和合约层:主要涉及安全方案设计、测试验收、自行软件开发方面的安全要求,具体包括:使用设计合理、安全的共识机制,并能够有效防范常见的共识攻击;确保多个节点参与共识确认,防止任何独立节点的恶意操作;在合约发布前,采用规则验证、语义验证、形式化验证等手段,对其安全性进行验证;智能合约应设置正确的操作逻辑,避免逻辑缺陷带来安全问题;制定代码编写安全规范,要求开发人员参照规范编写代码;提供对已知攻击的解决方案,包括竞态、重入、交易顺序依赖等;对与区块链系统外部数据进行交互的智能合约,外部数据的影响范围仅限于智能合约范围内, 不应影响区块链系统的整体运行;严格限制外部合约的调用,防止不受信任的外部合约引发风险和错误;提供有效方案防止智能合约被恶意滥用,如提供运行载体如虚拟机等,保证智能合约运行环境对外隔离。
应用层:主要涉及安全计算环境方面的安全要求,建议参考《安全通用要求》中对安全计算环境的要求。


http://www.mrgr.cn/news/30008.html

相关文章:

  • Selenium异常处理:捕获并处理自动化测试中的常见异常
  • Django 5 学习笔记 2024版
  • Python日志模块全面指南:如何高效记录与管理日志
  • 【最佳实践】优雅地处理 Java 中的空指针
  • 阿里通义千问开源Qwen2.5系列模型:Qwen2-VL-72B媲美GPT-4
  • 【Finetune】(二)、transformers之Prompt-Tuning微调
  • 配网缺陷检测无人机航拍图像数据集(不规范绑扎,螺栓销钉缺失)数据集总共3000张左右,标注为voc格式
  • QT开发:深入详解QtCore模块事件处理,一文学懂QT 事件循环与处理机制
  • Mysql系列-索引优化
  • 鸿萌数据恢复服务: 修复 Windows, Mac, 手机中 “SD 卡无法读取”错误
  • 鹏哥C语言43---函数的嵌套调用和链式访问
  • 73、Python之函数式编程:“一行流”大全,人生苦短,我用Python
  • scanf()函数的介绍及基础用法
  • Ubuntu LLaMA-Factory实战
  • 全新 HLOB 模型:预测限价订单簿中间价格变化方向的利器
  • Qt窗口——QToolBar
  • C++map,set,multiset,multimap详细介绍
  • 基于Jeecgboot3.6.3的flowable流程增加任务节点操作按钮的控制(一)
  • 【pytorch学习笔记,利用Anaconda安装pytorch和paddle深度学习环境+pycharm安装---免额外安装CUDA和cudnn】
  • Spring Boot中的响应与分层解耦架构