在以太坊区块链上实现认证、授权和计费功能(7)-原型设计

论文摘要和目录内容请点击 《在以太坊区块链上实现认证、授权和计费(AAA)功能(1)》

  • 6原型设计
    • 6.1原型需求
    • 6.2软件架构
    • 6.3流程图

6原型设计

  本部分描述了原型的设计。 解释了原型设计和开发方式以及软件架构。 值得注意的是,这个原型是一个非常基本的概念证明,没有严格定义的期望,其结果可能会因选择哪个区块链网络而有所不同。

6.1原型需求

  如第1.1节所述,本文的目标是开发一个关于云提供商如何使用一个通用身份后端来验证和授权用户的概念证明。 概念验证还应该(不是云提供商)向用户提供用户数据的所有权。 用户应该能够在不共享私人财务数据的情况下支付他们的发票。
  原型的实际需求来自具有自己的身份后端的云提供商。 这些身份后端是单点故障。 如2.4节所述,它们也容易受到不同的攻击和用户数据泄露。 因此,云提供商需要一个共同的分布式去中心化后端。 该后端可以验证并授权云用户,而且没有单点故障,减少后门攻击和用户数据泄漏。
  原型的另一个基本目的是云用户数据所有权。 云用户注册云服务后,目前用户数据由云提供商拥有。 因此,云用户需要一个系统来获取他们的数据所有权。 用户能够使用具有相同身份访问多个云提供商的服务而不用共享他们的私人数据。 这确保用户能够在不共享其用户数据的情况下支付他们的发票。

6.2软件架构

  图9所示的软件体系结构显示了云提供商如何使用以太坊区块链技术实现普通身份后端的完整解决方案。 该解决方案还介绍了云用户如何使用区块链技术获取数据所有权,并在不共享其私人财务数据的情况下支付其发票。 如图9所示完整的开发解决方案不在本论文讨论。 但是,从架构的角度来讨论整个完整的解决方案。 关键的部分是:实施区块链网络的智能合约,并详细描述了供应商、区块链、智能合约和用户之间的关系。
  软件体系结构有四种类型的参与者:基础设施提供商,云提供商,以太坊区块链网络和用户,如图9所示。基础设施提供商是向云提供商提供基础设施服务(如计算、存储和网络)的提供商。 云提供商具有业务逻辑,如何使用和向最终用户展示基础设施服务。 在某些情况下,例如Amazon Web Service(AWS)[1],IBM Bluemix [13],Google Cloud [6],Microsoft Azure [16]云提供商也提供基础架构服务。 每个云提供商都有自己的智能合约,如图9所示,并提供关于如何鉴定和授权最终用户。 以太坊区块链网络为云提供商提供分布式去中心化身份后端。 最后,有一个最终用户通过云提供商的应用程序接口(API)[2]来使用基础架构服务。


图9 原型:架构图

  为了简单起见,如图9所示考虑用户,两个基础设施服务1和2以及两个云提供商1和2以及它们各自的智能合约。当然可以添加更多用户,可以容易地为多个用户扩展该图 用他们自己的以太坊钱包,在第11小节中描述。
  基础架构服务与其各自的云提供商进行交互,如图9所示。每个云提供商都使用智能合约来定义其身份验证和授权逻辑。 这些合同通过各自的API部署到区块链网络。 用户使用以太坊钱包创建自己的身份,从而生成一组私钥和公钥。 钱包存储私钥,同时将公钥部署到以太坊网络。 现在,用户可以通过云提供商API访问基础架构服务,该提供商使用区块链网络对用户进行身份验证和授权,如图9所示。
  多个云提供商连接到普通身份后端,如图9所示。用户还可以连接到相同的身份后端。 为了让用户使用云服务,能够利用区块链进行身份识别,而无需向云提供商提供任何私密信息。 此外,用户无需注册新的云提供商即可使用其服务。 根据这种架构,任何云提供商都可以集成或连接到现有的基础架构提供商,并提供他们的服务,而无需用户向其服务注册。

6.3流程图

  6.2中描述的完整解决方案,其流程图如图10所示。流程图描述了云用户如何与部署到区块链网络的云提供商智能合约进行交互。 为了简单起见,假定我们使用云资源(云资源不在本论文的范围之内)。 图中的关键组件是云提供商部署的智能合约以及用户如何使用区块链网络中的智能合约进行交易。


图10 原型:流程图
  首先,云提供商将合同部署到具有以太坊私有区块链网络中,如图10所示。同时,云用户使用以太坊钱包创建他/她的数字身份,如图10所示。用户可以访问云资源,比如创建虚拟机、存储等。如果用户通过身份验证和授权,他/她可以访问资源;否则,用户需要执行操作registerToProvider。成功授权后,用户可以访问资源。用户身份仍需要验证;成功时,原型证明了用户的真实性,并授权和验证用户访问资源,如图10所示。云提供商保留用户对其资源使用情况的跟踪。最终,提供者使用setDebt方法为用户设置债务。用户可以用payDebt方法在ether中支付这笔债务。此外,用户还可以取消注册或取消订阅云提供商,这将从云提供商中禁用用户,并且用户需要再次注册以访问资源。

论文摘要和目录内容请点击 《在以太坊区块链上实现认证、授权和计费(AAA)功能(1)》

作者:Mukesh Thakur
文章地址: http://forum.360bchain.com/comments.php?DiscussionID=142
版权声明: 作者保留权利。文章为作者独立观点,不代表B链网立场。严禁修改,转载请注明原文链接。

你可能感兴趣的:(区块链)