当前位置: 首页 > 专利查询>四川大学专利>正文

一种基于区块链技术的完全跨域身份认证方法技术

技术编号:27886143 阅读:44 留言:0更新日期:2021-03-31 01:48
本发明专利技术公开了一种基于区块链技术的完全跨域身份认证方法,包括:(1)、系统初始化阶段:该阶段主要实现了域实体公私钥初始化、区块链网络的建立以及链码的部署以及域信息存储等过程;(2)、域内认证阶段:该阶段主要实现了用户身份申请、验证、更新和撤销;(3)、跨域认证阶段:通过待认证用户与认证服务器,认证服务器与区块链之间的交互,该阶段安全实现了用户的完全跨域认证;步骤(1)和步骤(2)只执行一次即可。本发明专利技术在提高认证效率,保障认证安全性的同时实现了完全跨域的实体身份认证。

【技术实现步骤摘要】
一种基于区块链技术的完全跨域身份认证方法
本专利技术涉及跨域身份认证领域,具体是一种基于区块链技术的完全跨域身份认证方法。
技术介绍
区块链技术:区块链技术结合了分布式存储、点对点通信、共识机制和加密算法等一系列的计算机技术和密码学技术,实现了一个不需要第三方参与但高度可信的节点网络。根据网络是否具有节点准入机制和拥有控制权限的主体是否集中,区块链可以分为三类:公有链、私有链和联盟链。作为联盟链的典型代表-超级账本是Linux基金会发起的区块链技术项目,该项目致力于发展跨行业的商用区块链平台技术。超级账本同时结合了成员管理、区块链技术和智能合约三个功能范畴,适用于机构间的共识范围。智能合约:智能合约是一种自动化的自我验证和自我执行合同的计算机协议,其允许在没有第三方的情况下不受干扰的进行预先设定逻辑的执行。广泛使用的术语“智能合约”在超级账本中被称为“链码”。和以太坊中的智能合约类似,超级账本中的链码同样具有自我执行的逻辑,但相比较来说,超级账本中的链码支持的功能更多,集成了大量的密码学算法实现,因此在程序开发过程中,对使用者来说会更加友好。数字签名:数字签名是一种能够确定信息源真实性以及确保数据完整性的技术。一个典型的数字签名方案主要包含以下三个算法:1)密钥生成算法-(pk,sk)←Sig.Gen(1λ):传入安全参数λ,生成公钥pk和私钥sk。其中公钥用于验证签名,私钥用于生成签名;2)签名算法-σ←Sig.Sign(sk;m):使用签名者的私钥sk,为消息m生成签名者对该消息的签名σ;3)签名验证算法-Sig.Verify(pk;m,σ):使用签名者的公钥pk,验证σ是否为消息m的签名。验证成功则返回“1”,反之返回“0”。散列算法:密码学上的散列算法是一种将任意长度的输入消息映射为较短的、固定长度的消息摘要的方法,散列算法主要应用在保证数据完整性、单向数据加密和数字签名等场景。散列算法具有两个基本特性:1)单向性:对任何给定的x,Hash(x)相对易于计算。而给定y,寻找满足y=Hash(x)的x在计算上是不可行的;2)抗碰撞性:给定散列算法Hash(),要找到两个不同的消息x1≠x2,使其散列值Hash(x1)=Hash(x2)是计算不可行的。现有的跨域认证协议大体可以分为三类:基于传统PKI的跨域认证协议、基于IBE(Identity-BasedEncryption)技术的跨域认证协议和基于区块链技术的跨域认证协议。基于传统PKI的跨域认证协议能够很好的和现有的PKI拓扑结构兼容,但是存在证书管理的问题,使得跨域过程额外增加了证书管理和传递开销等问题。基于IBE技术的跨域认证协议很好的解决了基于传统PKI认证协议带来的证书管理复杂等问题,但是也在一定程度上增加了认证计算和通信开销。除了上述问题外,因为不同域相同的密码学体制的前提假设,大多数的认证协议都无法实现完全跨域的实体身份认证。现有的基于区块链技术的跨域认证协议在解决证书管理问题的同时能够大程度降低协议的认证计算开销,在一定程度上提高了认证效率,但是也不能实现完全跨域的实体身份认证。
技术实现思路
本专利技术所要解决的技术问题是提供一种基于区块链技术的完全跨域身份认证方法,基于联盟链超级账本实现,在保证认证过程安全性、提高跨域认证效率的前提下,实现完全跨域的实体身份认证。为解决上述技术问题,本专利技术采用的技术方案是:一种基于区块链技术的完全跨域身份认证方法,包括以下步骤:a)系统初始化(i)域实体公私钥初始化域A和域B中的全部实体,包含相应的域代理服务器和域内的全部用户,按照域密码学体制初始化各自的公私钥;(ii)区块链网络的建立以及链码的部署该步骤为域A及域B中的认证服务器ASA和ASB建立区块链网络;经过许可后,域A及域B中的认证服务器ASA和ASB加入到区块链网络中,同时事前定义好的链码也将会被部署;此链码主要包含三个函数;该函数处理域认证服务器发来的域信息存储请求,将域认证服务器的公钥散列值作为键,其所在域的签名算法SignX和散列算法HashX作为值,以键值对的形式存储至区块链网络中;该函数处理域认证服务器发来的用户身份信息存储请求,将用户的公钥散列值作为键,其所在域认证服务器的公钥散列值和身份状态state作为值,以键值对的形式存储至区块链网络中;该函数处理域认证服务器发来的用户身份验证请求;(iii)域信息存储域A及域B中的认证服务器ASA和ASB向区块链网络BC发送域信息存储请求将各域的签名及散列算法信息存储至区块链网络中;b)域内认证包括用户身份的申请、验证、更新和撤销操作;(i)申请系统初始化之后,域A和域B中的用户向本域的验证服务器ASX发送注册申请信息请求域内身份认证;(ii)验证X域的域认证服务器ASX在收到域内用户发送的注册申请信息后,对用户的身份进行认证,并将用户的身份信息存储到区块链网络中;(iii)更新用户在更新身份信息时,需要向本域认证服务器ASX提交身份更新申请信息,请求域认证服务器ASX对相关用户身份信息进行更新操作;通过验证后,域认证服务器ASX会对区块链账本中的用户身份信息进行更新;(iv)撤销在用户离开本域之前,须向本域的认证服务器ASX提交用户身份撤销信息以将区块链账本上该用户的身份信息撤销;c)跨域认证(i)即域A中的用户请求访问域B中的验证服务器ASB;(ii)即域B中的认证服务器ASB响应域A中的用户发来的访问请求信息,利用随机数生成算法产生随机数N,向域A中的用户返回消息{N};(iii)即域A中的用户在接收到域B中的认证服务器ASB返回的消息后,使用自己的签名私钥对随机数N签名生成之后向认证服务器ASB发送消息其中,和分别对应用户的私钥和公钥,是域A认证服务器ASA的公钥;(iv)即域B认证服务器ASB接收到域A中的用户返回的消息后,开始向区块链网络发送交易信息其中Verify是区块链网络链码中事先定义好的函数;(v)BC→ASB:{VerRes},即接收到来自域B认证服务器ASB发生的交易信息后,区块链BC开始执行在链码事先定义好的函数并在执行完成后向域B认证服务器发送链码验证结果{VerRes};域B认证服务器ASB验证认证结果信息{VerRes}:返回信息为认证成功信息,则成功完成本次认证,否则此次认证失败。进一步地,步骤1中第(3)步第(v)点的函数调用过程具体为:(1)获取域A签名算法以及散列算法信息{SignA,HashA}按照事先存储在区块链网络的键值对信息,根据返回消息中的域A认证服务器ASA的公钥散列信息链码将其作为键值对账本进行查询;如果查询有误,直接中断本次认证,并向域B认证服务器ASB返回VerRes“会话N中的用户声称所在域有误”的错误信息;如果查询成功,继续进行下本文档来自技高网
...

【技术保护点】
1.一种基于区块链技术的完全跨域身份认证方法,其特征在于,包括以下步骤:/n(1)系统初始化/n(i)域实体公私钥初始化/n域A和域B中的全部实体,包含相应的域代理服务器和域内的全部用户,按照域密码学体制初始化各自的公私钥;/n(ii)区块链网络的建立以及链码的部署/n该步骤为域A及域B中的认证服务器AS

【技术特征摘要】
1.一种基于区块链技术的完全跨域身份认证方法,其特征在于,包括以下步骤:
(1)系统初始化
(i)域实体公私钥初始化
域A和域B中的全部实体,包含相应的域代理服务器和域内的全部用户,按照域密码学体制初始化各自的公私钥;
(ii)区块链网络的建立以及链码的部署
该步骤为域A及域B中的认证服务器ASA和ASB建立区块链网络;经过许可后,域A及域B中的认证服务器ASA和ASB加入到区块链网络中,同时事前定义好的链码也将会被部署;此链码主要包含三个函数;










该函数处理域认证服务器发来的域信息存储请求,将域认证服务器的公钥散列值作为键,其所在域的签名SignX和散列算法HashX作为值以键值对的形式存储至区块链网络中;

该函数处理域认证服务器发来的用户身份信息存储请求,将用户的公钥散列值作为键,其所在域认证服务器的公钥散列值和身份状态state作为值以键值对的形式存储至区块链网络中;

该函数处理域认证服务器发来的用户身份验证请求;
(iii)域信息存储
域A及域B中的认证服务器ASA和ASB向区块链网络BC发送域信息存储请求将各域的签名及散列信息存储至区块链网络中;
(2)域内认证
包括用户身份的申请、验证、更新和撤销操作;
(i)申请
系统初始化之后,域A和域B中的用户向本域的验证服务器ASX发送注册申请信息请求域内身份认证;
(ii)验证
X域的域认证服务器ASX在收到域内用户发送的注册申请信息后,对用户的身份进行认证,并将用户的身份信息存储到区块链网络中;
(iii)更新
用户在更新身份信息时,需要向本域认证服务器ASX提交身份更新申请信息,请求域认证服务器ASX对相关用户身份信息进行更新操作;通过验证后,域认证服务器ASX会对区块链账本中的用户身份信息进行更新;
(iv)撤销
在用户离开本域之前,须向本域的认证服务器ASX提交用户身份撤销信息以将区块链账本上该用户的身份信息撤销;
(3)跨域认证
(i)即域A中的用户请求访问域B中的验证服务器ASB;
(ii)即域B中的认证服务器ASB响应域A中的用户发来的访问请求信息,利用随机数生成算法产生随机数N,向域A中的用户返回消息{N};
(iii)即域A中的用户UAi在接收到域B中的认证服务...

【专利技术属性】
技术研发人员:兰晓张红霞陈兴蜀金泓键曹琪
申请(专利权)人:四川大学
类型:发明
国别省市:四川;51

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

1