CN109450884B - 一种数据加密、解密方法、装置、系统、设备及介质 - Google Patents

一种数据加密、解密方法、装置、系统、设备及介质 Download PDF

Info

Publication number
CN109450884B
CN109450884B CN201811261784.8A CN201811261784A CN109450884B CN 109450884 B CN109450884 B CN 109450884B CN 201811261784 A CN201811261784 A CN 201811261784A CN 109450884 B CN109450884 B CN 109450884B
Authority
CN
China
Prior art keywords
data
encryption
credit
target
terminal
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
CN201811261784.8A
Other languages
English (en)
Other versions
CN109450884A (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.)
Tianjin Haitai Fangyuan Technology Co Ltd
Original Assignee
Tianjin Haitai Fangyuan Technology 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 Tianjin Haitai Fangyuan Technology Co Ltd filed Critical Tianjin Haitai Fangyuan Technology Co Ltd
Priority to CN201811261784.8A priority Critical patent/CN109450884B/zh
Publication of CN109450884A publication Critical patent/CN109450884A/zh
Application granted granted Critical
Publication of CN109450884B publication Critical patent/CN109450884B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例一种数据加密、解密方法、装置、系统、设备及介质,使得在将加密数据发送至服务器后,能够控制访问加密数据的授信对象。数据加密方法,包括:利用与服务器之间的共享密钥对预先生成的用于对目标数据加密的第一密钥进行加密,生成第一加密数据;将第一加密数据和第一标识集合发送至服务器;接收服务器发送的第一对象集合;调整第一标识集合中对象标识的顺序,生成第二标识集合,并依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序,生成第二对象集合;使用第一密钥对目标数据进行加密,生成第二加密数据;将第二对象集合和第二加密数据发送至服务器。

Description

一种数据加密、解密方法、装置、系统、设备及介质
技术领域
本发明涉及信息安全技术领域,尤其是涉及一种数据加密、解密方法、装置、系统、设备、介质、加解密终端及服务器。
背景技术
针对数据安全传输的加解密场景,现有的技术方案主要有两种实现方式:一种是使用数字信封方式,另一种是使用共享密钥方式。其中,共享密钥方式又分为两种:一种是节点与节点之间共享密钥的方式,另一种是每个节点均与服务器共享密钥的方式。
就每个节点均与服务器共享密钥的方式而言,每个节点将加密数据发送至服务器后,其将失去对加密数据的控制,无法控制访问加密数据的节点数量。举例来说,节点A利用其与服务器的共享密钥k对数据加密后,将加密数据a发送至服务器,此时,获知节点A与服务器共享密钥k的其它节点均可使用共享密钥k访问加密数据a,节点A无法对此进行控制。
综上所述,现有技术中每个节点均与服务器共享密钥的方式,每个节点将加密数据发送至服务器后,其将无法控制访问加密数据的节点数量。
发明内容
本发明实施例提供一种数据加密、解密方法、装置、系统、设备及介质,使得在将加密数据发送至服务器后,能够控制访问加密数据的授信对象。
第一方面,本发明实施例提供一种数据加密方法,包括:
利用与服务器之间的共享密钥对预先生成的用于对目标数据加密的第一密钥进行加密,生成第一加密数据;
将第一加密数据和第一标识集合发送至服务器,其中,第一标识集合中包括依预设顺序排列的授信对象的对象标识,授信对象为可访问目标数据的对象;
接收服务器发送的第一对象集合,第一对象集合中包括依第一顺序排列的数据对象,数据对象是服务器使用授信对象与服务器之间的共享密钥对授信对象的对象标识和第一密钥加密生成的;
调整第一标识集合中对象标识的顺序,生成第二标识集合,并依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序,生成第二对象集合;
使用第一密钥对目标数据进行加密,生成第二加密数据;
将第二对象集合和第二加密数据发送至服务器。
在一种可能的实施方式中,本发明实施例提供的上述方法中,方法还包括:
使用预先配置的第二密钥对第二标识集合中所有元素加密,生成第三加密数据,利用预先配置的第三密钥对第二标识集合中所有元素和第三加密数据进行签名,生成第一数字签名;
将第一标识集合、第三加密数据、以及第一数字签名发送至服务器。
在一种可能的实施方式中,本发明实施例提供的上述方法中,方法还包括:
向服务器发送更改授信对象请求;
接收服务器下发的第一标识集合、第三加密数据、以及第二对象集合;
若删除目标授信对象,则使用第二密钥解密第三加密数据,得到第二标识集合,从第一标识集合和第二标识集合中删除目标授信对象的对象标识,并从第二对象集合中删除目标授信对象对应的数据对象;
使用第二密钥对删除目标授信对象的对象标识后的第二标识集合中所有元素加密,生成第四加密数据,利用第三密钥对删除目标授信对象的对象标识后的第二标识集合中所有元素和第四加密数据进行签名,生成第二数字签名;
将删除目标授信对象的对象标识后的第一标识集合、删除目标授信对象对应的数据对象后的第二对象集合,第四加密数据、以及第二数字签名发送至服务器。
在一种可能的实施方式中,本发明实施例提供的上述方法中,方法还包括:
向服务器发送更改授信对象请求;
接收服务器下发的第一标识集合、第三加密数据、以及第二对象集合;
若增加目标授信对象,则向服务器发送数据对象生成请求,数据对象生成请求中包括目标授信对象的对象标识;
接收服务器发送的目标授信对象对应的数据对象;
使用第二密钥解密第三加密数据,得到第二标识集合,在第一标识集合和第二标识集合中增加目标授信对象的对象标识,并依据目标授信对象的对象标识在第二标识集合中的位置,将目标授信对象对应的数据对象增加到第二对象集合中;
使用第二密钥对增加目标授信对象的对象标识后的第二标识集合中所有元素加密,生成第五加密数据,利用第三密钥对增加目标授信对象的对象标识后的第二标识集合中所有元素和第五加密数据进行签名,生成第三数字签名;
将增加目标授信对象的对象标识后的第一标识集合、增加目标授信对象对应的数据对象后的第二对象集合,第五加密数据、以及第三数字签名发送至服务器。
第二方面,本发明实施例提供一种数据加密方法,包括:
接收终端发送的第一加密数据和第一标识集合,其中,第一加密数据是终端利用与服务器之间的共享密钥对预先生成的用于对目标数据加密的第一密钥进行加密生成的,第一标识集合中包括依预设顺序排列的授信对象的对象标识,授信对象为可访问终端发送的目标数据的对象;
使用与终端之间的共享密钥解密第一加密数据,得到第一密钥,针对第一标识集合中的每一授信对象的对象标识,利用与授信对象之间的共享密钥对授信对象的对象标识和第一密钥加密,生成授信对象对应的数据对象;
依据预设顺序将授信对象对应的数据对象添加到第一对象集合;
将第一对象集合发送至终端;
接收并保存终端发送的第二对象集合和第二加密数据,其中,第二对象集合是终端依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序生成的,第二标识集合是终端调整第一标识集合中对象标识的顺序生成的,第二加密数据是终端使用第一密钥对目标数据进行加密生成的。
在一种可能的实施方式中,本发明实施例提供的上述方法中,方法还包括:
接收并保存终端发送的第一标识集合、第三加密数据、以及第一数字签名,其中,第三加密数据是终端使用预先配置的第二密钥对第二标识集合中的所有元素加密生成的,第一数字签名是终端利用预先配置的第三密钥对第二标识集合中所有元素和第三加密数据进行签名生成的。
在一种可能的实施方式中,本发明实施例提供的上述方法中,方法还包括:
接收终端发送的更改授信对象请求;
向终端发送第一标识集合、第三加密数据、以及第二对象集合;
接收终端发送的删除目标授信对象的对象标识后的第一标识集合、删除目标授信对象对应的数据对象后的第二对象集合,第四加密数据、以及第二数字签名,其中,第四加密数据是终端使用第二密钥解密第二加密数据得到第二标识集合,从第二标识集合中删除目标授信对象的对象标识后,使用第二密钥对删除目标授信对象的对象标识后的第二标识集合中所有元素加密生成的,第二数字签名是终端利用第三密钥对删除目标授信对象的对象标识后的第二标识集合中所有元素和第四加密数据进行签名生成的;
利用接收到的删除目标授信对象的对象标识后的第一标识集合更新存储的第一标识集合,利用接收到的删除目标授信对象对应的数据对象后的第二对象集合更新存储的第二对象集合,利用接收到的第四加密数据替换存储的第三加密数据,利用接收到的第二数字签名替换存储的第一数字签名。
在一种可能的实施方式中,本发明实施例提供的上述方法中,方法还包括:
接收终端发送的更改授信对象请求;
向终端发送第一标识集合、第三加密数据、以及第二对象集合;
接收终端发送的增加目标授信对象的对象标识后的第一标识集合、增加目标授信对象对应的数据对象后的第二对象集合,第五加密数据、以及第三数字签名,其中,第五加密数据是终端使用第二密钥解密第二加密数据得到第二标识集合,从第二标识集合中增加目标授信对象的对象标识后,使用第二密钥对增加目标授信对象的对象标识后的第二标识集合中所有元素加密生成的,第三数字签名是终端利用第三密钥对增加目标授信对象的对象标识后的第二标识集合中所有元素和第五加密数据进行签名生成的;
利用接收到的增加目标授信对象的对象标识后的第一标识集合更新存储的第一标识集合,利用接收到的增加目标授信对象对应的数据对象后的第二对象集合更新存储的第二对象集合,利用接收到的第五加密数据替换存储的第三加密数据,利用接收到的第三数字签名替换存储的第一数字签名。
在一种可能的实施方式中,本发明实施例提供的上述方法中,方法还包括:
接收终端发送的数据对象生成请求,数据对象生成请求中包括目标授信对象的对象标识;
利用与目标授信对象之间的共享密钥对目标授信对象的对象标识和第一密钥加密,生成目标授信对象对应的数据对象;
将目标授信对象对应的数据对象发送至终端。
第三方面,本发明实施例提供一种数据解密方法,包括:
向服务器发送解密目标数据请求;
接收服务器发送的第二对象集合和第二加密数据,其中,第二加密数据是上传目标数据的终端使用预先生成的第一密钥对目标数据加密生成的,第二对象集合是终端依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序生成的,第二标识集合是终端调整第一标识集合中对象标识的顺序生成的,第一标识集合中包括依预设顺序排列的授信对象的对象标识,授信对象为可访问终端发送的目标数据的对象,第一对象集合中包括依第一顺序排列的数据对象,数据对象是服务器使用授信对象与服务器之间的共享密钥对授信对象的对象标识和第一密钥加密生成的;
利用与服务器之间的共享密钥解密第二对象集合中的每一元素;
在确定解密结果中包括授信对象的对象标识时,使用解密结果中包括的第一密钥解密第二加密数据,得到目标数据。
第四方面,本发明实施例提供一种数据解密方法,包括:
接收终端发送的解密目标数据请求;
向终端发送第二对象集合和第二加密数据,其中,第二加密数据是上传目标数据的终端使用预先生成的第一密钥对目标数据加密生成的,第二对象集合是上传目标数据的终端依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序生成的,第二标识集合是上传目标数据的终端调整第一标识集合中对象标识的顺序生成的,第一标识集合中包括依预设顺序排列的授信对象的对象标识,授信对象为可访问目标数据的对象,第一对象集合中包括依第一顺序排列的数据对象,数据对象是服务器使用授信对象与服务器之间的共享密钥对授信对象的对象标识和第一密钥加密生成的。
第五方面,本发明实施例提供一种数据加密装置,包括:
第一加密单元,用于利用与服务器之间的共享密钥对预先生成的用于对目标数据加密的第一密钥进行加密,生成第一加密数据;
发送单元,用于将第一加密数据和第一标识集合发送至服务器,其中,第一标识集合中包括依预设顺序排列的授信对象的对象标识,授信对象为可访问目标数据的对象;
接收单元,用于接收服务器发送的第一对象集合,第一对象集合中包括依第一顺序排列的数据对象,数据对象是服务器使用授信对象与服务器之间的共享密钥对授信对象的对象标识和第一密钥加密生成的;
调整单元,用于调整第一标识集合中对象标识的顺序,生成第二标识集合,并依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序,生成第二对象集合;
第二加密单元,用于使用第一密钥对目标数据进行加密,生成第二加密数据;
上传单元,用于将第二对象集合和第二加密数据发送至服务器。
第六方面,本发明实施例提供一种数据加密装置,包括:
第一接收单元,用于接收终端发送的第一加密数据和第一标识集合,其中,第一加密数据是终端利用与服务器之间的共享密钥对预先生成的用于对目标数据加密的第一密钥进行加密生成的,第一标识集合中包括依预设顺序排列的授信对象的对象标识,授信对象为可访问终端发送的目标数据的对象;
加密单元,用于使用与终端之间的共享密钥解密第一加密数据,得到第一密钥,针对第一标识集合中的每一授信对象的对象标识,利用与授信对象之间的共享密钥对授信对象的对象标识和第一密钥加密,生成授信对象对应的数据对象;
处理单元,用于依据预设顺序将授信对象对应的数据对象添加到第一对象集合;
发送单元,用于将第一对象集合发送至终端;
第二接收单元,用于接收终端发送的第二对象集合和第二加密数据,其中,第二对象集合是终端依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序生成的,第二标识集合是终端调整第一标识集合中对象标识的顺序生成的,第二加密数据是终端使用第一密钥对目标数据进行加密生成的;
存储单元,用于保存第二对象集合和第二加密数据。
第七方面,本发明实施例提供一种数据解密装置,包括:
发送单元,用于向服务器发送解密目标数据请求;
接收单元,用于接收服务器发送的第二对象集合和第二加密数据,其中,第二加密数据是上传目标数据的终端使用预先生成的第一密钥对目标数据加密生成的,第二对象集合是终端依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序生成的,第二标识集合是终端调整第一标识集合中对象标识的顺序生成的,第一标识集合中包括依预设顺序排列的授信对象的对象标识,授信对象为可访问终端发送的目标数据的对象,第一对象集合中包括依第一顺序排列的数据对象,数据对象是服务器使用授信对象与服务器之间的共享密钥对授信对象的对象标识和第一密钥加密生成的;
第一解密单元,用于利用与服务器之间的共享密钥解密第二对象集合中的每一元素;
第二解密单元,用于在确定解密结果中包括授信对象的对象标识时,使用解密结果中包括的第一密钥解密第二加密数据,得到目标数据。
第八方面,本发明实施例提供一种数据解密装置,包括:
接收单元,用于接收终端发送的解密目标数据请求;
发送单元,用于向终端发送第二对象集合和第二加密数据,其中,第二加密数据是上传目标数据的终端使用预先生成的第一密钥对目标数据加密生成的,第二对象集合是上传目标数据的终端依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序生成的,第二标识集合是上传目标数据的终端调整第一标识集合中对象标识的顺序生成的,第一标识集合中包括依预设顺序排列的授信对象的对象标识,授信对象为可访问目标数据的对象,第一对象集合中包括依第一顺序排列的数据对象,数据对象是服务器使用授信对象与服务器之间的共享密钥对授信对象的对象标识和第一密钥加密生成的。
第九方面,本发明实施例提供一种数据加密系统,包括:服务器以及与服务器通信连接的一个或多个终端,每个终端与服务器之间存在共享密钥;其中,
终端利用与服务器之间的共享密钥对预先生成的用于对目标数据加密的第一密钥进行加密,生成第一加密数据,将第一加密数据和第一标识集合发送至服务器,其中,第一标识集合中包括依预设顺序排列的授信对象的对象标识,授信对象为可访问目标数据的对象;
服务器接收终端发送的第一加密数据和第一标识集合,使用与终端之间的共享密钥解密第一加密数据,得到第一密钥,针对第一标识集合中的每一授信对象的对象标识,利用与授信对象之间的共享密钥对授信对象的对象标识和第一密钥加密,生成授信对象对应的数据对象,依据预设顺序将授信对象对应的数据对象添加到第一对象集合,并将第一对象集合发送至终端;
终端接收服务器发送的第一对象集合,调整第一标识集合中对象标识的顺序,生成第二标识集合,并依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序,生成第二对象集合,使用第一密钥对目标数据进行加密,生成第二加密数据;将第二对象集合和第二加密数据发送至服务器;
服务器接收并保存第二对象集合和第二加密数据。
第十方面,本发明实施例提供一种数据解密系统,包括:服务器以及与服务器通信连接的一个或多个终端,每个终端与服务器之间存在共享密钥;其中,
终端向服务器发送解密目标数据请求;
服务器接收终端发送的解密目标数据请求,向终端发送第二对象集合和第二加密数据,其中,第二加密数据是上传目标数据的终端使用预先生成的第一密钥对目标数据加密生成的,第二对象集合是上传目标数据的终端依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序生成的,第二标识集合是上传目标数据的终端调整第一标识集合中对象标识的顺序生成的,第一标识集合中包括依预设顺序排列的授信对象的对象标识,授信对象为可访问目标数据的对象,第一对象集合中包括依第一顺序排列的数据对象,数据对象是服务器使用授信对象与服务器之间的共享密钥对授信对象的对象标识和第一密钥加密生成的;
终端接收服务器发送的第二对象集合和第二加密数据,利用与服务器之间的共享密钥解密第二对象集合中的每一元素,在确定解密结果中包括授信对象的对象标识时,使用解密结果中包括的第一密钥解密第二加密数据,得到目标数据。
第十一方面,本发明实施例提供一种数据加解密终端,数据加解密终端包括本发明实施例第五方面的数据加密装置和/或本发明实施例第七方面的数据解密装置。
第十二方面,本发明实施例提供一种服务器,服务器包括本发明实施例第六方面的数据加密装置和/或本发明实施例第八方面的数据解密装置。
第十三方面,本发明实施例提供一种数据加密设备,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现本发明实施例第一方面提供的方法或者实现本发明实施例第二方面提供的方法。
第十四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现本发明实施例第一方面提供的方法或者实现本发明实施例第二方面提供的方法。
第十五方面,本发明实施例提供一种数据加密设备,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现本发明实施例第三方面提供的方法或者实现本发明实施例第四方面提供的方法。
第十六方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现本发明实施例第三方面提供的方法或者实现本发明实施例第四方面提供的方法。
本发明实施例提供的数据加密、解密方法、装置、系统、设备、介质、加解密终端及服务器,利用与服务器之间的共享密钥对预先生成的用于对目标数据加密的第一密钥进行加密,生成第一加密数据;将第一加密数据和第一标识集合发送至服务器,其中,第一标识集合中包括依预设顺序排列的授信对象的对象标识,授信对象为可访问目标数据的对象;接收服务器发送的第一对象集合,第一对象集合中包括依第一顺序排列的数据对象,数据对象是服务器使用授信对象与服务器之间的共享密钥对授信对象的对象标识和第一密钥加密生成的;调整第一标识集合中对象标识的顺序,生成第二标识集合,并依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序,生成第二对象集合;使用第一密钥对目标数据进行加密,生成第二加密数据;将第二对象集合和第二加密数据发送至服务器。
本发明实施例提供的数据加密方案中,通过将解密目标数据的第一密钥加密存储至第二对象集合中,从而使得在将第二对象集合和第二加密数据发送至服务器后,只有授信对象才能使用其与服务器之间的共享密钥解密第二对象集合中的数据对象,获得用于解密目标数据的第一密钥,进而使用第一密钥解密第二加密数据获得目标数据,因此,在将第二对象集合和第二加密数据发送至服务器后,可以通过更改第二对象集合中的数据对象,控制访问第二加密数据的授信对象。
附图说明
图1本发明实施例提供的终端侧的数据加密方法的示意流程图;
图2为本发明实施例提供服务器侧的数据加密方法的示意流程图;
图3本发明实施例提供的终端侧的数据解密方法的示意流程图;
图4为本发明实施例提供服务器侧的数据解密方法的示意流程图;
图5为本发明实施例提供的终端侧的数据加密装置的结构示意图;
图6为本发明实施例提供的服务器侧的数据加密装置结构示意图;
图7为本发明实施例提供的终端侧的数据解密装置的结构示意图;
图8为本发明实施例提供的服务器侧的数据解密装置结构示意图;
图9为本发明实施例提供的终端侧的数据加密设备的结构示意图;
图10为本发明实施例提供的服务器侧的数据解密设备结构示意图。
具体实施方式
下面结合附图,对本发明实施例提供的一种数据加密、解密方法、装置、系统、设备、介质、加解密终端及服务器的具体实施方式进行详细地说明。
需要说明的是,本发明实施例提到的授信对象,其可以为用户,也可以为设备或终端,本发明实施例对此不做限定。具体在授信对象为用户时,授信对象的对象标识可以为用户标识,用户标识用于标识不同的用户,每个用户的用户标识具有唯一性。具体在授信对象为设备或终端时,授信对象的对象标识可以为设备标识或终端标识,设备标识或终端标识用于标识不同的设备或终端,每个设备或终端的设备标识具有唯一性。
本发明实施例提供的数据加密方案和数据解密方案,均需要终端与服务器交互完成,下面分别从终端侧和服务器侧对本发明实施例提供的数据加密方案和数据解密方案进行详细说明。
在终端侧,如图1所示,本发明实施例提供一种数据加密方法,包括:
步骤101,利用与服务器之间的共享密钥对预先生成的用于对目标数据加密的第一密钥进行加密,生成第一加密数据。
步骤102,将第一加密数据和第一标识集合发送至服务器,其中,第一标识集合中包括依预设顺序排列的授信对象的对象标识,授信对象为可访问目标数据的对象。
步骤103,接收服务器发送的第一对象集合,第一对象集合中包括依第一顺序排列的数据对象,数据对象是服务器使用授信对象与服务器之间的共享密钥对授信对象的对象标识和第一密钥加密生成的。
步骤104,调整第一标识集合中对象标识的顺序,生成第二标识集合,并依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序,生成第二对象集合。
具体实施时,调整第一标识集合中对象标识的顺序时,可以任意调整,例如,单个对象标识与单个对象标识交换位置,再例如,单个对象标识与多个连续的对象标识交换位置,本发明实施例对此不做限定。
需要说明的是,由于第一对象集合中的数据对象是授权对象对应的数据对象,而第二标识集合中的对象标识是授权对象的对象标识,因此,依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序时,可以先基于第二标识集合中对象标识的顺序,确定授权对象的顺序,进而基于授权对象的顺序,调整第一对象集合中数据对象的顺序。
步骤105,使用第一密钥对目标数据进行加密,生成第二加密数据。
步骤106,将第二对象集合和第二加密数据发送至服务器。
在一种可能的实施方式中,本发明实施例还可以使用预先配置的第二密钥对第二标识集合中所有元素加密,生成第三加密数据,利用预先配置的第三密钥对第二标识集合中所有元素和第三加密数据进行签名,生成第一数字签名,将第一标识集合、第三加密数据、以及第一数字签名发送至服务器。
具体实施时,将第一标识集合、第三加密数据、以及第一数字签名发送至服务器后,可以使用第一数字签名验证第三加密数据和第二对象集合是否被篡改,提高安全性。
在一个示例中,假设每个用户与服务器共享一个对称密钥K,每个用户还有一个对称密钥KK和一个签名私钥SKpri,对称密钥KK只有每个用户自己拥有。服务器存储每个用户的签名公钥SKpub。
若用户A需要发送让授信用户(U1、U2、…、Un)访问的目标数据,则用户A通过终端生成用于加密目标数据的密钥KD,然后使用其与服务器的共享密钥KA加密KD后得到加密数据KDA,然后用户A将授信用户的用户标识集合{UIDU1、UIDU2、…、UIDUn}和加密数据KDA发送至服务器。
服务器接收用户标识集合{UIDU1、UIDU2、…、UIDUn}和加密数据KDA后,使用与用户A的共享密钥KA解密加密数据KDA得到密钥KD,然后分别利用用户Ui与服务器的共享密钥KUi对UIDUi+KD加密,得到KDUi,然后将每个用户Ui对应的KDUi依照用户标识集合中的顺序添加到第一对象集合中,得到第一对象集合{KDU1、KDU2、…、KDUn},并将第一对象集合发送至用户A。
用户A接收到第一对象集合{KDU1、KDU2、…、KDUn}后,调整授信用户(U1、U2、…、Un)中授信用户的顺序,假设调整后授信用户的顺序为(U1 1、U2 1、…、Un 1),然后根据调整后授信用户的顺序,调整用户标识集合和第一对象集合中各个元素的顺序,假设调整后用户标识集合为{UIDU11、UIDU21、…、UIDUn1},调整后第一对象集合为{KDU11、KDU21、…、KDUn1},记为第二对象集合。
用户A使用共享密钥KKA加密UIDU11+UIDU21+…+UIDUn1得到UIDenkA,使用私钥SKpriA对UIDenkA+UIDU11+UIDU21+…+UIDUn1签名得到数字签名UIDsignA,使用密钥KD对目标数据加密得到加密数据ED,然后将{UIDU1、UIDU2、…、UIDUn}、UIDenkA、UIDsignA、{KDU11、KDU21、…、KDUn1}和加密数据ED发送给服务器保存。
在一种可能的实施方式中,在需要删除授信对象时,向服务器发送更改授信对象请求;接收服务器下发的第一标识集合、第三加密数据、以及第二对象集合;若删除目标授信对象,则使用第二密钥解密第三加密数据,得到第二标识集合,从第一标识集合和第二标识集合中删除目标授信对象的对象标识,并从第二对象集合中删除目标授信对象对应的数据对象;使用第二密钥对删除目标授信对象的对象标识后的第二标识集合中所有元素加密,生成第四加密数据,利用第三密钥对删除目标授信对象的对象标识后的第二标识集合中所有元素和第四加密数据进行签名,生成第二数字签名;将删除目标授信对象的对象标识后的第一标识集合、删除目标授信对象对应的数据对象后的第二对象集合,第四加密数据、以及第二数字签名发送至服务器。
仍沿用上述示例,用户A若要删除一个或多个授信用户对目标数据的访问,则用户A通过终端向服务器发送更改授权对象请求,服务器将用户标识集合{UIDU1、UIDU2、…、UIDUn}、UIDenkA、第二对象集合{KDU11、KDU21、…、KDUn1}下发给用户A。
以删除一个授信用户U1为例,用户A将授信用户U1对应的用户标识UIDU1从用户标识集合(UIDU1、UIDU2、…、UIDUn)中删除得到用户标识集合{UIDU2、…、UIDUn}。用户A将授信用户U1对应的数据对象从第二对象集合{KDU11、KDU21、…、KDUn1}中删除,假设授信用户U1对应的数据对象为KDU11,则删除授信用户U1对应的数据对象后的第二对象集合为{KDU21、…、KDUn1}。
用户A使用共享密钥KKA解密UIDenkA得到用户标识集合为{UIDU11、UIDU21、…、UIDUn1},假设授信用户U1在用户标识集合{UIDU11、UIDU21、…、UIDUn1}中对于的用户标识为UIDU11,则将授信用户U1对于的用户标识UIDU11从用户标识集合{UIDU11、UIDU21、…、UIDUn1}中删除,得到用户标识集合{UIDU21、…、UIDUn1}。
用户A基于用户标识集合{UIDU21、…、UIDUn1},重新生成UIDenkA和UIDsignA,然后将删除授信用户U1对应的用户标识后的用户标识集合{UIDU2、…、UIDUn},删除授信用户U1对应的数据对象后的第二对象集合{KDU21、…、KDUn1}、重新生成的UIDenkA和UIDsignA发送至服务器。
服务器接收到用户标识集合{UIDU2、…、UIDUn}、第二对象集合{KDU21、…、KDUn1}、重新生成的UIDenkA和UIDsignA后,利用接收到的数据更新当前存储的数据。
在一种可能的实施方式中,在需要增加授信对象时,向服务器发送更改授信对象请求;接收服务器下发的第一标识集合、第三加密数据、以及第二对象集合;若增加目标授信对象,则向服务器发送数据对象生成请求,数据对象生成请求中包括目标授信对象的对象标识;接收服务器发送的目标授信对象对应的数据对象;使用第二密钥解密第三加密数据,得到第二标识集合,在第一标识集合和第二标识集合中增加目标授信对象的对象标识,并依据目标授信对象的对象标识在第二标识集合中的位置,将目标授信对象对应的数据对象增加到第二对象集合中;使用第二密钥对增加目标授信对象的对象标识后的第二标识集合中所有元素加密,生成第五加密数据,利用第三密钥对增加目标授信对象的对象标识后的第二标识集合中所有元素和第五加密数据进行签名,生成第三数字签名;将增加目标授信对象的对象标识后的第一标识集合、增加目标授信对象对应的数据对象后的第二对象集合,第五加密数据、以及第三数字签名发送至服务器。
仍沿用上述示例,用户A若要增加一个或多个授信用户对目标数据的访问,则用户A通过终端向服务器发送更改授权对象请求,服务器将用户标识集合{UIDU1、UIDU2、…、UIDUn}、UIDenkA、第二对象集合{KDU11、KDU21、…、KDUn1}下发给用户A。
以删除一个授信用户U0为例,用户A向服务器发送数据对象生成请求,数据对象生成请求中包括授信用户U0的用户标识UIDU0
服务器接收用户A发送的数据对象生成请求后,利用用户U0与服务器的共享密钥KU0对UIDU0+KD加密,得到数据对象KDU0,并将数据对象KDU0发送至用户A。
用户A将授信用户U0对于的用户标识UIDU0添加到用户标识集合(UIDU1、UIDU2、…、UIDUn)中,假设添加在第一位,则添加用户标识UIDU0后得到用户标识集合{UIDU0、UIDU1、UIDU2、…、UIDUn}。用户A将授信用户U0对应的数据对象KDU0随机添加到第二对象集合{KDU11、KDU21、…、KDUn1}中,假设将授信用户U0对应的数据对象KDU0添加到第二位,则添加授信用户U0对应的数据对象KDU0后的第二对象集合为{KDU11、KDU0、KDU21、…、KDUn1}。
用户A使用共享密钥KKA解密UIDenkA得到用户标识集合为{UIDU11、UIDU21、…、UIDUn1},然后按照授信用户U0对应的数据对象KDU0在第二对象集合中的添加位置(也即第二位),将授信用户U0对于的用户标识UIDU0添加到用户标识集合{UIDU11、UIDU21、…、UIDUn1}中,得到用户标识集合{UIDU11、UIDU0、UIDU21、…、UIDUn1}。
用户A基于用户标识集合{UIDU11、UIDU0、UIDU21、…、UIDUn1},重新生成UIDenkA和UIDsignA,然后将增加授信用户U0对应的用户标识后的用户标识集合{UIDU0、UIDU1、UIDU2、…、UIDUn},增加授信用户U0对应的数据对象后的第二对象集合{KDU11、KDU0、KDU21、…、KDUn1}、重新生成的UIDenkA和UIDsignA发送至服务器。
服务器接收到用户标识集合{UIDU0、UIDU1、UIDU2、…、UIDUn}、第二对象集合{KDU11、KDU0、KDU21、…、KDUn1}、重新生成的UIDenkA和UIDsignA后,利用接收到的数据更新当前存储的数据。
在服务器侧,如图2所示,本发明实施例提供一种数据加密方法,包括:
步骤201,接收终端发送的第一加密数据和第一标识集合,其中,第一加密数据是终端利用与服务器之间的共享密钥对预先生成的用于对目标数据加密的第一密钥进行加密生成的,第一标识集合中包括依预设顺序排列的授信对象的对象标识,授信对象为可访问终端发送的目标数据的对象。
步骤202,使用与终端之间的共享密钥解密第一加密数据,得到第一密钥,针对第一标识集合中的每一授信对象的对象标识,利用与授信对象之间的共享密钥对授信对象的对象标识和第一密钥加密,生成授信对象对应的数据对象。
步骤203,依据预设顺序将授信对象对应的数据对象添加到第一对象集合。
步骤204,将第一对象集合发送至终端。
步骤205,接收并保存终端发送的第二对象集合和第二加密数据,其中,第二对象集合是终端依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序生成的,第二标识集合是终端调整第一标识集合中对象标识的顺序生成的,第二加密数据是终端使用第一密钥对目标数据进行加密生成的。
在一种可能的实施方式中,服务器还可以接收并保存终端发送的第一标识集合、第三加密数据、以及第一数字签名,其中,第三加密数据是终端使用预先配置的第二密钥对第二标识集合中的所有元素加密生成的,第一数字签名是终端利用预先配置的第三密钥对第二标识集合中所有元素和第三加密数据进行签名生成的。
在一种可能的实施方式中,服务器还可以接收终端发送的更改授信对象请求;向终端发送第一标识集合、第三加密数据、以及第二对象集合;接收终端发送的删除目标授信对象的对象标识后的第一标识集合、删除目标授信对象对应的数据对象后的第二对象集合,第四加密数据、以及第二数字签名,其中,第四加密数据是终端使用第二密钥解密第二加密数据得到第二标识集合,从第二标识集合中删除目标授信对象的对象标识后,使用第二密钥对删除目标授信对象的对象标识后的第二标识集合中所有元素加密生成的,第二数字签名是终端利用第三密钥对删除目标授信对象的对象标识后的第二标识集合中所有元素和第四加密数据进行签名生成的;利用接收到的删除目标授信对象的对象标识后的第一标识集合更新存储的第一标识集合,利用接收到的删除目标授信对象对应的数据对象后的第二对象集合更新存储的第二对象集合,利用接收到的第四加密数据替换存储的第三加密数据,利用接收到的第二数字签名替换存储的第一数字签名。
在一种可能的实施方式中,服务器还可以接收终端发送的更改授信对象请求;向终端发送第一标识集合、第三加密数据、以及第二对象集合;接收终端发送的增加目标授信对象的对象标识后的第一标识集合、增加目标授信对象对应的数据对象后的第二对象集合,第五加密数据、以及第三数字签名,其中,第五加密数据是终端使用第二密钥解密第二加密数据得到第二标识集合,从第二标识集合中增加目标授信对象的对象标识后,使用第二密钥对增加目标授信对象的对象标识后的第二标识集合中所有元素加密生成的,第三数字签名是终端利用第三密钥对增加目标授信对象的对象标识后的第二标识集合中所有元素和第五加密数据进行签名生成的;利用接收到的增加目标授信对象的对象标识后的第一标识集合更新存储的第一标识集合,利用接收到的增加目标授信对象对应的数据对象后的第二对象集合更新存储的第二对象集合,利用接收到的第五加密数据替换存储的第三加密数据,利用接收到的第三数字签名替换存储的第一数字签名。
在一种可能的实施方式中,服务器还可以接收终端发送的数据对象生成请求,数据对象生成请求中包括目标授信对象的对象标识;利用与目标授信对象之间的共享密钥对目标授信对象的对象标识和第一密钥加密,生成目标授信对象对应的数据对象;将目标授信对象对应的数据对象发送至终端。
上述结合具体的实施例对本发明实施例提供的数据加密方案进行了详细说明,下面结合具体的实施例对本发明实施例提供的数据解密方案进行详细说明。
在终端侧,如图3所示,本发明实施例提供一种数据解密方法,包括:
步骤301,向服务器发送解密目标数据请求。
步骤302,接收服务器发送的第二对象集合和第二加密数据,其中,第二加密数据是上传目标数据的终端使用预先生成的第一密钥对目标数据加密生成的,第二对象集合是终端依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序生成的,第二标识集合是终端调整第一标识集合中对象标识的顺序生成的,第一标识集合中包括依预设顺序排列的授信对象的对象标识,授信对象为可访问终端发送的目标数据的对象,第一对象集合中包括依第一顺序排列的数据对象,数据对象是服务器使用授信对象与服务器之间的共享密钥对授信对象的对象标识和第一密钥加密生成的。
步骤303,利用与服务器之间的共享密钥解密第二对象集合中的每一元素。
步骤304,在确定解密结果中包括授信对象的对象标识时,使用解密结果中包括的第一密钥解密第二加密数据,得到目标数据。
在服务器侧,如图4所示,本发明实施例提供一种数据解密方法,包括:
步骤401,接收终端发送的解密目标数据请求;
步骤402,向终端发送第二对象集合和第二加密数据,其中,第二加密数据是上传目标数据的终端使用预先生成的第一密钥对目标数据加密生成的,第二对象集合是上传目标数据的终端依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序生成的,第二标识集合是上传目标数据的终端调整第一标识集合中对象标识的顺序生成的,第一标识集合中包括依预设顺序排列的授信对象的对象标识,授信对象为可访问目标数据的对象,第一对象集合中包括依第一顺序排列的数据对象,数据对象是服务器使用授信对象与服务器之间的共享密钥对授信对象的对象标识和第一密钥加密生成的。
仍沿用上述示例,用户Ui通过终端向服务器发送解密目标数据请求,服务器将第二对象集合{KDU11、KDU21、…、KDUn1}和加密数据ED下发给用户Ui,用户Ui通过终端使用共享密钥KUi分别解密第二对象集合{KDU11、KDU21、…、KDUn1}的每个元素,如果解密结果里面含有用户Ui的用户标识UIDUi,则用户Ui可以使用该解密结果里面的密钥对加密数据ED解密得到目标数据D。
当然,如果解密结果里面不含有用户Ui的用户标识UIDUi,则用户Ui无法获得对加密数据ED解密的密钥,无法解密加密数据ED得到目标数据D。
基于相同的发明构思,本发明实施例还提供了数据加密装置和数据解密装置。
在终端侧,如图5所示,本发明实施例提供一种数据加密装置,包括:
第一加密单元501,用于利用与服务器之间的共享密钥对预先生成的用于对目标数据加密的第一密钥进行加密,生成第一加密数据。
发送单元502,用于将第一加密数据和第一标识集合发送至服务器,其中,第一标识集合中包括依预设顺序排列的授信对象的对象标识,授信对象为可访问目标数据的对象。
接收单元503,用于接收服务器发送的第一对象集合,第一对象集合中包括依第一顺序排列的数据对象,数据对象是服务器使用授信对象与服务器之间的共享密钥对授信对象的对象标识和第一密钥加密生成的。
调整单元504,用于调整第一标识集合中对象标识的顺序,生成第二标识集合,并依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序,生成第二对象集合。
第二加密单元505,用于使用第一密钥对目标数据进行加密,生成第二加密数据。
上传单元506,用于将第二对象集合和第二加密数据发送至服务器。
在一种可能的实施方式中,第二加密单元505还用于:使用预先配置的第二密钥对第二标识集合中所有元素加密,生成第三加密数据,利用预先配置的第三密钥对第二标识集合中所有元素和第三加密数据进行签名,生成第一数字签名;上传单元506还用于:将第一标识集合、第三加密数据、以及第一数字签名发送至服务器。
在一种可能的实施方式中,发送单元502还用于:向服务器发送更改授信对象请求;接收单元503还用于:接收服务器下发的第一标识集合、第三加密数据、以及第二对象集合;调整单元504还用于:若删除目标授信对象,则使用第二密钥解密第三加密数据,得到第二标识集合,从第一标识集合和第二标识集合中删除目标授信对象的对象标识,并从第二对象集合中删除目标授信对象对应的数据对象;第二加密单元505还用于:使用第二密钥对删除目标授信对象的对象标识后的第二标识集合中所有元素加密,生成第四加密数据,利用第三密钥对删除目标授信对象的对象标识后的第二标识集合中所有元素和第四加密数据进行签名,生成第二数字签名;上传单元506还用于:将删除目标授信对象的对象标识后的第一标识集合、删除目标授信对象对应的数据对象后的第二对象集合,第四加密数据、以及第二数字签名发送至服务器。
在一种可能的实施方式中,发送单元502还用于:向服务器发送更改授信对象请求;接收单元503还用于:接收服务器下发的第一标识集合、第三加密数据、以及第二对象集合;调整单元504还用于:若增加目标授信对象,则向服务器发送数据对象生成请求,数据对象生成请求中包括目标授信对象的对象标识,接收服务器发送的目标授信对象对应的数据对象,并使用第二密钥解密第三加密数据,得到第二标识集合,在第一标识集合和第二标识集合中增加目标授信对象的对象标识,并依据目标授信对象的对象标识在第二标识集合中的位置,将目标授信对象对应的数据对象增加到第二对象集合中;第二加密单元505还用于:使用第二密钥对增加目标授信对象的对象标识后的第二标识集合中所有元素加密,生成第五加密数据,利用第三密钥对增加目标授信对象的对象标识后的第二标识集合中所有元素和第五加密数据进行签名,生成第三数字签名;上传单元506还用于:将增加目标授信对象的对象标识后的第一标识集合、增加目标授信对象对应的数据对象后的第二对象集合,第五加密数据、以及第三数字签名发送至服务器。
在服务器侧,如图6所示,本发明实施例提供一种数据加密装置,包括:
第一接收单元601,用于接收终端发送的第一加密数据和第一标识集合,其中,第一加密数据是终端利用与服务器之间的共享密钥对预先生成的用于对目标数据加密的第一密钥进行加密生成的,第一标识集合中包括依预设顺序排列的授信对象的对象标识,授信对象为可访问终端发送的目标数据的对象。
加密单元602,用于使用与终端之间的共享密钥解密第一加密数据,得到第一密钥,针对第一标识集合中的每一授信对象的对象标识,利用与授信对象之间的共享密钥对授信对象的对象标识和第一密钥加密,生成授信对象对应的数据对象。
处理单元603,用于依据预设顺序将授信对象对应的数据对象添加到第一对象集合。
发送单元604,用于将第一对象集合发送至终端。
第二接收单元605,用于接收终端发送的第二对象集合和第二加密数据,其中,第二对象集合是终端依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序生成的,第二标识集合是终端调整第一标识集合中对象标识的顺序生成的,第二加密数据是终端使用第一密钥对目标数据进行加密生成的。
存储单元606,用于保存第二对象集合和第二加密数据。
在一种可能的实施方式中,第二接收单元605还用于:接收终端发送的第一标识集合、第三加密数据、以及第一数字签名,其中,第三加密数据是终端使用预先配置的第二密钥对第二标识集合中的所有元素加密生成的,第一数字签名是终端利用预先配置的第三密钥对第二标识集合中所有元素和第三加密数据进行签名生成的;存储单元606还用于:保存第一标识集合、第三加密数据、以及第一数字签名。
在一种可能的实施方式中,第一接收单元601还用于:接收终端发送的更改授信对象请求;发送单元604还用于:向终端发送第一标识集合、第三加密数据、以及第二对象集合;第二接收单元605还用于:接收终端发送的删除目标授信对象的对象标识后的第一标识集合、删除目标授信对象对应的数据对象后的第二对象集合,第四加密数据、以及第二数字签名,其中,第四加密数据是终端使用第二密钥解密第二加密数据得到第二标识集合,从第二标识集合中删除目标授信对象的对象标识后,使用第二密钥对删除目标授信对象的对象标识后的第二标识集合中所有元素加密生成的,第二数字签名是终端利用第三密钥对删除目标授信对象的对象标识后的第二标识集合中所有元素和第四加密数据进行签名生成的;存储单元606还用于:利用接收到的删除目标授信对象的对象标识后的第一标识集合更新存储的第一标识集合,利用接收到的删除目标授信对象对应的数据对象后的第二对象集合更新存储的第二对象集合,利用接收到的第四加密数据替换存储的第二加密数据,利用接收到的第二数字签名替换存储的第一数字签名。
在一种可能的实施方式中,第一接收单元601还用于:接收终端发送的更改授信对象请求;发送单元604还用于:向终端发送第一标识集合、第三加密数据、以及第二对象集合;第二接收单元605还用于:接收终端发送的增加目标授信对象的对象标识后的第一标识集合、增加目标授信对象对应的数据对象后的第二对象集合,第五加密数据、以及第三数字签名,其中,第五加密数据是终端使用第二密钥解密第二加密数据得到第二标识集合,从第二标识集合中增加目标授信对象的对象标识后,使用第二密钥对增加目标授信对象的对象标识后的第二标识集合中所有元素加密生成的,第三数字签名是终端利用第三密钥对增加目标授信对象的对象标识后的第二标识集合中所有元素和第五加密数据进行签名生成的;存储单元606还用于:利用接收到的增加目标授信对象的对象标识后的第一标识集合更新存储的第一标识集合,利用接收到的增加目标授信对象对应的数据对象后的第二对象集合更新存储的第二对象集合,利用接收到的第五加密数据替换存储的第二加密数据,利用接收到的第三数字签名替换存储的第一数字签名。
在一种可能的实施方式中,第一接收单元601还用于:接收终端发送的数据对象生成请求,数据对象生成请求中包括目标授信对象的对象标识;加密单元602还用于:利用与目标授信对象之间的共享密钥对目标授信对象的对象标识和第一密钥加密,生成目标授信对象对应的数据对象;发送单元604还用于:将目标授信对象对应的数据对象发送至终端。
在终端侧,如图7所示,本发明实施例提供一种数据解密装置,包括:
发送单元701,用于向服务器发送解密目标数据请求。
接收单元702,用于接收服务器发送的第二对象集合和第二加密数据,其中,第二加密数据是上传目标数据的终端使用预先生成的第一密钥对目标数据加密生成的,第二对象集合是终端依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序生成的,第二标识集合是终端调整第一标识集合中对象标识的顺序生成的,第一标识集合中包括依预设顺序排列的授信对象的对象标识,授信对象为可访问终端发送的目标数据的对象,第一对象集合中包括依第一顺序排列的数据对象,数据对象是服务器使用授信对象与服务器之间的共享密钥对授信对象的对象标识和第一密钥加密生成的。
第一解密单元703,用于利用与服务器之间的共享密钥解密第二对象集合中的每一元素。
第二解密单元704,用于在确定解密结果中包括授信对象的对象标识时,使用解密结果中包括的第一密钥解密第二加密数据,得到目标数据。
在服务器侧,如图8所示,本发明实施例提供一种数据解密装置,包括:
接收单元801,用于接收终端发送的解密目标数据请求。
发送单元802,用于向终端发送第二对象集合和第二加密数据,其中,第二加密数据是上传目标数据的终端使用预先生成的第一密钥对目标数据加密生成的,第二对象集合是上传目标数据的终端依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序生成的,第二标识集合是上传目标数据的终端调整第一标识集合中对象标识的顺序生成的,第一标识集合中包括依预设顺序排列的授信对象的对象标识,授信对象为可访问目标数据的对象,第一对象集合中包括依第一顺序排列的数据对象,数据对象是服务器使用授信对象与服务器之间的共享密钥对授信对象的对象标识和第一密钥加密生成的。
另外,本发明实施例提供一种数据加密系统,包括:服务器以及与服务器通信连接的一个或多个终端,每个终端与服务器之间存在共享密钥;其中,
终端利用与服务器之间的共享密钥对预先生成的用于对目标数据加密的第一密钥进行加密,生成第一加密数据,将第一加密数据和第一标识集合发送至服务器,其中,第一标识集合中包括依预设顺序排列的授信对象的对象标识,授信对象为可访问目标数据的对象;
服务器接收终端发送的第一加密数据和第一标识集合,使用与终端之间的共享密钥解密第一加密数据,得到第一密钥,针对第一标识集合中的每一授信对象的对象标识,利用与授信对象之间的共享密钥对授信对象的对象标识和第一密钥加密,生成授信对象对应的数据对象,依据预设顺序将授信对象对应的数据对象添加到第一对象集合,并将第一对象集合发送至终端;
终端接收服务器发送的第一对象集合,调整第一标识集合中对象标识的顺序,生成第二标识集合,并依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序,生成第二对象集合,使用第一密钥对目标数据进行加密,生成第二加密数据;将第二对象集合和第二加密数据发送至服务器;
服务器接收并保存第二对象集合和第二加密数据。
本发明实施例提供一种数据解密系统,包括:服务器以及与服务器通信连接的一个或多个终端,每个终端与服务器之间存在共享密钥;其中,
终端向服务器发送解密目标数据请求;
服务器接收终端发送的解密目标数据请求,向终端发送第二对象集合和第二加密数据,其中,第二加密数据是上传目标数据的终端使用预先生成的第一密钥对目标数据加密生成的,第二对象集合是上传目标数据的终端依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序生成的,第二标识集合是上传目标数据的终端调整第一标识集合中对象标识的顺序生成的,第一标识集合中包括依预设顺序排列的授信对象的对象标识,授信对象为可访问目标数据的对象,第一对象集合中包括依第一顺序排列的数据对象,数据对象是服务器使用授信对象与服务器之间的共享密钥对授信对象的对象标识和第一密钥加密生成的;
终端接收服务器发送的第二对象集合和第二加密数据,利用与服务器之间的共享密钥解密第二对象集合中的每一元素,在确定解密结果中包括授信对象的对象标识时,使用解密结果中包括的第一密钥解密第二加密数据,得到目标数据。
本发明实施例提供一种数据加解密终端,数据加解密终端包括本发明上述实施例提供终端侧的数据加密装置和/或本发明实施例提供终端侧的数据解密装置。
本发明实施例提供一种服务器,服务器包括本发明实施例提供服务器侧的数据加密装置和/或本发明实施例提供服务器侧的数据解密装置。
另外,结合图1-图2描述的本发明实施例的数据加密方法可以由数据加密设备来实现。图9示出了本发明实施例提供的数据加密设备的硬件结构示意图。
数据加密设备可以包括处理器901以及存储有计算机程序指令的存储器902。
具体地,上述处理器901可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器902可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器902可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器902可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器902可在数据处理装置的内部或外部。在特定实施例中,存储器902是非易失性固态存储器。在特定实施例中,存储器902包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器901通过读取并执行存储器902中存储的计算机程序指令,以实现上述实施例中的任意一种数据加密方法。
在一个示例中,数据加密设备还可包括通信接口903和总线910。其中,如图9所示,处理器901、存储器902、通信接口903通过总线910连接并完成相互间的通信。
通信接口903,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
总线910包括硬件、软件或两者,将数据加密设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线910可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
该数据加密设备可以执行本发明实施例中的数据加密方法,从而实现结合图1-图2描述的数据加密方法。
另外,结合上述实施例中的数据加密方法,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种数据加密方法。
另外,结合图3-图4描述的本发明实施例的数据解密方法可以由数据解密设备来实现。图10示出了本发明实施例提供的数据解密设备的硬件结构示意图。
数据解密设备可以包括处理器1001以及存储有计算机程序指令的存储器1002。
具体地,上述处理器1001可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器1002可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器1002可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器1002可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器1002可在数据处理装置的内部或外部。在特定实施例中,存储器1002是非易失性固态存储器。在特定实施例中,存储器1002包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器1001通过读取并执行存储器1002中存储的计算机程序指令,以实现上述实施例中的任意一种数据解密方法。
在一个示例中,数据解密设备还可包括通信接口1003和总线1010。其中,如图10所示,处理器1001、存储器1002、通信接口1003通过总线1010连接并完成相互间的通信。
通信接口1003,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
总线1010包括硬件、软件或两者,将数据解密设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线1010可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
该数据解密设备可以执行本发明实施例中的数据解密方法,从而实现结合图3-图4描述的数据解密方法。
另外,结合上述实施例中的数据解密方法,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种数据解密方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (30)

1.一种数据加密方法,其特征在于,包括:
利用与服务器之间的共享密钥对预先生成的用于对目标数据加密的第一密钥进行加密,生成第一加密数据;
将所述第一加密数据和第一标识集合发送至所述服务器,其中,所述第一标识集合中包括依预设顺序排列的授信对象的对象标识,所述授信对象为可访问所述目标数据的对象;
接收所述服务器发送的第一对象集合,所述第一对象集合中包括依第一顺序排列的数据对象,所述数据对象是所述服务器使用授信对象与所述服务器之间的共享密钥对所述授信对象的对象标识和所述第一密钥加密生成的;
调整所述第一标识集合中对象标识的顺序,生成第二标识集合,并依据所述第二标识集合中对象标识的顺序,调整所述第一对象集合中数据对象的顺序,生成第二对象集合;
使用所述第一密钥对所述目标数据进行加密,生成第二加密数据;
将所述第二对象集合和所述第二加密数据发送至所述服务器。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
使用预先配置的第二密钥对所述第二标识集合中所有元素加密,生成第三加密数据,利用预先配置的第三密钥对所述第二标识集合中所有元素和所述第三加密数据进行签名,生成第一数字签名;
将所述第一标识集合、所述第三加密数据、以及所述第一数字签名发送至服务器。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
向所述服务器发送更改授信对象请求;
接收所述服务器下发的所述第一标识集合、所述第三加密数据、以及所述第二对象集合;
若删除目标授信对象,则使用所述第二密钥解密所述第三加密数据,得到所述第二标识集合,从所述第一标识集合和所述第二标识集合中删除目标授信对象的对象标识,并从所述第二对象集合中删除目标授信对象对应的数据对象;
使用所述第二密钥对删除目标授信对象的对象标识后的第二标识集合中所有元素加密,生成第四加密数据,利用所述第三密钥对所述删除目标授信对象的对象标识后的第二标识集合中所有元素和所述第四加密数据进行签名,生成第二数字签名;
将删除目标授信对象的对象标识后的第一标识集合、删除目标授信对象对应的数据对象后的第二对象集合,所述第四加密数据、以及所述第二数字签名发送至所述服务器。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
向所述服务器发送更改授信对象请求;
接收所述服务器下发的所述第一标识集合、所述第三加密数据、以及所述第二对象集合;
若增加目标授信对象,则向服务器发送数据对象生成请求,所述数据对象生成请求中包括目标授信对象的对象标识;
接收所述服务器发送的所述目标授信对象对应的数据对象;
使用所述第二密钥解密所述第三加密数据,得到所述第二标识集合,在所述第一标识集合和所述第二标识集合中增加目标授信对象的对象标识,并依据目标授信对象的对象标识在所述第二标识集合中的位置,将目标授信对象对应的数据对象增加到所述第二对象集合中;
使用所述第二密钥对增加目标授信对象的对象标识后的第二标识集合中所有元素加密,生成第五加密数据,利用所述第三密钥对所述增加目标授信对象的对象标识后的第二标识集合中所有元素和所述第五加密数据进行签名,生成第三数字签名;
将增加目标授信对象的对象标识后的第一标识集合、增加目标授信对象对应的数据对象后的第二对象集合,所述第五加密数据、以及所述第三数字签名发送至所述服务器。
5.一种数据加密方法,其特征在于,包括:
接收终端发送的第一加密数据和第一标识集合,其中,所述第一加密数据是所述终端利用与服务器之间的共享密钥对预先生成的用于对目标数据加密的第一密钥进行加密生成的,所述第一标识集合中包括依预设顺序排列的授信对象的对象标识,所述授信对象为可访问所述终端发送的目标数据的对象;
使用与所述终端之间的共享密钥解密所述第一加密数据,得到所述第一密钥,针对所述第一标识集合中的每一授信对象的对象标识,利用与所述授信对象之间的共享密钥对所述授信对象的对象标识和所述第一密钥加密,生成所述授信对象对应的数据对象;
依据所述预设顺序将所述授信对象对应的数据对象添加到第一对象集合;
将所述第一对象集合发送至所述终端;
接收并保存所述终端发送的第二对象集合和第二加密数据,其中,所述第二对象集合是所述终端依据第二标识集合中对象标识的顺序,调整所述第一对象集合中数据对象的顺序生成的,所述第二标识集合是所述终端调整所述第一标识集合中对象标识的顺序生成的,所述第二加密数据是所述终端使用所述第一密钥对所述目标数据进行加密生成的。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收并保存所述终端发送的所述第一标识集合、第三加密数据、以及第一数字签名,其中,所述第三加密数据是所述终端使用预先配置的第二密钥对第二标识集合中的所有元素加密生成的,所述第一数字签名是所述终端利用预先配置的第三密钥对所述第二标识集合中所有元素和所述第三加密数据进行签名生成的。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
接收所述终端发送的更改授信对象请求;
向所述终端发送所述第一标识集合、所述第三加密数据、以及所述第二对象集合;
接收所述终端发送的删除目标授信对象的对象标识后的第一标识集合、删除目标授信对象对应的数据对象后的第二对象集合,第四加密数据、以及第二数字签名,其中,所述第四加密数据是所述终端使用所述第二密钥解密所述第二加密数据得到所述第二标识集合,从所述第二标识集合中删除目标授信对象的对象标识后,使用所述第二密钥对删除目标授信对象的对象标识后的第二标识集合中所有元素加密生成的,所述第二数字签名是所述终端利用所述第三密钥对所述删除目标授信对象的对象标识后的第二标识集合中所有元素和所述第四加密数据进行签名生成的;
利用接收到的删除目标授信对象的对象标识后的第一标识集合更新存储的第一标识集合,利用接收到的删除目标授信对象对应的数据对象后的第二对象集合更新存储的第二对象集合,利用接收到的第四加密数据替换存储的第三加密数据,利用接收到的第二数字签名替换存储的第一数字签名。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
接收所述终端发送的更改授信对象请求;
向所述终端发送所述第一标识集合、所述第三加密数据、以及所述第二对象集合;
接收所述终端发送的增加目标授信对象的对象标识后的第一标识集合、增加目标授信对象对应的数据对象后的第二对象集合,第五加密数据、以及第三数字签名,其中,所述第五加密数据是所述终端使用所述第二密钥解密所述第二加密数据得到所述第二标识集合,从所述第二标识集合中增加目标授信对象的对象标识后,使用所述第二密钥对增加目标授信对象的对象标识后的第二标识集合中所有元素加密生成的,所述第三数字签名是所述终端利用所述第三密钥对所述增加目标授信对象的对象标识后的第二标识集合中所有元素和所述第五加密数据进行签名生成的;
利用接收到的增加目标授信对象的对象标识后的第一标识集合更新存储的第一标识集合,利用接收到的增加目标授信对象对应的数据对象后的第二对象集合更新存储的第二对象集合,利用接收到的第五加密数据替换存储的第三加密数据,利用接收到的第三数字签名替换存储的第一数字签名。
9.根据权利要求6所述的方法,其特征在于,所述方法还包括:
接收所述终端发送的数据对象生成请求,所述数据对象生成请求中包括目标授信对象的对象标识;
利用与所述目标授信对象之间的共享密钥对所述目标授信对象的对象标识和所述第一密钥加密,生成所述目标授信对象对应的数据对象;
将所述目标授信对象对应的数据对象发送至所述终端。
10.一种数据解密方法,其特征在于,包括:
向服务器发送解密目标数据请求;
接收服务器发送的第二对象集合和第二加密数据,其中,所述第二加密数据是上传所述目标数据的终端使用预先生成的第一密钥对目标数据加密生成的,所述第二对象集合是所述终端依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序生成的,所述第二标识集合是所述终端调整第一标识集合中对象标识的顺序生成的,所述第一标识集合中包括依预设顺序排列的授信对象的对象标识,所述授信对象为可访问所述终端发送的目标数据的对象,所述第一对象集合中包括依第一顺序排列的数据对象,所述数据对象是所述服务器使用授信对象与所述服务器之间的共享密钥对所述授信对象的对象标识和所述第一密钥加密生成的;
利用与服务器之间的共享密钥解密所述第二对象集合中的每一元素;
在确定解密结果中包括授信对象的对象标识时,使用解密结果中包括的所述第一密钥解密所述第二加密数据,得到所述目标数据。
11.一种数据解密方法,其特征在于,包括:
接收终端发送的解密目标数据请求;
向所述终端发送第二对象集合和第二加密数据,其中,所述第二加密数据是上传所述目标数据的终端使用预先生成的第一密钥对目标数据加密生成的,所述第二对象集合是上传所述目标数据的终端依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序生成的,所述第二标识集合是上传所述目标数据的终端调整第一标识集合中对象标识的顺序生成的,所述第一标识集合中包括依预设顺序排列的授信对象的对象标识,所述授信对象为可访问所述目标数据的对象,所述第一对象集合中包括依第一顺序排列的数据对象,所述数据对象是服务器使用授信对象与所述服务器之间的共享密钥对所述授信对象的对象标识和所述第一密钥加密生成的。
12.一种数据加密装置,其特征在于,包括:
第一加密单元,用于利用与服务器之间的共享密钥对预先生成的用于对目标数据加密的第一密钥进行加密,生成第一加密数据;
发送单元,用于将所述第一加密数据和第一标识集合发送至所述服务器,其中,所述第一标识集合中包括依预设顺序排列的授信对象的对象标识,所述授信对象为可访问所述目标数据的对象;
接收单元,用于接收所述服务器发送的第一对象集合,所述第一对象集合中包括依第一顺序排列的数据对象,所述数据对象是所述服务器使用授信对象与所述服务器之间的共享密钥对所述授信对象的对象标识和所述第一密钥加密生成的;
调整单元,用于调整所述第一标识集合中对象标识的顺序,生成第二标识集合,并依据所述第二标识集合中对象标识的顺序,调整所述第一对象集合中数据对象的顺序,生成第二对象集合;
第二加密单元,用于使用所述第一密钥对所述目标数据进行加密,生成第二加密数据;
上传单元,用于将所述第二对象集合和所述第二加密数据发送至所述服务器。
13.根据权利要求12所述的装置,其特征在于,
所述第二加密单元还用于:使用预先配置的第二密钥对所述第二标识集合中所有元素加密,生成第三加密数据,利用预先配置的第三密钥对所述第二标识集合中所有元素和所述第三加密数据进行签名,生成第一数字签名;
所述上传单元还用于:将所述第一标识集合、所述第三加密数据、以及所述第一数字签名发送至服务器。
14.根据权利要求13所述的装置,其特征在于,
所述发送单元还用于:向所述服务器发送更改授信对象请求;
所述接收单元还用于:接收所述服务器下发的所述第一标识集合、所述第三加密数据、以及所述第二对象集合;
所述调整单元还用于:若删除目标授信对象,则使用所述第二密钥解密所述第三加密数据,得到所述第二标识集合,从所述第一标识集合和所述第二标识集合中删除目标授信对象的对象标识,并从所述第二对象集合中删除目标授信对象对应的数据对象;
所述第二加密单元还用于:使用所述第二密钥对删除目标授信对象的对象标识后的第二标识集合中所有元素加密,生成第四加密数据,利用所述第三密钥对所述删除目标授信对象的对象标识后的第二标识集合中所有元素和所述第四加密数据进行签名,生成第二数字签名;
所述上传单元还用于:将删除目标授信对象的对象标识后的第一标识集合、删除目标授信对象对应的数据对象后的第二对象集合,所述第四加密数据、以及所述第二数字签名发送至所述服务器。
15.根据权利要求13所述的装置,其特征在于,
所述发送单元还用于:向所述服务器发送更改授信对象请求;
所述接收单元还用于:接收所述服务器下发的所述第一标识集合、所述第三加密数据、以及所述第二对象集合;
所述调整单元还用于:若增加目标授信对象,则向服务器发送数据对象生成请求,所述数据对象生成请求中包括目标授信对象的对象标识,接收所述服务器发送的目标授信对象对应的数据对象,并使用所述第二密钥解密所述第三加密数据,得到所述第二标识集合,在所述第一标识集合和所述第二标识集合中增加目标授信对象的对象标识,并依据目标授信对象的对象标识在所述第二标识集合中的位置,将目标授信对象对应的数据对象增加到所述第二对象集合中;
所述第二加密单元还用于:使用所述第二密钥对增加目标授信对象的对象标识后的第二标识集合中所有元素加密,生成第五加密数据,利用所述第三密钥对所述增加目标授信对象的对象标识后的第二标识集合中所有元素和所述第五加密数据进行签名,生成第三数字签名;
所述上传单元还用于:将增加目标授信对象的对象标识后的第一标识集合、增加目标授信对象对应的数据对象后的第二对象集合,所述第五加密数据、以及所述第三数字签名发送至所述服务器。
16.一种数据加密装置,其特征在于,包括:
第一接收单元,用于接收终端发送的第一加密数据和第一标识集合,其中,所述第一加密数据是所述终端利用与服务器之间的共享密钥对预先生成的用于对目标数据加密的第一密钥进行加密生成的,所述第一标识集合中包括依预设顺序排列的授信对象的对象标识,所述授信对象为可访问所述终端发送的目标数据的对象;
加密单元,用于使用与所述终端之间的共享密钥解密所述第一加密数据,得到所述第一密钥,针对所述第一标识集合中的每一授信对象的对象标识,利用与所述授信对象之间的共享密钥对所述授信对象的对象标识和所述第一密钥加密,生成所述授信对象对应的数据对象;
处理单元,用于依据所述预设顺序将所述授信对象对应的数据对象添加到第一对象集合;
发送单元,用于将所述第一对象集合发送至所述终端;
第二接收单元,用于接收所述终端发送的第二对象集合和第二加密数据,其中,所述第二对象集合是所述终端依据第二标识集合中对象标识的顺序,调整所述第一对象集合中数据对象的顺序生成的,所述第二标识集合是所述终端调整所述第一标识集合中对象标识的顺序生成的,所述第二加密数据是所述终端使用所述第一密钥对所述目标数据进行加密生成的;
存储单元,用于保存所述第二对象集合和所述第二加密数据。
17.根据权利要求16所述的装置,其特征在于:
所述第二接收单元还用于:接收所述终端发送的所述第一标识集合、第三加密数据、以及第一数字签名,其中,其中,所述第三加密数据是所述终端使用预先配置的第二密钥对第二标识集合中的所有元素加密生成的,所述第一数字签名是所述终端利用预先配置的第三密钥对所述第二标识集合中所有元素和所述第三加密数据进行签名生成的;
所述存储单元还用于:保存所述第一标识集合、所述第三加密数据、以及所述第一数字签名。
18.根据权利要求17所述的装置,其特征在于:
所述第一接收单元还用于:接收所述终端发送的更改授信对象请求;
所述发送单元还用于:向所述终端发送所述第一标识集合、所述第三加密数据、以及所述第二对象集合;
所述第二接收单元还用于:接收所述终端发送的删除目标授信对象的对象标识后的第一标识集合、删除目标授信对象对应的数据对象后的第二对象集合,第四加密数据、以及第二数字签名,其中,所述第四加密数据是所述终端使用所述第二密钥解密所述第二加密数据得到所述第二标识集合,从所述第二标识集合中删除目标授信对象的对象标识后,使用所述第二密钥对删除目标授信对象的对象标识后的第二标识集合中所有元素加密生成的,所述第二数字签名是所述终端利用所述第三密钥对所述删除目标授信对象的对象标识后的第二标识集合中所有元素和所述第四加密数据进行签名生成的;
所述存储单元还用于:利用接收到的删除目标授信对象的对象标识后的第一标识集合更新存储的第一标识集合,利用接收到的删除目标授信对象对应的数据对象后的第二对象集合更新存储的第二对象集合,利用接收到的第四加密数据替换存储的第二加密数据,利用接收到的第二数字签名替换存储的第一数字签名。
19.根据权利要求17所述的装置,其特征在于:
所述第一接收单元还用于:接收所述终端发送的更改授信对象请求;
所述发送单元还用于:向所述终端发送所述第一标识集合、所述第三加密数据、以及所述第二对象集合;
所述第二接收单元还用于:接收所述终端发送的增加目标授信对象的对象标识后的第一标识集合、增加目标授信对象对应的数据对象后的第二对象集合,第五加密数据、以及第三数字签名,其中,所述第五加密数据是所述终端使用所述第二密钥解密所述第二加密数据得到所述第二标识集合,从所述第二标识集合中增加目标授信对象的对象标识后,使用所述第二密钥对增加目标授信对象的对象标识后的第二标识集合中所有元素加密生成的,所述第三数字签名是所述终端利用所述第三密钥对所述增加目标授信对象的对象标识后的第二标识集合中所有元素和所述第五加密数据进行签名生成的;
所述存储单元还用于:利用接收到的增加目标授信对象的对象标识后的第一标识集合更新存储的第一标识集合,利用接收到的增加目标授信对象对应的数据对象后的第二对象集合更新存储的第二对象集合,利用接收到的第五加密数据替换存储的第二加密数据,利用接收到的第三数字签名替换存储的第一数字签名。
20.根据权利要求17所述的装置,其特征在于,
所述第一接收单元还用于:接收所述终端发送的数据对象生成请求,所述数据对象生成请求中包括目标授信对象的对象标识;
所述加密单元还用于:利用与所述目标授信对象之间的共享密钥对所述目标授信对象的对象标识和所述第一密钥加密,生成所述目标授信对象对应的数据对象;
所述发送单元还用于:将所述目标授信对象对应的数据对象发送至所述终端。
21.一种数据解密装置,其特征在于,包括:
发送单元,用于向服务器发送解密目标数据请求;
接收单元,用于接收服务器发送的第二对象集合和第二加密数据,其中,所述第二加密数据是上传所述目标数据的终端使用预先生成的第一密钥对目标数据加密生成的,所述第二对象集合是所述终端依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序生成的,所述第二标识集合是所述终端调整第一标识集合中对象标识的顺序生成的,所述第一标识集合中包括依预设顺序排列的授信对象的对象标识,所述授信对象为可访问所述终端发送的目标数据的对象,所述第一对象集合中包括依第一顺序排列的数据对象,所述数据对象是所述服务器使用授信对象与所述服务器之间的共享密钥对所述授信对象的对象标识和所述第一密钥加密生成的;
第一解密单元,用于利用与服务器之间的共享密钥解密所述第二对象集合中的每一元素;
第二解密单元,用于在确定解密结果中包括授信对象的对象标识时,使用解密结果中包括的所述第一密钥解密所述第二加密数据,得到所述目标数据。
22.一种数据解密装置,其特征在于,包括:
接收单元,用于接收终端发送的解密目标数据请求;
发送单元,用于向所述终端发送第二对象集合和第二加密数据,其中,所述第二加密数据是上传所述目标数据的终端使用预先生成的第一密钥对目标数据加密生成的,所述第二对象集合是上传所述目标数据的终端依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序生成的,所述第二标识集合是上传所述目标数据的终端调整第一标识集合中对象标识的顺序生成的,所述第一标识集合中包括依预设顺序排列的授信对象的对象标识,所述授信对象为可访问所述目标数据的对象,所述第一对象集合中包括依第一顺序排列的数据对象,所述数据对象是服务器使用授信对象与所述服务器之间的共享密钥对所述授信对象的对象标识和所述第一密钥加密生成的。
23.一种数据加密系统,其特征在于,包括:服务器以及与所述服务器通信连接的一个或多个终端,每个终端与所述服务器之间存在共享密钥;其中,
所述终端利用与服务器之间的共享密钥对预先生成的用于对目标数据加密的第一密钥进行加密,生成第一加密数据,将所述第一加密数据和第一标识集合发送至所述服务器,其中,所述第一标识集合中包括依预设顺序排列的授信对象的对象标识,所述授信对象为可访问所述目标数据的对象;
所述服务器接收终端发送的第一加密数据和第一标识集合,使用与所述终端之间的共享密钥解密所述第一加密数据,得到所述第一密钥,针对所述第一标识集合中的每一授信对象的对象标识,利用与所述授信对象之间的共享密钥对所述授信对象的对象标识和所述第一密钥加密,生成所述授信对象对应的数据对象,依据所述预设顺序将所述授信对象对应的数据对象添加到第一对象集合,并将所述第一对象集合发送至所述终端;
所述终端接收所述服务器发送的第一对象集合,调整所述第一标识集合中对象标识的顺序,生成第二标识集合,并依据所述第二标识集合中对象标识的顺序,调整所述第一对象集合中数据对象的顺序,生成第二对象集合,使用所述第一密钥对所述目标数据进行加密,生成第二加密数据;将所述第二对象集合和所述第二加密数据发送至所述服务器;
所述服务器接收并保存所述第二对象集合和所述第二加密数据。
24.一种数据解密系统,其特征在于,包括:服务器以及与所述服务器通信连接的一个或多个终端,每个终端与所述服务器之间存在共享密钥;其中,
所述终端向所述服务器发送解密目标数据请求;
所述服务器接收所述终端发送的解密目标数据请求,向所述终端发送第二对象集合和第二加密数据,其中,所述第二加密数据是上传所述目标数据的终端使用预先生成的第一密钥对目标数据加密生成的,所述第二对象集合是上传所述目标数据的终端依据第二标识集合中对象标识的顺序,调整第一对象集合中数据对象的顺序生成的,所述第二标识集合是上传所述目标数据的终端调整第一标识集合中对象标识的顺序生成的,所述第一标识集合中包括依预设顺序排列的授信对象的对象标识,所述授信对象为可访问所述目标数据的对象,所述第一对象集合中包括依第一顺序排列的数据对象,所述数据对象是所述服务器使用授信对象与所述服务器之间的共享密钥对所述授信对象的对象标识和所述第一密钥加密生成的;
所述终端接收所述服务器发送的第二对象集合和第二加密数据,利用与服务器之间的共享密钥解密所述第二对象集合中的每一元素,在确定解密结果中包括授信对象的对象标识时,使用解密结果中包括的所述第一密钥解密所述第二加密数据,得到所述目标数据。
25.一种数据加解密终端,其特征在于,所述数据加解密终端包括如权利要求12-15中任一项所述的数据加密装置和/或如权利要求21所述的数据解密装置。
26.一种服务器,其特征在于,所述服务器包括如权利要求16-20中任一项所述的数据加密装置和/或如权利要求22所述的数据解密装置。
27.一种数据加密设备,其特征在于,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现如权利要求1-4中任一项所述的方法或者实现如权利要求5-9中任一项所述的方法。
28.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,当所述计算机程序指令被处理器执行时实现如权利要求1-4中任一项所述的方法或者实现如权利要求5-9中任一项所述的方法。
29.一种数据解密设备,其特征在于,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现如权利要求10或11所述的方法。
30.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,当所述计算机程序指令被处理器执行时实现如权利要求10或11所述的方法。
CN201811261784.8A 2018-10-26 2018-10-26 一种数据加密、解密方法、装置、系统、设备及介质 Active CN109450884B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811261784.8A CN109450884B (zh) 2018-10-26 2018-10-26 一种数据加密、解密方法、装置、系统、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811261784.8A CN109450884B (zh) 2018-10-26 2018-10-26 一种数据加密、解密方法、装置、系统、设备及介质

Publications (2)

Publication Number Publication Date
CN109450884A CN109450884A (zh) 2019-03-08
CN109450884B true CN109450884B (zh) 2019-10-15

Family

ID=65548780

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811261784.8A Active CN109450884B (zh) 2018-10-26 2018-10-26 一种数据加密、解密方法、装置、系统、设备及介质

Country Status (1)

Country Link
CN (1) CN109450884B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111740986B (zh) * 2020-06-19 2022-07-19 公安部第三研究所 基于标识密码技术的实现数据共享控制的系统及其方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127108A (zh) * 2006-08-15 2008-02-20 阿里巴巴公司 一种经一个计算机系统访问一个信息源的方法
CN102075544A (zh) * 2011-02-18 2011-05-25 博视联(苏州)信息科技有限公司 局域网共享文件加密系统及其加解密方法
CN102752112A (zh) * 2011-04-22 2012-10-24 航天信息股份有限公司 基于sm1/sm2算法的权限控制方法及装置
CN105577609A (zh) * 2014-10-09 2016-05-11 华为技术有限公司 用于对访问的内容进行控制的方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070028098A1 (en) * 2005-07-28 2007-02-01 International Business Machines Corporation Encrypting units of work based on a trust level

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127108A (zh) * 2006-08-15 2008-02-20 阿里巴巴公司 一种经一个计算机系统访问一个信息源的方法
CN102075544A (zh) * 2011-02-18 2011-05-25 博视联(苏州)信息科技有限公司 局域网共享文件加密系统及其加解密方法
CN102752112A (zh) * 2011-04-22 2012-10-24 航天信息股份有限公司 基于sm1/sm2算法的权限控制方法及装置
CN105577609A (zh) * 2014-10-09 2016-05-11 华为技术有限公司 用于对访问的内容进行控制的方法和装置

Also Published As

Publication number Publication date
CN109450884A (zh) 2019-03-08

Similar Documents

Publication Publication Date Title
CN109040090B (zh) 一种数据加密方法及装置
CN109740384A (zh) 基于区块链的数据存证方法和装置
CN110463237A (zh) 用于管理服务器和用户设备之间的通信的方法
CN106304074B (zh) 面向移动用户的身份验证方法和系统
US10944566B2 (en) Methods and systems for supporting fairness in secure computations
US20170228728A1 (en) Transaction messaging
CN106209739A (zh) 云存储方法及系统
CN106527673A (zh) 绑定可穿戴设备的方法和装置、电子支付方法和装置
CN108259171B (zh) Shader文件的保护方法及装置
US20140195804A1 (en) Techniques for secure data exchange
US20210357914A1 (en) Constructing a Distributed Ledger Transaction on a Cold Hardware Wallet
CN113032840A (zh) 一种数据处理方法、装置、设备及计算机可读存储介质
CN110264200A (zh) 区块链数据处理方法及装置
CN105468940B (zh) 软件保护方法及装置
CN108696518B (zh) 区块链上用户通信加密方法、装置、终端设备及存储介质
CN110224834A (zh) 基于动态令牌的身份认证方法、解密及加密终端
CN110032874A (zh) 一种数据存储方法、装置及设备
CN103544453A (zh) 一种基于usb key的虚拟桌面文件保护方法及装置
CN112784284B (zh) 加密处理系统、加密处理方法以及记录介质
CN110113326A (zh) 一种基于区块链的竞争排名方法及装置
CN109150528A (zh) 一种电表数据访问方法、装置、设备及可读存储介质
CN116601914A (zh) 混合密钥导出以保护数据
CN104462877B (zh) 一种版权保护下的数字资源获取方法及系统
CN108846671B (zh) 基于区块链的在线安全交易方法和系统
CN109450884B (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