会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 区块链处理实体 / 一种系统间认证方法及系统

一种系统间认证方法及系统

申请号 CN202210634802.2 申请日 2022-06-07 公开(公告)号 CN114978741A 公开(公告)日 2022-08-30
申请人 中国电信股份有限公司; 发明人 张蔚茵;
摘要 本公开实施例提供了一种系统间认证方法及系统,涉及通信安全技术领域,本公开实施例包括:第一联合实体从区块链网络中获取第二联合实体的实体信息,并向第二联合实体发送第一调用请求,第一调用请求包括第一联合实体的身份信息和利用第一联合实体的私钥对该身份信息进行加密后得到的第一数字签名。第二联合实体从区块链网络中获取第一联合实体的实体信息,利用第一联合实体的公钥,对第一数字签名进行验证,若验证通过,则向第一联合实体发送第一调用响应;其中第一调用响应包括第二处理实体的网络地址。第一联合实体向第一处理实体发送第二处理实体的网络地址,第一处理实体访问第二处理实体。从而提高了MEC系统的边缘计算服务的安全性。
权利要求

1.一种系统间认证方法,其特征在于,应用于系统间认证系统,所述系统间认证系统包括请求方系统、提供方系统和区块链网络,所述请求方系统包括:第一联合实体和第一处理实体;所述提供方系统包括:第二联合实体和第二处理实体,所述区块链网络用于存储具有联盟关系的每个系统中联合实体的实体信息,所述实体信息包括网络地址和公钥;所述方法包括:所述第一联合实体从所述区块链网络中获取所述第二联合实体的实体信息,并根据所述第二联合实体的实体信息,向所述第二联合实体发送第一调用请求,所述第一调用请求包括所述第一联合实体的身份信息和利用所述第一联合实体的私钥对所述第一联合实体的身份信息进行加密后得到的第一数字签名;

所述第二联合实体响应于所述第一调用请求,从所述区块链网络中获取所述第一联合实体的实体信息,利用所述第一联合实体的公钥,对所述第一数字签名进行验证,如果对所述第一数字签名验证通过,则向所述第一联合实体发送第一调用响应;所述第一调用响应包括所述第二处理实体的网络地址;

所述第一联合实体向所述第一处理实体发送所述第二处理实体的网络地址;

所述第一处理实体基于所述第二处理实体的网络地址访问所述第二处理实体。

2.根据权利要求1所述的方法,其特征在于,所述第一调用响应还包括:待传输信息以及利用所述第二联合实体的私钥对所述第二处理实体的网络地址和所述待传输信息进行加密后得到的第二数字签名,所述待传输信息包括所述第二联合实体分配的第一访问令牌,在所述第一联合实体向所述第一处理实体发送所述第二处理实体的网络地址之前,所述方法还包括:所述第一联合实体利用所述第二联合实体的公钥,对所述第二数字签名进行验证,如果对所述第二数字签名验证通过,则执行所述向所述第一处理实体发送所述第二处理实体的网络地址的步骤。

3.根据权利要求2所述的方法,其特征在于,所述第一处理实体包括第一管理实体和第一服务实体;所述第二处理实体包括第二管理实体和第二服务实体;所述待传输信息还包括利用所述第二联合实体的私钥对所述第一访问令牌和所述第二管理实体的网络地址进行加密后得到的第三数字签名;

在所述第一处理实体基于所述第二处理实体的网络地址访问所述第二处理实体之前,所述方法还包括:所述第一管理实体接收所述第一联合实体发送的所述第一访问令牌和所述第三数字签名;

所述第一处理实体基于所述第二处理实体的网络地址访问所述第二处理实体,包括:

所述第一管理实体向所述第二管理实体发送第二调用请求,所述第二调用请求包括所述第一访问令牌和所述第三数字签名;

所述第二管理实体响应于所述第二调用请求,获取所述第二联合实体的公钥,并利用所述第二联合实体的公钥,对所述第三数字签名进行验证;如果对所述第三数字签名验证通过,则向所述第一管理实体发送所述第二调用响应,所述第二调用响应包括所述第二服务实体的网络地址;

所述第一管理实体向所述第一服务实体发送所述第二服务实体的网络地址;

所述第一服务实体基于所述第二服务实体的网络地址访问所述第二服务实体。

4.根据权利要求3所述的方法,其特征在于,所述第二调用响应还包括:所述第二管理实体分配的第二访问令牌和使用所述第二管理实体的私钥对所述第二访问令牌和所述第二服务实体的网络地址进行加密后得到的第四数字签名;所述第一处理实体基于所述第二处理实体的网络地址访问所述第二处理实体之前,所述方法还包括:所述第一服务实体接收所述第一管理实体发送的所述第二访问令牌和所述第四数字签名;

所述第一服务实体基于所述第二服务实体的网络地址访问所述第二服务实体,包括:

所述第一服务实体基于所述第二服务实体的网络地址,向所述第二服务实体发送第三调用请求,所述第三调用请求包括所述第二访问令牌和所述第四数字签名;

所述第二服务实体响应于第三调用请求,获取所述第二管理实体的公钥,并利用所述第二管理实体的公钥,对所述第四数字签名进行验证,如果对所述第四数字签名验证通过,则向所述第一服务实体提供服务。

5.根据权利要求3所述的方法,其特征在于,所述第一处理实体还包括第一平台管理实体;所述第一管理实体向所述第一服务实体发送所述第二服务实体的网络地址,包括:所述第一管理实体向所述第一平台管理实体发送所述第二服务实体的网络地址;

所述第一平台管理实体向所述第一服务实体转发所述第二服务实体的网络地址。

6.根据权利要求1所述的方法,其特征在于,所述区块链网络对应存储有所述提供方系统中第二联合实体的实体信息以及所述提供方系统提供的服务的服务信息;所述第一联合实体从所述区块链网络中获取所述第二联合实体的实体信息,包括:所述第一联合实体从所述区块链网络中查找指定服务信息对应的联合实体的实体信息。

7.根据权利要求1所述的方法,其特征在于,所述请求方系统为多接入边缘计算MEC系统或云系统,所述提供方系统为MEC系统。

8.一种系统间认证系统,其特征在于,包括请求方系统、提供方系统和区块链网络,所述请求方系统包括:第一联合实体和第一处理实体;所述提供方系统包括:第二联合实体和第二处理实体,所述区块链网络用于存储具有联盟关系的每个系统中联合实体的实体信息,所述实体信息包括网络地址和公钥;

所述第一联合实体,用于从所述区块链网络中获取所述第二联合实体的实体信息,并根据所述第二联合实体的实体信息,向所述第二联合实体发送第一调用请求,所述第一调用请求包括所述第一联合实体的身份信息和利用所述第一联合实体的私钥对所述第一联合实体的身份信息进行加密后得到的第一数字签名;

所述第二联合实体,用于响应于所述第一调用请求,从所述区块链网络中获取所述第一联合实体的实体信息,利用所述第一联合实体的公钥,对所述第一数字签名进行验证,如果对所述第一数字签名验证通过,则向所述第一联合实体发送第一调用响应;所述第一调用响应包括所述第二处理实体的网络地址;

所述第一联合实体,用于向所述第一处理实体发送所述第二处理实体的网络地址;

所述第一处理实体,用于基于所述第二处理实体的网络地址访问所述第二处理实体。

9.根据权利要求8所述的系统间认证系统,其特征在于,所述第一调用响应还包括:待传输信息以及利用所述第二联合实体的私钥对所述第二处理实体的网络地址和所述待传输信息进行加密后得到的第二数字签名,所述待传输信息包括所述第二联合实体分配的第一访问令牌;

所述第一联合实体,还用于在向所述第一处理实体发送所述第二处理实体的网络地址之前,利用所述第二联合实体的公钥,对所述第二数字签名进行验证,如果对所述第二数字签名验证通过,则执行所述向所述第一处理实体发送所述第二处理实体的网络地址的步骤。

10.根据权利要求9所述的系统间认证系统,其特征在于,所述第一处理实体包括第一管理实体和第一服务实体;所述第二处理实体包括第二管理实体和第二服务实体;所述待传输信息还包括利用所述第二联合实体的私钥对所述第一访问令牌和所述第二管理实体的网络地址进行加密后得到的第三数字签名;

所述第一管理实体,用于接收所述第一联合实体发送的所述第一访问令牌和所述第三数字签名;

所述第一管理实体,还用于向所述第二管理实体发送第二调用请求,所述第二调用请求包括所述第一访问令牌和所述第三数字签名;

所述第二管理实体,用于响应于所述第二调用请求,获取所述第二联合实体的公钥,并利用所述第二联合实体的公钥,对所述第三数字签名进行验证;如果对所述第三数字签名验证通过,则向所述第一管理实体发送所述第二调用响应,所述第二调用响应包括所述第二服务实体的网络地址;

所述第一管理实体,还用于向所述第一服务实体发送所述第二服务实体的网络地址;

所述第一服务实体,用于基于所述第二服务实体的网络地址访问所述第二服务实体。

11.根据权利要求10所述的系统间认证系统,其特征在于,所述第二调用响应还包括:所述第二管理实体分配的第二访问令牌和使用所述第二管理实体的私钥对所述第二访问令牌和所述第二服务实体的网络地址进行加密后得到的第四数字签名;

所述第一服务实体,还用于接收所述第一管理实体发送的所述第二访问令牌和所述第四数字签名;

所述第一服务实体,具体用于基于所述第二服务实体的网络地址,向所述第二服务实体发送第三调用请求,所述第三调用请求包括所述第二访问令牌和所述第四数字签名;

所述第二服务实体,具体用于响应于第三调用请求,获取所述第二管理实体的公钥,并利用所述第二管理实体的公钥,对所述第四数字签名进行验证,如果对所述第四数字签名验证通过,则向所述第一服务实体提供服务。

12.根据权利要求10所述的系统间认证系统,其特征在于,所述第一处理实体还包括第一平台管理实体;

所述第一管理实体,具体用于向所述第一平台管理实体发送所述第二服务实体的网络地址;

所述第一平台管理实体,用于向所述第一服务实体转发所述第二服务实体的网络地址。

13.根据权利要求8所述的系统间认证系统,其特征在于,所述区块链网络对应存储有所述提供方系统中第二联合实体的实体信息以及所述提供方系统提供的服务的服务信息;

所述第一联合实体,具体用于从所述区块链网络中查找指定服务信息对应的联合实体的实体信息。

14.根据权利要求8所述的系统间认证系统,其特征在于,所述请求方系统为多接入边缘计算或云系统,所述提供方系统为MEC系统。

说明书全文

一种系统间认证方法及系统

技术领域

[0001] 本公开涉及通信安全技术领域,特别是涉及一种系统间认证方法及系统。

背景技术

[0002] 多接入边缘计算(Multi‑access Edge Computing,MEC)技术,又称边缘云技术,能够将计算和网络等能力设置到网络边缘,从而创造出高性能、低延迟和高带宽的电信级服务环境,能够就近为用户提供服务。
[0003] 随着MEC技术的快速发展,MEC系统服务的对象也越加广泛,例如MEC系统除了为手机或电脑等终端提供边缘计算服务以外,还可以为其他MEC系统提供边缘计算服务。但是,如果MEC系统之间可开放地随意调用,可能会出现恶意设备假冒MEC系统身份从而骗取到其他MEC系统边缘计算能力的情况,导致MEC系统的边缘计算服务存在安全风险。

发明内容

[0004] 本公开实施例的目的在于提供一种系统间认证方法及系统,以实现提高MEC系统的边缘计算服务的安全性。具体技术方案如下:
[0005] 第一方面,本公开实施例提供了一种系统间认证方法,应用于系统间认证系统,所述系统间认证系统包括请求方系统、提供方系统和区块链网络,所述请求方系统包括:第一联合实体和第一处理实体;所述提供方系统包括:第二联合实体和第二处理实体,所述区块链网络用于存储具有联盟关系的每个系统中联合实体的实体信息,所述实体信息包括网络地址和公钥;所述方法包括:
[0006] 所述第一联合实体从所述区块链网络中获取所述第二联合实体的实体信息,并根据所述第二联合实体的实体信息,向所述第二联合实体发送第一调用请求,所述第一调用请求包括所述第一联合实体的身份信息和利用所述第一联合实体的私钥对所述第一联合实体的身份信息进行加密后得到的第一数字签名;
[0007] 所述第二联合实体响应于所述第一调用请求,从所述区块链网络中获取所述第一联合实体的实体信息,利用所述第一联合实体的公钥,对所述第一数字签名进行验证,如果对所述第一数字签名验证通过,则向所述第一联合实体发送第一调用响应;所述第一调用响应包括所述第二处理实体的网络地址;
[0008] 所述第一联合实体向所述第一处理实体发送所述第二处理实体的网络地址;
[0009] 所述第一处理实体基于所述第二处理实体的网络地址访问所述第二处理实体。
[0010] 在一些实施例中,所述第一调用响应还包括:待传输信息以及利用所述第二联合实体的私钥对所述第二处理实体的网络地址和所述待传输信息进行加密后得到的第二数字签名,所述待传输信息包括所述第二联合实体分配的第一访问令牌,在所述第一联合实体向所述第一处理实体发送所述第二处理实体的网络地址之前,所述方法还包括:
[0011] 所述第一联合实体利用所述第二联合实体的公钥,对所述第二数字签名进行验证,如果对所述第二数字签名验证通过,则执行所述向所述第一处理实体发送所述第二处理实体的网络地址的步骤。
[0012] 在一些实施例中,所述第一处理实体包括第一管理实体和第一服务实体;所述第二处理实体包括第二管理实体和第二服务实体;所述待传输信息还包括利用所述第二联合实体的私钥对所述第一访问令牌和所述第二管理实体的网络地址进行加密后得到的第三数字签名;
[0013] 在所述第一处理实体基于所述第二处理实体的网络地址访问所述第二处理实体之前,所述方法还包括:
[0014] 所述第一管理实体接收所述第一联合实体发送的所述第一访问令牌和所述第三数字签名;
[0015] 所述第一处理实体基于所述第二处理实体的网络地址访问所述第二处理实体,包括:
[0016] 所述第一管理实体向所述第二管理实体发送第二调用请求,所述第二调用请求包括所述第一访问令牌和所述第三数字签名;
[0017] 所述第二管理实体响应于所述第二调用请求,获取所述第二联合实体的公钥,并利用所述第二联合实体的公钥,对所述第三数字签名进行验证;如果对所述第三数字签名验证通过,则向所述第一管理实体发送所述第二调用响应,所述第二调用响应包括所述第二服务实体的网络地址;
[0018] 所述第一管理实体向所述第一服务实体发送所述第二服务实体的网络地址;
[0019] 所述第一服务实体基于所述第二服务实体的网络地址访问所述第二服务实体。
[0020] 在一些实施例中,所述第二调用响应还包括:所述第二管理实体分配的第二访问令牌和使用所述第二管理实体的私钥对所述第二访问令牌和所述第二服务实体的网络地址进行加密后得到的第四数字签名;所述第一处理实体基于所述第二处理实体的网络地址访问所述第二处理实体之前,所述方法还包括:
[0021] 所述第一服务实体接收所述第一管理实体发送的所述第二访问令牌和所述第四数字签名;
[0022] 所述第一服务实体基于所述第二服务实体的网络地址访问所述第二服务实体,包括:
[0023] 所述第一服务实体基于所述第二服务实体的网络地址,向所述第二服务实体发送第三调用请求,所述第三调用请求包括所述第二访问令牌和所述第四数字签名;
[0024] 所述第二服务实体响应于第三调用请求,获取所述第二管理实体的公钥,并利用所述第二管理实体的公钥,对所述第四数字签名进行验证,如果对所述第四数字签名验证通过,则向所述第一服务实体提供服务。
[0025] 在一些实施例中,所述第一处理实体还包括第一平台管理实体;所述第一管理实体向所述第一服务实体发送所述第二服务实体的网络地址,包括:
[0026] 所述第一管理实体向所述第一平台管理实体发送所述第二服务实体的网络地址;
[0027] 所述第一平台管理实体向所述第一服务实体转发所述第二服务实体的网络地址。
[0028] 在一些实施例中,所述区块链网络对应存储有所述提供方系统中第二联合实体的实体信息以及所述提供方系统提供的服务的服务信息;所述第一联合实体从所述区块链网络中获取所述第二联合实体的实体信息,包括:
[0029] 所述第一联合实体从所述区块链网络中查找指定服务信息对应的联合实体的实体信息。
[0030] 在一些实施例中,所述请求方系统为多接入边缘计算MEC系统或云系统,所述提供方系统为MEC系统。
[0031] 第二方面,本公开实施例提供了一种系统间认证系统,包括请求方系统、提供方系统和区块链网络,所述请求方系统包括:第一联合实体和第一处理实体;所述提供方系统包括:第二联合实体和第二处理实体,所述区块链网络用于存储具有联盟关系的每个系统中联合实体的实体信息,所述实体信息包括网络地址和公钥;
[0032] 所述第一联合实体,用于从所述区块链网络中获取所述第二联合实体的实体信息,并根据所述第二联合实体的实体信息,向所述第二联合实体发送第一调用请求,所述第一调用请求包括所述第一联合实体的身份信息和利用所述第一联合实体的私钥对所述第一联合实体的身份信息进行加密后得到的第一数字签名;
[0033] 所述第二联合实体,用于响应于所述第一调用请求,从所述区块链网络中获取所述第一联合实体的实体信息,利用所述第一联合实体的公钥,对所述第一数字签名进行验证,如果对所述第一数字签名验证通过,则向所述第一联合实体发送第一调用响应;所述第一调用响应包括所述第二处理实体的网络地址;
[0034] 所述第一联合实体,用于向所述第一处理实体发送所述第二处理实体的网络地址;
[0035] 所述第一处理实体,用于基于所述第二处理实体的网络地址访问所述第二处理实体。
[0036] 在一些实施例中,所述第一调用响应还包括:待传输信息以及利用所述第二联合实体的私钥对所述第二处理实体的网络地址和所述待传输信息进行加密后得到的第二数字签名,所述待传输信息包括所述第二联合实体分配的第一访问令牌;
[0037] 所述第一联合实体,还用于在向所述第一处理实体发送所述第二处理实体的网络地址之前,利用所述第二联合实体的公钥,对所述第二数字签名进行验证,如果对所述第二数字签名验证通过,则执行所述向所述第一处理实体发送所述第二处理实体的网络地址的步骤。
[0038] 在一些实施例中,所述第一处理实体包括第一管理实体和第一服务实体;所述第二处理实体包括第二管理实体和第二服务实体;所述待传输信息还包括利用所述第二联合实体的私钥对所述第一访问令牌和所述第二管理实体的网络地址进行加密后得到的第三数字签名;
[0039] 所述第一管理实体,用于接收所述第一联合实体发送的所述第一访问令牌和所述第三数字签名;
[0040] 所述第一管理实体,还用于向所述第二管理实体发送第二调用请求,所述第二调用请求包括所述第一访问令牌和所述第三数字签名;
[0041] 所述第二管理实体,用于响应于所述第二调用请求,获取所述第二联合实体的公钥,并利用所述第二联合实体的公钥,对所述第三数字签名进行验证;如果对所述第三数字签名验证通过,则向所述第一管理实体发送所述第二调用响应,所述第二调用响应包括所述第二服务实体的网络地址;
[0042] 所述第一管理实体,还用于向所述第一服务实体发送所述第二服务实体的网络地址;
[0043] 所述第一服务实体,用于基于所述第二服务实体的网络地址访问所述第二服务实体。
[0044] 在一些实施例中,所述第二调用响应还包括:所述第二管理实体分配的第二访问令牌和使用所述第二管理实体的私钥对所述第二访问令牌和所述第二服务实体的网络地址进行加密后得到的第四数字签名;
[0045] 所述第一服务实体,还用于接收所述第一管理实体发送的所述第二访问令牌和所述第四数字签名;
[0046] 所述第一服务实体,具体用于基于所述第二服务实体的网络地址,向所述第二服务实体发送第三调用请求,所述第三调用请求包括所述第二访问令牌和所述第四数字签名;
[0047] 所述第二服务实体,具体用于响应于第三调用请求,获取所述第二管理实体的公钥,并利用所述第二管理实体的公钥,对所述第四数字签名进行验证,如果对所述第四数字签名验证通过,则向所述第一服务实体提供服务。
[0048] 在一些实施例中,所述第一处理实体还包括第一平台管理实体;
[0049] 所述第一管理实体,具体用于向所述第一平台管理实体发送所述第二服务实体的网络地址;
[0050] 所述第一平台管理实体,用于向所述第一服务实体转发所述第二服务实体的网络地址。
[0051] 在一些实施例中,所述区块链网络对应存储有所述提供方系统中第二联合实体的实体信息以及所述提供方系统提供的服务的服务信息;
[0052] 所述第一联合实体,具体用于从所述区块链网络中查找指定服务信息对应的联合实体的实体信息。
[0053] 在一些实施例中,所述请求方系统为多接入边缘计算MEC系统或云系统,所述提供方系统为MEC系统。
[0054] 本公开实施例有益效果:
[0055] 本公开实施例提供的系统间认证方法及系统中,请求方系统的第一联合实体可以从区块链网络中获取提供方系统的第二联合实体的实体信息,并向第二联合实体发送调用请求。第二联合实体可以从区块链网络中获取第一联合实体的实体信息,从而利用第一联合实体的公钥对第一联合实体的身份进行验证,验证通过后才向第一联合实体返回提供方系统中第二处理实体的网络地址,使得请求方系统能够访问第二处理实体。即,本公开实施例中,提供方系统在提供服务之前,先对请求方的身份进行验证,从而确认对方是与自身相互联盟的系统,如果对请求方系统验证通过,才允许请求方系统的访问,从而为请求方提供服务,因此可以避免恶意设备假冒身份骗取提供方系统的服务的情况,因此提高了MEC系统的边缘计算服务的安全性。
[0056] 当然,实施本公开的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

[0057] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
[0058] 图1为本公开实施例提供的一种系统间认证系统的结构示意图;
[0059] 图2为本公开实施例提供的一种系统间认证方法的流程图;
[0060] 图3为本公开实施例提供的另一种系统间认证方法的流程图;
[0061] 图4为本公开实施例提供的另一种系统间认证方法的流程图;
[0062] 图5为本公开实施例提供的另一种系统间认证方法的流程图;
[0063] 图6为本公开实施例提供的另一种系统间认证系统的结构示意图。

具体实施方式

[0064] 下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员基于本公开所获得的所有其他实施例,都属于本公开保护的范围。
[0065] 在欧洲电信标准化协会小组报告移动边缘计算035(European Telecommunication Standard Institute Group Report Mobile Edge Computing,ETSI GR MEC 035)标准中定义了边缘计算能力跨域开放流程,该流程包括MEC系统发现、MEC平台发现和信息交换过程,且ETSI GS MEC 003标准定义了边缘计算能力跨域开放的架构。MEC系统可以向其他MEC系统或者云系统等遵循3GPP北向接口通用API框架(Common API Framework for 3GPP Northbound APIs,CAPIF)的系统提供边缘计算能力,其中,3GPP为
3rd Generation Partnership Project,即第三代合作伙伴计划;API为Application Programming Interface,即应用程序接口。但是目前的标准未定义MEC系统间各级实体的身份认证过程,如果各级实体之间不进行身份认证,那么可能导致假冒身份骗取边缘计算服务的后果。
[0066] 为了提高系统间通信的安全性,本公开实施例提供了一种系统间认证方法,该方法应用在系统间认证系统中。如图1所示,系统间认证系统包括:请求方系统1、提供方系统2和区块链网络3,请求方系统1包括:第一联合实体11和第一处理实体12;提供方系统2包括:第二联合实体21和第二处理实体22。系统间认证系统包括的各系统数量不限于图1所示的数量。请求方系统可以为MEC系统或者云系统,提供方系统可以为MEC系统。即,MEC系统既可以作为请求方系统,也可以作为提供方系统。MEC系统在向其他系统请求提供服务时,作为本公开实施例中的请求方系统,或者,MEC系统在向其他系统提供服务时,作为本公开实施例中的提供方系统。例如,MEC系统A在向终端提供边缘计算服务时,需要调用MEC系统B中的指定服务,则MEC系统A作为请求方系统,MEC系统B作为提供方系统。
[0067] 其中,区块链网络3,用于存储具有联盟关系的每个系统中联合实体的实体信息。其中,实体信息包括网络地址和公钥。网络地址可以是网际互联协议(Internet Protocol,IP)地址或者域名等。如图1所示,区块链网络3包括多个区块链。图1中示例性的示出了两个区块链,区块链网络中包括的区块链数量不限于此。
[0068] 第一联合实体11,用于处理与提供方系统2之间的交互事宜。
[0069] 第二联合实体21,用于处理与请求方系统1之间的交互事宜。
[0070] 第一处理实体12,用于向提供方系统2请求提供服务。
[0071] 第二处理实体22,用于管理并实现提供方系统2可提供的服务。
[0072] 请求方系统1为MEC系统的情况下,第一联合实体11为MEC联合者(MEC Federator,MEF)实体,第一处理实体12可以包括:MEC编排管理(MEC orchestrator,MEO)实体、MEC平台管理(MEC platform manager,MEPM)实体和MEC平台(MEC platform,MEP)实体。其中,MEO实体用于管理MEC系统中各设备和各MEC应用。MEPM实体用于管理各MEC应用的生命周期以及管理各MEP实体。MEP实体用于承载MEC应用,从而通过运行MEC应用提供边缘运算服务。请求方系统1为云系统的情况下,第一联合实体11为云管理(CManager)实体,第一处理实体12包括:云实体1(CEntity1)和云实体2(CEntity2)。
[0073] 提供方系统2为MEC系统的情况下,第二联合实体21为MEF实体,第二处理实体22包括MEO实体和MEP实体。
[0074] 以下将MEF实体简称为MEF,将MEO实体简称为MEO,将MEPM实体简称为MEPM,将MEP实体简称为MEP,将CManager实体简称为Cmanager。
[0075] 结合图1,本公开实施例提供一种系统间认证方法,如图2所示,包括如下步骤:
[0076] S201、第一联合实体从区块链网络中获取第二联合实体的实体信息。其中,实体信息包括网络地址和公钥。
[0077] 相互联盟的各系统的系统信息可以存储在区块链网络。例如,区块链网络可以存储有请求方系统中第一联合实体的实体信息。而且区块链网络可以对应存储提供方系统中第二联合实体的实体信息以及提供方系统提供的服务的服务信息。其中,服务信息可以包括服务身份标识号(Identity document,ID)和服务概述等。此时第一联合实体可以从区块链网络中查找指定服务信息对应的联合实体的实体信息,其中指定服务信息可以为请求方系统请求的指定服务的ID,从而查找到提供指定服务的提供方系统中联合实体的实体信息。
[0078] 或者,区块链网络可以对应存储有提供方系统中第二联合实体的实体信息和第二联合实体的实体标识,此时第一联合实体可以从区块链网络中查找第二联合实体的实体标识对应的实体信息。或者,区块链网络可以对应存储有提供方系统中第二联合实体的实体信息和提供方系统的系统标识,此时第一联合实体可以从区块链网络中查找提供方系统的系统标识对应的实体信息。或者第一联合实体还可以通过其他方式从区块链网络中查找第二联合实体的实体信息,本公开实施例对区块链网络中存储实体信息的具体形式,以及第一联合实体从区块链网络中查找第二联合实体的实体信息的具体方式不做限定。
[0079] 本公开实施例中,请求方系统中,第一处理实体需要调用提供方系统的指定服务时,可以向第一联合实体发送通知消息,其中通知消息可以包括提供方系统的系统标识、第二联合实体的实体标识或者指定服务标识。第一联合实体接收到通知消息后,执行S201从区块链网络中获取第二联合实体的实体信息。
[0080] S202、第一联合实体根据第二联合实体的实体信息,向第二联合实体发送第一调用请求。
[0081] 第一调用请求包括:第一联合实体的身份信息和利用第一联合实体的私钥对第一联合实体的身份信息进行加密后得到的第一数字签名。其中,第一联合实体可以对自身的身份信息进行预设的哈希(hash)运算,得到哈希值,并使用自身的私钥对该哈希值进行加密,得到第一数字签名。例如,身份信息包括网络地址。
[0082] S203、第二联合实体响应于第一调用请求,从区块链网络中获取第一联合实体的实体信息。
[0083] 在本公开实施例中,由于区块链网络中存储的联合实体的实体信息包括网络地址和公钥,因此第二联合实体可以从区块链网络中,查找包括第一联合实体的网络地址的实体信息,从而获得第一联合实体的公钥。
[0084] S204、第二联合实体利用第一联合实体的公钥,对第一数字签名进行验证。
[0085] 第二联合实体使用第一联合实体的公钥对第一数字签名进行解密,得到解密结果。并对第一调用请求包括的身份信息进行预设的hash运算,得到哈希值。对比解密结果与哈希值是否相同。如果相同,则对第一数字签名验证通过。如果不相同,则对第一数字签名验证不通过。
[0086] 由于对于一对公钥和私钥,利用公钥可以对私钥加密后的数据进行解密。如果第二联合实体使用第一联合实体的公钥对第一数字签名进行解密后得到的解密结果,与第一联合实体使用第一数字签名加密前的哈希值相同,则说明第一联合实体使用的秘钥与第二联合实体使用的秘钥为一对,而第二联合实体使用的是第一联合实体的公钥,因此第一联合实体使用的是第一联合实体的私钥。由于私钥是不公开的,只有自身可以使用,因此说明发送第一调用请求的实体为第一联合实体。
[0087] 因此第二联合实体可以通过对比哈希值与解密结果是否相同,来验证发送第一调用请求的实体是否使用第一联合实体的私钥,从而验证发送第一调用请求的实体是否仿冒身份。如果相同,说明未仿冒身份,且身份信息未被篡改过,因此确定验证通过;如果不相同,说明可能仿冒身份,且身份信息可能被篡改过,因此确定验证不通过。
[0088] S205、第二联合实体如果对第一数字签名验证通过,则向第一联合实体发送第一调用响应。其中,第一调用响应包括第二处理实体的网络地址。
[0089] 可选的,为进一步提高通信安全性,第一联合实体和第二联合实体之间还可以使用对方的公钥对需要传输的信息进行加密,使得对方收到后使用自身的私钥对加密后的信息进行解密。例如,第一联合实体可以使用第二联合实体的公钥,对第一联合实体的身份信息和第一数字签名进行加密,得到加密数据包,然后将加密数据包携带在第一调用请求中发送给第二联合实体。第二联合实体接收到第一调用请求后,再使用自身的私钥对加密数据包进行解密,得到第一联合实体的身份信息和第一数字签名。
[0090] 本公开实施例中,第二联合实体如果对第一数字签名验证不通过,可以拒绝请求方系统的访问。例如,拒绝方式为第二联合实体向第一联合实体发送表示拒绝访问的消息,或者不向第一联合实体发送消息。
[0091] S206、第一联合实体向第一处理实体发送第二处理实体的网络地址。
[0092] 其中,网络地址可以是IP地址或者域名等。
[0093] S207、第一处理实体基于第二处理实体的网络地址访问第二处理实体。
[0094] 本公开实施例提供的系统间认证方法中,请求方系统的第一联合实体可以从区块链网络中获取提供方系统的第二联合实体的实体信息,并向第二联合实体发送调用请求。第二联合实体可以从区块链网络中获取第一联合实体的实体信息,从而利用第一联合实体的公钥对第一联合实体的身份进行验证,验证通过后才向第一联合实体返回提供方系统中第二处理实体的网络地址,使得请求方系统能够访问第二处理实体。即,本公开实施例中,提供方系统在提供服务之前,先对请求方系统的身份进行验证,从而确认对方是与自身相互联盟的系统,如果对请求方系统验证通过,才允许请求方系统的访问,从而为请求方提供服务,因此可以避免恶意设备假冒身份骗取提供方系统的服务的情况,因此提高了MEC系统的边缘计算服务的安全性。
[0095] 在一些实施例中,第一联合实体与第二联合实体的交互过程中,除了第二联合实体可以对第一联合实体的身份进行验证之外,第一联合实体也可以对第二联合实体的身份进行验证。
[0096] 为了让第一联合实体验证第二联合实体的身份,第二联合实体向第一联合实体发送的第一调用响应还包括:待传输信息以及利用第二联合实体的私钥对第二处理实体的网络地址和待传输信息进行加密后得到的第二数字签名。其中,待传输信息包括第二联合实体分配的第一访问令牌(access token)。其中,第二联合实体可以对第二处理实体的网络地址和待传输信息进行预设的hash运算,得到摘要,并使用自身的私钥对该摘要进行加密运算,得到第二数字签名。
[0097] 可选的,待传输信息还可以包括访问令牌类型(token type)、有效时长(expires_in)刷新令牌(refresh token)等。
[0098] 在这种情况下,上述S206第一联合实体向第一处理实体发送第二处理实体的网络地址之前,第一联合实体对第二联合实体进行验证的方式为:第一联合实体利用第二联合实体的公钥,对第二数字签名进行验证,如果对第二数字签名验证通过,则执行上述S206向第一处理实体发送第二处理实体的网络地址的步骤。
[0099] 第一联合实体使用第二联合实体的公钥对第二联合实体的进行身份验证的原理,与上述第二联合实体使用第一联合实体的公钥对第一联合实体进行的身份验证的原理类似。即,第一联合实体可利用第二联合实体的公钥,对第二数字签名进行解密,得到解密结果。并对第二处理实体的网络地址和待传输信息进行hash运算,得到哈希值。对比解密结果和哈希值是否相同。如果相同,则说明第二联合实体未仿冒身份,且第二处理实体的网络地址和待传输信息未被篡改过,因此确定验证通过;如果不相同,说明第二联合实体可能仿冒身份,且第二处理实体的网络地址和待传输信息可能被篡改过,因此确定验证不通过。
[0100] 采用上述方法,本公开实施例中,第一联合实体还可以对第二联合实体的身份进行验证,只有验证通过后,第一联合实体才会向第一处理实体发送提供方系统中第二处理实体的网络地址。从而避免了第一联合实体响应恶意设备发送的经过篡改的第一调用响应的情况,提高了系统间通信安全性。
[0101] 上述第一联合实体和第二联合实体之间的认证过程可以称为顶层信任构建过程,由于请求方系统和提供方系统中的实体均为层级设置,因此在顶层信任构建完成之后,为了进一步保障通信的安全性,本公开实施例还提供了其他层级之间的底层信任传递机制。以下对底层信任传递过程进行说明。
[0102] 在一些实施例中,上述第一处理实体包括第一管理实体和第一服务实体。第二处理实体包括第二管理实体和第二服务实体。各实体之间具有层级关系,具体的,第一联合实体的下一级实体为第一管理实体,第一管理实体的下一级实体为第一服务实体。第二联合实体的下一级实体为第二管理实体,第二管理实体的下一级实体为第二服务实体。
[0103] 请求方系统为MEC系统的情况下,第一管理实体为MEO,第一服务实体为MEP。请求方系统为云系统的情况下,第一管理实体为CEntity1,第一服务实体为Centity2,其中云实体1和云实体2分别为不同的云实体。提供方系统为MEC系统的情况下,第二管理实体为MEO,第二服务实体为MEP。
[0104] 在此情况下,上述第二处理实体的网络地址具体为第二管理实体的网络地址,也就是第二联合实体的下一级实体的网络地址。
[0105] 为了提高系统间通信的安全性,待传输信息还包括利用第二联合实体的私钥对第一访问令牌和第二管理实体的网络地址进行加密后得到的第三数字签名。其中,第二联合实体可以使用自身的私钥对第一访问令牌和第二管理实体的网络地址进行加密,得到第三数字签名。
[0106] 这种情况下,第一联合实体向第一管理实体除了发送第二管理实体的网络地址之外,还需要发送第一访问令牌和第三数字签名。即,第一管理实体访问第二处理实体之前,还接收了第一联合实体发送的第一访问令牌和第三数字签名。
[0107] 参见图3,上述S207中第一处理实体访问第二处理实体的方式,可以实现为以下步骤:
[0108] S2071、第一管理实体向第二管理实体发送第二调用请求。其中,第二调用请求包括第一访问令牌和第三数字签名。
[0109] S2072、第二管理实体响应于第二调用请求,获取第二联合实体的公钥,并利用第二联合实体的公钥,对第三数字签名进行验证。
[0110] 第二管理实体可以从提供方系统的证书授权(CertificateAuthority,CA)实体中,获取第二联合实体的公钥,例如第二管理实体可以每间隔一段时间从CA实体中获取一次第二联合实体的公钥,或者接收到第二调用请求后实时从CA实体中获取第二联合实体的公钥。然后第二管理实体利用第二联合实体的公钥,对第三数字签名进行解密,得到解密结果。并对第一访问令牌和第二管理实体的网络地址进行hash运算,得到哈希值,对比哈希值和解密结果是否相同。如果相同,则说明第一访问令牌为第二联合实体分配的令牌,且未被篡改过,说明第二联合实体已对第一联合实体验证通过,因此第二管理实体可以与第一管理实体进行通信,因此确定对第三数字签名验证通过;如果不相同,则确定验证不通过。
[0111] S2073、第二管理实体如果对第三数字签名验证通过,则向第一管理实体发送第二调用响应。其中,第二调用响应包括第二服务实体的网络地址。
[0112] S2074、第一管理实体向第一服务实体发送第二服务实体的网络地址。
[0113] 本公开实施例中,请求方系统为MEC系统的情况下,第一处理实体还包括第一平台管理实体,第一平台管理实体为MEPM。第一管理实体的下一级实体为第一平台管理实体,第一平台管理实体的下一级实体为第一服务实体。这种情况下,第一管理实体可以向第一平台管理实体发送第二服务实体的网络地址,之后第一平台管理实体向第一服务实体转发第二服务实体的网络地址。
[0114] 在请求方系统为云系统的情况下,第一管理实体为CEntity1,第一服务实体为Centity2。CEntity1可以直接向Centity2发送第二服务实体的网络地址。
[0115] S2075、第一服务实体基于第二服务实体的网络地址访问第二服务实体。
[0116] 第一服务实体接收到第二服务实体的网络地址后,基于第二服务实体的网络地址访问第二服务实体。
[0117] 采用上述方法,第二管理实体可以通过验证第三数字签名的方式,验证第一访问令牌的真实性,从而验证第一管理实体的身份,仅在第二管理实体的上一级实体对第一管理实体的上一级实体验证通过的情况下,即第二联合实体对第一联合实体验证通过的情况下,第二管理实体才响应第一管理实体发送的第二调用请求,从而避免第二管理实体响应恶意实体发送的经过篡改的第二调用请求的情况,提高了系统间通信安全性。
[0118] 为了进一步提高系统间通信的安全性,第二管理实体向第一管理实体返回的第二调用响应中还包括:第二管理实体分配的第二访问令牌和使用第二管理实体的私钥对第二访问令牌和第二服务实体的网络地址进行加密后得到的第四数字签名。其中,第二管理实体在上述S2072对第三数字签名进行验证通过,即对第一管理实体的身份验证通过后,可以分配第二访问令牌(access token*),并使用自身的私钥对第二访问令牌和第二服务实体的网络地址进行加密后,得到第四数字签名。
[0119] 这种情况下,第一管理实体除了向第一服务实体发送第二服务实体的网络地址以外,还需要向第一服务实体发送第二访问令牌和第四数字签名。即第一服务实体访问第二服务实体之前,还接收了第一管理实体发送的第二访问令牌和第四数字签名。
[0120] 上述S2075中第一服务实体访问第二服务实体的方式,可以实现为以下两个步骤:
[0121] 步骤一、第一服务实体向第二服务实体发送第三调用请求。其中,第三调用请求包括第二访问令牌和第四数字签名。
[0122] 步骤二、第二服务实体响应于第三调用请求,获取第二管理实体的公钥,并利用第二管理实体的公钥,对第四数字签名进行验证,如果对第四数字签名验证通过,则向第一服务实体提供服务。第二服务实体可以向第一服务实体提供边缘计算等服务,还可以向第一服务实体返回服务过程产生的数据以及服务结果。
[0123] 第二服务实体可以从提供方系统的CA实体中,获取第二管理实体的公钥。然后利用第二管理实体的公钥,对第四数字签名进行解密,得到解密结果。并对第二访问令牌和第二服务实体的网络地址进行hash运算,得到哈希值,对比哈希值和解密结果是否相同。如果相同,则说明第二访问令牌为第二管理实体分配的令牌,且未被篡改过,说明第二管理实体已对第一管理实体验证通过,因此第二服务实体可以与第一服务实体进行通信,因此确定验证通过;如果不相同,则确定验证不通过。
[0124] 可选的,第三调用请求还可以包括请求调用的指定服务的服务标识,使得第二服务实体可以根据该服务标识为第一服务实体提供相应服务。或者,第二服务实体仅能提供一种服务的情况下,第三调用请求可以不携带服务标识。
[0125] 采用上述方法,第二服务实体可以通过验证第四数字签名的方式,验证第二访问令牌的真实性,从而验证第一服务实体的身份,仅在第二服务实体的上一级实体对第一服务实体的上一级实体验证通过的情况下,即第二管理实体对第一管理实体验证通过的情况下,第二服务实体才为第一服务实体提供服务,从而避免第二服务实体响应恶意实体发送的经过篡改的第三调用请求的情况,提高了系统间通信安全性。
[0126] 以下结合具体的应用场景,对本公开实施例提供的系统间认证方法的整体流程进行说明。
[0127] 参见图4,以请求方系统为MEC1系统,提供方系统为MEC2系统为例,MEC1系统包括:MEF1、MEO1、MEPM1和MEP1;MEC2系统包括:MEF2、MEO2、MEP2和CA2。系统间认证过程如下:
[0128] S401、MEF1从区块链网络获取MEF2的网络地址和公钥。
[0129] S402、MEF1基于MEF2的网络地址向MEF2发送第一调用请求。
[0130] S403、MEF2从区块链获取MEF1的公钥。
[0131] S404、MEF2使用MEF1的公钥对第一调用请求包括的第一数字签名进行验证,如果验证通过,则分配access token,并使用自身的私钥对access token和MEO2的网络地址进行加密,得到第三数字签名;并使用自身的私钥对access token、MEO2的网络地址、第三数字签名、token type、expires_in和refresh token进行加密,得到第二数字签名。
[0132] S405、MEF2向MEF1发送第一调用响应。其中,第一调用响应包括access token、MEO2的网络地址、第三数字签名、token type、expires_in、refresh token和第二数字签名。
[0133] S406、MEF1使用MEF2的公钥对第二数字签名进行验证。
[0134] S407、MEF1如果验证通过,则向MEO1发送access token、MEO2的网络地址和第三数字签名。
[0135] S408、MEO1基于MEO2的网络地址,向MEO2发送第二调用请求。第二调用请求包括access token、MEO2的网络地址和第三数字签名。
[0136] 此外,MEF1如果验证通过,还可以向MEO1发送token type、expires_in和refresh token。其中,MEO1可以基于expires_in确定access token是否过期,若过期,则MEO1可以利用refresh token获取新的access token。
[0137] MEO1可以通过MEF1发送的token type,得到access token的类型,并在第二调用请求中携带access token的类型。例如,token type可以为持有者(bearer)或者消息认证码(Message Authentication Codes,MAC)。
[0138] S409、MEO2从CA2中获取MEF2的公钥。
[0139] S410、MEO2利用MEF2的公钥对第三数字签名进行认证,如果认证通过,则分配access token*,并利用自身的私钥对access token*和MEP2的网络地址进行加密,得到第四数字签名。
[0140] S411、MEO2向MEO1返回第二调用响应。其中,第二调用响应包括:access token*、MEP2的网络地址和第四数字签名。可选的,第二调用响应还可以包括:token type*、expires_in*和refresh token*。
[0141] S412、MEO1向MEPM1发送access token*、MEP2的网络地址和第四数字签名。可选的,MEO1还可以向MEPM1发送token type*、expires_in*和refresh token*。
[0142] S413、MEPM1向MEP1发送access token*、MEP2的网络地址和第四数字签名。可选的,MEPM1还可以向MEP1发送token type*、expires_in*和refresh token*。
[0143] S414、MEP1基于MEP2的网络地址,向MEP2发送第三调用请求。其中第三调用请求包括access token*和第四数字签名。
[0144] 其中,MEP1可以基于expires_in*确定access token*是否过期,若过期,则MEP1可以利用refresh token*获取新的access token*。MEP1可以基于MEPM1发送的token type*,得到access token*的类型,并在第三调用请求中携带access token*的类型。
[0145] S415、MEP2从CA2中获取MEO2的公钥。
[0146] S416、MEP2利用MEO2的公钥对第四数字签名进行验证。
[0147] S417、MEP2如果验证通过,则向MEP1提供服务。
[0148] 参见图5,以请求方系统为云系统,提供方系统为MEC2系统为例,云系统包括:CManager、CEntity1和Centity2;MEC2系统包括:MEF2、MEO2、MEP2和CA2。系统间认证过程如下:
[0149] S501、CManager从区块链网络获取MEF2的网络地址和公钥。
[0150] S502、CManager向MEF2发送第一调用请求。
[0151] S503、MEF2从区块链获取CManager的公钥。
[0152] S504、MEF2使用CManager的公钥对第一调用请求包括的第一数字签名进行验证,如果验证通过,则分配access token,并使用自身的私钥对access token和MEO2的网络地址进行加密,得到第三数字签名。并使用自身的私钥对access token、MEO2的网络地址、第三数字签名、token type、expires_in和refresh token进行加密,得到第二数字签名。
[0153] S505、MEF2向CManager发送第一调用响应。其中,第一调用响应包括access token、MEO2的网络地址、第三数字签名、token type、expires_in、refresh token和第二数字签名。
[0154] S506、CManager使用MEF2的公钥对第二数字签名进行验证。
[0155] S507、CManager如果验证通过,则向CEntity1发送access token、MEO2的网络地址和第三数字签名。
[0156] S508、CEntity1基于MEO2的网络地址,向MEO2发送第二调用请求。第二调用请求包括access token、MEO2的网络地址和第三数字签名。
[0157] 此外,CManager如果验证通过,还可以向CEntity1发送token type、expires_in和refresh token。其中,CEntity1可以基于expires_in确定access token是否过期,若过期,则CEntity1可以利用refresh token获取新的access token。
[0158] CEntity1可以通过CManager发送的token type,得到access token的类型,并在第二调用请求中携带access token的类型。例如,token type可以为bearer或者MAC。
[0159] S509、MEO2从CA2中获取MEF2的公钥。
[0160] S510、MEO2利用MEF2的公钥对第三数字签名进行认证,如果认证通过,则分配access token*,并利用自身的私钥对access token*和MEP2的网络地址进行加密,得到第四数字签名。
[0161] S511、MEO2向CEntity1返回第二调用响应。其中,第二调用响应包括:access token*、MEP2的网络地址和第四数字签名。可选的,第二调用响应还可以包括:token type*、expires_in*和refresh token*。
[0162] S512、CEntity1向Centity2发送access token*、MEP2的网络地址和第四数字签名。可选的,CEntity1还可以向Centity2发送token type*、expires_in*和refresh token*。
[0163] S513、Centity2基于MEP2的网络地址,向MEP2发送第三调用请求。其中第三调用请求包括access token*和第四数字签名。
[0164] 其中,Centity2可以基于expires_in*确定access token*是否过期,若过期,则Centity2可以利用refresh token*获取新的access token*。Centity2可以通过CEntity1发送的token type*,得到access token*的类型,并在第三调用请求中携带access token*的类型。
[0165] S514、MEP2从CA2中获取MEO2的公钥。
[0166] S515、MEP2利用MEO2的公钥对第四数字签名进行验证。
[0167] S516、MEP2如果验证通过,则向Centity2提供服务。
[0168] 在图4所示的实施例中,S401‑S406为两个系统间联合实体的顶层信任构建过程,S407‑S417为处理实体之间的底层信任传递过程。
[0169] 在图5所示的实施例中,S501‑S506为两个系统间联合实体的顶层信任构建过程,S507‑S516为处理实体之间的底层信任传递过程。
[0170] 如果将系统中所有实体的信息均记录在区块链网络,那么相当于对外暴露了系统中的所有实体,这不能满足具有严格的层级设置需求的MEC系统的要求。而本公开实施例在顶层信任构建过程中,仅在区块链网络中存储系统中联合实体的实体信息,联合实体之间验证通过后才传输下一级实体的信息,从而适应MEC系统需求。
[0171] 而且,在传统的公开密钥基础设施(Public Key Infrastructure,PKI)机制中,请求方系统和提供方系统中均具有CA实体,在系统间进行通信时,需要通过第三方设备对两个系统的CA实体进行对接,导致系统间通信的成本较高。而本公开实施例在底层信任传递的过程中,各级实体仅信任上一级实体发出的信息,即通过上一层实体的公钥验证接收到的信息是否来自于上一层实体,而不需要系统间CA实体的对接,因此能够在节约成本的基础上,保障通信的安全性。
[0172] 基于相同的发明构思,对应于上述方法实施例,本公开实施例提供了一种系统间认证系统,如图1所示,包括请求方系统1、提供方系统2和区块链网络3,请求方系统1包括:第一联合实体11和第一处理实体12;提供方系统2包括:第二联合实体21和第二处理实体
22,区块链网络3用于存储具有联盟关系的每个系统中联合实体的实体信息,实体信息包括网络地址和公钥;
[0173] 第一联合实体11,用于从区块链网络3中获取第二联合实体21的实体信息,并根据第二联合实体21的实体信息,向第二联合实体21发送第一调用请求,第一调用请求包括第一联合实体11的身份信息和利用第一联合实体11的私钥对第一联合实体11的身份信息进行加密后得到的第一数字签名;
[0174] 第二联合实体21,用于响应于第一调用请求,从区块链网络3中获取第一联合实体11的实体信息,利用第一联合实体11的公钥,对第一数字签名进行验证,如果对第一数字签名验证通过,则向第一联合实体11发送第一调用响应;第一调用响应包括第二处理实体22的网络地址;
[0175] 第一联合实体11,用于向第一处理实体12发送第二处理实体22的网络地址;
[0176] 第一处理实体12,用于基于第二处理实体22的网络地址访问第二处理实体22。
[0177] 在一些实施例中,第一调用响应还包括:待传输信息以及利用第二联合实体21的私钥对第二处理实体22的网络地址和待传输信息进行加密后得到的第二数字签名,待传输信息包括第二联合实体21分配的第一访问令牌;
[0178] 第一联合实体11,还用于在向第一处理实体12发送第二处理实体22的网络地址之前,利用第二联合实体21的公钥,对第二数字签名进行验证,如果对第二数字签名验证通过,则执行向第一处理实体12发送第二处理实体22的网络地址的步骤。
[0179] 如图6所示,在一些实施例中,第一处理实体12包括第一管理实体121和第一服务实体122;第二处理实体22包括第二管理实体221和第二服务实体222;待传输信息还包括利用第二联合实体21的私钥对第一访问令牌和第二管理实体221的网络地址进行加密后得到的第三数字签名;
[0180] 第一管理实体121,用于接收第一联合实体11发送的第一访问令牌和第三数字签名;
[0181] 第一管理实体121,还用于向第二管理实体221发送第二调用请求,第二调用请求包括第一访问令牌和第三数字签名;
[0182] 第二管理实体221,用于响应于第二调用请求,获取第二联合实体21的公钥,并利用第二联合实体21的公钥,对第三数字签名进行验证;如果对第三数字签名验证通过,则向第一管理实体121发送第二调用响应,第二调用响应包括第二服务实体222的网络地址;
[0183] 第一管理实体121,还用于向第一服务实体122发送第二服务实体222的网络地址;
[0184] 第一服务实体122,用于基于第二服务实体222的网络地址访问第二服务实体222。
[0185] 在一些实施例中,第二调用响应还包括:第二管理实体221分配的第二访问令牌和使用第二管理实体221的私钥对第二访问令牌和第二服务实体222的网络地址进行加密后得到的第四数字签名;
[0186] 第一服务实体122,还用于接收第一管理实体121发送的第二访问令牌和第四数字签名;
[0187] 第一服务实体122,具体用于基于第二服务实体222的网络地址,向第二服务实体222发送第三调用请求,第三调用请求包括第二访问令牌和第四数字签名;
[0188] 第二服务实体222,具体用于响应于第三调用请求,获取第二管理实体221的公钥,并利用第二管理实体221的公钥,对第四数字签名进行验证,如果对第四数字签名验证通过,则向第一服务实体122提供服务。
[0189] 在一些实施例中,如图6所示,第一处理实体12还可以包括第一平台管理实体123;
[0190] 第一管理实体121,具体用于向第一平台管理实体123发送第二服务实体222的网络地址;
[0191] 第一平台管理实体123,用于向第一服务实体122转发第二服务实体222的网络地址。
[0192] 在一些实施例中,区块链网络3对应存储有提供方系统中第二联合实体的实体信息以及提供方系统提供的服务的服务信息;
[0193] 第一联合实体11,具体用于从区块链网络3中查找指定服务信息对应的联合实体的实体信息。
[0194] 在一些实施例中,请求方系统1为MEC系统或云系统,提供方系统2为MEC系统。
[0195] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0196] 本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0197] 以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本公开的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。