即时通信过程中的数据加密方法与流程

文档序号:11590285阅读:899来源:国知局

本发明涉及安全通信,特别涉及一种即时通信过程中的数据加密方法。



背景技术:

移动终端设备己经普遍进入了人们的工作与生活,丰富多样的应用给人们的工作与生活带来前所未有的便利。随着移动终端技术和宽带无线接入技术的发展,上网速度在不断提升,使得人们的上网体验更好。用户通过移动终端访问云端进行数据交互,提交信息给云端,并获取从云端返回的相关信息。移动终端上安装的应用程序种类很多,很多业务应用涉及到移动终端的登录账号、密码、财务往来等即时通信数据。由于无线网络的开放性特点,使得移动终端与云端之间数据传输的安全面临更多的挑战,用户即时通信数据的传输需要经过相关的处理,否则信息被截取与篡改会给数据安全传输构成较大威胁。现有的基于移动终端的数据安全处理方式没有考虑移动终端的处理能力和有限电量,增加了过多的加密处理,给移动终端设备用户带来不好的使用体验,整体性能和效率降低。



技术实现要素:

为解决上述现有技术所存在的问题,本发明提出了一种即时通信过程中的数据加密方法,包括:

在移动终端与云端之间进行即时通信时,对数据进行加密和解密;

通过预定义加密算法,将上述对数据进行加密和解密中所使用共有私钥的加密传输和签名。

优选地,所述移动终端负责生成idea加密所使用的共有私钥,并进行相关加密与签名处理,最后将加密后的密文数据和签名数据发送给云端;在移动终端使用椭圆曲线集成加密算法,借助于云端公钥将共有私钥进行加密处理,然后对共有私钥密文进行签名处理,将共有私钥密文和签名数据一同发送给云端;云端接收到共有私钥密文和签名数据之后,使用该移动终端的公钥进行签名验证,如果签名验证通过,则将共有私钥密文使用云端私钥进行解密得到共有私钥明文,将私钥明文进行加密处理,将加密后共有私钥的密文保存到结构化数据库的云端密钥数据表中。

优选地,使用摘要算法对用户的即时消息进行加密形成密文,然后再使用摘要算法对密文产生摘要信息,然后使用自身的私钥对摘要信息加密;移动终端使用存储在分布式数据库密钥表中的私钥对摘要信息进行加密处理,形成签名数据,然后将签名数据和用户即时消息的密文数据一同传送给云端;云端接收到移动终端传输的用户即时通信数据之后进行相关的签名验证和解密处理;如果签名验证成功,则进行解密处理,得到移动终端传输的用户注册明文数据;从中解析出密文数据和签名数据,密文数据是移动终端使用idea加密算法借助于共有私钥加密得到的,签名数据是移动终端经过生成摘要与使用私钥加密处理之后得到的;对于解析得到的密文数据,使用与移动终端相同的摘要算法生成新的摘要信息;

根据云端持有移动终端的公钥,解析出该移动终端的设备硬件标识,根据设备标识在结构化数据库中査询对应的公钥,然后对加密的公钥实施解密操作,该公钥是和设备标识设备硬件标识对应的移动终端私钥相对应的,

从云端接收到的数据中解析出移动终端发送过来的签名数据,该签名数据是经过摘要算法处理,并使用椭圆曲线加密算法借助移动终端私钥加密生成的;该签名数据只有使用和移动终端私钥对应的公钥才能够解密;

云端提取出签名数据,并使用数据库所存储终端公钥解密,得到在该移动终端使用摘要算法生成的原始摘要信息;云端解析出密文数据,对该密文数据使用与移动终端相同的摘要算法生成新的摘要信息;将解密得到的原始摘要信息和新生成的摘要信息进行比较,如果完全相同,则签名验证成功;签名验证成功之后,对云端接收到的密文进行解密,得到真正的明文数据;云端使用idea加密算法,借助于与该移动终端的共有私钥,将密文数据进行解密处理。

本发明相比现有技术,具有以下优点:

本发明提出了一种即时通信过程中的数据加密方法,在保证移动终端数据安全传输的前提下,尽可能减少加密等相关处理的计算量,提高移动应用的整体性能和效率。

附图说明

图1是根据本发明实施例的即时通信过程中的数据加密方法的流程图。

具体实施方式

下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。

本发明的一方面提供了一种即时通信过程中的数据加密方法。图1是根据本发明实施例的即时通信过程中的数据加密方法流程图。

本发明保证移动终端和云端数据数据通信的安全性,使用idea加密对移动终端与云端之间交互的即时通信数据进行加密和解密处理,然后使用elgamal加密算法来实现idea加密算法所使用共有私钥的加密传输,并对加密后的共有私钥密文进行签名处理。

移动终端在关系数据库设置密钥表,用于存储移动终端的公钥、私钥以及密钥生成时间。移动应用首次运行后,首先查询在密钥表中是否存在公私钥数据信息。如果不存在,立即生成移动终端的公钥和私钥,经过加密处理后保存到数据库中的密钥表中。同时,还需要保存公钥和私钥的生成时间、以及公钥是否己经成功提交给云端的状态信息。密钥信息保存成功之后,开启子进程,用于提交终端公钥至云端。

云端使用结构化数据库,并建立一个云端密钥数据表用于存储云端生成的公钥、私钥和其他相关信息。存储在云端密钥数据表中的公钥和私钥信息需要经过加密处理,并设置该表的访问和更改权限,云端密钥数据表表中还存储公钥和私钥第一次生成并保存到数据库表中的时间。如果终端需要重新生成云端的公钥和私钥,更新表中的公钥和私钥数据,并将更新字段的时间更改为保存新密钥时的系统时间。

公钥的发布包括两个方面:云端公钥发布、客户端公钥发布。在elgamal加密阶段中,产生一对公钥与私钥,私钥由自己保管,公钥可以对外公开。数据的发送方可以使用数据接收方的公钥对数据进行加密,将密文发送给接收方;接收方接收到密文数据后,使用自己的私钥对密文数据进行解密,得到真实的数据。数据发送方首先使用摘要算法将要传送的大量原始信息生成较短的摘要信息,发送方使用自己的私钥对摘要信息加密生成签名数据,将原始信息和签名数据一同发送给接收方。接收方在接收到数据后,对签名数据使用发送方的公钥解密得到摘要信息,使用相同的摘要算法将接收到的原始数据生成新的摘要信息。将解密得到的摘要信息与新的摘要信息对比,如果完全相同,则签名验证成功。在签名前首先需要将数据收发双方的公钥发布给对方。位于云端的结构化数据库在存储该移动应用的终端公钥时,根据设备硬件标识来区分不同的移动终端,用户重新生成公私钥时,并向云端提交生成的公钥数据信息。这样,云端在接收到公钥之后,找到相应设备硬件标识的记录若己经存在,则更新表中该移动终端的公钥,更改密钥数据并将更新时间字段的值更改为当前时间。

终端公钥的发布,是在密钥对生成完成并成功保存到对应的分布式数据库中之后,通过调用子进程实现的。在子进程中,使用云端的公钥将移动终端生成的公钥进行加密处理得到公钥密文,将公钥的明文数据使用摘要算法生成摘要信息,对生成的摘要信息使用云端的公钥进行加密处理得到摘要密文。将公钥密文数据与摘要密文数据拼接成字符串,将公钥密文和摘要密文一同发送给云端。

云端接收到数据后,分离出摘要密文与公钥密文,使用云端的私钥将公钥密文数据进行解密得到终端公钥明文,然后使用相同的摘要算法对公钥明文数据生成新的摘要信息。使用云端的公钥将分离出来的摘要密文解密为摘要明文。将新生成的摘要信息与解密得到的摘要明文信息进行比较,如果两个摘要信息相等,则说明数据在移动终端与云端之间传输过程中,没有发生数据的篡改,数据是完整的和一致的,则将此保存移动终端的公钥。如果两个摘要信息不相同,则返回相关信息给该移动终端,请求重新给云端传输公钥信息。

云端的公钥和私钥生成之后,公钥需要发布给移动终端,私钥由云端自己保存。每个移动终端就持有了一个云端的公钥。在移动终端与云端的数据交互协议中,设置相应的标识符,来表示云端公钥是否己经发生更改,进而决定是否让移动终端获取并应用新的云端公钥。

对于移动终端与云端传输的即时通信数据使用idea加密算法,提高应用系统的整体效率和性能。移动终端负责生成idea加密所使用的共有私钥,并进行相关加密与签名处理,最后将加密后的密文数据和签名数据发送给云端。

为了保证共有私钥能够安全地传输给云端,在移动终端使用椭圆曲线集成加密算法,借助于云端公钥将共有私钥进行加密处理,然后对共有私钥密文进行签名处理,将共有私钥密文和签名数据一同发送给云端。

云端接收到共有私钥密文和签名数据之后,使用该移动终端的公钥进行签名验证,如果签名验证通过,则将共有私钥密文使用云端私钥进行解密得到共有私钥明文,将共有私钥明文进行加密处理,将加密后共有私钥的密文保存到结构化数据库的云端密钥数据表中。

移动终端与云端之间交互的数据分为即时通信数据和普通数据两种。对于普通数据,可以使用明文直接传输。对于即时通信数据,需要使用加密算法进行处理。使用摘要算法对用户的即时消息进行加密形成密文,然后再使用摘要算法对密文产生摘要信息。然后使用自身的私钥对摘要信息加密;移动终端使用存储在分布式数据库密钥表中的私钥对摘要信息进行加密处理,形成签名数据。然后将签名数据和用户即时消息的密文数据一同传送给云端。

云端接收到移动终端传输的用户即时通信数据之后进行相关的签名验证和解密处理。如果签名验证成功,则进行解密处理,得到移动终端传输的用户注册明文数据。从中解析出密文数据和签名数据。其中,密文数据是移动终端使用idea加密算法借助于共有私钥加密得到的,签名数据是移动终端经过生成摘要与使用私钥加密处理之后得到的。对于解析得到的密文数据,使用与移动终端相同的摘要算法生成新的摘要信息。

根据云端持有移动终端的公钥,解析出该移动终端的设备硬件标识,根据设备标识在结构化数据库中査询对应的公钥。然后对加密的公钥实施解密操作,该公钥是和设备标识设备硬件标识对应的移动终端私钥相对应的。

从云端接收到的数据中解析出移动终端发送过来的签名数据,该签名数据是经过摘要算法处理,并使用椭圆曲线加密算法借助移动终端私钥加密生成的。该签名数据只有使用和移动终端私钥对应的公钥才能够解密。

云端提取出签名数据,并使用数据库所存储终端公钥解密,得到在该移动终端使用摘要算法生成的原始摘要信息。云端解析出密文数据,对该密文数据使用与移动终端相同的摘要算法生成新的摘要信息。将解密得到的原始摘要信息和新生成的摘要信息进行比较,如果完全相同,则说明移动终端发送给云端的数据在传输过程中没有被修改,保证了数据的完整性和一致性,签名验证成功。

签名验证成功之后,对云端接收到的密文进行解密,得到真正的明文数据。云端使用idea加密算法,借助于与该移动终端的共有私钥,将密文数据进行解密处理。

综上所述,本发明提出了一种即时通信过程中的数据加密方法,在保证移动终端数据安全传输的前提下,尽可能减少加密等相关处理的计算量,提高移动应用的整体性能和效率。。

显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1