《区块链 关键服务 技术安全要求》(征求意见稿)_第1页
《区块链 关键服务 技术安全要求》(征求意见稿)_第2页
《区块链 关键服务 技术安全要求》(征求意见稿)_第3页
《区块链 关键服务 技术安全要求》(征求意见稿)_第4页
《区块链 关键服务 技术安全要求》(征求意见稿)_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ICSxx.xx

Lxx.xx

团体标准

T/CIITAxxx-xxxx

区块链关键服务安全技术要求

Blockchain-Criticalservice-Requirementsforsecurity

TechnicalSecurityRequirementsforBlockchainService

(征求意见稿)

本稿完成日期:2021-10-25

XXXX-XX-XX发布XXXX-XX-XX实施

中国信息产业商会发布

T/CASXXXXX

前言

本文件按照GB/T1.1-2020《标准化工作导则第1部分:标准化文件的结构和起草规则》的规

定起草。

请注意本文件的某些内容可能涉及专利,本文件的发布机构不承担识别专利的责任。

本文件由中国信息产业商会提出并归口。

本文件起草单位:西安四叶草信息技术有限公司、深圳零时科技有限公司、西北大学、西安

灵动计算机系统有限公司、北京知道创宇信息技术股份有限公司、成都信息工程大学、中国信息

产业商会信息安全分会。

本文件主要起草人:孙骞、童小敏、邓永凯、张跃、杨波、刘艺琨、张继龙、晏梓桐、李

辉、张臻、李军、翟瑞飞、马坤、郑玮、赵培源、朱利军、彭丽、姚昌林、肖龙、郑庆霄。

本文件为2021年第一次发布。

V

T/CASXXXXX

区块链关键服务安全技术要求

1范围

区块链产业发展迅速,由于区块链服务,尤其是针对关键服务的安全管理和技术保障能力要求缺失,

增大了区块链新应用的安全风险。本文件针对智能合约、钱包、公链、分布式存储等常见的区块链关键

服务,提出其应满足的基本安全要求,各关键服务的增强性要求,以及验证测试要点,规范了区块链关

键服务技术的安全保障,适用于区块链应用运营者构建安全的关键服务业务,也适用于对区块链关键服

务的安全性评估。

2规范性引用文件

下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅所注日期的版本适用于本

文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。

GB/T25069-2010信息安全技术术语

GB/T20270-2006信息安全技术网络基础安全技术要求

GB/T20271-2006信息安全技术信息系统通用安全技术要求

GB/T20273-2006信息安全技术数据库管理系统安全技术要求

DB61/T1283-2019区块链安全测评指标体系

3术语和定义

GB/T25069-2010中界定的以及下列术语和定义适用于本文件。

3.1

关键服务criticalservice

运用区块链技术或软硬件等进行的重要业务,对公共通信和信息服务、能源、交通、水利、金

融、公共服务、电子政务等重要行业和领域的区块链业务具有重要应用价值,一旦遭到破坏、丧失功

能或者数据泄露,可能严重危害国家安全、国计民生、公共利益的关键服务,主要包括智能合约、钱

包、公链、分布式文件存储等区块链服务。

3.2

区块链服务blockchainService

一类基于开放的分布式账本底层架构,通过将区块链底层计算资源、传输资源、存储资源及上层

区块链记账能力、应用开发能力和区块链配套设施能力转化为可编程接口,对外提供封装化模块化的

分布式存储、密码机制、点对点通信、共识机制、智能合约等区块链核心技术能力,可支持基于区块

链技术的网络连接、系统建设管理、应用开发、部署运行的资源环境、运维等能力,或为区块链系统

提供性能、安全、管理等多方面增强能力的技术服务。

3.3

1

T/CASXXXXX

智能合约smartcontractr

是一种旨在以信息化方式传播、验证或执行合同的,以代码形式写入到计算机的一种协议,

其在区块链上体现为可自动执行的计算机程序,当达到参与双方协定条件时,智能合约就会自动

执行。

3.4

钱包wallet

区块链系统中用于存储用户私钥的软件或者硬件。

3.5

公链publicchain

指对全世界所有人都开放的区块链,任何人都可以参与该区块链的读取以及参与其中的共识过

程。

3.6

分布式账本distributedledger

在多个站点、不同地理位置或者多个机构组成的网络里实现共同治理及分享的资产数据库。

3.7

共识算法consensusalgorithm

区块链系统共识层的一种算法,可将链上多个节点达成一致。

3.8

基础设施infrastructure

在区块链服务生命周期的各个阶段中,基础设施可以提供安全可靠的运行环境,如需要网络与通

信设施提供安全稳定的网络环境,需要加密算法与数据存储环境保证数据的隐私性和完整性,需要可

靠的编程环境保证代码的健壮性等。

4缩略语

下列缩略语适用于本文件。

P2P:点对点技术(Point-to-pointTechnology)

IPS:入侵防御系统(IntrusionPreventionSystem)

DDOS:分布式拒绝服务(DistributedDenialofService)

WAF:网站应用级入侵防御系统(WebApplicationFirewall)

EFS:加密文件系统(EncryptedFileSystem)

2

T/CASXXXXX

DAPP:去中心化应用(DecentralizedApplication)

DNS:域名解析服务器(DomainNameResolution)

HTTPS:安全超文本传输协议(HyperTextTransferProtocoloverSecureSocketLayer)

SSL:安全套接字协议(SecureSocketsLayer)

5区块链服务安全框架

本文件基于区块链服务生命周期运行过程,从基本安全要求、服务增强要求和服务安全性测评三个

方面,提出区块链安全服务框架,见图一。

a)基本安全方面,提出了区块建立安全、基础功能安全、网络传输安全、数据安全、共识逻辑安

全、应用协议安全、证书安全、终端链设备安全、浏览器安全和服务运维安全等多种服务安全

要求,涵盖了区块链从上链到运维整个生命周期中的主要安全要素。

b)服务增强方面,归纳了安全基础设施、安全服务功能和安全运行管理三大安全服务要求。

c)服务安全性测评方面,从基础设施安全、协议与机制安全、数据安全和应用安全四个维度,提

出了区块链服务的安全性测评要求。

图一区块链服务技术安全框架

6区块链服务基本安全要求

6.1区块建立安全

a)使用时间戳保证所有节点时间的一致性;

b)使用真随机数等国家标准随机数生成方式,保证随机数的安全性;

c)使用哈希算法保证区块数据的完整性;

d)使用非对称加密来保证数据传输过程中的安全性;

e)使用数字签名来标识数据收发双方的真实身份。

6.2基础功能安全

a)在查询区块链数据内容时,采用身份验证、访问控制等方式保障数据的安全性;

3

T/CASXXXXX

b)在利用区块链进行交易时,保证交易数据安全;

c)在区块链使用期间,将全节点全过程进行存证,保障信息的真实性和可靠性;

d)采用接口确保数据访问和调用时的合法性。

6.3网络传输安全

a)应保证网络设备的业务处理能力达到规定的阈值;

b)网络节点的监控能力应达到及时发现和抵抗网络攻击的要求

c)使用签名机制等安全措施保证传输过程的数据完整性;

d)使用非对称加密算法等安全措施保证数据只可以被授权接收者所获取。

6.4数据安全保护

a)数据存储、访问、传输时,采用适当的加密算法,通过设置相应的端口数据,控制用户的访问

权限,并建立可靠的安全信道以及相应的恢复控制措施;

b)应当采取访问控制等必要措施,确保区块链服务所收集的个人信息或重要数据的安全性,防止

数据泄露、被窃取;

b)区块链的应用终端上的数据在进行存储、访问等相关过程时,对数据和过程进行周期性的备份;

c)在数据备份时,采用可靠的备份介质,并保存在安全环境;

d)在数据出现差错时,应利用备份文件和日志能够进行数据的完整恢复。

6.5数据安全管理

a)制定数据安全合规审计的相关制度,加强数据风险防控。

b)对于数据使用进行日常审计,确保其不被泄露。

c)应具有数据安全监管的功能模块或系统接口,为行业主管监管部门或其他职能部门进行数据安

全监管提供支持。

d)数据采集应明确告知,并仅限于业务需求,避免采集过度采集,采集数据来源可追溯管理。

6.6共识逻辑安全

a)多方参与业务共识,避免信息数据在增加或修改的过程中出现差错;

b)设立审计机构,用于查看区块链运行中的数据和活动,避免信息泄露;

c)实现证书机制,在进行身份验证后,通过第三方的确认,保证用户的合法性。

6.7应用协议安全

a)区块链应用需通过安装DDoS防火墙等方式,防止外界对区块链发动DDoS攻击;

b)区块链应用需通过身份验证,防止有人盗取他人的账户信息;

c)在采用共识机制和智能合约时,需采用加密、安全审计等方式,避免安全漏洞的出现。

6.8证书安全

a)使用节点证书保障节点的安全性;

b)使用用户证书,用于身份验证;

c)使用通信证书,保障区块链的通信安全。

6.9终端链设备安全

a)具备身份识别的功能,防止非法登录;

b)应用程序在用户对数据进行增加、修改等操作时,能查验其合法性;

4

T/CASXXXXX

c)具备安全审计的功能,定期对数据、用户进行审查。

6.10浏览器安全

a)在浏览或查询区块链的信息过程中,浏览器为其提供的功能、模块需保证安全性;

b)采用对外开放接口,进行信息查询、安全配置等,保障网页的安全性。

6.11服务运维安全

a)区块链应用应该在安全的环境下进行,使用加密算法,防止信息泄露;

b)在版本更新的过程中,为防止发生错误,应保留更行时的相关信息;

c)区块链节点扩展时,保障数据的同步更新,并要求新节点满足区块链标准。

7智能合约安全要求

7.1服务概述

智能合约运行在开放的环境中,实现资产管理、多方游戏等各类去中心化应用,需要对服务全生命

周期进行安全管理,包含服务构建、基础设施、安全功能、管理运行、服务提供与服务结束等阶段,如

图二所示。

图二智能合约服务过程

7.2安全基础设施

7.2.1虚拟机安全

虚拟机安全是智能合约安全的重要内容,合约执行功能的正确性、区块链系统的安全性都与之密切

关联。

具体安全要求:

a)能保证合约程序的终止性;

b)能够安全处理异常调用;

5

T/CASXXXXX

c)不包含存在明显安全隐患的特性;

d)不存在虚拟机逃逸漏洞;

e)不存在任意代码执行漏洞;

f)不存在DOS漏洞;

g)预编译合约(内建合约、系统合约)调用与执行安全。

7.2.2区块链节点安全

智能合约通过交易的形式在节点上部署和执行,而节点则会开放接口供外部调用或查询合约,节

点需做好最坏情况下的安全防护,确保主机安全。

具体要求:

a)区块链系统(节点)需要做好安全防护,保障主机安全;

b)区块链系统(节点)需要防止已部署合约代码被任意篡改;

c)提供合约查询和调用的节点需确保自身状态正确;

d)防止合约部署或调用占用节点过多计算资源;

e)防止合约部署或调用引起节点崩溃;

f)能够正常防范针对节点发起的其他形式的攻击。

7.2.3合约编码安全

a)智能合约代码应符合安全编码规范要求,包含代码书写规范、逻辑要求等,应使用广泛应用的

安全技术和工具进行风险分析;

b)合约和函数应模块化,逻辑简洁,不宜使用过时的语法,避免已知的逻辑漏洞和错误,如转账

前余额未校验,未检查返回值的调用等。

c)智能合约应使用已经广泛应用的合约语言,宜采用最新的稳定版本。确保编程语言与编译器的

一致性,合约源码在编译成字节码之后应保证前后逻辑一致性。

7.3安全服务功能

7.3.1形式化验证

智能合约的形式化验证应包含合约制定、形式描述、建模验证、代码生成和一致性测试等一系列过

程测试验证智能合约代码的正确性。

a)应按照需求约定形式规范来设计合约,编写智能合约文本;

b)应根据智能合约模型描述和性能描述要求,对文本进行形式化描述;

c)应选择合适的建模语言和工具对形式化描述进行建模和验证;

d)将验证模型生成符合形式化描述的标准化合约代码;

e)生成代码与标准合约文本进行一致性测试。

7.3.2服务调用安全

接口调用安全

应具备对智能合约的操作权限设置功能,避免越权操作,恶意调用导致的业务错误。

合约间调用

a)合约间相互调用时,应使用“检查-生效-交互”模式;

b)与外部数据交互的智能合约要严格限制其影响范围,不应影响整体区块链系统运行。

6

T/CASXXXXX

预言机调用

a)接口入参应明确参数类型、数量及输入信息,接口返回数据应明确数据类型、数量及输出信息;

b)接口描述文件应为预言机提供的结构化描述语言,接口协议应包含安全传输协议。

7.3.3合约版本安全

a)智能合约的每次修改应为独立版本,并在源代码中通过区块链平台指定方式定义版本号;

b)若在配置文件中定义版本号,该配置文件需要与智能合约代码一同部署。

7.3.4合约升级安全

a)智能合约的升级操作应由客户端发起,以接口调用方式在区块链中提交,达成共识生效;

b)合约升级后区块链中应保留前一版本,区块中记录的交易信息中应明确交易调用的合约版本。

7.3.5安全审计

智能合约的安全审计和评估对象应包括智能合约设计与业务逻辑安全、源代码安全审计、编译环境

审计及相关的应急响应措施等;

a)应对智能合约的业务逻辑、业务流程进行安全性测试和评估;

b)应利用审计工具和人工审阅相结合的方式对代码漏洞进行逐项分析检查;

c)应通过人工观察智能合约编译器的名称和版本,识别有漏洞的版本;

d)应具备应急响应措施,发现漏洞后及时检查和修复合约源代码。

7.4安全运行管理

7.4.1合约部署安全

a)应具备相应机制控制智能合约的部署行为,防止恶意部署智能合约;

b)应提供运行载体,保证智能合约运行环境与外隔离,调用智能合约不能修改区块链系统。

7.4.2合约实例化安全

a)应校验智能合约的实例化实体、通道写入策略和签名;

b)将合约状态作为合约账户的属性、合约内容的哈希值保存在区块链网络;

c)在运行智能合约前,应检查该智能合约和链上智能合约的哈希值的一致性。

7.4.3合约执行安全

a)合约在智能合约运行时环境中的执行结果应具备事务一致性;

b)当智能合约出现错误时,宜提供智能合约挂起或重启恢复功能。

7.4.4合约废止安全

a)调用智能合约废止时,应进行权限访问控制;

b)智能合约废止后,应在区块链网络中保存被终止版本的智能合约代码;

在管理智能合约运行过程中,增强防护要求能有效保障合约免受恶意攻击。

7.4.5合约攻击防范

a)应有相应机制保证系统能对抗由智能合约引起的DDoS攻击,防止其长时间占用资源;

b)应有相应机制保障在系统遭受DDoS攻击、服务受到影响时,智能合约的运行可被干预;

c)应有相应机制防止隔离执行环境中的智能合约访问其执行环境之外的资源。

7

T/CASXXXXX

7.4.6合约安全检测

a)应基于智能合约安全规则库和问题合约模式库实现智能合约的漏洞检测;

b)应提供合约安全监测等手段,确保可及时发现和处置出现的问题,降低安全风险;

c)在受到恶意攻击的时候,应对其所有支配资源进行有效限制防止被恶意调用。

8钱包安全要求

8.1服务概述

钱包服务安全包含钱包基础服务设施安全,钱包功能安全,钱包节点安全,传输安全,存储安全,

加密算法安全,钱包测试与加固等内容,如图三所示。

图三钱包服务安全技术模型

8.2安全基础设施

8.2.1网络传输安全

a)应保证网络设备的业务处理能力达到规定的阈值;

b)网络节点应能应达到及时发现和抵抗网络攻击的功能;

a)钱包应对证书进行校验,防止黑客通过替换证书来实施中间人攻击;

b)软件钱包应能检测是否使用代理,防止黑客通过设置代理劫持钱包网络通信;

c)软件钱包应能检测DNS是否被劫持,防止黑客通过劫持DNS来劫持网络通信;

d)钱包通信信道应采用SSL安全协议,使用HTTPS加密通信;

e)软件钱包应按照实际情况对数据包请求和响应数据包的内容进行加密,防止黑客截取到请求和

响应数据包后获得敏感信息。

8.2.2钱包存储安全

a)钱包生成的私钥必须通过加密算法加密后才能进行存储,防止明文私钥信息被窃取;

b)钱包的本地静态文件不得含有明文的敏感信息,如:用户个人信息,数据加解密密钥,用户持

有的数字货币数量等。

8.2.3设备物理安全

8

T/CASXXXXX

a)应保证基础设施所在物理环境的安全,避免基础设施服务器遭受物理损坏;

b)应保证基础设施线路的安全,避免线路上电磁泄漏导致信息泄漏或者被截获;

c)应保证基础设施存储媒介的安全,应对存储媒介上的数据进行加密,当存储媒介报废或重用时

应完整清除所有数据。

8.2.4运行环境安全

a)基础设施应具备入侵检测能力和入侵防护能力,能够检测并防护针对基础设施进行的网络攻击

行为;

b)基础设施应具备检测、发现和查杀恶意代码的能力;

c)应对基础设施进行漏洞和风险管理,及时发现和处置存在的漏洞和风险。

8.2.5加密算法安全

a)加密算法应使用国际主流的算法和我国商密算法,例如RSA,AES256,SM2,SM4,SM7等;

b)应具有明确的密钥管理方案,确保钱包底层安全机制正常运行;

c)加密算法应能安全的生成随机数;

d)加密算法应具备抵抗破解的能力,定期审核加密算法的安全性。

8.3安全服务功能

8.3.1钱包认证安全

a)钱包认证过程中必须设置钱包解锁密码用于解锁钱包,钱包交易密码用于发起交易,钱包日志

密码用于浏览钱包日志;

b)用户使用钱包必须设置解锁密码,用户必须设置解锁密码才能够使用钱包,防止设备丢失后钱

包信息被窃取;

c)用户使用钱包进行交易签名必须设置支付密码,用户需设置支付密码,防止解锁后解密的私钥

被窃取;

d)用户使用钱包日志功能必须设置日志密码,防止钱包密码丢失后攻击者直接清除钱包操作日

志;

e)密码的强度必须达到要求,用户设置的密码强度必须达到要求,防止弱密码被暴力破解;

f)交易密码需使用多因素认证,用户设置的交易密码需使用多因素认证,例如:指纹、面部识别、

OTP令牌、短信验证码等,防止密码泄露导致私钥丢失;

g)钱包程序退出后必须重新解锁,防止未授权用户使用钱包;

h)认证机制必须有防止暴力破解的措施,即设置验证失败重试次数,超过验证次数则停用一段时

间并记录相关日志。

8.3.2钱包生成安全

a)助记词必须通过随机的方法生成,生成的助记词为12个及以上,防止助记词数量过少被黑客

采用暴力破解的方式进行攻击;

b)助记词展示界面不允许进行截图操作,防止恶意程序进行截图获取助记词;

c)私钥生成完成后需立即清除内存中的数据;防止恶意程序通过读取内存中数据盗取私钥;

d)生成私钥后需让用户重新输入助记词,验证是否记录正确,防止助记词遗忘导致钱包私钥丢失。

8.3.3钱包交易安全

a)钱包发出的所有交易必须进行签名,确保发出交易的不可被抵赖;

9

T/CASXXXXX

b)进行交易签名时必须通过输入支付密码解密私钥;

c)交易签名必须离线生成,签名过程不接触网络;

d)交易签名生成后必须清除内存中解密后的私钥,防止内存中的私钥被窃取而泄漏;

e)进行交易时,能够检测生成的交易数据是否被篡改,防止黑客通过篡改交易数据进行攻击。

8.3.4钱包数据安全

a)钱包使用的数据库必须经过加密处理,防止恶意用户读取数据库中的敏感信息;

b)用户删除数据时,应同时删除备份的数据并对删除后的数据进行覆盖处理,防止删除后的数据

被恢复。

8.3.5钱包日志安全

a)钱包需记录钱包的操作日志,方便用户进行审计钱包操作行为,防止异常操作和未授权的操作;

b)日志必须保存一定的时间,当存储已满或者超过相对应的时间后需提示用户进行相关操作,例

如清除部分日志等;

c)钱包日志必须通过脱敏处理,不得含有机密信息。

8.3.6钱包运行环境安全

a)钱包能够对操作系统进行已知重大漏洞进行检测,使得钱包能运行在安全的操作系统上;

b)钱包能检测系统是否为虚拟机,手机端需有root检测功能;

c)钱包需具有第三方程序劫持检测功能,防止第三方程序劫持钱包盗取相关用户信息;

d)钱包能检测针对软件钱包进行的攻击,防止恶意软件攻击钱包,窃取用户信息;

e)钱包能进行自检完整完整性校验,保证软件的完整性。

8.3.7钱包接口安全

a)钱包节点应能对连接用户进行用户身份认证,防止未授权操作;

b)接口需要对数据进行签名,防止黑客对数据被篡改;

c)接口访问需要添加token认证机制,防止黑客进行重放攻击;

d)节点接口需要对用户连接速率进行限制,防止黑客模拟用户操作进行CC攻击。

8.3.8钱包审计安全

a)钱包节点应能记录用户的连接记录;

b)钱包节点应能记录用户的交易记录;

c)能够对节点发生的所有事件进行审计,包括操作记录和日志等。

d)应能够保存审计记录的过程和结果,便于管理员进行查询

e)节点应能定时清除审计记录防止泄密。

8.4安全运行管理

8.4.1钱包测试与加固

a)钱包必须经过源代码安全测试,防止源代码中的错误写法导致钱包出现安全漏洞;

b)钱包必须经过渗透测试,测试钱包接口,钱包软件本身,钱包节点等;

c)钱包引用的第三方库必须经过安全审计,防止第三方库的漏洞影响钱包自身的安全性;

d)钱包应进行代码加固,防止黑客利用反编译得到源代码从而得到本地加密算法。

10

T/CASXXXXX

8.4.2安全文档

a)钱包必须包含使用说明及帮助文件,解释和说明软件钱包的功能和使用方法;

b)钱包必须包含安全建议,指导用户安全的使用钱包;

c)开发者应对不同版本的程序应提供唯一的版本号;

d)文档应与软件一一对应,软件更新时,文档版本号应与程序版本号同时更新。

8.4.3节点风控安全

钱包节点应能对恶意交易进行识别和阻断,防止黑客盗用用户钱包进行交易。

8.4.4备份与恢复

a)钱包需对数据进行定期备份,防止数据破坏导致用户数据丢失;

b)钱包备份的数据需要经过加密存储,防止备份数据被窃取造成用户数据泄漏。

9公链安全要求

9.1服务概述

公链运行在区块链最底层,需要对其环境进行安全管理,包括基础设施安全、服务功能安全和运行

管理安全,如图四所示。

图四公链安全要求模型

9.2安全基础设施

9.2.1网络安全

a)应根据公有链具体的运行环境,相应的对节点进行加密防护;

b)应使用链路加密保护节点之间链路信息安全;

c)应使用节点加密保护节点之间的传输链路安全;

d)应使用端点加密保护端点之间的数据安全;

e)通过P2P技术来实现分布式网络机制,各个网络节点之间互不影响或影响很小;

11

T/CASXXXXX

9.2.2代码安全

a)根据现有开发环境,选择合适的代码进行编写;

b)可选择沿用主流的公链编程语言,并进行统一规范地改进;

c)可选择其他编程语言为基础,加以其他公链编程模块,遵循相关编程规范。

9.2.3计算安全

a)采用专业的硬件设施,保证公有链的正常运行;

b)应有完好的硬件机器,保证硬件环境的安全性;

c)处理重要隐秘信息,所使用硬件应具有应对物理侧信道攻击的能力,防止被窃取重要信息。

9.2.4存储安全

a)数据应存储在环境安全性较高的数据库中,可使用基于内存加物理存储的架构以及key-value

的存储引擎;

b)要保证数据存储空间的存储能力,防止数据量过大耗尽存储空间而导致数据的丢失;

c)数据存储应一次只允许一个进程访问数据库,防止多个结点读写数据时出现错误的数据;

d)应有审计追踪机制,对数据的更新修改等要有日志记录以便查证,确保系统安全。

9.2.5算法安全

a)加密算法应使用当前主流的加密算法保证算法的有效性及安全性;

b)应根据公有链的使用需求环境来选择不同强度不同类型的加密算法;

c)加密算法应符合国家标准来生成随机数,保证随机性与不可预测性。

9.3安全服务功能

9.3.1身份认证

a)应使用数字签名算法来检验数据,保证数据的完整性、发送者身份的真实性,防止交易中的抵

赖现象;

b)在数据传输之前,应使用加密算法来对重要隐私信息进行保护。

9.3.2共识机制安全

a)容错性

共识机制应考虑故障错误,可以容忍小于50%的故障结点错误,系统可以正常运行;

共识机制应考虑恶意结点产生的错误,包括发生物理设备以及网络设施的错误,一些主流算法可以

容忍小部分拜占庭错误。

b)一致性

共识机制可以按需求实现不同程度的一致性,包括强一致性和弱一致性;所有共识节点都应按照一

定的顺序来进行且不可更改,保证共识的一致性。

c)合法性

所有用户进行的交易都能被正确的结点确认,且所有用户都能读取公链中正确的数据。

d)应具有一定的抗攻击能力,在共识过程中发生异常,应能够在异常恢复后能保证数据的安全恢

复,可以及时正常地参与共识过程。

9.3.3奖励机制

整个公链需有一个明确的奖励制度,需要有严格的审计查账规则。

12

T/CASXXXXX

9.3.4个人隐私安全

a)应对存储个人信息以及网络密钥的服务器采取安全防护措施,防止服务器异常时泄露个人信息;

b)应对用户的隐私和个人数据进行加密保护,确保用户的信息安全,使用对称加密算法防止数据

泄露,如可以使用数字签名、哈希等加密算法防止数据被篡改。

9.4安全运行管理

9.4.1运行监测

a)定期对共识机制的安全性进行监测,对所有参与共识过程的节点信息进行审计,保证共识机制

能正常的运行。

9.4.2备份与恢复

a)对一些重要数据定期进行备份,以防止数据丢失无法恢复;

b)对所备份的数据也要进行加密保护,防止重要信息泄露。

9.4.3安全审计

a)应在节点相互传输之间采用审计追踪机制,建立完善的日志记录,包含网络传输中的各种详细

的信息,防止网络在受到攻击后无法恢复原状态。

10分布式文件存储安全要求

10.1服务概述

分布式文件存储安全从服务的生命周期出发进行安全管理,包括基础设施安全、服务构建安全、服

务提供安全、服务运行安全等要素,如图五所示。

图五分布式文件存储安全要求模型

10.2安全基础设施

10.2.1操作系统安全

a)操作系统在运行过程中需要考虑防止黑客利用利用漏洞来提权,应具备强制访问控制机制,实

现对系统资源的最小化访问控制。

13

T/CASXXXXX

b)应能够根据业务架构进行进程的分拆,只对关键核心进程保留高权限,其他无需高权限的进程

仅保留满足业务需求的最低权限。

10.2.2芯片安全

a)应保证系统本身安全可信,能够抵御侧信道攻击、故障注入攻击和芯片级的后门与硬件木马。

b)具备基于芯片的安全技术,自下而上的保障如固件、操作系统、软件等系统其它部分的安全。

10.2.3网络安全

网络系统的硬件、软件及其系统中的数据需受到保护,不因偶然的或者恶意的原因而遭受到破坏、

更改、泄露,系统连续可靠正常地运行,网络服务不中断。

网络安全必须的基础设施包括:防火墙、IPS、抗DDOS、堡垒机、WAF网络防火墙和网闸。

10.2.4可信执行环境

可信执行环境(TrustedExecutionEnvironment)可以为关键业务提供一个可信赖的安全执行环

境,并且保护相关关键数据的机密性和完整性。可信执行环境的本质是隔离,典型的可信执行环境包括

TrustZone、SGX等。可信隔离的方式包括处理器级隔离、特权模式隔离、软隔离,前两种方式依赖芯

片提供特定支持,后者则是较容易在轻量级设备上部署。可根据不同场景的需要酌情选择。

10.3安全服务功能

10.3.1可信启动

安全的数据服务系统基于硬件可信根,构建信任链,对系统进行完整性的度量,保证系统不被篡改。

启动过程为链式关系,逐级进行签名校验,任何一级校验不过就视为启动出错。启动链完整性可以延伸

到系统启动后的一些关键高权限应用,确保系统运行时具备基础的安全环境。

10.3.2认证和访问控制

认证和访问控制是通用的安全技术。任何对数据的相关操作或者对访问数据的软硬件操作请求都必

须经过认证,以确定其身份的合法性,进而通过访问控制来确定数据访问者有足够的权限。对于不同的

访问控制系统,对数据访问者的身份的关注点可能也不同。比如根据不同的访问控制策略,访问控制系

统可能需要判别对数据的请求是否来自一个合法的用户,是否来自一个合法的设备,或者来自合法的应

用。相应的,一个认证体系可能需要对自然人,对设备,或者对应用进行认证。当前对用户的认证过程

中除了传统的密码之外,往往还需要考虑基于生物特征或者硬件OTP(OneTimePassword)的方案来

增加认证结果可信性,以应对目前越来越猖獗的基于社会工程学和盗取凭据的攻击手段。针对用户对数

据安全访问服务的多样性,结合数据生命周期访问需求和特点,可以采用基于角色访问控制或者基于属

性访问控制等方案来实现数据有效的管控。

10.3.3隐私保护

通过隐私保护算法、有隐私计算、安全计算、零知识证明、可信执行环境、门限签名等技术来保证区

块链隐私安全,保留数据原始特征的同时,防止数据的处理方或接收方因意外或有意的窃取敏感数据,

同时又可以保证相关的业务处理不受影响。

10.4服务构建

10.4.1分布式存储服务必须具有的安全环节

14

T/CASXXXXX

分布式存储服务构建围绕着数据生命周期(传输、存储、处理、交换和销毁),会面临不同层面的

安全风险。因此在服务构建过程中,需充分考虑各个层面的风险预防。

各层面的安全技术保障包括:

数据传输:身份认证、传输通道加密、敏感数据加密、密钥管理等;

数据存储:软硬件数据加密、数据隔离存储、完整性保护/WORM、数据度量、数据容灾备份等;

数据处理:访问控制、用户间隔离、防侧信道攻击、REE/TES/SEE硬件隔离机制、日志审计等;

数据交换:数据脱敏/水印等;

数据销毁:安全擦除等;

数据管理:数据可视化管理,数据安全策略管理等。

10.4.2分布式存储服务安全防护的关键技术

设备系统安全

防止攻击者利用设备软硬件的安全漏洞发起对数据的攻击。数据越敏感,对承载其存储和使用的设

备的系统安全性要求越高。

密码学及隐私保护算法

在数据脱离系统安全机制保护的情况下,对数据安全和隐私提供保护。

认证和访问控制

根据数据等级以及相关业务的配套安全策略,对访问者的身份和权限进行管控。

数据安全管理

根据数据面临的风险,配置策略,构建对攻击快速感知和响应以及事后审计能力。

10.5安全审计

服务构建过程中需有以下安全审计措施:

a)数据传输阶段

数据传输的安全审计需要重点关注传输安全策略的执行情况,对发送方和接收方的设备、接口、通

讯协议以及加密方法等信息进行记录,及时发现传输过程中可能引发的敏感数据泄露事件,通过数据传

输双方的日志信息可以发现异常传输的行为。

b)数据存储阶段

数据存储阶段的安全审计主要是对数据存储和读取的动作以及备份的行为进行审计。通过对数据操

作主体、时间、操作类型的分析,发现数据访问者的可能异常行为并确保数据配套的存储安全策略得到

正确的执行。

c)数据处理阶段

数据处理阶段的安全审计是对数据处理各个业务接口的操作记录进行审计,可以帮助发现数据处理

当中的风险。另外,数据处理阶段的安全审计重点之一是关注脱敏处理过程,对敏感数据脱敏相关操作

的记录进行审计,可以帮助发现机密信息或者个人数据隐私可能泄露的情况。

d)数据交换阶段

数据交换过程的安全审计是数据安全审计过程的重点。在数据共享阶段,需要对高价值的数据的导

入、导出、共享操作进行持续监控,并且要审计和追溯交换数据是否已经脱敏,是否已经加密,或者保

留有水印等。

15

T/CASXXXXX

e)数据销毁阶段

数据销毁阶段的安全审计重点关注对存储介质和数据的访问行为、数据销毁过程进行监控。相关审

计信息应该包括数据删除的操作时间、操作人、销毁的方法、数据类型,操作结果等相关信息。

10.6安全运行管理

10.6.1环境安全

a)数据中心机房只有授权人员才可以进入,其他公司技术和管理人员获得邀请并登记后也可以进

入数据中心。

b)离开数据中心前应确保关闭机柜门、整理好有关设备、离开时必须关闭数据中心大门。

c)进入数据中心操作时应穿防静电鞋套,保持服装整洁,以防带入灰尘。

d)进入数据中心后应关闭大门,以免灰尘飘入数据中心。

e)数据中心内禁止饮食、吸烟,禁止带入不相关的东西。

f)数据中心专用工具及软件应由系统管理员统一注册、并统一保管,外借工具应登记(借出、借

入方均需签名)并应在两工作天内归还,借出者负责跟进收回工具。

g)系统管理员必须定期检查所有设备是否工作正常,包括检查网络是否畅通、散热设备是否运转、

设备是否过热及服务器状态是否良好等等,一般可定一星期检查一次。

10.6.2软件安全

a)所有数据中心设备(包括服务器、路由器、交换机及精密空调等等)均需设置密码进行保护。

b)密码最少八位长度,必须由数据中心管理人员一人或多人完全掌握。核心数据密码不宜写在纸

上或文件中,并要求至少三个月更新一次。

c)控制系统操作人员权限,数据库及应用系统超级管理员权限只能赋予数据中心内部人员,开发

运维商只能赋予普通用户权限,开发运维商如需登录数据库或应用系统时须在数据中心内部人

员的陪同下进行。

d)更新/维护设备或软件时,必须至少提前一天通知受影响用户,紧急情况时应尽量将影响程度

降至最低。

e)按需求安装软件时,必须在其它机器中测试并验证可用后,才可以在服务器中安装。

f)服务器中软件均为正版软件,禁止在服务器中安装没有授权证(License)的软件,不应在服

务器中安装测试版软件。

11服务安全性测评

11.1基础设施安全

11.1.1网络与通信安全

a)应提供网络设备的业务处理能力达到规定的阈值,提供第三方测评报告;

b)应具备网络防范入侵的能力,保障区块抵抗攻击,提供安全防护设施的运行日志;

c)网络节点的监控能力应提供告警日志。

11.1.2跨链通信安全

a)应保持分布式网络里节点之间连接状态的强健性,提供测试报告;

b)应建立统一的跨链通信数据共享所需的数据格式和通信协议,提供测试报告;

c)应抵御跨链间的各种攻击,提供测试报告。

16

T/CASXXXXX

11.1.3运行环境安全

a)应具备防范恶意代码的能力;

b)应具备处理漏洞和防范风险的能力。

11.1.4算法安全

a)应提供我国商密算法应用证明材料,如测试报告等;

b)应具备抵御破解的能力,定期审核加密算法的安全性,提供相应的审计结果文档;

c)应满足参数配置和生成过程、随机数的使用、操作模式等安全性需求,提供测试报告。

d)应具有明确的密钥管理方案,密钥应安全生成、导入、存储、备份,具有密钥找回和撤销机制。

11.2协议与机制安全

11.2.1共识机制安全

a)正常运行的节点的请求应能在规定时间内达成正确、一致的共识,提供测试报告;

b)说明不影响整个系统正常工作的最大故障节点数量,提供测试报告;

d)共识方案的发布应具备清晰的应用场景和规模参数,提供具体参数及测试报告;

e)在理论值范围内的恶意节点发出恶意请求时,系统应能够做出正确的响应,保证一致性,提供测试

报告。

11.2.2激励机制安全

a)应保证激励发行和分配过程的公平性,说明安全机制,提供证明材料;

b)应设置对节点恶意行为的惩罚机制,提供证明材料。

11.2.3智能合约安全

a)智能合约代码应能够进行安全性测试,说明测试用例;

b)智能合约代码审计验证应标准化、规范化,提供审计报告;

c)应建立智能合约安全漏洞信息平台,提供漏洞报告;

d)智能合约应不可被恶意篡改,提供测试报告。

11.2.4账本安全

a)应具备持久化存储账本记录的能力,保证数据的可追溯性,提供日志;

b)应保证各个节点能对正确的账本进行同步,说明同步参数,提供测试报告。

11.3数据安全

11.3.1存储安全要求

a)数据存储应具备完整的安全防护功能,提供测试报告;

b)应具备数据的备份和恢复能力,提供测试报告。

11.3.2分布式数据库安全

a)应具备检测和防御各种攻击行为的能力,提供测试报告;

b)应保证数据交互过程中的高效性和隐私性,提供测试报告;

c)应具有修复损坏数据的能力,提供测试报告。

11.3.3隐私保护要求

17

T/CASXXXXX

a)用户的隐私信息不得以明文传输、存储,提供测试报告;

b)应将数据分为多个隐私等级,提供测试报告;

c)应对系统中关键数据的隐私进行保护。

11.4应用安全

11.4.1身份认证要求

a)应具备用户注册、更改与注销等功能,提供测试报告;

b)认证信息应以密文存储和传输,提供测试报告;

c)应具有账户安全警告、锁定、找回功能,提供测试报告;

d)用户信息应与个人真实身份具有关联性,提供测试报告。

11.4.2访问控制要求

a)应具有对不同级别的用户授予不同权限的功能,提供测试报告;

b)应具有根据需要来更改系统内容的访问等级与用户的访问权限等级的功能,,提供测试报告。

参考文献

[1]龚刚军,杨晟,王慧娟等.综合能源服务区块链的网络架构、交互模型与信用评价[N].中国电机工程学

报,2020-9-20(18)

[2]信息安全技术区块链信息服务安全规范

[3]信息安全技术区块链技术安全框架

[4]信息技术区块链和分布式记账技术参考架构

18

T/CASXXXXX

目次

目次.............................................................................I

前言.............................................................................V

区块链关键服务安全技术要求.........................................................1

1范围...............................................................................1

2规范性引用文件.....................................................................1

3术语和定义.........................................................................1

4缩略语.............................................................................2

5区块链服务安全框架.................................................................3

6区块链服务基本安全要求.............................................................3

6.1区块建立安全...................................................................3

6.2基础功能安全...................................................................3

6.3网络传输安全...................................................................4

6.4数据安全保护...................................................................4

6.5数据安全管理...................................................................4

6.6共识逻辑安全...................................................................4

6.7应用协议安全...................................................................4

6.8证书安全.......................................................................4

6.9终端链设备安全.................................................................4

6.10浏览器安全....................................................................5

6.11服务运维安全..................................................................5

7智能合约安全要求...................................................................5

7.1服务概述........................................................................5

7.2安全基础设施....................................................................5

7.2.1虚拟机安全...................................................................5

7.2.2区块链节点安全...............................................................6

7.2.3合约编码安全.................................................................6

7.3安全服务功能....................................................................6

7.3.1形式化验证...................................................................6

7.3.2服务调用安全................................................................6

接口调用安全...............................................................6

合约间调用.................................................................6

预言机调用.................................................................7

7.3.3合约版本安全.................................................................7

7.3.4合约升级安全.................................................................7

7.3.5安全审计.....................................................................7

I

T/CASXXXXX

7.4安全运行管理....................................................................7

7.4.1合约部署安全.................................................................7

7.4.2合约实例化安全...............................................................7

7.4.3合约执行安全.................................................................7

7.4.4合约废止安全.................................................................7

7.4.5合约攻击防范.................................................................7

7.4.6合约安全检测.................................................................8

8钱包安全要求......................................................................8

8.1服务概述........................................................................8

8.2安全基础设施....................................................................8

8.2.1网络传输安全.................................................................8

8.2.2钱包存储安全.................................................................8

8.2.3设备物理安全..................................................

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论