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

技术编号:20993444 阅读:24 留言:0更新日期:2019-04-30 18:31
本发明专利技术公开了一种适用于多人群聊即时通信的数据加密方法,该方法根据群聊使用过程中的具体特点,在群的创建、增加/减少成员等群成员发生变动的时刻增加加密相关的群加密密钥协商更换处理过程,将群聊的应用事件与加密处理深度融合,在群成员变动时即时更换群加密保护密钥并分发至当前所有群成员,所有的群通信数据均用当前有效的群保护密钥进行保护,可有效解决群聊通信数据数据加密耗时长、冗余数据多的问题。

【技术实现步骤摘要】
一种适用于多人群聊即时通信的数据加密方法
本专利技术涉及信息安全
,具体涉及一种适用于多人群聊即时通信的数据加密方法。
技术介绍
当前互联网、移动互联网已得到很好的普及,基于这些通信网络的各项应用正蓬勃发展,其中即时通信类应用的发展尤其迅速,一些优秀的即时通信产品正受到用户的普遍欢迎。在即时通信应用中,多人同时进行即时交流属于一种常见的使用需求。在具体的应用中,往往采用将需要同时进行交流的用户划分为一个群、各成员在群内自由交流的方法,因此多人同时进行即时交流也称为群聊。出于对用户通信数据隐私性等方面的考虑,即时通信应用一般对用户的通信数据采取了加密处理措施。对于一对一类型的即时通信数据,加密处理方法较为容易,比较常见的为数字信封方式。信息发送方随机产生本次数据的加密密钥,用该密钥对发送数据进行加密,同时用接收方的公钥对密钥进行保护。将加密后的通信数据、加密密钥一并发送至接收方。接收方利用自身私钥获得加密密钥明文,用该密钥即可解密获得通信数据。在群聊环境下,若采用上述的方式进行加密处理,则需用当前群中所有成员的公钥对加密密钥进行分别保护。随着群成员的增加,保护所需的运算时间将越来越长,同时产生的密钥密文数据也将越来越大,造成冗余数据比例不断上升。在极端情况下,可能造成密文数据量远远高于用户发送的有效数据量,不能达到快捷的即时通信效果。
技术实现思路
为解决上述问题,本专利技术提供了一种适用于多人群聊即时通信的数据加密方法,包括群聊保护密钥产生流程及群聊数据发送接收流程。群聊保护密钥产生流程包括如下步骤:步骤一:发生服务端更新群聊通信数据加密密钥保护密钥触发事件。步骤二:服务端产生随机数,作为新的群聊通信数据加密密钥保护密钥KEK。步骤三:选定群成员中的某位作为第一客户端,服务端用其公钥PKA对KEK进行加密处理,形成对应第一客户端的密文EPK(KEK)。步骤四:服务端将密文EPK(KEK)发送至第一客户端。步骤五:第一客户端用自己的私钥SKA解密EPK(KEK),获得加密密钥保护密钥KEK。步骤六:服务端对当前群所有其他成员客户端分别执行上述步骤三至五,使得每个成员客户端都获得加密密钥保护密钥KEK。群聊数据发送接收流程包括如下步骤:步骤一:某一客户端输入群聊交流内容Data,准备发送给群成员。步骤二:步骤一中的客户端产生随机数R1,作为加密密钥对Data进行加密运算,形成ER1(Data)。步骤三:步骤一中的客户端用加密密钥保护密钥KEK对R1进行加密运算,形成EKEK(R1)。步骤四:步骤一中的客户端将EKEK(R1)及ER1(Data)发送至服务端。步骤五:服务端根据当前群成员组成,将所收到的EKEK(R1)及ER1(Data)转发至群内所有成员。步骤六:各个群成员利用加密密钥保护密钥KEK对EKEK(R1)进行解密运算,获得R1。步骤七:各个群成员用R1作为解密密钥对ER1(Data)进行解密运算,获得明文Data数据。进一步的,服务端更新群聊通信数据加密密钥保护密钥触发事件为:周期性密钥更新触发。进一步的,服务端更新群聊通信数据加密密钥保护密钥触发事件为:某一客户端需要变动群成员,向服务端发起申请。更优选的,步骤三中,选定需要变动群成员的客户端作为第一客户端。附图说明图1为群聊保护密钥产生流程示意图。图2是群聊数据发送接收流程示意图。具体实施方式本专利技术针对多人即时通信的使用特点进行分析,提出一种新的群聊数据加密方法,解决由于群聊成员较多所导致的通信数据加密时间长、加密冗余数据过多等问题。本专利技术的设计构思为:根据群聊使用过程中的具体特点,在群的创建、增加/减少成员等群成员发生变动的时刻增加加密相关的群加密密钥协商更换处理过程,将群聊的应用事件与加密处理深度融合,在群成员变动时即时更换群加密保护密钥并分发至当前所有群成员,所有的群通信数据均用当前有效的群保护密钥进行保护,可有效解决群聊通信数据数据加密耗时长、冗余数据多的问题。本专利技术包括群聊保护密钥产生流程及群聊数据发送接收流程。群聊保护密钥产生流程包括如下步骤:步骤一:发生服务端随机数更新触发事件。步骤二:服务端产生随机数,作为新的群聊通信数据加密密钥保护密钥KEK。步骤三:选定群成员中的某位作为第一客户端,服务端用其公钥PKA对KEK进行加密处理,形成对应第一客户端的密文EPK(KEK)。步骤四:服务端将密文EPK(KEK)发送至第一客户端。步骤五:第一客户端用自己的私钥SKA解密EPK(KEK),获得加密密钥保护密钥KEK。步骤六:服务端对当前群所有其他成员客户端分别执行上述步骤三至五,使得每个成员客户端都获得加密密钥保护密钥KEK。服务端更新随机数触发事件为:周期性密钥更新触发或者某一客户端需要变动群成员,向服务端发起申请。优选的,可将发起成员变动申请的客户端作为第一客户端。图1展示了成员变动触发时的流程,IM客户端A即为发起变动申请的客户端,IM客户端B代表了下一个获得加密密钥保护密钥KEK的客户端。群聊数据发送接收流程包括如下步骤:步骤一:某一客户端输入群聊交流内容Data,准备发送给群成员。步骤二:步骤一中的客户端产生随机数R1,作为加密密钥对Data进行加密运算,形成ER1(Data)。步骤三:步骤一中的客户端用加密密钥保护密钥KEK对R1进行加密运算,形成EKEK(R1)。步骤四:步骤一中的客户端将EKEK(R1)及ER1(Data)发送至服务端。步骤五:服务端根据当前群成员组成,将所收到的EKEK(R1)及ER1(Data)转发至群内所有成员。步骤六:各个群成员利用加密密钥保护密钥KEK对EKEK(R1)进行解密运算,获得R1。步骤七:各个群成员用R1作为解密密钥对ER1(Data)进行解密运算,获得明文Data数据。图2展示了群聊数据发送接收流程,IM客户端A即为步骤一中的客户端,IM客户端B代表了其它某个成员客户端。本专利技术具有如下特点:(1)适用于大部分的即时通信应用本专利技术所设定的群聊成员变动情况符合大部分即时通信应用的设计,大部分应用的群聊均存在创建群、增加/减少群成员的情况,完全符合本专利技术的设定。即使可能某些即时通信应用在群聊的一些具体流程设计上与创建、增加/减少群成员的使用模式存在差异,但群的成员变动事件是不可避免存在的。只要存在成员变动的情况,本专利技术即可适用于该即时通信应用。(2)通信数据加密运算量较低采用数字信封方式进行群聊通信数据加密处理时,每次发送数据均需用所有群成员的公钥对加密密钥进行保护,数据加密运算量较大。由于群聊中消息的发送量极大,每条发送的消息均如此处理,群成员越多,则运算量将呈几何级数上升。本专利技术的数据加密方法在对群聊通信消息进行加密处理时与群成员的数量多少无关,同样的通信数据,在群仅有2个人与群有2万人相比,在群聊中涉及最多的通信数据加密处理方面的运算量基本一致,可有效满足组织较多人员进行协同办公交流等大型群聊情况下的通信数据高效加密传输需求。(3)适用于移动通信设备进行多人即时通信本专利技术提出的保护密钥协商过程中需用所有群成员的公钥对保护密钥进行加密处理,涉及的运算量较大。专利技术中将此部分运算交由服务端来完成,可借助服务端丰富的计算资源快速完成运算,各客户端仅需承担较小的保护密钥协商运算。本本文档来自技高网...

【技术保护点】
1.一种适用于多人群聊即时通信的数据加密方法,其特征在于,包括群聊保护密钥产生流程及群聊数据发送接收流程,其中,群聊保护密钥产生流程包括如下步骤:步骤一:发生服务端更新群聊通信数据加密密钥保护密钥触发事件;步骤二:服务端产生随机数,作为新的群聊通信数据加密密钥保护密钥KEK;步骤三:选定群成员中的某位作为第一客户端,服务端用其公钥PKA对KEK进行加密处理,形成对应第一客户端的密文EPK(KEK);步骤四:服务端将密文EPK(KEK)发送至第一客户端;步骤五:第一客户端用自己的私钥SKA解密EPK (KEK),获得加密密钥保护密钥KEK;步骤六:服务端对当前群所有其他成员客户端分别执行上述步骤三至五,使得每个成员客户端都获得加密密钥保护密钥KEK;群聊数据发送接收流程包括如下步骤:步骤一:某一客户端输入群聊交流内容Data,准备发送给群成员;步骤二:步骤一中的客户端产生随机数R1,作为加密密钥对Data进行加密运算,形成ER1(Data);步骤三:步骤一中的客户端用加密密钥保护密钥KEK对R1进行加密运算,形成EKEK(R1);步骤四:步骤一中的客户端将EKEK(R1)及ER1(Data)发送至服务端;步骤五:服务端根据当前群成员组成,将所收到的EKEK(R1)及ER1(Data)转发至群内所有成员;步骤六:各个群成员利用加密密钥保护密钥KEK对EKEK(R1)进行解密运算,获得R1;步骤七:各个群成员用R1作为解密密钥对ER1(Data)进行解密运算,获得明文Data数据。...

【技术特征摘要】
1.一种适用于多人群聊即时通信的数据加密方法,其特征在于,包括群聊保护密钥产生流程及群聊数据发送接收流程,其中,群聊保护密钥产生流程包括如下步骤:步骤一:发生服务端更新群聊通信数据加密密钥保护密钥触发事件;步骤二:服务端产生随机数,作为新的群聊通信数据加密密钥保护密钥KEK;步骤三:选定群成员中的某位作为第一客户端,服务端用其公钥PKA对KEK进行加密处理,形成对应第一客户端的密文EPK(KEK);步骤四:服务端将密文EPK(KEK)发送至第一客户端;步骤五:第一客户端用自己的私钥SKA解密EPK(KEK),获得加密密钥保护密钥KEK;步骤六:服务端对当前群所有其他成员客户端分别执行上述步骤三至五,使得每个成员客户端都获得加密密钥保护密钥KEK;群聊数据发送接收流程包括如下步骤:步骤一:某一客户端输入群聊交流内容Data,准备发送给群成员;步骤二:步骤一中的客户端产生随机数R1,作为加密密钥对Data进行加密运算,形成ER1(Data);步骤三:步骤...

【专利技术属性】
技术研发人员:蔡罗成
申请(专利权)人:成都三零瑞通移动通信有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1