CN104219051B - 一种群组内消息的通信方法和系统 - Google Patents

一种群组内消息的通信方法和系统 Download PDF

Info

Publication number
CN104219051B
CN104219051B CN201410413046.6A CN201410413046A CN104219051B CN 104219051 B CN104219051 B CN 104219051B CN 201410413046 A CN201410413046 A CN 201410413046A CN 104219051 B CN104219051 B CN 104219051B
Authority
CN
China
Prior art keywords
group
client
message
key
private key
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.)
Active
Application number
CN201410413046.6A
Other languages
English (en)
Other versions
CN104219051A (zh
Inventor
施幸东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201410413046.6A priority Critical patent/CN104219051B/zh
Publication of CN104219051A publication Critical patent/CN104219051A/zh
Application granted granted Critical
Publication of CN104219051B publication Critical patent/CN104219051B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了一种群组内消息的通信方法和系统,其中,所述方法包括:主客户端创建群组时,生成所述群组的公钥和所述群组的私钥;所述主客户端邀请从客户端加入所述群组时,将所述群组的私钥加密后发送至所述从客户端,以使所述从客户端获得所述群组的私钥;所述群组的公钥在所述主客户端和从客户端之间共享;所述主客户端使用所述群组的公钥对待发送的消息进行加密,并向所述群组发送加密后的消息;和/或,所述主客户端从所述群组获取使用所述群组的公钥加密后的消息,并使用所述群组的私钥对所述加密后的消息进行解密,获得消息。本发明实现了群组内端到端的加密,提高了通信的灵活性和安全性。

Description

一种群组内消息的通信方法和系统
技术领域
本发明涉及通信技术领域,特别是涉及一种群组内消息的通信方法和系统。
背景技术
即时通信(Instant messaging,IM)是一个终端服务,允许两人或多人使用网路即时的传递文字信息、档案、语音与视频交流。即时通信按使用用途分为企业即时通信和网站即时通信,根据装载的对象又可分为手机即时通信和PC即时通信。
即时通信系统中的端到端加密,是指信息在发送端进行加密,只有接收端可以解密,通信链路中的任何其他节点,包括中心服务器,都无法进行解密,从而保证信息只有发送端和接收端可以知晓。
目前流行的即时通信系统,比如苹果公司的iMessage,实现了单用户对单用户的端到端加密,但并不支持群组。腾讯公司的微信,虽然支持群组,但并不支持端到端加密,微信服务器可以知晓所有通过微信传输的信息。
发明内容
本发明提供一种群组内消息的通信方法和系统,以解决现有的即时通信系统不支持群组内的端到端加密的问题。
为了解决上述问题,本发明公开了一种群组内消息的通信方法,包括:
主客户端创建群组时,生成所述群组的公钥和所述群组的私钥;
所述主客户端邀请从客户端加入所述群组时,将所述群组的私钥加密后发送至所述从客户端,以使所述从客户端获得所述群组的私钥;所述群组的公钥在所述主客户端和从客户端之间共享;
所述主客户端使用所述群组的公钥对待发送的消息进行加密,并向所述群组发送加密后的消息;和/或,
所述主客户端从所述群组获取使用所述群组的公钥加密后的消息,并使用所述群组的私钥对所述加密后的消息进行解密,获得消息。
优选地,所述方法还包括:
所述从客户端在向服务器注册时,生成所述从客户端的公钥和所述从客户端的私钥;所述从客户端的公钥在所述主客户端和从客户端之间共享。
优选地,所述主客户端邀请从客户端加入所述群组时,将所述群组的私钥加密后发送至所述从客户端,以使所述从客户端获得所述群组的私钥,包括:
所述主客户端使用所述从客户端的公钥对所述群组的私钥进行非对称加密,并发送至服务器,以使所述从客户端从所述服务器接收到进行了所述非对称加密后的群组的私钥后,使用所述从客户端的私钥对所述加密后的群组的私钥进行解密,获得所述群组的私钥。
优选地,所述主客户端使用所述群组的公钥对待发送的消息进行加密,并向所述群组发送加密后的消息,包括:
所述主客户端使用所述群组的公钥对待发送的消息进行非对称加密,并向所述群组发送所述非对称加密后的消息。
优选地,所述主客户端使用所述群组的公钥对待发送的消息进行加密,并向所述群组发送加密后的消息,包括:
所述主客户端生成随机密钥;所述随机密钥本身使用所述群组的公钥进行非对称加密;
所述主客户端使用所述随机密钥对待发送的消息进行对称加密,并向所述群组发送对称加密后的消息,以使所述从客户端使用所述群组的私钥对加密后的随机密钥进行解密,获得所述随机密钥,并使用所述随机密钥对加密后的消息进行解密,获得消息。
本发明还公开了一种群组内消息的通信系统,包括:
群组密钥生成模块,用于在主客户端创建群组时,生成所述群组的公钥和所述群组的私钥;
群组私钥加密模块,用于在所述主客户端邀请从客户端加入所述群组时,将所述群组的私钥加密后发送至所述从客户端,以使所述从客户端获得所述群组的私钥;所述群组的公钥在所述主客户端和从客户端之间共享;
消息加密模块,用于使用所述群组的公钥对待发送的消息进行加密,并向所述群组发送加密后的消息;和/或,
消息解密模块,用于从所述群组获取使用所述群组的公钥加密后的消息,并使用所述群组的私钥对所述加密后的消息进行解密,获得消息。
优选地,所述系统还包括:
从客户端密钥生成模块,用于在所述从客户端在向服务器注册时,生成所述从客户端的公钥和所述从客户端的私钥;所述从客户端的公钥在所述主客户端和从客户端之间共享。
优选地,所述群组私钥加密模块使用所述从客户端的公钥对所述群组的私钥进行非对称加密,并发送至服务器,以使所述从客户端从所述服务器接收到进行了所述非对称加密后的群组的私钥后,使用所述从客户端的私钥对所述加密后的群组的私钥进行解密,获得所述群组的私钥。
优选地,所述消息加密模块使用所述群组的公钥对待发送的消息进行非对称加密,并向所述群组发送所述非对称加密后的消息。
优选地,所述消息加密模块,包括:
随机密钥生成子模块,用于生成随机密钥;所述随机密钥本身使用所述群组的公钥进行非对称加密;
消息加密子模块,用于使用所述随机密钥对待发送的消息进行对称加密,并向所述群组发送对称加密后的消息,以使所述主客户端和/或从客户端使用所述群组的私钥对加密后的随机密钥进行解密,获得所述随机密钥,并使用所述随机密钥对加密后的消息进行解密,获得消息。
与背景技术相比,本发明包括以下优点:
在主客户端创建群组时,生成群组的公钥和私钥,用群组的公钥加密过的消息,只有使用群组的私钥才能解密。在主客户端邀请从客户端加入群组时,将群组的私钥加密后发送至从客户端,以使从客户端获得群组的私钥,同时,群组的公钥在主客户端和从客户端之间可以共享,即群组内的主客户端和从客户端均可以使用群组的公钥。
主客户端使用群组的公钥对待发送的消息进行加密,并向群组发送加密后的消息;主客户端从群组获取使用群组的公钥加密后的消息,并使用群组的私钥对加密后的消息进行解密,获得消息。
本发明实现了群组内主客户端与从客户端之间的端到端的消息加密传输,主要是指消息在发送端加密后通过服务器发送给群组,由于只有群组内的客户端(包括主客户端和从客户端)才可以使用群组的私钥,所以只有群组中的客户端可以对发送端加密后的消息进行解密,群组外的客户端,或者通信链路中的任何其他节点,包括中心服务器,均无法对发送端加密后的消息进行解密,实现了群组内端到端的加密,适用于某些对安全性要求更高的场合,通信双方可以确保不会被监听,提高了通信的灵活性和安全性。
附图说明
图1是本发明实施例中一种群组内消息的通信方法流程图;
图2是本发明实施例中另一种群组内消息的通信方法流程图;
图3是本发明实施例中一种群组内消息的通信方法示意图;
图4是本发明实施例中一种群组内消息的通信系统结构图;
图5是本发明实施例中另一种群组内消息的通信系统结构图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
下面通过列举几个具体的实施例详细介绍本发明提供的一种群组内消息的通信方法和系统。
实施例一
详细介绍本发明实施例提供的一种群组内消息的通信方法。
参照图1,示出了本发明实施例中一种群组内消息的通信方法流程图。
步骤100,主客户端创建群组时,生成所述群组的公钥和所述群组的私钥。
所述主客户端可以为创建群组的客户端,即创建群组的客户端被称为主客户端。所述主客户端在创建群组之前,已经向服务器注册,并且,在主客户端项服务器注册时,生成主客户端的公钥和主客户端的私钥。
所述群组的公钥和私钥仅限在该群组内使用,无法应用于其他群组。
步骤102,所述主客户端邀请从客户端加入所述群组时,将所述群组的私钥加密后发送至所述从客户端,以使所述从客户端获得所述群组的私钥。
所述群组的公钥可以在所述主客户端和从客户端之间共享。
所述从客户端在被邀请加入所述群组之前,已经向服务器注册。所述主客户端将群组的私钥加密后发送至所述从客户端,所述从客户端可以对加密后的群组的私钥进行解密,获得群组的私钥。
在所述步骤102中,所述主客户端加密后的群组的私钥只能使用从客户端的私钥进行解密。从客户端的私钥由从客户端保存,其他客户端无法获取,所以此步骤可以保证群组的私钥只能在群组内的客户端之间使用,群组外的客户端无法获取到群组的私钥。
步骤104,所述主客户端使用所述群组的公钥对待发送的消息进行加密,并向所述群组发送加密后的消息。
使用所述群组的公钥对待发送的消息进行加密,加密后的待发送的消息只能使用群组的私钥进行解密。由于群组的私钥只有群组内的客户端才拥有,群组外的客户端无群组的私钥,所以,使用群组的公钥加密的待发送的消息,只有群组内的客户端才能解密。
需要说明的是,所述步骤104还可以为:
从客户端使用群组的公钥对待发送的消息进行加密,并向所述群组发送加密后的消息。
在群组内,主客户端和从客户端均可以向群组发送消息,无论是主客户端还是从客户端,向群组发送消息的方式以及对消息进行加密的方式是相同的。
步骤106,所述主客户端从所述群组获取使用所述群组的公钥加密后的消息,并使用所述群组的私钥对所述加密后的消息进行解密,获得消息。
使用群组的公钥进行加密的消息,只能使用群组的私钥进行解密。只有群组内的客户端才有群组的私钥,所以,只有群组内的客户端才能对加密后的消息进行解密。
需要说明的是,所述步骤106还可以为:
从客户端从所述群组获取使用所述群组的公钥加密后的消息,并使用所述群组的私钥对所述加密后的消息进行解密,获得消息。
在群组内,主客户端和从客户端均可以从群组获取消息,无论是主客户端还是从客户端,从群组获取消息的方式以及对消息进行解密的方式是相同的。
通常来讲,如果群组内只有一个主客户端和一个从客户端,主客户端向群组发送消息时,从客户端从群组获取主客户端发送的消息;从客户端向群组发送消息时,主客户端从群组获取从客户端发送的消息。如果群组内有一个主客户端和多个从客户端,主客户端向群组发送消息时,多个从客户端从群组获取主客户端发送的消息;从客户端向群组发送消息时,主客户端和其他从客户端从群组获取该从客户端发送的消息。
需要说明的是,上述步骤104为加密消息,并向群组发送加密后消息的步骤,上述步骤106为从群组获取加密后消息,并对加密后的消息进行解密的步骤。在实际应用中,上述步骤104和步骤106可以同时出现,也可以只出现其中任一步骤。即本实施例可以由步骤100、步骤102、步骤104和步骤106共同组成,或者可以由步骤100、步骤102和步骤104组成,或者可以由步骤100、步骤102和步骤106组成。
综上所述,在本发明实施例中,在主客户端创建群组时,生成群组的公钥和私钥,用群组的公钥加密过的消息,只有使用群组的私钥才能解密。在主客户端邀请从客户端加入群组时,将群组的私钥加密后发送至从客户端,以使从客户端获得群组的私钥,同时,群组的公钥在主客户端和从客户端之间可以共享,即群组内的主客户端和从客户端均可以使用群组的公钥。
主客户端使用群组的公钥对待发送的消息进行加密,并向群组发送加密后的消息;主客户端从群组获取使用群组的公钥加密后的消息,并使用群组的私钥对加密后的消息进行解密,获得消息。
本发明实施例实现了群组内主客户端与从客户端之间的端到端的消息加密传输,主要是指消息在发送端加密后通过服务器发送给群组,由于只有群组内的客户端(包括主客户端和从客户端)才可以使用群组的私钥,所以只有群组中的客户端可以对发送端加密后的消息进行解密,群组外的客户端,或者通信链路中的任何其他节点,包括中心服务器,均无法对发送端加密后的消息进行解密,实现了群组内端到端的加密,适用于某些对安全性要求更高的场合,通信双方可以确保不会被监听,提高了通信的灵活性和安全性。
实施例二
详细介绍本发明实施例提供的一种群组内消息的通信方法。
参照图2,示出了本发明实施例中一种群组内消息的通信方法流程图。
步骤200,主客户端创建群组时,生成所述群组的公钥和所述群组的私钥。
所述主客户端可以为创建群组的客户端,即创建群组的客户端被称为主客户端。所述主客户端在创建群组之前,已经向服务器注册,并且,在主客户端项服务器注册时,生成主客户端的公钥和主客户端的私钥。
所述群组的公钥和私钥仅限在该群组内使用,无法应用于其他群组。
步骤202,所述主客户端邀请从客户端加入所述群组时,将所述群组的私钥加密后发送至所述从客户端,以使所述从客户端获得所述群组的私钥。
所述群组的公钥可以在所述主客户端和从客户端之间共享。
优选地,所述从客户端在向服务器注册时,生成所述从客户端的公钥和所述从客户端的私钥。
所述从客户端的公钥可以在所述主客户端和从客户端之间共享。
优选地,所述步骤202可以为:
所述主客户端邀请从客户端加入所述群组时,所述主客户端使用所述从客户端的公钥对所述群组的私钥进行非对称加密,并发送至服务器,以使所述从客户端从所述服务器接收到进行了所述非对称加密后的群组的私钥后,使用所述从客户端的私钥对所述加密后的群组的私钥进行解密,获得所述群组的私钥。
非对称加密是一种密码学算法类型,在这种密码学方法中,需要一对密钥,一是个私人密钥,另一个则是公开密钥。这两个密钥是数学相关,用某用户密钥加密后所得的信息,只能用该用户的解密密钥才能解密。如果知道了其中一个,并不能计算出另外一个。因此如果公开了一对密钥中的一个,并不会危害到另外一个的秘密性质。称公开的密钥为公钥;不公开的密钥为私钥。也就是说,使用从客户端的公钥进行非对称加密,只有使用从客户端的私钥才能进行解密。
步骤204,所述主客户端使用所述群组的公钥对待发送的消息进行加密,并向所述群组发送加密后的消息。
优选地,所述步骤204可以为:
所述主客户端使用所述群组的公钥对待发送的消息进行非对称加密,并向所述群组发送所述非对称加密后的消息。
优选地,所述步骤204还可以包括下列子步骤:
子步骤2041,所述主客户端生成随机密钥。
所述随机密钥本身使用所述群组的公钥进行非对称加密。
使用群组的公钥进行非对称加密后的随机密钥,只有使用群组的私钥才能解密。
子步骤2042,所述主客户端使用所述随机密钥对待发送的消息进行对称加密,并向所述群组发送对称加密后的消息,以使所述从客户端使用所述群组的私钥对加密后的随机密钥进行解密,获得所述随机密钥,并使用所述随机密钥对加密后的消息进行解密,获得消息。
对称加密指加密和解密使用相同密钥的加密算法。就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。而在大多数的对称算法中,加密密钥和解密密钥是相同的。它要求发送方和接收方在安全通信之前,商定一个密钥。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。
由此可知,使用随机密钥对待发送的消息进行对称加密,需要使用随机密钥进行解密。随机密钥可以在群组内的客户端之间共享使用,群组外的客户端无法使用随机密钥。
在群组内,主客户端和从客户端均可以向群组发送消息,无论是主客户端还是从客户端,向群组发送消息的方式以及对消息进行加密的方式是相同的。
步骤206,所述从客户端从所述群组获取使用所述群组的公钥加密后的消息,并使用所述群组的私钥对所述加密后的消息进行解密,获得消息。
在群组内,主客户端和从客户端均可以从群组获取消息,无论是主客户端还是从客户端,从群组获取消息的方式以及对消息进行解密的方式是相同的。
通常来讲,如果群组内只有一个主客户端和一个从客户端,主客户端向群组发送消息时,从客户端从群组获取主客户端发送的消息;从客户端向群组发送消息时,主客户端从群组获取从客户端发送的消息。如果群组内有一个主客户端和多个从客户端,主客户端向群组发送消息时,多个从客户端从群组获取主客户端发送的消息;从客户端向群组发送消息时,主客户端和其他从客户端从群组获取该从客户端发送的消息。
综上所述,在本发明实施例中,在主客户端创建群组时,生成群组的公钥和私钥,用群组的公钥加密过的消息,只有使用群组的私钥才能解密。在主客户端邀请从客户端加入群组时,将群组的私钥加密后发送至从客户端,以使从客户端获得群组的私钥,同时,群组的公钥在主客户端和从客户端之间可以共享,即群组内的主客户端和从客户端均可以使用群组的公钥。
主客户端使用群组的公钥对待发送的消息进行加密,并向群组发送加密后的消息;述主客户端从群组获取使用群组的公钥加密后的消息,并使用群组的私钥对加密后的消息进行解密,获得消息。
本发明实施例实现了群组内主客户端与从客户端之间的端到端的消息加密传输,主要是指消息在发送端加密后通过服务器发送给群组,由于只有群组内的客户端(包括主客户端和从客户端)才可以使用群组的私钥,所以只有群组中的客户端可以对发送端加密后的消息进行解密,群组外的客户端,或者通信链路中的任何其他节点,包括中心服务器,均无法对发送端加密后的消息进行解密,实现了群组内端到端的加密,适用于某些对安全性要求更高的场合,通信双方可以确保不会被监听,提高了通信的灵活性和安全性。
本发明实施例对于群组的私钥的管理,可以进一步改进,以支持一个用户拥有多个设备的情况。可以在一个用户的多个设备间安全的共享同一个公私钥对,则在信息加密时只需要加密一份,可以节省计算和存储资源。
实施例三
详细介绍本发明实施例提供的一种群组内消息的通信方法。
群组G1由客户端A创建,客户端A邀请客户端B和客户端C加入群组G1。客户端A、客户端B和客户端C在向服务器注册时,均已生成了各自的公钥和私钥,并把各自的公钥发送至服务器,使得各自的公钥可以在所有客户端设备之间共享,各自的私钥在客户端本地保存,客户端无法获取其他客户端的私钥。
参照图3,示出了本发明实施例中一种群组内消息的通信方法示意图。
步骤300,客户端A向服务器申请创建群组G1,生成群组G1的公私钥对。
客户端A创建一个群组G1,并为群组G1生成公私钥对。群组G1的公钥为G1_PUB_KEY,群组G1的私钥为G1_PRI_KEY,群组G1的私钥此时由客户端A保管,群组G1的公钥可以发送给服务器。
步骤302,客户端A向服务器邀请客户端B加入群组G1。
客户端A邀请客户端B加入群组G1时,把群组G1的私钥加密后发送给客户端B,可以使用客户端B的公钥B_PUB_KEY通过非对称加密算法进行加密,从而保证只有客户端B可以解密出群组G1的私钥。
步骤304,服务器向客户端B发送非对称加密后的群组G1的私钥。
非对称加密后的群组G1的私钥可以表示为AE(G1_PRI_KEY,B_PUB_KEY),代表用客户端B的公钥B_PUB_KEY来对群组G1的私钥G1_PRI_KEY进行非对称加密,AE()代表非对称加密函数,根据非对称密码学的理论,只有知道客户端B的私钥B_PRI_KEY才能完成解密,所有此时只有客户端B才能解密出G1_PRI_KEY。实际使用中可以在非对称加密后的群组G1的私钥中增加签名、时间戳、一次性随机数等信息以提高安全性。
步骤306,客户端A向服务器邀请客户端C加入群组G1。
客户端A邀请客户端C加入群组G1时,把群组G1的私钥加密后发送给客户端C,可以使用客户端C的公钥C_PUB_KEY通过非对称加密算法进行加密,从而保证只有客户端C可以解密出群组G1的私钥。
步骤308,服务器向客户端C发送非对称加密后的群组G1的私钥。
非对称加密后的群组G1的私钥可以表示为AE(G1_PRI_KEY,C_PUB_KEY),代表用客户端C的公钥C_PUB_KEY来对群组G1的私钥G1_PRI_KEY进行非对称加密,根据非对称密码学的理论,只有知道客户端C的私钥C_PRI_KEY才能完成解密,所有此时只有客户端C才能解密出G1_PRI_KEY。实际使用中可以在非对称加密后的群组G1的私钥中增加签名、时间戳、一次性随机数等信息以提高安全性。
步骤310,客户端A对待发送的消息M进行加密,并发送至群组G1。
客户端A向群组G1发送消息时,使用群组G1的公钥对消息进行加密,表示为AE(M,G1_PUB_KEY),如果消息M包含比较多的信息,比如长文本、图片、语音、视频等,可以先产生随机密钥RK,用RK通过对称加密算法对消息M进行加密,而RK本身使用G1_PUB_KEY通过非对称加密算法进行加密,从而提高加解密的速度,因为对称加密比非对称加密的效率更高。也就是说,客户端A实际发送的内容可以是SE(M,RK)+AE(RK,G1_PUB_KEY),SE代表某种对称加密算法。同理,实际发送的信息可能还包括时间戳、一次性随机数、数字签名等信息以进一步提高安全性。从而保证只有群组成员客户端B和C能够解密。即使是服务器,也不知道群组G1的私钥,无法解密群组内传递的消息,从而实现群组内的端到端消息传递的安全性。
步骤312,服务器将加密后的消息M发送至客户端B和C。
由于客户端B和C知道群组G1的私钥G1_PRI_KEY,所以使用群组G1的公钥G1_PUB_KEY加密后的消息M,可以由客户端B和C使用群组G1的私钥G1_PRI_KEY进行解密。
也就是说,最终只有群组G1的成员客户端A、B和C知道群组G1的私钥G1_PRI_KEY,服务器并不知道G1_PRI_KEY,所以通过G1_PUB_KEY加密过的消息M,只有客户端A、B和C才能解密,从而实现了群组内的端到端加密。
综上所述,在本发明实施例中,在主客户端创建群组时,生成群组的公钥和私钥,用群组的公钥加密过的消息,只有使用群组的私钥才能解密。在主客户端邀请从客户端加入群组时,将群组的私钥加密后发送至从客户端,以使从客户端获得群组的私钥,同时,群组的公钥在主客户端和从客户端之间可以共享,即群组内的主客户端和从客户端均可以使用群组的公钥。
主客户端使用群组的公钥对待发送的消息进行加密,并向群组发送加密后的消息;述主客户端从群组获取使用群组的公钥加密后的消息,并使用群组的私钥对加密后的消息进行解密,获得消息。
本发明实施例实现了群组内主客户端与从客户端之间的端到端的消息加密传输,主要是指消息在发送端加密后通过服务器发送给群组,由于只有群组内的客户端(包括主客户端和从客户端)才可以使用群组的私钥,所以只有群组中的客户端可以对发送端加密后的消息进行解密,群组外的客户端,或者通信链路中的任何其他节点,包括中心服务器,均无法对发送端加密后的消息进行解密,实现了群组内端到端的加密,适用于某些对安全性要求更高的场合,通信双方可以确保不会被监听,提高了通信的灵活性和安全性。
本发明实施例对于群组的私钥的管理,可以进一步改进,以支持一个用户拥有多个设备的情况。可以在一个用户的多个设备间安全的共享同一个公私钥对,则在信息加密时只需要加密一份,可以节省计算和存储资源。
实施例四
详细介绍本发明实施例提供的一种群组内消息的通信系统。
所述系统可以包括:群组密钥生成模块400,群组私钥加密模块402,消息加密模块404,和/或,消息解密模块406。
即所述系统可以包括:群组密钥生成模块400,群组私钥加密模块402,消息加密模块404,和消息解密模块406。所述系统还可以包括:群组密钥生成模块400,群组私钥加密模块402,消息加密模块404。或者,所述系统还可以包括:群组密钥生成模块400,群组私钥加密模块402,消息解密模块406。
参照图4,示出了本发明实施例中一种群组内消息的通信系统结构图。
下面分别详细介绍各模块的功能以及各模块之间的关系。
群组密钥生成模块400,用于在主客户端创建群组时,生成所述群组的公钥和所述群组的私钥。
群组私钥加密模块402,用于在所述主客户端邀请从客户端加入所述群组时,将所述群组的私钥加密后发送至所述从客户端,以使所述从客户端获得所述群组的私钥。
所述群组的公钥可以在所述主客户端和从客户端之间共享。
消息加密模块404,用于使用所述群组的公钥对待发送的消息进行加密,并向所述群组发送加密后的消息。
消息解密模块406,用于从所述群组获取使用所述群组的公钥加密后的消息,并使用所述群组的私钥对所述加密后的消息进行解密,获得消息。
综上所述,在本发明实施例中,在主客户端创建群组时,生成群组的公钥和私钥,用群组的公钥加密过的消息,只有使用群组的私钥才能解密。在主客户端邀请从客户端加入群组时,将群组的私钥加密后发送至从客户端,以使从客户端获得群组的私钥,同时,群组的公钥在主客户端和从客户端之间可以共享,即群组内的主客户端和从客户端均可以使用群组的公钥。
主客户端使用群组的公钥对待发送的消息进行加密,并向群组发送加密后的消息;述主客户端从群组获取使用群组的公钥加密后的消息,并使用群组的私钥对加密后的消息进行解密,获得消息。
本发明实施例实现了群组内主客户端与从客户端之间的端到端的消息加密传输,主要是指消息在发送端加密后通过服务器发送给群组,由于只有群组内的客户端(包括主客户端和从客户端)才可以使用群组的私钥,所以只有群组中的客户端可以对发送端加密后的消息进行解密,群组外的客户端,或者通信链路中的任何其他节点,包括中心服务器,均无法对发送端加密后的消息进行解密,实现了群组内端到端的加密,适用于某些对安全性要求更高的场合,通信双方可以确保不会被监听,提高了通信的灵活性和安全性。
实施例五
详细介绍本发明实施例提供的一种群组内消息的通信系统。
所述系统可以包括:群组密钥生成模块500,群组私钥加密模块502,消息加密模块504,和/或,消息解密模块506,从客户端密钥生成模块508。
即所述系统可以包括:群组密钥生成模块500,群组私钥加密模块502,消息加密模块504,消息解密模块506和从客户端密钥生成模块508。所述系统还可以包括:群组密钥生成模块500,群组私钥加密模块502,消息加密模块504和从客户端密钥生成模块508。或者,所述系统还可以包括:群组密钥生成模块500,群组私钥加密模块502,消息解密模块506和从客户端密钥生成模块508。
其中,所述消息加密模块504可以包括:
随机密钥生成子模块5041,消息加密子模块5042。
参照图5,示出了本发明实施例中一种群组内消息的通信系统结构图。
下面分别详细介绍各模块、各子模块的功能以及各模块、各子模块之间的关系。
群组密钥生成模块500,用于在主客户端创建群组时,生成所述群组的公钥和所述群组的私钥。
从客户端密钥生成模块508,用于在所述从客户端在向服务器注册时,生成所述从客户端的公钥和所述从客户端的私钥;所述从客户端的公钥在所述主客户端和从客户端之间共享。
群组私钥加密模块502,用于在所述主客户端邀请从客户端加入所述群组时,将所述群组的私钥加密后发送至所述从客户端,以使所述从客户端获得所述群组的私钥。
所述群组的公钥可以在所述主客户端和从客户端之间共享。
优选地,所述群组私钥加密模块502可以使用所述从客户端的公钥对所述群组的私钥进行非对称加密,并发送至服务器,以使所述从客户端从所述服务器接收到进行了所述非对称加密后的群组的私钥后,使用所述从客户端的私钥对所述加密后的群组的私钥进行解密,获得所述群组的私钥。
消息加密模块504,用于使用所述群组的公钥对待发送的消息进行加密,并向所述群组发送加密后的消息。
优选地,所述消息加密模块504可以使用所述群组的公钥对待发送的消息进行非对称加密,并向所述群组发送所述非对称加密后的消息。
优选地,所述消息加密模块504,可以包括:
随机密钥生成子模块5041,用于生成随机密钥。
所述随机密钥本身使用所述群组的公钥进行非对称加密。
消息加密子模块5042,用于使用所述随机密钥对待发送的消息进行对称加密,并向所述群组发送对称加密后的消息,以使所述主客户端和/或从客户端使用所述群组的私钥对加密后的随机密钥进行解密,获得所述随机密钥,并使用所述随机密钥对加密后的消息进行解密,获得消息。
需要说明的是,所述消息加密子模块5042可以位于主客户端中,也可以位于从客户端中。
当所述消息加密子模块5042位于主客户端中时,消息加密子模块5042使用所述随机密钥对待发送的消息进行对称加密,并向所述群组发送对称加密后的消息,以使所述从客户端使用所述群组的私钥对加密后的随机密钥进行解密,获得所述随机密钥,并使用所述随机密钥对加密后的消息进行解密,获得消息。
当所述消息加密子模块5042位于从客户端中时,此时群组内只有一个从客户端,消息加密子模块5042使用所述随机密钥对待发送的消息进行对称加密,并向所述群组发送对称加密后的消息,以使所述主客户端使用所述群组的私钥对加密后的随机密钥进行解密,获得所述随机密钥,并使用所述随机密钥对加密后的消息进行解密,获得消息。
当所述消息加密子模块5042位于从客户端中时,此时群组内有多个从客户端,消息加密子模块5042使用所述随机密钥对待发送的消息进行对称加密,并向所述群组发送对称加密后的消息,以使所述主客户端和从客户端使用所述群组的私钥对加密后的随机密钥进行解密,获得所述随机密钥,并使用所述随机密钥对加密后的消息进行解密,获得消息。
消息解密模块506,用于从所述群组获取使用所述群组的公钥加密后的消息,并使用所述群组的私钥对所述加密后的消息进行解密,获得消息。
综上所述,在本发明实施例中,在主客户端创建群组时,生成群组的公钥和私钥,用群组的公钥加密过的消息,只有使用群组的私钥才能解密。在主客户端邀请从客户端加入群组时,将群组的私钥加密后发送至从客户端,以使从客户端获得群组的私钥,同时,群组的公钥在主客户端和从客户端之间可以共享,即群组内的主客户端和从客户端均可以使用群组的公钥。
主客户端使用群组的公钥对待发送的消息进行加密,并向群组发送加密后的消息;述主客户端从群组获取使用群组的公钥加密后的消息,并使用群组的私钥对加密后的消息进行解密,获得消息。
本发明实施例实现了群组内主客户端与从客户端之间的端到端的消息加密传输,主要是指消息在发送端加密后通过服务器发送给群组,由于只有群组内的客户端(包括主客户端和从客户端)才可以使用群组的私钥,所以只有群组中的客户端可以对发送端加密后的消息进行解密,群组外的客户端,或者通信链路中的任何其他节点,包括中心服务器,均无法对发送端加密后的消息进行解密,实现了群组内端到端的加密,适用于某些对安全性要求更高的场合,通信双方可以确保不会被监听,提高了通信的灵活性和安全性。
本发明实施例对于群组的私钥的管理,可以进一步改进,以支持一个用户拥有多个设备的情况。可以在一个用户的多个设备间安全的共享同一个公私钥对,则在信息加密时只需要加密一份,可以节省计算和存储资源。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本发明实施例所提供的一种群组内消息的通信方法和系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种群组内消息的通信方法,其特征在于,包括:
主客户端创建群组时,生成所述群组的公钥和所述群组的私钥;
所述主客户端邀请从客户端加入所述群组时,将所述群组的私钥加密后发送至所述从客户端,以使所述从客户端获得所述群组的私钥;所述群组的公钥在所述主客户端和从客户端之间共享;
所述主客户端使用所述群组的公钥对待发送的消息进行加密,并向所述群组发送加密后的消息;和,
所述主客户端从所述群组获取使用所述群组的公钥加密后的消息,并使用所述群组的私钥对所述加密后的消息进行解密,获得消息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述从客户端在向服务器注册时,生成所述从客户端的公钥和所述从客户端的私钥;所述从客户端的公钥在所述主客户端和从客户端之间共享。
3.根据权利要求2所述的方法,其特征在于,所述主客户端邀请从客户端加入所述群组时,将所述群组的私钥加密后发送至所述从客户端,以使所述从客户端获得所述群组的私钥,包括:
所述主客户端使用所述从客户端的公钥对所述群组的私钥进行非对称加密,并发送至服务器,以使所述从客户端从所述服务器接收到进行了所述非对称加密后的群组的私钥后,使用所述从客户端的私钥对所述加密后的群组的私钥进行解密,获得所述群组的私钥。
4.根据权利要求1所述的方法,其特征在于,所述主客户端使用所述群组的公钥对待发送的消息进行加密,并向所述群组发送加密后的消息,包括:
所述主客户端使用所述群组的公钥对待发送的消息进行非对称加密,并向所述群组发送所述非对称加密后的消息。
5.根据权利要求1所述的方法,其特征在于,所述主客户端使用所述群组的公钥对待发送的消息进行加密,并向所述群组发送加密后的消息,包括:
所述主客户端生成随机密钥;所述随机密钥本身使用所述群组的公钥进行非对称加密;
所述主客户端使用所述随机密钥对待发送的消息进行对称加密,并向所述群组发送对称加密后的消息,以使所述从客户端使用所述群组的私钥对加密后的随机密钥进行解密,获得所述随机密钥,并使用所述随机密钥对加密后的消息进行解密,获得消息。
6.一种群组内消息的通信系统,其特征在于,包括:
群组密钥生成模块,用于在主客户端创建群组时,生成所述群组的公钥和所述群组的私钥;
群组私钥加密模块,用于在所述主客户端邀请从客户端加入所述群组时,将所述群组的私钥加密后发送至所述从客户端,以使所述从客户端获得所述群组的私钥;所述群组的公钥在所述主客户端和从客户端之间共享;
消息加密模块,用于使用所述群组的公钥对待发送的消息进行加密,并向所述群组发送加密后的消息;和,
消息解密模块,用于从所述群组获取使用所述群组的公钥加密后的消息,并使用所述群组的私钥对所述加密后的消息进行解密,获得消息。
7.根据权利要求6所述的系统,其特征在于,所述系统还包括:
从客户端密钥生成模块,用于在所述从客户端在向服务器注册时,生成所述从客户端的公钥和所述从客户端的私钥;所述从客户端的公钥在所述主客户端和从客户端之间共享。
8.根据权利要求7所述的系统,其特征在于,所述群组私钥加密模块使用所述从客户端的公钥对所述群组的私钥进行非对称加密,并发送至服务器,以使所述从客户端从所述服务器接收到进行了所述非对称加密后的群组的私钥后,使用所述从客户端的私钥对所述加密后的群组的私钥进行解密,获得所述群组的私钥。
9.根据权利要求6所述的系统,其特征在于,所述消息加密模块使用所述群组的公钥对待发送的消息进行非对称加密,并向所述群组发送所述非对称加密后的消息。
10.根据权利要求6所述的系统,其特征在于,所述消息加密模块,包括:
随机密钥生成子模块,用于生成随机密钥;所述随机密钥本身使用所述群组的公钥进行非对称加密;
消息加密子模块,用于使用所述随机密钥对待发送的消息进行对称加密,并向所述群组发送对称加密后的消息,以使所述主客户端和/或从客户端使用所述群组的私钥对加密后的随机密钥进行解密,获得所述随机密钥,并使用所述随机密钥对加密后的消息进行解密,获得消息。
CN201410413046.6A 2014-08-20 2014-08-20 一种群组内消息的通信方法和系统 Active CN104219051B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410413046.6A CN104219051B (zh) 2014-08-20 2014-08-20 一种群组内消息的通信方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410413046.6A CN104219051B (zh) 2014-08-20 2014-08-20 一种群组内消息的通信方法和系统

Publications (2)

Publication Number Publication Date
CN104219051A CN104219051A (zh) 2014-12-17
CN104219051B true CN104219051B (zh) 2018-04-13

Family

ID=52100215

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410413046.6A Active CN104219051B (zh) 2014-08-20 2014-08-20 一种群组内消息的通信方法和系统

Country Status (1)

Country Link
CN (1) CN104219051B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105306492B (zh) * 2015-11-25 2019-01-04 成都三零瑞通移动通信有限公司 一种针对安全即时通信的异步密钥协商方法及装置
CN105553979A (zh) * 2015-12-15 2016-05-04 国网智能电网研究院 一种智能电网中隐私信息的加密发布方法
CN105610789B (zh) * 2015-12-18 2019-04-30 成都三零瑞通移动通信有限公司 一种适用于多人群聊即时通信的数据加密方法
WO2018047698A1 (ja) * 2016-09-12 2018-03-15 日本電信電話株式会社 暗号化メッセージ検索方法、メッセージ送受信システム、サーバ、端末、プログラム
CN106549858B (zh) * 2016-12-08 2019-12-10 深圳奥联信息安全技术有限公司 一种基于标识密码的即时通信加密方法
CN107104888B (zh) * 2017-06-09 2020-10-16 四川楠水农牧科技有限公司 一种安全的即时通信方法
CN107635227B (zh) * 2017-10-30 2021-01-29 中国联合网络通信集团有限公司 一种群组消息加密方法及装置
CN108155987A (zh) * 2017-12-22 2018-06-12 中国联合网络通信集团有限公司 群组消息发送方法、接收方法及其系统和通讯终端
CN109039854A (zh) * 2018-06-22 2018-12-18 安徽师范大学 群聊防误发的方法
CN109743185B (zh) * 2019-03-19 2020-12-01 全链通有限公司 基于域名区块链的群组通信方法、区块链节点及介质
CN110971426A (zh) * 2019-12-05 2020-04-07 深圳前海达闼云端智能科技有限公司 一种构建群会话的方法、客户端及可存储介质
CN110690967B (zh) * 2019-12-11 2021-03-02 杭州字节信息技术有限公司 一种不依赖于服务端安全的即时通信密钥确立方法
CN112118267B (zh) * 2020-09-25 2022-10-18 南方电网科学研究院有限责任公司 一种匿名通信方法及相关装置
CN112668029A (zh) * 2021-02-19 2021-04-16 张爽 私密社交软件及其私密实现方法
CN115001865B (zh) * 2022-07-28 2022-12-02 杭州安司源科技有限公司 通信处理方法及系统、客户端、通信服务端和监管服务端
CN115361222B (zh) * 2022-08-26 2023-08-01 杭州安司源科技有限公司 通信处理方法、装置和系统
CN116980228B (zh) * 2023-09-01 2024-03-08 河南省信息化集团有限公司 一种互联网环境下实现匿名身份登录的方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102843675A (zh) * 2011-06-24 2012-12-26 中兴通讯股份有限公司 一种集群呼叫语音加密的方法、终端和系统
CN103796199A (zh) * 2014-02-19 2014-05-14 郑州轻工业学院 移动非平衡网络中可认证非对称群组秘钥协商方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110194698A1 (en) * 2008-10-22 2011-08-11 Tomoyuki Asano Key Sharing System

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102843675A (zh) * 2011-06-24 2012-12-26 中兴通讯股份有限公司 一种集群呼叫语音加密的方法、终端和系统
CN103796199A (zh) * 2014-02-19 2014-05-14 郑州轻工业学院 移动非平衡网络中可认证非对称群组秘钥协商方法

Also Published As

Publication number Publication date
CN104219051A (zh) 2014-12-17

Similar Documents

Publication Publication Date Title
CN104219051B (zh) 一种群组内消息的通信方法和系统
CN107453868B (zh) 一种安全高效的量子密钥服务方法
CN104486077B (zh) 一种VoIP实时数据安全传输的端到端密钥协商方法
JP5361920B2 (ja) ファイルサーバシステム
JP7353375B2 (ja) エポック鍵交換を用いたエンドツーエンドの二重ラチェット暗号化
US20140208117A1 (en) Server apparatus and program
CN104821944A (zh) 一种混合加密的网络数据安全方法及系统
CN109981584B (zh) 一种基于区块链的分布式社交方法
CN105610789B (zh) 一种适用于多人群聊即时通信的数据加密方法
CN103986583A (zh) 一种动态加密方法及其加密通信系统
CN114513327B (zh) 一种基于区块链的物联网隐私数据快速共享方法
CN105376261A (zh) 一种用于即时通讯消息的加密方法及系统
Bisne et al. Composite secure MQTT for Internet of Things using ABE and dynamic S-box AES
Reshma et al. Pairing-free CP-ABE based cryptography combined with steganography for multimedia applications
CN103997405B (zh) 一种密钥生成方法及装置
WO2020085151A1 (ja) サーバ装置、通信端末、通信システム、及びプログラム
US11368436B2 (en) Communication protocol
CN102271043A (zh) 数据传输保护方法
CN112217862A (zh) 一种数据通信方法、装置、终端设备和存储介质
Zhang et al. The security analysis of popular instant messaging applications
EP3979656A1 (en) Encrypted group video system and method
CN104243291A (zh) 一种可保障用户通讯内容安全的即时通讯方法及其系统
CN107294972A (zh) 基于身份的广义多接收者匿名签密方法
CN106789026A (zh) Cdn服务器及其与客户端连接方法、私钥服务器及系统
CN104243409A (zh) 一种端到端传输数据的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant