密钥管理方法、密钥服务器以及存储介质与流程

文档序号:16754150发布日期:2019-01-29 17:11阅读:229来源:国知局
密钥管理方法、密钥服务器以及存储介质与流程

本公开涉及通讯技术领域,具体涉及一种密钥管理方法、密钥服务器以及存储介质。



背景技术:

即时通讯(instantmessaging,简称im),是一种基于互联网的即时交流消息方式,它允许两人或多人使用网络实时地传递文字消息、文件乃至实现语音与视频交流。当前国内外的即时通讯应用很多,例如qq、微信、whatsapp等。

加密是当前即时通讯应用常用的保护手段。然而,现有的即时通讯应用采用的加密方案存在局限性:在这些加密方案中,消息密钥对通讯服务器是可见的。由于即时通讯服务器是属于应用提供者所有,并不能保证应用提供者不会出于商业或其他的原因访问用户通讯内容,因此用户的隐私并不能真正得到保护。



技术实现要素:

针对至少一个上述问题,在第一方面中,本公开提供了一种密钥管理方法,其包括:通过密钥服务器接收来自第一用户的密钥授权请求,密钥授权请求指示了目标群的群标识和目标密钥的密钥标识;基于群标识,通过密钥服务器从通讯服务器获取目标群的群成员的群成员标识;以及通过密钥服务器存储密钥标识与群标识的对应关系以及群标识与群成员标识的对应关系。

在一些实施方式中,密钥服务器和通讯服务器设置为相互独立。

在一些实施方式中,基于群标识,通过密钥服务器从通讯服务器获取目标群的群成员标识的步骤还包括:通过密钥服务器查找第一用户的用户标识与密钥标识的对应关系;响应于查找到第一用户的用户标识与密钥标识的对应关系,通过密钥服务器基于群标识从通讯服务器获取目标群的群成员的群成员标识。

在一些实施方式中,该方法还包括:响应于来自通讯服务器的群变更通知,通过密钥服务器更新以下中至少之一:密钥标识与群标识的对应关系;或群标识与群成员标识的对应关系,其中群变更通知指示了目标群的状态变更或群成员变更。

在一些实施方式中,响应于指示目标群的状态变更为解散的群变更通知,通过密钥服务器删除密钥标识与群标识的对应关系。

在一些实施方式中,响应于指示目标群的群成员变更的群变更通知,通过密钥服务器更新群标识与群成员标识的对应关系中的群成员标识。

在一些实施方式中,该方法还包括:响应于来自目标群的群成员的密钥请求,通过密钥服务器向群成员发送目标密钥,其中,密钥请求请求获得目标密钥。

在一些实施方式中,密钥授权请求包括请求向目标群转发消息的消息转发请求,以及目标密钥为消息的加密密钥,其中,消息包括以下中至少之一:图片;文档;语音;以及视频。

在第二方面中,提供了一种密钥服务器,其包括:处理器;存储器,存储有能够被处理器执行的计算机可读指令,在计算机可读指令被执行时,处理器执行以下操作:接收来自第一用户的密钥授权请求,密钥授权请求指示了目标群的群标识和目标密钥的密钥标识;基于群标识,从通讯服务器获取目标群的群成员的群成员标识;以及存储密钥标识与群标识的对应关系以及群标识与群成员标识的对应关系。

在第三方面中,提供了一种非易失性计算机存储介质,其存储有能够被处理器执行的计算机可读指令,当计算机可读指令被处理器执行时,处理器执行以下操作:接收来自第一用户的密钥授权请求,密钥授权请求指示了目标群的群标识和目标密钥的密钥标识;基于群标识,从通讯服务器获取目标群的群成员的群成员标识;以及存储密钥标识与群标识的对应关系以及群标识与群成员标识的对应关系。

附图说明

附图示出了本公开的示例性实施方式,并与其说明一起用于解释本公开的原理,其中包括了这些附图以提供对本公开的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分。

图1示出了本公开可以应用于其中的示例性系统架构图。

图2根据本公开一些实施方式的密钥管理方法的示意性流程图。

图3是适于用来实施根据本公开一些实施例的密钥管理方法或密钥服务器的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施方式对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施方式仅用于解释相关内容,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分。

需要说明的是,在不冲突的情况下,本公开中的实施方式及实施方式中的特征可以相互组合。下面将参考附图并结合实施方式来详细说明本公开。

本公开中所提到的“客户端”是指在终端上运行的应用程序客户端,例如该应用程序客户端可运行在手机上、个人计算机上、笔记本电脑上、平板电脑上、个人数字助手(pda)上等,又例如该应用程序客户端可运行在诸如windows系统、ios系统、android系统等操作系统中。

图1示出了根据本公开可以应用于其中的示例性系统100的架构图。如图1所示,系统100包括:客户端101和102,通讯服务器103以及密钥服务器104。

多个客户端可通过通讯服务器103来彼此进行通讯,例如发送和接收各种类型的消息,包括但不限于文字消息、图片消息、语音消息或视频消息。一个客户端将待发送给另一客户端的消息发送给通讯服务器103,然后通讯服务器103将该消息发送给另一客户端。

通讯服务器103和密钥服务器104设置为相互独立。

如图1所示,在本公开的一些实施方式中,客户端101还可包括消息模块1011和加解密模块1012,客户端102还可包括消息模块1021和加解密模块1022。消息模块1011和1021可与通讯服务器103进行通信,以发送或接收消息。加解密模块1012和1022可与密钥服务器104进行通信以从密钥服务器104接收公私钥以及消息的加密密钥。在本公开的一个具体实施方式中,加解密模块1012可通过软件开发工具包(sdk)来实施。在本公开的另一具体实施方式中,加解密模块1012和1022可由客户端101自身来实现。

各客户端之间通过通讯服务器103传输的消息由加解密模块进行加密,而由于通讯服务器103并不知晓消息的加密密钥,因此通讯服务器103并不能对加密的消息进行解密,从而也无法得到明文数据。此外,由于各客户端之间传输的消息仅通过通讯服务器103而不通过密钥服务器104,因此密钥服务器104也无法得到明文数据。

在本公开的一些示例性实施方式中,加解密模块1012和1022与密钥服务器104之间可采用安全传输层协议(tls)构建安全连接,保证通讯数据的安全性。

在本公开的一些示例性实施方式中,加解密模块1012和1022还可利用国密算法(包括但不限于非对称算法、对称算法、摘要算法)对消息进行加密。

图2示出了根据本公开一些实施方式的密钥管理方法200的示意性流程图。如图2所示,根据本公开一些实施方式的密钥管理方法200包括:

s210,通过密钥服务器接收来自第一用户的密钥授权请求,密钥授权请求指示了目标群的群标识和目标密钥的密钥标识;

s220,基于群标识,通过密钥服务器从通讯服务器获取目标群的群成员的群成员标识;以及

s230,通过密钥服务器存储密钥标识与群标识的对应关系以及群标识与群成员标识的对应关系。

第一用户可通过客户端向密钥服务器发送密钥授权请求,并且在客户端包括加解密模块的情况下,在步骤s210中,可通过密钥服务器从加解密模块接收密钥授权请求。

目标群的群标识例如可以是群id,以及目标密钥的密钥标识例如可以是目标密钥的密钥id。

本公开中提到的密钥授权请求可包括消息转发请求,例如,请求向另一用户或群(如密钥授权请求所指示的目标群)转发消息。目标密钥为待转发消息的加密密钥。

此外,本公开中提到的消息可包括但不限于:图片、文档、语音、视频等。

步骤s220中,通过密钥服务器从通讯服务器获取的目标群的群成员的群成员标识例如可以是群成员id。步骤220中,通过密钥服务器从通讯服务器获取的目标群的所有群成员的群成员标识。

在步骤s230中,通过密钥服务器存储密钥标识与群标识的对应关系和群标识与群成员标识的对应关系。由于通过密钥服务器存储密钥标识与群标识的对应关系和群标识与群成员标识的对应关系,从而当目标群的群成员向密钥服务器请求目标密钥时,密钥服务器确认存在密钥标识与群标识的对应关系和群标识与群成员标识的对应关系,然后密钥服务器向该群成员提供目标密钥,以使得目标群的所有群成员能够获得该目标密钥。在步骤s230中,密钥标识与群标识的对应关系和群标识与群成员标识的对应关系可存储在密钥服务器中,或者密钥标识与群标识的对应关系和群标识与群成员标识的对应关系可存储在与密钥服务器可通信地连接的存储装置中,本公开对此没有限制。

在根据本公开的一些实施方式中,方法200还可包括:响应于来自目标群的群成员的密钥请求,通过密钥服务器向群成员发送目标密钥。密钥服务器在接收到来自群成员的密钥请求后,查找是否存在该群成员的群成员标识与目标群的群标识之间的对应关系,以确定该群成员是否为该目标群的群成员,以及查找是否存在该目标群的群标识与密钥请求所请求密钥的密钥标识的对应关系,以确定所请求的密钥是否已授权给该目标群,如果存在,则确定该群成员为该目标群的群成员并且所请求的密钥已授权给该目标群,然后通过密钥服务器向该群成员发送目标密钥。

在根据本公开的一些实施方式中,步骤220还可包括:通过密钥服务器查找第一用户的用户标识与密钥标识的对应关系;响应于查找到第一用户的用户标识与密钥标识的对应关系,通过密钥服务器基于群标识从通讯服务器获取目标群的群成员的群成员标识。

在根据本公开的一些实施方式中,方法200还可包括:响应于来自通讯服务器的群变更通知,通过密钥服务器更新密钥标识与群标识的对应关系,和/或群标识与群成员标识的对应关系。群变更通知可指示群的状态变更,或可指示群的群成员变更。例如,群变更通知可通知群被解散、增加群成员、或移除群成员等。在根据本公开的一个具体实施方式中,方法200还可包括:响应于指示目标群的状态变更为解散的群变更通知,通过密钥服务器删除密钥标识与群标识的对应关系。在根据本公开的另一具体实施方式中,方法200还可包括:响应于指示目标群的群成员变更的群变更通知,通过密钥服务器更新群标识与群成员标识的对应关系中的群成员标识。当群变更通知指示目标群增加群成员时,通过密钥服务器在群标识与群成员标识的对应关系中增加该群成员的群成员标识。当群变更通知指示目标群移除群成员时,通过密钥服务器在群标识与群成员标识的对应关系中移除该群成员的群成员标识。

在根据本公开实施方式的密钥管理方法中,通讯服务器和密钥服务器的业务数据没有交集,从而使得通讯服务器和密钥服务器均不能获得用户的明文数据,保护了用户的隐私。

下面参考图3,其示出了适于用来实现本公开实施方式的密钥管理方法或密钥服务器的计算机系统300的结构示意图。

如图3所示,计算机系统300包括中央处理单元(cpu)301,其可以根据存储在只读存储器(rom)302中的程序或者从存储部分308加载到随机访问存储器(ram)303中的程序而执行各种适当的动作和处理。在ram303中,还存储有系统300操作所需的各种程序和数据。cpu301、rom302以及ram303通过总线304彼此相连。输入/输出(i/o)接口305也连接至总线304。

以下部件连接至i/o接口305:包括键盘、鼠标等的输入部分306;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分307;包括硬盘等的存储部分308;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分309。通信部分309经由诸如因特网的网络执行通信处理。驱动器310也根据需要连接至i/o接口305。可拆卸介质311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器310上,以便于从其上读出的计算机程序根据需要被安装入存储部分308。

特别地,根据本公开的实施方式,上文参考图2描述的过程可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,该计算机程序包含用于执行图2的方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分309从网络上被下载和安装,和/或从可拆卸介质311被安装。

附图中的流程图和框图,图示了按照本发明各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述的模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中服务器中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本公开的密钥管理方法。

本领域的技术人员应当理解,上述实施方式仅仅是为了清楚地说明本公开,而并非是对本公开的范围进行限定。对于所属领域的技术人员而言,在上述公开的基础上还可以做出其它变化或变型,并且这些变化或变型仍处于本公开的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1