一种基于区块链的流式微服务可信加载与验证方法技术

技术编号:25761933 阅读:88 留言:0更新日期:2020-09-25 21:09
本发明专利技术公开了一种基于区块链的流式微服务可信加载与验证方法,具体为:首先服务提供方在区块链网络提交注册申请,获得用户注册证书生成的Token,并发送给用户;区块链网络验证Token的有效性,将有效Token上传至区块链网络;服务提供方将微服务与微服务关系图存入区块链网络;用户向区块链网络请求微服务,区块链网络基于图搜索算法遍历微服务关系图中的元数据,向用户返回其指定服务提供方的地址;最后用户通过HTTP协议向指定服务提供方请求微服务,区块链网络验证用户请求微服务的合理性,并向用户发送响应信息。解决了现有技术中存在的网络服务计算模型在复杂IoT应用场景下的网络安全风险问题。

【技术实现步骤摘要】
一种基于区块链的流式微服务可信加载与验证方法
本专利技术属于微服务
,具体涉及一种基于区块链的流式微服务可信加载与验证方法。
技术介绍
随着互联网时代的到来,轻量级移动终端设备的爆炸性增长,对设备之间的实时响应要求越来越高。BaaS(BlockStreamasaService)是一种更加安全、灵活和动态平衡的模型。在这种新的云服务模型中,不再是使应用程序完全运行在数据中心或者是将整个应用程序从应用程序商店下载客户端,而是将应用程序划分为微服务。此外,再将一些微服务运行在服务器端,同时对需要在设备本地运行的块进行流处理。用户通过网络获取所需的服务,在享受完服务之后,就可以将其抛弃,再从网络上获取新的服务。然而,这样的新兴网络服务计算模型在复杂的IoT应用场景下也面临着一定的网络安全风险,主要存在以下3种不安全场景:(1)用户可能存在恶意行为,用户向服务提供方请求的服务是不合理甚至是不存在的;(2)服务提供方可能存在恶意行为,服务提供方被恶意欺骗后向用户提供不正确的服务;(3)服务传输过程中可能存在恶意行为,服务提供方向用户传输服务时,在网络上遭受攻击,用户收到的服务被恶意替换或篡改。区块链技术起源于2008年发布的比特币白皮书,因其具有去中心化、开放性、防篡改性、匿名性、可追溯性而受到社会各界的广泛关注。区块链本质上是一个去中心化的分布式账本和数据库。按照区块链的开放程度可划分为公有链、联盟链。公有链往往是作为区块系统的底层支撑,任何人都可以参与进来,典型代表就是比特币(BTC)、以太坊(ETH)、EOS等。联盟链只对特定的组织团体开放,即仅限联盟成员参与,共识过程受到预选节点控制,而且节点只有通过授权后才能加入或退出。将区块链技术引入以提升网络服务计算模型的安全性,是非常有意义的。
技术实现思路
本专利技术的目的是提供一种基于区块链的流式微服务可信加载与验证方法,解决了现有技术中存在的网络服务计算模型在复杂IoT应用场景下的网络安全风险问题。本专利技术所采用的技术方案是,一种基于区块链的流式微服务可信加载与验证方法,具体按照以下步骤实施:步骤1,服务提供方在区块链网络提交注册申请,获得用户注册证书生成的Token,并发送给用户;步骤2,区块链网络验证Token的有效性,将有效Token上传至区块链网络;步骤3,服务提供方将微服务与微服务关系图存入区块链网络;步骤4,用户向区块链网络请求微服务,区块链网络基于图搜索算法遍历微服务关系图中的元数据,向用户返回其指定服务提供方的地址;步骤5,用户通过HTTP协议向指定服务提供方请求微服务,区块链网络验证用户请求微服务的合理性,并向用户发送响应信息。本专利技术的特点还在于,步骤1具体按照以下步骤实施:步骤1.1,区块链网络获得服务提供方的注册申请,设置公私钥路径,验证用户是否存在,若用户已经存在,则返回结束;若为新用户,则开始注册并登记,并返回用户名称和密码;步骤1.2,证书颁发机构通过用户名称和密码颁发注册证书,再通过注册证书生成Token,将Token发送给用户。步骤1.2具体为:证书颁发机构采用哈希算法对注册证书进行运算得到Hash1,再采用证书颁发机构的私钥及RSA算法对Hash1进行加密,得到加密证书即Token,将Token发送给用户。Token用于用户在区块链网络中增加、查询事件的身份凭证。步骤2具体按照以下步骤实施:步骤2.1,采用证书颁发机构的公钥解密Token,得到哈希值Hash2,再采用SHA256计算注册证书明文,得到密文Hash1;步骤2.2,将Hash1与Hash2的值进行对比,若Hash1与Hash2相同,则注册证书校验通过,否则,用户持有的是无效Token,结束校验。步骤3具体按照以下步骤实施:步骤3.1,服务提供方采用消息摘要算法对微服务的可执行文件进行加密,生成hash值;步骤3.2,采用服务提供方的私钥对hash值进行数字签名,将数字签名、公钥提交至区块链网络;步骤3.3,采用服务关系邻接矩阵和服务关系可达性矩阵将微服务关系图进行存储,采用服务提供方的私钥对其进行数字签名,将数字签名、公钥提交至区块链网络;步骤3.4,区块链将步骤3.2、步骤3.3中的数字签名、公钥生成提案,并提交至区块链中的背书节点;步骤3.5,背书节点模拟执行提案,并验证数字签名是否有效,若有效,调用SDK生成交易,排序服务节点对交易进行排序,并生成区块;否则结束。微服务关系图为有向无环图;服务关系邻接矩阵表示微服务间的直接服务关系;服务关系可达性矩阵表示微服务间的间接服务关系。步骤5具体按照以下步骤实施:步骤5.1,用户与指定服务提供方的服务器建立TCP连接,打开连接后,用户将请求信息发送到服务器的相应端口上;步骤5.2,指定服务提供方对请求信息进行处理,即区块链网络基于图搜索算法遍历微服务关系图;步骤5.3,若找到相应的微服务关系,即用户请求的微服务合理,则向用户提供微服务,跳至步骤5.4,否则,用户请求的微服务不合理,则拒绝用户的微服务请求;步骤5.4,用户得到微服务后,采用哈希算法对微服务进行运算,得到新hash值,将新hash值与区块链网络中存储的微服务hash值进行对比;步骤5.5,若新hash值与hash值相同,则说明微服务是由指定服务提供方提供,且微服务在传送过程中未受到攻击、篡改、替换;否则,用户拒绝接受微服务。用户请求的微服务合理,指定服务提供方通过SSL协议向用户传输微服务;SSL协议通信具体为:用户向指定服务提供方提供SSL版本、随机数a、加密方式;指定服务提供方将新加密方式、数字证书、随机数b发送给用户;用户确认数字证书的有效性,然后生成一个随机数,并采用指定服务提供方的数字证书公钥将随机数加密后发送给用户;指定服务提供方采用其私钥解密随机数;用户和指定服务提供方通过新加密方式将随机数、随机数a随机数b生成对话密钥用于通信。本专利技术的有益效果是,本专利技术一种基于区块链的流式微服务可信加载与验证方法,可以避免用户的恶意行为,即用户向服务提供方请求的服务不合理甚至不存在;可以避免服务提供方被恶意欺骗后向用户提供不正确的服务;可以避免微服务在传输过程中存在的恶意行为,即服务提供方在向用户传输服务时,在网络上遭受攻击,用户收到的服务可能被恶意替换或篡改;本专利技术一种基于区块链的流式微服务可信加载与验证方法,将服务提供方发布的微服务与微服务关系图上传至区块链网络,区块链网络作为服务提供方和用户之间的验证平台,记录两者交互的证据,从而使微服务在服务提供方与用户之间安全可信地加载与验证;本专利技术一种基于区块链的流式微服务可信加载与验证方法,将微服务与微服务关系图存储在区块链网络,利用区块链的不可篡改、可溯源、数据一致性等特点,实现服务提供方与用户双方可信的安全服务。附图说明图1是本文档来自技高网
...

【技术保护点】
1.一种基于区块链的流式微服务可信加载与验证方法,其特征在于,具体按照以下步骤实施:/n步骤1,服务提供方在区块链网络提交注册申请,获得用户注册证书生成的Token,并发送给用户;/n步骤2,区块链网络验证Token的有效性,将有效Token上传至区块链网络;/n步骤3,服务提供方将微服务与微服务关系图存入区块链网络;/n步骤4,用户向所述区块链网络请求微服务,所述区块链网络基于图搜索算法遍历微服务关系图中的元数据,向用户返回其指定服务提供方的地址;/n步骤5,用户通过HTTP协议向指定服务提供方请求微服务,所述区块链网络验证用户请求微服务的合理性,并向用户发送响应信息。/n

【技术特征摘要】
1.一种基于区块链的流式微服务可信加载与验证方法,其特征在于,具体按照以下步骤实施:
步骤1,服务提供方在区块链网络提交注册申请,获得用户注册证书生成的Token,并发送给用户;
步骤2,区块链网络验证Token的有效性,将有效Token上传至区块链网络;
步骤3,服务提供方将微服务与微服务关系图存入区块链网络;
步骤4,用户向所述区块链网络请求微服务,所述区块链网络基于图搜索算法遍历微服务关系图中的元数据,向用户返回其指定服务提供方的地址;
步骤5,用户通过HTTP协议向指定服务提供方请求微服务,所述区块链网络验证用户请求微服务的合理性,并向用户发送响应信息。


2.根据权利要求1所述的一种基于区块链的流式微服务可信加载与验证方法,其特征在于,所述步骤1具体按照以下步骤实施:
步骤1.1,区块链网络获得服务提供方的注册申请,设置公私钥路径,验证用户是否存在,若用户已经存在,则返回结束;若为新用户,则开始注册并登记,并返回用户名称和密码;
步骤1.2,证书颁发机构通过所述用户名称和密码颁发注册证书,再通过所述注册证书生成Token,将所述Token发送给用户。


3.根据权利要求2所述的一种基于区块链的流式微服务可信加载与验证方法,其特征在于,所述步骤1.2具体为:
所述证书颁发机构采用哈希算法对注册证书进行运算得到Hash1,再采用证书颁发机构的私钥及RSA算法对所述Hash1进行加密,得到加密证书即Token,将所述Token发送给用户。


4.根据权利要求2所述的一种基于区块链的流式微服务可信加载与验证方法,其特征在于,所述Token用于用户在区块链网络中增加、查询事件的身份凭证。


5.根据权利要求3所述的一种基于区块链的流式微服务可信加载与验证方法,其特征在于,所述步骤2具体按照以下步骤实施:
步骤2.1,采用所述证书颁发机构的公钥解密Token,得到哈希值Hash2,再采用SHA256计算注册证书明文,得到密文Hash1;
步骤2.2,将所述Hash1与Hash2的值进行对比,若Hash1与Hash2相同,则注册证书校验通过,否则,用户持有的是无效Token,结束校验。


6.根据权利要求2所述的一种基于区块链的流式微服务可信加载与验证方法,其特征在于,所述步骤3具体按照以下步骤实施:
步骤3.1,服务提供方采用消息摘要算法对所述微服务的可执行文件进行加密,生成hash...

【专利技术属性】
技术研发人员:王一川田钰滢任炬黑新宏朱赫尹欣悦马冰丁一凡
申请(专利权)人:西安理工大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1