CN109359472B - 一种数据加解密处理方法、装置以及相关设备 - Google Patents

一种数据加解密处理方法、装置以及相关设备 Download PDF

Info

Publication number
CN109359472B
CN109359472B CN201811095416.0A CN201811095416A CN109359472B CN 109359472 B CN109359472 B CN 109359472B CN 201811095416 A CN201811095416 A CN 201811095416A CN 109359472 B CN109359472 B CN 109359472B
Authority
CN
China
Prior art keywords
encryption
decryption
server
key
service
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
CN201811095416.0A
Other languages
English (en)
Other versions
CN109359472A (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 CN201811095416.0A priority Critical patent/CN109359472B/zh
Publication of CN109359472A publication Critical patent/CN109359472A/zh
Application granted granted Critical
Publication of CN109359472B publication Critical patent/CN109359472B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例公开了一种数据加解密处理方法、装置以及相关设备,其中方法可以包括:客户端从业务服务器获取加密服务器配置信息,并根据加密服务器配置信息与加密服务器进行连接;客户端根据加密服务器配置信息对本地的加解密工具包进行初始化,并将初始化后的加解密工具包确定为目标加解密工具包;当在第一会话业务中获取到待发送消息时,基于目标加解密工具包对待发送消息进行加密,得到第一密文,并通过业务服务器将第一密文发送至第一会话业务中的接收对象;当在第一会话业务中获取到业务服务器转发的第二密文时,则基于目标加解密工具包对第二密文进行解密。采用本发明,可以在服务商和企业之间保证数据的安全性。

Description

一种数据加解密处理方法、装置以及相关设备
技术领域
本发明涉及互联网技术领域,尤其涉及一种数据加解密处理方法、装置以及相关设备。
背景技术
在SAAS(Software-as-a-Service,软件即服务)模式下,服务商可以为企业搭建信息化所需要的所有网络基础设施及软硬件运作平台,并负责所有前期的实施、后期的维护等一系列服务。企业不需要具备很强的IT能力即可通过互联网使用信息服务。在这种模式下,企业的所有数据都存储在服务商的云端服务器上,虽然云端服务器也可以为企业提供数据加密、解密机制来保障数据的安全性,但是企业所加密的数据均可以在云端服务器进行解密,即服务商是可以获知企业的所有数据,这样就会存在数据被服务商泄露的可能性,因此,目前的这种模式并不能完全保障数据的安全性。
发明内容
本发明实施例提供一种数据加解密处理方法、装置以及相关设备,可以在服务商和企业之间保证数据的安全性。
本发明实施例一方面提供了一种数据加解密处理方法,包括:
客户端从业务服务器获取加密服务器配置信息,并根据所述加密服务器配置信息与加密服务器进行连接;
所述客户端根据所述加密服务器配置信息对本地的加解密工具包进行初始化,并将初始化后的加解密工具包确定为目标加解密工具包;所述加密服务器配置信息包括所述加密服务器所指示的加解密规则,所述目标加解密工具包具有所述加密服务器配置信息中的所述加解密规则;
当所述客户端在第一会话业务中获取到待发送消息时,基于所述目标加解密工具包以及第一加密密钥对所述待发送消息进行加密,得到第一密文,并通过所述业务服务器将所述第一密文发送至所述第一会话业务中的接收对象;
当所述客户端在所述第一会话业务中获取到所述业务服务器转发的第二密文时,则基于所述目标加解密工具包以及第一解密密钥对所述第二密文进行解密,得到所述第二密文中的内容消息;所述第一加密密钥和所述第一解密密钥均是由所述目标加解密工具包基于所述加解密规则所生成的。
其中,所述加密服务器包括从所述业务服务器同步获得的用户信息集合;所述用户信息集合包括所述客户端对应的用户信息;
所述客户端从业务服务器获取加密服务器配置信息,并根据所述加密服务器配置信息与加密服务器进行连接,包括:
所述客户端从业务服务器获取加密服务器配置信息,并接收所述业务服务器发送的与所述加密服务器配置信息对应的鉴权请求,所述客户端根据所述鉴权请求将待验证用户信息发送至所述业务服务器,所述业务服务器再将所述待验证用户信息转发至与所述加密服务器配置信息对应的所述加密服务器;
若所述用户信息集合中的所述客户端对应的用户信息与所述待验证用户信息相匹配,则所述客户端通过所述业务服务器获取所述加密服务器所分配的连接权限;
所述客户端根据所述连接权限获取所述加密服务器配置信息中的加密服务器地址信息,并与所述加密服务器地址信息对应的所述加密服务器进行连接。
其中,所述客户端根据所述加密服务器配置信息对本地的加解密工具包进行初始化,并将初始化后的加解密工具包确定为目标加解密工具包,包括:
所述客户端获取所述加密服务器配置信息中的加解密算法标识、密钥生成模式标识;
所述客户端根据所述加解密工具包所提供的用于初始化的配置接口,在所述加解密工具包中设置与所述加解密算法标识对应的加解密算法,并设置与所述密钥生成模式标识对应的密钥生成模式,得到初始化后的加解密工具包;
所述客户端将所述初始化后的加解密工具包确定为目标加解密工具包。
其中,还包括:
所述客户端获取所述业务服务器创建的第一会话业务,并从所述业务服务器获取与所述第一会话业务对应的第一会话标识;
若所述密钥生成模式为第一生成模式,则所述客户端根据所述目标加解密工具包和所述第一会话标识生成所述第一加密密钥;
若所述密钥生成模式为第二生成模式,则所述客户端从所述加密服务器获取用于生成密钥的种子参数,并根据所述目标加解密工具包、所述第一会话标识以及所述种子参数,生成所述第一加密密钥。
其中,所述当所述客户端在第一会话业务中获取到待发送消息时,基于所述目标加解密工具包以及第一加密密钥对所述待发送消息进行加密,得到第一密文,并通过所述业务服务器将所述第一密文发送至所述第一会话业务中的接收对象,包括:
当所述客户端在所述第一会话业务中获取到待发送消息时,基于所述目标加解密工具包以及所述第一加密密钥对所述待发送消息进行加密,得到第一密文;
所述客户端获取所述第一会话业务中与接收对象对应的对象信息,并根据所述业务服务器所提供的业务密钥,对所述第一密文、第一伪密钥、所述对象信息以及所述第一会话业务对应的第一会话标识进行加密,得到第一加密消息结构体;所述第一伪密钥是基于所述目标加解密工具包所生成;
所述客户端将所述第一加密消息结构体发送至所述业务服务器,所述业务服务器根据所述业务密钥对所述第一加密消息结构体进行解密,根据解密后得到的所述对象信息和所述第一会话标识,所述业务服务器将解密后得到的所述第一密文和所述第一伪密钥转发至所述接收对象;所述第一伪密钥用于对接收对象中的解密密钥进行使用期限更新。
其中,所述当所述客户端在所述第一会话业务中获取到待发送消息时,基于所述目标加解密工具包以及所述第一加密密钥对所述待发送消息进行加密,得到第一密文,包括:
当所述客户端在所述第一会话业务中获取到待发送消息时,获取所述第一加密密钥的使用期限;
若所述第一加密密钥的使用期限已过期,则发送密钥更新请求到所述加密服务器,以使所述加密服务器根据所述密钥更新请求返回具有有效的使用期限的第一加密密钥;
所述客户端根据所述具有有效的使用期限的第一加密密钥和所述目标加解密工具包,对所述待发送消息进行加密,得到第一密文。
其中,所述当所述客户端在所述第一会话业务中获取到所述业务服务器转发的第二密文时,则基于所述目标加解密工具包以及第一解密密钥对所述第二密文进行解密,得到所述第二密文中的内容消息,包括:
当所述客户端在所述第一会话业务中获取到所述业务服务器转发的第二加密消息结构体时,根据所述业务密钥对所述第二加密消息结构体进行解密,得到所述第二加密消息结构体中的所述第二密文和第二伪密钥;所述第二加密消息结构体是由生成所述第二密文的发送对象根据所述业务密钥,对所述第二密文、所述第二伪密钥、所述客户端的对象信息以及所述第一会话标识进行加密所得到的;所述第二伪密钥是基于生成所述第二密文的发送对象中的加解密工具包所生成的;
所述客户端基于所述目标加解密工具包获取与所述第二伪密钥和所述第一会话标识对应的第一解密密钥,并检测所述第一解密密钥的使用期限;
若所述第一解密密钥的使用期限已过期,则发送携带所述第二伪密钥的密钥更新请求到所述加密服务器,所述加密服务器根据所述密钥更新请求返回具有有效的使用期限的第一解密密钥;
所述客户端根据所述具有有效的使用期限的第一解密密钥以及所述目标加解密工具包,对所述第二密文进行解密,得到所述第二密文中的内容消息。
其中,还包括:
若所述客户端检测到所述连接权限对应的权限期限已过期,则重新接收所述业务服务器发送的与所述加密服务器配置信息对应的鉴权请求,以重新获得具有有效的权限期限的连接权限。
其中,还包括:
获取第二会话业务对应的第二加密密钥,并根据所述目标加解密工具包以及所述第二加密密钥对所述第二密文中的内容消息进行加密,得到第三密文,并通过所述业务服务器将所述第三密文发送至所述第二会话业务中的接收对象;所述第二加密密钥是由所述目标加解密工具包根据所述第二会话业务对应的第二会话标识所生成的。
其中,还包括:
当所述客户端在所述第一会话业务中获取到所述业务服务器发送的第四密文,且将所述第四密文转发至第三会话业务中时,获取所述第三会话业务对应的第三加密密钥,并基于所述目标加解密工具包将所述第四密文中的第一加密密钥转换为所述第三加密密钥,得到更新后的第四密文,并通过所述业务服务器将所述更新后的第四密文发送至所述第三会话业务中的接收对象;所述第三加密密钥是由所述目标加解密工具包根据所述第三会话业务对应的第三会话标识所生成的。
本发明实施例一方面提供了一种数据加解密处理装置,应用于客户端,包括:
获取连接模块,用于从业务服务器获取加密服务器配置信息,并根据所述加密服务器配置信息与加密服务器进行连接;
初始化模块,用于根据所述加密服务器配置信息对本地的加解密工具包进行初始化,并将初始化后的加解密工具包确定为目标加解密工具包;所述加密服务器配置信息包括所述加密服务器所指示的加解密规则,所述目标加解密工具包具有所述加密服务器配置信息中的所述加解密规则;
加密模块,用于当在第一会话业务中获取到待发送消息时,基于所述目标加解密工具包以及第一加密密钥对所述待发送消息进行加密,得到第一密文,并通过所述业务服务器将所述第一密文发送至所述第一会话业务中的接收对象;
解密模块,用于当在所述第一会话业务中获取到所述业务服务器转发的第二密文时,则基于所述目标加解密工具包以及第一解密密钥对所述第二密文进行解密,得到所述第二密文中的内容消息;所述第一加密密钥和所述第一解密密钥均是由所述目标加解密工具包基于所述加解密规则所生成的。
其中,所述加密服务器包括从所述业务服务器同步获得的用户信息集合;所述用户信息集合包括所述客户端对应的用户信息;
所述获取连接模块包括:
收发单元,用于从业务服务器获取加密服务器配置信息,并接收所述业务服务器发送的与所述加密服务器配置信息对应的鉴权请求,根据所述鉴权请求将待验证用户信息发送至所述业务服务器,以使所述业务服务器将所述待验证用户信息转发至与所述加密服务器配置信息对应的所述加密服务器;
权限获取单元,用于若所述用户信息集合中的所述客户端对应的用户信息与所述待验证用户信息相匹配,则通过所述业务服务器获取所述加密服务器所分配的连接权限;
连接单元,用于根据所述连接权限获取所述加密服务器配置信息中的加密服务器地址信息,并与所述加密服务器地址信息对应的所述加密服务器进行连接。
其中,所述初始化模块包括:
配置获取单元,用于获取所述加密服务器配置信息中的加解密算法标识、密钥生成模式标识;
设置单元,用于根据所述加解密工具包所提供的用于初始化的配置接口,在所述加解密工具包中设置与所述加解密算法标识对应的加解密算法,并设置与所述密钥生成模式标识对应的密钥生成模式,得到初始化后的加解密工具包;
确定单元,用于将所述初始化后的加解密工具包确定为目标加解密工具包。
其中,还包括:
会话获取模块,用于获取所述业务服务器创建的第一会话业务,并从所述业务服务器获取与所述第一会话业务对应的第一会话标识;
第一密钥生成模块,用于若所述密钥生成模式为第一生成模式,则根据所述目标加解密工具包和所述第一会话标识生成所述第一加密密钥;
第二密钥生成模块,用于若所述密钥生成模式为第二生成模式,则从所述加密服务器获取用于生成密钥的种子参数,并根据所述目标加解密工具包、所述第一会话标识以及所述种子参数,生成所述第一加密密钥。
其中,所述加密模块包括:
第一加密单元,用于当在所述第一会话业务中获取到待发送消息时,基于所述目标加解密工具包以及所述第一加密密钥对所述待发送消息进行加密,得到第一密文;
第二加密单元,用于获取所述第一会话业务中与接收对象对应的对象信息,并根据所述业务服务器所提供的业务密钥,对所述第一密文、第一伪密钥、所述对象信息以及所述第一会话业务对应的第一会话标识进行加密,得到第一加密消息结构体;所述第一伪密钥是基于所述目标加解密工具包所生成;
消息发送单元,用于将所述第一加密消息结构体发送至所述业务服务器,所述业务服务器根据所述业务密钥对所述第一加密消息结构体进行解密,根据解密后得到的所述对象信息和所述第一会话标识,以使所述业务服务器将解密后得到的所述第一密文和所述第一伪密钥转发至所述接收对象;所述第一伪密钥用于对接收对象中的解密密钥进行使用期限更新。
其中,所述第一加密单元包括:
期限获取子单元,用于当在所述第一会话业务中获取到待发送消息时,获取所述第一加密密钥的使用期限;
更新发送子单元,用于若所述第一加密密钥的使用期限已过期,则发送密钥更新请求到所述加密服务器,以使所述加密服务器根据所述密钥更新请求返回具有有效的使用期限的第一加密密钥;
第一加密子单元,用于根据所述具有有效的使用期限的第一加密密钥和所述目标加解密工具包,对所述待发送消息进行加密,得到第一密文。
其中,所述解密模块包括:
获取检测单元,用于当在所述第一会话业务中获取到所述业务服务器转发的第二加密消息结构体时,根据所述业务密钥对所述第二加密消息结构体进行解密,得到所述第二加密消息结构体中的所述第二密文和第二伪密钥;所述第二加密消息结构体是由生成所述第二密文的发送对象根据所述业务密钥,对所述第二密文、所述第二伪密钥、所述客户端的对象信息以及所述第一会话标识进行加密所得到的;所述第二伪密钥是基于生成所述第二密文的发送对象中的加解密工具包所生成的;
所述获取检测单元,还用于基于所述目标加解密工具包获取与所述第二伪密钥和所述第一会话标识对应的第一解密密钥,并检测所述第一解密密钥的使用期限;
更新请求单元,用于若所述第一解密密钥的使用期限已过期,则发送携带所述第二伪密钥的密钥更新请求到所述加密服务器,以使所述加密服务器根据所述密钥更新请求返回具有有效的使用期限的第一解密密钥;
解密单元,用于根据所述具有有效的使用期限的第一解密密钥以及所述目标加解密工具包,对所述第二密文进行解密,得到所述第二密文中的内容消息。
其中,所述获取连接模块,还用于若检测到所述连接权限对应的权限期限已过期,则重新接收所述业务服务器发送的与所述加密服务器配置信息对应的鉴权请求,以重新获得具有有效的权限期限的连接权限。
其中,所述加密模块,还用于获取第二会话业务对应的第二加密密钥,并根据所述目标加解密工具包以及所述第二加密密钥对所述第二密文中的内容消息进行加密,得到第三密文,并通过所述业务服务器将所述第三密文发送至所述第二会话业务中的接收对象;所述第二加密密钥是由所述目标加解密工具包根据所述第二会话业务对应的第二会话标识所生成的。
其中,所述加密模块,还用于当在所述第一会话业务中获取到所述业务服务器发送的第四密文,且将所述第四密文转发至第三会话业务中时,获取所述第三会话业务对应的第三加密密钥,并基于所述目标加解密工具包将所述第四密文中的第一加密密钥转换为所述第三加密密钥,得到更新后的第四密文,并通过所述业务服务器将所述更新后的第四密文发送至所述第三会话业务中的接收对象;所述第三加密密钥是由所述目标加解密工具包根据所述第三会话业务对应的第三会话标识所生成的。
本发明实施例一方面提供了一种电子设备,包括:处理器和存储器;
所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如本发明实施例一方面中的方法。
本发明实施例一方面提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如本发明实施例一方面中的方法。
本发明实施例中,由于目标加解密工具包中的加密、解密机制都是由加密服务器所决定的,所以业务服务器是不知道目标加解密工具包中的加密、解密机制,所以业务服务器是无法对第一密文和第二密文进行解密的,业务服务器只能对第一密文和第二密文进行转发操作,而且在数据传输过程中,数据并不会流经加密服务器,所以数据也不会泄露到加密服务器中,由此可见,通过目标加解密工具包可以保证数据无法被服务商所泄露,从而可以保障数据的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种系统架构示意图;
图2是本发明实施例提供的一种数据加解密处理方法的流程示意图;
图3是本发明实施例提供的一种数据加解密处理方法的时序示意图;
图4是本发明实施例提供的另一种数据加解密处理方法的流程示意图;
图5是本发明实施例提供的一种数据加解密处理装置的结构示意图;
图6是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,是本发明实施例提供的一种系统架构示意图。该系统架构可以包括业务服务器100、加密服务器200、客户端300,其中,业务服务器100、加密服务器200、客户端300之间互相通过网络连接。其中,客户端300可以是指安装在用户终端(如用户终端可以包括:计算机、平板电脑、智能手机、笔记本电脑、掌上电脑以及移动互联网设备(MID)等终端设备)中的即时通信应用,例如,该客户端可以是指企业微信的客户端。业务服务器100、加密服务器200可以分别连接多个客户端,由于每个客户端与业务服务器100、加密服务器200之间的工作原理相同,所以为了便于说明,这里以一个客户端300为例进行说明,这里不对客户端的数量进行限定。其中,在安装该客户端300的过程中可以一并将用于进行三方加解密的加解密工具包安装到用户终端中,该加解密工具包可以理解为一个用于进行加解密的代码库,该代码库可以包括多种加密算法、多种解密算法、多种密钥生成模式等加解密规则,该加解密工具包可以是一种SDK(Software Development Kit,软件开发工具包),该加解密工具包中的内容对客户端300不可见,即用户终端是无法得知加解密工具包中的加解密过程,以增强加解密的安全性。其中,加密服务器200还可以预先从业务服务器100同步企业通讯录,该企业通讯录可以包括属于某企业的每个客户端对应的用户信息(至少包括客户端300的用户信息),也可以将该企业通讯录称之为用户信息集合。其中,管理员可以通过企业微信提供的后台管理端页面配置开启三方加密服务且配置加密服务器200相关信息(如加密服务器配置信息),后台管理端可以将加密服务器配置信息发送到业务服务器100,并由业务服务器100保存加密服务器配置信息,后续即可由企业中的客户端300通过发送加密服务器配置信息获取请求从业务服务器100拉取加密服务器配置信息,同时,业务服务器100还可以将鉴权请求发送到客户端300,以进行鉴权操作。客户端300根据鉴权请求将待验证用户信息发送至业务服务器100,业务服务器100将待验证用户信息转发至与加密服务器配置信息对应的加密服务器200,加密服务器200在检测到用户信息集合中的客户端300对应的用户信息与待验证用户信息相匹配时,加密服务器200将会与客户端300进行连接。客户端300进一步根据加密服务器配置信息对本地的加解密工具包进行加密环境初始化,具体是通过加密服务器配置信息中的加解密算法标识以及密钥生成模式标识,设置加解密工具包中的加解密算法以及密钥生成模式,由于是基于接口的标识进行初始化,所以客户端300依然不会知道加解密工具包中被激活的是哪一个加解密算法,也不会知道加解密工具包中被激活的是哪一种密钥生成模式,从而进一步保证了三方加密的安全性。对加解密工具包初始化后,得到目标加解密工具包。
当客户端300在第一会话业务中获取到待发送消息时,基于目标加解密工具包以及第一加密密钥对待发送消息进行加密,得到第一密文。客户端300再将第一密文和第一会话业务中的接收对象的对象信息一并发送到业务服务器100,接收对象可以是指第一会话业务中的能够接收第一密文的其他客户端,对象信息可以是指接收对象对应的客户端地址。由于目标加解密工具包中的加密、解密机制都是由加密服务器200所决定的,所以业务服务器100是不知道目标加解密工具包中的加密机制和解密机制,所以业务服务器100是无法对第一密文进行解密的,业务服务器100只能对第一密文进行转发操作,而且在数据传输过程中,数据并不会流经加密服务器200,所以数据也不会泄露到加密服务器200中。
当所述客户端300在所述第一会话业务中获取到所述业务服务器100发送的第二密文时,则基于所述目标加解密工具包以及第一解密密钥对所述第二密文进行解密,得到所述第二密文中的内容消息;所述第一加密密钥和所述第一解密密钥均是基于所述目标加解密工具包所生成的。其中,其他客户端在第一会话业务中发送第二密文(第二密文可以与第一密文相同或不同,第二密文是指基于第一加密密钥对某内容消息进行加密的密文)时,客户端300可以在第一会话业务中获取到业务服务器100转发的第二密文。客户端300可以进一步对第二密文中的内容消息进行展示,具体可以在第一会话业务对应的会话框中进行展示。由于目标加解密工具包中的加密、解密机制都是由加密服务器200所决定的,所以业务服务器100是不知道目标加解密工具包中的加密、解密机制,所以业务服务器100是无法对第二密文进行解密的,业务服务器100只能对第二密文进行转发操作,而且在数据传输过程中,数据并不会流经加密服务器200,所以数据也不会泄露到加密服务器200中,由此可见,通过目标加解密工具包可以保证数据无法被服务商所泄露,从而可以保障数据的安全性。
其中,客户端300与业务服务器100、加密服务器200之间的配置、鉴权、初始化的过程,以及客户端300中的加解密工具包中的加解密过程均可以参见以下图2至图4对应实施例的描述。
请参见图2,是本发明实施例提供的一种数据加解密处理方法的流程示意图,所述方法可以包括:
S201,客户端从业务服务器获取加密服务器配置信息,并根据所述加密服务器配置信息与加密服务器进行连接;
具体的,客户端可以是指安装在用户终端中的即时通信应用,例如,该客户端可以是指企业微信的客户端。其中,在安装该客户端的过程中可以一并将用于进行三方加解密的加解密工具包安装到用户终端中,该客户端可以为上述图1对应实施例中的客户端300,该加解密工具包可以为图1中的客户端300中的加解密工具包。其中,管理员可以通过企业微信提供的后台管理端页面配置开启三方加密服务且配置加密服务器相关信息(如加密服务器配置信息),后台管理端可以将加密服务器配置信息发送到业务服务器,并由业务服务器保存加密服务器配置信息,后续即可由企业中的客户端通过发送加密服务器配置信息获取请求从业务服务器拉取加密服务器配置信息。业务服务器获取加密服务器配置信息获取请求所请求的加密服务器配置信息,并将加密服务器配置信息发送给客户端。客户端获得加密服务器配置信息后,可以获取加密服务器配置信息中的加密服务器地址信息,并与加密服务器地址信息对应的加密服务器进行连接。
S202,所述客户端根据所述加密服务器配置信息对本地的加解密工具包进行初始化,并将初始化后的加解密工具包确定为目标加解密工具包;所述加密服务器配置信息包括所述加密服务器所指示的加解密规则,所述目标加解密工具包具有所述加密服务器配置信息中的所述加解密规则;
具体的,所述客户端可以获取所述加密服务器配置信息中所述加密服务器所指示的加解密规则,该加解密规则可以包括加解密算法标识、密钥生成模式标识;所述客户端根据所述加解密工具包所提供的用于初始化的配置接口,在所述加解密工具包中设置该加解密规则中的加解密算法标识对应的加解密算法,并设置该加解密规则中的密钥生成模式标识对应的密钥生成模式,得到初始化后的加解密工具包。其中,加解密算法标识可以是指配置接口中的某一个加解密算法的接口的标识,因此,通过激活加解密算法标识对应的接口中的加解密算法,即可完成在所述加解密工具包中设置所述加解密算法标识对应的加解密算法。其中,密钥生成模式标识也可以是指配置接口中的某一个密钥生成模式的接口的标识,因此,通过激活密钥生成模式标识对应的接口中的密钥生成模式,即可完成在所述加解密工具包中设置所述密钥生成模式标识对应的密钥生成模式。由于是基于接口的标识进行初始化,所以客户端依然不会知道加解密工具包中被激活的是哪一个加解密算法,也不会知道加解密工具包中被激活的是哪一种密钥生成模式,从而进一步保证了三方加密的安全性。初始化后的加解密工具包可以称之为目标加解密工具包,目标加解密工具包具有加密服务器所指示的加解密算法和密钥生成模式,因此,客户端通过目标加解密工具包进行加解密时将基于加密服务器所指示的加解密算法和密钥生成模式进行处理。
S203,当所述客户端在第一会话业务中获取到待发送消息时,基于所述目标加解密工具包以及第一加密密钥对所述待发送消息进行加密,得到第一密文,并通过所述业务服务器将所述第一密文发送至所述第一会话业务中的接收对象;
具体的,当用户在客户端的第一会话业务的输入框中输入消息,并点击发送时,可以将输入框中的输入消息确定为待发送消息,此时,客户端可以在第一会话业务中获取到待发送消息,客户端将待发送消息输入到目标加解密工具包中,目标加解密工具包基于第一加密密钥对待发送消息进行加密,得到第一密文,客户端获取目标加解密工具包输出的第一密文,客户端再将第一密文和第一会话业务中的接收对象的对象信息一并发送到业务服务器。其中,第一加密密钥可以是由目标加解密工具包基于上述的加解密规则中的密钥生成模式标识对应的密钥生成模式所生成的。接收对象可以是指第一会话业务中的能够接收第一密文的其他客户端,对象信息可以是指接收对象对应的客户端地址。业务服务器根据接收对象的对象信息将第一密文发送到接收对象,接收对象同样可以包括与目标加解密工具包相同的加解密工具包,接收对象中的加解密工具包可以根据第一会话标识生成与第一密文对应的第一解密密钥,该接收对象中的加解密工具包可以基于第一解密密钥对第一密文进行解密,得到第一密文中的内容消息,该接收对象可以显示该内容消息。
S204,当所述客户端在所述第一会话业务中获取到所述业务服务器转发的第二密文时,则基于所述目标加解密工具包以及第一解密密钥对所述第二密文进行解密,得到所述第二密文中的内容消息;所述第一加密密钥和所述第一解密密钥均是基于所述目标加解密工具包所生成的;
具体的,其他客户端在第一会话业务中发送第二密文(第二密文可以与第一密文相同或不同,第二密文是指基于第一加密密钥对某内容消息进行加密的密文)时,客户端可以在第一会话业务中获取到业务服务器转发的第二密文。客户端中的目标加解密工具包可以根据第一会话标识生成与第二密文对应的第一解密密钥,或者目标加解密工具包也可以从加密服务器获取与第一会话标识对应的第一解密密钥。客户端中的目标加解密工具包可以基于第一解密密钥对第二密文进行解密,得到第二密文中的内容消息,客户端可以进一步对第二密文中的内容消息进行展示,具体可以在第一会话业务对应的会话框中进行展示。其中,第一解密密钥可以是由目标加解密工具包基于上述的加解密规则中的密钥生成模式标识对应的密钥生成模式所生成的。
本发明实施例中由于目标加解密工具包中的加密、解密机制都是由加密服务器所决定的,所以业务服务器是不知道目标加解密工具包中的加密、解密机制,所以业务服务器是无法对第一密文和第二密文进行解密的,业务服务器只能对第一密文和第二密文进行转发操作,而且在数据传输过程中,数据并不会流经加密服务器,所以数据也不会泄露到加密服务器中,由此可见,通过目标加解密工具包可以保证数据无法被服务商所泄露,从而可以保障数据的安全性。
请参见图3,是本发明实施例提供的一种数据加解密处理方法的时序示意图,方法可以包括:
S301,客户端向业务服务器发送加密服务器配置信息获取请求;
具体的,客户端可以是指安装在用户终端中的即时通信应用,例如,该客户端可以是指企业微信的客户端。其中,在安装该客户端的过程中可以一并将用于进行三方加解密的加解密工具包安装到用户终端中,该加解密工具包可以理解为一个用于进行加解密的代码库,该代码库可以包括多种加密算法、多种解密算法、多种密钥生成模式等加解密规则,该加解密工具包可以是一种SDK,该加解密工具包中的内容对客户端不可见,即用户终端是无法得知加解密工具包中的加解密过程,以增强加解密的安全性。其中,管理员可以通过企业微信提供的后台管理端页面配置开启三方加密服务且配置加密服务器相关信息(如加密服务器配置信息),后台管理端可以将加密服务器配置信息发送到业务服务器,并由业务服务器保存加密服务器配置信息,后续即可由企业中的客户端通过发送配置获取请求从业务服务器拉取加密服务器配置信息。
S302,业务服务器获取加密服务器配置信息,并发送加密服务器配置信息和鉴权请求到客户端;
具体的,业务服务器接收到加密服务器配置信息获取请求后,可以根据该请求中所携带的企业标识,该企业标识可以是指某企业名称对应的唯一标识码,如可以用至少一个字母和/或至少一个数字表征该企业名称,为客户端选择与该企业标识对应的加密服务器配置信息,同时还可以触发生成鉴权请求,并将该加密服务器配置信息和该鉴权请求返回到客户端。其中,需要开启三方加解密功能的企业可以预先在业务服务器登记加密服务器配置信息,并设置该加密服务器配置信息与企业标识的映射关系,业务服务器通过保存每个加密服务器对应的加密服务器配置信息,可以在客户端发送加密服务器配置信息获取请求时返回与企业标识对应的加密服务器配置信息。其中,加密服务器还可以预先从业务服务器同步企业通讯录,该企业通讯录可以包括属于某企业的每个客户端对应的用户信息,也可以将该企业通讯录称之为用户信息集合。
S303,客户端根据鉴权请求将待验证用户信息发送至业务服务器;
具体的,客户端接收到业务服务器发送的鉴权请求后,可以根据该鉴权请求显示鉴权输入界面,用户可以在该鉴权输入界面中输入用于进行鉴权的信息,该用于进行鉴权的信息可以称之为待验证用户信息,该待验证用户信息可以是用户的手机号或邮箱或token(令牌)卡,客户端将该待验证用户信息发送到业务服务器。
S304,业务服务器将待验证用户信息转发至与加密服务器配置信息对应的加密服务器;
具体的,业务服务器接收到待验证用户信息后,可以获取加密服务器配置信息中的加密服务器地址信息,并将该待验证用户信息转发至与加密服务器地址信息对应的加密服务器。
S305,加密服务器在检测到用户信息集合中的客户端对应的用户信息与待验证用户信息相匹配时,加密服务器为客户端分配连接权限,并将连接权限发送至业务服务器;
具体的,加密服务器接收到待验证用户信息后,检测用户信息集合中是否存在该待验证用户信息,若存在,则说明用户信息集合中的客户端对应的用户信息与待验证用户信息相匹配,即说明客户端通过认证,加密服务器进一步为客户端分配连接权限,并将连接权限发送至业务服务器。若用户信息集合中不存在该待验证用户信息,则客户端认证失败。其中,加密服务器检测用户信息集合中是否存在该待验证用户信息的具体过程还可以为:先检测待验证用户信息的数据格式是否正确(如是否为手机号的格式,或是否为邮箱的格式),若不正确,则也可以直接确定客户端认证失败,若正确,再检测用户信息集合中是否存在该待验证用户信息。其中,用户信息集合可以包括企业中的所有客户端的用户信息,或者也可以只包括企业中的部分客户端的用户信息(即部分客户端才能通过加密服务器的鉴权,即说明只有部分客户端才具备三方加解密功能)。
S306,业务服务器将连接权限转发至客户端;
S307,客户端根据连接权限获取加密服务器配置信息中的加密服务器地址信息,并与加密服务器地址信息对应的加密服务器进行连接;
S308,客户端根据加密服务器配置信息对本地的加解密工具包进行初始化,并将初始化后的加解密工具包确定为目标加解密工具包;
具体的,所述客户端可以获取所述加密服务器配置信息中所述加密服务器所指示的加解密规则,该加解密规则可以包括加解密算法标识、密钥生成模式标识;所述客户端根据所述加解密工具包所提供的用于初始化的配置接口,在所述加解密工具包中设置该加解密规则中的加解密算法标识对应的加解密算法,并设置该加解密规则中的密钥生成模式标识对应的密钥生成模式,得到初始化后的加解密工具包。其中,加解密算法标识可以是指配置接口中的某一个加解密算法的接口的标识,因此,通过激活加解密算法标识对应的接口中的加解密算法,即可完成在所述加解密工具包中设置所述加解密算法标识对应的加解密算法。其中,密钥生成模式标识也可以是指配置接口中的某一个密钥生成模式的接口的标识,因此,通过激活密钥生成模式标识对应的接口中的密钥生成模式,即可完成在所述加解密工具包中设置所述密钥生成模式标识对应的密钥生成模式。由于是基于接口的标识进行初始化,所以客户端依然不会知道加解密工具包中被激活的是哪一个加解密算法,也不会知道加解密工具包中被激活的是哪一种密钥生成模式,从而进一步保证了三方加密的安全性。初始化后的加解密工具包可以称之为目标加解密工具包,目标加解密工具包具有加密服务器所指示的加解密算法和密钥生成模式,因此,客户端通过目标加解密工具包进行加解密时将基于加密服务器所指示的加解密算法和密钥生成模式进行处理。
可选的,若所述客户端想要创建一个会话业务(如创建一个企业微信群)进行通信,则客户端可以向业务服务器发送会话创建请求,业务服务器根据会话创建请求为客户端创建一个会话业务,并将所创建的会话业务称之为第一会话业务,同时还可以为该第一会话业务分配一个唯一的会话标识,并将该会话标识称之为第一会话标识,客户端可以获取所述业务服务器返回的第一会话业务和第一会话标识。若客户端中的目标加解密工具包中的密钥生成模式为第一生成模式,则所述客户端根据所述目标加解密工具包和所述第一会话标识生成所述第一加密密钥,即目标加解密工具包直接基于所述第一会话标识生成第一加密密钥。若所述密钥生成模式为第二生成模式,则所述客户端从所述加密服务器获取用于生成密钥的种子参数,并根据所述目标加解密工具包、所述第一会话标识以及所述种子参数,生成所述第一加密密钥,即目标加解密工具包需要同时基于第一会话标识以及种子参数生成第一加密密钥。
S309,当客户端在第一会话业务中获取到待发送消息时,基于目标加解密工具包以及第一加密密钥对待发送消息进行加密,得到第一密文;
具体的,当用户在客户端的第一会话业务的输入框中输入消息,并点击发送时,可以将输入框中的输入消息确定为待发送消息,此时,客户端可以在第一会话业务中获取到待发送消息,客户端将待发送消息输入到目标加解密工具包中,目标加解密工具包基于第一加密密钥对待发送消息进行加密,得到第一密文,客户端获取目标加解密工具包输出的第一密文,客户端可以进一步基于业务服务器所提供的业务密钥对第一密文、发送时间、第一会话标识、接收对象的对象信息(接收对象可以是指第一会话业务中的至少一个客户端,对象信息可以包括客户端的地址信息、用户信息)进行加密,得到第一加密消息结构体。其中,业务密钥是由业务服务器预先生成的,业务服务器在为客户端创建第一会话业务的时候,即可将业务密钥发送给客户端,通过业务密钥可以对第一密文进行二次加密,从而可以提高在传输过程中的第一加密消息结构体的安全性,即可以进一步提高待发送消息的传输安全性。对于业务服务器,尽管业务服务器可以得知业务密钥,但是业务服务器无法获知第一加密密钥,所以业务服务器基于业务密钥对第一加密消息结构体进行解密后,依然无法解密第一密文,使得待发送消息在传输过程中和业务服务器中都能保证其安全性。其中,发送时间可以是指客户端获取到待发送消息的时间,通过将发送时间封装在第一加密消息结构体中,可以使得业务服务器在转发第一密文的时候,可以一并将发送时间传输到接收对象,使得接收对象中的第一会话业务的会话界面可以显示该发送时间,以向用户展示第一密文中的内容的发送时间。
可选的,客户端中的目标加解密工具包在生成第一密文时,还可以生成与第一密文对应的第一伪密钥,该第一伪密钥与用于对第一密文进行解密的解密密钥具有关联关系,但是该第一伪密钥与该解密密钥不相同。进而客户端可以基于业务密钥一并将该第一伪密钥添加到第一加密消息结构体中。其中,第一伪密钥也同样是由目标加解密工具包基于加解密规则所指示的密钥生成模式所生成的,该第一伪密钥并不用于进行加密或解密,所述第一伪密钥用于对接收对象中的解密密钥进行使用期限更新,即在后续中用于对第一密文进行解密的解密密钥的有效期限过期时,可以通过第一伪密钥向加密服务器请求对该解密密钥进行更新或续期,更新后的解密密钥依然与第一伪密钥具备关联关系,由此可见,通过第一伪密钥即可实现对解密密钥的更新或续期,从而避免直接将解密密钥发送到加密服务器以进行更新或续期,从而避免解密密钥的泄露。
S310,客户端通过业务服务器将第一密文发送至第一会话业务中的接收对象;
具体的,客户端可以将携带第一密文的第一加密消息结构体发送到业务服务器,业务服务器可以基于业务密钥对第一加密消息结构体进行解密,得到第一密文、发送时间、第一会话标识、接收对象的对象信息、第一伪密钥,业务服务器根据第一会话标识和接收对象的对象信息,将第一密文、发送时间、第一伪密钥一并发送至第一会话业务中的接收对象。
接收对象具备与客户端中的目标加解密工具包相同的加解密工具包,并将接收对象的加解密工具包称之为第一加解密工具包,接收对象中的第一加解密工具包可以根据第一会话标识生成与第一伪密钥对应的解密密钥,或者第一加解密工具包也可以从加密服务器获取与第一会话标识、第一伪密钥对应的解密密钥。接收对象中的第一加解密工具包可以基于第一伪密钥对应的解密密钥对第一密文进行解密,得到第一密文中的内容消息,接收对象可以进一步对第一密文中的内容消息和发送时间进行展示,具体可以在第一会话业务对应的会话框中进行展示。
S311,客户端在第一会话业务中获取业务服务器转发的第二密文;
具体的,其他客户端在第一会话业务中发送第二密文(第二密文可以与第一密文相同或不同,第二密文是指基于第一加密密钥对某内容消息进行加密的密文)时,客户端可以在第一会话业务中获取到业务服务器转发的第二密文。其中,其他客户端也同样可以生成包含第二密文的第二加密消息结构体,包含第二密文的第二加密消息结构体也同样可以包括第二伪密钥和发送时间,所述第二加密消息结构体是由生成所述第二密文的发送对象根据所述业务密钥,对所述第二密文、所述第二伪密钥、所述客户端的对象信息以及所述第一会话标识进行加密所得到的;该第二伪密钥是在其他客户端生成所述第二密文时基于该客户端中的目标加解密工具包所生成的,业务服务器也同样可以对包含第二密文的第二加密消息结构体进行解密,并对解密后得到的第二密文、第二伪密钥、发送时间进行发送,其中,第二伪密钥的作用与原理和第一伪密钥的作用与原理相同。因此,客户端不仅可以在第一会话业务中获取到业务服务器转发的第二密文,还可以从业务服务器中获取与第二密文相关联的第二伪密钥和发送时间,这里的发送时间可以是指生成第二密文的客户端在获取到待发送消息(即为第二密文中的内容消息)的时间信息,该过程与上述S309-S310步骤相似,这里不再进行赘述。
S312,客户端基于目标加解密工具包以及第一解密密钥对第二密文进行解密,得到第二密文中的内容消息;
具体的,客户端从业务服务器获取到第二密文、第二伪密钥和发送时间后,客户端中的目标加解密工具包可以根据第一会话标识生成与第二伪密钥对应的第一解密密钥,或者目标加解密工具包也可以从加密服务器获取与第一会话标识、第二伪密钥对应的第一解密密钥。客户端中的目标加解密工具包可以基于第一解密密钥对第二密文进行解密,得到第二密文中的内容消息,客户端可以进一步对第二密文中的内容消息和发送时间进行展示,具体可以在第一会话业务对应的会话框中进行展示。
本发明实施例中由于目标加解密工具包中的加密、解密机制都是由加密服务器所决定的,所以业务服务器是不知道目标加解密工具包中的加密、解密机制,所以业务服务器是无法对第一密文和第二密文进行解密的,业务服务器只能对第一密文和第二密文进行转发操作,而且在数据传输过程中,数据并不会流经加密服务器,所以数据也不会泄露到加密服务器中,由此可见,通过目标加解密工具包可以保证数据无法被服务商所泄露,从而可以保障数据的安全性。
请参见图4,是本发明实施例提供的另一种数据加解密处理方法的流程示意图,所述方法可以包括:
S401,客户端从业务服务器获取加密服务器配置信息,并根据所述加密服务器配置信息与加密服务器进行连接;
S402,所述客户端根据所述加密服务器配置信息对本地的加解密工具包进行初始化,并将初始化后的加解密工具包确定为目标加解密工具包;
其中,S401-S402步骤的具体实现方式可以参见上述图2对应实施例中的S201-S202,这里不再进行赘述。
S403,当所述客户端在所述第一会话业务中获取到待发送消息时,获取所述第一加密密钥的使用期限;
S404,若所述第一加密密钥的使用期限已过期,则发送密钥更新请求到所述加密服务器,以使所述加密服务器根据所述密钥更新请求返回具有有效的使用期限的第一加密密钥;
具体的,加密服务器可以在接收到密钥更新请求时,更新第一加密密钥,使得更新后的第一加密密钥具备有效的使用期限。或者,加密服务器也可以定时向客户端发送更新后的第一加密密钥,以保证客户端中的第一加密密钥始终处于有效的使用期限内。
S405,所述客户端根据所述具有有效的使用期限的第一加密密钥和所述目标加解密工具包,对所述待发送消息进行加密,得到第一密文;
S406,所述客户端获取所述第一会话业务中的接收对象对应的对象信息,并根据所述业务服务器所提供的业务密钥,对所述第一密文、第一伪密钥、所述对象信息以及所述第一会话业务对应的第一会话标识进行加密,得到第一加密消息结构体;所述第一伪密钥是基于所述目标加解密工具包所生成;
具体的,客户端获取目标加解密工具包输出的第一密文,客户端可以进一步基于业务服务器所提供的业务密钥对第一密文、第一伪密钥、第一会话标识、接收对象的对象信息(接收对象可以是指第一会话业务中的至少一个客户端,对象信息可以包括客户端的地址信息、用户信息)进行加密,得到第一加密消息结构体。可选的,第一加密消息结构体还可以包括发送时间,即客户端还将发送时间一起进行加密。其中,业务密钥是由业务服务器预先生成的,业务服务器在为客户端创建第一会话业务的时候,即可将业务密钥发送给客户端,通过业务密钥可以对第一密文进行二次加密,从而可以提高在传输过程中的第一加密消息结构体的安全性,即可以进一步提高待发送消息的传输安全性。对于业务服务器,尽管业务服务器可以得知业务密钥,但是业务服务器无法获知第一加密密钥,所以业务服务器基于业务密钥对第一加密消息结构体进行解密后,依然无法解密第一密文,使得待发送消息在传输过程中和业务服务器中都能保证其安全性。其中,发送时间可以是指客户端获取到待发送消息的时间,通过将发送时间封装在第一加密消息结构体中,可以使得业务服务器在转发第一密文的时候,可以一并将发送时间传输到接收对象,使得接收对象中的第一会话业务的会话界面可以显示该发送时间,以向用户展示第一密文中的内容的发送时间。其中,第一伪密钥也同样是由目标加解密工具包基于加解密规则所指示的密钥生成模式所生成的,该第一伪密钥并不用于进行加密或解密,所述第一伪密钥用于对接收对象中的解密密钥进行使用期限更新,即在后续中用于对第一密文进行解密的解密密钥的有效期限过期时,可以通过第一伪密钥向加密服务器请求对该解密密钥进行更新或续期,更新后的解密密钥依然与第一伪密钥具备关联关系,由此可见,通过第一伪密钥即可实现对解密密钥的更新或续期,从而避免直接将解密密钥发送到加密服务器以进行更新或续期,从而避免解密密钥的泄露。
S407,所述客户端将所述第一加密消息结构体发送至所述业务服务器,所述业务服务器根据所述业务密钥对所述第一加密消息结构体进行解密,根据解密后得到的所述对象信息和所述第一会话标识,所述业务服务器将解密后得到的所述第一密文和所述第一伪密钥转发至所述接收对象;
具体的,客户端可以将携带第一密文的第一加密消息结构体发送到业务服务器,业务服务器可以基于业务密钥对第一加密消息结构体进行解密,得到第一密文、发送时间、第一会话标识、接收对象的对象信息、第一伪密钥,业务服务器根据第一会话标识和接收对象的对象信息,将第一密文、发送时间、第一伪密钥一并发送至第一会话业务中的接收对象。
接收对象具备与客户端中的目标加解密工具包相同的加解密工具包,并将接收对象的加解密工具包称之为第一加解密工具包,接收对象中的第一加解密工具包可以根据第一会话标识生成与第一伪密钥对应的解密密钥,或者第一加解密工具包也可以从加密服务器获取与第一会话标识、第一伪密钥对应的解密密钥。接收对象中的第一加解密工具包可以基于第一解密密钥对第一密文进行解密,得到第一密文中的内容消息,接收对象可以进一步对第一密文中的内容消息和发送时间进行展示,具体可以在第一会话业务对应的会话框中进行展示。
S408,当所述客户端在所述第一会话业务中获取到所述业务服务器转发的第二加密消息结构体时,根据所述业务密钥对所述第二加密消息结构体进行解密,得到所述第二加密消息结构体中的所述第二密文和第二伪密钥;
具体的,所述第二加密消息结构体是由生成所述第二密文的发送对象根据所述业务密钥,对所述第二密文、所述第二伪密钥、所述客户端的对象信息以及所述第一会话标识进行加密所得到的;所述第二伪密钥是基于生成所述第二密文的发送对象中的加解密工具包所生成的。其中,业务服务器在得到第二加密消息结构体时,也同样可以对包含第二密文的第二加密消息结构体进行解密,并对解密后得到的第二密文、第二伪密钥、发送时间进行发送,其中,第二伪密钥的作用与原理和第一伪密钥的作用与原理相同。因此,客户端不仅可以在第一会话业务中获取到业务服务器转发的第二密文,还可以从业务服务器中获取与第二密文相关联的第二伪密钥和发送时间,这里的发送时间可以是指该发送对象(即生成第二密文的客户端)在获取到待发送消息(即为第二密文中的内容消息)的时间信息,该过程与上述S309-S310步骤相似,这里不再进行赘述。
S409,所述客户端基于所述目标加解密工具包获取与所述第二伪密钥和所述第一会话标识对应的第一解密密钥,并检测所述第一解密密钥的使用期限;
具体的,当所述客户端在所述第一会话业务中获取到所述业务服务器发送的第二密文和所述第二伪密钥时,基于所述目标加解密工具包获取与所述第二伪密钥和与所述第一会话标识对应的第一解密密钥,并检测所述第一解密密钥的使用期限;
S410,若所述第一解密密钥的使用期限已过期,则发送携带所述第二伪密钥的密钥更新请求到所述加密服务器,所述加密服务器根据所述密钥更新请求返回具有有效的使用期限的第一解密密钥;
具体的,该第二伪密钥并不用于进行加密或解密,所述第二伪密钥用于对第一解密密钥进行使用期限更新,即在第一解密密钥的有效期限过期时,可以通过第二伪密钥向加密服务器请求对该第一解密密钥进行更新或续期,更新后的第一解密密钥依然与第二伪密钥具备关联关系,由此可见,通过第二伪密钥即可实现对第一解密密钥的更新或续期,从而避免直接将第一解密密钥发送到加密服务器以进行更新或续期,从而避免第一解密密钥的泄露。
S411,所述客户端根据所述具有有效的使用期限的第一解密密钥以及所述目标加解密工具包,对所述第二密文进行解密,得到所述第二密文中的内容消息;
具体的,客户端中的目标加解密工具包可以基于第一解密密钥对第二密文进行解密,得到第二密文中的内容消息,客户端可以进一步对第二密文中的内容消息以及发送时间进行展示,具体可以在第一会话业务对应的会话框中进行展示。
S412,获取第二会话业务对应的第二加密密钥,并根据所述目标加解密工具包以及所述第二加密密钥对所述第二密文中的内容消息进行加密,得到第三密文,并通过所述业务服务器将所述第三密文发送至所述第二会话业务中的接收对象;
具体的,所述第二加密密钥是由所述目标加解密工具包根据所述第二会话业务对应的第二会话标识所生成的。若客户端想将第二密文从第一会话业务转发到第二会话业务中,则客户端可以先通过S408-S410的步骤解密得到第二密文中的内容消息,然后再获取第二会话业务对应的第二加密密钥,并由所述目标加解密工具包基于所述第二加密密钥对所述第二密文中的内容消息进行加密,得到第三密文,并通过所述业务服务器将所述第三密文发送至所述第二会话业务中的接收对象;所述第二加密密钥是由所述目标加解密工具包根据所述第二会话业务对应的第二会话标识所生成的;第二加密密钥的生成方式与第一加密密钥的生成方式相同。其中,客户端通过所述业务服务器将所述第三密文发送至所述第二会话业务中的接收对象的具体过程与S406-S407所描述的过程相同,这里不再进行赘述。
可选的,若所述客户端检测到所述连接权限对应的权限期限已过期,则重新接收所述业务服务器发送的与所述加密服务器配置信息对应的鉴权请求,以重新获得具有有效的权限期限的连接权限。即所述客户端在检测到所述连接权限对应的权限期限已过期时,重新接收所述业务服务器发送的与所述加密服务器配置信息对应的鉴权请求,并再次执行上述图3对应实施例中S303-S306的步骤,使得客户端可以重新获得具有有效的权限期限的连接权限,以保持与加密服务器的连接。
可选的,当所述客户端在所述第一会话业务中获取到所述业务服务器发送的第四密文,且要将所述第四密文转发至第三会话业务中时,客户端可以获取所述第三会话业务对应的第三加密密钥,并基于所述目标加解密工具包将所述第四密文中的第一加密密钥转换为所述第三加密密钥,得到更新后的第四密文,并通过所述业务服务器将所述更新后的第四密文发送至所述第三会话业务中的接收对象;所述第三加密密钥是由所述目标加解密工具包根据所述第三会话业务对应的第三会话标识所生成的。其中,第四密文可以是某个已加密的大文件数据对应的数据概要信息的密文,如数据概要信息可以包括大文件数据标识信息、第一会话标识、已加密的大文件数据对应的解密密钥,这样客户端就不需要将大文件数据下载下来才能对大文件数据进行转发,客户端只需要将第四密文中的第一加密密钥转换为第三加密密钥,即可将更新后的第四密文发送到第三会话业务中,使得第三会话业务中的其他客户端能够对更新后的第四密文进行解密,得到数据概要信息,并根据数据概要信息下载已加密的大文件数据,并基于数据概要信息中的解密密钥对已加密的大文件数据进行解密,得到大文件数据,从而提高了大文件数据的转发效率。
本发明实施例中由于目标加解密工具包中的加密、解密机制都是由加密服务器所决定的,所以业务服务器是不知道目标加解密工具包中的加密、解密机制,所以业务服务器是无法对第一密文和第二密文进行解密的,业务服务器只能对第一密文和第二密文进行转发操作,而且在数据传输过程中,数据并不会流经加密服务器,所以数据也不会泄露到加密服务器中,由此可见,通过目标加解密工具包可以保证数据无法被服务商所泄露,从而可以保障数据的安全性。
请参见图5,是本发明实施例提供的一种数据加解密处理装置的结构示意图。该数据加解密处理装置1可以应用于客户端,该数据加解密处理装置1可以包括:获取连接模块10、初始化模块20、加密模块30、解密模块40;
获取连接模块10,用于从业务服务器获取加密服务器配置信息,并根据所述加密服务器配置信息与加密服务器进行连接;
初始化模块20,用于根据所述加密服务器配置信息对本地的加解密工具包进行初始化,并将初始化后的加解密工具包确定为目标加解密工具包;所述加密服务器配置信息包括所述加密服务器所指示的加解密规则,所述目标加解密工具包具有所述加密服务器配置信息中的所述加解密规则;
加密模块30,用于当在第一会话业务中获取到待发送消息时,基于所述目标加解密工具包以及第一加密密钥对所述待发送消息进行加密,得到第一密文,并通过所述业务服务器将所述第一密文发送至所述第一会话业务中的接收对象;
解密模块40,用于当在所述第一会话业务中获取到所述业务服务器转发的第二密文时,则基于所述目标加解密工具包以及第一解密密钥对所述第二密文进行解密,得到所述第二密文中的内容消息;所述第一加密密钥和所述第一解密密钥均是由所述目标加解密工具包基于所述加解密规则所生成的。
其中,获取连接模块10、初始化模块20、加密模块30、解密模块40的具体功能实现方式可以参见上述图2对应实施例中的S201-S204,这里不再进行赘述。
进一步的,再请参见图5,该获取连接模块10可以包括:收发单元101、权限获取单元102、连接单元103;
所述加密服务器包括从所述业务服务器同步获得的用户信息集合;所述用户信息集合包括所述客户端对应的用户信息;
收发单元101,用于从业务服务器获取加密服务器配置信息,并接收所述业务服务器发送的与所述加密服务器配置信息对应的鉴权请求,根据所述鉴权请求将待验证用户信息发送至所述业务服务器,以使所述业务服务器将所述待验证用户信息转发至与所述加密服务器配置信息对应的所述加密服务器;
权限获取单元102,用于若所述用户信息集合中的所述客户端对应的用户信息与所述待验证用户信息相匹配,则通过所述业务服务器获取所述加密服务器所分配的连接权限;
连接单元103,用于根据所述连接权限获取所述加密服务器配置信息中的加密服务器地址信息,并与所述加密服务器地址信息对应的所述加密服务器进行连接。
其中,收发单元101、权限获取单元102、连接单元103的具体功能实现方式可以参见上述图3对应实施例中的S302-S307,这里不再进行赘述。
进一步的,再请参见图5,该初始化模块20可以包括:配置获取单元201、设置单元202、确定单元203;
配置获取单元201,用于获取所述加密服务器配置信息中的加解密算法标识、密钥生成模式标识;
设置单元202,用于根据所述加解密工具包所提供的用于初始化的配置接口,在所述加解密工具包中设置与所述加解密算法标识对应的加解密算法,并设置与所述密钥生成模式标识对应的密钥生成模式,得到初始化后的加解密工具包;
确定单元203,用于将所述初始化后的加解密工具包确定为目标加解密工具包。
配置获取单元201、设置单元202、确定单元203的具体功能实现方式可以参见上述图3对应实施例中的S308,这里不再进行赘述。
进一步的,再请参见图5,该数据加解密处理装置1还可以包括:会话获取模块50、第一密钥生成模块60、第二密钥生成模块70;
会话获取模块50,用于获取所述业务服务器创建的第一会话业务,并从所述业务服务器获取与所述第一会话业务对应的第一会话标识;
第一密钥生成模块60,用于若所述密钥生成模式为第一生成模式,则根据所述目标加解密工具包和所述第一会话标识生成所述第一加密密钥;
第二密钥生成模块70,用于若所述密钥生成模式为第二生成模式,则从所述加密服务器获取用于生成密钥的种子参数,并根据所述目标加解密工具包、所述第一会话标识以及所述种子参数,生成所述第一加密密钥。
会话获取模块50、第一密钥生成模块60、第二密钥生成模块70的具体功能实现方式可以参见上述图3对应实施例中的S308,这里不再进行赘述。
进一步的,再请参见图5,该加密模块30可以包括:第一加密单元301、第二加密单元302、消息发送单元303;
第一加密单元301,用于当在所述第一会话业务中获取到待发送消息时,基于所述目标加解密工具包以及所述第一加密密钥对所述待发送消息进行加密,得到第一密文;
第二加密单元302,用于获取所述第一会话业务中与接收对象对应的对象信息,并根据所述业务服务器所提供的业务密钥,对所述第一密文、第一伪密钥、所述对象信息以及所述第一会话业务对应的第一会话标识进行加密,得到第一加密消息结构体;所述第一伪密钥是基于所述目标加解密工具包所生成;
消息发送单元303,用于将所述第一加密消息结构体发送至所述业务服务器,所述业务服务器根据所述业务密钥对所述第一加密消息结构体进行解密,根据解密后得到的所述对象信息和所述第一会话标识,以使所述业务服务器将解密后得到的所述第一密文和所述第一伪密钥转发至所述接收对象;所述第一伪密钥用于对接收对象中的解密密钥进行使用期限更新。
第一加密单元301、第二加密单元302、消息发送单元303的具体功能实现方式可以参见上述图3对应实施例中的S309-S310,这里不再进行赘述。
进一步的,再请参见图5,该第一加密单元301可以包括:期限获取子单元3011、更新发送子单元3012、第一加密子单元3013;
期限获取子单元3011,用于当在所述第一会话业务中获取到待发送消息时,获取所述第一加密密钥的使用期限;
更新发送子单元3012,用于若所述第一加密密钥的使用期限已过期,则发送密钥更新请求到所述加密服务器,以使所述加密服务器根据所述密钥更新请求返回具有有效的使用期限的第一加密密钥;
第一加密子单元3013,用于根据所述具有有效的使用期限的第一加密密钥和所述目标加解密工具包,对所述待发送消息进行加密,得到第一密文。
期限获取子单元3011、更新发送子单元3012、第一加密子单元3013的具体功能实现方式可以参见上述图4对应实施例中的S403-S405,这里不再进行赘述。
进一步的,再请参见图5,该解密模块40可以包括:获取检测单元401、更新请求单元402、解密单元403;
获取检测单元401,用于当在所述第一会话业务中获取到所述业务服务器转发的第二加密消息结构体时,根据所述业务密钥对所述第二加密消息结构体进行解密,得到所述第二加密消息结构体中的所述第二密文和第二伪密钥;所述第二加密消息结构体是由生成所述第二密文的发送对象根据所述业务密钥,对所述第二密文、所述第二伪密钥、所述客户端的对象信息以及所述第一会话标识进行加密所得到的;所述第二伪密钥是基于生成所述第二密文的发送对象中的加解密工具包所生成的;
所述获取检测单元401,还用于基于所述目标加解密工具包获取与所述第二伪密钥和所述第一会话标识对应的第一解密密钥,并检测所述第一解密密钥的使用期限;
更新请求单元402,用于若所述第一解密密钥的使用期限已过期,则发送携带所述第二伪密钥的密钥更新请求到所述加密服务器,以使所述加密服务器根据所述密钥更新请求返回具有有效的使用期限的第一解密密钥;
解密单元403,用于根据所述具有有效的使用期限的第一解密密钥以及所述目标加解密工具包,对所述第二密文进行解密,得到所述第二密文中的内容消息。
获取检测单元401、更新请求单元402、解密单元403的具体功能实现方式可以参见上述图4对应实施例中的S408-S410,这里不再进行赘述。
在图5中,该获取连接模块10还可以用于若检测到所述连接权限对应的权限期限已过期,则重新接收所述业务服务器发送的与所述加密服务器配置信息对应的鉴权请求,以重新获得具有有效的权限期限的连接权限。
该加密模块30还可以用于获取第二会话业务对应的第二加密密钥,并根据所述目标加解密工具包以及所述第二加密密钥对所述第二密文中的内容消息进行加密,得到第三密文,并通过所述业务服务器将所述第三密文发送至所述第二会话业务中的接收对象;所述第二加密密钥是由所述目标加解密工具包根据所述第二会话业务对应的第二会话标识所生成的。
该加密模块30还可以用于当在所述第一会话业务中获取到所述业务服务器发送的第四密文,且将所述第四密文转发至第三会话业务中时,获取所述第三会话业务对应的第三加密密钥,并基于所述目标加解密工具包将所述第四密文中的第一加密密钥转换为所述第三加密密钥,得到更新后的第四密文,并通过所述业务服务器将所述更新后的第四密文发送至所述第三会话业务中的接收对象;所述第三加密密钥是由所述目标加解密工具包根据所述第三会话业务对应的第三会话标识所生成的。
本发明实施例中由于目标加解密工具包中的加密、解密机制都是由加密服务器所决定的,所以业务服务器是不知道目标加解密工具包中的加密、解密机制,所以业务服务器是无法对第一密文和第二密文进行解密的,业务服务器只能对第一密文和第二密文进行转发操作,而且在数据传输过程中,数据并不会流经加密服务器,所以数据也不会泄露到加密服务器中,由此可见,通过目标加解密工具包可以保证数据无法被服务商所泄露,从而可以保障数据的安全性。
请参见图6,是本发明实施例提供的一种电子设备的结构示意图。如图6所示,上述图5中的数据加解密处理装置1可以应用于所述电子设备1000,电子设备1000还可以为上述图2-图4对应实施例中的所述客户端,所述电子设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,所述电子设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图6所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图6所示的电子设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
从业务服务器获取加密服务器配置信息,并根据所述加密服务器配置信息与加密服务器进行连接;
根据所述加密服务器配置信息对本地的加解密工具包进行初始化,并将初始化后的加解密工具包确定为目标加解密工具包;所述加密服务器配置信息包括所述加密服务器所指示的加解密规则,所述目标加解密工具包具有所述加密服务器配置信息中的所述加解密规则;
当在第一会话业务中获取到待发送消息时,基于所述目标加解密工具包以及第一加密密钥对所述待发送消息进行加密,得到第一密文,并通过所述业务服务器将所述第一密文发送至所述第一会话业务中的接收对象;
当在所述第一会话业务中获取到所述业务服务器转发的第二密文时,则基于所述目标加解密工具包以及第一解密密钥对所述第二密文进行解密,得到所述第二密文中的内容消息;所述第一加密密钥和所述第一解密密钥均是由所述目标加解密工具包基于所述加解密规则所生成的。
在一个实施例中,所述加密服务器包括从所述业务服务器同步获得的用户信息集合;所述用户信息集合包括所述客户端对应的用户信息;
所述处理器1001在执行从业务服务器获取加密服务器配置信息,并根据所述加密服务器配置信息与加密服务器进行连接时,具体执行以下步骤:
从业务服务器获取加密服务器配置信息,并接收所述业务服务器发送的与所述加密服务器配置信息对应的鉴权请求,根据所述鉴权请求将待验证用户信息发送至所述业务服务器,以使所述业务服务器将所述待验证用户信息转发至与所述加密服务器配置信息对应的所述加密服务器;
若所述用户信息集合中的所述客户端对应的用户信息与所述待验证用户信息相匹配,则通过所述业务服务器获取所述加密服务器所分配的连接权限;
根据所述连接权限获取所述加密服务器配置信息中的加密服务器地址信息,并与所述加密服务器地址信息对应的所述加密服务器进行连接。
在一个实施例中,所述处理器1001在执行根据所述加密服务器配置信息对本地的加解密工具包进行初始化,并将初始化后的加解密工具包确定为目标加解密工具包时,具体执行以下步骤:
获取所述加密服务器配置信息中的加解密算法标识、密钥生成模式标识;
根据所述加解密工具包所提供的用于初始化的配置接口,在所述加解密工具包中设置与所述加解密算法标识对应的加解密算法,并设置与所述密钥生成模式标识对应的密钥生成模式,得到初始化后的加解密工具包;
将所述初始化后的加解密工具包确定为目标加解密工具包。
在一个实施例中,所述处理器1001还可以执行以下步骤:
获取所述业务服务器创建的第一会话业务,并从所述业务服务器获取与所述第一会话业务对应的第一会话标识;
若所述密钥生成模式为第一生成模式,则根据所述目标加解密工具包和所述第一会话标识生成所述第一加密密钥;
若所述密钥生成模式为第二生成模式,则从所述加密服务器获取用于生成密钥的种子参数,并根据所述目标加解密工具包、所述第一会话标识以及所述种子参数,生成所述第一加密密钥。
在一个实施例中,所述处理器1001在执行当在第一会话业务中获取到待发送消息时,基于所述目标加解密工具包以及第一加密密钥对所述待发送消息进行加密,得到第一密文,并通过所述业务服务器将所述第一密文发送至所述第一会话业务中的接收对象时,具体执行以下步骤:
当在所述第一会话业务中获取到待发送消息时,基于所述目标加解密工具包以及所述第一加密密钥对所述待发送消息进行加密,得到第一密文;
获取所述第一会话业务中与接收对象对应的对象信息,并根据所述业务服务器所提供的业务密钥,对所述第一密文、第一伪密钥、所述对象信息以及所述第一会话业务对应的第一会话标识进行加密,得到第一加密消息结构体;所述第一伪密钥是基于所述目标加解密工具包所生成;
将所述第一加密消息结构体发送至所述业务服务器,所述业务服务器根据所述业务密钥对所述第一加密消息结构体进行解密,根据解密后得到的所述对象信息和所述第一会话标识,以使所述业务服务器将解密后得到的所述第一密文和所述第一伪密钥转发至所述接收对象;所述第一伪密钥用于对接收对象中的解密密钥进行使用期限更新。
在一个实施例中,所述处理器1001在执行当在所述第一会话业务中获取到待发送消息时,基于所述目标加解密工具包以及所述第一加密密钥对所述待发送消息进行加密,得到第一密文时,具体可以执行以下步骤:
当在所述第一会话业务中获取到待发送消息时,获取所述第一加密密钥的使用期限;
若所述第一加密密钥的使用期限已过期,则发送密钥更新请求到所述加密服务器,以使所述加密服务器根据所述密钥更新请求返回具有有效的使用期限的第一加密密钥;
根据所述具有有效的使用期限的第一加密密钥和所述目标加解密工具包,对所述待发送消息进行加密,得到第一密文。
在一个实施例中,所述处理器1001在执行当在所述第一会话业务中获取到所述业务服务器转发的第二密文时,则基于所述目标加解密工具包以及第一解密密钥对所述第二密文进行解密,得到所述第二密文中的内容消息时,具体执行以下步骤:
当在所述第一会话业务中获取到所述业务服务器转发的第二加密消息结构体时,根据所述业务密钥对所述第二加密消息结构体进行解密,得到所述第二加密消息结构体中的所述第二密文和第二伪密钥;所述第二加密消息结构体是由生成所述第二密文的发送对象根据所述业务密钥,对所述第二密文、所述第二伪密钥、所述客户端的对象信息以及所述第一会话标识进行加密所得到的;所述第二伪密钥是基于生成所述第二密文的发送对象中的加解密工具包所生成的;
基于所述目标加解密工具包获取与所述第二伪密钥和所述第一会话标识对应的第一解密密钥,并检测所述第一解密密钥的使用期限;
若所述第一解密密钥的使用期限已过期,则发送携带所述第二伪密钥的密钥更新请求到所述加密服务器,所述加密服务器根据所述密钥更新请求返回具有有效的使用期限的第一解密密钥;
根据所述具有有效的使用期限的第一解密密钥以及所述目标加解密工具包,对所述第二密文进行解密,得到所述第二密文中的内容消息。
在一个实施例中,所述处理器1001还可以执行以下步骤:
若检测到所述连接权限对应的权限期限已过期,则重新接收所述业务服务器发送的与所述加密服务器配置信息对应的鉴权请求,以重新获得具有有效的权限期限的连接权限。
在一个实施例中,所述处理器1001还可以执行以下步骤:
获取第二会话业务对应的第二加密密钥,并根据所述目标加解密工具包以及所述第二加密密钥对所述第二密文中的内容消息进行加密,得到第三密文,并通过所述业务服务器将所述第三密文发送至所述第二会话业务中的接收对象;所述第二加密密钥是由所述目标加解密工具包根据所述第二会话业务对应的第二会话标识所生成的。
在一个实施例中,所述处理器1001还可以执行以下步骤:
当在所述第一会话业务中获取到所述业务服务器发送的第四密文,且将所述第四密文转发至第三会话业务中时,获取所述第三会话业务对应的第三加密密钥,并基于所述目标加解密工具包将所述第四密文中的第一加密密钥转换为所述第三加密密钥,得到更新后的第四密文,并通过所述业务服务器将所述更新后的第四密文发送至所述第三会话业务中的接收对象;所述第三加密密钥是由所述目标加解密工具包根据所述第三会话业务对应的第三会话标识所生成的。
本发明实施例中由于目标加解密工具包中的加密、解密机制都是由加密服务器所决定的,所以业务服务器是不知道目标加解密工具包中的加密、解密机制,所以业务服务器是无法对第一密文和第二密文进行解密的,业务服务器只能对第一密文和第二密文进行转发操作,而且在数据传输过程中,数据并不会流经加密服务器,所以数据也不会泄露到加密服务器中,由此可见,通过目标加解密工具包可以保证数据无法被服务商所泄露,从而可以保障数据的安全性。
此外,这里需要指出的是:本发明实施例还提供了一种计算机存储介质,且所述计算机存储介质中存储有前文提及的数据加解密处理装置1所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图2到图4所对应实施例中对所述数据加解密处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本发明所涉及的计算机存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (14)

1.一种数据加解密处理方法,其特征在于,包括:
客户端从业务服务器获取加密服务器配置信息,并根据所述加密服务器配置信息与加密服务器进行连接;
所述客户端根据所述加密服务器配置信息对本地的加解密工具包进行初始化,并将初始化后的加解密工具包确定为目标加解密工具包;所述加密服务器配置信息包括所述加密服务器所指示的加解密规则,所述目标加解密工具包具有所述加密服务器配置信息中的所述加解密规则;
当所述客户端在第一会话业务中获取到待发送消息时,基于所述目标加解密工具包以及第一加密密钥对所述待发送消息进行加密,得到第一密文;
所述客户端获取所述第一会话业务中与接收对象对应的对象信息,并根据所述业务服务器所提供的业务密钥,对所述第一密文、第一伪密钥、所述对象信息以及所述第一会话业务对应的第一会话标识进行加密,得到第一加密消息结构体;所述第一伪密钥是基于所述目标加解密工具包所生成;
所述客户端将所述第一加密消息结构体发送至所述业务服务器,所述业务服务器根据所述业务密钥对所述第一加密消息结构体进行解密,根据解密后得到的所述对象信息和所述第一会话标识,所述业务服务器将解密后得到的所述第一密文和所述第一伪密钥转发至所述接收对象;所述第一伪密钥用于对接收对象中的解密密钥进行使用期限更新;
当所述客户端在所述第一会话业务中获取到所述业务服务器转发的第二密文时,则基于所述目标加解密工具包以及第一解密密钥对所述第二密文进行解密,得到所述第二密文中的内容消息;所述第一加密密钥和所述第一解密密钥均是由所述目标加解密工具包基于所述加解密规则所生成的。
2.如权利要求1所述的方法,其特征在于,所述加密服务器包括从所述业务服务器同步获得的用户信息集合;所述用户信息集合包括与所述客户端对应的用户信息;
所述客户端从业务服务器获取加密服务器配置信息,并根据所述加密服务器配置信息与加密服务器进行连接,包括:
所述客户端从业务服务器获取加密服务器配置信息,并接收所述业务服务器发送的与所述加密服务器配置信息对应的鉴权请求,所述客户端根据所述鉴权请求将待验证用户信息发送至所述业务服务器,所述业务服务器再将所述待验证用户信息转发至与所述加密服务器配置信息对应的所述加密服务器;
若所述用户信息集合中的所述客户端对应的用户信息与所述待验证用户信息相匹配,则所述客户端通过所述业务服务器获取所述加密服务器所分配的连接权限;
所述客户端根据所述连接权限获取所述加密服务器配置信息中的加密服务器地址信息,并与所述加密服务器地址信息对应的所述加密服务器进行连接。
3.如权利要求1所述的方法,其特征在于,所述客户端根据所述加密服务器配置信息对本地的加解密工具包进行初始化,并将初始化后的加解密工具包确定为目标加解密工具包,包括:
所述客户端获取所述加密服务器配置信息中的加解密算法标识、密钥生成模式标识;
所述客户端根据所述加解密工具包所提供的用于初始化的配置接口,在所述加解密工具包中设置与所述加解密算法标识对应的加解密算法,并设置与所述密钥生成模式标识对应的密钥生成模式,得到初始化后的加解密工具包;
所述客户端将所述初始化后的加解密工具包确定为目标加解密工具包。
4.如权利要求3所述的方法,其特征在于,还包括:
所述客户端获取所述业务服务器创建的第一会话业务,并从所述业务服务器获取与所述第一会话业务对应的第一会话标识;
若所述密钥生成模式为第一生成模式,则所述客户端根据所述目标加解密工具包和所述第一会话标识生成所述第一加密密钥;
若所述密钥生成模式为第二生成模式,则所述客户端从所述加密服务器获取用于生成密钥的种子参数,并根据所述目标加解密工具包、所述第一会话标识以及所述种子参数,生成所述第一加密密钥。
5.如权利要求1所述的方法,其特征在于,所述当所述客户端在所述第一会话业务中获取到待发送消息时,基于所述目标加解密工具包以及所述第一加密密钥对所述待发送消息进行加密,得到第一密文,包括:
当所述客户端在所述第一会话业务中获取到待发送消息时,获取所述第一加密密钥的使用期限;
若所述第一加密密钥的使用期限已过期,则发送密钥更新请求到所述加密服务器,以使所述加密服务器根据所述密钥更新请求返回具有有效的使用期限的第一加密密钥;
所述客户端根据所述具有有效的使用期限的第一加密密钥和所述目标加解密工具包,对所述待发送消息进行加密,得到第一密文。
6.如权利要求1所述的方法,其特征在于,所述当所述客户端在所述第一会话业务中获取到所述业务服务器转发的第二密文时,则基于所述目标加解密工具包以及第一解密密钥对所述第二密文进行解密,得到所述第二密文中的内容消息,包括:
当所述客户端在所述第一会话业务中获取到所述业务服务器转发的第二加密消息结构体时,根据所述业务密钥对所述第二加密消息结构体进行解密,得到所述第二加密消息结构体中的所述第二密文和第二伪密钥;所述第二加密消息结构体是由生成所述第二密文的发送对象根据所述业务密钥,对所述第二密文、所述第二伪密钥、所述客户端的对象信息以及所述第一会话标识进行加密所得到的;所述第二伪密钥是基于生成所述第二密文的发送对象中的加解密工具包所生成的;
所述客户端基于所述目标加解密工具包获取与所述第二伪密钥和所述第一会话标识对应的第一解密密钥,并检测所述第一解密密钥的使用期限;
若所述第一解密密钥的使用期限已过期,则发送携带所述第二伪密钥的密钥更新请求到所述加密服务器,所述加密服务器根据所述密钥更新请求返回具有有效的使用期限的第一解密密钥;
所述客户端根据所述具有有效的使用期限的第一解密密钥以及所述目标加解密工具包,对所述第二密文进行解密,得到所述第二密文中的内容消息。
7.如权利要求2所述的方法,其特征在于,还包括:
若所述客户端检测到所述连接权限对应的权限期限已过期,则重新接收所述业务服务器发送的与所述加密服务器配置信息对应的鉴权请求,以重新获得具有有效的权限期限的连接权限。
8.如权利要求1所述的方法,其特征在于,还包括:
获取第二会话业务对应的第二加密密钥,并根据所述目标加解密工具包以及所述第二加密密钥对所述第二密文中的内容消息进行加密,得到第三密文,并通过所述业务服务器将所述第三密文发送至所述第二会话业务中的接收对象;所述第二加密密钥是由所述目标加解密工具包根据所述第二会话业务对应的第二会话标识所生成的。
9.如权利要求1所述的方法,其特征在于,还包括:
当所述客户端在所述第一会话业务中获取到所述业务服务器发送的第四密文,且将所述第四密文转发至第三会话业务中时,获取所述第三会话业务对应的第三加密密钥,并基于所述目标加解密工具包将所述第四密文中的第一加密密钥转换为所述第三加密密钥,得到更新后的第四密文,并通过所述业务服务器将所述更新后的第四密文发送至所述第三会话业务中的接收对象;所述第三加密密钥是由所述目标加解密工具包根据所述第三会话业务对应的第三会话标识所生成的。
10.一种数据加解密处理装置,应用于客户端,其特征在于,包括:
获取连接模块,用于从业务服务器获取加密服务器配置信息,并根据所述加密服务器配置信息与加密服务器进行连接;
初始化模块,用于根据所述加密服务器配置信息对本地的加解密工具包进行初始化,并将初始化后的加解密工具包确定为目标加解密工具包;所述加密服务器配置信息包括所述加密服务器所指示的加解密规则,所述目标加解密工具包具有所述加密服务器配置信息中的所述加解密规则;
加密模块,用于当在第一会话业务中获取到待发送消息时,基于所述目标加解密工具包以及第一加密密钥对所述待发送消息进行加密,得到第一密文,并通过所述业务服务器将所述第一密文发送至所述第一会话业务中的接收对象;
解密模块,用于当在所述第一会话业务中获取到所述业务服务器转发的第二密文时,则基于所述目标加解密工具包以及第一解密密钥对所述第二密文进行解密,得到所述第二密文中的内容消息;所述第一加密密钥和所述第一解密密钥均是由所述目标加解密工具包基于所述加解密规则所生成的;
其中,所述加密模块包括:
第一加密单元,用于当在所述第一会话业务中获取到待发送消息时,基于所述目标加解密工具包以及所述第一加密密钥对所述待发送消息进行加密,得到第一密文;
第二加密单元,用于获取所述第一会话业务中与接收对象对应的对象信息,并根据所述业务服务器所提供的业务密钥,对所述第一密文、第一伪密钥、所述对象信息以及所述第一会话业务对应的第一会话标识进行加密,得到第一加密消息结构体;所述第一伪密钥是基于所述目标加解密工具包所生成;
消息发送单元,用于将所述第一加密消息结构体发送至所述业务服务器,所述业务服务器根据所述业务密钥对所述第一加密消息结构体进行解密,根据解密后得到的所述对象信息和所述第一会话标识,以使所述业务服务器将解密后得到的所述第一密文和所述第一伪密钥转发至所述接收对象;所述第一伪密钥用于对接收对象中的解密密钥进行使用期限更新。
11.如权利要求10所述的装置,其特征在于,所述加密服务器包括从所述业务服务器同步获得的用户信息集合;所述用户信息集合包括所述客户端对应的用户信息;
所述获取连接模块包括:
收发单元,用于从业务服务器获取加密服务器配置信息,并接收所述业务服务器发送的与所述加密服务器配置信息对应的鉴权请求,根据所述鉴权请求将待验证用户信息发送至所述业务服务器,以使所述业务服务器将所述待验证用户信息转发至与所述加密服务器配置信息对应的所述加密服务器;
权限获取单元,用于若所述用户信息集合中的所述客户端对应的用户信息与所述待验证用户信息相匹配,则通过所述业务服务器获取所述加密服务器所分配的连接权限;
连接单元,用于根据所述连接权限获取所述加密服务器配置信息中的加密服务器地址信息,并与所述加密服务器地址信息对应的所述加密服务器进行连接。
12.如权利要求10所述的装置,其特征在于,所述初始化模块包括:
配置获取单元,用于获取所述加密服务器配置信息中的加解密算法标识、密钥生成模式标识;
设置单元,用于根据所述加解密工具包所提供的用于初始化的配置接口,在所述加解密工具包中设置与所述加解密算法标识对应的加解密算法,并设置与所述密钥生成模式标识对应的密钥生成模式,得到初始化后的加解密工具包;
确定单元,用于将所述初始化后的加解密工具包确定为目标加解密工具包。
13.一种电子设备,其特征在于,包括:处理器和存储器;
所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如权利要求1-9任一项所述的方法。
14.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如权利要求1-9任一项所述的方法。
CN201811095416.0A 2018-09-19 2018-09-19 一种数据加解密处理方法、装置以及相关设备 Active CN109359472B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811095416.0A CN109359472B (zh) 2018-09-19 2018-09-19 一种数据加解密处理方法、装置以及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811095416.0A CN109359472B (zh) 2018-09-19 2018-09-19 一种数据加解密处理方法、装置以及相关设备

Publications (2)

Publication Number Publication Date
CN109359472A CN109359472A (zh) 2019-02-19
CN109359472B true CN109359472B (zh) 2021-06-25

Family

ID=65351343

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811095416.0A Active CN109359472B (zh) 2018-09-19 2018-09-19 一种数据加解密处理方法、装置以及相关设备

Country Status (1)

Country Link
CN (1) CN109359472B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11177933B2 (en) 2019-03-24 2021-11-16 Google Llc Side channel timing attack mitigation in securing data in transit
CN110890968B (zh) * 2019-10-24 2022-08-23 成都卫士通信息产业股份有限公司 一种即时通信方法、装置、设备及计算机可读存储介质
CN110690966B (zh) * 2019-11-08 2020-10-09 北京金茂绿建科技有限公司 终端与业务服务器连接的方法、系统、设备及存储介质
CN113139203A (zh) * 2020-01-19 2021-07-20 上海臻客信息技术服务有限公司 一种用户信息防泄露方法
CN112016113B (zh) * 2020-09-28 2024-04-16 同盾控股有限公司 数据加解密方法、装置及系统
CN112328480A (zh) * 2020-11-04 2021-02-05 浙江诺诺网络科技有限公司 一种系统测试方法及装置
CN113098889B (zh) * 2021-04-15 2022-08-09 田雷 一种数据处理方法以及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1316147A (zh) * 1999-06-29 2001-10-03 三星电子株式会社 在连接到互联网的移动通信系统中用户信息的保密装置及其方法
CN102833220A (zh) * 2011-06-17 2012-12-19 同方股份有限公司 一种基于动态口令的密钥同步方法及系统
CN106888183A (zh) * 2015-12-15 2017-06-23 阿里巴巴集团控股有限公司 数据加密、解密、密钥请求处理的方法和装置及系统
CN107426521A (zh) * 2016-05-24 2017-12-01 中兴通讯股份有限公司 一种视频通话方法及终端
CN108400867A (zh) * 2017-02-07 2018-08-14 中国科学院沈阳计算技术研究所有限公司 一种基于公钥加密体制的认证方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1316147A (zh) * 1999-06-29 2001-10-03 三星电子株式会社 在连接到互联网的移动通信系统中用户信息的保密装置及其方法
CN102833220A (zh) * 2011-06-17 2012-12-19 同方股份有限公司 一种基于动态口令的密钥同步方法及系统
CN106888183A (zh) * 2015-12-15 2017-06-23 阿里巴巴集团控股有限公司 数据加密、解密、密钥请求处理的方法和装置及系统
CN107426521A (zh) * 2016-05-24 2017-12-01 中兴通讯股份有限公司 一种视频通话方法及终端
CN108400867A (zh) * 2017-02-07 2018-08-14 中国科学院沈阳计算技术研究所有限公司 一种基于公钥加密体制的认证方法

Also Published As

Publication number Publication date
CN109359472A (zh) 2019-02-19

Similar Documents

Publication Publication Date Title
CN109359472B (zh) 一种数据加解密处理方法、装置以及相关设备
CN109873805B (zh) 基于云安全的云桌面登陆方法、装置、设备和存储介质
CN107528865B (zh) 文件的下载方法和系统
US20120254622A1 (en) Secure Access to Electronic Devices
EP3537652B1 (en) Method for securely controlling smart home appliance and terminal device
CN110690956B (zh) 双向认证方法及系统、服务器和终端
CN110177099B (zh) 基于非对称加密技术的数据交换方法、发送终端和介质
CN111565107A (zh) 基于云服务平台的密钥处理方法、装置和计算机设备
CN108199838B (zh) 一种数据保护方法及装置
CN105516135A (zh) 用于账号登录的方法和装置
CN108667784B (zh) 互联网身份证核验信息保护的系统和方法
CN104883255A (zh) 一种密码重置方法和装置
US20180083935A1 (en) Method and system for secure sms communications
US20190325146A1 (en) Data encryption and decryption method and system and network connection apparatus and data encryption and decryption method thereof
US20210184852A1 (en) System and method for securely transmitting non-pki encrypted messages
CN113900772A (zh) 一种镜像文件传输方法、装置、设备及存储介质
CN104135471A (zh) Dns防劫持通信方法
CN114499836A (zh) 一种密钥管理方法、装置、计算机设备及可读存储介质
CN112099964A (zh) 接口的调用方法、装置、存储介质及电子装置
CN109120576B (zh) 数据分享方法及装置、计算机设备及存储介质
CN112583599B (zh) 通信方法及装置
JP2006279269A (ja) 情報管理装置、情報管理システム、ネットワークシステム、ユーザ端末、及びこれらのプログラム
US20230208619A1 (en) Method to request sensitive data from a recipient and to establish a secure communication with the recipient
CN108055271B (zh) 电子邮件的加密和解密方法、存储介质及电子设备
CN116599719A (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