基于区块链的分布式IDaaS身份统一认证系统的制作方法

文档序号:17071722发布日期:2019-03-08 23:22阅读:581来源:国知局
基于区块链的分布式IDaaS身份统一认证系统的制作方法

本发明涉及云计算安全技术领域,尤其涉及一种基于区块链的分布式idaas身份统一认证系统。



背景技术:

云计算通过网络将资源以可靠的服务模式提供给用户,使用户无需了解底层技术细节就可以享受服务,从而从繁杂的基础设施维护工作中解放出来。由于云计算的巨大商业和社会价值,国内外各大it企业都先后推出了自己的云计算产品,各国政府对于云计算的应用进行研究。

在云计算不断提高生产效率的同时,其暴露出来的各种安全问题也不容忽视,云计算安全问题已经成为阻碍云计算发展的关键因素。

云计算安全问题是一个多层次并涉及到多研究领域的复杂问题。云环境下权限安全管理、跨云的资源共享等方面存在着严重的安全挑战,由此带来的身份认证、授权管理、访问控制等等问题更加严峻。同时,作为基础软硬件服务的提供者,云计算的基础设施服务层为云计算的平台层和应用层提供了基本性的安全保障,提高其安全性是整个云计算安全的基石。

云计算为计算行业带来了巨大的变革。软件,平台和基础设施现在都可以作为云服务提供给用户,而且还能够以云服务的方式向用户提供身份管理。换句话说,用户可以使用云服务中提供的身份认证管理架构的服务,即idaas(identityasaservice,身份即服务)的形式。idaas具有多种优势,例如减少基础设施的部署,使用云服务进行集成管理及易于使用。但是,使用idaas意味着将关键信息外包给第三方。与身份认证相关的数据(例如,用户帐户信息,安全凭证等)由第三方管理和控制,从而给用户带来了安全隐患。



技术实现要素:

本发明的实施例提供了一种基于区块链的分布式idaas身份统一认证系统,以克服现有技术的问题。

为了实现上述目的,本发明采取了如下技术方案。

一种基于区块链的分布式idaas身份统一认证系统,包括:可信机构ta、身份管理员idm、云服务提供者csp和用户user;

所述的ta,用于管理所有idm的注册和授权;

所述的idm,用于管理所有user的注册和认证,多个idm形成分布式idaas平台,该分布式idaas平台通过区块链的形式管理所有认证user的身份信息;

所述的user,用于向csp请求访问云服务;

所述的csp,用于接收到user发送的访问云服务的请求后,访问所述区块链,获取到所述区块链中包含的所述user的身份信息后,为所述user提供其所需云服务。

进一步地,所述的ta,用于产生大素数q和单向散列函数h,随机选择一个整数作为ta的私钥,满足gcd(skta,q-1)=1,计算出ta的公钥公布系统参数(q,g,h,pkta)。

进一步地,当idmi向ta进行注册时:

所述的idmi,用于向ta提交自己唯一的身份标识

所述的ta,用于在确认idmi的身份后,随机选择一个整数并计算将公私钥对和签名返回给idmi;

所述的idmi,用于使用ta的公钥pkta验证若验证成功,则确认公私钥及签名为ta颁发,将所述进行存储。

进一步地,当userx向idmi进行注册时:

所述的userx,用于在ta处获得带有ta签名的idmi的公钥userx使用ta公钥验证签名验证成功后,确认idmi公钥的合法性,使用idmi的公钥加密提交自己的身份信息

所述的idmi,用于确认userx的身份信息合法后,随机选择一个整数并计算和令牌向其他idm广播包含的消息,idmi维持一个公共账本,该公共账本中包含从区块链中获取的各个用户的认证信息,该认证信息包括用户身份信息的散列值、用户公钥以及令牌token。

进一步地,当这一轮共识的议长为idmi,其他idm为议员时;

所有的议员idm,用于监听到idmi广播的包含的消息后,验证下面公式是否成立:若成立,则将所述消息保存到自己的消息池中;

所述的idmi,用于在经过区块产生的时间间隔t后,给所有议员idm发送提议其中,pre_request表示议长请求议员投票,height为当前区块高度,block表示区块,该区块中包含多个用户的认证信息;

所有的议员idm,用于收到所述提议后,向议长idmx发送其中,pre_response表示议员回应议长idmx的请求;

所述的idmi,用于至少收到在线议员idm总数的2/3个签名时,确认达成共识,发布完整区块height,idmx,block,将区块block中包含的用户认证信息写入到自己的公共账本中;

所有的议员idm,用于从区块链中收到完整区块height,idmx,block,后,将区块block中包含的用户认证信息写入到自己的公共账本中,并且从自己的消息池中删除完整区块height,idmx,block,对应的消息,然后开始下一轮共识。

进一步地,如果议长idmx接收到的的数量没有达到在线议员idm总数的2/3,将执行下一轮共识。

进一步地,当userx想访问cloudm中cspm所提供的云服务时;

所述的userx,用于向cspm提交访问包含的云服务访问请求;

所述的cspm,用于接收到所述云服务访问请求后,访问所述区块链,查询同一个cloudm中的idm所维持的公共账本,查询公共账本中是否存在,若存在,则响应userx的服务请求,为所述的userx提供云服务。

由上述本发明的实施例提供的技术方案可以看出,本发明实施例为多个云构成的云联盟提供了一种基于区块链的分布式idaas身份统一认证机制,简化用户访问云服务的认证流程,实现用户身份统一认证,本发明通过采用区块链技术在保护用户敏感信息的同时简化了认证信息的管理。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种基于区块链的分布式idaas身份统一认证系统的结构示意图;

图2为本发明实施例提供的一种基于区块链的分布式idaas身份统一认证方法的处理流程图。

具体实施方式

下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。

为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。

本发明实施例引入区块链技术,设计一种基于区块链的分布式idaas身份统一认证机制,在不需要在用户和云服务之间共享任何隐私信息的情况下,实现用户登录访问云服务,实现云服务提供商直接为用户提供所需服务。

图1为本发明实施例提供的一种基于区块链的分布式idaas身份统一认证系统的结构示意图,该系统包含的实体信息如下:可信机构ta(trustedauthority)、每一个云中包含的身份管理员idm(identitymanager)、云服务提供者csp(cloudserviceprovider)和用户user。

可信机构ta(trustedauthority):ta是一个完全可信的机构,负责管理所有idm的注册和授权,它不经常参与到这个机制中。

身份管理员idm(identitymanager):idm是一个云中的可信的身份管理员,主要负责其域内所有user的注册,并管理user的身份信息。除此之外,所有的idm形成一个联盟链即分布式idaas平台。

分布式idaas平台是一个基于区块链的身份管理平台,区块链网络中的节点是各个云中的idm,用户提交个人身份信息到idm注册后,idm会将用户身份信息哈希后在区块链网络中广播,通过idm节点间共识,将哈希后的身份信息写入区块链。只有ta,idm和csp可以访问区块链。每一个idm负责维持一个公共账本,该公共账本中包含从区块链中获取的各个用户的认证信息,该认证信息包括用户身份信息的散列值、用户公钥以及令牌token。

云服务提供者csp(cloudserviceprovider):csp是一个云中的服务提供者,负责为注册过的合法的user提供其所需云服务。csp可以访问上述区块链,获取区块链中的区块信息,该区块信息中包括用户user的认证信息。

区块链对于ta,idm和csp是公开的,所以csp通过访问同一个云中的idm所维持的公共账本,获得账本中用户的认证信息。

用户user:user是云服务的请求者。

上述系统提供的基于区块链的分布式idaas身份统一认证方法的处理流程入图2所示,包括以下步骤:

步骤s21、可信机构ta初始化其系统参数。

在初始化阶段,可信机构ta初始化其系统参数,它主要执行下列操作:

设置一个系统安全参数η来产生一个满足安全需求的大素数q;

选择群gf(q)的一个生成元g和一个安全的单向散列函数h;

随机选择一个整数作为它的私钥,满足gcd(skta,q-1)=1,gcd为计算两个数的最大公约数,并且计算相应的公钥

可信机构ta严格保密skta,并且公布系统参数(q,g,h,pkta)。

步骤s22、各个idm在ta处注册。

在这个阶段,idm在ta处注册来获得ta授权的公私钥对。idm的注册过程执行下列操作:

一个idmi向ta提交自己唯一的脱敏的身份标识

ta确认idmi的身份后,随机选择一个整数并计算之后,ta以安全的方式将公私钥对和签名返回给idmi。

idmi使用ta的公钥pkta验证若验证成功,则确认公私钥及签名确实为ta颁发。

步骤s23、user在idm处注册。

user在idm处注册提交自己关键身份信息,便于后续直接访问云服务,过程如下:

假设一个userx所属区域云的身份管理员为idmi,userx在ta处获得带有ta签名的idmi的公钥

userx使用ta公钥验证签名验证成功后,确认idmi公钥的合法性;

userx使用idmi的公钥加密提交自己真实的身份信息,比如唯一的身份标识

idmi确认userx的身份合法后,随机选择一个整数并计算和令牌

idmi向其他idm广播包含的消息之后,通过共识阶段将写入到区块链中。

步骤s24、议长idmi与各个议员idm达成共识,将包含用户user的身份信息的区块写入到区块链中。

每一轮共识,都将会有一个idm来充当议长的角色,在这里每一轮共识都随机选择一个idm为议长,其他idm为议员,过程如下:

假设这一轮共识的议长为idmi,所有的议员idm独立监听广播的信息,比如idmi广播的包含的消息后,其他idm收到后,将验证下面公式是否成立:若成立,则将消息保存到自己的消息池中。

设置区块产生的时间间隔为t。经过时间后t,议长idmi给所有议员发送提议其中,pre_request表示议长请求议员投票,height为当前区块高度,block表示区块,该区块中包含多个用户的认证信息。

所有议员idmx收到该提议后,向议长idmi发送其中,pre_response表示议员回应议长idmi的请求。

idmi至少收到在线idm总数的2/3个签名时,达成共识,并且通过实用拜占庭容错算法在区块链中发布完整区块height,idmx,block,将区块block中包含的用户认证信息写入到自己的公共账本中。

如果的数量没有达到在线idm总数的2/3,将执行下一轮共识。

任何idm从区块链中收到完整区块height,idmx,block,后,将区块block中包含的用户认证信息写入到自己的公共账本中,并且从自己的消息池中删除完整区块height,idmx,block,对应的的消息,然后开始下一轮共识。

步骤s25、csp接收到user发送的访问云服务的请求后,获取到所述区块链中包含的所述user的身份信息后,为user提供其所需云服务。

这个阶段是userx直接向csp请求访问云服务,csp通过基于区块链的分布式idaas平台获得用户认证信息,无需对用户进行认证。过程如下:

当userx想访问任何一个云中的csp提供的云服务时,比如cloudm中cspm所提供的云服务,userx向cspm提交包含的云服务访问请求。

cspm接收到所述云服务访问请求后,访问所述区块链,查询同一个cloudm中的idm所维持的公共账本,查询公共账本中是否存在,若存在,则响应userx的服务请求,可为用户提供非敏感基础服务;

若userx要访问cspm中涉及隐私的敏感服务,比如外卖服务需要涉及用户电话、地址或定位等,这种情况下,cspm需要userx按个人意愿以及方式提供隐私信息。

综上所述,本发明实施例为多个云构成的云联盟提供了一种基于区块链的分布式idaas身份统一认证机制,简化用户访问云服务的认证流程,实现用户身份统一认证,本发明通过采用区块链技术在保护用户敏感信息的同时简化了认证信息的管理。

实施了本发明的方法,可以实现在一个大的分布式和异构环境中共享用户身份认证信息;可以实现在没有任何预共享信息的情况下,云服务提供商可直接为用户提供所需服务;可以实现云服务的轻量级访问,在用户请求任何云服务时,都无需进行身份认证;

本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1