一种群组内消息的通信方法和系统的制作方法

文档序号:7811945阅读:160来源:国知局
一种群组内消息的通信方法和系统的制作方法
【专利摘要】本发明提供了一种群组内消息的通信方法和系统,其中,所述方法包括:主客户端创建群组时,生成所述群组的公钥和所述群组的私钥;所述主客户端邀请从客户端加入所述群组时,将所述群组的私钥加密后发送至所述从客户端,以使所述从客户端获得所述群组的私钥;所述群组的公钥在所述主客户端和从客户端之间共享;所述主客户端使用所述群组的公钥对待发送的消息进行加密,并向所述群组发送加密后的消息;和/或,所述主客户端从所述群组获取使用所述群组的公钥加密后的消息,并使用所述群组的私钥对所述加密后的消息进行解密,获得消息。本发明实现了群组内端到端的加密,提高了通信的灵活性和安全性。
【专利说明】一种群组内消息的通信方法和系统

【技术领域】
[0001] 本发明涉及通信【技术领域】,特别是涉及一种群组内消息的通信方法和系统。

【背景技术】
[0002] 即时通信(Instant messaging, IM)是一个终端服务,允许两人或多人使用网路即 时的传递文字信息、档案、语音与视频交流。即时通信按使用用途分为企业即时通信和网站 即时通信,根据装载的对象又可分为手机即时通信和PC即时通信。
[0003] 即时通信系统中的端到端加密,是指信息在发送端进行加密,只有接收端可以解 密,通信链路中的任何其他节点,包括中心服务器,都无法进行解密,从而保证信息只有发 送端和接收端可以知晓。
[0004] 目前流行的即时通信系统,比如苹果公司的iMessage,实现了单用户对单用户的 端到端加密,但并不支持群组。腾讯公司的微信,虽然支持群组,但并不支持端到端加密,微 信服务器可以知晓所有通过微信传输的信息。


【发明内容】

[0005] 本发明提供一种群组内消息的通信方法和系统,以解决现有的即时通信系统不支 持群组内的端到端加密的问题。
[0006] 为了解决上述问题,本发明公开了一种群组内消息的通信方法,包括:
[0007] 主客户端创建群组时,生成所述群组的公钥和所述群组的私钥;
[0008] 所述主客户端邀请从客户端加入所述群组时,将所述群组的私钥加密后发送至所 述从客户端,以使所述从客户端获得所述群组的私钥;所述群组的公钥在所述主客户端和 从客户端之间共享;
[0009] 所述主客户端使用所述群组的公钥对待发送的消息进行加密,并向所述群组发送 加密后的消息;和/或,
[0010] 所述主客户端从所述群组获取使用所述群组的公钥加密后的消息,并使用所述群 组的私钥对所述加密后的消息进行解密,获得消息。
[0011] 优选地,所述方法还包括:
[0012] 所述从客户端在向服务器注册时,生成所述从客户端的公钥和所述从客户端的私 钥;所述从客户端的公钥在所述主客户端和从客户端之间共享。
[0013] 优选地,所述主客户端邀请从客户端加入所述群组时,将所述群组的私钥加密后 发送至所述从客户端,以使所述从客户端获得所述群组的私钥,包括 :
[0014] 所述主客户端使用所述从客户端的公钥对所述群组的私钥进行非对称加密,并发 送至服务器,以使所述从客户端从所述服务器接收到进行了所述非对称加密后的群组的私 钥后,使用所述从客户端的私钥对所述加密后的群组的私钥进行解密,获得所述群组的私 钥。
[0015] 优选地,所述主客户端使用所述群组的公钥对待发送的消息进行加密,并向所述 群组发送加密后的消息,包括:
[0016] 所述主客户端使用所述群组的公钥对待发送的消息进行非对称加密,并向所述群 组发送所述非对称加密后的消息。
[0017] 优选地,所述主客户端使用所述群组的公钥对待发送的消息进行加密,并向所述 群组发送加密后的消息,包括:
[0018] 所述主客户端生成随机密钥;所述随机密钥本身使用所述群组的公钥进行非对称 加密;
[0019] 所述主客户端使用所述随机密钥对待发送的消息进行对称加密,并向所述群组发 送对称加密后的消息,以使所述从客户端使用所述群组的私钥对加密后的随机密钥进行解 密,获得所述随机密钥,并使用所述随机密钥对加密后的消息进行解密,获得消息。
[0020] 本发明还公开了一种群组内消息的通信系统,包括:
[0021] 群组密钥生成模块,用于在主客户端创建群组时,生成所述群组的公钥和所述群 组的私钥;
[0022] 群组私钥加密模块,用于在所述主客户端邀请从客户端加入所述群组时,将所述 群组的私钥加密后发送至所述从客户端,以使所述从客户端获得所述群组的私钥;所述群 组的公钥在所述主客户端和从客户端之间共享;
[0023] 消息加密模块,用于使用所述群组的公钥对待发送的消息进行加密,并向所述群 组发送加密后的消息;和/或,
[0024] 消息解密模块,用于从所述群组获取使用所述群组的公钥加密后的消息,并使用 所述群组的私钥对所述加密后的消息进行解密,获得消息。
[0025] 优选地,所述系统还包括:
[0026] 从客户端密钥生成模块,用于在所述从客户端在向服务器注册时,生成所述从客 户端的公钥和所述从客户端的私钥;所述从客户端的公钥在所述主客户端和从客户端之间 共享。
[0027] 优选地,所述群组私钥加密模块使用所述从客户端的公钥对所述群组的私钥进行 非对称加密,并发送至服务器,以使所述从客户端从所述服务器接收到进行了所述非对称 加密后的群组的私钥后,使用所述从客户端的私钥对所述加密后的群组的私钥进行解密, 获得所述群组的私钥。
[0028] 优选地,所述消息加密模块使用所述群组的公钥对待发送的消息进行非对称加 密,并向所述群组发送所述非对称加密后的消息。
[0029] 优选地,所述消息加密模块,包括:
[0030] 随机密钥生成子模块,用于生成随机密钥;所述随机密钥本身使用所述群组的公 钥进行非对称加密;
[0031] 消息加密子模块,用于使用所述随机密钥对待发送的消息进行对称加密,并向所 述群组发送对称加密后的消息,以使所述主客户端和/或从客户端使用所述群组的私钥对 加密后的随机密钥进行解密,获得所述随机密钥,并使用所述随机密钥对加密后的消息进 行解密,获得消息。
[0032] 与【背景技术】相比,本发明包括以下优点:
[0033] 在主客户端创建群组时,生成群组的公钥和私钥,用群组的公钥加密过的消息,只 有使用群组的私钥才能解密。在主客户端邀请从客户端加入群组时,将群组的私钥加密后 发送至从客户端,以使从客户端获得群组的私钥,同时,群组的公钥在主客户端和从客户端 之间可以共享,即群组内的主客户端和从客户端均可以使用群组的公钥。
[0034] 主客户端使用群组的公钥对待发送的消息进行加密,并向群组发送加密后的消 息;主客户端从群组获取使用群组的公钥加密后的消息,并使用群组的私钥对加密后的消 息进行解密,获得消息。
[0035] 本发明实现了群组内主客户端与从客户端之间的端到端的消息加密传输,主要是 指消息在发送端加密后通过服务器发送给群组,由于只有群组内的客户端(包括主客户端 和从客户端)才可以使用群组的私钥,所以只有群组中的客户端可以对发送端加密后的消 息进行解密,群组外的客户端,或者通信链路中的任何其他节点,包括中心服务器,均无法 对发送端加密后的消息进行解密,实现了群组内端到端的加密,适用于某些对安全性要求 更高的场合,通信双方可以确保不会被监听,提高了通信的灵活性和安全性。

【专利附图】

【附图说明】
[0036] 图1是本发明实施例中一种群组内消息的通信方法流程图;
[0037] 图2是本发明实施例中另一种群组内消息的通信方法流程图;
[0038] 图3是本发明实施例中一种群组内消息的通信方法示意图;
[0039] 图4是本发明实施例中一种群组内消息的通信系统结构图;
[0040] 图5是本发明实施例中另一种群组内消息的通信系统结构图。

【具体实施方式】
[0041] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。
[0042] 下面通过列举几个具体的实施例详细介绍本发明提供的一种群组内消息的通信 方法和系统。
[0043] 实施例一
[0044] 详细介绍本发明实施例提供的一种群组内消息的通信方法。
[0045] 参照图1,示出了本发明实施例中一种群组内消息的通信方法流程图。
[0046] 步骤100,主客户端创建群组时,生成所述群组的公钥和所述群组的私钥。
[0047] 所述主客户端可以为创建群组的客户端,即创建群组的客户端被称为主客户端。 所述主客户端在创建群组之前,已经向服务器注册,并且,在主客户端项服务器注册时,生 成主客户端的公钥和主客户端的私钥。
[0048] 所述群组的公钥和私钥仅限在该群组内使用,无法应用于其他群组。
[0049] 步骤102,所述主客户端邀请从客户端加入所述群组时,将所述群组的私钥加密后 发送至所述从客户端,以使所述从客户端获得所述群组的私钥。
[0050] 所述群组的公钥可以在所述主客户端和从客户端之间共享。
[0051] 所述从客户端在被邀请加入所述群组之前,已经向服务器注册。所述主客户端将 群组的私钥加密后发送至所述从客户端,所述从客户端可以对加密后的群组的私钥进行解 密,获得群组的私钥。
[0052] 在所述步骤102中,所述主客户端加密后的群组的私钥只能使用从客户端的私钥 进行解密。从客户端的私钥由从客户端保存,其他客户端无法获取,所以此步骤可以保证群 组的私钥只能在群组内的客户端之间使用,群组外的客户端无法获取到群组的私钥。
[0053] 步骤104,所述主客户端使用所述群组的公钥对待发送的消息进行加密,并向所述 群组发送加密后的消息。
[0054] 使用所述群组的公钥对待发送的消息进行加密,加密后的待发送的消息只能使用 群组的私钥进行解密。由于群组的私钥只有群组内的客户端才拥有,群组外的客户端无群 组的私钥,所以,使用群组的公钥加密的待发送的消息,只有群组内的客户端才能解密。
[0055] 需要说明的是,所述步骤104还可以为:
[0056] 从客户端使用群组的公钥对待发送的消息进行加密,并向所述群组发送加密后的 消息。
[0057] 在群组内,主客户端和从客户端均可以向群组发送消息,无论是主客户端还是从 客户端,向群组发送消息的方式以及对消息进行加密的方式是相同的。
[0058] 步骤106,所述主客户端从所述群组获取使用所述群组的公钥加密后的消息,并使 用所述群组的私钥对所述加密后的消息进行解密,获得消息。
[0059] 使用群组的公钥进行加密的消息,只能使用群组的私钥进行解密。只有群组内的 客户端才有群组的私钥,所以,只有群组内的客户端才能对加密后的消息进行解密。
[0060] 需要说明的是,所述步骤106还可以为:
[0061] 从客户端从所述群组获取使用所述群组的公钥加密后的消息,并使用所述群组的 私钥对所述加密后的消息进行解密,获得消息。
[0062] 在群组内,主客户端和从客户端均可以从群组获取消息,无论是主客户端还是从 客户端,从群组获取消息的方式以及对消息进行解密的方式是相同的。
[0063] 通常来讲,如果群组内只有一个主客户端和一个从客户端,主客户端向群组发送 消息时,从客户端从群组获取主客户端发送的消息;从客户端向群组发送消息时,主客户端 从群组获取从客户端发送的消息。如果群组内有一个主客户端和多个从客户端,主客户端 向群组发送消息时,多个从客户端从群组获取主客户端发送的消息;从客户端向群组发送 消息时,主客户端和其他从客户端从群组获取该从客户端发送的消息。
[0064] 需要说明的是,上述步骤104为加密消息,并向群组发送加密后消息的步骤,上述 步骤106为从群组获取加密后消息,并对加密后的消息进行解密的步骤。在实际应用中,上 述步骤104和步骤106可以同时出现,也可以只出现其中任一步骤。即本实施例可以由步 骤100、步骤102、步骤104和步骤106共同组成,或者可以由步骤100、步骤102和步骤104 组成,或者可以由步骤100、步骤102和步骤106组成。
[0065] 综上所述,在本发明实施例中,在主客户端创建群组时,生成群组的公钥和私钥, 用群组的公钥加密过的消息,只有使用群组的私钥才能解密。在主客户端邀请从客户端加 入群组时,将群组的私钥加密后发送至从客户端,以使从客户端获得群组的私钥,同时,群 组的公钥在主客户端和从客户端之间可以共享,即群组内的主客户端和从客户端均可以使 用群组的公钥。
[0066] 主客户端使用群组的公钥对待发送的消息进行加密,并向群组发送加密后的消 息;主客户端从群组获取使用群组的公钥加密后的消息,并使用群组的私钥对加密后的消 息进行解密,获得消息。
[0067] 本发明实施例实现了群组内主客户端与从客户端之间的端到端的消息加密传输, 主要是指消息在发送端加密后通过服务器发送给群组,由于只有群组内的客户端(包括主 客户端和从客户端)才可以使用群组的私钥,所以只有群组中的客户端可以对发送端加密 后的消息进行解密,群组外的客户端,或者通信链路中的任何其他节点,包括中心服务器, 均无法对发送端加密后的消息进行解密,实现了群组内端到端的加密,适用于某些对安全 性要求更高的场合,通信双方可以确保不会被监听,提高了通信的灵活性和安全性。
[0068] 实施例二
[0069] 详细介绍本发明实施例提供的一种群组内消息的通信方法。
[0070] 参照图2,示出了本发明实施例中一种群组内消息的通信方法流程图。
[0071] 步骤200,主客户端创建群组时,生成所述群组的公钥和所述群组的私钥。
[0072] 所述主客户端可以为创建群组的客户端,即创建群组的客户端被称为主客户端。 所述主客户端在创建群组之前,已经向服务器注册,并且,在主客户端项服务器注册时,生 成主客户端的公钥和主客户端的私钥。
[0073] 所述群组的公钥和私钥仅限在该群组内使用,无法应用于其他群组。
[0074] 步骤202,所述主客户端邀请从客户端加入所述群组时,将所述群组的私钥加密后 发送至所述从客户端,以使所述从客户端获得所述群组的私钥。
[0075] 所述群组的公钥可以在所述主客户端和从客户端之间共享。
[0076] 优选地,所述从客户端在向服务器注册时,生成所述从客户端的公钥和所述从客 户端的私钥。
[0077] 所述从客户端的公钥可以在所述主客户端和从客户端之间共享。
[0078] 优选地,所述步骤202可以为:
[0079] 所述主客户端邀请从客户端加入所述群组时,所述主客户端使用所述从客户端的 公钥对所述群组的私钥进行非对称加密,并发送至服务器,以使所述从客户端从所述服务 器接收到进行了所述非对称加密后的群组的私钥后,使用所述从客户端的私钥对所述加密 后的群组的私钥进行解密,获得所述群组的私钥。
[0080] 非对称加密是一种密码学算法类型,在这种密码学方法中,需要一对密钥,一是个 私人密钥,另一个则是公开密钥。这两个密钥是数学相关,用某用户密钥加密后所得的信 息,只能用该用户的解密密钥才能解密。如果知道了其中一个,并不能计算出另外一个。因 此如果公开了一对密钥中的一个,并不会危害到另外一个的秘密性质。称公开的密钥为公 钥;不公开的密钥为私钥。也就是说,使用从客户端的公钥进行非对称加密,只有使用从客 户端的私钥才能进行解密。
[0081] 步骤204,所述主客户端使用所述群组的公钥对待发送的消息进行加密,并向所述 群组发送加密后的消息。
[0082] 优选地,所述步骤204可以为:
[0083] 所述主客户端使用所述群组的公钥对待发送的消息进行非对称加密,并向所述群 组发送所述非对称加密后的消息。
[0084] 优选地,所述步骤204还可以包括下列子步骤:
[0085] 子步骤2041,所述主客户端生成随机密钥。
[0086] 所述随机密钥本身使用所述群组的公钥进行非对称加密。
[0087] 使用群组的公钥进行非对称加密后的随机密钥,只有使用群组的私钥才能解密。
[0088] 子步骤2042,所述主客户端使用所述随机密钥对待发送的消息进行对称加密,并 向所述群组发送对称加密后的消息,以使所述从客户端使用所述群组的私钥对加密后的随 机密钥进行解密,获得所述随机密钥,并使用所述随机密钥对加密后的消息进行解密,获得 消息。
[0089] 对称加密指加密和解密使用相同密钥的加密算法。就是加密密钥能够从解密密钥 中推算出来,同时解密密钥也可以从加密密钥中推算出来。而在大多数的对称算法中,加密 密钥和解密密钥是相同的。它要求发送方和接收方在安全通信之前,商定一个密钥。在对 称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后, 使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用 过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算 法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求 解密方事先必须知道加密密钥。
[0090] 由此可知,使用随机密钥对待发送的消息进行对称加密,需要使用随机密钥进行 解密。随机密钥可以在群组内的客户端之间共享使用,群组外的客户端无法使用随机密钥。
[0091] 在群组内,主客户端和从客户端均可以向群组发送消息,无论是主客户端还是从 客户端,向群组发送消息的方式以及对消息进行加密的方式是相同的。
[0092] 步骤206,所述从客户端从所述群组获取使用所述群组的公钥加密后的消息,并使 用所述群组的私钥对所述加密后的消息进行解密,获得消息。
[0093] 在群组内,主客户端和从客户端均可以从群组获取消息,无论是主客户端还是从 客户端,从群组获取消息的方式以及对消息进行解密的方式是相同的。
[0094] 通常来讲,如果群组内只有一个主客户端和一个从客户端,主客户端向群组发送 消息时,从客户端从群组获取主客户端发送的消息;从客户端向群组发送消息时,主客户端 从群组获取从客户端发送的消息。如果群组内有一个主客户端和多个从客户端,主客户端 向群组发送消息时,多个从客户端从群组获取主客户端发送的消息;从客户端向群组发送 消息时,主客户端和其他从客户端从群组获取该从客户端发送的消息。
[0095] 综上所述,在本发明实施例中,在主客户端创建群组时,生成群组的公钥和私钥, 用群组的公钥加密过的消息,只有使用群组的私钥才能解密。在主客户端邀请从客户端加 入群组时,将群组的私钥加密后发送至从客户端,以使从客户端获得群组的私钥,同时,群 组的公钥在主客户端和从客户端之间可以共享,即群组内的主客户端和从客户端均可以使 用群组的公钥。
[0096] 主客户端使用群组的公钥对待发送的消息进行加密,并向群组发送加密后的消 息;述主客户端从群组获取使用群组的公钥加密后的消息,并使用群组的私钥对加密后的 消息进行解密,获得消息。
[0097] 本发明实施例实现了群组内主客户端与从客户端之间的端到端的消息加密传输, 主要是指消息在发送端加密后通过服务器发送给群组,由于只有群组内的客户端(包括主 客户端和从客户端)才可以使用群组的私钥,所以只有群组中的客户端可以对发送端加密 后的消息进行解密,群组外的客户端,或者通信链路中的任何其他节点,包括中心服务器, 均无法对发送端加密后的消息进行解密,实现了群组内端到端的加密,适用于某些对安全 性要求更高的场合,通信双方可以确保不会被监听,提高了通信的灵活性和安全性。
[0098] 本发明实施例对于群组的私钥的管理,可以进一步改进,以支持一个用户拥有多 个设备的情况。可以在一个用户的多个设备间安全的共享同一个公私钥对,则在信息加密 时只需要加密一份,可以节省计算和存储资源。
[0099] 实施例三
[0100] 详细介绍本发明实施例提供的一种群组内消息的通信方法。
[0101] 群组G1由客户端A创建,客户端A邀请客户端B和客户端C加入群组G1。客户端 A、客户端B和客户端C在向服务器注册时,均已生成了各自的公钥和私钥,并把各自的公钥 发送至服务器,使得各自的公钥可以在所有客户端设备之间共享,各自的私钥在客户端本 地保存,客户端无法获取其他客户端的私钥。
[0102] 参照图3,示出了本发明实施例中一种群组内消息的通信方法示意图。
[0103] 步骤300,客户端A向服务器申请创建群组G1,生成群组G1的公私钥对。
[0104] 客户端A创建一个群组G1,并为群组G1生成公私钥对。群组G1的公钥为G1_PUB_ KEY,群组G1的私钥为G1_PRI_KEY,群组G1的私钥此时由客户端A保管,群组G1的公钥可 以发送给服务器。
[0105] 步骤302,客户端A向服务器邀请客户端B加入群组G1。
[0106] 客户端A邀请客户端B加入群组G1时,把群组G1的私钥加密后发送给客户端B, 可以使用客户端B的公钥B_PUB_KEY通过非对称加密算法进行加密,从而保证只有客户端 B可以解密出群组G1的私钥。
[0107] 步骤304,服务器向客户端B发送非对称加密后的群组G1的私钥。
[0108] 非对称加密后的群组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的私钥中增加签名、时间戳、一次性随机数等信息以提高安全性。
[0109] 步骤306,客户端A向服务器邀请客户端C加入群组G1。
[0110] 客户端A邀请客户端C加入群组G1时,把群组G1的私钥加密后发送给客户端C, 可以使用客户端C的公钥C_PUB_KEY通过非对称加密算法进行加密,从而保证只有客户端 C可以解密出群组G1的私钥。
[0111] 步骤308,服务器向客户端C发送非对称加密后的群组G1的私钥。
[0112] 非对称加密后的群组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的私钥中增加签名、时 间戳、一次性随机数等信息以提高安全性。
[0113] 步骤310,客户端A对待发送的消息Μ进行加密,并发送至群组G1。
[0114] 客户端Α向群组G1发送消息时,使用群组G1的公钥对消息进行加密,表示为 AE(M,G1_PUB_KEY),如果消息Μ包含比较多的信息,比如长文本、图片、语音、视频等,可以 先产生随机密钥RK,用RK通过对称加密算法对消息Μ进行加密,而RK本身使用G1_PUB_ KEY通过非对称加密算法进行加密,从而提高加解密的速度,因为对称加密比非对称加密的 效率更高。也就是说,客户端A实际发送的内容可以是SE (M,RK) +AE (RK,G1_PUB_KEY),SE 代表某种对称加密算法。同理,实际发送的信息可能还包括时间戳、一次性随机数、数字签 名等信息以进一步提高安全性。从而保证只有群组成员客户端B和C能够解密。即使是服 务器,也不知道群组G1的私钥,无法解密群组内传递的消息,从而实现群组内的端到端消 息传递的安全性。
[0115] 步骤312,服务器将加密后的消息Μ发送至客户端B和C。
[0116] 由于客户端Β和C知道群组G1的私钥G1_PRI_KEY,所以使用群组G1的公钥Gl_ PUB_KEY加密后的消息M,可以由客户端B和C使用群组G1的私钥G1_PRI_KEY进行解密。
[0117] 也就是说,最终只有群组G1的成员客户端A、B和C知道群组G1的私钥G1_PRI_ KEY,服务器并不知道G1_PRI_KEY,所以通过G1_PUB_KEY加密过的消息M,只有客户端A、B 和C才能解密,从而实现了群组内的端到端加密。
[0118] 综上所述,在本发明实施例中,在主客户端创建群组时,生成群组的公钥和私钥, 用群组的公钥加密过的消息,只有使用群组的私钥才能解密。在主客户端邀请从客户端加 入群组时,将群组的私钥加密后发送至从客户端,以使从客户端获得群组的私钥,同时,群 组的公钥在主客户端和从客户端之间可以共享,即群组内的主客户端和从客户端均可以使 用群组的公钥。
[0119] 主客户端使用群组的公钥对待发送的消息进行加密,并向群组发送加密后的消 息;述主客户端从群组获取使用群组的公钥加密后的消息,并使用群组的私钥对加密后的 消息进行解密,获得消息。
[0120] 本发明实施例实现了群组内主客户端与从客户端之间的端到端的消息加密传输, 主要是指消息在发送端加密后通过服务器发送给群组,由于只有群组内的客户端(包括主 客户端和从客户端)才可以使用群组的私钥,所以只有群组中的客户端可以对发送端加密 后的消息进行解密,群组外的客户端,或者通信链路中的任何其他节点,包括中心服务器, 均无法对发送端加密后的消息进行解密,实现了群组内端到端的加密,适用于某些对安全 性要求更高的场合,通信双方可以确保不会被监听,提高了通信的灵活性和安全性。
[0121] 本发明实施例对于群组的私钥的管理,可以进一步改进,以支持一个用户拥有多 个设备的情况。可以在一个用户的多个设备间安全的共享同一个公私钥对,则在信息加密 时只需要加密一份,可以节省计算和存储资源。
[0122] 实施例四
[0123] 详细介绍本发明实施例提供的一种群组内消息的通信系统。
[0124] 所述系统可以包括:群组密钥生成模块400,群组私钥加密模块402,消息加密模 块404,和/或,消息解密模块406。
[0125] 即所述系统可以包括:群组密钥生成模块400,群组私钥加密模块402,消息加密 模块404,和消息解密模块406。所述系统还可以包括:群组密钥生成模块400,群组私钥加 密模块402,消息加密模块404。或者,所述系统还可以包括:群组密钥生成模块400,群组 私钥加密模块402,消息解密模块406。
[0126] 参照图4,示出了本发明实施例中一种群组内消息的通信系统结构图。
[0127] 下面分别详细介绍各模块的功能以及各模块之间的关系。
[0128] 群组密钥生成模块400,用于在主客户端创建群组时,生成所述群组的公钥和所述 群组的私钥。
[0129] 群组私钥加密模块402,用于在所述主客户端邀请从客户端加入所述群组时,将所 述群组的私钥加密后发送至所述从客户端,以使所述从客户端获得所述群组的私钥。
[0130] 所述群组的公钥可以在所述主客户端和从客户端之间共享。
[0131] 消息加密模块404,用于使用所述群组的公钥对待发送的消息进行加密,并向所述 群组发送加密后的消息。
[0132] 消息解密模块406,用于从所述群组获取使用所述群组的公钥加密后的消息,并使 用所述群组的私钥对所述加密后的消息进行解密,获得消息。
[0133] 综上所述,在本发明实施例中,在主客户端创建群组时,生成群组的公钥和私钥, 用群组的公钥加密过的消息,只有使用群组的私钥才能解密。在主客户端邀请从客户端加 入群组时,将群组的私钥加密后发送至从客户端,以使从客户端获得群组的私钥,同时,群 组的公钥在主客户端和从客户端之间可以共享,即群组内的主客户端和从客户端均可以使 用群组的公钥。
[0134] 主客户端使用群组的公钥对待发送的消息进行加密,并向群组发送加密后的消 息;述主客户端从群组获取使用群组的公钥加密后的消息,并使用群组的私钥对加密后的 消息进行解密,获得消息。
[0135] 本发明实施例实现了群组内主客户端与从客户端之间的端到端的消息加密传输, 主要是指消息在发送端加密后通过服务器发送给群组,由于只有群组内的客户端(包括主 客户端和从客户端)才可以使用群组的私钥,所以只有群组中的客户端可以对发送端加密 后的消息进行解密,群组外的客户端,或者通信链路中的任何其他节点,包括中心服务器, 均无法对发送端加密后的消息进行解密,实现了群组内端到端的加密,适用于某些对安全 性要求更高的场合,通信双方可以确保不会被监听,提高了通信的灵活性和安全性。
[0136] 实施例五
[0137] 详细介绍本发明实施例提供的一种群组内消息的通信系统。
[0138] 所述系统可以包括:群组密钥生成模块500,群组私钥加密模块502,消息加密模 块504,和/或,消息解密模块506,从客户端密钥生成模块508。
[0139] 即所述系统可以包括:群组密钥生成模块500,群组私钥加密模块502,消息加密 模块504,消息解密模块506和从客户端密钥生成模块508。所述系统还可以包括:群组密 钥生成模块500,群组私钥加密模块502,消息加密模块504和从客户端密钥生成模块508。 或者,所述系统还可以包括:群组密钥生成模块500,群组私钥加密模块502,消息解密模块 506和从客户端密钥生成模块508。
[0140] 其中,所述消息加密模块504可以包括:
[0141] 随机密钥生成子模块5041,消息加密子模块5042。
[0142] 参照图5,示出了本发明实施例中一种群组内消息的通信系统结构图。
[0143] 下面分别详细介绍各模块、各子模块的功能以及各模块、各子模块之间的关系。
[0144] 群组密钥生成模块500,用于在主客户端创建群组时,生成所述群组的公钥和所述 群组的私钥。
[0145] 从客户端密钥生成模块508,用于在所述从客户端在向服务器注册时,生成所述从 客户端的公钥和所述从客户端的私钥;所述从客户端的公钥在所述主客户端和从客户端之 间共享。
[0146] 群组私钥加密模块502,用于在所述主客户端邀请从客户端加入所述群组时,将所 述群组的私钥加密后发送至所述从客户端,以使所述从客户端获得所述群组的私钥。
[0147] 所述群组的公钥可以在所述主客户端和从客户端之间共享。
[0148] 优选地,所述群组私钥加密模块502可以使用所述从客户端的公钥对所述群组的 私钥进行非对称加密,并发送至服务器,以使所述从客户端从所述服务器接收到进行了所 述非对称加密后的群组的私钥后,使用所述从客户端的私钥对所述加密后的群组的私钥进 行解密,获得所述群组的私钥。
[0149] 消息加密模块504,用于使用所述群组的公钥对待发送的消息进行加密,并向所述 群组发送加密后的消息。
[0150] 优选地,所述消息加密模块504可以使用所述群组的公钥对待发送的消息进行非 对称加密,并向所述群组发送所述非对称加密后的消息。
[0151] 优选地,所述消息加密模块504,可以包括:
[0152] 随机密钥生成子模块5041,用于生成随机密钥。
[0153] 所述随机密钥本身使用所述群组的公钥进行非对称加密。
[0154] 消息加密子模块5042,用于使用所述随机密钥对待发送的消息进行对称加密,并 向所述群组发送对称加密后的消息,以使所述主客户端和/或从客户端使用所述群组的私 钥对加密后的随机密钥进行解密,获得所述随机密钥,并使用所述随机密钥对加密后的消 息进行解密,获得消息。
[0155] 需要说明的是,所述消息加密子模块5042可以位于主客户端中,也可以位于从客 户端中。
[0156] 当所述消息加密子模块5042位于主客户端中时,消息加密子模块5042使用所述 随机密钥对待发送的消息进行对称加密,并向所述群组发送对称加密后的消息,以使所述 从客户端使用所述群组的私钥对加密后的随机密钥进行解密,获得所述随机密钥,并使用 所述随机密钥对加密后的消息进行解密,获得消息。
[0157] 当所述消息加密子模块5042位于从客户端中时,此时群组内只有一个从客户端, 消息加密子模块5042使用所述随机密钥对待发送的消息进行对称加密,并向所述群组发 送对称加密后的消息,以使所述主客户端使用所述群组的私钥对加密后的随机密钥进行解 密,获得所述随机密钥,并使用所述随机密钥对加密后的消息进行解密,获得消息。
[0158] 当所述消息加密子模块5042位于从客户端中时,此时群组内有多个从客户端,消 息加密子模块5042使用所述随机密钥对待发送的消息进行对称加密,并向所述群组发送 对称加密后的消息,以使所述主客户端和从客户端使用所述群组的私钥对加密后的随机密 钥进行解密,获得所述随机密钥,并使用所述随机密钥对加密后的消息进行解密,获得消 肩、。
[0159] 消息解密模块506,用于从所述群组获取使用所述群组的公钥加密后的消息,并使 用所述群组的私钥对所述加密后的消息进行解密,获得消息。
[0160] 综上所述,在本发明实施例中,在主客户端创建群组时,生成群组的公钥和私钥, 用群组的公钥加密过的消息,只有使用群组的私钥才能解密。在主客户端邀请从客户端加 入群组时,将群组的私钥加密后发送至从客户端,以使从客户端获得群组的私钥,同时,群 组的公钥在主客户端和从客户端之间可以共享,即群组内的主客户端和从客户端均可以使 用群组的公钥。
[0161] 主客户端使用群组的公钥对待发送的消息进行加密,并向群组发送加密后的消 息;述主客户端从群组获取使用群组的公钥加密后的消息,并使用群组的私钥对加密后的 消息进行解密,获得消息。
[0162] 本发明实施例实现了群组内主客户端与从客户端之间的端到端的消息加密传输, 主要是指消息在发送端加密后通过服务器发送给群组,由于只有群组内的客户端(包括主 客户端和从客户端)才可以使用群组的私钥,所以只有群组中的客户端可以对发送端加密 后的消息进行解密,群组外的客户端,或者通信链路中的任何其他节点,包括中心服务器, 均无法对发送端加密后的消息进行解密,实现了群组内端到端的加密,适用于某些对安全 性要求更高的场合,通信双方可以确保不会被监听,提高了通信的灵活性和安全性。
[0163] 本发明实施例对于群组的私钥的管理,可以进一步改进,以支持一个用户拥有多 个设备的情况。可以在一个用户的多个设备间安全的共享同一个公私钥对,则在信息加密 时只需要加密一份,可以节省计算和存储资源。
[0164] 对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关 之处参见方法实施例的部分说明即可。
[0165] 本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与 其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0166] 以上对本发明实施例所提供的一种群组内消息的通信方法和系统,进行了详细介 绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只 是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发 明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理 解为对本发明的限制。
【权利要求】
1. 一种群组内消息的通信方法,其特征在于,包括: 主客户端创建群组时,生成所述群组的公钥和所述群组的私钥; 所述主客户端邀请从客户端加入所述群组时,将所述群组的私钥加密后发送至所述从 客户端,以使所述从客户端获得所述群组的私钥;所述群组的公钥在所述主客户端和从客 户端之间共享; 所述主客户端使用所述群组的公钥对待发送的消息进行加密,并向所述群组发送加密 后的消息;和/或, 所述主客户端从所述群组获取使用所述群组的公钥加密后的消息,并使用所述群组的 私钥对所述加密后的消息进行解密,获得消息。
2. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 所述从客户端在向服务器注册时,生成所述从客户端的公钥和所述从客户端的私钥; 所述从客户端的公钥在所述主客户端和从客户端之间共享。
3. 根据权利要求2所述的方法,其特征在于,所述主客户端邀请从客户端加入所述群 组时,将所述群组的私钥加密后发送至所述从客户端,以使所述从客户端获得所述群组的 私钥,包括: 所述主客户端使用所述从客户端的公钥对所述群组的私钥进行非对称加密,并发送 至服务器,以使所述从客户端从所述服务器接收到进行了所述非对称加密后的群组的私钥 后,使用所述从客户端的私钥对所述加密后的群组的私钥进行解密,获得所述群组的私钥。
4. 根据权利要求1所述的方法,其特征在于,所述主客户端使用所述群组的公钥对待 发送的消息进行加密,并向所述群组发送加密后的消息,包括: 所述主客户端使用所述群组的公钥对待发送的消息进行非对称加密,并向所述群组发 送所述非对称加密后的消息。
5. 根据权利要求1所述的方法,其特征在于,所述主客户端使用所述群组的公钥对待 发送的消息进行加密,并向所述群组发送加密后的消息,包括: 所述主客户端生成随机密钥;所述随机密钥本身使用所述群组的公钥进行非对称加 密; 所述主客户端使用所述随机密钥对待发送的消息进行对称加密,并向所述群组发送对 称加密后的消息,以使所述从客户端使用所述群组的私钥对加密后的随机密钥进行解密, 获得所述随机密钥,并使用所述随机密钥对加密后的消息进行解密,获得消息。
6. -种群组内消息的通信系统,其特征在于,包括: 群组密钥生成模块,用于在主客户端创建群组时,生成所述群组的公钥和所述群组的 私钥; 群组私钥加密模块,用于在所述主客户端邀请从客户端加入所述群组时,将所述群组 的私钥加密后发送至所述从客户端,以使所述从客户端获得所述群组的私钥;所述群组的 公钥在所述主客户端和从客户端之间共享; 消息加密模块,用于使用所述群组的公钥对待发送的消息进行加密,并向所述群组发 送加密后的消息;和/或, 消息解密模块,用于从所述群组获取使用所述群组的公钥加密后的消息,并使用所述 群组的私钥对所述加密后的消息进行解密,获得消息。
7. 根据权利要求6所述的系统,其特征在于,所述系统还包括: 从客户端密钥生成模块,用于在所述从客户端在向服务器注册时,生成所述从客户端 的公钥和所述从客户端的私钥;所述从客户端的公钥在所述主客户端和从客户端之间共 享。
8. 根据权利要求7所述的系统,其特征在于,所述群组私钥加密模块使用所述从客户 端的公钥对所述群组的私钥进行非对称加密,并发送至服务器,以使所述从客户端从所述 服务器接收到进行了所述非对称加密后的群组的私钥后,使用所述从客户端的私钥对所述 加密后的群组的私钥进行解密,获得所述群组的私钥。
9. 根据权利要求6所述的系统,其特征在于,所述消息加密模块使用所述群组的公钥 对待发送的消息进行非对称加密,并向所述群组发送所述非对称加密后的消息。
10. 根据权利要求6所述的系统,其特征在于,所述消息加密模块,包括: 随机密钥生成子模块,用于生成随机密钥;所述随机密钥本身使用所述群组的公钥进 行非对称加密; 消息加密子模块,用于使用所述随机密钥对待发送的消息进行对称加密,并向所述群 组发送对称加密后的消息,以使所述主客户端和/或从客户端使用所述群组的私钥对加密 后的随机密钥进行解密,获得所述随机密钥,并使用所述随机密钥对加密后的消息进行解 密,获得消息。
【文档编号】H04L9/08GK104219051SQ201410413046
【公开日】2014年12月17日 申请日期:2014年8月20日 优先权日:2014年8月20日
【发明者】施幸东 申请人:北京奇艺世纪科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1