获取公私钥的方法和系统技术方案

技术编号:20657307 阅读:35 留言:0更新日期:2019-03-23 08:42
提供了一种获取公私钥的方法和系统,其中该方法包括:客户端向密钥服务器发送第一认证请求,其中第一认证请求包括用户认证令牌;响应于用户认证令牌被密钥服务器认证为有效,密钥服务器向通讯服务器发送第二认证请求,第二认证请求包括用户认证令牌;响应于用户认证令牌被通讯服务器认证为有效,通讯服务器向密钥服务器发送用户信息;以及密钥服务器根据接收到的用户信息生成公私钥,并将生成的公私钥发送给客户端。

Methods and Systems for Acquiring Public and Private Keys

A method and system for obtaining public and private keys are provided, which includes: the client sends a first authentication request to the key server, in which the first authentication request includes a user authentication token; in response to the user authentication token being authenticated by the key server as valid, the key server sends a second authentication request to the communication server, and the second authentication request includes a user authentication token; In response to the user authentication token being authenticated as valid by the communication server, the communication server sends user information to the key server; and the key server generates public and private keys based on the received user information and sends the generated public and private keys to the client.

【技术实现步骤摘要】
获取公私钥的方法和系统
本公开涉及通讯
,具体涉及一种获取公私钥的方法和系统。
技术介绍
即时通讯(InstantMessaging,简称IM),是一种基于互联网的即时交流消息方式,它允许两人或多人使用网络实时地传递文字消息、文件乃至实现语音与视频交流。当前国内外的即时通讯应用很多,例如QQ、微信、WhatsApp等。加密是当前即时通讯应用常用的保护手段。然而,现有的即时通讯应用采用的加密方案存在局限性:在这些加密方案中,消息密钥对通讯服务器是可见的。由于即时通讯服务器是属于应用提供者所有,并不能保证应用提供者不会出于商业或其他的原因访问用户通讯内容,因此用户的隐私并不能真正得到保护。
技术实现思路
针对至少一个上述的问题,在第一方面中,本公开提供了一种获取公私钥的方法,其包括:客户端向密钥服务器发送第一认证请求,其中第一认证请求包括用户认证令牌;响应于用户认证令牌被密钥服务器认证为有效,密钥服务器向通讯服务器发送第二认证请求,第二认证请求包括用户认证令牌;响应于用户认证令牌被通讯服务器认证为有效,通讯服务器向密钥服务器发送用户信息;以及密钥服务器根据接收到的用户信息生成公私钥,并将生成的公私钥发送给客户端。在本公开的一些实施方式中,密钥服务器与通讯服务器设置为相互独立。在本公开的一些实施方式中,用户信息包括用户账号。在本公开的一些实施方式中,客户端中设置有加解密模块,加解密模块用于利用公私钥对客户端发送的消息进行加密以及利用公私钥对客户端接收的消息进行解密。在本公开的一些实施方式中,客户端向密钥服务器发送第一认证请求的步骤还包括:客户端通过加解密模块向密钥服务器发送第一认证请求。在本公开的一些实施方式中,将生成的公私钥发送给客户端的步骤还包括:将生成的公私钥发送给加解密模块。在本公开的一些实施方式中,上述方法还包括:将公私钥存储在加解密模块中,以及密钥服务器根据接收到的用户信息生成公私钥的步骤还包括:密钥服务器存储生成的公私钥。在本公开的一些实施方式中,加解密模块通过国密算法对消息进行加解密。在本公开的一些实施方式中,客户端包括即时通讯应用客户端。在第二方面中,本公开提供了一种获取公私钥的系统,其包括:客户端,密钥服务器,以及通讯服务器,其中,客户端用于向密钥服务器发送第一认证请求,其中第一认证请求包括用户认证令牌,密钥服务器用于响应于用户认证令牌被密钥服务器认证为有效,向通讯服务器发送第二认证请求,第二认证请求包括用户认证令牌,通讯服务器用于响应于用户认证令牌被通讯服务器认证为有效,向密钥服务器发送用户信息,以及密钥服务器还用于根据接收到的用户信息生成公私钥,并将生成的公私钥发送给客户端。附图说明附图示出了本公开的示例性实施方式,并与其说明一起用于解释本公开的原理,其中包括了这些附图以提供对本公开的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分。图1是根据本公开一些实施方式的获取公私钥的系统的结构示意图。图2是根据本公开一些实施方式的获取公私钥的方法的示意性流程图。具体实施方式下面结合附图和实施方式对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施方式仅用于解释相关内容,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分。需要说明的是,在不冲突的情况下,本公开中的实施方式及实施方式中的特征可以相互组合。下面将参考附图并结合实施方式来详细说明本公开。本公开中所提到的“客户端”是指在终端上运行的应用程序客户端,例如该应用程序客户端可运行在手机上、个人计算机上、笔记本电脑上、平板电脑上、个人数字助手(PDA)上等,又例如该应用程序客户端可运行在诸如windows系统、iOS系统、Android系统等操作系统中。图1示出了根据本公开一些实施方式的获取公私钥的系统的结构示意图。如图1所示,根据本公开一些实施方式的获取公私钥的系统100包括:客户端101,通讯服务器102以及密钥服务器103。多个客户端可通过通讯服务器102来彼此进行通讯,例如发送和接收各种类型的消息,包括但不限于文字消息、图片消息、语音消息或视频消息。一个客户端将待发送给另一客户端的消息发送给通讯服务器102,然后通讯服务器102将该消息发送给另一客户端。通讯服务器102和密钥服务器103设置为相互独立。如图1所示,在本公开的一些实施方式中,客户端101还可包括消息模块1011和加解密模块1012。消息模块1011可与通讯服务器102进行通信,以发送或接收消息。加解密模块1012可与密钥服务器103进行通信以从密钥服务器103接收公私钥。在本公开的一个具体实施方式中,加解密模块1012可通过软件开发工具包(SDK)来实施。在本公开的另一具体实施方式中,加解密模块1012可由客户端101自身来实现。客户端101用于向密钥服务器103发送第一认证请求,该第一认证请求中可包括用户认证令牌(token),其中该用户认证令牌已预先存储在客户端101中。具体地,客户端101可通过加解密模块1012向密钥服务器103发送第一认证请求。在本公开的一些实施方式中,客户端101可包括即时通讯应用客户端,然而本领域技术人员应理解本公开并不限于此。密钥服务器103用于生成公私钥,并将生成的公私钥发送给客户端101,其中该公私钥是基于用户信息生成的。密钥服务器103还可用于响应于用户认证令牌被其认证为有效,向通讯服务器102发送第二认证请求,该第二认证请求包括用户认证令牌。密钥服务器103还对所生成的公私钥进行存储。通讯服务器102用于响应于用户认证令牌被其认证为有效,向密钥服务器103发送用户信息,其中该用户信息与该用户认证令牌相对应,并且该用户信息预先存储在通讯服务器102中。在本公开的一个具体实施方式中,用户信息与用户认证令牌一一对应。在本公开的一些示例性实施方式中,上述的用户信息可包括但不限于:用户账号、姓名等。各客户端101之间通过通讯服务器102传输的消息由加解密模块1012进行加密,而由于通讯服务器102并不知晓客户端101的公私钥,因此通讯服务器102并不能对加密的消息进行解密,从而也无法得到明文数据。此外,由于各客户端101之间传输的消息仅通过通讯服务器102而不通过密钥服务器103,因此密钥服务器103也无法得到明文数据。在本公开的一些示例性实施方式中,加解密模块1012与密钥服务器103之间可采用安全传输层协议(TLS)构建安全连接,保证通讯数据的安全性。在本公开的一些示例性实施方式中,加解密模块1012还可利用国密算法(包括但不限于非对称算法、对称算法、摘要算法)对消息进行加密。在根据本公开实施方式的获取公私钥的系统中,通讯服务器和密钥服务器的业务数据没有交集,从而使得通讯服务器和密钥服务器均不能获得用户的明文数据,保护了用户的隐私。此外,客户端通过加解密模块对消息进行加密和解密,而通讯系统无需关注密钥的生成和下发,对客户端和通讯服务器侵入小,降低了集成成本。下面将结合图2来描述根据本公开一些实施方式的获取公私钥的方法。如图2所示,根据本公开一些实施方式的获取公私钥的方法200可包括以下步骤:S201,客户端向密钥服务器发送第一认证请求,其中第一认证请求包括用户认证令本文档来自技高网...

【技术保护点】
1.获取公私钥的方法,包括:客户端向密钥服务器发送第一认证请求,其中所述第一认证请求包括用户认证令牌;响应于所述用户认证令牌被所述密钥服务器认证为有效,所述密钥服务器向通讯服务器发送第二认证请求,所述第二认证请求包括所述用户认证令牌;响应于所述用户认证令牌被所述通讯服务器认证为有效,所述通讯服务器向所述密钥服务器发送用户信息;以及所述密钥服务器根据接收到的所述用户信息生成公私钥,并将生成的所述公私钥发送给所述客户端。

【技术特征摘要】
1.获取公私钥的方法,包括:客户端向密钥服务器发送第一认证请求,其中所述第一认证请求包括用户认证令牌;响应于所述用户认证令牌被所述密钥服务器认证为有效,所述密钥服务器向通讯服务器发送第二认证请求,所述第二认证请求包括所述用户认证令牌;响应于所述用户认证令牌被所述通讯服务器认证为有效,所述通讯服务器向所述密钥服务器发送用户信息;以及所述密钥服务器根据接收到的所述用户信息生成公私钥,并将生成的所述公私钥发送给所述客户端。2.根据权利要求1所述的方法,其特征在于,所述密钥服务器与所述通讯服务器设置为相互独立。3.根据权利要求1所述的方法,其特征在于,所述用户信息包括用户账号。4.根据权利要求1所述的方法,其特征在于,所述客户端中设置有加解密模块,所述加解密模块用于利用所述公私钥对所述客户端发送的消息进行加密以及利用所述公私钥对所述客户端接收的消息进行解密。5.根据权利要求4所述的方法,其特征在于,所述客户端向密钥服务器发送第一认证请求的步骤还包括:所述客户端通过加解密模块向密钥服务器发送第一认证请求。6.根据权利要求4所述的方法,其特征在于,所述...

【专利技术属性】
技术研发人员:秦韡烨
申请(专利权)人:蓝信移动北京科技有限公司
类型:发明
国别省市:北京,11

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

1