一种适用于多人群聊即时通信的数据加密方法

文档序号:9846700阅读:603来源:国知局
一种适用于多人群聊即时通信的数据加密方法
【技术领域】
[0001]本发明涉及信息安全技术领域,具体涉及一种适用于多人群聊即时通信的数据加密方法。
【背景技术】
[0002]当前互联网、移动互联网已得到很好的普及,基于这些通信网络的各项应用正蓬勃发展,其中即时通信类应用的发展尤其迅速,一些优秀的即时通信产品正受到用户的普遍欢迎。
[0003]在即时通信应用中,多人同时进行即时交流属于一种常见的使用需求。在具体的应用中,往往采用将需要同时进行交流的用户划分为一个群、各成员在群内自由交流的方法,因此多人同时进行即时交流也称为群聊。
[0004]出于对用户通信数据隐私性等方面的考虑,即时通信应用一般对用户的通信数据采取了加密处理措施。对于一对一类型的即时通信数据,加密处理方法较为容易,比较常见的为数字信封方式。信息发送方随机产生本次数据的加密密钥,用该密钥对发送数据进行加密,同时用接收方的公钥对密钥进行保护。将加密后的通信数据、加密密钥一并发送至接收方。接收方利用自身私钥获得加密密钥明文,用该密钥即可解密获得通信数据。
[0005]在群聊环境下,若采用上述的方式进行加密处理,则需用当前群中所有成员的公钥对加密密钥进行分别保护。随着群成员的增加,保护所需的运算时间将越来越长,同时产生的密钥密文数据也将越来越大,造成冗余数据比例不断上升。在极端情况下,可能造成密文数据量远远高于用户发送的有效数据量,不能达到快捷的即时通信效果。

【发明内容】

[0006]为解决上述问题,本发明提供了一种适用于多人群聊即时通信的数据加密方法,包括群聊保护密钥产生流程及群聊数据发送接收流程。
[0007]群聊保护密钥产生流程包括如下步骤:
步骤一:发生服务端更新群聊通信数据加密密钥保护密钥触发事件。
[0008]步骤二:服务端产生随机数,作为新的群聊通信数据加密密钥保护密钥KEK。
[0009]步骤三:选定群成员中的某位作为第一客户端,服务端用其公钥PKA对KEK进行加密处理,形成对应第一客户端的密文Epk(KEK)。
[0010]步骤四:服务端将密文Epk(KEK)发送至第一客户端。
[0011 ] 步骤五:第一客户端用自己的私钥SKA解密Epk(KEK),获得加密密钥保护密钥KEK。
[0012]步骤六:服务端对当前群所有其他成员客户端分别执行上述步骤三至五,使得每个成员客户端都获得加密密钥保护密钥KEK。
[0013]群聊数据发送接收流程包括如下步骤:
步骤一:某一客户端输入群聊交流内容Data,准备发送给群成员。
[0014]步骤二:步骤一中的客户端产生随机数Rl,作为加密密钥对Data进行加密运算,形成Eri(Data)。
[0015]步骤三:步骤一中的客户端用加密密钥保护密钥KEK对Rl进行加密运算,形成Ekek(Rl)0
[0016]步骤四:步骤一中的客户端将Ekek(RI)及ER1(Data)发送至服务端。
[0017]步骤五:服务端根据当前群成员组成,将所收到的Ekek(RI)及ER1(Data)转发至群内所有成员。
[0018]步骤六:各个群成员利用加密密钥保护密钥KEK对EKEK(R1)进行解密运算,获得Rl。
[0019]步骤七:各个群成员用Rl作为解密密钥对ER1(Data)进行解密运算,获得明文Data数据。
[0020]进一步的,服务端更新群聊通信数据加密密钥保护密钥触发事件为:周期性密钥更新触发。
[0021]进一步的,服务端更新群聊通信数据加密密钥保护密钥触发事件为:某一客户端需要变动群成员,向服务端发起申请。更优选的,步骤三中,选定需要变动群成员的客户端作为第一客户端。
【附图说明】
[0022]图1为群聊保护密钥产生流程示意图。
[0023]图2是群聊数据发送接收流程示意图。
【具体实施方式】
[0024]本发明针对多人即时通信的使用特点进行分析,提出一种新的群聊数据加密方法,解决由于群聊成员较多所导致的通信数据加密时间长、加密冗余数据过多等问题。
[0025]本发明的设计构思为:根据群聊使用过程中的具体特点,在群的创建、增加/减少成员等群成员发生变动的时刻增加加密相关的群加密密钥协商更换处理过程,将群聊的应用事件与加密处理深度融合,在群成员变动时即时更换群加密保护密钥并分发至当前所有群成员,所有的群通信数据均用当前有效的群保护密钥进行保护,可有效解决群聊通信数据数据加密耗时长、冗余数据多的问题。
[0026]本发明包括群聊保护密钥产生流程及群聊数据发送接收流程。
[0027]群聊保护密钥产生流程包括如下步骤:
步骤一:发生服务端随机数更新触发事件。
[0028]步骤二:服务端产生随机数,作为新的群聊通信数据加密密钥保护密钥KEK。
[0029]步骤三:选定群成员中的某位作为第一客户端,服务端用其公钥PKA对KEK进行加密处理,形成对应第一客户端的密文Epk(KEK)。
[0030]步骤四:服务端将密文Epk(KEK)发送至第一客户端。
[0031 ] 步骤五:第一客户端用自己的私钥SKA解密Epk(KEK),获得加密密钥保护密钥KEK。
[0032]步骤六:服务端对当前群所有其他成员客户端分别执行上述步骤三至五,使得每个成员客户端都获得加密密钥保护密钥KEK。
[0033]服务端更新随机数触发事件为:周期性密钥更新触发或者某一客户端需要变动群成员,向服务端发起申请。优选的,可将发起成员变动申请的客户端作为第一客户端。图1展示了成员变动触发时的流程,IM客户端A即为发起变动申请的客户端,IM客户端B代表了下一个获得加密密钥保护密钥KEK的客户端。
[0034]群聊数据发送接收流程包括如下步骤:
步骤一:某一客户端输入群聊交流内容Data,准备发送给群成员。
[0035]步骤二:步骤一中的客户端产生随机数Rl,作为加密密钥对Data进行加密运算,形成Eri(Data)。
[0036]步骤三:步骤一中的客户端用加密密钥保护密钥KEK对Rl进行加密运算,形成Ekek(Rl)0
[0037]步骤四:步
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1