一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

认证方法、装置、认证平台和存储介质与流程

2023-06-17 18:05:54 来源:中国专利 TAG:


1.本发明涉及网络信息安全领域,尤其涉及一种认证方法、装置、认证平台和存储介质。


背景技术:

2.相关技术中,二次认证流程用于终端和数据网络(dn,data network)之间的身份验证。其中,数据网络由应用提供商所有,位于运营商域之外。二次认证的初衷是因为应用提供商并不总是信任运营商的认证结果,希望自己执行认证,而不仅仅依赖于运营商提供的初始认证。具体地,当恶意用户通过运营商的主认证后访问到数据网络,可能会对数据网络发起拒绝服务(dos,denial of service)攻击。因此,二次认证旨在允许应用提供商在运营商为用户建立连接到数据网络的用户面之前对用户进行身份认证,这样可以有效减少恶意用户对数据网络的dos攻击。
3.实际应用时,考虑到认证凭证的预置和管理成本,并非所有应用提供商,特别是一些中小型应用提供商,既不能进行二次认证,也不愿意只依赖运营商的初始认证结果;因此,如何保证这类应用提供商的数据网络访问安全则是需要解决的问题。


技术实现要素:

4.有鉴于此,本发明的主要目的在于提供一种认证方法、装置、认证平台和存储介质。
5.为达到上述目的,本发明的技术方案是这样实现的:
6.本发明实施例提供了一种认证方法,应用于服务端,所述方法包括:
7.接收来自终端的访问请求;
8.根据所述访问请求生成安全认证请求;
9.根据所述安全认证请求查询认证平台,确定所述安全认证请求对应的终端的认证结果;
10.其中,所述认证平台基于区块链网络搭建,所述区块链网络包括至少一个确认节点;所述至少一个确认节点中的每个所述确认节点存储有相同的账本数据;所述账本数据基于一个或多个服务端的安全认证信息生成。
11.上述方案中,所述方法还包括:
12.向所述区块链网络发送提案请求;所述提案请求用于终端信息上链;
13.接收来自所述区块链网络的提案响应;所述提案响应至少包括:读书集;所述读书集用于明确背书节点的账本中的新增内容和/或修改内容;
14.根据所述提案请求和所述提案响应生成交易;
15.向所述区块链网络发送交易提案;所述区块链网络用于根据所述交易提案打包得到块并广播至所述区块链网络中的每个确认节点保存。
16.上述方案中,所述服务端对应有一个或多个背书节点;
17.相应于所述服务端对应有多个背书节点时,所述接收来自所述区块链网络的提案响应,包括:
18.接收多个背书节点发送的提案响应;
19.确定所述多个背书节点中每个背书节点的提案响应中的读书集;
20.确定多个读书集中的内容一致时,根据所述提案请求和所述提案响应生成交易;
21.确定多个读书集中的内容不一致时,重新发送提案请求,直至接收到的多个多个读书集中的内容一致。
22.上述方案中,所述服务端为以下之一:运营商服务端、应用提供端、服务提供端;
23.所述终端信息包括以下至少之一:终端属性信息、终端历史网络行为、终端网络信誉度、终端黑名单。
24.本发明实施例提供了一种认证方法,应用于认证平台,所述方法包括:
25.接收来自服务端的安全认证请求;
26.根据所述安全认证请求查询账本数据,得到所述安全认证请求对应的终端的认证结果;
27.其中,所述认证平台基于区块链网络搭建,所述区块链网络包括至少一个确认节点;所述至少一个确认节点中的每个所述确认节点存储有相同的账本数据;所述账本数据基于一个或多个服务端的安全认证信息生成。
28.上述方案中,所述区块链网络,包括:背书节点、排序节点、确认节点;
29.所述方法还包括:
30.所述背书节点接收来自服务端的提案请求;所述提案请求用于终端信息上链;
31.根据所述提案请求生成读书集,向所述服务端发送所述提案响应;所述提案响应至少包括:所述读书集;所述读书集用于明确背书节点的账本中的新增内容和/或修改内容;
32.所述排序节点接收来自所述服务端的交易提案,根据所述交易提案打包得到块并广播至所述区块链网络;
33.所述区块链网络中的每个确认节点接收所述块并将所述块写入自身的账本数据。
34.上述方案中,所述根据所述提案请求生成读书集,包括:
35.验证所述提案请求是否符合预设要求,确定所述提案请求符合预设要求时,调用链码并查询自身的账本;所述账本保存有当前区块链网络中所有终端的信息;
36.模拟执行所述提案请求,根据所述提案请求更新所述账本;
37.根据更新后的所述账本确定所述账本中的新增内容和/或修改内容,根据所述新增内容和/或修改内容生成读书集。
38.上述方案中,所述服务端包括以下至少之一:运营商、应用提供端、服务提供端;
39.所述终端信息包括以下至少之一:终端属性信息、终端历史网络行为、终端网络信誉度、终端黑名单。
40.本发明实施例提供了一种认证装置,应用于服务端,所述装置包括:
41.第一通信模块,用于接收来自终端的访问请求;
42.第一处理模块,用于根据所述访问请求生成安全认证请求;
43.根据所述安全认证请求查询认证平台,确定所述安全认证请求对应的终端的认证
结果;
44.其中,所述认证平台基于区块链网络搭建,所述区块链网络包括至少一个确认节点;所述至少一个确认节点中的每个所述确认节点存储有相同的账本数据;所述账本数据基于一个或多个服务端的安全认证信息生成。
45.上述方案中,所述第一通信模块,还用于向所述区块链网络发送提案请求;所述提案请求用于终端信息上链;
46.接收来自所述区块链网络的提案响应;所述提案响应至少包括:所述读书集;所述读书集用于明确背书节点的账本中的新增内容和/或修改内容;
47.所述第一处理模块,还用于根据所述提案请求和所述提案响应生成交易;
48.所述第一通信模块,还用于向所述区块链网络发送交易提案;所述区块链网络用于根据所述交易提案打包得到块并广播至所述区块链网络中的每个确认节点保存。
49.上述方案中,所述服务端对应有一个或多个背书节点;
50.相应于所述服务端对应有多个背书节点时,所述第一通信模块,用于接收多个背书节点发送的提案响应;
51.所述第一处理模块,还用于确定所述多个背书节点中每个背书节点的提案响应中的读书集;
52.确定多个读书集中的内容一致时,根据所述提案请求和所述提案响应生成交易;
53.确定多个读书集中的内容不一致时,重新发送提案请求,直至接收到的多个多个读书集中的内容一致。
54.上述方案中,所述服务端为以下之一:运营商服务端、应用提供端、服务提供端;
55.所述终端信息包括以下至少之一:终端属性信息、终端历史网络行为、终端网络信誉度、终端黑名单。
56.本发明实施例提供了一种认证平台,所述认证平台,包括:
57.第二通信模块,用于接收来自服务端的安全认证请求;
58.第二处理模块,用于根据所述安全认证请求查询账本数据,得到所述安全认证请求对应的终端的认证结果;
59.其中,所述认证平台基于区块链网络搭建,所述区块链网络包括至少一个确认节点;所述至少一个确认节点中的每个所述确认节点存储有相同的账本数据;所述账本数据基于一个或多个服务端的安全认证信息生成。
60.上述方案中,所述区块链网络,包括:背书节点、排序节点、确认节点;
61.所述背书节点,包括:第一子通信模块、第一子处理模块;
62.所述排序节点,包括:第二子通信模块、第二子处理模块;
63.所述确认节点,包括:第三子通信模块、第三子处理模块;
64.所述背书节点的第一子通信模块,用于接收来自服务端的提案请求;所述提案请求用于终端信息上链;
65.所述背书节点的第一子处理模块,用于根据所述提案请求生成读书集,向所述服务端发送所述提案响应;所述提案响应至少包括:所述读书集;所述读书集用于明确背书节点的账本中的新增内容和/或修改内容;
66.所述排序节点的第二子通信模块,用于接收来自所述服务端的交易提案;
67.所述第二子处理模块,用于根据所述交易提案打包得到块并广播至所述区块链网络;
68.所述区块链网络中的每个确认节点的第三子通信模块,用于接收所述块,所述第三子处理模块,用于将所述块写入自身的账本数据。
69.上述方案中,所述第一子处理模块,用于验证所述提案请求是否符合预设要求,确定所述提案请求符合预设要求时,调用链码并查询自身的账本;所述账本保存有当前区块链网络中所有终端的信息;
70.模拟执行所述提案请求,根据所述提案请求更新所述账本;
71.根据更新后的所述账本确定所述账本中的新增内容和/或修改内容,根据所述新增内容和/或修改内容生成读书集。
72.上述方案中,所述服务端包括以下至少之一:运营商、应用提供端、服务提供端;
73.所述终端信息包括以下至少之一:终端属性信息、终端历史网络行为、终端网络信誉度、终端黑名单。
74.本发明实施例提供了一种认证装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现服务端侧的任一项所述方法的步骤;或者,所述处理器执行所述程序时实现认证平台侧的任一项所述方法的步骤。
75.本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现服务端侧的任一项所述方法的步骤;或者,所述计算机程序被处理器执行时实现认证平台侧的任一项所述方法的步骤。
76.本发明实施例所提供的一种认证方法、装置、认证平台和存储介质,所述方法包括:服务端接收来自终端的访问请求;根据所述访问请求生成安全认证请求;根据所述安全认证请求查询认证平台,确定所述安全认证请求对应的终端的认证结果;其中,所述认证平台基于区块链网络搭建,所述区块链网络包括至少一个确认节点;所述至少一个确认节点中的每个所述确认节点存储有相同的账本数据;所述账本数据基于一个或多个服务端的安全认证信息生成;
77.相应的,认证平台接收来自服务端的安全认证请求;根据所述安全认证请求查询账本数据,得到所述安全认证请求对应的终端的认证结果;
78.如此,基于区块链网络构建的认证平台具有各个服务端的终端信息,利用各服务端共享的终端信息进行认证,使得一些服务端可以基于收集的终端信息执行访问控制,而无需部署自己的身份验证系统。
附图说明
79.图1为一种二次认证方法的流程图;
80.图2为本发明实施例提供的一种认证方法的流程示意图;
81.图3为本发明实施例提供的另一种认证方法的流程示意图;
82.图4为本发明应用实施例提供的一种认证系统的结构示意图;
83.图5为本发明应用实施例提供的一种终端信息上链方法的流程示意图;
84.图6为本发明应用实施例提供的一种认证方法的流程示意图;
85.图7为本发明实施例提供的一种认证装置的结构示意图;
86.图8为本发明实施例提供的一种认证平台的结构示意图;
87.图9为本发明实施例提供的另一种认证装置的结构示意图。
具体实施方式
88.在结合实施例对本发明再作进一步详细的说明前,先对相关技术进行说明。
89.二次认证发生的前提条件是终端已经接入运营商的网络(如第四代移动通信技术(4g,the 4th generation mobile communication technology)网络、第五代移动通信技术(5g,5th generation mobile communication technology))网络并成功完成了初始认证。此外,如果应用提供商想要使用二次认证能力的话,需要在用户终端中预存其认证凭证进行。二次认证的一个巧妙设计是其使用了可扩展的认证协议(eap,extensible authentication protocol)框架。由于eap框架在互联网中被广泛使用,所以二次认证采用eap框架可以适用于不同第三方业务提供商使用的各种证书类型和认证方法。
90.以5g网络为例,在二次认证的过程中,5g网络中的会话管理功能(smf,session management function)扮演eap认证的角色,而外部数据网络的认证服务器(dn-aaa,data network-authentication authorization accounting)则扮演eap后台认证服务器的角色。
91.如图1所示,在终端(ue,user equipment)向smf请求建立用户面协议数据单元(pdu,protocol data unit)会话时,smf根据终端用户的注册信息和本地策略决定是否需要二次认证流程。如果是的话,由smf发起eap认证流程,触发终端和dn-aaa之间的eap认证交互消息,当认证成功后,才由smf继续触发pdu会话建立流程,为终端和dn-aaa之间建立pdu会话。
92.下面结合实施例对本发明再作进一步详细的说明。
93.图2为本发明实施例提供的一种认证方法的流程示意图;如图2所示,所述方法可以应用于服务端;所述方法包括:
94.步骤201、接收来自终端的访问请求;
95.步骤202、根据所述访问请求生成安全认证请求;
96.步骤203、根据所述安全认证请求查询认证平台,确定所述安全认证请求对应的终端的认证结果;
97.其中,所述认证平台基于区块链网络搭建,所述区块链网络包括至少一个确认节点;所述至少一个确认节点中的每个所述确认节点存储有相同的账本数据;所述账本数据基于一个或多个服务端的安全认证信息生成。
98.所述服务端为以下之一:运营商服务端、应用提供端(ap,application provider)、服务提供端(sp,service provider);
99.所述运营商服务端为提供网络服务的供应商,如:移动运营商等。
100.所述应用提供端、所述服务提供端,通过数据网络(dn)为终端提供应用和/或服务;例如,某一个应用程序(app,application)的提供商,某一种服务平台(如水电缴费、购物、航班查询等)的提供商。
101.所述终端为通过访问数据网络(dn),使用应用和/或服务的设备,如移动电话、智能电话、笔记本电脑、数字广播接收器、个人数字助理(pda)、平板电脑(pad)、便携式多媒体
播放器(pmp)、穿戴式设备(比如智能手环、智能手表等)、导航装置等智能设备。
102.实际应用时,运营商服务端、应用提供端、服务提供端,可以将自身的终端信息上链,实现运营商服务端、各应用提供端、各服务提供端的终端信息的共享。
103.所述终端的访问请求可以携带终端的身份标识;相应的,生成的安全认证请求也携带终端的身份标识;基于终端的身份标识查询认证平台,确定安全认证请求对应的终端的认证结果。
104.基于此,在一些实施例中,所述方法还包括:
105.向所述区块链网络发送提案请求;所述提案请求用于终端信息上链;
106.接收来自所述区块链网络的提案响应;所述提案响应至少包括:所述读书集;所述读书集用于明确背书节点的账本中的新增内容和/或修改内容;
107.根据所述提案请求和所述提案响应生成交易;
108.向所述区块链网络发送交易提案;所述区块链网络用于根据所述交易提案打包得到块并广播至所述区块链网络中的每个确认节点保存。
109.具体来说,服务端(可以是运营商服务端、应用提供端、服务提供端)根据自身的终端信息生成提案请求,向区块链网络中的背书节点(可以是一个,也可以是多个)发送提案请求;背书节点接收来自服务端的提案请求,根据提案请求生成读书集,向所述服务端发送包括读书集的提案响应;这里的读书集用于明确背书节点的账本中的新增内容和/或修改内容;
110.服务端接收来自所述区块链网络中的背书节点的提案响应,根据提案请求和提案响应生成交易,然后向所述区块链网络中的排序节点发送交易提案;排序节点接收来自服务端的交易提案,根据交易提案打包得到块(block)并将得到的块广播至区块链网络中每个确认节点;区块链网络中的每个确认节点接收块并将块写入自身的账本数据。
111.当然,实际应用时,上链过程中也涉及到验证操作,比如,服务端生成提案请求后进行签名,相应的背书节点接收到提案请求后,首先验证发送方的签名是否合法,然后检查该提案请求是否是重放之前的请求,若不符合要求,则直接拒绝该请求,对于合法的、非重放类的提案请求,才会执行相应背书操作。
112.再比如,服务端接收到背书节点发来的带有签名的提案响应后,首先也需验证签名是否合法,若合法才会打包成交易。还比如,若服务端上链过程涉及多个背书节点,还需检测多个背书节点返回的提案响应中的读书集是否一致,确定各背书节点的读书集一致时,才会打包成交易。
113.当然,各确认节点接收到块后,也可进行格式检查、重复性验证、和/或签名检查,检查均合法后,对块进行拆分、背书签名验证;紧接着,对该块中所有交易进行读写集冲突检查等。
114.在一些实施例中,所述服务端对应有一个或多个背书节点;
115.相应于所述服务端对应有多个背书节点时,所述接收来自所述区块链网络的提案响应,包括:
116.接收多个背书节点发送的提案响应;
117.确定所述多个背书节点中每个背书节点的提案响应中的读书集;
118.确定多个读书集中的内容一致时,根据所述提案请求和所述提案响应生成交易;
119.确定多个读书集中的内容不一致时,重新发送提案请求,直至接收到的多个多个读书集中的内容一致。
120.在一些实施例中,所述终端信息包括以下至少之一:终端属性信息、终端历史网络行为、终端网络信誉度、终端黑名单。
121.所述认证结果可以包括以下至少之一:
122.运营商服务端的主认证结果、终端重要信息的哈希值、终端属性信息、终端网络信誉度、终端黑名单。
123.其中,所述终端属性信息,可以包括:终端对应用户的性别、网络使用年限等;
124.终端历史网络行为,包括:终端网上异常行为等;
125.终端网络信誉度,可以是运营商服务端、应用提供端、服务提供端对相应终端的信誉打分,如优、良、差等;
126.终端黑名单,可以指运营商服务端、应用提供端、服务提供端是否将该终端加入黑名单,进一步,可包括运营商服务端或者具体哪个应用提供端、服务提供端将该终端加入黑名单。
127.主认证结果可以指运营商主认证的结果;
128.重要信息的哈希值,是考虑到终端可能有本身不能公开的敏感信息,这里通过重要信息的哈希(hash)值用于标记不可暴露的信息,即不显示原始信息内容。
129.图3为本发明实施例提供的一种认证方法的流程示意图;如图3所示,所述方法可以应用于认证平台;所述方法包括:
130.步骤301、接收来自服务端的安全认证请求;
131.步骤302、根据所述安全认证请求查询账本数据,得到所述安全认证请求对应的终端的认证结果;
132.其中,所述认证平台基于区块链网络搭建,所述区块链网络包括至少一个确认节点;所述至少一个确认节点中的每个所述确认节点存储有相同的账本数据;所述账本数据基于一个或多个服务端的安全认证信息生成。
133.在一些实施例中,所述区块链网络可以由运营商服务端、应用提供端、服务提供端共同组建,各运营商服务端、应用提供端、服务提供端可以分别提供一个设备或通信节点以构建认证平台,该设备或通信节点一方面承担一部分背书功能,另一方面也承担交易的确认功能,即可以作为背书节点,也可也作为确认节点。
134.所述接收来自服务端的安全认证请求,包括:
135.区块链网络中的任一确认节点,接收其所属或关联的服务端的数据网络发送的安全认证请求;
136.所述安全认证请求携带待进行安全认证的终端的标识。
137.在一些实施例中,所述区块链网络,包括:背书节点、排序节点、确认节点;
138.所述方法还包括:
139.所述背书节点接收来自服务端的提案请求;所述提案请求用于终端信息上链;
140.根据所述提案请求生成读书集,向所述服务端发送所述提案响应;所述提案响应至少包括:所述读书集;所述读书集用于明确背书节点的账本中的新增内容和/或修改内容;
141.所述排序节点接收来自所述服务端的交易提案,根据所述交易提案打包得到块并广播至所述区块链网络;
142.所述区块链网络中的每个确认节点接收所述块并将所述块写入自身的账本数据。
143.具体来说,服务端(可以是运营商服务端、应用提供端、服务提供端)根据自身的终端信息生成提案请求,向区块链网络中的背书节点(可以是一个,也可以是多个)发送提案请求;背书节点接收来自服务端的提案请求,根据提案请求生成读书集,向所述服务端发送包括读书集的提案响应;这里的读书集用于明确背书节点的账本中的新增内容和/或修改内容;
144.服务端接收来自所述区块链网络中的背书节点的提案响应,根据提案请求和提案响应生成交易,然后向所述区块链网络中的排序节点发送交易提案;排序节点接收来自服务端的交易提案,根据交易提案打包得到块(block)并将得到的块广播至区块链网络中每个确认节点;区块链网络中的每个确认节点接收块并将块写入自身的账本数据。
145.当然,实际应用时,上链过程中也涉及到验证操作,比如,服务端生成提案请求后进行签名,相应的背书节点接收到提案请求后,首先验证发送方的签名是否合法,然后检查该提案请求是否是重放之前的请求,若不符合要求,则直接拒绝该请求,对于合法的、非重放类的提案请求,才会执行相应背书操作。
146.再比如,服务端接收到背书节点发来的带有签名的提案响应后,首先也需验证签名是否合法,若合法才会打包成交易。还比如,若服务端上链过程涉及多个背书节点,还需检测多个背书节点返回的提案响应中的读书集是否一致,确定各背书节点的读书集一致时,才会打包成交易。
147.当然,各确认节点接收到块后,也可进行格式检查、重复性验证、和/或签名检查,检查均合法后,对块进行拆分、背书签名验证;紧接着,对该块中所有交易进行读写集冲突检查等。
148.在一些实施例中,所述根据所述提案请求生成读书集,包括:
149.验证所述提案请求是否符合预设要求,确定所述提案请求符合预设要求时,调用链码并查询自身的账本;所述账本保存有当前区块链网络中所有终端的信息;
150.模拟执行所述提案请求,根据所述提案请求更新所述账本;
151.根据更新后的所述账本确定所述账本中的新增内容和/或修改内容,根据所述新增内容和/或修改内容生成读书集。
152.其中,所述预设要求,包括以下至少之一:
153.提案请求的签名是否合法、提案请求是否为重放之前的请求;
154.相应的,确定提案请求中的请求合法和/或提案请求非重放之前的请求,背书节点通过调用链码(s1)及对账本(l1)的查询访问,模拟执行所述提案请求,根据所述提案请求更新所述账本,然后得到更新后的账本确定所述账本中的新增内容和/或修改内容。
155.在一些实施例中,所述服务端包括以下至少之一:运营商、应用提供端、服务提供端;
156.所述终端信息包括以下至少之一:终端属性信息、终端历史网络行为、终端网络信誉度、终端黑名单。
157.所述认证结果可以包括以下至少之一:
158.运营商服务端的主认证结果、终端重要信息的哈希值、终端属性信息、终端网络信誉度、终端黑名单。
159.其中,所述终端属性信息,可以包括:终端对应用户的性别、网络使用年限等;
160.终端历史网络行为,包括:终端网上异常行为等;
161.终端网络信誉度,可以是运营商服务端、应用提供端、服务提供端对相应终端的信誉打分,如优、良、差等;
162.终端黑名单,可以指运营商服务端、应用提供端、服务提供端是否将该终端加入黑名单,进一步,可包括运营商服务端或者具体哪个应用提供端、服务提供端将该终端加入黑名单。
163.主认证结果可以指运营商主认证的结果;
164.重要信息的哈希值,是考虑到终端可能有本身不能公开的敏感信息,这里通过重要信息的哈希(hash)值用于标记不可暴露的信息,即不显示原始信息内容。
165.本发明实施例提供了一种基于区块链的二次认证系统,使得运营商和应用提供商可以安全地相互共享终端信息;所述终端信息可以包括终端身份信息、终端属性信息、终端网络信誉度、终端黑名单、终端历史网络行为等。
166.图4为本发明应用实施例提供的一种基于基于区块链的二次认证系统,如图4所示,所述系统可以包括:终端(ue)、运营商(mobile operator,相当于上述运营商服务端)、应用提供商、服务提供商。
167.其中,运营商和应用提供商,用于收集和整合自身获得的各终端的终端信息。所述终端信息与身份验证和授权相关,包括:终端身份信息、终端属性信息、终端网络信誉度、终端黑名单、终端历史网络行为等。
168.对于运营商而言,目前的访问控制是基于身份验证和密钥协议(aka)的,该协议依赖于运营商网络和用户身份识别模块(sim,subscriber identity module卡、全球用户识别卡(usim,universal subscriber identity module)共享的对称密钥。通过该架构,还可以在运营商执行初始认证的过程中,考虑终端属性信息、终端历史网络行为、终端网络信誉和终端黑名单等,为运营商提供细粒度的用户认证和授权控制机制,防止恶意用户访问网络或业务。
169.另外,因为在网络运维过程中,移动运营商可以从网络实体、网络管理系统和安全设备收集或分析安全相关信息,包括:安全威胁、攻击事件、风险警告和处置响应等。这些信息的分析结果可以被写入区块链并进行相互共享。运营商和应用提供商、服务提供商能够及时防范潜在的恶意用户或恶意事件,提高整个网络和应用整体的安全防护能力,这使得用户访问的网络和应用控制更加灵活、智能和安全。
170.本发明应用实施例中提供一种将认证信息写入基于hyperledger fabric(一种开源的、企业级的、带权限的分布式账本平台)的认证信息共享的区块链平台;该认证信息共享的区块链平台由运营商和应用提供商共同构建。其中,运营商充当客户端,向区块链发送写入用户信息的提议请求;当应用提供商作为客户端发送提案请求时,过程是相同的。
171.本发明实施例提供的方法可以使用联盟链hyperledger作为认证信息共享的区块链平台,涉及到peer节点和order节点。其中,peer节点一方面承担一部分背书功能,另一方面也承担交易的确认功能。这里,每条用户信息的上链过程相当于一次交易过程,整个交易
过程涉及到背书、排序、确认三个环节。区块链平台中的peer节点和order节点由5g网络的运营商和应用提供商、服务提供商共同组建。
172.运营商以用户面功能(upf,user plane function)为例,发起终端信息上链请求;应用提供商以(ap,application provider)1、服务提供商以(sp,service provider)1为例,发起终端属性信息上链请求。终端信息上链、终端属性信息上链请求的过程参考图5。
173.这里,在使用hyperledger fabric之前,运营商及应用提供商(ap,application provider)1可以部署并安装相应的软件开发工具包(software development kit,sdk),基于该sdk可以将终端信息上链请求打包成符合系统应用程序接口(api,application programming interface)要求消息的格式,同时请求带有确定的调用链码方法,即明确具体有谁来进行背书。同时,hyperledger fabric要求交易的每个环节中都需要进行签名,防止消息被伪造或篡改。
174.以运营商的终端信息上链为例说明,所述方法包括:
175.步骤501、运营商发送提案请求;
176.具体来数,所述步骤1包括:运营商使用sdk生成终端信息上链的提案请求并签名后,将用户信息上链的提案请求发送给背书节点(记做p1)。
177.这里,节点p2不承担对网络运营商相关交易的背书工作,因此,该请求并不会发送给节点p2。
178.步骤502、节点p1接收提案请求后,调用链码并查询账本(ledger);
179.具体来说,节点p1接收到提案请求后,首先验证提案请求的发送方的签名是否合法,然后检查该提案请求是否是重放之前的请求;
180.若签名不合法和/或是重放前的请求,则直接拒绝该请求;
181.若签名合法、且非重放类的提案请求,则节点p1通过调用链码s1及执行对账本l1的查询访问,模拟执行该提案请求是否是合理的;
182.节点p1完成模拟执行后,生成一个背书响应及读写集,所述读写集中会明确用户具体新增或修改的内容;
183.节点p1将背书响应及读写集签名后返回给运营商。
184.需要说明的是,账本l1中保存有当前区块链中所有终端的所有信息,因此,通过查询账本l1可以确认是新增终端、新增终端信息还是对原有终端信息的更新。
185.步骤503、运营商接收到节点p1发来的带有签名的提案响应后,首先验证签名是否合法,然后检查提案响应是否一致。
186.需要说明的是,本实施例中,upf只使用了一个背书节点(即p1),而实际应用场景中,可以有多个节点来完成背书过程。这种情况下,upf将需要比较所有背书节点返回的提案响应是否一致,若不一致说明背书过程失败,则需要重新发起提案请求,请求各背书请求再次背书。
187.步骤504、运营商将提案请求和提案响应打包成交易(transaction)提案,将交易提案提交给排序节点,以请求排序节点对交易进行排序。
188.其中,所述交易提案包括:读写集、背书节点的签名。
189.步骤505、排序节点接收交易提案,根据交易提案生成块(block);
190.具体来说,排序节点接收到运营商发送的交易提案,验证运营商的签名。
191.排序节点不需要为了执行其操作而检查交易的整个内容,它只是从网络中的所有服务端中接收交易,并按照预先设置好的共识机制,将接收到的所有交易按照一定大小打包成block,并对block进行签名后,将打包好的块广播给区块链平台中所有确认节点。
192.其中,确认节点包括:上述节点p1、节点p2;
193.实际应用时基于应用场景还可能包括节点p3、节点p4
……
节点pn。
194.步骤506、确认节点接收block,根据接收的block更新账本。
195.这里,确认节点包括:节点p1和节点p2;节点p1和节点p2均执行步骤6的操作。
196.所述根据接收的block更新账本,包括:
197.首先,对接收到的block进行格式检查、重复性验证、检查签名;
198.然后,对block进行拆分、背书签名验证;
199.紧接着,对block中所有交易进行读写集冲突检查;
200.最后,节点p1将整个block写入账本l1,节点p2将整个block写入账本l2。
201.写入账本中的block几乎会跟从order节点收到的block是一样的,除了在block中每笔交易中会带有有效或者无效的标记符。
202.如此,运营商与应用提供商、服务运营商均都拥有了同样的账本数据,很好的实现了用户身份认证的共享。
203.对于应用提供商、服务运营商的终端信息的上链、终端网络信誉度、终端黑名单上链的过程都是类似的,这里不多赘述。
204.以下提供一种基于上述认证信息共享的区块链平台的二次认证方法,如图6所示,所述方法包括:
205.步骤601、运营商完成与ue的主认证,ausf将身份认证结果写入区块链平台;
206.这里,所述ausf为amf提供ue鉴权服务。
207.步骤602、ue向upf发起pdu会话建立请求,以访问应用提供商的数据网络(dn)。
208.步骤603、数据网络从区块链平台获取认证结果。
209.此处,与相关技术提供的二次认证不同,数据网络不需要执行eap流程,直接从区块链平台获取认证结果。
210.步骤604、如果用户是合法的,则pdu会话成功建立,并且用户可以随后访问应用服务。
211.在此过程中,应用提供商允许ue根据区块链平台的结果访问应用服务。结果可以是简单的运营商的主身份验证结果、终端重要信息的哈希值、终端应用属性的组合,还可以包括终端网络信誉度、终端黑名单。详细信息由应用提供商、服务提供商基于自身需求设定。
212.此外,在用户访问应用服务器的过程中,应用提供商还可以随时将用户的行为写入区块链平台。一旦发生攻击,应用提供商可以将该信息写入区块链平台,并及时与移动运营商和其他应用提供商共享,从而避免更大范围的安全事件发生。
213.此外,现有的初始认证仅基于用户的身份,并不关心用户的属性、行为和声誉。而本发明实施例提供的基于区块链的认证系统,运营商可以执行细粒度的主认证,不仅基于用户的身份,而且还基于用户的属性、用户的声誉甚至用户黑名单;如此,增强了网络和应用程序安全保护的能力,也使得整个5g网络将更加安全和智能。
214.图7为本发明实施例提供的一种认证装置的结构示意图;如图7所示,应用于联邦学习平台,所述装置包括:
215.第一通信模块,用于接收来自终端的访问请求;
216.第一处理模块,用于根据所述访问请求生成安全认证请求;
217.根据所述安全认证请求查询认证平台,确定所述安全认证请求对应的终端的认证结果;
218.其中,所述认证平台基于区块链网络搭建,所述区块链网络包括至少一个确认节点;所述至少一个确认节点中的每个所述确认节点存储有相同的账本数据;所述账本数据基于一个或多个服务端的安全认证信息生成。
219.在一些实施例中,所述第一通信模块,还用于向所述区块链网络发送提案请求;所述提案请求用于终端信息上链;
220.接收来自所述区块链网络的提案响应;所述提案响应至少包括:所述读书集;所述读书集用于明确背书节点的账本中的新增内容和/或修改内容;
221.所述第一处理模块,还用于根据所述提案请求和所述提案响应生成交易;
222.所述第一通信模块,还用于向所述区块链网络发送交易提案;所述区块链网络用于根据所述交易提案打包得到块并广播至所述区块链网络中的每个确认节点保存。
223.在一些实施例中,所述服务端对应有一个或多个背书节点;
224.相应于所述服务端对应有多个背书节点时,所述第一通信模块,用于接收多个背书节点发送的提案响应;
225.所述第一处理模块,还用于确定所述多个背书节点中每个背书节点的提案响应中的读书集;
226.确定多个读书集中的内容一致时,根据所述提案请求和所述提案响应生成交易;
227.确定多个读书集中的内容不一致时,重新发送提案请求,直至接收到的多个多个读书集中的内容一致。
228.在一些实施例中,所述服务端为以下之一:运营商服务端、应用提供端、服务提供端;
229.所述终端信息包括以下至少之一:终端属性信息、终端历史网络行为、终端网络信誉度、终端黑名单。
230.需要说明的是:上述实施例提供的认证装置在实现相应认证方法时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将联邦学习平台的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的装置与相应方法的实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
231.图8为本发明实施例提供的另一种认证平台的结构示意图;如图8所示,所述认证平台,包括:
232.第二通信模块,用于接收来自服务端的安全认证请求;
233.第二处理模块,用于根据所述安全认证请求查询账本数据,得到所述安全认证请求对应的终端的认证结果;
234.其中,所述认证平台基于区块链网络搭建,所述区块链网络包括至少一个确认节
点;所述至少一个确认节点中的每个所述确认节点存储有相同的账本数据;所述账本数据基于一个或多个服务端的安全认证信息生成。
235.在一些实施例中,所述区块链网络,包括:背书节点、排序节点、确认节点;
236.所述背书节点,包括:第一子通信模块、第一子处理模块;
237.所述排序节点,包括:第二子通信模块、第二子处理模块;
238.所述确认节点,包括:第三子通信模块、第三子处理模块;
239.所述背书节点的第一子通信模块,用于接收来自服务端的提案请求;所述提案请求用于终端信息上链;
240.所述背书节点的第一子处理模块,用于根据所述提案请求生成读书集,向所述服务端发送所述提案响应;所述提案响应至少包括:所述读书集;所述读书集用于明确背书节点的账本中的新增内容和/或修改内容;
241.所述排序节点的第二子通信模块,用于接收来自所述服务端的交易提案;
242.所述第二子处理模块,用于根据所述交易提案打包得到块并广播至所述区块链网络;
243.所述区块链网络中的每个确认节点的第三子通信模块,用于接收所述块,所述第三子处理模块,用于将所述块写入自身的账本数据。
244.在一些实施例中,所述第一子处理模块,用于验证所述提案请求是否符合预设要求,确定所述提案请求符合预设要求时,调用链码并查询自身的账本;所述账本保存有当前区块链网络中所有终端的信息;
245.模拟执行所述提案请求,根据所述提案请求更新所述账本;
246.根据更新后的所述账本确定所述账本中的新增内容和/或修改内容,根据所述新增内容和/或修改内容生成读书集。
247.在一些实施例中,所述服务端包括以下至少之一:运营商、应用提供端、服务提供端;
248.所述终端信息包括以下至少之一:终端属性信息、终端历史网络行为、终端网络信誉度、终端黑名单。
249.需要说明的是:上述实施例提供的认证平台在实现相应认证方法时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将认证平台的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的装置与相应方法的实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
250.图9为本发明实施例提供的还一种认证装置的结构示意图,如图9所示,所述认证装置90包括:处理器901和用于存储能够在所述处理器上运行的计算机程序的存储器902;
251.所述认证装置应用于服务端,所述处理器901用于运行所述计算机程序时,执行:接收来自终端的访问请求;根据所述访问请求生成安全认证请求;根据所述安全认证请求查询认证平台,确定所述安全认证请求对应的终端的认证结果;其中,所述认证平台基于区块链网络搭建,所述区块链网络包括至少一个确认节点;所述至少一个确认节点中的每个所述确认节点存储有相同的账本数据;所述账本数据基于一个或多个服务端的安全认证信息生成。具体来说,所述认证装置还可以执行如图2所示的方法,与图2所示的认证方法实施
例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
252.所述认证装置应用于认证平台,所述处理器901用于运行所述计算机程序时,执行:接收来自服务端的安全认证请求;根据所述安全认证请求查询账本数据,得到所述安全认证请求对应的终端的认证结果;其中,所述认证平台基于区块链网络搭建,所述区块链网络包括至少一个确认节点;所述至少一个确认节点中的每个所述确认节点存储有相同的账本数据;所述账本数据基于一个或多个服务端的安全认证信息生成。具体来说,所述认证装置还可以执行如图3所示的方法,与图3所示的认证方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
253.实际应用时,所述认证装置90还可以包括:至少一个网络接口903。所述认证装置90中的各个组件通过总线系统904耦合在一起。可理解,总线系统904用于实现这些组件之间的连接通信。总线系统904除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为总线系统904。其中,所述处理器901的个数可以为至少一个。网络接口903用于认证装置90与其他设备之间有线或无线方式的通信。
254.本发明实施例中的存储器902用于存储各种类型的数据以支持认证装置90的操作。
255.上述本发明实施例揭示的方法可以应用于处理器901中,或者由处理器901实现。处理器901可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器901中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器901可以是通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器901可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器902,处理器901读取存储器902中的信息,结合其硬件完成前述方法的步骤。
256.在示例性实施例中,认证装置90可以被一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)、通用处理器、控制器、微控制器(mcu,micro controller unit)、微处理器(microprocessor)、或其他电子元件实现,用于执行前述方法。
257.本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序;
258.所述计算机可读存储介质应用于服务端,所述计算机程序被处理器运行时,执行:接收来自终端的访问请求;根据所述访问请求生成安全认证请求;根据所述安全认证请求查询认证平台,确定所述安全认证请求对应的终端的认证结果;其中,所述认证平台基于区块链网络搭建,所述区块链网络包括至少一个确认节点;所述至少一个确认节点中的每个所述确认节点存储有相同的账本数据;所述账本数据基于一个或多个服务端的安全认证信息生成。具体来说,所述计算机程序还可以执行如图2所示的方法,与图2所示的认证方法实
施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
259.所述计算机可读存储介质应用于认证平台,所述计算机程序被处理器运行时,执行:接收来自服务端的安全认证请求;根据所述安全认证请求查询账本数据,得到所述安全认证请求对应的终端的认证结果;其中,所述认证平台基于区块链网络搭建,所述区块链网络包括至少一个确认节点;所述至少一个确认节点中的每个所述确认节点存储有相同的账本数据;所述账本数据基于一个或多个服务端的安全认证信息生成。具体来说,所述计算机程序还可以执行如图3所示的方法,与图3所示的认证方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
260.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
261.上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
262.另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
263.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一个计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
264.或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
265.需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
266.另外,本技术实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
267.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表