本发明专利技术提供了一种安全的即时通信方法,该方法包括:当通信双方的会话建立时,交换一次性密钥作为用户的身份认证,用于在即时消息通信过程中作为消息的签名;当通信结束后,对已使用的一次性密钥进行删除。本发明专利技术提出了一种安全的即时通信方法,在保证移动终端数据安全传输的前提下,尽可能减少加密等相关处理的计算量,提高移动应用的整体性能和效率。
【技术实现步骤摘要】
一种安全的即时通信方法
本专利技术涉及数据加密,特别涉及一种安全的即时通信方法。
技术介绍
移动终端设备己经普遍进入了人们的工作与生活,丰富多样的应用给人们的工作与生活带来前所未有的便利。随着移动终端技术和宽带无线接入技术的发展,上网速度在不断提升,使得人们的上网体验更好。用户通过移动终端访问云端进行数据交互,提交信息给云端,并获取从云端返回的相关信息。移动终端上安装的应用程序种类很多,很多业务应用涉及到移动终端的登录账号、密码、财务往来等即时通信数据。由于无线网络的开放性特点,使得移动终端与云端之间数据传输的安全面临更多的挑战,用户即时通信数据的传输需要经过相关的处理,否则信息被截取与篡改会给数据安全传输构成较大威胁。现有的基于移动终端的数据安全处理方式没有考虑移动终端的处理能力和有限电量,增加了过多的加密处理,给移动终端设备用户带来不好的使用体验,整体性能和效率降低。
技术实现思路
为解决上述现有技术所存在的问题,本专利技术提出了一种安全的即时通信方法,包括:建立通信双方的会话,交换一次性密钥作为用户的身份认证,用于在即时消息通信过程中作为消息的签名;当通信结束后,对已使用的一次性密钥进行删除。优选地,用户通过聊天界面输入消息或者进行会话控制时,聊天界面将文本消息或者协议消息传递给即时通信系统的会话管理模块进行处理;会话管理模块处理完成后,将经过加密的消息传递给即时消息系统发送给对端,并在聊天界面输出,如果是已经过封装,则判断消息类型;如果收到的是协议消息,通过协议管理模块进行会话的认证和双向身份认证;如果收到的是文本消息,则对消息进行解密和签名认证;确认无误后,将解密并解封装的消息,传递给聊天界面输出;对于来自聊天界面的明文消息,首先判断是否已建立安全会话,如果尚未建立,则将消息直接传递给即时消息传输层;如果已经建立,则通过消息处理模块使用消息加密协议对消息进行加密、签名和封装,然后传递给即时消息传输层;所述协议消息,包括用于通信双方的身份认证、会话的建立和消除的消息。优选地,在身份认证过程中,引入会话密钥参与认证;设公钥为Kp,私钥为Ks,当前会话的会话密钥为K;签名函数sgnty(x)表示使用密钥y对数值x进行签名,其反签名的过程表示为sgnt-1z(x),则计算认证签名过程为:C=sgntKs(md5(Kp|md5(K)))然后将认证签名C和公钥Kp一同发送给接收端;接收端收到后,验证是否满足:md5(Kp|md5(K)=sgnt-lKp(C)如果相等,记录对端的公钥;如果不相等,则认为受到了安全攻击,终止会话。优选地,在签名机制中加入时间t;首先使用哈希函数对时间t以及即时消息明文M一起计算摘要,得到的摘要d;使用私钥Ks对d进行签名,得到签名d’;然后将签名d’、明文M以及发送时间t一起,用会话密钥K进行加密,得到加密的数据M’;发送时将EKs(M)发送给接收端,其中EKs表示以私钥Ks为参数的加密算法;接收端在收到消息后,使用EKs的参数计算会话密钥,并将加密的消息解密,得到明文消息M、签名d’以及发送时间t;然后,使用发送端相同的哈希函数对时间t以及即时消息明文M一起计算摘要,再对签名进行验证;如果验证无误,则输出即时消息明文M。本专利技术相比现有技术,具有以下优点:本专利技术提出了一种安全的即时通信方法,在保证移动终端数据安全传输的前提下,尽可能减少加密等相关处理的计算量,提高移动应用的整体性能和效率。附图说明图1是根据本专利技术实施例的安全的即时通信方法的流程图。具体实施方式下文与图示本专利技术原理的附图一起提供对本专利技术一个或者多个实施例的详细描述。结合这样的实施例描述本专利技术,但是本专利技术不限于任何实施例。本专利技术的范围仅由权利要求书限定,并且本专利技术涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本专利技术的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本专利技术。本专利技术的一方面提供了一种安全的即时通信方法。图1是根据本专利技术实施例的安全的即时通信方法流程图。为在应用层为即时通信的双方提供端到端的安全性,本专利技术将通信消息分为两类,一类是协议消息,负责通信双方的身份认证、会话的建立和消除。另一类是普通消息,是已经经过加密和签名的文本消息。用户通过聊天界面输入消息或者进行会话控制时,聊天界面将文本消息或者协议消息传递给即时通信系统的会话管理模块进行处理。会话管理模块处理完成后,将经过加密的消息传递给即时消息系统发送给对端,并在聊天界面输出,如果是已经过封装,则判断消息类型,如果收到的是协议消息,通过协议管理模块,进行会话的认证和双向身份认证。如果收到的是文本消息,则对消息进行解密和签名认证。确认无误后,将解密并解封装的消息,传递给聊天界面输出。对于来自聊天界面的明文消息,首先判断是否已建立安全会话,如果尚未建立,则将消息直接传递给即时消息传输层;如果已经建立,则通过消息处理模块使用消息加密协议对消息进行加密、签名和封装,然后传递给即时消息传输层。消息处理模块对消息进行封装和解封装,其中包括会话密钥的生成、数据签名和数据加密。本专利技术给出了一种可以向通信双方提供临时签名认证的机制。当通信双方的会话建立时,双方交换一组一次性密钥作为用户的身份认证,用于在即时消息通信过程中做消息的签名;当通信结束后,双方对已使用的一次性密钥进行删除。这样,即使通信的一方将这一段经过签名的消息公开给第三方,第三方也无法确认该消息的签名是否属于通信的另一方。在认证签名的计算过程中,引入了会话密钥参与认证。设公钥为Kp,私钥为Ks,当前会话的会话密钥为K。签名函数sgnty(x)表示使用密钥y对数值x进行签名。其反签名的过程表示为sgnt-1z(x)。则计算认证签名过程为:C=sgntKs(md5(Kp|md5(K)))然后将认证签名C和公钥Kp一同发送给接收端。接收端收到后,验证是否满足md5(Kp|md5(K)=sgnt-lKp(C)如果相等,记录对端的公钥;如果不相等,则认为受到了安全攻击,终止会话。进一步地,本专利技术在签名机制中,加入了时间t。首先使用哈希函数对时间t以及即时消息明文M一起计算摘要,得到的摘要d。接着使用的私钥Ks对d进行签名,得到签名d’。然后将签名d’、明文M以及发送时间t一起,用会话密钥K进行加密,得到加密的数据M’。发送时,将EKs(M)发送给接收端,其中EKs表示以私钥Ks为参数的加密算法。接收端在收到消息后,使用EKs的参数计算会话密钥,并将加密的消息解密,得到明文消息M、签名d’以及发送时间t。然后,使用发送端相同的哈希函数对时间t以及即时消息明文M一起计算摘要,再对签名进行验证。如果验证无误,则输出即时消息明文M。根据本专利技术另一方面,当即时通信涉及群体中的多个终端时,采用以下方法提高消息传输的安全性,包括消息加密过程和消息解密两个过程。其中消息加密包括:接收到即时消息后,根据即时消息中的群组用户标识分别在认证中心中获取对应的密钥信息;使用生成的会话密钥对与即时消息中的消息标识对应的消息进行加密,生成消息密文;分别使用密钥信息中的第一密钥对会话密钥进行加密,生成相应的会话密文;密钥信息包括第二密钥和第一密钥;认证中心使用与群组用户本文档来自技高网...
【技术保护点】
一种安全的即时通信方法,其特征在于,包括:建立通信双方的会话,交换一次性密钥作为用户的身份认证,用于在即时消息通信过程中作为消息的签名;当通信结束后,对已使用的一次性密钥进行删除。
【技术特征摘要】
1.一种安全的即时通信方法,其特征在于,包括:建立通信双方的会话,交换一次性密钥作为用户的身份认证,用于在即时消息通信过程中作为消息的签名;当通信结束后,对已使用的一次性密钥进行删除。2.根据权利要求1所述的方法,其特征在于,还包括:用户通过聊天界面输入消息或者进行会话控制时,聊天界面将文本消息或者协议消息传递给即时通信系统的会话管理模块进行处理;会话管理模块处理完成后,将经过加密的消息传递给即时消息系统发送给对端,并在聊天界面输出,如果是已经过封装,则判断消息类型;如果收到的是协议消息,通过协议管理模块进行会话的认证和双向身份认证;如果收到的是文本消息,则对消息进行解密和签名认证;确认无误后,将解密并解封装的消息,传递给聊天界面输出;对于来自聊天界面的明文消息,首先判断是否已建立安全会话,如果尚未建立,则将消息直接传递给即时消息传输层;如果已经建立,则通过消息处理模块使用消息加密协议对消息进行加密、签名和封装,然后传递给即时消息传输层;所述协议消息,包括用于通信双方的身份认证、会话的建立和消除的消息。3.根据权利要求2所述的方法,其特征在于,在身份认证过程中,引入会话密钥...
【专利技术属性】
技术研发人员:张俤,
申请(专利权)人:成都轻车快马网络科技有限公司,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。