CN109088810A - 群组消息的通信方法、装置、相应设备、***及存储介质 - Google Patents
群组消息的通信方法、装置、相应设备、***及存储介质 Download PDFInfo
- Publication number
- CN109088810A CN109088810A CN201710447476.3A CN201710447476A CN109088810A CN 109088810 A CN109088810 A CN 109088810A CN 201710447476 A CN201710447476 A CN 201710447476A CN 109088810 A CN109088810 A CN 109088810A
- Authority
- CN
- China
- Prior art keywords
- message
- key
- encryption
- group
- identifier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了群组消息的通信方法、装置、相应设备、***及存储介质,该群组消息通信***包括:至少两个用户终端、密钥服务器以及即时通讯服务器;其中,密钥服务器执行的方法包括:根据群组中消息发送端发送的会话加密请求,对消息发送端进行身份认证;如果消息发送端通过身份认证,则生成对应于消息发送端中待加密消息的消息密钥,并发送消息密钥至消息发送端,以使消息发送端生成待加密消息的加密消息;接收即时通讯服务器发送的与所述消息密钥关联的消息标识,并将消息标识及消息密钥对应存储于设定数据库中。上述技术方案,解决了多用户群组信息加密、解密安全性低的问题,提高了群组消息加密的抗攻击能力,保证了群组消息内容的保密性。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及群组消息的通信方法、装置、相应设备、***及存储介质。
背景技术
移动互联网的高速发展和智能移动终端的快速普及,让政府、企事业单位实现了真正的移动化,可以通过移动终端实现多用户群组的即时通讯。但因移动终端和使用环境的特殊性,传统的安全技术已经无法解决现实的安全问题,移动应用需面对身份安全、终端安全、通信安全、数据安全等一系列安全问题,移动安全问题已经阻碍移动应用的发展步伐。
虽然即时通讯的服务提供者和开发者也发布了一些安全的即时通信***,但这些产品主要解决的是点对点的加密问题,目前,专门针对多用户群组消息进行加密的即时通信产品较少,而这些即时通信产品的加密安全性往往较弱,其通信消息很容易被第三方窃取。
发明内容
本发明实施例提供了群组消息的通信方法、装置、相应设备、***及存储介质,实现了群组消息的加密通信,提高了群组消息加密通信的安全性。
第一方面,本发明实施例提供了一种群组消息的通信方法,该方法应用于群组中的消息发送端,包括:
向密钥服务器发送会话加密请求;
接收所述密钥服务器发送的对应于待加密消息的消息密钥;
基于所述消息密钥及设定的加密算法对所述待加密消息加密,并将加密后的加密消息通过即时通讯服务器发送至群组中消息接收端。
第二方面,本发明实施例提供了一种群组消息的通信方法,该方法应用于密钥服务器,包括:
根据群组中消息发送端发送的会话加密请求,对所述消息发送端进行身份认证;
如果所述消息发送端通过身份认证,则生成对应于所述消息发送端中待加密消息的消息密钥,并发送所述消息密钥至所述消息发送端,以使所述消息发送端生成所述待加密消息的加密消息;
接收即时通讯服务器发送的与所述消息密钥关联的消息标识,并将所述消息标识及所述消息密钥对应存储于设定数据库中。
第三方面,本发明实施例还提供了一种群组消息的通信方法,该所述方法应用于即时通讯服务器,包括:
分别接收群组中消息发送端发送的标记声明消息、消息认证码和加密消息,所述标记声明消息包含所述加密消息所属的群组编号及所述加密消息所对应待加密消息的标记值;
获取接收到所述加密消息时的时间戳字段,将所述时间戳字段及所述群组编号确定为所述加密消息的消息标识;
形成包含所述标记值及所述消息标识的标识确定信息,并发送至密钥服务器,以用于所述密钥服务器存储与所述消息标识相关联的消息密钥。
向群组中消息接收端分别发送所述加密消息的消息标识、消息认证码及所述加密消息,以使所述消息接收端基于所述消息标识获得解密所需的消息密钥。
第四方面,本发明实施例又提供了一种群组消息的通信方法,所述方法应用于群组中的消息接收端,包括:
接收即时通讯服务器发送的加密消息及所述加密消息的消息标识;
将所述消息标识作为加密消息标识包含在会话解密请求中,并向密钥服务器发送所述会话解密请求;
接收所述密钥服务器发送的对应于所述加密消息的消息密钥,并基于所述消息密钥对所述加密消息进行解密。
第五方面,本发明实施例提供了一种群组消息的通信装置,该装置配置于群组中的消息发送端,包括:
加密请求发送模块,用于向密钥服务器发送会话加密请求;
消息密钥接收模块,用于接收所述密钥服务器发送的对应于待加密消息的消息密钥;
消息加密模块,用于基于所述消息密钥及设定的加密算法对所述待加密消息加密,并将加密后的加密消息通过即时通讯服务器发送至群组中消息接收端。
第六方面,本发明实施例提供了一种群组消息的通信装置,该装置配置于密钥服务器,包括:
身份认证模块,用于根据群组中消息发送端发送的会话加密请求,对所述消息发送端进行身份认证;
密钥生成模块,用于当所述消息发送端通过身份认证时,生成对应于所述消息发送端中待加密消息的消息密钥,并发送所述消息密钥至所述消息发送端,以使所述消息发送端生成所述待加密消息的加密消息。
密钥存储模块,用于接收即时通讯服务器发送的与所述消息密钥关联的消息标识,并将所述消息标识及所述消息密钥对应存储于设定数据库中。
第七方面,本发明实施例还提供了一种群组消息的通信装置,该装置配置于即时通讯服务器,包括:
信息接收模块,用于分别接收群组中消息发送端发送的标记声明消息、消息认证码和加密消息,所述标记声明消息包含所述加密消息所属的群组编号及所述加密消息所对应待加密消息的标记值;
标识确定模块,用于获取接收到所述加密消息时的时间戳字段,将所述时间戳字段及所述群组编号确定为所述加密消息的消息标识;
第一发送模块,用于形成包含所述标记值及所述消息标识的标识确定信息,并发送至密钥服务器,以用于所述密钥服务器存储与所述消息标识相关联的消息密钥;
第二发送模块,用于向群组中消息接收端分别发送所述加密消息的消息标识、消息认证码及所述加密消息,以使所述消息接收端基于所述消息标识获取解密所需的消息密钥。
第八方面,本发明实施例又提供了一种群组消息的通信装置,该装置配置于群组中的消息接收端,包括:
信息接收模块,用于接收即时通讯服务器发送的加密消息及所述加密消息的消息标识;
解密请求发送模块,用于将所述消息标识作为加密消息标识包含在会话解密请求中,并向密钥服务器发送所述会话解密请求;
消息解密模块,用于接收所述密钥服务器发送的对应于所述加密消息的消息密钥,并基于所述消息密钥对所述加密消息进行解密。
第九方面,本发明实施例提供了一种用户终端,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例第一方面提供的群组消息的通信方法,和/或,实现本发明实施例第四方面提供的群组消息的通信方法。
第十方面,本发明实施例提供了一种密钥服务器,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例第二方面提供的群组消息的通信方法。
第十一方面,本发明实施例提供了一种即时通讯服务器,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例第三方面提供的群组消息的通信方法。
第十二方面,本发明实施例提供了一种群组消息通信***,包括:
至少两个本发明实施例第九方面提供的用户终端、本发明实施例第十方面提供的密钥服务器以及本发明实施例第十一方面提供的即时通讯服务器,其中,其中,所述用户终端作为群组中的消息发送端和/或消息接收端。
第十三方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例第一方面提供的群组消息的通信方法,和/或,实现本发明实施例第四方面提供的群组消息的通信方法。
第十四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例第二方面提供的群组消息的通信方法。
第十五方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例第三方面提供的群组消息的通信方法。
本发明实施例中提供了群组消息的通信方法、装置、相应设备、***及存储介质,基于该群组消息通信***进行群组消息通信时,包括了消息发送端首先与密钥服务器的信息交互,消息发送端与即时通讯服务器的信息交互、即时通讯服务器与密钥服务器和消息接收端的信息交互、以及消息接收端与密钥服务器的信息交互等多个信息交互过程,最终实现了对群组中每条群组消息的加密通信。上述技术方案,解决了多用户群组信息加密、解密安全性低的问题,同时,通过群组消息与消息密钥管理的分开部署,不仅大大提高了消息密钥的安全性,还避免了群用户更新对加密通信的干扰,由此提高了群组消息加密的抗攻击能力,保证了群组消息内容的保密性。
附图说明
图1为本发明实施例一提供的一种群组消息通信***的架构图;
图2为本发明实施例一提供的一种群组消息的通信方法的流程示意图;
图3为本发明实施例一提供的一种群组消息的通信方法的流程示意图;
图4为本发明实施例一提供的一种群组消息的通信方法的流程示意图;
图5为本发明实施例一提供的一种群组消息的通信方法的流程示意图;
图6为基于本发明实施例二提供的群组消息通信***进行群组消息通信的交互示例图;
图7a为本发明实施例三提供的一种群组消息的通信装置的结构框图;
图7b还给出了本发明实施例三提供的一种群组消息的通信装置的结构框图;
图7c又给出了本发明实施例三提供的一种用户终端的硬件结构示意图;
图8为本发明实施例四提供的一种群组消息的通信装置的结构框图;
图9为本发明实施例五提供的一种群组消息的通信装置的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种群组消息通信***的架构图,如图1所示,该群组消息通信***包括:至少两个用户终端11、密钥服务器12以及即时通讯服务器13。
需要说明的是,在该群组消息通信***中可以通过用户终端11构建多个群组,各群组能够基于该群组消息通信***独立实现群组中各群组消息的加密及解密通信,且各群组消息通信互不影响,一般地,群组消息通信***可通过群组编号来区分各群组中群组用户(用户终端)发送的消息。
本实施例中,进行群组消息通信时,同一用户终端11可以同时存在于群组消息通信***的任一群组中,且用户终端11既可以作为群组中的消息发送端,也可以作为群组中的消息接收端,作为消息发送端时可以执行消息发送端对应的操作步骤,作为消息接收端时可以执行消息接收端对应的操作步骤。此外,各群组所存在用户终端11的数量可能相同,也可能不同。
总的来说,基于本实施例的群组消息通信***进行群组消息通信的过程具体可看作用户终端11与密钥服务器12以及即时通讯服务器13互相进行信息交互的过程,其中,至少两个用户终端11与密钥服务器12进行信息交互,获得加密或解密所需的消息密钥;至少两个用户终端11与即时通讯服务器13进行信息交互,实现群组消息的即时通讯;密钥服务器12与即时通讯服务器13进行信息交互,实现所产生消息密钥的独立存储。
本实施例提供的群组消息通信***,实现了群组中的每一条群组消息单独加密以及为每条群组消息对应生成一个消息密钥,从而使得群组聊天信息无法被整体破译,进而保证了群组消息通信***的整体安全性。
具体地,图2为本发明实施例一提供的一种群组消息的通信方法的流程示意图,该方法适用于群组用户之间进行消息通信的情况,该方法可以由群组消息的通信装置执行,其中该装置可以由软件和/或硬件实现,并一般集成在群组消息通信***的用户终端中。
可以理解的是,群组消息通信***中的用户终端作为群组中消息发送端执行该通信方法,如图2所示,本发明实施例一提供的一种群组消息的通信方法,具体包括如下操作:
S201、向密钥服务器发送会话加密请求。
在本实施例中,为保证群组消息的加密通信,群组消息通信***中用户终端首先与密钥服务器进行信息交互,且为保证用户终端与密钥服务器信息交互的安全性,本实施例优选对二者进行协议初始化操作,以使用户终端与密钥服务器之间基于不留记录消息协议(Off-the-Record Messaging protocol,OTR)进行消息的传输。
具体地,用户终端作为消息发送端时,与所述密钥服务器进行协议初始化后,首先基于OTR协议向密钥服务器发送会话加密请求,所述会话加密请求具体可用于触发密钥服务器对用户终端进行身份认证以及生成用户终端进行消息加密所述的消息密钥。
S202、接收所述密钥服务器发送的对应于待加密消息的消息密钥。
可以理解的是,密钥服务器可根据用户终端发送的会话加密请求在对用户终端进行身份认证后生成消息密钥并发送给用户终端,由此本步骤可以接收对应待加密消息的消息密钥,所述待加密消息具体可理解为用户终端将要发送至群组中其他用户终端的一条原始消息,本实施例为保证群组中每条消息都具有保密性,则对每一条将要发送的原始消息进行加密处理。
S203、基于所述消息密钥及设定的加密算法对所述待加密消息加密,并将加密后的加密消息通过即时通讯服务器发送至群组中消息接收端。
其中,可以采用本步骤的操作实现待加密消息的加密,具体地,本实施例基于消息密钥及其选定的加密算法实现待加密消息的加密处理,优选地,本实施例采用目前最先进的256位高级加密标准(Advanced Encryption Standard,AES)算法实现待加密消息的加密处理。此外,本步骤还将加密后的加密消息发送至即时通讯服务器,以通过即时通讯服务器将该加密消息发送至作为消息接收端的用户终端。
本实施例上述图2提供的通信方法中,具体描述了群组消息通信***中用户终端作为消息发送端进行消息加密的具体操作,通过消息发送端与密钥服务器的信息交互获得了待加密消息所需的消息密钥,并基于消息密钥确定了加密消息,由此保证了群组消息加密通信的安全性。
进一步地,在本实施例上述图2提供的方法的基础上,还优化增加了:基于所述消息密钥,生成用于验证所述加密消息完整性的消息认证码,并将所述消息认证码通过所述即时通讯服务器发送至所述消息接收端。
其中,该步骤具体可在生成加密消息后发送即时通讯服务器之前执行,用于生成验证加密消息完整性的消息认证码。消息认证码的生成可基于密钥相关的哈希运算策略实现,具体地,可以将获得的消息密钥以及加密后的加密消息作为上述哈希运算策略的输入参数,最终生成对应于加密消息的消息认证码,可以理解的是,该消息认证码同样发送至即时通讯服务器,并通过即时通讯服务器传输至作为消息接收端的用户终端,以使消息接收端基于消息认证码确定所接收加密消息的完整性。
此外,本实施例提供的上述方法,还优化增加了:向所述即时通讯服务器发送标记声明消息,以用于所述即时通讯服务器确定所述加密消息的消息标识。
本实施例中,消息发送端向即时通讯服务器发送加密消息之前,还向即时通讯服务器发送了一条标记声明消息,所述标记声明消息中具体包含了加密消息所属的群组编号,同时还包含了该加密消息所对应待加密消息的标记值,该标记声明消息具体可用于向即时通讯服务器声明所发送加密消息的标识信息。
上述图2中所提供的群组消息的通信方法具体应用于群组中作为消息发送端的用户终端上。同时,图3为本发明实施例一提供的一种群组消息的通信方法的流程示意图,其中,图3提供的通信方法同样适用于群组用户之间进行消息通信的情况,该方法可以由群组消息的通信装置执行,其中该装置可以由软件和/或硬件实现,并一般集成在群组消息通信***的密钥服务器中。
具体地,如图3所示,该群组消息的通信方法包括如下操作:
S301、根据群组中消息发送端发送的会话加密请求,对所述消息发送端进行身份认证。
本步骤具体可看作群组中作为消息发送端的用户终端与密钥服务器进行信息交互时,密钥服务器针对消息发送端所发送的信息而执行的其中一步操作。具体地,本步骤密钥服务器首先根据消息发送端发送的会话加密请求,对消息发送端进行身份认证,以确定消息发送端是否用于访问密钥服务器的访问权限,由此保证群组消息通信***中用户终端的安全性。示例性地,本步骤可采用西格玛协议(SIGMA protocol)与消息发送端进行身份认证。
S302、如果所述消息发送端通过身份认证,则生成对应于所述消息发送端中待加密消息的消息密钥,并发送所述消息密钥至所述消息发送端,以使所述消息发送端生成所述待加密消息的加密消息。
本步骤具体可看作密钥服务器基于S301的执行结果进行的操作,可以理解的是,当消息发送端没有通过身份认证时,密钥服务器可以终止与消息发送端的信息交互,相当于终止了消息发送端在群组中的消息通信;当消息发送端通过身份认证时,说明消息发送端具备访问密钥服务器的访问权限,此时密钥服务器可根据接收的会话加密请求触发生成消息密钥。基于本步骤的操作可以有效防止不良攻击者假冒合法用户盗取群组消息的情况。
具体地,本实施例中所生成的消息密钥对应于消息发送端的一条待加密消息,其中,消息密钥与待加密消息的对应关系具体可通过会话加密请求中携带的用于标记待加密消息的标记值建立,即,可通过所获取的标记值确定消息密钥所对应的待加密消息。示例性地,本实施例优选采用密钥交换协议/算法(Diffie-Hellman,DH)进行消息密钥生成。
本步骤中生成待加密消息对应的消息密钥后,将该消息密钥发送给消息发送端,从而使得消息发送端能够执行上述S202及其之后的操作,由此通过作为消息发送端的用户终端与密钥服务器的信息交互,完成了待加密消息的加密。
S303、接收即时通讯服务器发送的与所述消息密钥关联的消息标识,并将所述消息标识及所述消息密钥对应存储于设定数据库中。
本步骤具体描述了密钥服务器对所生成消息密钥的存储管理,本实施例上述S302生成对应于待加密消息的消息密钥时,并不直接依据用于标记待加密消息的标记值,而是依据即时通讯服务器发送的消息标识,最终将与消息密钥相关联的消息标识及消息密钥对应存储在设定数据库中。
本步骤的操作体现了密钥服务器与即时通讯服务器的信息交互,进一步地,本实施例将所述接收即时通讯服务器发送的与所述消息密钥关联的消息标识,并将所述消息标识及所述消息密钥对应存储于设定数据库中具体优化为:接收所述即时通讯服务器发送的标识确定信息,所述标识确定信息中包括用于标记待加密消息的标记值及预先确定的消息标识;如果对应于所述消息密钥的待加密消息的标记值与所述标识确定信息中的标记值相同,则确定所述消息标识与所述消息密钥相关联,并将所述消息标识与所述消息密钥以键值对形式存储于所述设定数据库。
在本实施例中,密钥服务器通过与即时通讯服务器的信息交互实现消息密钥的存储,具体地,密钥服务器首先接收即时通讯服务器发送的标识确定信息,该标识确定信息中包含了用于标记待加密消息的标记值,同时包含了加密后所生成加密消息具备的消息标识;之后,密钥服务器将所接收标识确定信息中的标记值与待存储的消息密钥所对应待加密消息的标记值相同时,就确定标识确定信息中的消息标识与消息密钥相关联;最终,将相关联的消息标识和消息密钥以键值对形式进行存储。
需要说明的是,本实施例中即时通讯服务器发送给密钥服务器的标识确定信息,具体根据上述图2中消息发送端发送给即时通讯服务器的标记声明消息确定。此外,本实施例密钥服务器对消息标识和消息密钥进行存储时,所存储的设定数据库可优选为Redis内存数据库,同时,由于该群组消息通信***中每条群组消息均存在对应的消息密钥,所以需要分配足够大的存储空间用于消息密钥的存储。
然而,由于单台Redis内存数据库的内存空间有限,在消息密钥达到一定程度的时,Redis内存数据库的存储性能将急剧下降,且Redis内存数据库很可能发生存储故障,将直接影响群组消息通信中消息密钥的获取,为了提升Redis内存数据库的存储性能及增强扩展性,本实施例优选通过搭建Redis内存数据库集群来满足需求,这样能提高整个群组消息通信***的稳定性和可扩展性。需要说明的是,本实施例中的Redis内存数据库集群优选的搭建在密钥服务器所属的平台上,与密钥服务器成为一体。
此外,本实施例以键值对(key-value)形式存储所生成的消息密钥,具体地可将接收的消息标识确定为key,其中,消息标识中具体包含了加密消息所属的群组编号以及加密消息到达即时通讯服务器时的时间戳字段;之后可以将生成的消息密钥确定为value,最终存储在已设定好的Redis内存数据库节点中。
需要注意的是,Redis内存数据库所存储的各键值对信息均具有相应的生命周期,其生命周期具体在键值对信息存储之前基于历史经验值实际配置,如果个键值对信息在Redis内存数据库中的存储时间超过所配置生命周期,本实施例优选对超过生命周期的键值对信息进行删除操作,或直接将新的键值对信息更新在该存储地址中,由此保证了设定数据库内容空间的延续性使用。
本实施例上述图3所提供的群组消息的通信方法,具体应用在群组消息通信***的密钥服务器上,实现了群组消息加密通信所需消息密钥的生成,同时实现了消息密钥的独立存储,这种将消息密钥独立于设定数据库进行存储的方式很大程度提高了群组消息通信时的安全性。
进一步地,本实施例在上述图3所提供群组消息的通信方法的基础上,对于应用在密钥服务器上的通信方法还优化包括了:根据群组中消息接收端发送的会话解密请求,对所述消息接收端进行身份认证;如果所述消息接收端通过身份认证,则获取所述会话解密请求中包含的加密消息标识;在所述设定数据库中查找与所述加密消息标识相匹配的消息标识,并将所述消息标识对应的消息密钥发送至所述消息接收端,以用于所述消息接收端解密所接收的加密消息。
在本实施例中,上述优化增加的通信方法的操作步骤同样体现了群组消息通信***中密钥服务器与用户终端的信息交互,在该信息交互中,所述用户终端具体作为群组中的消息接收端,其操作步骤具体在作为消息接收端的用户终端接收到即时通讯服务器发送的加密消息后,向密钥服务器发送会话解密请求后触发密钥密钥服务器执行。
具体地,密钥服务器同样根据所接收的会话解密请求,触发对消息接收端进行身份验证,以确保消息接收端具有访问密钥服务器的访问权限;在确定消息接收端通过身份认证后,便获取所接收会话解密请求中包括的加密消息标识,其中,所述加密消息标识由即时通讯服务器发送给消息接收端,所述加密消息标识具体用于查找所接收加密消息对应的消息密钥。
上述图2以及图3所提供群组消息的通信方法,具体给出了作为消息发送端的用户终端以及密钥服务器在群组消息通信时的操作流程。同样,图4为本发明实施例一提供的一种群组消息的通信方法的流程示意图,其中,图4提供的通信方法同样适用于群组用户之间进行消息通信的情况,该方法可以由群组消息的通信装置执行,其中该装置可以由软件和/或硬件实现,并一般集成在群组消息通信***的即时通讯服务器中。
具体地,如图4所示,该群组消息的通信方法包括如下操作:
S401、分别接收群组中消息发送端发送的标记声明消息、消息认证码和加密消息,所述标记声明消息包含所述加密消息所属的群组编号及所述加密消息所对应待加密消息的标记值。
本步骤具体可看作群组中作为消息发送端的用户终端执行完成本实施例图2中提供的通信方法后,即时通讯服务器与消息发送端进行信息交互时,即时通讯服务器所要执行的其中一步操作。具体地,本步骤主要接收了作为消息发送端的用户终端发送的标记声明消息、消息认证码和加密消息。
S402、获取接收到所述加密消息时的时间戳字段,将所述时间戳字段及所述群组编号确定为所述加密消息的消息标识。
本步骤具体可看作即时通讯服务器基于S401接收的信息内容进行的操作,可以理解的是,当基于S401接收加密消息时,即时通讯服务器将会记录接收到加密消息时的时间戳字段,本实施例将所记录的时间戳字段以及所接收的加密消息所属的群组编号确定为加密消息的消息标识,其中,所述消息标识具体可提供给密钥服务器进行消息密钥的存储操作,或者,提供给作为消息接收端的用户终端为所接收的加密消息确定相关联的消息密钥。
S403、形成包含所述标记值及所述消息标识的标识确定信息,并发送至密钥服务器,以用于所述密钥服务器存储与所述消息标识相关联的消息密钥。
本步骤具体描述了将消息标识发送给密钥服务器的操作过程,相当于即时通讯服务器与密钥服务器的信息交互。可以知道的是,所确定的消息标识连同所接收的标记值一同构成标识确定信息发送给密钥服务器。
S404、向群组中消息接收端分别发送所述加密消息的消息标识、消息认证码及所述加密消息,以使所述消息接收端基于所述消息标识获得解密所需的消息密钥。
本步骤具体描述了将所确定消息标识、消息认证码及加密消息传送给消息接收端的操作过程,相当于即时通讯服务器与作为消息接收端的用户终端的信息交互。
本实施例上述图4的通信方法中,具体描述了群组消息通信***中即时通讯服务器作为群组消息通信中转站为消息加密及消息解密提供有用信息的具体操作,不仅为消息发送端向消息接收端进行群组消息中转,还确定了消息密钥存储必须的消息标识以及消息解密必须的消息密钥,在群组消息通信***的加密通信中起到了决定性作用。
上述图4中所提供的群组消息的通信方法具体应用于群组消息通信***的即时通讯服务器上。此外,图5为本发明实施例一提供的一种群组消息的通信方法的流程示意图,其中,图5提供的通信方法同样适用于群组用户之前进行消息通信的情况,该方法可以由群组消息的通信装置执行,其中该装置可以由软件和/或硬件实现,并一般集成在群组消息通信***作为消息接收端的用户终端中。
具体地,如图5所示,该群组消息的通信方法包括如下操作:
S501、接收即时通讯服务器发送的加密消息及所述加密消息的消息标识。
本步骤具体描述了作为消息接收端的用户终端接收加密消息及相应消息标识的操作过程,相当于即时通讯服务器与消息接收端的信息交互。
S502、将所述消息标识作为加密消息标识包含在会话解密请求中,并向密钥服务器发送所述会话解密请求。
基于S501获得加密消息后,需要对所接收加密消息进行解密操作,解密操作需要加密时对应的消息密钥,本步骤具体描述了会话解密请求的形成以及发送操作,相当于消息接收端与密钥服务器的信息交互。
可以理解的是,基于上述图3所提供通信方法中的具体描述,清楚所述会话解密请求具体用于触发密钥服务器对消息接收端进行身份验证以及触发进行消息密钥的确定操作,本步骤在上述图3所提供的通信方法的基础上,可以通过会话解密请求向密钥服务器获取解密消息所需的消息密钥。
S503、接收所述密钥服务器发送的对应于所述加密消息的消息密钥,并基于所述消息密钥对所述加密消息进行解密。
本步骤相当于密钥服务器与消息接收端的信息交互,基于本步骤可以获取与所接收加密消息相关联的消息密钥,从而基于所获取消息密钥实现了加密消息的解密,进而最终实现了群组消息由消息发送端到消息接收端的整个加密通信。
进一步地,在上述图5所提供通信方法的基础上,该通信方法在基于所述消息密钥对所述加密消息进行解密之前还优化增加了:根据所述即时通讯服务器发送的消息认证码,确定所述加密消息的完整性;如果所述加密消息不完整,则结束所述加密消息的解密操作。
在本实施例中,群组消息通信的解密阶段在加密消息的解密之前需要保证所传输消息的完整性,本实施例可基于消息发送端通过即时通讯服务器发送的消息认证码来确保消息的完整性。
本发明实施例一提出了群组消息通信***,并具体描述了基于群组消息通信***中的各组件进行群组消息通信的通信方法,本实施在整个群组消息通信过程中涉及了群组用户的身份认证机制、消息密钥的生成及存储机制、群组消息的加解密机制以及消息完整性验证机制等,能够有效防止第三方非法用户的攻击,更好保证了群组消息通信的安全性;同时,整个群组消息通信过程中各群组用户的实施开销差异较小,有效降低了群组消息通信对通信***的负载;此外,密钥的获取方式是必须先通过身份认证,才能在加密***获取密钥,且加密消息的消息密钥仅设置在密钥服务器上,没有在即时通讯服务器、各用户终端以及密钥服务器之间进行传输,由此也大大提高了群组消息通信的安全性。
实施例二
图6为基于本发明实施例二提供的群组消息通信***进行群组消息通信的交互示例图。本实施例提供的群组消息通信***适用于群组消息通信的不同应用场景,常见的应用场景有:(1)用户终端A作为群组的创建者首先创建一个群组C1,然后用户终端A邀请用户终端B加入群组C1,所形成群组C1中当前只有用户终端A和用户终端B两个群组成员,且用户终端A将要作为消息发送端与用户终端B在群组C1中进行消息通信,图6给出了此时基于本发明实施例提供的群组消息通信***进行群组消息通信的交互示例图。
如图6所示,应用场景(1)对应的群组消息通信的具体交互过程包括如下操作:
S601、用户终端A向即时通讯服务器发送包含账户和密码信息的***登录请求。
S602、即时通讯服务器根据外部鉴权脚本验证对所接收账号和密码进行验证,并在验证通过时允许用户终端A登录群组消息通信***。
S603、用户终端A确定成功登陆后,创建群组C1,添加用户终端B。
S604、用户终端A与密钥服务器进行协议初始化,确定以OTR协议进行消息传输。
需要说明的是,本步骤密钥服务器与群组中的所有用户终端均实现协议初始化,即,确定密钥服务器与群组中各用户终端都以OTR协议进行消息传输。
S605、用户终端A向密钥服务器发送会话加密请求。
可以理解的是,本步骤基于OTR协议发送会话加密请求。
S606、密钥服务器根据会话加密请求采用西格玛协议对用户终端A进行身份认证。
S607、密钥服务器在用户终端A通过身份认证后,生成待加密消息的消息密钥,并发送给用户终端A。
需要说明的是,本实施例中密钥服务器仅需对各群组中的群组用户进行一次身份认证,一次身份认证后,只要群组用户(无论作为消息发送端还是消息接收端)没有退出群组消息通信***,均无需身份认证,可直接根据接收的会话加密请求进行消息密钥的生成操作。
S608、用户终端A基于消息密钥并采用ASE256加密算法形成加密消息,同时形成消息认证码和标记声明消息,并将消息认证码、标记声明消息以及加密消息分别发送至即时通讯服务器。
S609、即时通讯服务器获取接收到所述加密消息时的时间戳字段,并将该时间戳字段及标记声明消息中加密消息所属的群组编号确定为消息标识。
S610、即时通讯服务器将标记声明消息中用于标记待加密消息的标记值及所述消息标识确定为标识确定信息,发送至密钥服务器。
S611、即时通讯服务器向用户终端B分别发送加密消息的消息标识、消息认证码及所述加密消息。
S612、密钥服务器将所接收标识确定信息中的标记值与所生成消息密钥对应待加密消息的标记值进行比对,当二者相同时,将标识确定信息中的消息标识与消息密钥以键值对形式存储于Redis内存数据库。
S613、用户终端B将所接收消息标识作为加密消息标识包含在会话解密请求中,向密钥服务器发送该会话解密请求。
可以理解的是,用户终端B同样基于OTR协议进行会话解密请求的传输。
S614、密钥服务器根据该会话解密请求,采用西格玛协议对用户终端B进行身份认证。
同样可以理解的是,只要消息接收端不退出群组消息通信***,则可以直接根据会话解密请求进行后续消息密钥的查找及匹配操作。本实施例的该种操作可有效节省信息交互的资源消耗,并能够加快群组消息的通信速度。
S615、密钥服务器在用户终端B通过身份认证后,获取会话解密请求中的加密消息标识。
S616、密钥服务器在Redis内存数据库中查找与所述加密消息标识相匹配的消息标识,并将该消息标识对应的消息密钥发送至用户终端B。
S617、用户终端B在根据接收的消息认证码验证加密消息完整后,基于接收的消息密钥对接收的加密消息进行解密。
本实施例所描述的应用场景(1)根据上述图6所示的交互流程,能够实现用户终端A及用户终端B在群组消息通信***的群组C1中的加密通信。同时,本实施例的群组消息通信***还适用于常见的应用场景(2),其中,应用场景(2)的具体表述如下:用户终端A既属于群组C2,又属于群组C3,其中,群组C2和群组C3中存在多位(大不少于3位)群组用户,且用户终端A登录群组消息通信***后同时参与两群组C2及C3的消息通信。
对于应用场景(2)所描述的场景,用户终端A同样可以基于上述S601和S602登录群组消息通信***,此时认为用户终端A可通过即时通讯服务器获取相应的群组信息,如群的昵称、头像和群的其他属性等。当用户终端A作为群组C2以及群组C3的消息发送端时,同样可以基于上述图6给出的交互流程实现群组消息的加密通信;与应用场景(1)相比,应用场景(2)基于图6的交互流程进行群组消息通信时的不同之处仅在于应用场景(2)时无需执行S603的群组创建操作,同时,群组C2及群组C3中的其他群组用户均可看作用户终端B(消息接收端),并通过图6中S611以及S613~S617的描述与即时通讯服务器及密钥服务器进行信息交互。可以理解的是,根据本实施例所提供群组消息通信***的通信机制,可以实现用户终端A在群组C2及群组C3中的消息加密通信相互独立,互不干扰。
此外,本实施例还提出了适用于群组消息通信***的应用场景(3),应用场景(3)的具体表述如下:用户终端A属于群组C4,用户终端A在群组C4中向其他群组成员连续发送多条群组消息。在应用场景(3)的条件下,用户终端A同样可以基于上述S601和S602登录群组消息通信***,此时也认为用户终端A可通过即时通讯服务器获取相应的群组信息,如群的昵称、头像和群的其他属性等。且用户终端A可看作群组C4中的消息发送端,并基于上述图6给出的交互流程实现群组消息的加密通信。
需要说明的是,在应用场景(3)下,用户终端A每发送一条消息,均会执行一次图6给出的交互流程,且每次基于图6的交互流程进行群组消息通信时,与应用场景(1)的不同之处同样在于:无需执行S603的群组创建操作,同时,群组C4中的其他群组用户均可看作用户终端B(消息接收端)并通过图6中的S611以及S613~S617中的描述与即时通讯服务器及密钥服务器进行信息交互。
实施例三
图7a为本发明实施例三提供的一种群组消息的通信装置的结构框图。该通信装置适用于群组用户之间进行消息通信的情况,其中该通信装置可以由软件和/或硬件实现,并一般集成在群组消息通信***的用户终端中。
需要说明的是,本发明实施例三图7a提供的群组消息的通信装置具体在用户终端作为群组中消息发送端时使用。
如图7a所示的通信装置,包括:加密请求发送模块71、消息密钥接收模块72以及消息加密模块73。
其中,加密请求发送模块71,用于向密钥服务器发送会话加密请求;
消息密钥接收模块72,用于接收所述密钥服务器发送的对应于待加密消息的消息密钥;
消息加密模块73,用于基于所述消息密钥及设定的加密算法对所述待加密消息加密,并将加密后的加密消息通过即时通讯服务器发送至群组中消息接收端。
本发明实施例三中图7a提供的通信装置,能够在用户终端作为消息发送端时为每条群组消息形成加密消息,由此保证了群组消息加密通信的安全性。
进一步地,图7a提供的通信装置,还包括了:
认证码生成模块74,用于基于所述消息密钥,生成用于验证所述加密消息完整性的消息认证码,并将所述消息认证码通过所述即时通讯服务器发送至所述消息接收端。
在上述优化的基础上,图7a提供的通信装置,还包括了:标记声明发送模块75,向所述即时通讯服务器发送标记声明消息,以用于所述即时通讯服务器确定所述加密消息的消息标识。
同时,图7b还给出了本发明实施例三提供的一种群组消息的通信装置的结构框图,该通信装置适用于群组用户之间进行消息通信的情况,其中该通信装置可以由软件和/或硬件实现,并一般集成在群组消息通信***的用户终端中。
需要说明的是,本发明实施例三图7b提供的群组消息的通信装置具体在用户终端作为群组中的消息接收端时使用。
如图7b提供的通信装置,包括:信息接收模块710、解密请求发送模块711以及消息解密模块713。
其中,信息接收模块710,用于接收即时通讯服务器发送的加密消息及所述加密消息的消息标识;
解密请求发送模块711,用于将所述消息标识作为加密消息标识包含在会话解密请求中,并向密钥服务器发送所述会话解密请求;
消息解密模块712,用于接收所述密钥服务器发送的对应于所述加密消息的消息密钥,并基于所述消息密钥对所述加密消息进行解密。
本发明实施例三中图7b提供的通信装置,能够在用户终端作为消息接收端时对所接收的每条群组消息进行解密操作,由此同样保证了群组消息加密通信的安全性。
进一步地,图7b提供的通信装置,还包括了:
完整性验证模块714,用于在基于所述消息密钥对所述加密消息进行解密之前,根据所述即时通讯服务器发送的消息认证码,确定所述加密消息的完整性,并当所述加密消息不完整时,结束所述加密消息的解密操作。
基于本发明实施例三的图7a以及图7b提供的通信装置可知,群组消息通信***中的用户终端即集成了作为消息发送端时的通信装置,还集成了作为消息接收端时的通信装置。上述两个通信装置可同时执行(即为发送端又为接收端),也可分开执行,二者相互独立,互不干扰。
此外,图7c又给出了本发明实施例三提供的一种用户终端的硬件结构示意图。如图7c所示,本发明实施例三提供的用户终端,包括:处理器720和存储装置721。该用户终端中的处理器可以是一个或多个,图7c中以一个处理器720为例,所述用户终端中的处理器720和存储装置721可通过总线或其他方式连接,图7c中以通过总线连接为例。
可以理解的是,所述用户终端可以手机、平板电脑、笔记本或者固定式计算机等电子设备。
该用户终端中的存储装置721作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明上述实施例里群组消息的通信方法对应的程序指令/模块(例如,附图7a所示的群组消息的通信装置中的模块,包括:加密请求发送模块71、消息密钥接收模块72以及消息加密模块73;又如,附图7b所示群组消息的通信装置中的模块,包括:信息接收模块710、解密请求发送模块711以及消息解密模块713)。处理器720通过运行存储在存储装置721中的软件程序、指令以及模块,从而执行用户终端的各种功能应用以及数据处理,即实现上述方法实施例一中图2和/或图5提供的群组消息的通信方法。
存储装置721可包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储装置721可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置721可进一步包括相对于处理器720远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
并且,当上述用户终端所包括一个或者多个程序被所述一个或者多个处理器720执行时,程序进行如下操作:
向密钥服务器发送会话加密请求;接收所述密钥服务器发送的对应于待加密消息的消息密钥;基于所述消息密钥及设定的加密算法对所述待加密消息加密,并将加密后的加密消息通过即时通讯服务器发送至群组中消息接收端。
和/或,程序进行如下操作:
接收即时通讯服务器发送的加密消息及所述加密消息的消息标识;将所述消息标识作为加密消息标识包含在会话解密请求中,并向密钥服务器发送所述会话解密请求;接收所述密钥服务器发送的对应于所述加密消息的消息密钥,并基于所述消息密钥对所述加密消息进行解密。
进一步地,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被控制装置执行实施例一中图2和/或图5提供的群组消息的通信方法,图2所提供的通信方法包括:向密钥服务器发送会话加密请求;接收所述密钥服务器发送的对应于待加密消息的消息密钥;基于所述消息密钥及设定的加密算法对所述待加密消息加密,并将加密后的加密消息通过即时通讯服务器发送至群组中消息接收端。图5所提供的通信方法包括:接收即时通讯服务器发送的加密消息及所述加密消息的消息标识;将所述消息标识作为加密消息标识包含在会话解密请求中,并向密钥服务器发送所述会话解密请求;接收所述密钥服务器发送的对应于所述加密消息的消息密钥,并基于所述消息密钥对所述加密消息进行解密。
实施例四
图8为本发明实施例四提供的一种群组消息的通信装置的结构框图。该通信装置同样适用于群组用户之间进行消息通信的情况,其中该通信装置可以由软件和/或硬件实现,并一般集成在群组消息通信***的密钥服务器中。如图8所示,该通信装置包括:身份认证模块81、密钥生成模块82以及密钥存储模块83。
其中,身份认证模块81,用于根据群组中消息发送端发送的会话加密请求,对所述消息发送端进行身份认证;
密钥生成模块82,用于当所述消息发送端通过身份认证时,生成对应于所述消息发送端中待加密消息的消息密钥,并发送所述消息密钥至所述消息发送端,以使所述消息发送端生成所述待加密消息的加密消息。
密钥存储模块83,用于接收即时通讯服务器发送的与所述消息密钥关联的消息标识,并将所述消息标识及所述消息密钥对应存储于设定数据库中。
本发明实施例四提供的一种群组消息的通信装置,具体配置与群组消息通信***的密钥服务器上,实现了群组消息加密通信所需消息密钥的生成,同时实现了消息密钥的独立存储,这种将消息密钥独立于设定数据库进行存储的方式很大程度提高了群组消息通信时的安全性。
进一步地,密钥存储模块83,具体用于:
接收所述即时通讯服务器发送的标识确定信息,所述标识确定信息中包括用于标记待加密消息的标记值及预先确定的消息标识;如果对应于所述消息密钥的待加密消息的标记值与所述标识确定信息中的标记值相同,则确定所述消息标识与所述消息密钥相关联,并将所述消息标识与所述消息密钥以键值对形式存储于所述设定数据库。
在上述优化的基础上,身份认证模块81,还用于根据群组中消息接收端发送的会话解密请求,对所述消息接收端进行身份认证。
相应的,该通信装置还包括了:
标识获取模块84,用于当所述消息接收端通过身份认证时,获取所述会话解密请求中包含的加密消息标识;
标识匹配模块85,用于在所述设定数据库中查找与所述加密消息标识相匹配的消息标识,并将所述消息标识对应的消息密钥发送至所述消息接收端,以用于所述消息接收端解密所接收的加密消息。
同时,本发明实施例四还提供了一种密钥服务器,该密钥服务器的硬件结构包括:处理器和存储装置。该密钥服务器中的处理器可以是一个或多个,本实施例四一个处理器为例进行说明,所述密钥服务器中的处理器和存储装置可通过总线或其他方式连接,本实施例四以通过总线连接为例进行说明。需要说明的是,本实施例四中密钥服务器的硬件结构类似于本实施例三中用户终端具有的硬件结构,因此,本实施例四未重复示出密钥服务器的硬件结构图。
该密钥服务器中的存储装置作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明上述实施例里群组消息的通信方法对应的程序指令/模块(例如,附图8所示的群组消息的通信装置中的模块,包括:身份认证模块81、密钥生成模块82以及密钥存储模块83)。处理器通过运行存储在存储装置中的软件程序、指令以及模块,从而执行密钥服务器的各种功能应用以及数据处理,即实现上述方法实施例一中图3提供的群组消息的通信方法。
存储装置可包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储装置可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
并且,当上述密钥服务器所包括一个或者多个程序被所述一个或者多个处理器执行时,程序进行如下操作:
根据群组中消息发送端发送的会话加密请求,对所述消息发送端进行身份认证;如果所述消息发送端通过身份认证,则生成对应于所述消息发送端中待加密消息的消息密钥,并发送所述消息密钥至所述消息发送端,以使所述消息发送端生成所述待加密消息的加密消息;接收即时通讯服务器发送的与所述消息密钥关联的消息标识,并将所述消息标识及所述消息密钥对应存储于设定数据库中。
此外,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被控制装置执行实施例一中图3提供的群组消息的通信方法,图3所提供的通信方法包括:根据群组中消息发送端发送的会话加密请求,对所述消息发送端进行身份认证;如果所述消息发送端通过身份认证,则生成对应于所述消息发送端中待加密消息的消息密钥,并发送所述消息密钥至所述消息发送端,以使所述消息发送端生成所述待加密消息的加密消息;接收即时通讯服务器发送的与所述消息密钥关联的消息标识,并将所述消息标识及所述消息密钥对应存储于设定数据库中。
实施例五
图9为本发明实施例五提供的一种群组消息的通信装置的结构框图。该通信装置同样适用于群组用户之间进行消息通信的情况,其中该通信装置可以由软件和/或硬件实现,并一般集成在群组消息通信***的即时通讯服务器中。如图9所示,该通信装置包括:信息接收模块91、标识确定模块92、第一发送模块93以及第二发送模块94。
其中,信息接收模块91,用于分别接收群组中消息发送端发送的标记声明消息、消息认证码和加密消息,所述标记声明消息包含所述加密消息所属的群组编号及所述加密消息所对应待加密消息的标记值;
标识确定模块92,用于获取接收到所述加密消息时的时间戳字段,将所述时间戳字段及所述群组编号确定为所述加密消息的消息标识;
第一发送模块93,用于形成包含所述标记值及所述消息标识的标识确定信息,并发送至密钥服务器,以用于所述密钥服务器存储与所述消息标识相关联的消息密钥;
第二发送模块94,用于向群组中消息接收端分别发送所述加密消息的消息标识、消息认证码及所述加密消息,以使所述消息接收端基于所述消息标识获取解密所需的消息密钥。
本发明实施例五提供的一种群组消息的通信装置,具体描述了群组消息通信***中即时通讯服务器作为群组消息通信中转站为消息加密及消息解密提供有用信息的通信装置,不仅为消息发送端向消息接收端进行群组消息中转,还确定了消息密钥存储必须的消息标识以及消息解密必须的消息密钥,在群组消息通信***的加密通信中起到了决定性作用。
同时,本发明实施例五还提供了一种即时通讯服务器,该即时通讯服务器的硬件结构包括:处理器和存储装置。该即时通讯服务器中的处理器可以是一个或多个,本实施例五一个处理器为例进行说明,所述即时通讯服务器中的处理器和存储装置可通过总线或其他方式连接,本实施例五以通过总线连接为例进行说明。需要说明的是,本实施例五中即时通讯服务器的硬件结构同样类似于本实施例三中用户终端具有的硬件结构,因此,本实施例五未重复示出即时通讯服务器的硬件结构图。
该即时通讯服务器中的存储装置作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明上述实施例里群组消息的通信方法对应的程序指令/模块(例如,附图9所示的群组消息的通信装置中的模块,包括:信息接收模块91、标识确定模块92、第一发送模块93以及第二发送模块94)。处理器通过运行存储在存储装置中的软件程序、指令以及模块,从而执行即时通讯服务器的各种功能应用以及数据处理,即实现上述方法实施例一中图4提供的群组消息的通信方法。
存储装置可包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储装置可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
并且,当上述即时通讯服务器所包括一个或者多个程序被所述一个或者多个处理器执行时,程序进行如下操作:
分别接收群组中消息发送端发送的标记声明消息、消息认证码和加密消息,所述标记声明消息包含所述加密消息所属的群组编号及所述加密消息所对应待加密消息的标记值;获取接收到所述加密消息时的时间戳字段,将所述时间戳字段及所述群组编号确定为所述加密消息的消息标识;形成包含所述标记值及所述消息标识的标识确定信息,并发送至密钥服务器,以用于所述密钥服务器存储与所述消息标识相关联的消息密钥;向群组中消息接收端分别发送所述加密消息的消息标识、消息认证码及所述加密消息,以使所述消息接收端基于所述消息标识获得解密所需的消息密钥。
此外,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被控制装置执行实施例一中图3提供的群组消息的通信方法,图4所提供的通信方法包括:分别接收群组中消息发送端发送的标记声明消息、消息认证码和加密消息,所述标记声明消息包含所述加密消息所属的群组编号及所述加密消息所对应待加密消息的标记值;获取接收到所述加密消息时的时间戳字段,将所述时间戳字段及所述群组编号确定为所述加密消息的消息标识;形成包含所述标记值及所述消息标识的标识确定信息,并发送至密钥服务器,以用于所述密钥服务器存储与所述消息标识相关联的消息密钥;向群组中消息接收端分别发送所述加密消息的消息标识、消息认证码及所述加密消息,以使所述消息接收端基于所述消息标识获得解密所需的消息密钥。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (25)
1.一种群组消息的通信方法,其特征在于,所述方法应用于群组中的消息发送端,包括:
向密钥服务器发送会话加密请求;
接收所述密钥服务器发送的对应于待加密消息的消息密钥;
基于所述消息密钥及设定的加密算法对所述待加密消息加密,并将加密后的加密消息通过即时通讯服务器发送至群组中消息接收端。
2.根据权利要求1所述的方法,其特征在于,还包括:
基于所述消息密钥,生成用于验证所述加密消息完整性的消息认证码,并将所述消息认证码通过所述即时通讯服务器发送至所述消息接收端。
3.根据权利要求1所述的方法,其特征在于,还包括:
向所述即时通讯服务器发送标记声明消息,以用于所述即时通讯服务器确定所述加密消息的消息标识。
4.一种群组消息的通信方法,其特征在于,所述方法应用于密钥服务器,包括:
根据群组中消息发送端发送的会话加密请求,对所述消息发送端进行身份认证;
如果所述消息发送端通过身份认证,则生成对应于所述消息发送端中待加密消息的消息密钥,并发送所述消息密钥至所述消息发送端,以使所述消息发送端生成所述待加密消息的加密消息;
接收即时通讯服务器发送的与所述消息密钥关联的消息标识,并将所述消息标识及所述消息密钥对应存储于设定数据库中。
5.根据权利要求4所述的方法,其特征在于,所述接收即时通讯服务器发送的与所述消息密钥关联的消息标识,并将所述消息标识及所述消息密钥对应存储于设定数据库中,包括:
接收所述即时通讯服务器发送的标识确定信息,所述标识确定信息中包括用于标记待加密消息的标记值及预先确定的消息标识;
如果对应于所述消息密钥的待加密消息的标记值与所述标识确定信息中的标记值相同,则确定所述消息标识与所述消息密钥相关联,并将所述消息标识与所述消息密钥以键值对形式存储于所述设定数据库。
6.根据权利要求4所述的方法,其特征在于,还包括:
根据群组中消息接收端发送的会话解密请求,对所述消息接收端进行身份认证;
如果所述消息接收端通过身份认证,则获取所述会话解密请求中包含的加密消息标识;
在所述设定数据库中查找与所述加密消息标识相匹配的消息标识,并将所述消息标识对应的消息密钥发送至所述消息接收端,以用于所述消息接收端解密所接收的加密消息。
7.一种群组消息的通信方法,其特征在于,所述方法应用于即时通讯服务器,包括:
分别接收群组中消息发送端发送的标记声明消息、消息认证码和加密消息,所述标记声明消息包含所述加密消息所属的群组编号及所述加密消息所对应待加密消息的标记值;
获取接收到所述加密消息时的时间戳字段,将所述时间戳字段及所述群组编号确定为所述加密消息的消息标识;
形成包含所述标记值及所述消息标识的标识确定信息,并发送至密钥服务器,以用于所述密钥服务器存储与所述消息标识相关联的消息密钥;
向群组中消息接收端分别发送所述加密消息的消息标识、消息认证码及所述加密消息,以使所述消息接收端基于所述消息标识获得解密所需的消息密钥。
8.一种群组消息的通信方法,其特征在于,所述方法应用于群组中的消息接收端,包括:
接收即时通讯服务器发送的加密消息及所述加密消息的消息标识;
将所述消息标识作为加密消息标识包含在会话解密请求中,并向密钥服务器发送所述会话解密请求;
接收所述密钥服务器发送的对应于所述加密消息的消息密钥,并基于所述消息密钥对所述加密消息进行解密。
9.根据权利要求8所述的方法,其特征在于,在基于所述消息密钥对所述加密消息进行解密之前,还包括:
根据所述即时通讯服务器发送的消息认证码,确定所述加密消息的完整性;
如果所述加密消息不完整,则结束所述加密消息的解密操作。
10.一种群组消息的通信装置,其特征在于,所述装置配置于群组中的消息发送端,包括:
加密请求发送模块,用于向密钥服务器发送会话加密请求;
消息密钥接收模块,用于接收所述密钥服务器发送的对应于待加密消息的消息密钥;
消息加密模块,用于基于所述消息密钥及设定的加密算法对所述待加密消息加密,并将加密后的加密消息通过即时通讯服务器发送至群组中消息接收端。
11.根据权利要求10所述的装置,其特征在于,还包括:
认证码生成模块,用于基于所述消息密钥,生成用于验证所述加密消息完整性的消息认证码,并将所述消息认证码通过所述即时通讯服务器发送至所述消息接收端。
12.根据权利要求10所述的装置,其特征在于,还包括:
标记声明发送模块,向所述即时通讯服务器发送标记声明消息,以用于所述即时通讯服务器确定所述加密消息的消息标识。
13.一种群组消息的通信装置,其特征在于,所述装置配置于密钥服务器,包括:
身份认证模块,用于根据群组中消息发送端发送的会话加密请求,对所述消息发送端进行身份认证;
密钥生成模块,用于当所述消息发送端通过身份认证时,生成对应于所述消息发送端中待加密消息的消息密钥,并发送所述消息密钥至所述消息发送端,以使所述消息发送端生成所述待加密消息的加密消息;
密钥存储模块,用于接收即时通讯服务器发送的与所述消息密钥关联的消息标识,并将所述消息标识及所述消息密钥对应存储于设定数据库中。
14.根据权利要求13所述的装置,其特征在于,所述密钥存储模块,具体用于:
接收所述即时通讯服务器发送的标识确定信息,所述标识确定信息中包括用于标记待加密消息的标记值及预先确定的消息标识;
如果对应于所述消息密钥的待加密消息的标记值与所述标识确定信息中的标记值相同,则确定所述消息标识与所述消息密钥相关联,并将所述消息标识与所述消息密钥以键值对形式存储于所述设定数据库。
15.根据权利要求13所述的装置,其特征在于,所述身份认证模块,还用于根据群组中消息接收端发送的会话解密请求,对所述消息接收端进行身份认证;
相应的,所述装置还包括:
标识获取模块,用于当所述消息接收端通过身份认证时,获取所述会话解密请求中包含的加密消息标识;
标识匹配模块,用于在所述设定数据库中查找与所述加密消息标识相匹配的消息标识,并将所述消息标识对应的消息密钥发送至所述消息接收端,以用于所述消息接收端解密所接收的加密消息。
16.一种群组消息的通信装置,其特征在于,所述装置配置于即时通讯服务器,包括:
信息接收模块,用于分别接收群组中消息发送端发送的标记声明消息、消息认证码和加密消息,所述标记声明消息包含所述加密消息所属的群组编号及所述加密消息所对应待加密消息的标记值;
标识确定模块,用于获取接收到所述加密消息时的时间戳字段,将所述时间戳字段及所述群组编号确定为所述加密消息的消息标识;
第一发送模块,用于形成包含所述标记值及所述消息标识的标识确定信息,并发送至密钥服务器,以用于所述密钥服务器存储与所述消息标识相关联的消息密钥;
第二发送模块,用于向群组中消息接收端分别发送所述加密消息的消息标识、消息认证码及所述加密消息,以使所述消息接收端基于所述消息标识获取解密所需的消息密钥。
17.一种群组消息的通信装置,其特征在于,所述装置配置于群组中的消息接收端,包括:
信息接收模块,用于接收即时通讯服务器发送的加密消息及所述加密消息的消息标识;
解密请求发送模块,用于将所述消息标识作为加密消息标识包含在会话解密请求中,并向密钥服务器发送所述会话解密请求;
消息解密模块,用于接收所述密钥服务器发送的对应于所述加密消息的消息密钥,并基于所述消息密钥对所述加密消息进行解密。
18.根据权利要求17所述的装置,其特征在于,还包括:
完整性验证模块,用于在基于所述消息密钥对所述加密消息进行解密之前,根据所述即时通讯服务器发送的消息认证码,确定所述加密消息的完整性,并当所述加密消息不完整时,结束所述加密消息的解密操作。
19.一种用户终端,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-3任一项所述的群组消息的通信方法,和/或,实现权利要求8或9所述的群组消息的通信方法。
20.一种密钥服务器,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求4-6任一项所述的群组消息的通信方法。
21.一种即时通讯服务器,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求7所述的群组消息的通信方法。
22.一种群组消息通信***,其特征在于,包括:至少两个权利要求19所述的用户终端、权利要求20所述的密钥服务器以及权利要求21所述的即时通讯服务器;
其中,所述用户终端作为群组中的消息发送端和/或消息接收端。
23.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-3任一项所述的群组消息的通信方法,和/或,实现权利要求8或9所述的群组消息的通信方法。
24.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求4-6任一项所述的群组消息的通信方法。
25.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求7所述的群组消息的通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710447476.3A CN109088810A (zh) | 2017-06-14 | 2017-06-14 | 群组消息的通信方法、装置、相应设备、***及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710447476.3A CN109088810A (zh) | 2017-06-14 | 2017-06-14 | 群组消息的通信方法、装置、相应设备、***及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109088810A true CN109088810A (zh) | 2018-12-25 |
Family
ID=64839382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710447476.3A Pending CN109088810A (zh) | 2017-06-14 | 2017-06-14 | 群组消息的通信方法、装置、相应设备、***及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109088810A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981663A (zh) * | 2019-03-31 | 2019-07-05 | 杭州复杂美科技有限公司 | 一种隐私群聊方法、设备和存储介质 |
CN110958266A (zh) * | 2019-12-16 | 2020-04-03 | 中国南方电网有限责任公司 | 数据处理方法、***、计算机设备和存储介质 |
CN111162999A (zh) * | 2019-12-30 | 2020-05-15 | 广东盈世计算机科技有限公司 | 一种基于即时聊天工具的消息处理方法及装置 |
WO2020233218A1 (zh) * | 2019-05-23 | 2020-11-26 | 维沃移动通信有限公司 | 信息加密方法、信息解密方法及终端 |
CN112069551A (zh) * | 2019-06-11 | 2020-12-11 | 意法半导体(鲁塞)公司 | 电子电路 |
CN112118267A (zh) * | 2020-09-25 | 2020-12-22 | 南方电网科学研究院有限责任公司 | 一种匿名通信方法及相关装置 |
CN112565285A (zh) * | 2020-12-16 | 2021-03-26 | 卡斯柯信号(成都)有限公司 | 一种适用于轨道交通的通信加密方法 |
CN112688949A (zh) * | 2020-12-25 | 2021-04-20 | 北京浪潮数据技术有限公司 | 一种访问方法、装置、设备及计算机可读存储介质 |
CN112839132A (zh) * | 2020-12-31 | 2021-05-25 | 中孚信息股份有限公司 | 一种具有信息加密功能的手机输入法的实现方法及*** |
CN116233767A (zh) * | 2023-03-20 | 2023-06-06 | 中国联合网络通信集团有限公司 | 集群对讲通信方法、装置、设备及存储介质 |
-
2017
- 2017-06-14 CN CN201710447476.3A patent/CN109088810A/zh active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981663A (zh) * | 2019-03-31 | 2019-07-05 | 杭州复杂美科技有限公司 | 一种隐私群聊方法、设备和存储介质 |
WO2020233218A1 (zh) * | 2019-05-23 | 2020-11-26 | 维沃移动通信有限公司 | 信息加密方法、信息解密方法及终端 |
CN112069551A (zh) * | 2019-06-11 | 2020-12-11 | 意法半导体(鲁塞)公司 | 电子电路 |
CN110958266A (zh) * | 2019-12-16 | 2020-04-03 | 中国南方电网有限责任公司 | 数据处理方法、***、计算机设备和存储介质 |
CN111162999A (zh) * | 2019-12-30 | 2020-05-15 | 广东盈世计算机科技有限公司 | 一种基于即时聊天工具的消息处理方法及装置 |
CN112118267A (zh) * | 2020-09-25 | 2020-12-22 | 南方电网科学研究院有限责任公司 | 一种匿名通信方法及相关装置 |
CN112565285A (zh) * | 2020-12-16 | 2021-03-26 | 卡斯柯信号(成都)有限公司 | 一种适用于轨道交通的通信加密方法 |
CN112565285B (zh) * | 2020-12-16 | 2023-03-24 | 卡斯柯信号(成都)有限公司 | 一种适用于轨道交通的通信加密方法 |
CN112688949A (zh) * | 2020-12-25 | 2021-04-20 | 北京浪潮数据技术有限公司 | 一种访问方法、装置、设备及计算机可读存储介质 |
CN112688949B (zh) * | 2020-12-25 | 2022-12-06 | 北京浪潮数据技术有限公司 | 一种访问方法、装置、设备及计算机可读存储介质 |
CN112839132A (zh) * | 2020-12-31 | 2021-05-25 | 中孚信息股份有限公司 | 一种具有信息加密功能的手机输入法的实现方法及*** |
CN112839132B (zh) * | 2020-12-31 | 2022-03-11 | 中孚信息股份有限公司 | 一种具有信息加密功能的手机输入法的实现方法及*** |
CN116233767A (zh) * | 2023-03-20 | 2023-06-06 | 中国联合网络通信集团有限公司 | 集群对讲通信方法、装置、设备及存储介质 |
CN116233767B (zh) * | 2023-03-20 | 2024-04-30 | 中国联合网络通信集团有限公司 | 集群对讲通信方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109088810A (zh) | 群组消息的通信方法、装置、相应设备、***及存储介质 | |
CN111460453B (zh) | 机器学习训练方法、控制器、装置、服务器、终端和介质 | |
US10601801B2 (en) | Identity authentication method and apparatus | |
CN109543434B (zh) | 区块链信息加密方法、解密方法、存储方法及装置 | |
CN108199847B (zh) | 数字安全处理方法、计算机设备及存储介质 | |
CN110601830B (zh) | 基于区块链的密钥管理方法、装置、设备及存储介质 | |
CN112351037B (zh) | 用于安全通信的信息处理方法及装置 | |
CN110380859B (zh) | 基于非对称密钥池对和dh协议的量子通信服务站身份认证方法和*** | |
US11784819B2 (en) | Dynamic segmentation of network traffic by use of pre-shared keys | |
CN110417547B (zh) | 基于无证书密码学的保密通信的密钥更新方法和*** | |
CN103457932A (zh) | 一种云计算环境数据安全存储方法和*** | |
CN107094156A (zh) | 一种基于p2p模式的安全通信方法及*** | |
CN117240625B (zh) | 一种涉及防篡改的数据处理方法、装置及电子设备 | |
CN110557248A (zh) | 基于无证书密码学的抗量子计算签密的密钥更新方法和*** | |
CN115865320A (zh) | 一种基于区块链的安全服务管理方法及*** | |
CN110557367B (zh) | 基于证书密码学的抗量子计算保密通信的密钥更新方法和*** | |
CN115473655A (zh) | 接入网络的终端认证方法、装置及存储介质 | |
CN116527279A (zh) | 工控网络中安全数据聚合的可验证联邦学习装置及方法 | |
CN116204914A (zh) | 一种可信隐私计算方法、装置、设备及存储介质 | |
CN114154181A (zh) | 基于分布式存储的隐私计算方法 | |
Muth et al. | Smartdhx: Diffie-hellman key exchange with smart contracts | |
CN113365264A (zh) | 一种区块链无线网络数据传输方法、装置及*** | |
CN112927026A (zh) | 优惠券的处理方法、装置、电子设备及计算机存储介质 | |
Sandoval et al. | Pakemail: authentication and key management in decentralized secure email and messaging via pake | |
Alsalami et al. | Utilizing public blockchains for censorship-circumvention and IoT communication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20181225 |
|
WD01 | Invention patent application deemed withdrawn after publication |