在以太坊区块链上实现认证、授权和计费功能(2)-引言

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

  • 1引言
    • 1.1问题描述
    • 1.2解决方法
    • 1.3相关工作
    • 1.4概述

1引言

我们大多数人几乎每天都会访问云服务。 例如,

  • 使用基于网络的电子邮件系统,如Gmail,Outlook,Yahoo 互相发送信息;
  • 使用Facebook,LinkedIn和Twitter等社交网站共享信息并与朋友联系;
  • 使用Netflix和Hulu可以按需服务收看电视和电影;
  • 使用云端存储服务,如Google Drive,iCloud和Dropbox存储数字媒体,如照片,视频和文档。

企业通过云服务部署应用程序和服务,以降低运营成本和完善现金流。 例如,

  • 乘车分享服务优步和社交新闻网站Reddit使用亚马逊弹性计算云(EC2)为他们提供服务。
  • Netflix通过亚马逊网络服务托管他们的服务。
  • 代码托管站点Github则部署在Rackspace上。

显然,云服务已成为日常业务不可分割的一部分。

  云提供商提供云服务负责认证,授权和记账(AAA)框架。这个框架提供按需、可扩展、弹性、可靠和冗余的云服务[74]。提供商开发的AAA框架基于客户端 - 服务器模型,为用户维护客户端和服务器服务。用户与客户端进行交互,而客户端应用程序通过因特网与中央服务器进行通讯、请求响应。用户必须向提供商注册并创建数字身份。在这个过程中,用户必须提供敏感用户数据,例如姓名,用户名,电话号码,电子邮件和银行或信用卡等详细信息。这些用户敏感数据保存在跨多个数据中心的中央服务器上。还有就是用户必须在多个提供商之间创建多个数字身份去分别访问他们的服务。研究表明,从用户体验角度来看,因为用户必须反复重复相同的注册过程,并记住不同服务的多个密码,所以创建多个数字身份的过程不方便且麻烦。而且提供商的中央服务器是黑客的主要目标,这些用户数据容易受到黑客攻击[46,30]。

1.1问题描述

问题描述如下所示:

  • 云用户如何拥有包含自身用户数据的所有权? 在用户不共享其私人数据的情况下如何使用多个云提供商的服务并支付费用?
  • 该系统必须是透明、分布式、去中心化,易于使用、以及几乎不可能被黑客入侵。
  • 除此之外,网络中的任何人都应该能够验证交易、消息和数据,但没有人能够访问(除所有者之外)交易,消息或数据的内容。

1.2解决方法

  我们选择了科学设计方法论进行研究,以确保研究问题并概念验证。 研究的问题是基于云提供商对现有技术,以及对认证、授权和计费标准而确定的。 该解决方案是基于利用区块链技术而设计的可能解决方案。 概念证明是为支持解决方案而设计开发的。 此外,该解决方案经过测试并进行了测量证明了该解决方案的可行性。 最后,从理论和实践的角度进行了分析,并对未来的工作提出了进一步的改进和建议。

1.3相关工作

  与现有的AAA框架相比,区块链是相对较新的验证、授权和计费技术。 经过多次尝试,研究提供自治的用户身份;针对不同云服务,对用户进行验证和授权,并利用区块链系统进行支付。 一些流行的解决方案是bitid [49],nameid [47]和uPort [53]。
  Bitid是一个开放的协议,它通过基于公钥和区块链网络的认证方法,允许用户方便安全登录云服务[49]。 通过签署challenge来证明用户对服务的身份确认。 云提供商使用bitid可以开启区块链登录服务。 这不需要用户注册用户名/密码,而且提供数据所有权用户而不是云提供商。 这个协议的工作原型可以在参考这里[50]。
  NameID是基于Namecoin 4.2和OpenID [20]的实验技术,为用户提供独特,安全,去中心化和分布式的数字身份。 Namecoin是基于比特币的去中心化技术,允许用户注册与用户数据相关的名称。这些数据可以通过区块链网络中的所有人进行验证,未经用户许可的情况下,不能被攻击者伪造或审查,也不能检索数据。 OpenID是一种开放协议,用户不需要创建多个不同身份和密码的情况下,可以对多个服务进行身份验证。它通过一些可信的身份提供商向用户提供一个唯一的身份标识,这个身份标识可用于登录支持OpenID的其它服务。根据OpenID基金会统计,包括Google,微软,Facebook,Sun,Yahoo!等技术巨头在内的数十亿用户数据支持用户帐户启用OpenID。因此,NameID结合了Namecoin和OpenID两种技术,Namecoin发行数字区块链身份并与用户数据(用户名,电子邮件,电话号码)相关联,而OpenID允许即时登录到支持OpenID功能数以亿计的网站。
  uPort [53]是一个为用户提供基于区块链的身份认证的平台,并提供与去中心化的应用程序或服务进行交互的简便使用方法。这个平台允许终端用户建立一个数字身份,这个数字身份可以在多个云服务中使用而不需要任何密码。它允许用户完全拥有和控制他们的数字资产以及敏感的用户数据,以及可以选择性地将数据披露给对方用于访问对应的数字服务。此外,它允许用户对文档、数据、消息、交易进行数字签名和加密,并通过区块链网络发送这些文件与去中心化的应用进行交互。它建立在以太坊区块链之上,主要有三个组件:智能合约,第三方开发库和移动app:智能合约包含发布和恢复用户身份的核心逻辑;第三方开发库允许开发人员将uPort集成到第三方应用程序,作为身份提供者;移动app则是向用户提供身份/密钥管理界面。

  上面介绍的解决方案为用户提供了自治的身份。这些解决方案主要用于云提供商的认证和授权。然而,从提供商角度来看:可以验证和授权用户使用云资源;以及允许云提供者快速轻松编写和部署认证和授权逻辑的完整AAA解决方案是没有的;另外如何使用计费开发票和付款的设计也是没有的。因此,显然需要提出解决方法解决这些问题。本文为用户和云提供商提供了一个独特的解决方案:利用区块链的优势,轻松开发和部署用于用户身份验证和授权的区块链应用程序。它还可以在不提供信用卡详细信息的情况下支付发票。该解决方案是去中心化的,数据分布在自主权系统上,没有单点故障。

1.4概述

  本节讨论研究方法和相关工作、问题描述。 第2节描述了认证,授权和计费以及可能的漏洞等关键概念。 第3部分介绍区块链技术的关键概念、架构、工作原理和漏洞。 第4节介绍了最流行的区块链应用程序。 第5部分描述为什么选择以太坊区块链实现原型。第6部分描述具有软件架构和流程图的原型设计。 第7部分描述一个原型实现,其中包含硬件和软件组件以及其环境设置、实施和执行。 第8部分介绍原型的测试,最后介绍了讨论的结果以及未来可能的工作。

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

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

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