
区块链是什么?
官方定义:区块链是分布式数据存储、点对点传输共识机制加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。
白话理解:区块就是按照时间顺序将时间段内产生的所有数据打包,一般一个区块的时间长度为10分钟,也就是说在10分钟内所有的网络上的互联网数据被打成一个完整的包,这个完整数据包就叫做一个区块,区块链就是把这些数据包按照顺序链接起来,形成一个结构,并以密码学的方式保证不可篡改不可伪造形成一个分布式账本,这就是区块链。
这样说好像大家对区块链就有了一个初步的认识和理解,那么区块链在日常生活中到底有没有实际应用,回答是肯定的,目前的实际应用主要有以下几个方面,当然有的可能我不知道,欢迎朋友们留言补充。
金融行业
区块链在金融行业的应用应该是最多的。
比如OMG(嫩模币)2017年5月,omise宣布与支付宝合作推出一款电子钱包,是在自己的支付服务套件中整合“支付宝”支付解决方案,帮助泰国本地电子商务商户接受来自中国游客的线上支付交易。
再比如PPT,它是是一个基于区块链的票据金融交易系统。
博彩
博彩行业大概是在去年进入的区块链,为什么博彩会青睐区块链,因为区块链提供了一个相对公平的竞猜系统,为什么说相对公平,前文的介绍能看到,区块链是不可篡改不可伪造的。
比如WICC(维基链)它是可以实现资产发行、竞猜应用、版权溯源、互助保险、去中心化交易所、跨境结算等丰富的应用场景。
比如STX(拳王币)stox应用程序旨在提供预测市场应用程序的完整功能,而不需要任何中央服务器。预测市场需要诸如事件策划、市场制作、向交易者提供信息和分析、报告事件结果,当然还有收集和付款等功能。
我相信,如果把现在的行业架设到区块链上,那么人们的购买热情会越来越高,因为太多内幕让人们放弃了这些。
物联网
物联网在区块链上的应用还是很多的,因为区块的可追溯性和即时性非常适应这个行业。
比如DATA就是物联网概念,它是是一个去中心的p2p网络。数据源可以与整个网络中任意节点连接,然后发布数据,网络将立即发送给订阅者。通过分片模式实现水平可扩展性。这在物联网应用上时效性和准确性是非常重要的。
游戏产业
比如GTC(G币)是由game全球发行的基于以太坊erc20的去中心化数字资产,g币致力于成为全球游戏行业的通用数字货币标准。
比如MANA它是一个分布式共享虚拟平台。在这个平台上,用户可以浏览和发现内容,并与其他人和实体互动。用户还可以通过基于区块链的土地账本宣称对虚拟领地的所有权。领地由直角坐标(x,y)来划定,其所有者可以决定领地上发布的内容,包括从静态3d场景到游戏等互动式系统。
还有其他许多产业,大帝不一一列举,列举了几个有代表性的,为了说明什么?说明区块链绝对不仅仅就是币币的交易,它是有真实落地项目,并且是有真实实际用途的一种时代变革的产物。
人类社会的发展其实就像区块链一样,是不可逆不可阻挡的,就我的感觉,区块链早晚走进千家万户,不论牛熊,握好手里的价值币,同花顺已经开始数字货币的报价,说明社会正在一步一步的接纳它,社会发展的力量不是哪个国家或者哪个人可以阻挡的。
1RSA算法是目前最可靠的非对称加密算法,加密密钥和解密密钥不同,安全性比较高。2RSA算法基于一个十分简单的数论事实:将两个大质数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。实际设计上肯定是更复杂的。
3目前公开破译的位数是768位,1024应该也已经是不安全的了,现在实际上在Linux上使用sshkey-gen生成的已经默认是2048位
4数据量大,RSA和其他算法结合使用,一般在用于前期的相互认证和对称加密算法的协商,比如完成前期通信后,协商一个AES的密钥用来加密。
5安全考虑,使用的时候一定要注意保护好私钥。
1对称加密,DES, AES
2非对称加密,RSA,ECC(椭圆曲线密码编码学,相比RSA等公钥算法,使用较短的密钥长度而能得到相同程度的安全性,原理记不清了,区块链里以太坊比特币好像用的是这个)
3单向散列算法,MD5,SHA1,SHA2,HMAC(HMAC是密钥相关的消息认证码,HMAC运算利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出)
加密一般分为对称加密(Symmetric Key Encryption)和非对称加密(Asymmetric Key Encryption)。对称加密又分为分组加密和序列密码。
1分组密码,也叫块加密(block cyphers),一次加密明文中的一个块。是将明文按一定的位长分组,明文组经过加密运算得到密文组,密文组经过解密运算(加密运算的逆运算),还原成明文组。
2序列密码,也叫流加密(stream cyphers),一次加密明文中的一个位。是指利用少量的密钥(制乱元素)通过某种复杂的运算(密码算法)产生大量的伪随机位流,用于对明文位流的加密。
分组加密算法中,有ECB,CBC,CFB,OFB这几种算法模式。 区块链使用Hash函数实现了交易信息和地址信息的不可篡改,保证了数据传输过程中的完整性,但是Hash函数无法实现交易信息的 不可否认性 (又称拒绝否认性、抗抵赖性,指网络通信双方在信息交互过程中, 确信参与者本身和所提供的信息真实同一性 ,即所有参与者不可否认或抵赖本人的真实身份,以及提供信息的原样性和完成的 *** 作与承诺)。区块链使用公钥加密技术中的数字签名机制保证信息的不可否认性。
数字签名主要包括签名算法和验证算法。在签名算法中,签名者用其私钥对电子文件进行签名运算,从而得到电子文件的签名密文;在验证算法中,验证者利用签名者的公钥,对电子文件的签名密文进行验证运算,根据验证算法的结果判断签名文件的合法性。在签名过程中,只有签名者知道自己的私钥,不知道其私钥的任何人员无法伪造或正确签署电子文件;在验证过程中,只有合法的签名电子文件能有效通过验证,任何非法的签名文件都不能满足其验证算法。
常用的数字签名算法包括RSA数字签名、DSA数字签名、ECDSA数字签名、Schnorr数字签名等算法。
我们以RSA数字签名来介绍:可能人们要问RSA签名和加密有什么 区别 呢?加密和签名都是为了安全性考虑,但略有不同。常有人问加密和签名是用私钥还是公钥?其实都是对加密和签名的作用有所混淆。简单的说, 加密 是为了 防止信息被泄露 ,而 签名 是为了 防止信息被篡改 。
例子:A收到B发的消息后,需要进行回复“收到”-- RSA签名过程 :
首先: A生成一对密钥(公钥和私钥),私钥不公开,A自己保留。公钥为公开的,任何人可以获取。
然后: A用自己的私钥对消息加签,形成签名,并将加签的消息和消息本身一起传递给B。
最后: B收到消息后,在获取A的公钥进行验签,如果验签出来的内容与消息本身一致,证明消息是A回复的。
在这个过程中,只有2次传递过程,第一次是A传递加签的消息和消息本身给B,第二次是B获取A的公钥,即使都被敌方截获,也没有危险性,因为只有A的私钥才能对消息进行签名,即使知道了消息内容,也无法伪造带签名的回复给B,防止了消息内容的篡改。
综上所述,来源于书本及网络,让我们了解的有直观的认识。摘要: 组织应该面对网络安全攻击,这可以强烈影响他们的 *** 作流程,业务形象,和关键信息的安全。建立安全机制有助于减少可能被攻击者利用的弱点;然而,它们并不总是足够的,而且一次攻击可能会成功。因此,组织需要建立计划或过程来处理这些安全事件,甚至构建称为CSIRTs的事件响应团队。由于不同形式的攻击和海量数据的增长,处理网络安全事件需要适应新的安全管理策略。从这个意义上说,将大数据、人工智能和数据分析应用于网络安全,被定义为认知安全,提出了一种可行的替代方案,但有必要考虑,如果没有对网络安全专家进行充分培训,或者如果使用了他们的技术和非技术技能,技术解决方案就会缺乏有效性。在人类技能和技术解决方案之间建立密切的相互关系可以帮助设计一个充分和有效的检测和自动化过程,从而改进安全事件的处理。本研究分析了认知安全技术解决方案与网络安全专家技能之间的相互关系。提出了一个通过建立态势感知来进行决策的自动化事件响应框架。
一、引言
由于技术在不同领域的扩展,如金融服务、医疗服务、公共服务以及水、电、电信等关键基础设施,计算机安全已成为社会的一个基本要素。根据麻省理工学院(MIT)的说法,安全团队将面临的风险主要是针对物联网(IoT)设备、区块链和关键基础设施[1]的攻击;例如,麻省理工学院提到,攻击者在2019年主要使用人工智能和量子技术进行攻击。这种情况涉及有准备充分的组织和有能力面对这些新挑战的安全专业人员;在国际层面上,一些组织已经定义了通过称为计算机事件响应小组(CSIRTs)[2]的专家和研究人员团队快速响应安全风险的策略。CSIRT由来自网络安全、法律、心理学和数据分析师等领域的专家组成。CSIRT根据预先设定的程序和政策,对网络安全事件做出快速有效的反应,并降低网络攻击的风险。
CSIRTs中的安全分析人员需要处理大量的数据,以便i)确定触发可能的攻击警报的模式或异常,ii)更快速和有效地执行检测过程。CSIRTs的成员正在寻求基于技术解决方案的新策略,如大数据、机器学习和数据科学[3]。为了加快数据分析方法[4]的研究进程,美国国家标准与技术研究院(NIST)等国际组织启动了数据科学研究计划(DSRP)。在网络安全领域,认知科学在信息安全过程中的应用推动了认知安全[5]的概念;这允许进行预测性和说明性分析,从而提供安全攻击的可能影响的视图。CSIRTs成功的另一个关键因素是团队协作能力和对不同环境的适应能力。在21世纪的[7]时代,安全专业人员需要团队合作、批判性思维和沟通等技能。2015年9月,一个之间的协作计算机协会(ACM), IEEE计算机协会(IEEE CS),信息系统协会特殊利益集团对信息安全和隐私(AIS SIGSEC),以及国际信息处理联合会技术委员会信息安全教育(118联合会WG)提出了一个网络安全教育课程指南提到非技术技能计价的软技能,对于安全专业人员来说至关重要,并专注于:团队合作、沟通、情景感知的生成,以及使用不同组织文化[8]的 *** 作。
在组织中产生网络安全态势感知的能力允许确定积极的策略来面对正在进行的和即将到来的攻击或威胁。情境意识产生于三个认知过程:认知、理解和投射。认知过程是人类行为固有的,它会受到不同因素的影响,例如:压力、疲劳、分心、物理或环境条件。分析任务的绩效以及这些因素的影响是一些研究者感兴趣的。例如,Robert Karasek提出了需求控制模型[9],该模型研究了计算机人员在不同工作领域的认知、情感和身体需求,计算机人员的心理需求水平较高。在此背景下,发展认知策略在信息加工的各个层面都是必要的;此外,还需要分析执行功能如何通过:抑止控制、工作记忆处理[10]优化来整合各级信息处理,从而帮助网络安全专业人员高效工作和充足的响应时间。
在这项研究中,我们提出了一个模型来整合网络安全领域的认知技能、团队合作和数据分析,如图1所示。认知安全可以利用安全分析人员的认知能力的特点,将这种知识和智能转移到计算机系统中;通过这样做,他们可以向安全团队执行一个即时响应动作或通知,以做出针对安全攻击的决策,如图1所示。
研究的其余部分组织如下。第二节介绍了有关自动网络安全响应的相关工作。第三节介绍了心理学在网络安全中的重要性的背景。第四部分提出了一个基于认知过程的自动化网络安全框架的建议。最后,第六部分总结了本文的研究结论,并提出了今后的工作方向。
二、相关工作
根据麻省理工学院评论[11]的分析,在2018年,城市将安装多层传感器来监测空气质量、垃圾水平或交通量;这一预测,加上Gartnert对2020年的预测,[12]将有204亿台联网设备。在新的安全场景中,组织必须面对网络或计算平台的规模和复杂性的急剧变化,这些网络或计算平台是组织支持服务提供和设备连接的基础。在这种新的背景下,传统的安全解决方案的行动能力和人类对安全事件的检测和响应能力受到了限制。为组织和研究人员评估的网络安全的替代方案是使用认知模型作为一种提议,以增强计算环境的安全性和扩大人类的分析能力。
在[13]中,作者提出了一个基于机器学习的检测与基于时间逻辑的分析的组合,允许区分异常和启用动态网络响应。在[14]中,包括对个人设备的认知安全的使用,以允许设备识别所有者和自主安全,以便设备采取自己的安全决策。基于函数和依赖关系[15]的知识,可以实现诊断的自动化。在“数字服务生态系统中的自主计算方法调查”[16]中,提出了应用自主计算概念的25种不同的数字生态系统,在[13]中,提出了认知安全方法如何能够建立“良好异常”来建立正常的 *** 作参数,以及任何变化如何生成网络设备的自动自动重新配置来控制数据流。
三、认知技能和网络安全
a 态势感知
态势感知被定义为,从心理学领域,作为一种能力,产生对他的生活的理解,基于他的经验[17]。这一概念已适用于计算机系统领域;例如,Lewis将计算系统的自我意识定义为基于内部和外部事件[18]获取自身知识的能力。在[19]中,自我意识被定义为为计算机系统生成关于自身和环境的知识,并根据这些知识决定将要执行的行动的能力。
1)网络安全态势感知(CSA):态势感知(SA)的概念描述了组织当前的威胁和攻击情况,可能的攻击的影响,以及攻击者的识别和用户行为[20]。分析人员必须了解安全情况并确定影响的可能性。为了生成态势感知,我们可以使用OODA循环。Breton提出的认知OODA循环是基于感知、理解和投射[21]的认知过程。表一展示了认知阶段、认知过程和根据Brenton的提案产生的产品之间的关系。
2)网络认知态势感知(CCSA):
为了建立组织的网络安全态势意识,我们可以依靠面向决策过程的认知方面的支持。适应了网络空间的感知、理解和投射的认知过程,我们将拥有如表二所示的关系。
b 非技术技能
美国国土安全部(DHS)和国家网络安全联盟(NCSA)等组织都开展了国家网络安全意识月活动,在2018年庆祝了第15届[22],以促进社区了解数字环境中的风险和威胁的相关方面。在这些领域中,安全专业人员必须具有非技术技能,以便能够以清晰和一致的方式向一组没有技术背景的人员传播知识。针对组织内的网络安全,防御策略基于风险管理,如图2所示分为四个级别的网络安全风险管理生命周期。
在网络安全风险管理生命周期内,至少需要以下人员:
•团队领导/协调员;
•负责系统和信息安全;
•沟通团队或公关;
•分类器或分类;
•事件管理团队-二级;
•法律团队。
这强调了在一个由不同学科的专业人员共同协作的环境中发展协作技能的必要性,因此团队合作对于网络安全专家来说是一项非常重要的技能。Newstrom提到,21世纪的组织或公司更加灵活,能够迅速适应变化,横向关系更加有效;因此,今天的组织更加重视灵活的结构和横向沟通。任务和角色以更开放的方式定义,环境更加动态,团队的创建允许实现所描述的方面。莫林认为,复杂性和多学科工作是21世纪的一部分,未来的教育必须以人类状况和人类之间的多样化关系为中心。Morin在《21世纪教育》中提到的另一个重要方面是让学生准备好面对日常生活中不同事件所产生的不确定性。
关于Morin提到的关于关注学生人性方面的第一个方面,开始强调以加强技能为重点的培训可能是很重要的。芒福德将技能分为四类[25]:
1)认知能力;
2)人际交往能力;
3)业务技能;
4)战略技能。
一般来说,在网络安全领域的大学主要关注提高认知、商业和战略技能,但不太关注非技术技能。根据Mumford提出的分类,团队合作、协作、沟通和网络被包括在人际交往技能的类别中。未来的网络安全专业人士正在大学学习;因此,工程教育需要鼓励非技术技能的发展。Kyllonen提出了21世纪需要的技能,其中以下提到[7]:
•批判性思维;
•口头和书面沟通;
•劳动伦理;
•团队合作;
•合作;
•专业;
•故障排除。
良好的网络安全工作人员框架[26]为安全专业人员建立了一套知识、技能和能力与非技术方面相关,如:
•有能力参与计划小组,协调小组和任务小组的工作;
•能够运用合作技巧和策略;
•应用批判性阅读/思考技能的能力;
•与他人有效合作的能力。
关于Morin在计算机科学领域提出的第二个方面,即不确定性,一些作者如[27]和[28]提到,软件开发过程中的不确定性可能与人的参与、并发性和问题领域的不确定性有关。在软件环境中,产品的开发和用户最初提出的需求的变化之间可能会出现不确定性。在网络安全领域,不确定性可能与其他方面有关,如时间、类型和网络攻击的目标。
团队合作也会产生不确定性;在[29]中,作者提到,不确定性可以在人的功能和环境工作中产生,取决于诸如先见者、利他主义智力、收获和意外收获等变量。在[30]中,作者认为,不确定性取决于团队的结构和成员之间的相互作用。
如图3所示,在21世纪的教育背景下,对计算机科学工程专业的学生进行网络安全领域的教育,主要有四个方面是必须要做的。
四、基于认知技能的网络安全自动反应
我们对事件反应自动化的建议是基于建立态势意识的重要性,在理解组织安全的积极和消极方面的基础上做出正确的决策。我们的提议利用了协作的方法来产生自我意识和决策,是基于安全分析师的认知过程的重要性,以能够确定一个安全事件在多个事件之间,它必须被识别出一个异常行为,可以警告攻击。我们的建议中考虑的一个方面是为了加强认知过程。在2017年RSA会议上,IBM[31]展示了安全分析师在调查事件时必须执行的认知任务,在表III中,我们提出了网络安全认知任务和认知过程之间的联系。
对于自动响应安全事件的过程,我们提出了如图4所示的分层架构。我们的建议强调分析层,在分析层中对不同来源(如传感器、日志或安全博客)获得的数据进行理解。此外,在这一层中,安全分析人员的经验和有效的沟通是最基本的,因为它将预测充分评估事件,并将其归类为事件,并建立最适当的决策,以减少攻击的影响。具体地说,在这一层中,我们提出了两个允许建立情境意识的子组件:i)自动学习的子组件和ii)团队合作。这两个子组件共享一种直接交流的方式,目的是生成标签,用于培训基于分析人员通过互动和交换思想生成的知识的监督学习算法。另一方面,无监督学习算法可以检测不容易检测到的模式或异常,并提醒安全分析人员确定它们是否与共同的安全攻击相对应。
设计了一个基于数据管理流程的框架,以确保不同层次数据的完整性和质量;然后,它包括:
•收集;
•准备;
•分析;
•可视化;
•访问。
在下面的图4中,我们将详细描述组成我们所提议的框架的层。
a)网络收集层:涵盖将用于创建网络安全态势感知的信息来源。在资料来源中,可以考虑下列情况:
•网络模拟平台;
•传感器;
•入侵检测系统;
•脆弱性分析;
•安全门户、博客或订阅源;
•netflow;
•服务器和网络设备日志。
b)基础设施层:基础设施层包含以下组件:
•数据收集服务器,在这些服务器中,将对不同来源的信息进行数据摄取处理。至少考虑三个服务器来实现负载平衡和高可用性。
•索引服务器,在这些服务器中执行数据索引的过程,并在此基础上定义属性,在此基础上对数据进行调试和处理,生成可视化层的信息。至少考虑两台服务器用于负载平衡和高可用性进程。
•队列管理服务器,该服务器建立流程管理大数据解决方案的处理资源在多个请求信息同时执行报告服务器和数据可视化,这个服务器处理数据可视化工具,允许与分析师能够执行的交互信息的查询。
•入侵检测服务器,在此服务器中定义了检测与安全攻击相关的模式的规则,服务器可以访问安全传感器。
•警报管理服务器,在此服务器中,警报管理被定义为在检测到异常模式时通知分析师,在此服务器中包含了一个事件管理系统,允许在检测到安全事件前对升级进行流控制。
c)索引层:用于定义搜索字典。
d)态势感知层:这一层是我们的核心建议。在这一层的目标是建立一个基线安全状态的一个组织,为此我们考虑两个部分,第一个组成的机器学习算法,允许识别模式或异常基于预处理来自不同数据源的数据服务器日志,第二部分称为团队合作产生自我意识的建立基于CSIRT安全分析人士的合作。基于团队产生的知识,你可以训练学习算法来提高它们的准确性。
e)分类层:它定义了针对安全分析师、CsIRT或事件管理过程中的其他参与者生成的警报。根据良好做法,明智的做法是定义警报级别的分类。
f)自动响应层:它定义了可以自动的响应动作,因为这对于建立安全事件管理计划是必要的。
五、讨论
在心理学研究中,工作绩效是一个寻求提高工作绩效的话题,考虑到个人和环境变量。我们在这项研究中分析的变量是在网络安全领域执行事件管理的专业人员的认知技能。我们认为,与执行功能相关的认知过程越高,安全分析人员所解决的任务的性能就越好,这是由于对减少攻击影响的快速响应要求越高。出于这个原因,加强认知灵活性是至关重要的,以便i)扩大事件数据的分析,ii)能够可视化更多的可能性,以面对网络攻击,ii)发展抑制控制,以提高其决策的精确度和有效性。另一方面,工作记忆对于经验的储存和随后对这些信息的使用起着至关重要的作用,所以这种认知过程也有助于对组织所面临的风险和威胁的情况形成意识。另一个关键变量与事件管理专业人员工作中的压力管理有关,以制定策略,使他们能够抵消劳动力需求。
在基于态势感知的网络安全管理模型中,分析执行功能是否集成感知、理解和投射过程,以提高任务绩效,可以增强决策过程。非技术技能在许多方面起着至关重要的作用,因为如果没有足够的沟通和建立共享知识的能力,网络安全团队将无法达到应对安全攻击所需的效率。例如,在面对出现的事件或问题时,处理复杂性不应该由安全分析人员进行简单的推理,而是要能够生成表示复杂性的心理模型,并作为一个团队进行工作。这种理解可能很复杂,因此,管理共享的心理地图等建议可能具有重要意义。另一个事实是多学科工作,来自不同领域的专家必须一起参与,但是由于对这对搭档的知识有限、不同的技术词汇和异质的工作方法,存在交互问题。最后,处理活动或与其他团队成员交互的结果的不确定性。
提出的大数据模型涵盖了网络安全状态(网络安全态势感知)知识生成必须考虑的不同组成部分。仅仅实现一个大数据架构是不足以解决处理海量数据处理的问题的,我们应该致力于寻找可靠的信息源,建立数据质量控制流程,生成安全承诺指标,并定义更新数据时间。
为了从安全分析师可以处理的信息中建立态势感知,我们提出了一个由4个模块组成的框架,如图5所示:来源、认知过程、协作安全任务和软技能。团队合作支持四个模块。在[23]中,作者提到团队的目标是鼓励成员分析他们一起工作的方式,识别他们的弱点,并开发新的协作形式。要做到这一点,学习过程必须把重点放在任务上。按照装备建设[23]的Newstrom模型,我们在网络安全领域提出以下建议:
•经过培训的专家识别问题;
•数据收集;
•反馈行动计划的制定;
•生成态势感知;
•解决方案经验;
•持续改进。
六、结论和未来工作
技术和社会的变化产生了动态和复杂的环境,产生了大量的数据。这一事实给安全分析人员带来了新的挑战,他们必须处理数据以确定允许识别威胁或安全攻击的模式或异常情况。认知安全的使用提供了在短时间内处理大量不同格式数据的能力,从而提高了安全 *** 作的有效性。在网络安全领域,大数据主要用于监控行动和异常检测,这些行动集中在反应性安全策略上,但其他安全活动可以通过大数据分析增强,用于主动战略,如威胁搜索或网络欺骗。
事件管理的网络安全任务包括识别有关事件的数据,以确定攻击场景的振幅。从有关威胁和攻击的数据中发展经验,可以建立对网络安全状况的意识。建立网络安全态势意识需要认知和情感技能,其中认知过程的能力至关重要;感知和注意是允许安全分析人员从外部环境收集信息的第一个过滤器。与工作记忆、认知灵活性和抑制性控制相关的高级认知过程参与决策和事件管理任务中外部化的行为。
通过以下两种技能,可以实现安全分析师认知过程的持续改进:
1)过程控制。过程控制是团队成员的一项重要技能,因为它帮助成员有建设性地感知、理解和反应。
2)反馈让你有数据支撑你的决定,根据他们对团队其他成员的看法自我修正。
关于大数据和机器学习在安全领域的应用,在商业和学术领域有不同的建议;然而,它们并没有得到广泛实施。我们认为,今后一项可能的工作是分析造成这种情况的原因,一般来说,可能是预算、人员经验、技术支持不足。此外,通过焦点小组进行的综述可能是补充本研究的重要贡献。对称加密有非常好的安全性,其加解密计算的性能也较高,但其有两个重要缺点:
在如今开放的信息社会,秘钥的管理愈加困难,非公开的秘钥机制虽然破解较难,但还是有遭到攻击的可能性,由于对称加密需要加解密双方共同握有私钥,所有生成秘钥的一方必须分发给另一方才能进行安全通行,这就难免秘钥在网络中传输,网络是不可靠的,其有可能被拦截或篡改。于是就产生了公开秘钥体制,即服务方根据特定算法产生一对钥匙串,自己持有私钥小心保存,而公钥公开分发,在通信中,由公钥加密进行网络传输,而传输的信息只能由私钥解密,这就解决了秘钥分发的问。公开秘钥体制就是非对称加密,非对称加密一般有两种用途:
如今的非对称加密比较可靠的有RSA算法和ECC算法(椭圆曲线算法),RSA的受众最多,但近年来随着比特币、区块链的兴起,ECC加密算法也越来越受到青睐。下面我们先介绍一下RSA加密算法的使用,ECC我们下一讲展开。
公钥密码体系都是要基于一个困难问题来保证其安全性的,RSA是基于大数分解,将一个即使是计算机也无能为力的数学问题作为安全壁垒是现代密码学的实现原理。讲述这类数学问题需要庞杂的数论基础,此相关部分在此不再展开,感兴趣的请出门右拐搜索欧几里得证明、欧拉函数等数论部分知识。
Go标准库中crypto/rsa包实现了RSA加解密算法,并通过crypto/x509包实现私钥序列化为ASN1的DER编码字符串的方法,我们还使用编解码包encoding/pem(实现了PEM数据编码,该格式源自保密增强邮件协议,目前PEM编码主要用于TLS密钥和证书。)将公私钥数据编码为pem格式的证书文件。
使用以上加解密方法:区块链本质上解决的是隐私安全保护、信息可溯性、交易合规性、数据真实性和流程处理效率问题,直击供应链管理难点,在供应链场景中具有极强适用性和应用价值。
数据共享: 通过信息加密和解密授权、零知识证明等隐私保护机制,区块链可以解决数据隐私和数据共享价值间长期存在的矛盾,消除相关方在数据共享中的后顾之忧;
数据可溯和资质保证: 区块链是一种在对等网络环境下构建的可追溯的块链式数据结构,具有数据可溯、防伪造篡改特点,保障全链数据真实可溯(包括供应链状态信息和相关企业资质信息等)。真实可溯的数据将成为产品防伪、供应链管理、供应链金融等业务展开的重要基础;
目前区块链技术在供应链领域主要应用于四大代表性场景:(1)可追溯与可视化(2)供应链协同(3)物流流程优化(4)供应链金融。
区块链+物联网技术可以实现供应链的全链条可视化。其中,区块链技术分布式存储、不可篡改、共识机制等特性保证相关方关键数据的存储、流转环节均真实可信。而物联网技术则可以保证上链数据的全面性和自身的真实可靠。两者结合共同提高供应链上下游数据覆盖度和数据真实性。
珈木科技作为一家企业级区块链服务平台,致力于为客户构建更安全稳定的区块链环境,简化部署运维及开发流程,实现业务快速上链。
无论是供应链上下游企业,还是消费者和监管机构,都将从这种供应链可视性中获益。珈木科技认为,对供应链上下游企业来说,拥有完善的商品追溯体系已经成为相关企业应对消费者需求的至关重要的差异性成功因素。
比如在生鲜行业中,生鲜厂商和零售企业通过区块链+物联网可以精准把控各环节温湿度和储存时间,通过结合库存、物流与货架三方数据的分析,可以将真实的生鲜产品消耗情况反馈给供应链上游,优化采购节奏与采购决策,及时调整库存水平与周转率、有效进行分销端的配送,降低产品损耗。从而优化库存管理、提升生鲜产品质量,获得消费者青睐。
对消费者来说,则可通过扫描溯源码实现精细到一物一码的全流程货物追溯,方便地读取产品质量信息。对监管机构来说,在国家对商品安全监管的要求日益提高的背景下,区块链+物联网为提升监管效率和精度提供了必要的技术手段支持。
目前,基于区块链和物联网的商品溯源技术已在食品溯源、药品溯源等诸多场景中落地。大型消费品制造企业、零售商、政府监管部门积极投身相关区块链建设。
区块链行业级应用的推广与人们对区块链技术认知的加深密不可分,珈木科技积极推动区块链技术落地,密切关注行业发展状况并积极梳理行业动态。在政策利好的推动下,未来将会有更多企业参与到区块链版图构建之中,在底层技术研发、应用场景推广、产业生态培育等方面创新研究、通力合作,共筑区块链繁荣图景。区块链(Blockchain)是一种很早就被学界提出但近几年才被比特币带火的一个概念。比特币是基于区块链技术的一种实现,比特币是一种加密货币,或者叫数字货币也可以。我们先以比特币入手谈谈比特币是怎么利用区块链技术的。
假设06年世界杯决赛期间,两个互相不认识的足球迷碰到了,意大利打法国,法国球迷说我们法兰西有齐达内肯定赢你们意大利,意大利球迷不服气说我们意大利是战无不胜的,不信咱俩赌100欧元。现实世界里,怎么办呢?
我之前讲过我们搞计算机的,90%以上的时间都在处理异常情况,如果人类都很讲信用的话,那这个世界可能就不是现在这样了。秦国当年许给楚怀王那600里地就不是6里了,说不定统一中国的就是楚国了呢也说不定。如果把钱交到第三方手里,万一第三方也跑了怎么办?把钱私吞了。所以现实的陌生世界单靠一颗善良的心是靠不住的,必须有手段稳稳地保证这个承诺,法律契约等。如今很通用的做法是第三方要找权威机构,比如政府,银行等,要么找个有头有脸的人或组织,归根结底还是找个有公信力的机构或人。但一般情况下这个第三方肯定会“雁过拔毛”,收取一定比例的手续费。
那么到底还有没有办法来解决这个难题呢?这就是比特币最初设计的一个初衷,解决两个陌生人之间的信任问题。
加密算法 + 多人记账
首先说加密算法,这里又要我之前提过的非对称加密,即公钥私钥。每个人都可以有一对或多对公钥私钥,但一个公钥只能有对应的私钥,反之亦然。其原理就是两个非常大的质数(p和q)相乘得一个数字(n),如果要根据公钥破解私钥的话理论上必须暴力破解,算出这个数字是由哪两个大质数相乘得来的。目前世界上没有公布可以破解1024位以上的私钥,所以采用1024或者2048甚至更长的私钥是非常安全的。
那么有了公钥私钥,我作为个人就可以用私钥加密,然后发布公钥,任何人都可以用我的公钥解密来确定这就是我本人发布的东西。同理别人给我的转账我也可以用他的公钥解密,从而判断这个就是某人的身份,这也叫数字签名。原理都是一样的,都是加密算法,利用数学欧拉公式,质数相乘等原理得到的。这是个非常伟大的算法,叫RSA,由3个数学家提出,我们普通人只要理解到公钥私钥的概念和用处就好了。
之前传统模式里,银行或者政府机构都有自己单独的账本,比如张三转给了李四100块,那账本里怎么记?张三的账户里扣除100, 李四的账户里增加100,对吧?
多人账本也是一样的道理,只不过从之前的中心化机构变成了分布式,去中心化的多个机构甚至个人。好比李白给杜甫转了100两银子,以前是财政部记账,区块链里则是唐太宗,杨玉环,张小静,贺知章等多个人一起记账,记到李太白转给了杜子美100两银子,以此为证,后面附有李白的印章。这样一来,有了多个账本,想要篡改那就难于登天了,李白可以放心的转给杜甫并且不担心他会篡改金额或者抵赖。
这样做就可以解决开始提到的球迷打赌的问题,但还有个问题,别人为什么要帮我们记账?
答案是有报酬,这符合人性,不然谁肯帮忙记一笔跟自己没关系的账呢?
但最终记账的人有且只有一个,不然就要乱套了。
有好处的前提下,如何保证哪一个人来记账呢?这里要涉及到一个数学知识,每个要记账的人,其实也就是所谓的矿工他在记账钱必须要解一个数学问题,这个数学问题没有取巧的办法,只能通过把数字带入公式里硬算,算法就是一个Hash(哈希)算法,类似于算一串数字出来,矿工只可以猜,除此之外别无他法。而且目前比特币里这个猜到的概率是万亿分之一,大概一台普通计算机要持续不断的猜一年才可以猜出来这个数字。
但世界上有成千上万台计算机,它们如果一起算的话速度会快很多,因为从概率上讲肯定会有一个计算机算出来,现实情况也确实如此。看个比特币真实的例子。
除此之外,还可以看到Miner(挖矿人)是谁, 这个块里包含了多少比交易(Number of Transactions)。
如果这个矿工是个别有用心的人,他在算出来后,私自篡改转账记录和金额怎么办?
A 篡改交易记录 / 金额
前面我们介绍了公私钥加密技术,矿工本身理论上是没有发款人或收款人的私钥的,所以他篡改过的交易记录在用正确的公钥解密的时候会出错,最终被认定为非法(这里作者本人不太确定是在什么时间点做的鉴定,但确定这个记录是可以被证伪的)。
B 删除交易记录
假设一个场景,张三要在北京4环买一个两室一厅的房子,但张三不想出这钱还想白占房子,想到了一种偷鸡摸狗的办法就是篡改交易记录。理论上,在张三付款后,这个记录产生但并未确认,记录需要等到一个解出谜题的矿工来做,假设这个矿工是他自己人,他让矿工把这条记录抹掉,没有问题。但做法有几种:
众所周知比特币挖矿需要很长一段时间,因为要做提到很麻烦的数学题,现在这个周期大概是10分钟所有,这是基于全世界几十万矿机同时满负荷工作的前提下。也就是说每十分钟有上万笔交易会被统一确认并放到一个不可改变的区块里,并且这几十万台矿机同时更新自己本地的记录。
21 如果这笔交易刚生成,房东看到了,然后下一秒就把产权过户给张三,那么张三如果想篡改这个付款记录他必须满足几个条件:
成功的难度取决于在篡改的记录之后有多少块被确认过的区块。如果只有一个,那么太简单了,因为区块链算法默认矿工在发布新的区块时,采用第一个收到且较长的区块。所以这次修改后就一劳永逸,因为所有的账本都会背同步,但也有一个问题,就是这次同步会被记录,如果房东查不到账,张三最终还是会被抓起来的。如果有很多个,比如张三转账完后,房东在确认转账后1小时才做的产权过户,那么张三就必须篡改之前差不多6块左右的区块信息,这个很麻烦,因为每一个区块都会指向上一个区块,并且每个区块都会有一个摘要(Hash),这是当前区块所有交易记录的汇总。所以如果试图修改一个很久前的区块,那么后面的区块的摘要都会变掉,这就是哈希树(MerkleTree)。其他节点是可以报告区块链被篡改的信息的。这就要涉及到最重要的一点,经常有人提到的51%算力,就是说如果张三拥有了超过50%的账本都承认这次修改,那么其他节点按照算法设计也会承认这次修改。不过,先不谈世界上基本没人可以同时做到以上两点,就算做到了,如果有人对此有疑问,依然可以把系统强制修复,之前以太坊就出过类似的问题,结局是以太坊篡改了整个区块,追回了被**的财产。 以太坊分叉事件 。
以上只是粗浅的介绍了应用区块链技术实现的比特币的特征,它可以很好的实现公开,公正,中立和平等。世界上任意两个陌生人可以依赖比特币或者其他区块链技术实现互相信任。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)