CN1859081B - 一种即时消息加密传输方法和系统 - Google Patents

一种即时消息加密传输方法和系统 Download PDF

Info

Publication number
CN1859081B
CN1859081B CN2006100083368A CN200610008336A CN1859081B CN 1859081 B CN1859081 B CN 1859081B CN 2006100083368 A CN2006100083368 A CN 2006100083368A CN 200610008336 A CN200610008336 A CN 200610008336A CN 1859081 B CN1859081 B CN 1859081B
Authority
CN
China
Prior art keywords
message
client
server
encryption
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2006100083368A
Other languages
English (en)
Other versions
CN1859081A (zh
Inventor
谢红波
孙志斌
周波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2006100083368A priority Critical patent/CN1859081B/zh
Publication of CN1859081A publication Critical patent/CN1859081A/zh
Application granted granted Critical
Publication of CN1859081B publication Critical patent/CN1859081B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

一种即时消息加密传输方法和系统,其方法包括:发送方客户端向服务器发送即时消息;服务器收到消息后,解析即时消息,判断即时消息是否为加密即时消息,并根据判断的结果通过发送方密钥利用加解密算法进行加解密处理;判断接收方客户端是否支持即时消息加密,根据判断的结果通过接收方密钥利用加解密算法进行加解密处理,并将处理后的即时消息下发给接收方客户端;接收方客户端接收到即时消息并进行处理后显示给用户。本发明还提供了一种即时消息加密传输系统。其保证了用户聊天时的信息私密性,提高即时消息系统的安全性和可用性。

Description

一种即时消息加密传输方法和系统
技术领域
本发明涉及在移动通信网络和互联网络上基于客户端/服务器模型(C/S)的即时消息(IM)系统领域,特别是涉及即时消息加密传输的方法和系统。
背景技术
即时消息是一门新兴的技术,近年来得到了迅速的发展,各种即时消息(Instant Message,IM)软件也应运而生,并在移动通信网络、互联网络上得到广泛的应用。即时消息已经成为人们日常的工作、学习、生活中一个重要的沟通方式。
即时消息系统通常是基于客户端/服务器(Client/Server,C/S)模式,客户端/服务器模式系统的特征在于信息流是在客户端和服务器之间双向流动,即时消息系统作为客户端/服务器模式的一种典型应用,目前一般根据国际标准实现客户端/服务器之间的通讯,较多的是根据开放移动联盟(Open Mobile Alliance,OMA)的无线乡村协议(Wireless Village,WV),即OMA-WV实现。
用户在使用即时消息工具传递信息时,有时会传递一些非常重要的信息,这时信息安全是一个不得不重视的问题,而随着网络技术特别是黑客技术、病毒技术的不断发展,已经使用户即时消息传递过程中的安全得不到保证。因此,用户在传递即时消息的过程中,不得不考虑通讯信息的安全性,否则后果可能是不堪设想的。
中国专利申请CN200310103507.1公开了一种短消息保密方法及用于实现短消息保密的SIM卡,其公开一种短消息保密方法,包括以下步骤:发送方发送短消息;接收方的SIM对收到的短消息加密后存储;用户须进入STK菜单输入正确的密钥后,SIM卡将密文形式的短消息解密并将其明文内容显示给用户。其以密文方式存储保密短消息的,提高了加密的可靠性,可以更好满足用户对短消息保密的需求。
但是该方法只能在手机中实现对短消息进行加密或者解密,无法在传输即时消息中,由客户端和服务器同时实现,无法保证即时消息在传递过程中的安全性。
发明内容
本发明的目的在于克服上述缺陷而提供的一种即时消息加密传输方法和系统。其在客户端/服务器模式的即时消息系统中实现了对即时消息的加密,实现即时消息的安全性,保证了用户聊天时的信息私密性。
为实现本发明目的而提供的一种即时消息加密传输方法,包括下列步骤:
步骤A)发送方客户端向服务器发送即时消息;
步骤B)服务器收到消息后,解析即时消息,判断即时消息是否为加密即时消息,并根据判断的结果通过发送方密钥利用加解密算法进行加解密处理;判断接收方客户端是否支持即时消息加密,根据判断的结果通过接收方密钥利用加解密算法进行加解密处理,并将处理后的即时消息下发给接收方客户端;
步骤C)接收方客户端接收到即时消息并进行处理后显示给用户。
本发明的即时消息加密传输方法,还可以包括下列步骤:
步骤N)在进行即时消息通讯前,发送方客户端首先登录到服务器,进行能力协商,从服务器获取密钥。
所述步骤A)可以包括下列步骤:
步骤A1)对于支持消息加密的发送方客户端,发送方客户端使用密钥将即时消息内容加密,向服务器发送消息;
步骤A2)对于不支持消息加密的发送方客户端,该发送方客户端直接向服务器发送消息。
所述步骤A1)可以包括下列步骤:
步骤A11)发送方客户端使用密钥利用加解密算法将即时消息内容加密;
步骤A12)发送方客户端向服务器发送加密即时消息;
步骤A13)服务器收到发送方客户端发送来的即时消息后,向发送方客户端发送即时消息响应。
所述步骤B)可以包括下列步骤:
步骤B1)服务器在收到发送方客户端的即时消息后,判断消息是否为加密即时消息;如果不是,则转到步骤B3);如果是,则继续;
步骤B2)服务器根据即时消息内容,使用发送方密钥,利用加解密算法将即时消息内容解密;
步骤B3)服务器中判断接收方客户端是否在线,如果不在线,则结束;如果在线,则继续;
步骤B4)如果接收方客户端支持加密,则服务器使用接收方密钥,利用加解密算法将消息内容加密后下发给接收方客户端;否则,服务器直接下发未加密的即时消息。
进一步地,所述步骤B)也可以包括下列步骤:
步骤B1′)服务器收到的即时消息后,判断接收方客户端是否在线,如果不在线,则结束;如果在线,则继续;
步骤B2′)服务器先判断消息是否为加密即时消息,然后判断接收方客户端是否支持加密即时消息,并根据两次判断的结果进行不同的加解密处理。
所述步骤B2′)可以包括下列步骤:
步骤B21′)如果消息是密文,且接收方支持消息加密,或者如果消息是明文,且接收方不支持消息加密,则直接将即时消息下发给接收方客户端;
步骤B22′)如果消息是密文,且接收方不支持消息加密,则服务器利用密钥,使用加解密算法解密,将即时消息解密后下发给接收方客户端;
步骤B23′)如果消息是明文,且接收方支持消息加密,则服务器利用密钥,使用加解密算法将消息加密后,下发给接收方客户端。
所述步骤C)可以包括下列步骤:
步骤C1)接收方客户端在收到服务器下发即时消息指令后,向服务器发送获取即时消息的请求;
服务器中在收到接收方客户端获取即时消息请求后,响应该请求;开始向接收方客户端发送即时消息数据;
步骤C2)接收方客户端接收服务器发送的即时消息,将即时消息显示给用户。
所述步骤C2)可以包括下列步骤:
步骤C21)接收方客户端接收到服务器下发的即时消息后,对于支持消息加密的接收方客户端,在收到消息后利用密钥,使用加解密算法,将即时消息解密之后显示给用户;
步骤C22)对于不支持消息加密的接收方客户端,在收到消息后直接将消息显示给用户。
所述步骤N)可以包括下列步骤:
步骤N1)客户端向服务器发出登录请求;
步骤N2)客户端收到响应后,通过客户端向服务器发出能力协商请求,上报是否支持消息加密;
服务器在收到客户端的能力协商请求后,根据客户端上报的能力判断知道客户端是否支持消息加密,保存判断结果并向客户端发出能力协商响应。
所述步骤N)还可以包括下列步骤:
步骤N3)客户端在收到能力协商响应后向服务器发出获取密钥的信令请求;
服务器在收到请求后,向客户端发送包括密钥的响应消息;
客户端收到响应消息后,从响应消息中解析出密钥。
本发明还提供了一种即时消息加密传输系统,包括服务器和客户端,所述服务器包括主控模块,通讯模块,消息处理模块,还包括加解密处理模块;
所述主控模块,用于全局控制服务器中的各个模块,负责服务器内部其它模块的管理调度;
所述通讯模块,用于通过网络与客户端通讯,接收客户端发来的消息,并向客户端发送响应消息,以及主动向其它客户端发送消息;
所述消息处理模块,用于处理来自客户端的请求消息,并返回响应消息,以及,将所述加解密处理模块加密或者解密后的即时消息数据传输给所述通讯模块;
所述加解密处理模块,用于与消息处理模块进行交互,使用密钥利用加解密算法将即时消息进行加密或者解密。
所述的即时消息加密传输系统,还可以包括密钥管理模块;
所述密钥管理模块,用于生成密钥并将密钥提供给加解密处理模块对即时消息进行加密或者解密。
所述客户端可以包括:
管理和控制模块,第二通讯模块,第二消息处理模块,第二加解密处理模块,界面显示模块;
所述管理和控制模块,用于对会话过程进行管理控制,负责业务逻辑的控制与处理;
所述第二通讯模块,用于负责与服务器进行消息通讯,发送请求消息和接收响应消息,以及,接收服务器主动发送的通知消息;
所述第二消息处理模块,用于构造并指示所述第二通讯模块发送请求消息,接收和处理响应消息;根据业务需要向所述管理和控制模块发送请求消息;根据业务需要向所述界面显示模块发送显示消息或用户提示消息;从服务器获取密钥,并将密钥传输给所述第二加解密处理模块;
所述加解密处理模块用于对即时消息的内容进行加密、解密处理,其加密向外发送的即时消息,解密接收到的即时消息;
界面显示模块,用于与用户交互的界面显示。
本发明的有益效果是:本发明实现了在客户端和服务器之间将用户的消息内容加密传输,客户端和服务器按照协议进行加解密处理,实现即时消息的安全性,保证了用户聊天时的信息私密性,提高即时消息系统的安全性和可用性。
附图说明
图1为即时消息结构示意图;
图2为本发明即时消息内容加密过程示意图;
图3为本发明即时消息内容解密过程示意图;
图4为本发明实施例一即时消息系统中服务器架构图;
图5为本发明实施例一即时消息系统中服务器对即时消息处理流程图;
图6为本发明实施例一即时消息系统中客户端结构示意图;
图7为本发明实施例一即时消息系统中客户端登录流程图;
图8为本发明实施例一即时消息信令交互流程图;
图9为本发明实施例二即时消息系统中服务器架构图;
图10为本发明实施例二即时消息处理流程图;
图11为本发明实施例二即时消息系统客户端登录过程流程图。
具体实施方式
下面结合图1~11进一步详细说明本发明的即时消息加密传输方法和加密传输系统。
本发明涉及到在移动通信网络和互联网络上基于客户端/服务器的即时消息系统,其在客户端和服务器之间将用户的消息内容加密传输,客户端和服务器按照协议进行加解密处理,实现即时消息的安全性,保证了用户聊天时的信息私密性。
本发明各实施例中的登录请求、能力协商请求、发送消息请求等概念来自开放移动联盟的无线乡村协议,即OMA-WV协议,通过扩展的WV CSP信令实现消息的加解密,但本发明同样适用于实现即时消息的其它协议系统,在实现即时消息的其它协议的系统中同样可以通过类似的方法实现本发明的系统和方法,所以本发明各实施例基于OMA-WV协议,但本发明的保护范围并不限于该协议。
如图1所示,本发明实施例中的即时消息结构示意图,其包括消息头和消息体,消息体包括协议信息和消息内容。
实施例一:
本实施例提供在客户端/服务器模式系统中实现即时消息加密系统和方法,其在客户端和服务器上同时实现。由于即时消息系统接入方式和接入终端的多样性,有些客户端支持消息加密,有些客户端不支持,服务器能够既支持明文消息也支持密文消息,在本实施例中将分别进行详细描述。
本发明中的即时消息系统包括服务器和客户端。
(一)如图4所示,本实施例的即时消息系统中的服务器包括主控模块11,通讯模块15,消息处理模块12,加解密处理模块13,密钥管理模块14。
主控模块11,用于全局控制服务器中的各个模块,负责服务器内部其它模块的管理调度,包括通讯模块15、消息处理模块12、加解密处理模块13等。
通讯模块15,用于通过网络与客户端通讯,接收客户端发来的消息,并向客户端发送响应消息,也可以主动向其它客户端发送消息。
消息处理模块12,对所有的即时消息进行处理,处理来自客户端的请求消息,并返回响应消息;并与加解密处理模块13、密钥管理模块14进行交互,从密钥管理模块14获取密钥,调用加解密处理模块13,通过密钥利用加解密算法对即时消息进行加密或者解密,并将加密或者解密后的即时消息数据传输给通讯模块15。
加解密处理模块13,用于与消息处理模块12进行交互,通过密钥利用加解密算法将即时消息进行加密或者解密。
加解密处理模块13对即时消息的内容进行加密、解密处理时,密钥由密钥管理模块14提供,其实现如图2和图3的功能,当明文消息内容输入到加解密处理模块13时,加解密处理模块13利用密钥使用加解密算法加密,输出密文件消息内容;当密文消息内容输入到加解密处理模块13时,加解密处理模块13利用密钥使用加解密算法解密,输出明文消息内容。
密钥管理模块14,用于生成密钥并将密钥提供给加解密处理模块13对即时消息进行加密或者解密。
密钥由服务器中的密钥管理模块14统一生成并负责维护,客户端向服务器获取密钥。客户端发送即时消息的密钥是服务器中的密钥管理模块14为发送方生成的密钥,在本发明各实施例中简称为发送方密钥;客户端接收到即时消息的密钥是服务器中的密钥管理模块14为接收方生成的密钥,在本发明各实施例中简称接收方密钥。
密钥管理模块14中的密钥可以是在用户注册时随机生成的唯一密钥。
客户端收发消息时使用的密钥来自该密钥管理模块14。
本实施例中对即时消息的内容加密采用可逆的加密算法,可以是高级加密标准(Advanced Encryption Standard,AES)算法或者数据加密标准(Data Encryption Standard,DES)算法。
加密是通过加密系统把原始的数字信息(明文),按照加密算法变换成与明文完全不同得数字信息(密文)的过程。
加密是一种可逆的数据变换方式。加密可分为依赖于算法和依赖于密钥两类,依赖于算法的加密是一种确定的可逆数据变换过程;而依赖于密钥的加密则是一类可逆数据变换过程,而每个不同的密钥都定义了一个特定的可逆数据变换过程。对依赖于密钥的数据变换,如果加密和解密密钥相同,则称之为对称密钥加密,本实施例中的AES算法和DES算法都是对称密钥加密算法。加密的逆变换称之为解密。
AES算法是1997年1月由美国国家标准化和技术协会(NIST)提出的,其目的是开发一种新的能保证政府信息安全的编码算法。最后经过多方评估从15种算法中选出Rijndael算法作为AES编码标准算法。AES算法是对称加密的迭代分组密码。它把数据块分成比特阵列,每一项密码操作都是面向比特的。Rijndael算法分为四层,第一层是8×8比特置换(即输入8比特,输出8比特);第二、三层是线性混合层(阵列的行移位、列混合);第四层是子密钥与阵列的每比特异或。
AES的分组长度为128比特,密钥长度为128/192/256比特,相对应的轮数r为10/12/14,相应的密钥方案为:在加密的过程中,需要r+1个子密钥,需要构造4(r+1)个32比特字。当种子密钥为128和192比特时,构造4(r+1)个32比特字的过程是一样的。但当种子密钥为256比特时,构造4(r+1)个32比特字的过程是不同的。
DES算法是由IBM公司在70年代发展起来的,并经政府的加密标准筛选后,于1976年11月被美国政府采用,DES随后被美国国家标准局和美国国家标准协会(American National Standard Institute,ANSI)承认。
DES算法使用56位密钥对64位的数据块进行加密,并对64位的数据块进行16轮编码。与每轮编码时,一个48位的″每轮″密钥值由56位的完整密钥得出来。DES用软件进行解码需用很长时间,而用硬件解码速度非常快。
本发明中的加解密处理模块13,将即时消息内容输入其中,利用这些公知的加解密算法,进行加密和解密传输,即当发送方客户端发送消息时,如图2所示,调用加解密处理模块13,将未加密的即时消息内容(明文),利用密钥通过公知的这些加解密算法,加密为加密即时消息(密文)输出;或者当接收方客户端收到即时消息时,如图3所示,将加密的即时消息内容(密文)传输到加解密处理模块13,利用密钥通过公知的这些加解密算法,解密为未加密的即时消息内容(明文)输出;或者当服务器接收到发送方客户端发送来的消息时,如果是密文,则调用加解密处理模块13,使用发送方密钥,利用公知的加解密算法解密,得到明文即时消息,并在下发消息时,根据与接收方客户端能力协商的结果,判断出接收方客户端支持加解密时,调用加解密处理模块13,使用接收方密钥,利用公知的加解密算法,将即时消息加密,下发给接收方客户端。
(二)如图6所示,本实施例中的即时消息系统中的客户端包括:管理和控制模块21,通讯模块24,消息处理模块22,加解密处理模块23,界面显示模块25。
管理和控制模块21,用于对会话过程进行管理控制的模块,负责业务逻辑的控制与处理。
通讯模块24,用于负责与服务器进行消息通讯,发送请求消息和接收响应消息,接收服务器主动发送的通知消息等。
消息处理模块22,用于对所有消息进行处理的模块。
消息处理模块22构造指示通讯模块发送请求消息,接收和处理响应消息;根据业务需要向管理和控制模块21发送请求消息等;根据业务需要向显示模块25发送消息显示或用户提示消息。
同时,消息处理模块22还从服务器获取密钥,并将密钥传输给加解密处理模块23。
加解密处理模块23,用于对即时消息的内容进行加密、解密处理,其加密向外发送的即时消息,解密接收到的即时消息。
加解密处理模块23接收到服务器传送来的密钥,利用密钥对消息内容进行加解密。
加解密的算法和过程与服务器中的算法与过程相同。
界面显示模块25,用于与用户交互的界面显示。
(三)下面详细说明本实施例的即时消息加密传输方法:
如图5所示,本实施例的即时消息加密传输方法包括下列步骤:
步骤1)客户端登录到服务器,进行能力协商,从服务器获取密钥。
如图7所示,该过程包括下列步骤:
步骤11)客户端中的消息处理模块22通过通讯模块24向服务器发出登录请求;
服务器中的通讯模块15收到请求后转输送给消息处理模块12,消息处理模块12在收到该请求后判断是否允许客户端登录,如果允许,则通知通讯模块15向客户端发出登录响应;如果不允许,则结束。
步骤12)客户端中的通讯模块24收到响应后转输送给消息处理模块22,消息处理模块22在收到登录响应后,通过客户端中的通讯模块24向服务器发出能力协商请求,上报是否支持消息加密;
服务器中的通讯模块15收到请求后转输送给消息处理模块12,消息处理模块12在收到客户端的能力协商请求后,根据客户端上报的能力判断知道客户端是否支持消息加密,保存判断结果并通过通讯模块向客户端发出能力协商响应。
步骤13)客户端通讯模块24收到响应后转输送给消息处理模块22,消息处理模块22在收到能力协商响应后,通过通讯模块24向服务器发出获取密钥的信令请求;
服务器通讯模块15收到响应后转输送给消息处理模块12,消息处理模块12在收到请求后,通过通讯模块15向客户端发送包括密钥的响应消息;
客户端通讯模块24收到响应后转输送给消息处理模块22,消息处理模块22收到响应消息后,从响应消息中解析出密钥。
步骤2)发送方客户端向服务器发送即时消息。
对于支持消息加密的发送方客户端,从消息处理模块22获取密钥,调用加解密处理模块23,使用密钥将即时消息内容加密,通过通讯模块24向服务器发送消息。
如图8所示,包括下列步骤:
步骤21)发送方客户端消息处理模块22获取密钥,调用加解密处理模块23,使用密钥,利用加解密算法将即时消息内容加密,得到密文;
步骤22)发送方客户端的消息处理模块22通过通讯模块24向服务器发送加密即时消息;
步骤23)服务器中的通讯模块15收到发送方客户端发送来的即时消息后,转输送给消息处理模块12,并向发送方客户端发送收到即时消息响应。
对于不支持消息加密的客户端,该客户端的消息处理模块22直接通过通讯模块24向服务器发送消息。
步骤3)服务器中的消息处理模块12收到消息后,解析即时消息,判断即时消息是否为加密即时消息,并根据判断的结果通过发送方密钥利用加解密算法进行加解密处理;根据发送目的客户端(接收方)与服务器能力协商结果判断发送接收方客户端是否支持即时消息加密,根据判断的结果通过接收方密钥利用加解密算法进行加解密处理,并将处理后的即时消息下发给接收方客户端。
如图5、8所示,其包括下列步骤:
步骤31)服务器中的消息处理模块12在收到发送方客户端的即时消息后,判断消息是否为加密即时消息;如果不是,则转到步骤33);如果是,则继续;
步骤32)服务器中的消息处理模块12根据即时消息内容从密钥管理模块14中获取发送方密钥,调用加解密处理模块13,使用发送方密钥,利用加解密算法将即时消息内容解密;
步骤33)服务器中的通讯模块15判断接收方客户端是否在线,如果不在线,则结束;如果在线,则继续;
服务器在下发即时消息之前根据接收方客户端在登录过程中的能力协商判断接收方客户端是否支持消息加解密。
步骤34)服务器中的消息处理模块12根据接收方客户端在登录过程中的能力协商判断结果,确定接收方客户端是否支持即时消息加密;如果接收方客户端支持加解密,则服务器消息处理模块12从密钥管理模块14中获取接收方密钥,调用加解密处理模块13,使用接收方密钥,利用加解密算法将消息内容加密,输出给消息处理模块12,消息处理模块12通过通讯模块15将加密后的即时消息(密文)下发;否则,服务器中的消息处理模块12通过通讯模块15直接下发未加密的即时消息(明文)。
步骤4)接收方客户端接收到即时消息并进行处理后显示给用户。
对于支持消息加密的客户端,该客户端中的通讯模块24在收到消息后转输送给消息处理模块22,消息处理模块22从服务器获取的接收方密钥,调用加解密处理模块23,利用接收方密钥,通过加解密算法将消息解密之后传送消息处理模块22,消息处理模块22通过界面显示模块25将即时消息显示给用户;
对于不支持消息加密的客户端,该客户端中的通讯模块24在收到消息后,转输送给消息处理模块22,消息处理模块22通过界面显示模块25直接将消息显示给用户。
如图8所示,其包括下列步骤:
步骤41)接收方客户端通讯模块24在收到服务器下发即时消息指令后,向服务器发送获取即时消息的请求;
服务器中的通讯模块15在收到客户端获取即时消息请求后,通知消息处理模块12,并响应该请求;消息处理模块12通过通讯模块15并开始向客户端发送即时消息数据;
步骤42)客户端通讯模块24接收服务器发送的即时消息,将消息转输给消息处理模块22,消息处理模块22通过界面显示模块25将即时消息显示给用户。
客户端接收到服务器下发的即时消息后,对于支持消息加密的客户端,在收到消息后调用加解密处理模块23将消息解密之后显示给用户;对于不支持消息加密的客户端,在收到消息后直接将消息显示给用户。
本实施例中服务器统一生成和管理密钥,并在客户端登录时向服务器请求并获取密钥,服务器在收到客户端发送来的即时消息后将消息先解密后再根据接收方是否支持加密即时消息,将该即时消息加密或者直接下发给接收方客户端,由客户端接收后解密显示,或者直接显示给用户,其保护用户在聊天过程中传递消息的私密性,提高即时消息的安全性和可用性。
实施例二:
在本实施例中,服务器和客户端定义统一的密钥生成协议,客户端在本方即可根据该协议得到密钥,无须从服务器中获取;而服务器收到即时消息后,采用同样协议得到密钥并进行加解密操作,无须更换密钥。
如图9所示,与实施例一相同,本实施例的即时消息系统中服务器包括主控模块11,消息处理模块12和通讯模块15。
不同的是,本实施例中的服务器不包括密钥管理模块14,只包括加解密处理模块13,密钥由加解密处理模块13根据统一密钥生成协议生成。
服务器与客户端间统一密钥生成协议,该协议并不唯一,只要服务器和客户端统一密钥生成协议,利用公知的密钥生成算法生成密钥即可,比如:可以统一使用发送方的注册号经过信息-摘要算法(MD5算法)运算后的结果作为密钥。
信息-摘要算法(message-digest algorithm 5,MD5)广泛应用于加密和解密技术上。当用户登录的时候,系统把用户输入的密码计算成MD5值,然后再去和保存在文件系统中的MD5值进行比较,进而确定输入的密码是否正确。通过这样的步骤,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。这不但可以避免用户的密码被具有系统管理员权限的用户知道,而且还在一定程度上增加了密码被破解的难度。
对MD5算法简要叙述为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
本实施例中的即时消息系统中客户端各模块与实施例一相同,但客户端中的加解密处理模块23也根据统一密钥生成协议生成密钥。
下面结合图10、11说明本实施例的即时消息加密传输方法,其包括下列步骤:
步骤1′)客户端登录到服务器,进行能力协商。
如图11所示,该过程包括下列步骤:
步骤11′)客户端的通讯模块24向服务器发出登录请求;
服务器中的通讯模块15收到该请求后转传送给消息处理模块12,消息处理模块12判断是否允许客户端登录,如果允许,则通过通讯模块15向客户端发出登录响应;如果不允许,则结束。
步骤12′)客户端的通讯模块24在收到登录响应后,向服务器发出能力协商请求,上报是否支持消息加密;
服务器的通讯模块15在收到客户端的能力协商请求后,转传送给消息处理模块12,消息处理模块12根据客户端上报的能力协商,判断客户端是否支持消息加密,保存判断结果后通过通讯模块15向客户端发出能力协商响应。
步骤2′)客户端消息处理模块22调用加解密处理模块23,使用密钥,通过加解密算法将即时消息内容加密,通过通讯模块24向服务器发送消息。
该过程中客户端的处理与实施例一基本相同,所不同的是加解密处理模块23在客户端在通过加解密算法将消息内容加密前,首先根据统一密钥生成协议生成发送方密钥,然后才使用密钥加密。
对于支持消息加密的客户端,客户端消息处理模块22调用加解密处理模块23,使用密钥,通过加解密算法将消息内容加密,通过通讯模块24向服务器发送消息;对于不支持消息加密的客户端,直接通过通讯模块24向服务器发送消息。
步骤3′)服务器通讯模块15在收到消息后转传送给消息处理模块12,下发消息时,消息处理模块12解析即时消息,判断即时消息是否为加密即时消息,并根据判断的结果调用加解密处理模块13,通过发送方密钥,利用加解密算法对即时消息进行加解密处理;并根据登录时能力协商结果,判断接收方客户端是否支持即时消息加密,并根据判断的结果调用加解密处理模块13,通过发送方密钥,利用加解密算法对即时消息进行加解密处理,并将处理后的即时消息下发给接收方客户端。
在这一处理过程中,当加解密处理模块13利用密钥进行加解密处理时,该密钥由加解密处理模块13按统一密钥生成协议生成发送方密钥或者接收方密钥,然后才进行加解密处理。
步骤31′)服务器收到的即时消息后,判断接收方客户端是否在线,如果不在线,则结束;如果在线,则继续;
步骤32′)服务器先判断消息是否为加密即时消息,然后判断接收方客户端是否支持加密即时消息,并根据两次判断的结果进行不同的处理。
步骤321′)如果消息是密文,且接收方支持消息加密,或者如果消息是明文,且接收方不支持消息加密,则直接将即时消息下发给接收方客户端;
步骤322′)如果消息是密文,且接收方不支持消息加密,则服务器消息处理模块12调用加解密处理模块13,通过统一密钥生成协议生成密钥,使用加解密算法,将即时消息解密后下发给接收方客户端;
步骤323′)如果消息是明文,且接收方支持消息加密,则服务器消息处理模块12调用加解密处理模块13,通过统一密钥生成协议生成密钥,使用加解密算法,将即时消息加密后下发给接收方客户端。
步骤4′)接收方客户端接收到即时消息并进行加解密处理后显示给用户。
对于支持消息加密的客户端,该客户端通讯模块24在收到消息后转传送给消息处理模块22,消息处理模块22调用加解密处理模块23,利用统一密钥生成协议生成接收方密钥,使用加解密算法,将消息解密之后,通过界面显示模块25显示给用户;
对于不支持消息加密的客户端,客户端通讯模块24在收到消息后传送给消息处理模块22,消息处理模块22直接将通过界面显示模块25将即时消息显示给用户。
其包括下列步骤:
步骤41′)接收方客户端的通讯模块25收到服务器下发即时消息指令后,向服务器发送获取即时消息的请求;
服务器通讯模块15收到获取即时消息请求后,响应该请求,消息处理模块12开始发送即时消息数据;
步骤42′)客户端通讯模块24接收服务器发送的即时消息,传送给消息处理模块22,消息处理模块22对即时消息进行加解密处理,并将即时消息通过界面显示模块25显示给用户。
客户端通讯模块25接收到服务器下发的即时消息后,传送给消息处理模块22,消息处理模块22对于支持消息加密的客户端,在收到消息利后调用给加解密处理模块23,利用统一密钥生成协议生成密钥,使用加解密算法将消息解密之后,然后传送解密的即时消息给界面显示模块25显示给用户;对于不支持消息加密的客户端,消息处理模块22在收到消息后直接传送给界面显示模块25显示给用户。
本实施例中,服务器和客户端定义统一密钥生成协议,客户端在本地根据该协议得到密钥,并用密钥加密后发送给服务器;而服务器收到即时消息后,采用同样协议得到密钥并进行加解密操作,并将即时消息下发。
本实施例是使本领域普通技术人员理解本发明,而对本发明所进行的详细描述,但可以想到,在不脱离本发明的权利要求所涵盖的范围内还可以做出其它的变化和修改,这些变化和修改均在本发明的保护范围内。

Claims (15)

1.一种即时消息加密传输方法,其特征在于,包括下列步骤:
步骤A)发送方客户端向服务器发送即时消息;
步骤B)服务器收到消息后,解析即时消息,判断即时消息是否为加密即时消息,并根据判断的结果通过发送方密钥利用加解密算法进行加解密处理;判断接收方客户端是否支持即时消息加密,根据判断的结果通过接收方密钥利用加解密算法进行加解密处理,并将处理后的即时消息下发给接收方客户端;
步骤C)接收方客户端接收到即时消息并进行处理后显示给用户。
2.根据权利要求1所述的即时消息加密传输方法,其特征在于,还包括下列步骤:
步骤N)在进行即时消息通讯前,发送方客户端首先登录到服务器,进行能力协商,从服务器获取密钥。
3.根据权利要求1或2所述的即时消息加密传输方法,其特征在于,所述步骤A)包括下列步骤:
步骤A1)对于支持消息加密的发送方客户端,发送方客户端使用密钥将即时消息内容加密,向服务器发送消息;
步骤A2)对于不支持消息加密的发送方客户端,该发送方客户端直接向服务器发送消息。
4.根据权利要求3所述的即时消息加密传输方法,其特征在于,所述步骤A1)包括下列步骤:
步骤A11)发送方客户端使用密钥利用加解密算法将即时消息内容加密;
步骤A12)发送方客户端向服务器发送加密即时消息;
步骤A13)服务器收到发送方客户端发送来的即时消息后,向发送方客户端发送即时消息响应。
5.根据权利要求1或2所述的即时消息加密传输方法,其特征在于,所述步骤B)包括下列步骤:
步骤B1)服务器在收到发送方客户端的即时消息后,判断消息是否为加 密即时消息;如果不是,则转到步骤B3);如果是,则继续;
步骤B2)服务器根据即时消息内容,使用发送方密钥,利用加解密算法将即时消息内容解密;
步骤B3)服务器判断接收方客户端是否在线,如果不在线,则结束;如果在线,则继续;
步骤B4)如果接收方客户端支持加密,则服务器使用接收方密钥,利用加解密算法将消息内容加密后下发给接收方客户端;否则,服务器直接下发未加密的即时消息。
6.根据权利要求1所述的即时消息加密传输方法,其特征在于,所述步骤B)包括下列步骤:
步骤B1′)服务器收到即时消息后,判断接收方客户端是否在线,如果不在线,则结束;如果在线,则继续;
步骤B2′)服务器先判断消息是否为加密即时消息,然后判断接收方客户端是否支持加密即时消息,并根据两次判断的结果进行不同的加解密处理。
7.根据权利要求6所述的即时消息加密传输方法,其特征在于,所述步骤B2′)包括下列步骤:
步骤B21′)如果消息是密文,且接收方支持消息加密,或者如果消息是明文,且接收方不支持消息加密,则直接将即时消息下发给接收方客户端;
步骤B22′)如果消息是密文,且接收方不支持消息加密,则服务器利用密钥,使用加解密算法解密,将即时消息解密后下发给接收方客户端;
步骤B23′)如果消息是明文,且接收方支持消息加密,则服务器利用密钥,使用加解密算法将消息加密后,下发给接收方客户端。
8.根据权利要求1或2所述的即时消息加密传输方法,其特征在于,所述步骤C)包括下列步骤:
步骤C1)接收方客户端在收到服务器下发即时消息指令后,向服务器发送获取即时消息的请求;
服务器中在收到接收方客户端获取即时消息请求后,响应该请求;开始向接收方客户端发送即时消息数据;
步骤C2)接收方客户端接收服务器发送的即时消息,将即时消息显示给 用户。
9.根据权利要求8所述的即时消息加密传输方法,其特征在于,所述步骤C2)包括下列步骤:
步骤C21)接收方客户端接收到服务器下发的即时消息后,对于支持消息加密的接收方客户端,在收到消息后利用密钥,使用加解密算法,将即时消息解密之后显示给用户;
步骤C22)对于不支持消息加密的接收方客户端,在收到消息后直接将消息显示给用户。
10.根据权利要求2所述的即时消息加密传输方法,其特征在于,所述步骤N)包括下列步骤:
步骤N1)客户端向服务器发出登录请求;
步骤N2)客户端收到响应后,通过客户端向服务器发出能力协商请求,上报是否支持消息加密;
服务器在收到客户端的能力协商请求后,根据客户端上报的能力判断知道客户端是否支持消息加密,保存判断结果并向客户端发出能力协商响应。
11.根据权利要求10所述的即时消息加密传输方法,其特征在于,所述步骤N)还包括下列步骤:
步骤N3)客户端在收到能力协商响应后向服务器发出获取密钥的信令请求;
服务器在收到请求后,向客户端发送包括密钥的响应消息;
客户端收到响应消息后,从响应消息中解析出密钥。
12.根据权利要求5所述的即时消息加密传输方法,其特征在于,所述加解密算法为高级加密标准算法或者数据加密标准算法。
13.一种即时消息加密传输系统,包括服务器和客户端,所述服务器包括主控模块(11),通讯模块(15),消息处理模块(12),其特征在于,还包括加解密处理模块(13);
所述主控模块(11),用于全局控制服务器中的各个模块,负责服务器内部其它模块的管理调度;
所述通讯模块(15),用于通过网络与客户端通讯,接收客户端发来的消 息,并向客户端发送响应消息,以及主动向其它客户端发送消息;
所述消息处理模块(12),用于处理来自客户端的请求消息,并返回响应消息,以及,将所述加解密处理模块(13)加密或者解密后的即时消息数据传输给所述通讯模块(15);
所述加解密处理模块(13),用于与消息处理模块(12)进行交互,使用密钥利用加解密算法将即时消息进行加密或者解密。
14.根据权利要求13所述的即时消息加密传输系统,其特征在于,还包括密钥管理模块(14);
所述密钥管理模块(14),用于生成密钥并将密钥提供给加解密处理模块(13)对即时消息进行加密或者解密。
15.根据权利要求13或14所述的即时消息加密传输系统,其特征在于,所述客户端包括:
管理和控制模块(21),第二通讯模块(24),第二消息处理模块(22),第二加解密处理模块(23),界面显示模块(25);
所述管理和控制模块(21),用于对会话过程进行管理控制,负责业务逻辑的控制与处理;
所述第二通讯模块(24),用于负责与服务器进行消息通讯,发送请求消息和接收响应消息,以及,接收服务器主动发送的通知消息;
所述第二消息处理模块(22),用于构造并指示所述第二通讯模块(24)发送请求消息,接收和处理响应消息;根据业务需要向所述管理和控制模块(21)发送请求消息;根据业务需要向所述界面显示模块(25)发送显示消息或用户提示消息;从服务器获取密钥,并将密钥传输给所述第二加解密处理模块(23);
所述第二加解密处理模块(23),用于对即时消息的内容进行加密、解密处理,其加密向外发送的即时消息,解密接收到的即时消息;
界面显示模块(25),用于与用户交互的界面显示。 
CN2006100083368A 2006-02-17 2006-02-17 一种即时消息加密传输方法和系统 Expired - Fee Related CN1859081B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2006100083368A CN1859081B (zh) 2006-02-17 2006-02-17 一种即时消息加密传输方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2006100083368A CN1859081B (zh) 2006-02-17 2006-02-17 一种即时消息加密传输方法和系统

Publications (2)

Publication Number Publication Date
CN1859081A CN1859081A (zh) 2006-11-08
CN1859081B true CN1859081B (zh) 2011-04-06

Family

ID=37297948

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006100083368A Expired - Fee Related CN1859081B (zh) 2006-02-17 2006-02-17 一种即时消息加密传输方法和系统

Country Status (1)

Country Link
CN (1) CN1859081B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101483863B (zh) * 2009-02-06 2011-04-27 中兴通讯股份有限公司 即时消息的传送方法、系统及wapi终端
CN102624516B (zh) * 2011-12-08 2015-12-09 上海华御信息技术有限公司 对信息进行加解密的方法、系统及网关设备
CN102546597B (zh) * 2011-12-15 2015-11-18 深圳市易联盛世科技有限公司 通讯终端消息加密传输的方法、通讯终端、服务器及系统
CN104284328A (zh) * 2013-07-09 2015-01-14 北京鼎普科技股份有限公司 一种加密手机通话内容的方法及装置
CN103795966B (zh) * 2014-01-15 2017-12-26 北京明朝万达科技股份有限公司 一种基于数字证书的安全视频通话实现方法及系统
CN104394530A (zh) * 2014-12-09 2015-03-04 天津光电安辰信息技术有限公司 一种基于智能手机的微信内容加密系统及其实现方法
CN104486072A (zh) * 2014-12-31 2015-04-01 宁波保税区攀峒信息科技有限公司 一种保密通信系统
CN104660589B (zh) * 2015-01-20 2021-09-10 中兴通讯股份有限公司 一种对信息进行加密控制、解析信息的方法、系统和终端
CN106161187B (zh) * 2015-03-31 2020-01-03 中国移动通信集团公司 一种基于即时消息提供公众信息服务的方法、设备和系统
CN104954378A (zh) * 2015-06-19 2015-09-30 收付宝科技有限公司 一种非对称加密消息的方法和系统
CN105049332B (zh) * 2015-07-29 2019-12-10 深圳市元征科技股份有限公司 一种基于车载终端的群组内的文件共享方法
CN106411719A (zh) * 2016-11-22 2017-02-15 北京奇虎科技有限公司 一种用于对即时消息进行处理的方法及设备
CN107483505B (zh) * 2017-09-29 2020-10-16 武汉斗鱼网络科技有限公司 一种对视频聊天中的用户隐私进行保护的方法及系统
CN109587099A (zh) * 2017-09-29 2019-04-05 武汉斗鱼网络科技有限公司 一种在视频聊天中对用户隐私进行保护方法及装置
CN107509181A (zh) * 2017-10-11 2017-12-22 杨传杰 一种手机短信的加密方法
CN113037611B (zh) * 2021-03-04 2022-04-19 长沙学院 基于多公共im通道的移动安全即时通讯方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1450763A (zh) * 2003-04-25 2003-10-22 广东省电信公司科学技术研究院 交互式实时图文通信业务的实现方法及装置
CN1697379A (zh) * 2005-06-22 2005-11-16 王李琰 一种基于标识的密码技术的公共网络安全通信服务用户身份的认证方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1450763A (zh) * 2003-04-25 2003-10-22 广东省电信公司科学技术研究院 交互式实时图文通信业务的实现方法及装置
CN1697379A (zh) * 2005-06-22 2005-11-16 王李琰 一种基于标识的密码技术的公共网络安全通信服务用户身份的认证方法

Also Published As

Publication number Publication date
CN1859081A (zh) 2006-11-08

Similar Documents

Publication Publication Date Title
CN1859081B (zh) 一种即时消息加密传输方法和系统
CN101188496B (zh) 一种短信加密传输方法
US8499156B2 (en) Method for implementing encryption and transmission of information and system thereof
US8600059B2 (en) Short message service cipher
EP0998799B1 (en) Security method and system for transmissions in telecommunication networks
Rayarikar et al. SMS encryption using AES algorithm on android
US20120269347A1 (en) Medical device with secure data transmission
CN1977559B (zh) 保护在用户之间进行通信期间交换的信息的方法和系统
CN101720071A (zh) 基于安全sim卡的短消息两阶段加密传输和安全存储方法
CN101677269A (zh) 密钥传输的方法及系统
CN111698084B (zh) 一种基于区块链的隐匿通信方法
US6640303B1 (en) System and method for encryption using transparent keys
CN102740239B (zh) 媒体消息安全传输的方法和系统
CN102088441A (zh) 消息中间件的数据加密传输方法和系统
CN105376261A (zh) 一种用于即时通讯消息的加密方法及系统
Hossain et al. A proposal for enhancing the security system of short message service in GSM
WO2012131659A1 (en) A system and a method enabling secure transmission of sms
KR20160020866A (ko) 폐쇄형 네트워크에서 암복호화 서비스 제공 시스템 및 방법
CN105592431B (zh) 基于iOS系统移动终端的短信加密系统
CN102098307A (zh) 自助银行密码式即时消息加密方法和系统
CN102088352A (zh) 消息中间件的数据加密传输方法和系统
CN101374251B (zh) 一种短信加密的方法及其应用的终端设备
CN103167494A (zh) 信息发送方法和系统
CN104009841B (zh) 一种即时通信情境下的消息加密方法
CN1532726A (zh) 一种获得数字签名和实现数据安全的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110406

Termination date: 20130217