区块链密码学:核心技术解析与安全评估要点
区块链密码检测规范有哪些(区块链密码概念)
什么是区块链密码算法?区块链作为一种新兴技术,作为分布式数据存储技术、共识机制、密码学等传统技术在互联网时代的新应用,受到了越来越广泛的关注。
随着各种区块链研究联盟的成立,相关研究正在获得越来越多的资金和人力支持。
哈希算法、零知识证明、环签名等区块链中使用的密码算法:
哈希算法
哈希算法是区块链的基础技术。
其功能是:一组任意长度(有限)的数据被映射到一组定义长度的数据流。
如果这个函数同时满足:
(1)计算任何输入数据集的哈希值都是非常容易的。
(2)假设我们想要找到两个值。
使用相同的哈希值数据计算不同的哈希值在计算上是困难的。
除非另有说明,满足上述两个属性的哈希函数也称为密码哈希函数。
对于哈希函数来说,找到这样的值称为碰撞。
目前常见的哈希函数包括MD5、SHA1、SHA2和SHA3。
比特币使用SHA256,大多数区块链系统都使用SHA256算法。
因此,我们首先介绍SHA256。
1.SHA256算法步骤
第1步:添加填充位。
消息被填充,使得消息长度与448mod512匹配(长度=448mod512)。
填充位数范围为1至512。
嵌入位串的最高有效位为1,其余位为0。
。
第2步:添加长度值。
将用64位表示的初始消息的位长度(填充前)添加到步骤1的结果中(低字节在前)。
STEP3:初始化缓存。
256位缓存用于存储哈希函数的中间结果和最终结果。
第4步:处理512位(16字)消息包序列。
该算法使用6个基本逻辑函数,由64个迭代步骤组成。
每个步骤都采用256位缓存值作为输入并更新缓存的内容。
每一步都使用32位常数值Kt和32位Wt。
其中Wt是分组后的数据包,t=1,2,...,16。
STEP5:处理完所有512位数据包后,SHA256算法最后一个数据包产生的输出是256位消息。
哈希函数作为加密和签名系统的核心算法,其安全性关系到整个区块链系统的底层安全。
因此,有必要关注哈希函数的研究现状。
2.哈希字符的研究现状
2004年,中国密码学家王小云在国际加密货币论坛(CRYPTO)上提出了MD5。
我们演示了算法冲突并给出了第一个例子。
哈希函数冲突nsMD4、MD5、HAVAL-128和RIPEMD、CRYPTO2004、HowtoBreakMD5和其他哈希函数、EuroCrypt2005的斜坡会话。
这种攻击非常复杂,在普通计算机上只需要几秒钟。
2005年,王晓云教授及其同事提出了SHA-1算法的碰撞算法,但计算复杂度为2的63次方,在实际情况下很难实现。
2017年2月23日,经过两年的协作研究和无数小时的计算机时间,世界上第一个公开的SHA-1哈希冲突实例在Google安全博客上发布。
他们的研究网站被破坏了具有不同但相同SHA-1消息摘要的PDF文件。
这意味着,在理论研究早已警告SHA-1算法的风险之后,现实世界中SHA-1算法的攻击案例也浮出水面。
SHA-1算法终于到达了它的生命周期。
2007年,NIST正式宣布举办SHA-3竞赛,在全球范围内征集下一代加密哈希算法。
新的哈希算法称为SHA-3,作为新的安全哈希标准,增强了现有的FIPS180-2标准。
算法提交于2008年10月截止。
NIST于2009年和2010年举办了两次会议,经过两轮评审选出进入决赛的算法,并于2012年公布获奖算法。
整个招聘流程仿照高级加密标准AES招聘流程。
2012年10月2日,Kecck被选为NIST竞赛的获胜者,该竞赛后来成为SHA-3。
Kecck算法是2008年10月提交的SHA-3候选算法。
Keccak使用创新的“海绵引擎”对消息文本进行哈希处理。
它设计简单,便于硬件实现。
Keccak已经可以抵抗最小复杂度为2n的攻击(N是哈希值的大小)。
有很大的安全边际。
到目前为止,第三方密码分析尚未显示出Keccak存在任何重大弱点。
KangarooTwelve算法是最近提出的Keccak的变体,其计算轮数减少到12,但功能与原始算法相比没有调整。
零知识证明
在密码学中,零知识证明(ZKP)是向另一方证明一方在没有A的情况下知道特定消息x。
这就是方法用来证明这一点。
发现与x相关的其他内容的策略。
前者称为证明者,后者称为验证者。
想象一个场景,系统中的每个用户都有所有文件的备份,使用自己的私钥对其进行加密,并在系统中公开。
在某个时刻,用户Alice希望将她的一些文件提供给用户Bob。
出现的问题是如何让鲍勃相信她发送了正确的文件。
一个简单的解决方案是爱丽丝将她的私钥发送给鲍勃。
这是Alice不想选择的策略,因为Bob可以轻松获得Alice文件的所有内容。
零知识证明就是可以用来解决上述问题的一种方案。
零知识证明主要基于复杂性理论,并在密码学领域有广泛的理论扩展。
复杂性理论主要讨论哪些语言可以用于零知识证明应用,而密码学主要讨论构建不同类型的零知识证明方案并使其变得良好且足够高效,我们将讨论如何实现它。
环签名群签名
1.群签名
群签名方案允许群组成员匿名代表整个消息。
。
与其他数字签名一样,组签名是可公开验证的,并且可以仅使用单个组公钥进行验证。
群签名的一般流程:
(1)初始化。
群组管理者建立群组资源并生成对应的群组公钥(GroupPublicKey)和群组私钥(GroupPrivateKey)。
组公钥适用于所有用户。
全系统公开(群组成员、验证人等)
(2)成员加入当用户加入群组时,群组管理员向群组成员颁发群组证书(GroupCertificate)。
(3)签名。
群组成员使用获取的群组证书对文件进行签名并生成群组签名。
(4)验证同时,验证者只能验证使用组公钥获得的组签名的有效性,而无法确定组内的授权签名者。
(五)披露。
群组管理员可以使用群组私钥来跟踪群组用户生成的群组签名并揭示签名者的身份。
2.环签名
2001年,三位密码学家Rivest、Shamir和Tauman首先提出了环签名。
这是一种简化的群签名,只有环成员,没有管理员,不需要环成员之间的配合。
在环签名方案中,签名者首先选择包含该签名者的临时签名者集。
签名者可以使用自己的私钥和签名集中其他人的公钥独立生成签名,无需其他人的帮助。
签名者组的成员可能不知道他们被包括在内。
环签名方案由以下部分组成:
(1)密钥生成。
为环中的每个成员生成密钥对(公钥PKi,私钥SKi)。
(2)签名。
签名者使用自己的私钥和任意n个环成员(包括他自己)的公钥来生成消息m的签名a。
(3)签名验证。
验证者根据环签名和消息m,验证签名是否由环成员签名,如果有效则接受,否则丢弃。
环签名满足的性质:
(1)无条件匿名性:即使在获得环成员的私钥后,攻击者也无法确定是否生成了签名。
概率不超过1/n。
(2)准确性:签名必须经过其他人的验证。
(3)不可伪造性:即使外部攻击者获得了有效的环签名,环中的其他成员也无法伪造消息m的签名。
3.环签名与群签名的比较
(1)匿名性。
他们都是具有代表性的个体群体。
在匿名系统中,为了实现签名者匿名,验证者可以验证签名是否由组中的成员签名,但无法知道是哪个成员。
(2)可追溯性。
对于群签名,群管理员的存在可确保签名的可追溯性。
组管理员可以撤销签名以揭示真正的签名者。
环签名本身不能透露签名者,除非签名者自己公开或向签名添加附加信息。
人们提出了一种可验证的环签名方案,其中真实签名者希望知道自己的身份,在这种情况下,真实签名者不会泄露他拥有的秘密信息,通过泄露你的身份,你可以确认你的身份。
(三)管理体系。
群签名由群管理员管理,环签名不需要管理。
签名者只需选择一组候选签名者,获取他们的公钥,然后发布该组即可。
链桥教育在线学说创新区块链技术工作站是唯一的“区块链技术”。
“中国教育专业”试点工作站。
专业基础立足于为学生提供多元化成长路径,推动专业学位研产学研一体化教育模式改革,构建应用型、复合型人才培养体系。
区块链加密技术包括
加密技术是区块链技术的核心。
区块链密码学包括数字签名算法和哈希算法。
数字签名算法
数字签名算法是数字签名标准的子集,代表仅用于数字签名的特定公钥算法。
密钥根据SHA-1生成的消息哈希运行。
为了验证签名,需要重新计算消息的哈希值,使用公钥对签名进行解密,然后比较结果。
缩写为DSA。
?
数字签名是电子签名的一种特殊形式。
到目前为止,欧盟、美国等至少20个国家已经通过了允许电子签名的法律,而我国的电子签名法是在8月28日的第十届全国人大常委会第十一次会议上公布的。
它被采纳于2004年。
ISO7498-2标准将数字签名定义为:“添加到数据单元的一些数据,或者对数据单元进行的加密转换。
这种数据和转换允许数据单元的接收者验证数据单元的来源和数据。
数字签名机制提供了解决伪造、抵赖、冒充、篡改等问题的身份识别方法。
它利用数据加密技术和数据变换技术,使双方发送和接收的数据满足两个条件:发件人身份。
发送者以后不能否认他们发送了数据的事实。
数字签名是密码学理论的一个重要领域。
既然提出用电子文档签名来代替传统纸质文档上的手写签名,那么电子文档必须具备五个特点。
(1)签名可信。
(2)签名不可伪造。
(3)签名不能重复使用。
(4)签名文件是不可变的。
(5)签名是不可否认的。
哈希算法
哈希是通过哈希算法将任意长度的输入(也称为预映射或原像)转换为固定长度输出的过程。
做。
输出是一个哈希值。
这种转换通常是一种压缩映射,其中哈希值的空间远小于输入的空间。
不同的输入可以散列到相同的输出,但输入值不能外推回来。
简单来说,就是将任意长度的消息压缩成固定长度的消息摘要的函数。
哈希算法是一种单向加密系统。
即只有加密过程,没有解密过程,并且是明文到密文的不可逆映射。
同时,哈希函数可以修改任意长度的输入以获得固定长度的输出。
哈希函数的单向性质和输出数据的固定长度允许您生成消息或数据。
以比特币区块链为例。
该块在工作负载认证和密钥编码过程中多次使用二级哈希。
这种方法的优点,如SHA(SHA256(k))和RIPEMD160(SHA256(K)),是增加了工作量,或者在协议不清楚的情况下更难破解。
比特币区块链上使用和表示了两种主要的哈希函数:
1.SHA-256,主要用于完成PoW(工作量证明)计算。
2.RIPEMD160,主要用于生成比特币地址。
从比特币公钥生成地址的过程,如下图1所示。
随着上海数字化转型的加速,区块链技术已深入应用于政务、金融、物流、司法等多个领域。
应用过程中的安全监控尤为重要,它不仅催生了新的业务形态和模式,也带来了很多安全问题。
安全评估作为重要的监管措施之一,已经成为众多区块链研发厂商和应用公司关注的焦点。
在这篇文章中,我们将讨论大家关心的区块链合规安全评估相关的一些研究和实践。
1.区块链技术的评估
区块链技术的评估一般分为功能测试、性能测试和安全评估。
1.功能测试
功能测试是对底层区块链系统支持的底层区块链系统进行的基础测试,目的是衡量底层区块链系统的功能。
1.这是功能测试。
区块链功能测试主要依据GB/T25000.10-2016《系统和软件质量要求与评估(SQuaRE)第10部分:系统和软件质量模型》,GB/T25000基于.51-2016系统和软件质量要求和评估(SQuaRE)第51部分:即用型软件产品(RUSP)。
《质量要求和测试细节》等标准来验证被测软件是否满足相关测试标准的要求。
测试区块链功能具体包括网络方法和通信、数据存储和传输、密码模块可用性、共识功能和容错、智能合约功能以及系统管理稳定性等模块。
、隐私保护和互操作性。
功能、账户和交易类型、私钥管理解决方案、审计管理。
2.性能测试
性能测试是为了描述和评估测试对象的性能相关特征而实施和执行的一种测试。
验收评价用于验证既定的技术指标是否完成。
区块链性能测试包括高并发压力测试场景、峰值影响测试场景、长期稳定运行测试场景、查询测试场景等模块。
3.安全评估
区块链安全评估主要涉及账户数据、加密机制、共识机制、智能合约等方面的安全测试和评估,我们会具体实施。
区块链安全评估的主要依据是《DB31/T1331-2021区块链技术安全通用要求》。
根据您的实际测试需求,还可以参考《JR/T0193-2020区块链技术金融应用评估规则》、《JR/T0184-2020金融分布式账本技术安全规范》等标准。
区块链安全评估具体包括存储、网络、计算、共识机制、加密机制、计时机制、隐私保护、网络机制、智能合约、服务和访问等。
2、区块链合规安全评估通常包括“区块链信息服务安全评估”、“网络安全等级保护评估”和“专项资金项目验收评估”。
3类。
1.区块链信息服务的安全评估
区块链信息服务的安全评估主要是基于“区块链信息服务”。
请参阅《管理规定》(以下简称《规定》)和区块链国家标准《区块链信息服务安全规范(征求意见稿)》。
《条款》明确了区块链信息服务提供者的信息安全管理责任,规范和促进区块链技术及相关服务的健康发展,降低区块链信息服务的安全风险。
并作出以下规定:区块链信息服务的使用和管理提供了有效的法律依据。
《条例》第九条规定,区块链信息服务提供者开发、发布新产品、新应用、新功能的,必须依照有关法律法规的规定,报国家、省、自治区、直辖市互联网信息局进行安全评估。
规定必须要做。
。
《区块链信息》《服务安全规范》是中国科学院信息技术研究所牵头的项目,浙江大学、中国电子技术标准化研究院、上海信息化牵头的项目安全评估认证中心等,共同参与服务安全规范的建设和评估。
区块链信息服务安全与能力国家标准。
《区块链信息服务安全规范》规定了联盟链和私有链的区块链信息服务提供商必须满足的安全要求(安全技术要求、安全保障要求、相应的测试和评估方法等),适合作为指南。
对于区块链链。
信息服务安全评估和区块链信息服务安全建设本标准提出的安全技术要求和保障要求框架如下:
图1区块链信息服务安全需求模型
2.网络安全等级保护评估
网络安全等级保护评估的主要依据包括《GB/T22239》。
-2019网络安全等级保护基本要求》和《GB/T28448-2019网络安全等级保护评估要求》。
利用区块链这一新兴信息技术构建的应用系统也受到等级保护,需要按照规定进行等级保护评估。
等级保护安全评估的一般要求适用于区块链基础设施部分的评估,但目前没有区块链特定的安全要求。
因此,对于区块链安全评估的强化要求需要进一步调查和研究。
三、专项资金项目验收评估
根据市经济和信息化委员会有关规定,信息化专项资金项目验收后出具安全评估报告。
项目有需要。
区块链应用项目验收评估将按照上海最新区块链地方标准《DB31/T1331-2021区块链技术安全通用要求》进行。
3.区块链安全评估的思考与实践
1.标准制定
上海评估中心积极参与区块链标准的制定。
在其中。
由上海评测中心牵头,苏州同济区块链研究院有限公司、上海奇银信息技术有限公司、上海墨恒网络技术有限公司、电信科学技术第一研究院等部门参与。
制定区块链地方标准《DB31/T1331-2021区块链技术安全通用要求》,将于2021年12月正式发布,今年3月1日正式实施。
上海评估中心参与制定的区块链国家标准《区块链信息服务安全规范》目前正处于征求意见阶段。
同时,评估中心还将参与由人力资源和社会保障部主办、同济大学牵头的区块链工程技术人员初、中级教材的编写工作。
参见“链系统测试”章节。
2.项目实践
近年来,上海评估中心依据相关技术标准开展了大量的区块链安全评估工作,如等级保护评估、信息服务安全、等等我们一直在练习。
评估、项目安全评估等。
评估实践中发现的主要安全问题如下。
表1区块链主要是安全问题
序号
评估项目
问题描述
1
共识算法
共识算法采用Kafka或Raft共识,不支持拜占庭容错,不支持恶意节点行为。
。
2
链上数据
链上敏感信息未加密,链上所有数据均可通过查询接口或区块链访问浏览器。
3
密码算法
密码算法使用的随机数不满足GB/T32915-2016的随机性要求。
4
节点防护
对于联盟链来说,无法在节点服务器所在区域设置安全防护措施。
5
通信传输
节点之间、区块链与上层应用之间通信时建立安全的信息传输通道。
6
共识算法
系统部署的节点数量较少,共识算法所需的容错节点数量不多甚至还没有达到。
7
智能合约
智能合约的运行不受监控,无法发现和解决智能合约运行过程中出现的问题不及时。
8
服务与访问
上层应用可能存在未授权或未授权访问等访问控制缺陷,导致业务中断和数据丢失,这将导致至泄漏。
9
智能合约
智能合约的编码不规范,不提供智能合约出错时冻结智能合约的能力。
10
智能合约
智能合约执行境并未与外界隔离,因此存在受到外部攻击的风险。
3.工具的应用
评估中心在整理总结《DB31/T1331-2021区块链技术安全通用要求》时,已经考虑到了您的连接需求。
评估。
DB31/T1331的“基础设施层”安全与“协议层安全”防护等级的相关要求一致,如安全物理环境、安全通信网络、安全区域边界、安全计算环境、安全管理中心等。
我们正在这样做。
“扩展层安全”更体现了区块链独特的安全防护需求。
评估中心根据DB31/T1331相关安全要求,组织创建了扩展的区块链评估要求。
相关结果适用于网络安全等级防护评估工具——评估专家。
届时,评级机构使用“评估专家”软件将能够准确、规范、高效地进行区块链安全评估,发现区块链安全风险,并提交相应的整改建议。
这是公众Ulord上深度学习的第四门课程。
杨博士帮助我了解了一个一直困扰我的公共安全问题:私钥。
他们之间有关系吗?这项研究给了我们答案,我们愿意与您分享我们所学到的知识。
区块链公钥和私钥是非对称密码学中的两个基本概念。
公钥和私钥是通过算法得到的一对密钥,其中公钥是密钥对的公开部分,私钥是私有部分。
公钥通常用于加密对话、消息和信息,但也可用于验证使用私钥签名的数字签名。
私钥可用于签名,对应的公钥可用于验证。
通过该公钥系统获得的密钥对保证在全球范围内是唯一的。
使用此密钥对时,如果使用一个密钥对数据进行加密,则必须使用相应的另一个密钥对其进行解密。
例如,用公钥加密的数据必须用私钥解密。
如果使用私钥进行加密,则必须使用相应的公钥进行解密。
否则解密不会成功。
。
而且,在比特币区块链中,通过私钥计算出公钥,通过公钥计算出地址,这个过程是不可逆的。
人们对事物的深刻理解并不是像“我如何把大象放进冰箱?”而是像打开冰箱一样简单。
把大象放进去,关上冰箱。
一切都需要破茧成碎片的认知过程。
尤其是新的概念、新的事物,需要更细致的理解。
XFS系统是一个分布式文件系统,但它不是单一的框架结构,而是结合了密码学、区块链、互联网等技术手段的有机整体。
为了进一步理解它,您需要了解一些术语概念。
1.加密网络
加密网络只是一条公共区块链。
在区块链技术出现之前,当黑客截获数据时,除非数据本身是密文,否则数据会直接暴露给黑客。
加密网络采用区块链技术,任何人无需许可即可参与。
更重要的是,通过网络运行的数据是加密的。
XFS系统是一个典型的加密网络。
2.哈希算法
哈希算法是区块链中保证数据完整性和安全性的特殊程序。
哈希算法使用称为“哈希函数”的数学关系,所得输出称为“加密摘要”。
加密摘要的一个特点是您可以输入任意长度的数据并返回唯一的固定长度值。
哈希函数具有以下特点。
基于这些属性,它还用于确保加密安全,以防止对哈希函数的数据输入进行哪怕是轻微的更改。
结果,您将得到完全不同的输出。
这也成为现代科学的秘密和区块链的中流砥柱。
3.分布式账本
区块链是一种分布式账本,它不仅可以记录交易信息,还可以记录任何数据交换。
每笔账本交易都是加密的摘要,因此任何条目都无法在不被检测到的情况下进行更改。
因此,区块链允许参与者以去中心化的方式相互审核。
4.私钥和公钥
私钥和公钥是区块链经过哈希算法加密后生成的一组密钥,是“密钥”。
。
公钥是通过对私钥进行加密而形成的。
此时,原始信息只能通过私钥可见并由用户保存。
公钥用于交换数据。
可以公开。
相反,当公钥被加密形成私钥时,只有私钥的所有者才能在该公钥上创建签名,从而形成不可变的数字签名。
1.节点
节点是区块链网络最基本的结构,也是连接区块链网络与现实的物理设备。
单个节点具有多种功能,例如缓存数据、验证信息以及将消息转发到其他节点。
2.点对点(P2P)网络
区块链在去中心化后创建节点之间的数据交互。
传统的互联网数据传输是客户端-服务器-客户端的中心辐射模型。
点对点网络更符合“网络”这个词。
在该网络中,每个节点在单一通信协议下运行以在节点之间传输数据。
密码技术应用专业学什么
专业代码510216的密码技术应用专业为专科(高职)层次,学制三年属于电子信息类专业,毕业时不授予学位。
学生学习课程包括《Linux操作系统基础》、《区块链基础》、《商业密码学评估与维护》、《加密货币工程应用》、《密码设备安装与维护》、《渗透测试与加固》、《大数据》《安全与隐私保护》、《现代密码学》、《加密货币应用项目实践》等。
密码技术应用专业基本学习年限学制三年,专业包括密码技术应用、密码应用安全评估、信息安全工程管理等技术领域,培养目标是培养全面发展、掌握扎实科学文化基础的高素质技术技能人才。
、密码技术及相关法律法规,并具备部署密码资源、运营维护密码资源、测试密码应用安全的能力。
主要专业能力要求包括:分析信息系统业务应用场景的密码应用需求,根据业务需求合理选择密码技术和产品,集成部署信息系统密码资源,分析密码资源和信息系统。
使用应用程序进行运维管理,按照国家密码相关标准和规定开展信息系统密码应用安全评估,应对密码应用安全突发事件,开展密码应用技术咨询、密码科普等相关服务、信息技术和数字技术应用技能,以及探究学习、终身学习和可持续发展。
专业基础课程涉及计算机组成原理、计算机网络技术、操作系统应用、程序设计基础、数据应用、密码技术基础、信息安全标准与法规等,专业核心课程包括信息安全技术与实现、商用密码产品部署、公钥基础设施应用、电子商务安全应用、密码应用安全评估、信息安全工程与管理。
学生在学习期间将接受校内外密码产品配置、信息加解密、密码应用安全评估、网络安全攻防实践、数据安全管理等方面的实战训练,以及在商用密码产品生产、密码技术与信息安全综合服务、信息安全与密码评估服务等企事业单位或场所进行在岗实习,提高专业技能。
职业证书包括计算机技术与软件专业技术资格、商用密码应用与维护、网络安全评估等。
继续专业包括信息安全与管理、计算机应用工程、软件工程技术、区块链技术等高职本科专业,以及密码科学与技术、保密技术、信息安全、网络空间安全、计算机通用本科专业如科学技术等。
开设密码技术应用专业的院校有重庆电子工程职业学院、常州信息职业技术学院、浙江警官职业学院、上海电子信息职业技术学院、吉林水利电力职业学院、郑州商业旅游职业学院。
学院、河北软件职业技术学院、安徽林业职业技术学院、河北外国语学院、黑龙江商务职业学院等