一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种安全的区块链容器传送方法及传送系统与流程

2022-03-09 04:52:17 来源:中国专利 TAG:


1.本发明属于区块链、智能合约以及容器(container)和安全通讯协议技术领域,具体特别涉及一种安全的区块链容器传送方法及传送系统。


背景技术:

2.由于互链网,5g,边缘计算的兴起,区块链系统、智能合约、预言机越来越多被重视和部署。传统上,这些系统都是在服务器,例如云端服务器上部署,由人工操作完成。但是未来可以自动部署,容器科技的发展就是为了自动部署,只要当地服务器可以允许部署容器,应用就可以经过容器到达服务器上,之后直接执行。
3.容器本质上就是一组受到资源限制,彼此互相隔离的进程。它不像虚拟机有自己独立的操作系统,而是直接共享主机的内核,这就使得容器占用的资源更少,更加轻量化。容器化的另一个优势在于可伸缩性。通过为短期任务创建新容器就可以快速扩大。从应用程序的角度来看,实例化映像(创建容器)类似于实例化 服务或 web 应用等进程。当然,容器在整个应用程序生命周期工作流中还有以下优点:隔离性、可移植性、灵活性和可控性。其重要的优点是可在开发和运营之间提供隔离。容器可以装执行代码或是源代码,然后传送到其他服务器。如果送的是执行代码,在出发处和容器融合和编译后,可以直接送到接收方,直接执行。
4.现在区块链系统或是智能合约系统需要在人工部署这些软件在执行的服务器或是云上。现在国内外都有学者提出使用容器,将区块链和智能合约软件使用容器技术,从一个服务器传送到另外一个服务器上。这样大量区块链系统或是智能合约系统就可以很快且安全地部署到世界各地。但是现在容器设计主要目的是让软件容易移植到其他服务器上运行,安全不是主要的考量因素。容器送出去后,接收方可以从容器内拿到其中的执行代码或是源代码。这样的机制事实上是不安全的。现在容器的安全技术还是处于早期科研阶段。
5.现在的容器技术在许多非金融领域的应用上足够强大,但是在金融领域应用上,这是远远不够的。因为在金融交易,前面描述的容器机制风险极大,由于接受方可以复制,拷贝,部署,然后挑战原来的系统。金融应用需要软件可靠、安全、可审计、可监管、可朔源、不可更改的技术。假如容器使用在区块链应用上,就需要一个新的容器传送机制。


技术实现要素:

6.本发明为了解决现有技术存在的一项或多项技术问题,提出一种安全的区块链容器传送方法和系统,软件运行在容器中,而且设计相应的机制保证智能合约的正确性以及执行过程的正确性和结果的可追溯。
7.本发明的目的在于提供一种安全的区块链容器传送方法,所述安全的区块链容器传送方法的参与方包括提供方和接收方,所述提供方负责提供区块链软件或智能合约软件,所述接收方预备部署和执行区块链和智能合约应用,所述安全的区块链容器传送方法包括:
步骤1,实施传送前的预备工作;步骤2,判断所述接收方是否是可信的,如果所述接收方可信,所述提供方提供并实施双哈希的验证流程;如果所述接收方不可信,所述提供方提供并实施单哈希的验证流程;步骤3,完成并通过所述双哈希的验证流程或者所述单哈希的验证流程后,传送所述区块链容器;步骤4,所述接收方收到所述区块链容器后,进行所述区块链容器的部署和运行,对于实施单哈希的验证流程,当所述区块链容器被执行时实施持续查验,如果发现违规事件,所述区块链容器内的软件自动销毁。
8.优选的,如果所述接收方在接收到所传输的所述区块链容器内的所述软件时尚未形成特定的区块链系统,所述接收方就会在本地部署所述区块链容器内的软件,同时加入由所述提供方主持的所述区块链网络系统,所述提供方作为所述区块链网络系统上的超级节点,控制新的节点加入所述区块链网络系统;如果所述接收方接收到所述区块链容器内的软件后,更改软件,所述提供方会拒绝与所述接收方的通信,同时通知其他参与节点以及相关单位断开与所述接收方的联系;如果所述软件为智能合约软件,并且所述接收方已经形成特定的区块链系统,所述接收方在所述特定的区块链系统内部署所述智能合约软件;如果所述接收方还未形成特定的区块链系统,则向所述提供方发出出错信息通知,所述提供方作为所述区块链网络系统的超级节点,控制并选择可以执行所述智能合约软件的节点,如果所述接收方接收到所述智能合约软件后更改软件,所述提供方拒绝所述接收方的一切执行结果,将所述接收方对应的节点列为黑名单后将所述接收方排除出所述区块链网络系统,并且将所述黑名单广播给所述区块链网络系统上的其他所有参与节点,其他所有参与节点同时将所述接收方节点排除出所述区块链网络系统;如果所述接收方对应的节点支付了保证金,所述保证金以智能合约方式立刻被没收。
9.优选的,所述步骤1包括:步骤11,将所述提供方提供的软件经第三方测试中心的测试验证后,获得第三方测试中心的许可证;步骤12,第三方测试中心通知权威注册中心:所述软件已经被验证过;步骤13,所述提供方通过在权威注册中心注册,所述软件以及所述软件的哈希在权威注册中心注册在权威注销中心找到合作的接收方;步骤14,所述接收方在权威注册中心注册,并确认可以接收在所述权威注册中心注册的所述提供方的所述软件;步骤15,所述接收方通过从权威注册中心取得所述提供方的身份信息以及所述提供方的软件信息在权威注册中心寻找合作的提供方,并且所述接收方通过向权威注册中心提供所述软件的哈希查询所述软件;步骤16,所述提供方和所述接收方分别获得对方信息后,预备在所述接收方的服务器上部署由提供方提供的软件;其中,所述步骤11到所述步骤16全部采用加密协议完成,每一次通讯都进行身份认证;所述第三方测试中心使用标准测试工具以标准化测试流程;所述权威注册中心为政
府监管下运行的区块链系统,用于为所述提供方和所述接收方提供注册服务,并且所述权威注册中心与身份认证单位合作以验证所述提供方和所述接收方的身份信息。
10.优选的,所述步骤11-步骤16的流程中第三方测试中心可以不通知权威注册中心,而由提供方联络权威注册中心,第三方测试中心仅提供测试中心的许可证;权威注册中心拿到许可证后可以自己联络第三方测试中心,证实许可证是否是真实的。必要的是提供方和接收方都需要进行注册,提供方的软件需要经过第三方独立测试,所述提供方只能提供测试过的软件,而且不能更改软件。
11.优选的,所述步骤2的所述双哈希验证流程包括:步骤211,提供方计算软件哈希,得到哈希值a,然后将所述软件放进所述区块链容器后将所述区块链容器与所述软件融合,得到一个包含软件的区块链容器,对所述包含软件的区块链容器再计算一次哈希,得到哈希值b;步骤212,所述提供方以加密方式向所述接收方通过加密通信协议传送所述哈希值a和所述哈希值b;步骤213,所述接收方接收到所述哈希值a和所述哈希值b后,验证所述提供方的身份数字签名,验证通过后以加密方式传送“愿意接收软件”的信息给所述提供方;步骤214,所述提供方收到所述“愿意接收软件”的信息后,验证是否为所述接收方的身份和签名后,以加密方式传送所述软件以及所述包含软件的区块链容器,同时将包含软件的区块链容器进行加密;步骤215,所述接收方验证所述提供方的身份和数字签名,如果验证通过,所述接收方使用所述提供方提供的公钥将其打开,取出其中的软件,计算所述软件的哈希值c,如果所述哈希值c和所述哈希值a一致,则通过步骤215;步骤216,所述接收方再次计算包含软件的区块链容器的哈希值d,如果所述哈希值d与所述哈希值b一致,则通过步骤216;步骤217,所述接收方以加密方式通知权威注册中心,收到所述提供方的软件、所述哈希值a、所述哈希值b以及所述提供方的身份;权威注册中心收到信息,验证所述接收方身份和签名,验证所述提供方的身份,验证所述软件已经注册而且所述哈希值a、所述哈希值b的正确性;权威注册单位以加密方式通知所述接收方,证实软件正确;如果所述软件存在错误,以加密方式通知所述接收方;所述接收方验证权威注册单位的身份和签名,如果所述软件真实,则部署所述软件,并同时以加密方式通知所述提供方;如果所述权威注册单位确认所述软件存在错误,则所述接收方拒绝所述软件,并以加密方式通知所述提供方;其中,接收方可以经过传统身份认证方式确定提供方的身份,以及得到提供方的公钥;接收方可以查询提供方的信誉,例如查询trisa系统或是strisa系统商提供商的信誉评价;接收方如果认为提供方信誉不够,拒绝此次软件传送。
12.优选的,所述提供方提供执行代码,包含软件的容器到达接收方后,可以直接放进当地的容器就可以执行;所述提供方和接受方可以使用多种哈希算法,但是必须使用同样算法。
13.优选的,所述步骤2的所述单哈希的验证流程包括:步骤221,所述提供方计算所述软件的哈希值,得到哈希值a,然后将所述软件装载入所述区块链容器内获得一个包含软件的区块链容器,对所述包含软件的区块链容器再计
算一次哈希,得到哈希值b;步骤222,所述提供方以加密方式向所述接收方通过通信协议传送所述哈希值a;步骤223,所述接受方收到所述哈希值a后,验证所述提供方的身份数字签名,验证通过后以加密方式传送“愿意接收软件”的信息给所述提供方;步骤224,所述提供方收到所述“愿意接收软件”的信息后,验证是否为所述接收方的身份和签名后,以加密方式传送所述软件以及所述包含软件的区块链容器;步骤225,所述接收方验证所述提供方的身份和数字签名,如果验证通过,所述接收方使用所述提供方提供的公钥将其打开,取出其中的软件,计算所述软件的哈希值c,如果所述哈希值c和所述哈希值a一致,则通过步骤225;如果不一致,拒绝所述软件,以加密协议通知所述提供方拒绝传送的所述软件和包含软件的区块链容器;步骤226,如果通过步骤225,所述接收方再次计算包含软件的区块链容器的哈希值,得到的哈希值d后以加密通信方法传送给所述提供方;步骤227,所述提供方验证所述接收方的身份和签名后,检验所述哈希值d,如果所述哈希值d和所述哈希值b一致,流程结束并以加密信息通知所述接受方“完成”信息;如果所述哈希值d和所述哈希值b不一致,通知所述接收方以及相关单位关于所述接收方改变器容器内容的行为,所述提供方以加密信息通知所述接收方不接受所述接收方使用所述区块链容器内的所述软件的执行结果;所述接收方以加密方式通知权威注册中心,收到所述提供方的软件和其哈希值,包括所述提供方的身份;权威注册中心收到信息,验证所述接收方的身份和签名,验证所述提供方的身份,验证软件已经注册,而且哈希值正确;权威注册单位以加密方式通知所述接收方,证实软件正确;如果所述软件存在错误,以加密方式通知所述接收方;所述接收方验证权威注册单位的身份和签名,如果所述软件真实,则部署所述软件,并同时以加密方式通知所述提供方;如果所述权威注册单位确认所述软件存在错误,则所述接收方拒绝所述软件,并以加密方式通知所述提供方;其中,所述接收方可以经过传统身份认证方式确定提供方的身份,以及得到提供方的公钥,所述接收方可以查询提供方的信誉,所述接收方如果认为提供方信誉不够,拒绝这次软件传送;全部流程都使用公私钥或是对称式加密方式传送。
14.优选的,对于所述步骤2执行双哈希的验证流程的情况,所述步骤4的所述持续查验需要更新步骤211包括:步骤2111,所述提供方在所述软件内设置“发现违规事件”机制和自毁机制,如果执行时发现违规事件,软件会自动销毁;将包含所述“发现违规事件”机制和自毁机制的所述软件加密后传送给所述提供方;步骤2112,所述提供方以加密方式询问所述接收方是否接收软件,所述接收方如果同意,则以加密方式提供所述接收方的身份信息,mac地址和签名信息;步骤2113,所述接收方收到所述信息后,验证所述接收方的身份信息, mac地址和签名信息是否是真实的,如果所述信息是真实的且愿意接收所述软件,则所述接收方提供所述接收方的身份证, mac地址和签名信息。
15.步骤2114,所述提供方收到信息,验证所述接收方的身份信息, mac地址和签名信息是否真实,并将所述提供方的哈希签名,容器镜像编号,发送时间信息附加所述接收方的特殊信息,对所述新的信息再度进行哈希计算获得哈希值img-hash,将所述新的信息和所
述哈希值img-hash存储在所述软件的源代码内;步骤2115,所述提供方编译软件代码,计算所述软件代码的哈希值并存储在所述区块链容器内;步骤2116,计算软件哈希a,计算软件加容器一起的系统的哈希b;就可以继续进行步骤212-步骤217;对于所述步骤2执行单哈希的验证流程的情况,所述步骤4的所述持续查验需要更新步骤221包括:步骤2211,所述提供方在所述软件内设置“发现违规事件”机制和自毁机制,如果执行时发现违规事件,软件会自动销毁;将包含所述“发现违规事件”机制和自毁机制的所述软件加密后传送给所述提供方;步骤2212,所述提供方以加密方式询问所述接收方是否接收软件,所述接收方如果同意,则以加密方式提供所述接收方的身份信息,mac地址和签名信息;步骤2213,所述接收方收到所述信息后,验证所述接收方的身份信息,mac地址和签名信息是否是真实的,如果所述信息是真实的且愿意接收所述软件,则所述接收方提供所述接收方的身份证, mac地址和签名信息。
16.步骤2214,所述提供方收到信息,验证所述接收方的身份信息, mac地址和签名信息是否真实,并将所述提供方的哈希签名,容器镜像编号,发送时间信息附加所述接收方的特殊信息,对所述新的信息再度进行哈希计算获得哈希值img-hash,将所述新的信息和所述哈希值img-hash存储在所述软件的源代码内;步骤2215,所述提供方编译软件代码,计算所述软件代码的哈希值并存储在所述区块链容器内;步骤2216,计算软件哈希a,计算软件加容器一起的系统的哈希b;继续进行步骤222-步骤227。
17.优选的,所述步骤4的所述持续查验的步骤包括:步骤41,所述提供方以加密方式通知权威注册中心,报告所述软件的信息和所述软件的哈希信息后进行软件传送和部署协议;步骤42,执行软件;所述软件自动销毁前,软件可以将现在服务器身份证, mac地址,时间发送到所述提供方;所述软件自动销毁包括自修改代码,软件防篡改,所述软件防篡改技术在软件中加入一些特殊的处理,使得他人试图修改软件时,软件可以拒绝执行、或者删除自身文件的行为。
18.本发明的目的还在于提供一种安全的区块链容器传送系统,包括:传送预备模块,用于实施传送前的预备工作;接收方可信度判断模块,用于判断所述接收方是否是可信的,如果所述接收方可信,所述提供方提供并实施双哈希的验证流程;如果所述接收方不可信,所述提供方提供并实施单哈希的验证流程;验证模块,用于完成并通过所述双哈希的验证流程或者所述单哈希的验证流程后,传送所述区块链容器;传送模块,用于当所述接收方收到所述区块链容器后,进行所述区块链容器的部
署和运行,对于实施单哈希的验证流程,当所述区块链容器被执行时实施二度查验,如果发现违规事件,所述区块链容器内的软件自动销毁。
19.本发明的有益效果:本发明的方法和系统所使用的协议、区块链软件包括智能合约可以安全传送,提供方可以安全的将软件完整的送给接收方,这样区块链以及智能合约可以高速部署,而不担心软件是否存在安全等问题。
20.根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
21.后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。本发明的目标及特征考虑到如下结合附图的描述将更加明显,附图中:图1为根据本发明的优选实施例的提供方提供双哈希的验证流程示意图;图2为根据本发明的优选实施例的提供方提供单哈希的验证流程示意图;图3为根据本发明优选实施例的提供方预备流程示意图。
具体实施方式
22.为了使得本发明能够针对其发明要点更加明显易懂,下面将结合附图和实例对本发明作进一步的说明。在下面的描述中阐述了很多细节和具体实例,提供这些实例是为了能够更透彻地理解本发明,并且能够将本发明完整形象地传达给本领域的技术人员。虽然本发明能够以很多不同于此描述的其它方式实施,但是本领域技术人员可以在不违背本发明内涵的情况下做相应的推广,因此本发明不受下面公开的具体实例及具体附图所限制。
23.在下面的描述中阐述了很多细节和具体实例,提供这些实例是为了能够更透彻地理解本发明,并且能够将本发明完整形象地传达给本领域的技术人员。虽然本发明能够以很多不同于此描述的其它方式实施,但是本领域技术人员可以在不违背本发明内涵的情况下做相应的推广,因此本发明不受下面公开的具体实例及具体附图所限制。
24.本实施例中,参与方包括提供方和接收方,负责提供区块链软件或智能合约软件的称为提供方,包括区块链或智能合约软件提供单位,提供方可以是政府监管单位、企业、高校、个人;接收提供方发送地软件的为接收方,接收方预备部署和执行区块链和智能合约应用,可以是政府、企业、高校或个人。所使用的传送机制解决如下技术问题:提供方提供的软件有保障,安全可靠;提供方身份可以被确认;提供方可以确保可以部署的软件数量;接收方接收的软件是提供方提供的,没有更改过;接收方只能部署从提供方来的而没有更改过的软件;接收方身份可以被确认;接收方不能更改从提供方送来的的软件;接收方不能多次部署从提供方送来的的软件;接收方如果在不合规的情形下使用送来的软件,例如多次部署,软件自动销毁。
25.本实施例安全的区块链容器传送方法,所述安全的区块链容器传送方法的参与方包括提供方和接收方,所述提供方负责提供区块链软件或智能合约软件,所述接收方预备
部署和执行区块链和智能合约应用,所述安全的区块链容器传送方法包括:步骤1,实施传送前的预备工作;步骤2,判断所述接收方是否是可信的,如果所述接收方可信,所述提供方提供并实施双哈希的验证流程;如果所述接收方不可信,所述提供方提供并实施单哈希的验证流程;步骤3,完成并通过所述双哈希的验证流程或者所述单哈希的验证流程后,传送所述区块链容器;步骤4,所述接收方收到所述区块链容器后,进行所述区块链容器的部署和运行,对于实施单哈希的验证流程,当所述区块链容器被执行时实施持续查验,如果发现违规事件,所述区块链容器内的软件自动销毁。
26.为了安全,区块链容器存储的软件都是执行代码,而不是源代码,而且所述执行内部设置反编译的机制;所述提供方使用不同代码反编译的方法作为所述反编译的机制,使所述执行代码很难被反编译;并且,所述提供方在软件中植入自毁的机制,一旦发现软件被复制,多次部署的违规事件,软件自动销毁。
27.作为优选的实施方式,如果所述接收方在接收到所传输的所述区块链容器内的所述软件时尚未形成特定的区块链系统,所述接收方就会在本地部署所述区块链容器内的软件,同时加入由所述提供方主持的所述区块链网络系统,所述提供方作为所述区块链网络系统上的超级节点,控制新的节点加入所述区块链网络系统;如果所述接收方接收到所述区块链容器内的软件后,更改软件,所述提供方会拒绝与所述接收方的通信,同时通知其他参与节点以及相关单位断开与所述接收方的联系;如果所述软件为智能合约软件,并且所述接收方已经形成特定的区块链系统,所述接收方在所述特定的区块链系统内部署所述智能合约软件;如果所述接收方还未形成特定的区块链系统,则向所述提供方发出出错信息通知,所述提供方作为所述区块链网络系统的超级节点,控制并选择可以执行所述智能合约软件的节点,如果所述接收方接收到所述智能合约软件后更改软件,所述提供方拒绝所述接收方的一切执行结果,将所述接收方对应的节点列为黑名单后将所述接收方排除出所述区块链网络系统(由于接收方对应节点更改了不应当更改的信息),并且将所述黑名单广播给所述区块链网络系统上的其他所有参与节点,其他所有参与节点同时将所述接收方节点排除出所述区块链网络系统;如果所述接收方对应的节点支付了保证金,所述保证金以智能合约方式立刻被没收。
28.作为优选的实施方式,所述步骤1包括:步骤11,将所述提供方提供的软件经第三方测试中心的测试验证后,获得第三方测试中心的许可证;步骤12,第三方测试中心通知权威注册中心:所述软件已经被验证过;步骤13,所述提供方通过在权威注册中心注册,所述软件以及所述软件的哈希在权威注册中心注册在权威注销中心找到合作的接收方;步骤14,所述接收方在权威注册中心注册,并确认可以接收在所述权威注册中心注册的所述提供方的所述软件;步骤15,所述接收方通过从权威注册中心取得所述提供方的身份信息以及所述提供方的软件信息在权威注册中心寻找合作的提供方,并且所述接收方通过向权威注册中心
提供所述软件的哈希查询所述软件;步骤16,所述提供方和所述接收方分别获得对方信息后,预备在所述接收方的服务器上部署由提供方提供的软件;其中,所述步骤11到所述步骤16全部采用加密协议完成,每一次通讯都进行身份认证;所述第三方测试中心使用标准测试工具以标准化测试流程;所述权威注册中心为政府监管下运行的区块链系统,用于为所述提供方和所述接收方提供注册服务,并且所述权威注册中心与身份认证单位合作以验证所述提供方和所述接收方的身份信息。
29.作为优选的实施方式,上面的步骤11-步骤16的流程可以更改,例如第三方测试中心可以不通知权威注册中心,而由提供方联络权威注册中心,第三方测试中心仅提供测试中心的许可证;权威注册中心拿到许可证后可以自己联络第三方测试中心,证实许可证是否是真实的。必要的是提供方和接收方都需要进行注册,提供方的软件需要经过第三方独立测试,所述提供方只能提供测试过的软件,而且不能更改软件。
30.如图1所示,作为优选的实施方式,所述步骤2的所述如果所述接收方可信,所述提供方提供并实施双哈希的验证流程方式中,提供方只负责传送正确容器,适用于接收方是可信的,提供方只要将软件安全完整送到接收方,交给可信的接收方流程就结束了,包括:步骤211,提供方计算软件哈希,得到哈希值a,然后将所述软件放进所述区块链容器后将所述区块链容器与所述软件融合,得到一个包含软件的区块链容器,对所述包含软件的区块链容器再计算一次哈希,得到哈希值b;步骤212,所述提供方以加密方式向所述接收方通过加密通信协议传送所述哈希值a和所述哈希值b;步骤213,所述接收方接收到所述哈希值a和所述哈希值b后,验证所述提供方的身份数字签名,验证通过后以加密方式传送“愿意接收软件”的信息给所述提供方;步骤214,所述提供方收到所述“愿意接收软件”的信息后,验证是否为所述接收方的身份和签名后,以加密方式传送所述软件以及所述包含软件的区块链容器,同时将包含软件的区块链容器进行加密;步骤215,所述接收方验证所述提供方的身份和数字签名,如果验证通过,所述接收方使用所述提供方提供的公钥将其打开,取出其中的软件,计算所述软件的哈希值c,如果所述哈希值c和所述哈希值a一致,则通过步骤215;步骤216,所述接收方再次计算包含软件的区块链容器的哈希值d,如果所述哈希值d与所述哈希值b一致,则通过步骤216;步骤217,所述接收方以加密方式通知权威注册中心,收到所述提供方的软件、所述哈希值a、所述哈希值b以及所述提供方的身份;权威注册中心收到信息,验证所述接收方身份和签名,验证所述提供方的身份,验证所述软件已经注册而且所述哈希值a、所述哈希值b的正确性;权威注册单位以加密方式通知所述接收方,证实软件正确;如果所述软件存在错误,以加密方式通知所述接收方;所述接收方验证权威注册单位的身份和签名,如果所述软件真实,则部署所述软件,并同时以加密方式通知所述提供方;如果所述权威注册单位确认所述软件存在错误,则所述接收方拒绝所述软件,并以加密方式通知所述提供方。
31.作为优选的实施方式,上面协议假设提供方是可靠的。接收方可以经过传统身份认证方式确定提供方的身份,以及得到提供方的公钥;接收方可以查询提供方的信誉,例如
查询trisa系统或是strisa系统商提供商的信誉评价;接收方如果认为提供方信誉不够,拒绝此次软件传送。
32.作为优选的实施方式,最后所述软件都是在所述区块链容器中执行。为了自身权益,提供方必定尽力拿出最好最可靠的软件代码,软件必定经过严格的检验和测试。如果发现一个提供方长期提供不好的软件,这单位被列为黑名单,接收方将不接受这家单位提供的软件。
33.作为优选的实施方式,提供方一般会提供执行代码,这样包含软件的容器到达接收方后,可以直接放进当地的容器就可以执行。
34.作为优选的实施方式,提供方和接受方可以使用多种哈希算法例如md5或是其他算法,但是必须使用同样算法。
35.作为优选的实施方式,如果权威注册中心没有参与此次验证流程,步骤217关于权威注册中心部分可以省去。
36.参见图2,所述步骤2的所述如果所述接收方不可信,所述提供方提供并实施单哈希的验证流程设计用于所述提供方验证接受方的协议,提供方为了检验接收方有没有作弊,只提供一次哈希,而不提供两次哈希。作弊的方式包括收到代码后,却更改代码。这里的步骤分为两段:第一段单哈希的验证流程,第二段是验证运行的软件。
37.其中,所述单哈希的验证流程包括:步骤221,所述提供方计算所述软件的哈希值,得到哈希值a,然后将所述软件装载入所述区块链容器内获得一个包含软件的区块链容器,对所述包含软件的区块链容器再计算一次哈希,得到哈希值b;。
38.步骤222,所述提供方以加密方式向所述接收方通过通信协议传送所述哈希值a;步骤223,所述接受方收到所述哈希值a后,验证所述提供方的身份数字签名,验证通过后以加密方式传送“愿意接收软件”的信息给所述提供方;步骤224,所述提供方收到所述“愿意接收软件”的信息后,验证是否为所述接收方的身份和签名后,以加密方式传送所述软件以及所述包含软件的区块链容器;步骤225,所述接收方验证所述提供方的身份和数字签名,如果验证通过,所述接收方使用所述提供方提供的公钥将其打开,取出其中的软件,计算所述软件的哈希值c,如果所述哈希值c和所述哈希值a一致,则通过步骤225;如果不一致,拒绝所述软件,以加密协议通知所述提供方拒绝传送的所述软件和包含软件的区块链容器;步骤226,如果通过步骤225,所述接收方再次计算包含软件的区块链容器的哈希值,得到的哈希值d后以加密通信方法传送给所述提供方;步骤227,所述提供方验证所述接收方的身份和签名后,检验所述哈希值d,如果所述哈希值d和所述哈希值b一致,流程结束并以加密信息通知所述接受方“完成”信息;如果所述哈希值d和所述哈希值b不一致,通知所述接收方以及相关单位关于所述接收方改变器容器内容的行为,所述提供方以加密信息通知所述接收方不接受所述接收方使用所述区块链容器内的所述软件的执行结果;所述接收方以加密方式通知权威注册中心,收到所述提供方的软件和其哈希值,包括所述提供方的身份;权威注册中心收到信息,验证所述接收方的身份和签名,验证所述提供方的身份,验证软件已经注册,而且哈希值正确;权威注册单位以加密方式通知所述接收方,证实软件正确;如果所述软件存在错误,以加密方式通知所
述接收方;所述接收方验证权威注册单位的身份和签名,如果所述软件真实,则部署所述软件,并同时以加密方式通知所述提供方;如果所述权威注册单位确认所述软件存在错误,则所述接收方拒绝所述软件,并以加密方式通知所述提供方。
39.作为优选的实施方式,上面协议假设提供方是可靠的。接收方可以经过传统身份认证方式确定提供方的身份,以及得到提供方的公钥。接收方可以查询提供方的信誉,例如查询trisa系统或是strisa系统商提供商的信誉评价。接收方如果认为提供方信誉不够,拒绝这次软件传送。
40.作为优选的实施方式,全部流程都使用公私钥或是对称式加密方式传送。这种流程比较简单,但是接收方只能相信提供方的包含软件的区块链容器。
41.作为优选的实施方式,如果权威注册中心没有参与,步骤227关于权威注册中心部分可以省去。
42.每个智能合约在代码中,在输出结果时,也同时输出这个智能合约的签名,这签名可以是身份证的哈希,另外也提供输出的时间。有了这信息,这些单位就不能否认提供这些智能合约。
43.作为优选的实施方式,每个金融机构以后会有lei(legal entity identifier),这是机构的身份证,每个智能合约还需要机构内智能合约的编号信息。这些身份证可以使用哈希或是其他算法得到签名。
44.参见图3,作为优选的实施方式,对于步骤2执行双哈希的验证流程的情况,步骤4的持续查验需要更新步骤211包括:步骤2111,提供方在软件内设置“发现违规事件”机制和自毁机制,如果执行时发现违规事件,软件会自动销毁;将包含“发现违规事件”机制和自毁机制的软件加密后传送给提供方;步骤2112,提供方以加密方式询问接收方是否接收软件,接收方如果同意,则以加密方式提供接收方的身份信息,mac地址和签名信息;步骤2113,接收方收到信息后,验证接收方的身份信息, mac地址和签名信息是否是真实的,如果信息是真实的且愿意接收软件,则接收方提供接收方的身份证, mac地址和签名信息。
45.步骤2114,提供方收到信息,验证接收方的身份信息, mac地址和签名信息是否真实,并将提供方的哈希签名,容器镜像编号,发送时间信息附加接收方的特殊信息,对新的信息再度进行哈希计算获得哈希值img-hash,将新的信息和哈希值img-hash存储在软件的源代码内;步骤2115,提供方编译软件代码,计算软件代码的哈希值并存储在区块链容器内;步骤2116,计算软件哈希a,计算软件加容器一起的系统的哈希b;就可以继续进行步骤212-步骤217;对于步骤2执行单哈希的验证流程的情况,步骤4的持续查验需要更新步骤221包括:步骤2211,提供方在软件内设置“发现违规事件”机制和自毁机制,如果执行时发现违规事件,软件会自动销毁;将包含“发现违规事件”机制和自毁机制的软件加密后传送给提供方;
步骤2212,提供方以加密方式询问接收方是否接收软件,接收方如果同意,则以加密方式提供接收方的身份信息,mac地址和签名信息;步骤2213,接收方收到信息后,验证接收方的身份信息,mac地址和签名信息是否是真实的,如果信息是真实的且愿意接收软件,则接收方提供接收方的身份证, mac地址和签名信息。
46.步骤2214,提供方收到信息,验证接收方的身份信息, mac地址和签名信息是否真实,并将提供方的哈希签名,容器镜像编号,发送时间信息附加接收方的特殊信息,对新的信息再度进行哈希计算获得哈希值img-hash,将新的信息和哈希值img-hash存储在软件的源代码内;步骤2215,提供方编译软件代码,计算软件代码的哈希值并存储在区块链容器内;步骤2216,计算软件哈希a,计算软件加容器一起的系统的哈希b;继续进行步骤222-步骤227;优选的,步骤4的持续查验的步骤包括:步骤41,提供方以加密方式通知权威注册中心,报告软件的信息和软件的哈希信息后进行软件传送和部署协议;步骤42,执行软件;软件自动销毁前,软件可以将现在服务器身份证, mac地址,时间发送到提供方;软件自动销毁包括自修改代码,软件防篡改,软件防篡改技术在软件中加入一些特殊的处理,使得他人试图修改软件时,软件可以拒绝执行、或者删除自身文件的行为。
47.在这种情况下,软件的执行过程包括:软件成功部署后,软件试运行时先查验镜像哈希信息,如果“发现违规机制”发现任何违规事件,软件启动自毁的行动;如果试运行成功,软件在实际场景下执行任务,而“发现违规机制”也一起执行;在实际环境执行任何时刻,“发现违规机制”发现任何违规事件,例如mac地址更改,相关单位的身份证等,软件自动执行自毁程序。
48.从而获得的效果为:如果接收方如果部署多次,或是拷贝后送给其他服务器或是单位,由于mac地址不同软件会自动销毁。。
49.作为优选的实施方式,在自毁前,软件可以将其他相关信息,包括现在服务器身份证, mac地址,时间等发送到提供方。
50.作为优选的实施方式,可以使用多种自毁技术,例如自修改代码,软件防篡改技术等都可以使用。软件防篡改技术在软件中加入一些特殊的处理,使得他人试图修改软件时,软件可以拒绝执行、或者删除自身文件等保护软件的行为。
51.本实施例的一种安全的区块链容器传送系统,包括:传送预备模块,用于实施传送前的预备工作;接收方可信度判断模块,用于判断接收方是否是可信的,如果接收方可信,提供方提供并实施双哈希的验证流程;如果接收方不可信,所述提供方提供并实施单哈希的验证流程;验证模块,用于完成并通过所述双哈希的验证流程或者所述单哈希的验证流程后,传送所述区块链容器;传送模块,用于当所述接收方收到所述区块链容器后,进行所述区块链容器的部
署和运行,对于实施单哈希的验证流程,当所述区块链容器被执行时实施二度查验,如果发现违规事件,所述区块链容器内的软件自动销毁。
52.本实施例的方法和系统所使用的协议、区块链软件包括智能合约可以安全传送,提供方可以安全的将软件完整的送给接收方,这样区块链以及智能合约可以高速部署,而不担心软件是否存在安全等问题。
53.虽然本发明已经参考特定的说明性实施例进行了描述,但是不会受到这些实施例的限定而仅仅受到附加权利要求的限定。本领域技术人员应当理解可以在不偏离本发明的保护范围和精神的情况下对本发明的实施例能够进行改动和修改。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献