基于开放式授权的数据传输方法及电子设备技术

技术编号:33416914 阅读:13 留言:0更新日期:2022-05-19 00:10
本申请提供一种基于开放式授权的数据传输方法及电子设备,涉及终端技术领域,其中,该方法包括第一服务器接收第一客户端发送的第一消息,所述第一消息包括与第一客户端对应的第二服务器的服务器地址,所述第一服务器存储有与第二客户端对应的第一用户数据,所述第一服务器基于所述第二服务器的服务器地址,生成第一密钥,所述第一服务器基于所述第二服务器的地址,向所述第二服务器发送所述第一密钥,所述第一服务器基于所述第一密钥,向所述第二服务器传输所述第一用户数据。本申请提供的技术方案能够提高传输用户数据的安全性。术方案能够提高传输用户数据的安全性。术方案能够提高传输用户数据的安全性。

【技术实现步骤摘要】
基于开放式授权的数据传输方法及电子设备


[0001]本申请涉及终端
,尤其涉及一种基于开放式授权(open authorization,oauth)的数据传输方法及电子设备。

技术介绍

[0002]客户端

服务器模式是一种常见的网络架构。客户端可以在服务器进行注册并登录该服务器,从而获取该服务器所提供的服务。其中,客户端可以通过第三方服务器的用户数据来快速实现上述注册和登录功能。
[0003]现有技术中,第一客户端可以指示第三方的第一服务器,向与第一客户端对应的第二服务器发送用户数据。但由于第一客户端通常是明文向第三客户端发送用户数据的而用户数据可能是用户的比较敏感的信息,比如邮箱、电话或住址等,因此上述获取用户数据的过程可能会导致用户数据泄露,安全性较低。

技术实现思路

[0004]有鉴于此,本申请提供一种基于oauth的数据传输方法及电子设备,以提高传输用户数据的安全性。
[0005]为了实现上述目的,第一方面,本申请实施例提供基于oauth的数据传输方法,包括:
[0006]第一服务器接收第一客户端发送的第一消息,所述第一消息包括与第一客户端对应的第二服务器的服务器地址,所述第一服务器存储有与第二客户端对应的第一用户数据;
[0007]所述第一服务器基于所述第二服务器的服务器地址,生成第一密钥;
[0008]所述第一服务器基于所述第二服务器的地址,向所述第二服务器发送所述第一密钥;
[0009]所述第一服务器基于所述第一密钥,向所述第二服务器传输所述第一用户数据。
[0010]其中,当第一客户端或第二服务器需要通过第一服务器中的账号和密码进行第三方登录,并获取第一服务器存储的用户数据时,第一客户端和第二服务器可以作为依赖方(relying party,RP),第一服务器可以作为公开身份提供方(openID provider,OP),第一客户端和第二服务器需要信赖第一服务器的鉴权结果。
[0011]需要说明的是,第一客户端可以与第二客户端不同,相应的,第一服务器可以与第二服务器不同。例如,第一客户端为游戏应用,第二服务器是与游戏应用对应的游戏服务器;第一客户端为通讯应用,第一服务器是与该通讯应用对应的通讯服务器。
[0012]还需要说明的是,第一用户数据可以是比较敏感的、对安全性要求较高的用户数据,比如邮箱、电话和住址等用户数据。
[0013]在本申请实施例中,第一服务器存储有与第二客户端对应的第一用户数据,第二服务器与第一客户端对应。第一服务器可以接收第一客户端发送的第一消息。由于第一消
息中包括第二服务器的服务器地址,因此,第一客户端可以基于第二服务器的服务器地址,生成第一密钥,并将第一密钥提供给第二服务器。那么在第一服务器和第二服务器都存储有第一密钥的情况下,第一服务器便可以基于第一密钥和第一密钥的密钥标识,向第二服务器加密传输第一用户数据,从而提高了第一服务器向第二服务器提供用户数据的安全性。
[0014]可选地,所述第一服务器基于所述第二服务器的地址,向所述第二服务器发送所述第一密钥,包括:
[0015]所述第一服务器向所述第二服务器发送所述第一密钥和所述第一密钥的密钥标识,所述密钥标识用于所述第二服务器从至少一个密钥中获取所述第一密钥。
[0016]可选地,所述第一服务器向所述第二服务器发送所述第一密钥和所述第一密钥的密钥标识,包括:
[0017]所述第一服务器向所述第二服务器发送第一脚本对象简谱(javascript object notat ion,JSON)网络令牌(json web token,JWT),所述第一JWT携带所述第一密钥和所述密钥标识。
[0018]其中,JWT是一种跨域认证解决方案,可以用于在网络应用环境间传递信息。JWT包括头部(header)、载荷部(payload)和签证部(signature),载荷部可以用于存放需要传递的有效信息。
[0019]例如,第一服务器可以将“auth_key:xxx”和“auth_key_id:xxx”等两个字段封装在第一JWT的载荷中,封装之后的字段可以命名为auth_key_jwt。其中,“auth_key:xxx”为密钥字段,表示第一密钥,“auth_key_id:xxx”为密钥标识字段,表示第一密钥的密钥标识。
[0020]需要说明的是,在实际应用中,第一服务器和第二服务器也可以通过其他方式获取第一密钥,所以,在一些实施例中,第一服务器可以不生成第一密钥,也不向第二服务器发送第一密钥。
[0021]可选地,所述第一消息包括所述第一客户端的客户端标识,所述第一服务器基于所述第二服务器的服务器地址,生成第一密钥,包括:
[0022]所述第一服务器基于预设的授权接口协议生成授权码;
[0023]所述第一服务器获取与所述客户端标识对应的客户端密钥;
[0024]所述第一服务器基于所述授权码、所述第二服务器的服务器地址、预设长度的随机字符串和所述客户端密钥,生成所述第一密钥。
[0025]其中,第一客户端的客户端密钥和客户端标识,可以由第一客户端的供应商事先在第一服务器进行注册得到。
[0026]可选地,所述授权接口协议为请求评论(request for comment,RFC)授权接口协议。
[0027]可选地,所述第一消息包括第一授权模式指示符,所述第一授权模式指示符用于指示向所述第二服务器发送所述授权码,在所述第一服务器基于所述第二服务器的地址,向所述第二服务器发送所述第一密钥之前,所述方法还包括:
[0028]所述第一服务器向所述第二服务器发送所述授权码;
[0029]若所述第一服务器接收到所述第二服务器发送的第二消息,且所述第二消息包括所述授权码和所述密钥标识,则所述第一服务器基于所述授权接口协议生成网络令牌;
[0030]所述第一服务器向所述第二服务器发送所述网络令牌。
[0031]需要说明的是,若第一服务器向第二服务器发送授权码,则第一服务器可以通过一个消息来向第二服务器发送授权码、第一密钥和第一密钥的密钥标识。
[0032]可选地,所述第一消息包括一次性的非重复随机数值(number used once,Nounce),所述第一服务器基于所述授权码、所述第二服务器的服务器地址、预设长度的随机字符串和所述客户端密钥,生成所述第一密钥,包括:
[0033]所述第一服务器基于所述授权码、所述Nounce、所述第二服务器的服务器地址、预设长度的随机字符串和所述客户端密钥,生成所述第一密钥。
[0034]可选地,所述授权接口协议为公开身份连接(openID connect,OIDC)授权接口协议权接口协议。
[0035]例如,第一服务器可以通过HMACSHA512(授权码+第二服务器的服务器地址+32字节随机数,第一客户端的客户端密钥),得第一密钥。也即是,第一服务器可本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于开放式授权的数据传输方法,其特征在于,包括:第一服务器接收第一客户端发送的第一消息,所述第一消息包括与第一客户端对应的第二服务器的服务器地址,所述第一服务器存储有与第二客户端对应的第一用户数据;所述第一服务器基于所述第二服务器的服务器地址,生成第一密钥;所述第一服务器基于所述第二服务器的地址,向所述第二服务器发送所述第一密钥;所述第一服务器基于所述第一密钥,向所述第二服务器传输所述第一用户数据。2.根据权利要求1所述的方法,其特征在于,所述第一服务器基于所述第二服务器的地址,向所述第二服务器发送所述第一密钥,包括:所述第一服务器向所述第二服务器发送所述第一密钥和所述第一密钥的密钥标识,所述密钥标识用于所述第二服务器从至少一个密钥中获取所述第一密钥。3.根据权利要求2所述的方法,其特征在于,所述第一服务器向所述第二服务器发送所述第一密钥和所述第一密钥的密钥标识,包括:所述第一服务器向所述第二服务器发送第一脚本对象简谱网络令牌JWT,所述第一JWT携带所述第一密钥和所述密钥标识。4.根据权利要求2或3所述的方法,其特征在于,所述第一消息包括所述第一客户端的客户端标识,所述第一服务器基于所述第二服务器的服务器地址,生成第一密钥,包括:所述第一服务器基于预设的授权接口协议生成授权码;所述第一服务器获取与所述客户端标识对应的客户端密钥;所述第一服务器基于所述授权码、所述第二服务器的服务器地址、预设长度的随机字符串和所述客户端密钥,生成所述第一密钥。5.根据权利要求4所述的方法,其特征在于,所述授权接口协议为请求评论RFC9749授权接口协议。6.根据权利要求4或5所述的方法,其特征在于,所述第一消息包括第一授权模式指示符,所述第一授权模式指示符用于指示向所述第二服务器发送所述授权码,在所述第一服务器基于所述第二服务器的地址,向所述第二服务器发送所述第一密钥之前,所述方法还包括:所述第一服务器向所述第二服务器发送所述授权码;若所述第一服务器接收到所述第二服务器发送的第二消息,且所述第二消息包括所述授权码和所述密钥标识,则所述第一服务器基于所述授权接口协议生成网络令牌;所述第一服务器向所述第二服务器发送所述网络令牌。7.根据权利要求4所述的方法,其特征在于,所述第一消息包括一次性的非重复随机数值Nounce,所述第一服务器基于所述授权码、所述第二服务器的服务器地址、预设长度的随机字符串和所述客户端密钥,生成所述第一密钥,包括:所述第一服务器基于所述授权码、所述Nounce、所述第二服务器的服务器地址、预设长度的随机字符串和所述客户端密钥,生成所述第一密钥。8.根据权利要求7所述的方法,其特征在于,所述授权接口协议为开放身份连接OIDC授权接口协议。9.根据权利要求7或8所述的方法,其特征在于,所述第一消息包括第二授权模式指示符,所述第二授权模式指示符用于指示向所述第二服务器发送网络令牌,所述方法还包括:
所述第一服务器基于所述授权接口协议,生成所述网络令牌;所述第一服务器向所述第二服务器发送所述网络令牌。10.根据权利要求6或9所述的方法,其特征在于,所述第一服务器基于所述第一密钥,向所述第二服务器传输所述第一用户数据,包括:所述第一服务器接收所述第二服务器发送的第三消息,所述第三消息包括所述网络令牌;所述第一服务器基于所述第一密钥,对所述第一用户数据进行加密,得到加密的所述第一用户数据;所述第一服务器向所述第二服务器发送所述密钥标识和加密的所述第一用户数据。11.根据权利要求10所述的方法,其特征在于,所述第一服务器基于所述第一密钥,对所述第一用户数据进行加密,得到加密的所述第一用户数据,包括:所述第一服务器基于所述第一密钥和预设的第一向量字段,对所述第一用户数据进行加密,得到加密的所述第一用户数据;所述第一服务器向所述第二服务器发送所述密钥标识和加密的所述第一用户数据,包括:所述第一服务器向所述第二服务器发送所述密钥标识、所述第一向量字段和加密的所述第一用户数据。12.根据权利要求11所述的方法,其特征在于,所述第一服务器向所述第二服务器发送所述密钥标识、第一向量和加密的所述第一用户数据,包括:所述第一服务器向所述第二服务器发送第二JWT,所述第二JWT中携带所述密钥标识、所述第一向量字段和加密的所述第一用户数据。13.根据权利要求1

12任一所述的方法,其特征在于,所述第一服务器存...

【专利技术属性】
技术研发人员:罗振辉
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1