基于联盟链的专用即时通信系统跨域身份认证方法及系统技术方案

技术编号:38390924 阅读:8 留言:0更新日期:2023-08-05 17:44
本发明专利技术公开一种基于联盟链的专用即时通信系统跨域身份认证方法及系统,首先构建联盟链,所述联盟链的共识节点为隶属于某个域下的通信服务器;管理员对用户的跨域认证权限进行管理,连接至不同通信服务器的用户之间进行跨域双向认证,跨域认证通过则建立跨域通信。此种技术方案不改变原有系统中的认证方式,将各个系统的通信服务器作为联盟链节点连接起来,各个系统设有负责管控与分配跨域认证权限的管理员,管理员将有跨域认证权限的用户的相关信息进行链上存证,通过区块链技术的不易篡改、账本集体维护、分布式多中心的特性,加强了可信任性,减少了认证传递过程,并设计一种高效的跨域双向身份认证方案,使跨域认证过程变得更为简便。得更为简便。得更为简便。

【技术实现步骤摘要】
基于联盟链的专用即时通信系统跨域身份认证方法及系统


[0001]本专利技术属于计算机安全
,涉及一种跨域认证方法,特别涉及一种基于联盟链的专用即时通信系统跨域身份认证方法及系统。

技术介绍

[0002]目前很多企事业单位出于通信效率及安全考虑,会自行部署一套专用的即时通信系统,仅供单位内部使用,这种专用的即时通信系统可保障企事业单位用户在工作上的沟通效率与安全。为了确保安全,系统往往会对接入访问进行控制,这使得这类系统具有一定的封闭性。当企事业与各个合作单位的专用即时通信系统之间进行相互访问,就会遇到信任问题,需要跨域认证技术,但传统跨域认证技术中还存在信任路径构造复杂,验证路径过长,验证效率低下、中心化等问题。
[0003]中国专利申请号2021103119489提供了一种基于联盟链的远程医疗跨域认证方法,采用区块链技术避免传统证书的撤销状态在线查询过程,优化身份证书的验证方式,有效保证链上证书信息的时效性的同时减少证书数据的存储空间大小。

技术实现思路

[0004]本专利技术的目的,在于提供一种基于联盟链的专用即时通信系统跨域身份认证方法及系统,可信任性高,跨域认证过程速度快。
[0005]为了达成上述目的,本专利技术的解决方案是:
[0006]一种基于联盟链的专用即时通信系统跨域身份认证方法,包括如下步骤:
[0007]步骤一,构建联盟链,所述联盟链下设若干共识节点,该共识节点为隶属于某个域下的通信服务器,且该通信服务器已经通过联盟链验证许可;所述联盟链设有账本,该账本用于记录每个共识节点对应的通信服务器中有跨域认证需求的用户信息,用户信息包括用户属性、用户所在系统中的CA签名的数字证书和时间戳;
[0008]步骤二,连接至第一通信服务器的第一用户向连接至第二通信服务器的第二用户发起跨域认证权限申请,由第二通信服务器对应的第二管理员决定是否接受,若接受,则第二管理员确认第一用户在第二用户的好友列表中,第一管理员确认第二用户在第一用户的好友列表中;再转步骤三;若第二管理员不接受,则反馈信息至第二通信服务器;
[0009]步骤三,连接至第一通信服务器的第一用户与连接至第二通信服务器的第二用户进行跨域双向认证,跨域认证通过则第一用户与第二用户建立跨域通信,跨域认证不通过则第一用户与第二用户不建立跨域通信。
[0010]上述步骤二的具体过程是,
[0011]步骤A1,第一通信服务器对应的第一管理员向第一通信服务器提交跨域认证权限请求信息,所述跨域认证权限请求信息包括第二通信服务器和第二用户信息;
[0012]步骤A2,第一通信服务器确认第一管理员身份后,向联盟链查询第二通信服务器的地址信息,并向第二通信服务器发送第一用户的跨域认证权限请求信息;
[0013]步骤A3,第二通信服务器接收到第一通信服务器的请求信息后,首先确认第一通信服务器的身份,之后生成相应的跨域认证权限请求信息反馈给第二通信服务器对应的第二管理员;
[0014]步骤A4,第二管理员接收到第一用户对第二用户的跨域认证权限请求后,决定是否允许第一用户与第二用户建立跨域通信,并向第二通信服务器反馈允许或不允许建立跨域通信的信息;若允许,则转步骤A5,若不允许,则转步骤A6;
[0015]步骤A5,判断第二用户是否在第二通信服务器的跨域认证白名单中,若在,则将第一用户添加到第二用户的好友列表中;若不在,则第二通信服务器先将第二用户的用户信息打包成区块,经多方共识后上链,即将第二用户的属性、其所在系统中的CA签名的数字证书和当前区块链系统时间戳写入联盟链账本中,再将第一用户添加到第二用户的好友列表中;然后转步骤A6;
[0016]步骤A6,第二通信服务器将第二管理员决定允许或不允许建立跨域通信的信息反馈给第一通信服务器;
[0017]步骤A7,第一通信服务器接收并解析第二通信服务器反馈的信息;若第二管理员允许建立跨域通信,则转步骤A8;若第二管理员不允许建立跨域通信,则转步骤A9;
[0018]步骤A8,判断第一用户是否在第一通信服务器的跨域认证白名单中,若在,则将第二用户添加到第一用户的好友列表中;若不在,则第一通信服务器先将第一用户的用户信息上链,即将第一用户的属性、其所在系统中的CA签名的数字证书和当前区块链系统时间戳写入联盟链账本中,再将第二用户添加到第一用户的好友列表中;然后转步骤A9;
[0019]步骤A9,第一通信服务器将第二管理员决定允许或不允许建立跨域通信的信息及第一通信服务器的操作结果反馈给第一管理员和第一用户。
[0020]上述步骤三的具体过程是,
[0021]步骤B1,第一用户向第一通信服务器发起与第二用户的跨域通信请求;
[0022]步骤B2,第一通信服务器验证第一用户的身份,验证通过后,第一通信服务器获取标记为最新时间戳的第二用户的证书Cert
B
,并发送给第一用户;
[0023]步骤B3,第一用户收到第二用户的证书Cert
B
后,基于第二用户的公钥K
pub_B
加密生成跨域认证消息M
A
,并将M
A
发送给第一通信服务器,M
A
包含C
A
和跨域通信信息,C
A
为包含随机数r
A
的加密信息,所述跨域认证信息包括第二用户的信息;
[0024]步骤B4,第一通信服务器接收到M
A
后,将M
A
转发给第二通信服务器;
[0025]步骤B5,第二通信服务器接收到M
A
后,从联盟链中获取标记为最新时间戳的第一用户的证书Cert
A
,将M
A
和Cert
A
发送给第二用户;
[0026]步骤B6,第二用户接收到M
A
和Cert
A
后,从M
A
中提取C
A
,并使用第二用户的私钥K
pri_B
解密得到r
A
;第二用户还从Cert
A
中提取第一用户的公钥K
pub_A
,并基于K
pub_A
解密得到r
A
',判断r
A
与r
A
'是否相等;若r
A
==r
A
'则生成跨域认证消息M
B
,并将M
B
发送给第一通信服务器,M
B
包含r
A
的哈希值h
A
和第一用户的信息;若r
A
≠r
A
'则第二用户拒绝第一用户的跨域认证请求,返回跨域认证不通过信息;
[0027]步骤B7,第一通信服务器接收到M
B
后,验证其合法性,若M
B
不合法则本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于联盟链的专用即时通信系统跨域身份认证方法,其特征在于包括如下步骤:步骤一,构建联盟链,所述联盟链下设若干共识节点,该共识节点为隶属于某个域下的通信服务器,且该通信服务器已经通过联盟链验证许可;所述联盟链设有账本,该账本用于记录每个共识节点对应的通信服务器中有跨域认证需求的用户信息,用户信息包括用户属性、用户所在系统中的CA签名的数字证书和时间戳;步骤二,连接至第一通信服务器的第一用户向连接至第二通信服务器的第二用户发起跨域认证权限申请,由第二通信服务器对应的第二管理员决定是否接受,若接受,则第二管理员确认第一用户在第二用户的好友列表中,第一管理员确认第二用户在第一用户的好友列表中;再转步骤三;若第二管理员不接受,则反馈信息至第二通信服务器;步骤三,连接至第一通信服务器的第一用户与连接至第二通信服务器的第二用户进行跨域双向认证,跨域认证通过则第一用户与第二用户建立跨域通信,跨域认证不通过则第一用户与第二用户不建立跨域通信。2.如权利要求1所述的方法,其特征在于:所述步骤二的具体过程是,步骤A1,第一通信服务器对应的第一管理员向第一通信服务器提交跨域认证权限请求信息,所述跨域认证权限请求信息包括第二通信服务器和第二用户信息;步骤A2,第一通信服务器确认第一管理员身份后,向联盟链查询第二通信服务器的地址信息,并向第二通信服务器发送第一用户的跨域认证权限请求信息;步骤A3,第二通信服务器接收到第一通信服务器的请求信息后,首先确认第一通信服务器的身份,之后生成相应的跨域认证权限请求信息反馈给第二通信服务器对应的第二管理员;步骤A4,第二管理员接收到第一用户对第二用户的跨域认证权限请求后,决定是否允许第一用户与第二用户建立跨域通信,并向第二通信服务器反馈允许或不允许建立跨域通信的信息;若允许,则转步骤A5,若不允许,则转步骤A6;步骤A5,判断第二用户是否在第二通信服务器的跨域认证白名单中,若在,则将第一用户添加到第二用户的好友列表中;若不在,则第二通信服务器先将第二用户的用户信息打包成区块,经多方共识后上链,即将第二用户的属性、其所在系统中的CA签名的数字证书和当前区块链系统时间戳写入联盟链账本中,再将第一用户添加到第二用户的好友列表中;然后转步骤A6;步骤A6,第二通信服务器将第二管理员决定允许或不允许建立跨域通信的信息反馈给第一通信服务器;步骤A7,第一通信服务器接收并解析第二通信服务器反馈的信息;若第二管理员允许建立跨域通信,则转步骤A8;若第二管理员不允许建立跨域通信,则转步骤A9;步骤A8,判断第一用户是否在第一通信服务器的跨域认证白名单中,若在,则将第二用户添加到第一用户的好友列表中;若不在,则第一通信服务器先将第一用户的用户信息上链,即将第一用户的属性、其所在系统中的CA签名的数字证书和当前区块链系统时间戳写入联盟链账本中,再将第二用户添加到第一用户的好友列表中;然后转步骤A9;步骤A9,第一通信服务器将第二管理员决定允许或不允许建立跨域通信的信息及第一通信服务器的操作结果反馈给第一管理员和第一用户。
3.如权利要求1所述的方法,其特征在于:所述步骤三的具体过程是,步骤B1,第一用户向第一通信服务器发起与第二用户的跨域通信请求;步骤B2,第一通信服务器验证第一用户的身份,验证通过后,第一通信服务器获取标记为最新时间戳的第二用户的证书Cert
B
,并发送给第一用户;步骤B3,第一用户收到第二用户的证书Cert
B
后,基于第二用户的公钥K
pub_B
加密生成跨域认证消息M
A
,并将M
A
发送给第一通信服务器,M
A
包含C
A
和跨域通信信息,C
A
为包含随机数r
A
的加密信息,所述跨域认证信息包括第二用户的信息;步骤B4,第一通信服务器接收到M
A
后,将M
A
转发给第二通信服务器;步骤B5,第二通信服务器接收到M
A
后,从联盟链中获取标记为最新时间戳的第一用户的证书Cert
A
,将M
A
和Cert
A
发送给第二用户;步骤B6,第二用户接收到M
A
和Cert
A
后,从M
A
中提取C
A
,并使用第二用户的私钥K
pri_B
解密得到r
A
;第二用户还从Cert
A
中提取第一用户的公钥K
pub_A
,并基于K
pub_A
解密得到r
A
',判断r
A
与r
A
'是否相等;若r
A
==r
A
'则生成跨域认证消息M
B
,并将M
B
发送给第一通信服务器,M
B
包含r
A
的哈希值h
A
和第一用户的信息;若r
A
≠r
A
'则第二用户拒绝第一用户的跨域认证请求,返回跨域认证不通过信息;步骤B7,第一通信服务器接收到M
B
后,验证其合法性,若M
B
不合法则丢弃,返回跨域认证不通过信息;若合法,则将其发送给第一用户;步骤B8,第一用户...

【专利技术属性】
技术研发人员:陈明志姚宏玮饶庆裕翁才杰许春耀郑绍华张瑞钟必胜陈志伟
申请(专利权)人:北卡科技有限公司
类型:发明
国别省市:

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

1