CN107026824B - 一种消息加密、解密方法和装置 - Google Patents

一种消息加密、解密方法和装置 Download PDF

Info

Publication number
CN107026824B
CN107026824B CN201610072662.9A CN201610072662A CN107026824B CN 107026824 B CN107026824 B CN 107026824B CN 201610072662 A CN201610072662 A CN 201610072662A CN 107026824 B CN107026824 B CN 107026824B
Authority
CN
China
Prior art keywords
message
encryption
decryption
mark
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.)
Active
Application number
CN201610072662.9A
Other languages
English (en)
Other versions
CN107026824A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201610072662.9A priority Critical patent/CN107026824B/zh
Priority to PCT/CN2017/072292 priority patent/WO2017133558A1/zh
Publication of CN107026824A publication Critical patent/CN107026824A/zh
Priority to US15/948,056 priority patent/US10819687B2/en
Application granted granted Critical
Publication of CN107026824B publication Critical patent/CN107026824B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0471Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0485Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network

Abstract

本发明实施例公开了一种消息加密、解密方法和装置;本发明实施例采用获取消息的加密请求,该加密请求携带加密程序的标识和加密所需的密钥,然后,根据该标识对应的加密程序和该密钥对该消息进行加密,以得到加密消息,对该加密消息进行组包处理以得到对应的数据包,并将该数据包发送至网络;该方案可以在将消息发送到网络之前根据指定的加密程序和密钥对消息进行加密,可以控制企业内IM消息只在安装有该企业指定的加解密程序和密钥的终端上才可以查看,在没有安装该企业指定的加解密程序和密钥的终端上无法查看,相对于现有技术而言,提高了IM消息的安全性,尤其对于企业来说,可以极大地提高企业内IM消息的安全性。

Description

一种消息加密、解密方法和装置
技术领域
本发明涉及信息安全技术领域,具体涉及一种消息加密、解密方法和装置。
背景技术
现如今,各种各样的数据充斥着人们的生活,无不涉及到数据的处理,而数据的安全,更是牵涉到人们的生命财产安全。
例如,对于企业来说,员工在工作中的聊天消息是非常敏感的内容,可能涉及公司比较核心机密的东西,对企业至关重要。因此,对于企业,需要对员工在工作中的聊天消息进行加密,防止该该聊天消息被其他非人员非法窃取,以保证企业内部的聊天消息的安全性。
目前,企业内部员工之间通常采用企业IM(Instant Messaging,即时通讯)客户端进行IM消息交互,以进行聊天;其中,IM消息的加密通常由IM客户端实现。具体地,参考图1,图1为常见的非自建服务器的企业IM框架,其加密的过程为:员工A的PC(personalcomputer,个人计算机)在接收到员工A输入的消息(即明文)之后,该PC的IM客户端会对该消息组包加密,以形成加密数据包即密文,然后,将该密文发送到网络,以通过该网络发送给员工B的PC,同时还可发送至IM服务上云端进行存储;这样员工B的PC可以在通过网络接收到员工A的PC发送密文之后,将会对该密文进行解密解包,以得到解密后的消息,即明文,然后,将该解密后的消息呈现给员工B。采用该IM框架,在消息组成数据包发送到网络上时,IM客户端一般都有做加密,确保在网络上传播是安全的,可以防止其他非法窃取,保证企业的IM消息安全。
在对现有技术的研究和实践过程中,本发明的发明人发现,由于IM客户端的加密程序或者加密算法均是由IM服务商统一提供的,一旦企业员工的IM登录信息被非法人员窃取,那么该非法人员可以在任意终端上登录IM客户端查看到IM消息,导致IM消息的安全性比较低。
发明内容
本发明实施例提供一种消息加密、解密方法和装置,可以提高IM消息的安全性。
本发明实施例提供一种消息加密方法,包括:
获取消息的加密请求,该加密请求携带加密程序的标识和加密所需的密钥;
根据所述标识对应的加密程序和所述密钥对所述消息进行加密,以得到加密消息;
对所述加密消息进行组包处理以得到对应的数据包,并将所述数据包发送至网络。
相应的,本发明实施例还提供了一种消息解密方法,包括:
通过网络获取数据包,并对所述数据包括进行解包处理,以得到加密消息;
获取加密消息的解密请求,所述解密请求携带解密程序的标识和解密所需的密钥;
根据所述标识对应的解密程序和所述密钥对所述加密消息进行解密,以得到解密消息。
相应的,本发明实施例还提供了一种消息加密装置,包括:
获取单元,用于获取消息的加密请求,该加密请求携带加密程序的标识和加密所需的密钥;
加密单元,用于根据所述标识对应的加密程序和所述密钥对所述消息进行加密,以得到加密消息;
发送处理单元,用于对所述加密消息进行组包处理以得到对应的数据包,并将所述数据包发送至网络。
相应的,本发明实施例还提供了一种消息解密装置,包括:
消息处理单元,用于通过网络获取数据包,并对所述数据包括进行解包处理,以得到加密消息;
获取单元,用于获取加密消息的解密请求,所述解密请求携带解密程序的标识和解密所需的密钥;
解密单元,用于根据所述标识对应的解密程序和所述密钥对所述加密消息进行解密,以得到解密消息。
本发明实施例采用获取消息的加密请求,该加密请求携带加密程序的标识和加密所需的密钥,然后,根据该标识对应的加密程序和该密钥对该消息进行加密,以得到加密消息,对该加密消息进行组包处理以得到对应的数据包,并将该数据包发送至网络;该方案可以在将消息发送到网络之前根据指定的加密程序和密钥对消息进行加密,避免了采用IM服务商提供的IM客户端对消息进行加密,该方案可以使得仅在安装有指定的加解密程序和密钥的特定终端上才可以查看到IM消息(比如,可以控制企业内IM消息只在安装有该企业指定的加解密程序和密钥的终端上才可以查看,在没有安装该企业指定的加解密程序和密钥的终端上无法查看),由于非法人员无法获得指定的加解密程序和密钥,即使IM客户端的登录信息被非法人员窃取,非法人员采用窃取的登录信息在其他终端上登录IM客户端也无法查看到IM消息,因此,相对于现有技术而言,提高了IM消息的安全性,尤其对于企业来说,可以极大地提高企业内IM消息的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有非自建服务器的企业IM框架示意图;
图2a是本发明实施例一提供的一种消息加密方法的流程图;
图2b是本发明实施例一提供的一种CryptoAPI体系结构示意图;
图3是本发明实施例二提供的一种消息加密方法的流程图;
图4为本发明实施例三提供的一种消息解密方法的流程图;
图5为本发明实施例四提供的一种消息解密方法的流程图;
图6a为本发明实施例五提供的一种消息加密装置的结构示意图;
图6b为本发明实施例五提供的另一种消息加密装置的结构示意图;
图6c为本发明实施例五提供的又一种消息加密装置的结构示意图;
图7为本发明实施例六提供的一种消息解密装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种消息加密、解密方法和装置。以下将分别进行详细说明。
实施例一、
本实施例将从消息加密装置的角度进行描述,该消息加密装置具体可以集成在终端或者其他需要进行消息加密的设备中。
一种消息加密方法,包括:获取消息的加密请求,该加密请求携带加密程序的标识和加密所需的密钥;根据该标识对应的加密程序和该密钥对该消息进行加密,以得到加密消息;对该加密消息进行组包处理以得到对应的数据包,并将该数据包发送至网络。
如图2a所示,该消息加密方法的流程具体可以如下:
101、获取消息的加密请求,该加密请求携带加密程序的标识和加密所需的密钥。
比如,在IM客户端登录之后,IM客户端接收用户输入的消息,并接收该消息的加密请求,具体地,IM客户端可以从存储中提取需要采用的加密程序的标识,以及加密所需的密钥,然后,根据该标识和该密钥生成该消息的加密请求,其中该加密请求携带该标识和密钥。
其中,加密程序的标识可以为加密程序的名称,加密程序可以为企业自己开发的加密程序,或者企业信任的第三方开发的加密程序,其是基于预设加密算法生成的,本实施例中,在加密之前,可以在终端上安装指定的加密程序。可选地,该加密程序可以为加密服务提供程序(CSP),该CSP是Windows操作系统中提供一般加密功能的硬件和软件组件,应用程序可以调用该CSP执行加密服务。在实际应用中,企业、个人或者开发者可根据实际需求编写自己的CSP以提供各种加密、解密和签名算法等,进而提高消息的安全性;此时,加密程序的标识可以为CSP的名称。
本实施例中,获取加密程序的标识和加密所需的密钥的方式有多种,比如,可以在获取消息的加密请求之前,获取加密配置信息,该加密配置信息包括加密程序的标识和加密所需的密钥,也即在步骤101之前本实施例方法还可以包括:向服务器发送配置信息获取请求,接收服务器根据该配置信息获取请求返回的加密配置信息。
在实际应用中,企业管理员可以通过配置管理模块(比如终端)配置消息加密的加密配置信息,并将该加密配置信息存放在服务器中,比如存放IM服务商的云端服务器中,以供加密终端获取或者拉取,由于云端服务器可以存储多个企业的加密配置信息,因此,可以根据企业标识对加密配置信息进行存储,这样在企业内终端向该服务器请求配置信息时,可以根据IM登录账号所属的企业下发对应的加密配置信息给该企业内的终端。例如,IM客户端登录后,可以向IM服务商的云端服务器发送配置信息获取请求,该请求携带IM登录账号,该云端服务器在接收到该请求之后,确定该IM登录账号所属的企业,并将该企业对应的加密配置信息返回给该IM客户端。
可选地,本实施例的加密配置信息还可以包括:消息加密开关信息,该消息加密开关信息用于指示是否需要对消息进行加密;此时,在步骤“获取消息的加密请求”之前还可以包括:根据消息加密开关信息判断是否需要对消息进行加密,若是,则执行获取消息的加密请求的步骤。
102、根据该标识对应的加密程序和该密钥对该消息进行加密,以得到加密消息。
具体地,调用该标识对应的加密程序,并根据该密钥和调用的加密程序对消息进行加密;其中,该密钥作为该加密程序对应的加密算法的密钥参数。例如,IM客户端调用标识对应的CSP,并使该CSP采用该密钥对IM消息进行加密。
其中,调用标识对应的加密程序的方式有多种,比如可以通过加密接口来调用标识对应的加密程序,即步骤102可以具体包括:通过加密接口调用该标识对应的加密程序;根据该密钥和调用的加密程序对该消息进行加密。
例如,可以通过Crypto API(加密应用程序编程接口)调用CSP;其中,该CryptoAPI:是微软提出的安全加密应用框架和服务,Windows系列的操作系统都支持。它提供了一套标准的应用程序编程接口,并且开发者能方便的扩展自己的安全加密应用服务。利用CryptoAPI,开发者可以给基于Windows的应用程序添加安全服务,包括:ASN.1编码/解码、数据加密/解密、身份认证、数字证书管理,同时支持PKI、对称密码技术等。同时,应用开发者可以比较简便、快速地开发出标准、通用和易于扩展的安全加密应用。
参考图2b,为CryptoAPI体系的结构框架图,总共分了三层,具体地:
最上层是应用层,可以由各公司开发的应用程序,是加密服务的具体使用者;中间是操作系统层,向上提供统一的加密服务API接口,为应用层隔离了底层加密服务的实现细节,但他并非真正的服务实现者;最底层是服务提供层,有一个或多个CSP(加密服务提供程序)组成,他们是处理真正的数据加密工作的程序,使用不同的算法完成密钥生成、数据加密、数字签名等操作,他独立于应用层和操作系统层,第三方开发者通过通用的编程接口可方便地开发自己的CSP程序,然后扩展到自己的windows系统中。
为节省资源,本实施例中在调用标识对应的加密程序之前还可以先确定是否有加密程序,在确定存在的情况下,再通过加密接口调用加密程序;在步骤“获取消息的加密请求”之后和“通过加密接口调用标识对应的加密程序”之前,本实施例方法还可以包括:确定是否存在该标识对应的加密程序,若存在,则执行通过加密接口调用标识对应的加密程序。
具体地,可以调用加密接口查找该标识对应的加密程序,若查找到,则确定存在标识对应的程序,执行通过加密接口调用该标识对应的加密程序的步骤,否则,确定不存在标识对应的加密程序。比如,调用Crypto API查找CSP名称对应的CSP,若查找到,则确定存在对应的CSP,此时通过该Crypto API调用该CSP,若查找不到,则确定不存在对应的CSP,此时直接将该消息发送出去,不进行加密。
103、对该加密消息进行组包处理以得到对应的数据包,并将该数据包发送至网络。
比如,IM客户端对加密消息进行组包处理,并将得到的数据包通过网络发送给其他IM客户端或者IM服务商的云端服务器。
可选地,由于消息的类型有多种,比如,文本、图片、文件、音视频等,为了节省资源,本实施例方法可以选择性对某些类型的消息进行加密;也即在步骤“获取消息的加密请求”之前,本实施例方法还可以包括:
判断该消息的消息类型是否为需要加密的预设消息类型;
若是,则执行获取消息的加密请求的步骤。
其中,预设消息类型可以根据实际需求进行设定,比如可以为图片、文字等等。
在判断消息类型之前,本实施例方法还需要获取需要加密的预设消息类型,该获取方式有多种,比如,可以从加密配置信息中获取,也即上述加密配置信息还可以包括:需要加密的预设消息类型;在获取加密配置信息之后,就可以判断该消息的类型是否为需要加密的预设消息类型。
可选地,本实施例方法加密的方法有多种,比如,可以为对称加密(加密解密使用同一个密码)、非对称加密(加密解密使用不同的密钥)。考虑到消息的安全性和加解密效率,本实施例优选采用对称加密。
由上可知,本发明实施例采用获取消息的加密请求,该加密请求携带加密程序的标识和加密所需的密钥,然后,根据该标识对应的加密程序和该密钥对该消息进行加密,以得到加密消息,对该加密消息进行组包处理以得到对应的数据包,并将该数据包发送至网络;该方案可以在将消息发送到网络之前根据指定的加解密程序和密钥对消息进行加密,避免了采用IM服务商提供的IM客户端对消息进行加密,该方案可以使得仅在特定的终端(安装有指定的加解密程序和密钥的终端)上才可以查看到IM消息(比如,可以控制企业内IM消息只在安装有该企业指定的加解密程序和密钥的终端上才可以查看,在没有安装该企业指定的加解密程序和密钥的终端上无法查看),由于非法人员无法获得指定的加解密程序和密钥,即使IM客户端的登录信息被非法人员窃取,非法人员采用窃取的登录信息在其他终端上登录IM客户端也无法查看到IM消息,因此,相对于现有技术而言,提高了IM消息的安全性,尤其对于企业来说,可以极大地提高企业内IM消息的安全性。
此外,本实施例中加密程序可以由企业自己设计,提升了加密的灵活性,并且完全不会经过IM服务商之手,因此IM服务商不会知道加密算法的具体实现,即使加密后的消息内容存储在服务商的云端,他们也没办法解密出来查看实际内容,进一步提升了IM消息的安全性。
实施例二、
根据实施例一所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将以该消息加密装置具体集成在终端、加密程序为CSP为例进行说明。
其中,该消息加密装置可以以客户端或其他软体的形式安装在终端中,比如,可以安装在终端的IM客户端中。
如图3所示,该消息加密方法的具体流程可以如下:
201、终端向服务器发送配置信息获取请求,该配置信息获取请求携带IM客户端的登录账号。
比如,在终端上的IM客户端登录之后,向IM服务上的云端服务器发送配置信息获取请求,该请求携带IM客户端的登录账号。
202、终端接收并保存该服务器根据该配置信息获取请求返回的加密配置信息,该加密配置信息包括:CSP的标识、加密所需的密钥和需要加密的预设消息类型。
比如,IM客户端将服务器返回的加密配置信息缓存在本地,以便后续使用;其中,服务器在接收到配置信息获取请求之后,确定该登录账号所属的企业,然后,将企业对应的加密信息配置信息返回给该IM客户端。
在实际应用中,如果IM客户端获取加密配置信息失败,则可以间隔预定时长再次向服务器发送配置信息获取请求。
其中,加密配置信息可以通过配置管理模块进行配置,比如,配置管理模块根据用户输入的配置信息生成加密配置信息,然后,向服务器发送配置请求,该配置请求携带该加密配置信息,以使得服务器根据该配置请求将该加密配置信息存储在对应的位置。更进一步地,该服务器还可以通知终端配置更新。
本实施例中,配置管理模块主要是提供给企业管理员使用的,是整个加密系统的控制中心,一般而言是对立于IM客户端的一块内容,因为普通员工都是不能使用的。管理员可以在这里对加密相关的内容进行设置,每个IM客户端在登录后,都会拉取自己企业的这些配置信息,在收发消息的时候根据配置来处理消息。
203、终端接收用户输入的消息。
比如,终端接收用户通过IM客户端提供的输入接口输入的消息,该输入接口可以为输入框,按钮等。
204、终端判断该消息的消息类型是否为该需要加密的预设消息类型,若是,则执行步骤205,若否,执行步骤208。
具体地,终端先确定消息的消息类型,然后判断该消息类型是否为预设消息类型,比如,确定消息的类型为图片、文字等,预设消息类型可以图片、文字、视频等等。
在实际应用中,在判断消息类型之前,还可以判断是否需要进行消息加密,也即,在步骤203和204之间,还可以包括:判断是否需要进行消息加密,若是,则执行步骤204,比如可以终端判断是否开启了消息加密功能。
具体地,在加密配置信息还可以包括:加密开关信息时,可以根据该加密开关信息判断是否需要进行消息加密,该加密开关信息用户指示是否需要进行消息加密。
205、终端获取该消息的加密请求,其中,该加密请求携带CSP的标识和加密所需的密钥。
比如,IM客户端从本地存储中提取CPS标识和密钥,并根据该CPS标识和密钥生成加密请求。
206、终端通过Crypto API调用该标识对应的CSP,并根据该密钥和调用的CSP对该消息进行加密,以得到加密消息。
比如,IM客户端通过Crypto API调用该标识对应的CSP,并根据该密钥和调用的CSP对IM消息进行加密;具体地,IM客户端通过该Crypto API调用该CSP名称对应的CSP,然后,使该CSP以该密钥作为CSP的密钥参数对消息进行加密。
在实际应用中,为了节省资源,在步骤205和206之前,还可以包括:终端调用Crypto API查找该标识对应的CSP,若是查找到,则执行步骤206,若否,则可以将该消息直接发送出去。
207、终端将该加密消息组合成对应的数据包,并将该数据包括发送至网络,以通过该网络发送给其他终端。
比如,IM客户端在生成数据包之后,将该数据包发送至网络,以通过网络发送给其他IM客户端或者IM服务商的云端服务器。
208、终端将该消息直接发送至网络,以通过该网络发送给其他终端。
可选地,本实施例方法加密的方法有多种,比如,可以为对称加密(加密解密使用同一个密码)、非对称加密(加密解密使用不同的密钥)。考虑到消息的安全性和加解密效率,本实施例优选采用对称加密。
由上可知,本发明实施例采用终端向服务器发送配置信息获取请求,然后,终端接收并保存服务器返回的加密配置信息,接着,终端获取消息的加密请求,该加密请求携带加密程序的标识和加密所需的密钥,终端根据该标识对应的加密程序和该密钥对该消息进行加密,以得到加密消息,终端对该加密消息进行组包处理以得到对应的数据包,并将该数据包发送至网络;该方案可以在将消息发送到网络之前根据指定的加解密程序和密钥对消息进行加密,避免了采用IM服务商提供的IM客户端对消息进行加密,该方案可以使得仅在存在加解密程序和密钥的终端上才可以查看到IM消息,由于非法人员无法获得指定的加密程序和密钥,即使IM客户端的登录信息被非法人员窃取,非法人员采用窃取的登录信息在其他终端上登录IM客户端也无法查看到IM消息,因此,相对于现有技术而言,提高了IM消息的安全性;比如,该方案可以控制企业内IM消息只在安装有该企业指定的加解密程序和密钥的终端上才可以查看,在没有安装该企业指定的加解密程序和密钥的终端上无法查看,对于企业来说,极大地提示了IM消息的安全性。
此外,本实施例方法结合微软的CryptoAPI框架和CSP技术,实现企业IM的消息内容可由企业自己定义自己开发的一个加密程序(CSP)来加密,完全不经由IM服务提供商之手,不仅提升了加密的灵活性,还避免了IM服务提供上窃取消息。
实施例三、
本实施例将从消息解密装置的角度进行描述,该消息解密装置具体可以集成在终端或者其他需要进行消息解密的设备中。
一种消息解密方法,包括:通过网络获取数据包,并对该数据包括进行解包处理,以得到加密消息;获取加密消息的解密请求,该解密请求携带解密程序的标识和解密所需的密钥;根据该标识对应的解密程序和该密钥对该加密消息进行解密,以得到解密消息。
如图4所示,该消息解密方法的流程具体可以如下:
301、通过网络获取数据包,并对该数据包括进行解包处理,以得到加密消息。
比如,IM客户端登录之后,通过wifi网络获取数据包,然后,对该数据包括进行解包处理,以得到加密消息。
302、获取加密消息的解密请求,该解密请求携带解密程序的标识和解密所需的密钥。
其中,解密程序的标识可以为解密程序的名称,解密程序可以为企业自己开发的解密程序,或者企业信任的第三方开发的解密程序,其是基于预设解密算法生成的,本实施例中,在对消息解密之前,可以在解密终端上按照指定的解密程序,在实际应用中,该解密程序可以为加密服务提供程序(CSP),此时解密程序的标识可以为CSP的名称。
比如,在终端上安装具有加解密功能的CSP时,在需要对消息加解密时,调用该CSP对消息进行加解密,也即消息的加密和解密共用一个CSP。
本实施例中解密所需的密钥可以作为解密程序的参数,以对加密消息进行解密;在采用对称加密方案时,该解密所需的密钥与上述加密所需的密钥为同一个密钥,此时,可以提高消息加解密的效率。
具体地,获取加密消息的解密请求的方式有多种,比如,可以获取解密程序的标识和解密所需的密钥,然后,根据该标识和密钥生成加密消息的解密请求,其中该请求携带该标识和密钥。
其中,获取解密程序的标识和解密所需的密钥的的方式有多种,比如,可以在获取解密请求之前,获取解密配置信息,该界面配置信息包括:解密程序的标识和解密所需的密钥;也即在步骤302之前,本实施例方法还可以包括:向服务器发送配置信息获取请求,接收该服务器根据该配置信息获取请求返回对应的解密配置信息,该解密配置信息包括:解密程序的标识、解密所需的密钥。
在实际应用中,企业管理员可以通过配置管理模块(比如终端)配置消息解密的解密配置信息,并将该解密配置信息存放在服务器中,比如存放IM服务商的云端服务器中,以供解密终端获取或者拉取,在加密配置信息和解密配置信息为同一个配置信息时,管理员只需配置一个配置信息即可。由于云端服务器可以存储多个企业的解密配置信息,因此,可以根据企业标识对解密配置信息进行存储,这样在企业内终端向该服务器请求配置信息时,可以根据IM登录账号所属的企业下发对应的解密配置信息给该企业内的终端。例如,IM客户端登录后,可以向IM服务商的云端服务器发送配置信息获取请求,该请求携带IM登录账号,该云端服务器在接收到该请求之后,确定该IM登录账号所属的企业,并将该企业对应的解密配置信息返回给该IM客户端。
可选地,当采用对称加密方案、以及采用一个加解密程序(比如,CSP)进行加密或者解密时,该解密配置信息与上述加密配置信息可以为同一个配置信息,即加密程序与解密程序为同一个程序,加密所需的密钥与解密所需的密钥为同一个密钥;在实际应用中,可以配置一个加解密配置信息作为该解密配置信息或者加密配置信息,这样在对消息加解密的过程中,只需获取该加解密配置信息即可,提高了消息加解密的效率。
同样,本实施例中解密配置信息还可以包括:消息解密开关信息,该消息解密开关信息用于指示是否需要对消息进行解密,此时,在步骤301和302之间还可以包括:根据该消息解密开关信息判断是否需要对该加密消息进行解密,若是,则执行获取加密消息的解密请求的步骤。在实际应用中,位于同一个通信系统中的终端如果对消息进行加密,那么其一般都需要对加密消息进行解密,也即加密过程与解密过程是一个对称的过程,比如,在一个IM系统中,一个IM客户端即需要对消息进行加密,又需要对加密消息进行解密,这样采用完成IM消息交互。因此,可以通过判断是否需要对消息进行加密来判断是否需要对消息进行解密,此时,消息解密开关信息即为上述消息加密开关信息,也即,步骤“根据该消息解密开关信息判断是否需要对该加密消息进行解密”可以具体包括:根据消息加密开关信息判断是否需要对消息进行加密,若是,则确定需要对该加密消息进行解密,若否,则确定不需要对该加密消息进行解密。
303、根据该标识对应的解密程序和该密钥对该加密消息进行解密,以得到解密消息。
具体地,调用该标识对应的解密程序,并根据该密钥和调用的解密程序对加密消息进行解密;其中,该密钥作为该解密程序对应的解密算法的密钥参数。
比如,调用标识对应的CSP,并根据该密钥和该调用的CSP对加密消息进行解密;又比如,IM客户端调用标识对应的CSP,并使该CSP采用该密钥对IM消息进行解密。
其中,调用标识对应的解密程序的方式有多种,比如可以通过加密接口来调用标识对应的解密程序,即步骤303可以具体包括:通过加密接口调用该标识对应的解密程序;根据该密钥和调用的解密程序对该加密消息进行解密。例如,可以通过Crypto API(加密应用程序编程接口)调用CSP,以对加密消息进行加密等。本实施例中解密程序和加密程序可以通过同一个加密接口来调用,这样可以节省资源,比如,在解密程序和加密程序为同一个CSP时,可以通过Crypto API来调用该CSP进行加密或者解密。
为节省资源,本实施例中在调用标识对应的解密程序之前还可以先确定是否有解密程序,在确定存在的情况下,再通过加密接口调用解密程序;在步骤“获取消息的加密请求”之后和“通过加密接口调用标识对应的解密程序”之前,本实施例方法还可以包括:确定是否存在该标识对应的解密程序,若存在,则执行通过加密接口调用标识对应的解密程序。
具体地,可以调用加密接口查找该标识对应的加密程序,若查找到,则确定存在标识对应的程序,执行通过加密接口调用该标识对应的解密程序的步骤,否则,确定不存在标识对应的解密程序。比如,调用Crypto API查找CSP名称对应的CSP,若查找到,则确定存在对应的CSP,此时通过该Crypto API调用该CSP,若查找不到,则确定不存在对应的CSP。
可选地,由于消息的类型有多种,比如,文本、图片、文件、音视频等,为了节省资源,本实施例方法可以选择性对某些类型的加密消息进行解密;也即在步骤“获取消息的解密请求”之前,本实施例方法还可以包括:
判断该加密消息的消息类型是否为需要解密的预设消息类型;
若是,则执行获取加密消息的解密请求的步骤。
在实际应用中,判断消息类型的步骤可以在判断需要对消息进行解密之后执行。
其中,需要解密的预设消息类型可以根据实际需求设定,一般该需要解密的预设消息类型与需要加密的预设消息类型相同,比如,可以为图片、文字等等。
在判断消息类型之前,本实施例方法还需要获取需要解密的预设消息类型,或者在加解密消息类型相同时获取需要加密的预设消息类型,该获取方式有多种,比如,可以从解密配置信息中获取,也即上述解密配置信息还可以包括:需要解密的预设消息类型(或者在加解密消息类型相同时包括需要加密的预设消息类型)。此时,解密配置信息可以包括:解密程序的标识、解密所需的密钥、消息解密开关信息、以及需要解密的预设消息类型;比如,在解密配置信息和加密配置信息为同一个加解密配置信息时,该加解密配置信息可以包括:加解密程序的标识(如CSP名称)、加解密所需的密钥、消息加密开关信息、以及需要加解密的预先消息类型等等。
由上可知,本发明实施例采用通过网络获取数据包,并对该数据包括进行解包处理,以得到加密消息,然后,获取加密消息的解密请求,该解密请求携带解密程序的标识和解密所需的密钥,根据该标识对应的解密程序和该密钥对该加密消息进行解密,以得到解密消息;该方案可以根据指定的解密程序和密钥对加密消息进行加密,避免了采用IM服务商提供的IM客户端对消息进行解密,该方案可以使得仅在存在指定的解密程序程序和密钥的特定终端上才可以查看到IM消息,由于非法人员无法获得指定的解密程序和密钥,即使IM客户端的登录信息被非法人员窃取,非法人员采用窃取的登录信息在其他终端上登录IM客户端也无法查看到IM消息,因此,相对于现有技术而言,提高了IM消息的安全性;比如,该方案可以控制企业内IM消息只在安装有该企业指定的加解密程序和密钥的终端上才可以查看,在没有安装该企业指定的加解密程序和密钥的终端上无法查看,对于企业来说,极大地提示了IM消息的安全性。。
此外,本实施例中加密程序可以由企业自己设计,提升了加密的灵活性,并且完全不会经过IM服务商之手,因此IM服务商不会知道加密算法的具体实现,即使加密后的消息内容存储在服务商的云端,他们也没办法解密出来查看实际内容,进一步提升了IM消息的安全性。
实施例四、
根据实施例二所描写的方法,以下将举例作进一步详细说明。
在本实施例中,将以该消息解密装置具体集成在终端、解密程序为CSP为例进行说明。
其中,该消息解密装置可以以客户端或其他软体的形式安装在终端中,比如,可以安装在终端的IM客户端中。
如图5所示,该消息解密方法的具体流程可以如下:
401、终端向服务器发送配置信息获取请求,该配置信息获取请求携带IM客户端的登录账号。
402、终端接收并保存该服务器根据该配置信息获取请求返回的解密配置信息,该解密配置信息包括:CSP的标识、解密所需的密钥和需要解密的预设消息类型。
比如,IM客户端将服务器返回的解密配置信息缓存在本地,以便后续使用;其中,服务器在接收到配置信息获取请求之后,确定该登录账号所属的企业,然后,将企业对应的解密信息配置信息返回给该IM客户端。
在采用对称加密方案时,解密所需的密钥即为加密所需的密钥,需要解密的预设消息类型可以为需要加密的预设消息类型;在采用同一个CSP进行加密或者解密时,该用于解密的CSP的标识与用于加密的CSP的标识相同。
在实际应用中,如果IM客户端获取解密配置信息失败,则可以间隔预定时长再次向服务器发送配置信息获取请求。
其中,解密配置信息可以通过配置管理模块进行配置,比如,配置管理模块根据用户输入的配置信息生成解密配置信息,然后,向服务器发送配置请求,该配置请求携带该解密配置信息,以使得服务器根据该配置请求将该解密配置信息存储在对应的位置。更进一步地,该服务器还可以通知终端配置更新。在对称加密以及采用同一个CSP进行加解密时,只需配置解密配置信息或者加密配置信息即可。
本实施例中,配置管理模块主要是提供给企业管理员使用的,是整个加密系统的控制中心,一般而言是对立于IM客户端的一块内容,因为普通员工都是不能使用的。管理员可以在这里对加密相关的内容进行设置,每个IM客户端在登录后,都会拉取自己企业的这些配置信息,在收发消息的时候根据配置来处理消息。
403、终端通过网络获取数据包,并对该数据包括进行解包处理,以得到加密消息。
比如,终端通过网络可以获取其他终端发送的数据包,或者通过网络可以从存储服务器中获取数据包,比如从IM服务商的云端服务器中获取数据包等等。
404、终端判断该加密消息的消息类是否为需要解密的预设消息类型,若是,则执行步骤405,若否,则执行步骤407。
405、终端获取该消息的解密请求,其中,该解密请求携带CSP的标识和解密所需的密钥。
比如,IM客户端从本地存储的解密配置信息中提取CPS标识和密钥,并根据该CPS标识和密钥生成解密请求。
406、终端通过Crypto API调用该标识对应的CSP,并根据该密钥和调用的CSP对该加密消息进行解密,以得到解密消息。
比如,IM客户端通过Crypto API调用该标识对应的CSP,并根据该密钥和调用的CSP对IM消息进行解密;具体地,IM客户端通过该Crypto API调用该CSP名称对应的CSP,然后,使该CSP以该密钥作为CSP的密钥参数对消息进行解密。
在实际应用中,为了节省资源,在步骤405和406之前,还可以包括:终端调用Crypto API查找该标识对应的CSP,若是查找到,则执行步骤406,若否,则可以直接显示该消息。
407、终端直接展示该加密消息。
比如,在加密消息的消息类型不属于预设消息类型,或者查找不到标识对应的CSP时,终端不对该加密消息进行加密,可以直接显示该加密消息,当然,由于未解密,在实际显示时会显示乱码等。
由上可知,本发明实施例终端通过网络获取数据包,并对该数据包括进行解包处理,以得到加密消息,然后,终端获取加密消息的解密请求,该解密请求携带解密程序的标识和解密所需的密钥,终端根据该标识对应的解密程序和该密钥对该加密消息进行解密,以得到解密消息;该方案可以根据指定的解密程序和密钥对加密消息进行加密,避免了采用IM服务商提供的IM客户端对消息进行解密,该方案可以使得仅在存在指定的解密程序和密钥的特定终端上才可以查看到IM消息,由于非法人员无法获得指定的解密程序和密钥,即使IM客户端的登录信息被非法人员窃取,非法人员采用窃取的登录信息在其他终端上登录IM客户端也无法查看到IM消息,因此,相对于现有技术而言,提高了IM消息的安全性,比如,该方案可以控制企业内IM消息只在安装有该企业指定的加解密程序和密钥的终端上才可以查看,在没有安装该企业指定的加解密程序和密钥的终端上无法查看,对于企业来说,极大地提示了IM消息的安全性。
实施例五、
为了更好地实施以上方法,本发明实施例还提供一种消息加密装置,如图6a所示,该消息加密装置可以包括获取单元501、加密单元502和发送处理单元403,如下:
(1)获取单元501;
获取单元501,用于获取消息的加密请求,该加密请求携带加密程序的标识和加密所需的密钥。
(2)加密单元502;
加密单502元,用于根据该标识对应的加密程序和该密钥对该消息进行加密,以得到加密消息。
具体地,加密单元502可以包括调用子单元和加密子单元;
该调用子单元,用于通过加密接口调用该标识对应的加密程序;
该加密子单元,用于根据该密钥和调用的加密程序对该消息进行加密。
其中,加密程序的标识可以为加密程序的名称,加密程序可以为企业自己开发的加密程序,或者企业信任的第三方开发的加密程序,其是基于预设加密算法生成的,本实施例中,在加密之前,可以在终端上安装指定的加密程序。可选地,该加密程序可以为加密服务提供程序(CSP),该CSP是Windows操作系统中提供一般加密功能的硬件和软件组件,应用程序可以调用该CSP执行加密服务。在实际应用中,企业、个人或者开发者可根据实际需求编写自己的CSP以提供各种加密、解密和签名算法等,进而提高消息的安全性;此时,加密程序的标识可以为CSP的名称。
(3)发送处理单元503;
发送处理单元503,用于对该加密消息进行组包处理以得到对应的数据包,并将该数据包发送至网络。
可选地,参考图6b,本实施例提供的消息加密装置还可以包括:判断单元504;
该判断单元504用于在该获取单元501获取消息的加密请求之前,判断该消息的消息类型是否为需要加密的预设消息类型;
此时,获取单元501,具体用于在该判断单元判断为是时获取消息的加密请求。
可选地,参考图6c,本实施例提供的消息加密装置还可以包括:请求单元505和接收单元506;
该请求单元505,用于在该判断单元504判断该消息的消息类型是否为需要加密的预设消息类型之前,向服务器发送配置信息获取请求;
该接收单元506,用于接收该服务器根据该配置信息获取请求返回的加密配置信息,该加密配置信息包括:加密程序的标识、加密所需的密钥和需要加密的预设消息类型。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
该消息加密装置具体可以集成在终端等设备中,比如,以客户端或软体等形式安装在该终端中,该终端具体可以为手机、平板电脑或PC等设备。
由上可知,本实施例的消息加密装置采用获取单元501获取消息的加密请求,该加密请求携带加密程序的标识和加密所需的密钥,然后,由加密单元502根据该标识对应的加密程序和该密钥对该消息进行加密,以得到加密消息,由发送处理单元503对该加密消息进行组包处理以得到对应的数据包,并将该数据包发送至网络;该方案可以在将消息发送到网络之前根据指定的加解密程序和密钥对消息进行加密,避免了采用IM服务商提供的IM客户端对消息进行加密,该方案可以使得仅在特定的终端上才可以查看到IM消息,由于非法人员无法获得指定的加密程序和密钥,即使IM客户端的登录信息被非法人员窃取,非法人员采用窃取的登录信息在其他终端上登录IM客户端也无法查看到IM消息,因此,相对于现有技术而言,提高了IM消息的安全性,比如,该方案可以控制企业内IM消息只在安装有该企业指定的加解密程序和密钥的终端上才可以查看,在没有安装该企业指定的加解密程序和密钥的终端上无法查看,对于企业来说,极大地提示了IM消息的安全性。
此外,本实施例中加密程序可以由企业自己设计,提升了加密的灵活性,并且完全不会经过IM服务商之手,因此IM服务商不会知道加密算法的具体实现,即使加密后的消息内容存储在服务商的云端,他们也没办法解密出来查看实际内容,进一步提升了IM消息的安全性。
实施例六、
相应的,本发明实施例还提供一种消息解密装置,如图7所示,该消息解密装置可以包括消息处理单元601、获取单元602和解密单元603,如下:
(1)消息处理单元601;
消息处理单元601,用于通过网络获取数据包,并对该数据包括进行解包处理,以得到加密消息。
(2)获取单元602;
获取单元602,用于获取加密消息的解密请求,该解密请求携带解密程序的标识和解密所需的密钥。
(3)解密单元603;
解密单元603,用于根据该标识对应的解密程序和该密钥对该加密消息进行解密,以得到解密消息。
比如,解密单元603可以包括:调用子单元和解密子单元;
该调用子单元,用于通过加密接口调用该标识对应的解密程序;
该解密子单元,用于根据该密钥和调用的解密程序对该加密消息进行解密。
其中,解密程序的标识可以为解密程序的名称,解密程序可以为企业自己开发的解密程序,或者企业信任的第三方开发的解密程序,其是基于预设解密算法生成的,本实施例中,在对消息解密之前,可以在解密终端上按照指定的解密程序,在实际应用中,该解密程序可以为加密服务提供程序(CSP),此时解密程序的标识可以为CSP的名称。
比如,在终端上安装具有加解密功能的CSP时,在需要对消息加解密时,调用该CSP对消息进行加解密,也即消息的加密和解密共用一个CSP。
本实施例中解密所需的密钥可以作为解密程序的参数,以对加密消息进行解密;在采用对称加密方案时,该解密所需的密钥与上述加密所需的密钥为同一个密钥,此时,可以提高消息加解密的效率。
可选地,本实施例的消息解密装置还可以包括:判断单元;
判断单元,用于在该获取单元获取加密消息的解密请求之前,判断该加密消息的消息类型是否为需要解密的预设消息类型;
此时,该获取单元602,用于在该判断单元判断为是时获取加密消息的解密请求。
可选地,本实施例的消息解密装置还可以包括:请求单元和接收单元;
该请求单元,用于向服务器发送配置信息获取请求;
接收单元,用于接收该服务器根据该配置信息获取请求返回对应的解密配置信息,该解密配置信息包括:解密程序的标识、解密所需的密钥和需要解密的预设消息类型。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
该消息解密装置具体可以集成在终端等设备中,比如,以客户端或软体等形式安装在该终端中,该终端具体可以为手机、平板电脑或PC等设备。
由上可知,本实施例的消息解密装置采用消息处理单元601通过网络获取数据包,并对该数据包括进行解包处理,以得到加密消息,然后,由获取单元602获取加密消息的解密请求,该解密请求携带解密程序的标识和解密所需的密钥,由解密单元603根据该标识对应的解密程序和该密钥对该加密消息进行解密,以得到解密消息;
该方案可以根据指定的解密程序和密钥对加密消息进行加密,避免了采用IM服务商提供的IM客户端对消息进行解密,该方案可以使得仅在存在指定的解密程序和密钥的特定终端上才可以查看到IM消息,由于非法人员无法获得指定的解密程序和密钥,即使IM客户端的登录信息被非法人员窃取,非法人员采用窃取的登录信息在其他终端上登录IM客户端也无法查看到IM消息,因此,相对于现有技术而言,提高了IM消息的安全性,比如,该方案可以控制企业内IM消息只在安装有该企业指定的加解密程序和密钥的终端上才可以查看,在没有安装该企业指定的加解密程序和密钥的终端上无法查看IM消息,对于企业来说,极大地提示了IM消息的安全性。
此外,本实施例中加密程序可以由企业自己设计,提升了加密的灵活性,并且完全不会经过IM服务商之手,因此IM服务商不会知道加密算法的具体实现,即使加密后的消息内容存储在服务商的云端,他们也没办法解密出来查看实际内容,进一步提升了IM消息的安全性。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,RandomAccess Memory)、磁盘或光盘等。
以上对本发明实施例所提供的一种消息加密、解密方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (18)

1.一种消息加密方法,其特征在于,适用于终端,包括:
获取即时通讯客户端生成的消息的加密请求,该加密请求携带加密程序的标识和加密所需的密钥;
根据所述标识对应的加密程序和所述密钥对所述消息进行加密,以得到加密消息,其中,所述加密程序安装在所述终端中、且独立于所述即时通讯客户端的加密程序;
通过所述即时通讯客户端对所述加密消息进行组包处理以得到对应的数据包,并将所述数据包发送至网络。
2.如权利要求1所述的消息加密方法,其特征在于,所述根据所述标识对应的加密程序和所述密钥对所述消息进行加密的步骤具体包括:
通过加密接口调用所述标识对应的加密程序;
根据所述密钥和调用的加密程序对所述消息进行加密。
3.如权利要求1所述的消息加密方法,其特征在于,在获取消息的加密请求之前,所述消息加密方法还可以包括:
判断所述消息的消息类型是否为需要加密的预设消息类型;
若是,则执行获取消息的加密请求的步骤。
4.如权利要求3所述的消息加密方法,其特征在于,在判断所述消息的消息类型是否为需要加密的预设消息类型之前,所述消息加密方法还包括:
向服务器发送配置信息获取请求;
接收所述服务器根据所述配置信息获取请求返回的加密配置信息,所述加密配置信息包括:加密程序的标识、加密所需的密钥和需要加密的预设消息类型。
5.一种消息解密方法,其特征在于,适用于终端,包括:
通过即时通讯客户端从网络获取数据包,并对所述数据包括进行解包处理,以得到加密消息;
获取加密消息的解密请求,所述解密请求携带解密程序的标识和解密所需的密钥;
根据所述标识对应的解密程序和所述密钥对所述加密消息进行解密,以得到解密消息,其中,所述解密程序安装在所述终端中、且独立于所述即时通讯客户端的解密程序。
6.如权利要求5所述的消息解密方法,其特征在于,所述根据所述标识对应的解密程序和所述密钥对所述加密消息进行解密的步骤具体包括:
通过加密接口调用所述标识对应的解密程序;
根据所述密钥和调用的解密程序对所述加密消息进行解密。
7.如权利要求5所述的消息解密方法,其特征在于,在获取加密消息的解密请求之前,所述消息解密方法还包括:
判断所述加密消息的消息类型是否为需要解密的预设消息类型;
若是,则执行获取加密消息的解密请求的步骤。
8.如权利要求7所述的消息解密方法,其特征在于,在获取消息的加密请求之前,所述消息加密方法还包括:
向服务器发送配置信息获取请求;
接收所述服务器根据所述配置信息获取请求返回对应的解密配置信息,所述解密配置信息包括:解密程序的标识、解密所需的密钥和需要解密的预设消息类型。
9.一种消息加密装置,其特征在于,适用于终端,包括:
获取单元,用于获取即时通讯客户端生成的消息的加密请求,该加密请求携带加密程序的标识和加密所需的密钥;
加密单元,用于根据所述标识对应的加密程序和所述密钥对所述消息进行加密,以得到加密消息,其中,所述加密程序安装在所述终端中、且独立于所述即时通讯客户端的加密程序;
发送处理单元,用于通过所述即时通讯客户端对所述加密消息进行组包处理以得到对应的数据包,并将所述数据包发送至网络。
10.如权利要求9所述的消息加密装置,其特征在于,所述加密单元包括:调用子单元和加密子单元;
所述调用子单元,用于通过加密接口调用所述标识对应的加密程序;
所述加密子单元,用于根据所述密钥和调用的加密程序对所述消息进行加密。
11.如权利要求9所述的消息加密装置,其特征在于,还包括:判断单元;
所述判断单元,用于在所述获取单元获取消息的加密请求之前,判断所述消息的消息类型是否为需要加密的预设消息类型;
所述获取单元,具体用于在所述判断单元判断为是时获取消息的加密请求。
12.如权利要求11所述的消息加密装置,其特征在于,还包括:请求单元和接收单元;
所述请求单元,用于在所述判断单元判断所述消息的消息类型是否为需要加密的预设消息类型之前,向服务器发送配置信息获取请求;
所述接收单元,用于接收所述服务器根据所述配置信息获取请求返回的加密配置信息,所述加密配置信息包括:加密程序的标识、加密所需的密钥和需要加密的预设消息类型。
13.一种消息解密装置,其特征在于,适用于终端,包括:
消息处理单元,用于通过即时通讯客户端从网络获取数据包,并对所述数据包括进行解包处理,以得到加密消息;
获取单元,用于获取加密消息的解密请求,所述解密请求携带解密程序的标识和解密所需的密钥;
解密单元,用于根据所述标识对应的解密程序和所述密钥对所述加密消息进行解密,以得到解密消息,其中,所述解密程序安装在所述终端中、且独立于所述即时通讯客户端的解密程序。
14.如权利要求13所述的消息解密装置,其特征在于,所述解密单元包括:调用子单元和解密子单元;
所述调用子单元,用于通过加密接口调用所述标识对应的解密程序;
所述解密子单元,用于根据所述密钥和调用的解密程序对所述加密消息进行解密。
15.如权利要求13所述的消息解密装置,其特征在于,还包括:判断单元;
所述判断单元,用于在所述获取单元获取加密消息的解密请求之前,判断所述加密消息的消息类型是否为需要解密的预设消息类型;
所述获取单元,用于在所述判断单元判断为是时获取加密消息的解密请求。
16.如权利要求15所述的消息解密装置,其特征在于,还包括:请求单元和接收单元;
所述请求单元,用于向服务器发送配置信息获取请求;
接收单元,用于接收所述服务器根据所述配置信息获取请求返回对应的解密配置信息,所述解密配置信息包括:解密程序的标识、解密所需的密钥和需要解密的预设消息类型。
17.一种计算机可读存储介质,其存储有用于消息加密的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-4任一项所述的方法。
18.一种计算机可读存储介质,其存储有用于消息解密的计算机程序,其中,所述计算机程序使得计算机执行如权利要求5-8任一项所述的方法。
CN201610072662.9A 2016-02-02 2016-02-02 一种消息加密、解密方法和装置 Active CN107026824B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201610072662.9A CN107026824B (zh) 2016-02-02 2016-02-02 一种消息加密、解密方法和装置
PCT/CN2017/072292 WO2017133558A1 (zh) 2016-02-02 2017-01-23 一种消息加密、解密方法和装置
US15/948,056 US10819687B2 (en) 2016-02-02 2018-04-09 Apparatus and method of encrypted communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610072662.9A CN107026824B (zh) 2016-02-02 2016-02-02 一种消息加密、解密方法和装置

Publications (2)

Publication Number Publication Date
CN107026824A CN107026824A (zh) 2017-08-08
CN107026824B true CN107026824B (zh) 2019-10-25

Family

ID=59500086

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610072662.9A Active CN107026824B (zh) 2016-02-02 2016-02-02 一种消息加密、解密方法和装置

Country Status (3)

Country Link
US (1) US10819687B2 (zh)
CN (1) CN107026824B (zh)
WO (1) WO2017133558A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108650233B (zh) * 2018-04-12 2020-11-03 江南大学 一种JavaScript数据传输加密方法
US11645380B2 (en) * 2018-06-07 2023-05-09 Colorado State University Research Foundation Process-variability-based encryption for photonic communication architectures
CN109040790B (zh) * 2018-06-28 2020-12-22 苏州科达科技股份有限公司 数据加解密方法、装置及电子设备
GB2575664B (en) * 2018-07-18 2022-08-24 Airbus Defence & Space Ltd Secure remote computer system
CN109039871A (zh) * 2018-08-31 2018-12-18 国鼎网络空间安全技术有限公司 基于容器的即时通信软件的端到端加密系统及方法
CN111585748B (zh) * 2019-02-18 2023-07-14 飞狐信息技术(天津)有限公司 数据传输方法及装置
CN110417638B (zh) * 2019-06-10 2021-10-26 腾讯科技(深圳)有限公司 通信数据处理方法和装置、存储介质及电子装置
CN110933035B (zh) * 2019-10-29 2022-02-18 杭州涂鸦信息技术有限公司 一种配置信息的传输方法及其传输系统和存储装置
CN111372056A (zh) * 2020-03-26 2020-07-03 浙江大华技术股份有限公司 一种视频数据加密、解密处理方法及装置
CN111628972A (zh) * 2020-04-30 2020-09-04 京东数字科技控股有限公司 一种数据加解密装置、方法、系统及存储介质
CN114692175A (zh) * 2020-12-30 2022-07-01 成都鼎桥通信技术有限公司 加解密方法、装置、设备、存储介质及计算机程序产品
CN112929172B (zh) * 2021-02-08 2023-03-14 中国工商银行股份有限公司 基于密钥库动态加密数据的系统、方法及装置
CN113992352A (zh) * 2021-09-27 2022-01-28 青岛海尔科技有限公司 一种消息推送方法、装置、电子设备及存储介质
CN115150153A (zh) * 2022-06-30 2022-10-04 中国工商银行股份有限公司 报文处理方法、装置、设备、存储介质和计算机程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1645827A (zh) * 2003-12-05 2005-07-27 巴比禄股份有限公司 密钥设定系统、存取点、无线局域网终端及密钥设定方法
CN104539517A (zh) * 2014-12-26 2015-04-22 深圳创维-Rgb电子有限公司 一种基于智能终端本地服务器的聊天方法及系统
CN105141635A (zh) * 2015-09-21 2015-12-09 北京元心科技有限公司 一种群发消息安全通讯的方法和系统
CN105262756A (zh) * 2015-10-28 2016-01-20 广东欧珀移动通信有限公司 数据的加密和解密方法及加密和解密装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0520660D0 (en) * 2005-10-11 2005-11-16 Vodafone Plc Telecommunications networks
US20070162554A1 (en) * 2006-01-12 2007-07-12 International Business Machines Corporation Generating a public key and a private key in an instant messaging server
US7877594B1 (en) * 2006-03-16 2011-01-25 Copytele, Inc. Method and system for securing e-mail transmissions
JP5205075B2 (ja) * 2008-02-13 2013-06-05 パナソニック株式会社 暗号処理方法、暗号処理装置、復号処理方法および復号処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1645827A (zh) * 2003-12-05 2005-07-27 巴比禄股份有限公司 密钥设定系统、存取点、无线局域网终端及密钥设定方法
CN104539517A (zh) * 2014-12-26 2015-04-22 深圳创维-Rgb电子有限公司 一种基于智能终端本地服务器的聊天方法及系统
CN105141635A (zh) * 2015-09-21 2015-12-09 北京元心科技有限公司 一种群发消息安全通讯的方法和系统
CN105262756A (zh) * 2015-10-28 2016-01-20 广东欧珀移动通信有限公司 数据的加密和解密方法及加密和解密装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
即时通信的PKI保护策略研究;毛韶阳等;《湖南人文科技学院学报》;20070815(第04期);第45-47页 *
基于即时通信的安全保护策略;徐向阳等;《计算机工程》;20071105(第21期);第125-127页 *

Also Published As

Publication number Publication date
US20180234399A1 (en) 2018-08-16
US10819687B2 (en) 2020-10-27
WO2017133558A1 (zh) 2017-08-10
CN107026824A (zh) 2017-08-08

Similar Documents

Publication Publication Date Title
CN107026824B (zh) 一种消息加密、解密方法和装置
CN105376216B (zh) 一种远程访问方法、代理服务器及客户端
US20220198049A1 (en) Blockchain-Based Secure Email System
Kaijser et al. SESAME: The solution to security for open distributed systems
US9531687B2 (en) Techniques for secure message offloading
JPH08227397A (ja) 公衆回線用遠隔認証方法及び装置
CN106487659B (zh) 信息加密方法、信息加密装置及终端
CN104917603B (zh) 一种信息安全传递方法、接收终端、及发送终端
CN104270516B (zh) 解密方法和移动终端
JPH07325785A (ja) ネットワーク利用者認証方法および暗号化通信方法とアプリケーションクライアントおよびサーバ
CN104202736A (zh) 面向Android系统的移动终端短信端到端加密方法
CN105743917B (zh) 消息传输方法及终端
CN107925571A (zh) 利用访问性的信息安全装置及信息安全方法
CN112260820A (zh) 一种Android系统下基于密钥拆分保护的移动支付密码键盘及其实现方法
CN109379345A (zh) 敏感信息传输方法及系统
US20230370430A1 (en) Personalized secure communication session management
KR102413497B1 (ko) 보안 전자 데이터 전송을 위한 시스템 및 방법
CN108494724A (zh) 基于多授权机构属性加密算法的云存储加密系统及方法
CN108737087B (zh) 邮箱账号密码的保护方法及计算机可读存储介质
CN109492359A (zh) 一种用于身份认证的安全网络中间件及其实现方法和装置
CN103986640A (zh) 一种可保障用户通讯内容安全的即时通讯方法及其系统
CN107733841A (zh) 基于多重加密的消息传输方法及装置
CN105791301A (zh) 一种面向多用户组群信密分离的密钥分发管理方法
US10237306B1 (en) Communicating service encryption key to interceptor for monitoring encrypted communications
CN110121002A (zh) 一种在安卓操作系统对文字加解密的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant