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

基于等保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.kler.cn/news/316185.html

相关文章:

  • git 介绍+常用命令
  • LeetCode 2374.边积分最高的节点:模拟
  • Git 推送更改到远程仓库
  • 什么是量化交易,纸质股票现在还能交易吗?怎么交易
  • 基于机器学习的注意力缺陷/多动障碍 (ADHD)(python论文+代码)HYPERAKTIV
  • 路径处理 | 关键点提取之Douglas–Peucker算法(附ROS C++/Python实现)
  • 分布式锁的几种方案对比?你了解多少种呢?
  • vscode关闭git的提交提示
  • 【计算机网络篇】数据链路层 功能|组帧|流量控制与可靠传输机制
  • 视频理解大模型最新进展
  • python定时发送邮件的功能如何实现自动化?
  • 使用库函数点亮一个LED灯
  • Python知识点:如何使用Python进行医学图像处理
  • javase笔记4----常用类型
  • 怎么使用Chrome与C++实现高效自动化测试
  • 软件架构的演变与趋势(软件架构演变的阶段、综合案例分析:在线电商平台架构演变、开发补充)
  • lora 微调3B模型微调前有5G 量化f16 后最后导出模型容量变小了只有2G了,为什么?
  • ArcGIS核密度分析(栅格处理范围与掩膜分析)
  • mysql性能优化-延迟写和异步写优化
  • 算法之逻辑斯蒂回归(Logistic regression)
  • 计量校准中测量溯源性是什么?已校准设备要怎么处理?
  • C# 关于“您与该网站的连接不是私密连接...”的问题
  • MacOS安装homebrew,jEnv,多版本JDK
  • 2024年 人工智能领域的一些成果与未来发展趋势 形式丰富多样
  • 数据结构----栈与递归例题讲解
  • 大模型学习方向不知道的,看完这篇学习思路好清晰!!
  • spring boot 项目中集成使用 Elasticsearch
  • VR全景摄影制作中的常见问题及解决方案
  • Vue(15)——组合式API②
  • 关于SSR和SSG