CN109981614A - 基于用户群的数据加密方法、解密方法、查询方法及装置 - Google Patents

基于用户群的数据加密方法、解密方法、查询方法及装置 Download PDF

Info

Publication number
CN109981614A
CN109981614A CN201910183443.1A CN201910183443A CN109981614A CN 109981614 A CN109981614 A CN 109981614A CN 201910183443 A CN201910183443 A CN 201910183443A CN 109981614 A CN109981614 A CN 109981614A
Authority
CN
China
Prior art keywords
user
group
ciphertext
client
public 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.)
Granted
Application number
CN201910183443.1A
Other languages
English (en)
Other versions
CN109981614B (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.)
South China Agricultural University
Original Assignee
South China Agricultural University
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 South China Agricultural University filed Critical South China Agricultural University
Priority to CN201910183443.1A priority Critical patent/CN109981614B/zh
Publication of CN109981614A publication Critical patent/CN109981614A/zh
Application granted granted Critical
Publication of CN109981614B publication Critical patent/CN109981614B/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
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

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

Abstract

本发明公开了一种基于用户群的数据加密方法、数据解密方法、数据查询方法、数据加密装置、数据解密装置、数据查询装置及密文数据库查询***,所述密文数据库查询***包括云服务器和至少一个用户群,每个用户群包括一个第一用户和至少两个第二用户,第一用户为群管理员,第二用户为群成员,在每个用户群中,第一用户的客户端和第二用户的客户端分别与云服务器相连;第二用户的客户端包括数据加密装置和数据解密装置;云服务器包括数据查询装置。本发明拥有一种群机制,这种群机制可以限定云服务器只能为群成员比较密文;此外,本发明能够有效地抵御离线消息恢复攻击,显著地提高安全性,能够与目前大多数用户名加密码***相对接。

Description

基于用户群的数据加密方法、解密方法、查询方法及装置
技术领域
本发明涉及一种基于用户群的数据加密方法、数据解密方法、数据查询方法及装置,属于数据安全领域。
背景技术
云计算的发展使云数据库服务器的使用得到了普及,无论公司还是个人都开始习惯于将数据存储到云服务器端,从而减少本地存储与维护的开销。然而,云服务器端对用户隐私和数据信息的保护仍存纰漏,导致关于用户信息泄露的新闻屡见不鲜。
云计算下实现数据隐私保护的密码技术开始得到了重视,但数据加密后以密文形式存储到云端数据库又会给数据管理带来不便。将传统的数据库管理***运用到云计算环境中,用户的数据都是以密文的形式存放到数据库中。若用户想对数据进行查询操作,要么全部密文数据下载到本地,然后进行解密,这样不仅会使网络开销和计算开销非常庞大,而且效率还十分低下;要么把密钥发送给云服务器端,数据在云服务器端进行解密和查询操作,这样云服务器端能够获取到用户的明文信息,对用户信息造成了安全隐患。根据专利文献(公开号:CN104468535A,公开日:2015年03月25 日)提供了一种适合云环境的密文查询与连接查询***及方法。该方法通过双线性映对运算与模求幂运算,能够实现在***漏明文信息的情况下,对密文所保护的明文进行等值测试,很好地平衡了数据保护与数据管理。但是,该方法在数据库查询过程中,必须获得密文连接查询的授权陷门,如果在多个连接查询的情况下,多个授权陷门的管理会对云服务器端造成负担,而且服务器一旦获得多个用户的授权陷门便可自由地对这些用户的数据表进行查询以获取它感兴趣的信息,不受用户的限制。换句话说,多个用户无法限制服务器只能在他们的密文之间进行查询。例如,用户A和用户B授权服务器查询他们的密文,分别将陷门A和陷门B发送给服务器,用户C和用户D授权服务器查询他们的密文,也分别将陷门C和陷门D发送给服务器。此时服务器不仅可以比较用户A和用户B的密文,比较用户C和用户D的密文,还可以做一些超出用户们预期的事情,如利用陷门A和陷门C查询用户A和用户C的密文。这导致服务器在获得一个属性列或者一个元组相应的授权陷门,能够继续利用该授权陷门用于和其它数据的比较,可能造成用户隐私的泄露。此外,由于在公钥体制下密文的生成方式是公开的,且云服务器有权访问用户的密文。当给定云服务器一个密文C(设其对应的明文为M),它可以任意的生成猜测消息M’的密文C’,再利用密文的比较功能比较C和C’是否相等。因此,当消息空间很小的时候,云服务器有能力通过遍历消息空间中的明文来安装一个离线消息恢复攻击,从而找到一个M’使得M’=M,恢复出密文C 中隐藏的明文M。
发明内容
有鉴于此,本发明提供了一种基于用户群的数据加密方法、数据解密方法、数据查询方法、数据加密装置、数据解密装置、数据查询装置及密文数据库查询***;本发明拥有一种群机制,这种群机制可以限定云服务器只能为群成员比较密文,此外,本发明能够有效地抵御离线消息恢复攻击,显著地提高安全性,能够与目前大多数用户名加密码***相对接。
本发明的第一个目的在于提供一种基于用户群的数据加密方法。
本发明的第二个目的在于提供一种基于用户群的数据解密方法。
本发明的第三个目的在于提供一种基于用户群的数据查询方法。
本发明的第四个目的在于提供一种基于用户群的数据加密装置。
本发明的第五个目的在于提供一种基于用户群的数据解密装置。
本发明的第六个目的在于提供一种基于用户群的数据查询装置。
本发明的第七个目的在于提供一种基于用户群的密文数据库查询***。
本发明的第一个目的可以通过采取如下技术方案达到:
一种基于用户群的数据加密方法,所述用户群至少有一个,每个用户群包括一个第一用户和至少两个第二用户,所述第一用户为群管理员,所述第二用户为群成员,每个第二用户均具有自己的用户公钥,所述方法包括:
在每个用户群中,第二用户的客户端将该第二用户的用户公钥发送给第一用户的客户端,以使第一用户的客户端根据群密钥和该第二用户的用户公钥,为该第二用户生成一个该第二用户的群公钥,并返回给该第二用户的客户端;
在每个用户群中,第二用户的客户端在作为发送者的客户端时,生成随机数,获取第二用户中接收者的用户公钥,根据接收者的用户公钥、发送者的群公钥、发送者的用户私钥、发送者的明文以及随机数,生成密文,将密文传输给云服务器,以使云服务器将密文存储在密文数据库中。
进一步的,所述根据接收者的公钥、发送者的群公钥、发送者的用户私钥、发送者的明文以及随机数,生成密文,具体为:
设发送者为i,接收者为j,根据接收者j的用户公钥pkj=gxj、发送者i的群公钥gpki=gxis、发送者i的用户私钥ski=xi、发送者i的明文M以及随机数,调用逻辑运算部件、模求幂部件和哈希部件,生成密文,如下:
Ci,j,1=gxis*r1,Ci,j,2=Mxi*r1,Ci,j,3=gr2
其中,H(.)是哈希函数,g是***生成元,r1和r2为随机数。
本发明的第二个目的可以通过采取如下技术方案达到:
一种基于用户群的数据解密方法,所述用户群至少有一个,每个用户群包括一个第一用户和至少两个第二用户,所述第一用户为群管理员,所述第二用户为群成员,每个第二用户均具有自己的用户公钥,所述方法包括:
在每个用户群中,第二用户的客户端将该第二用户的用户公钥发送给第一用户的客户端,以使第一用户的客户端根据群密钥和该第二用户的用户公钥,为该第二用户生成一个该第二用户的群公钥,并返回给第二用户的客户端;
在每个用户群中,第二用户的客户端在作为接收者的客户端时,获取从云服务器的密文数据库中查询到的密文,以及获取第二用户中发送者的群公钥和发送者的用户公钥,根据发送者的群公钥、发送者的用户公钥以及接收者的用户私钥,得到发送者的明文,判断密文是否符合预设条件,若符合预设条件,则输出所述明文。
进一步的,所述根据发送者的群公钥、发送者的用户公钥以及接收者的用户私钥,得到发送者的明文,具体为:
设发送者为i,接收者为j,根据发送者i的群公钥gpki=gxis、发送者i的用户公钥pki=gxi以及接收者j的用户私钥skj=xj,调用逻辑运算部件和哈希部件,通过下式计算得到发送者的明文:
其中,Ci,j,1、Ci,j,2、Ci,j,3和Ci,j,4为密文数据库的密文。
进一步的,所述符合预设条件是指以下两个等式成立:
gxis*r1=Ci,j,1
e(g,Ci,j,2)=e(M,gxi)r1
其中,Ci,j,1和Ci,j,2为密文数据库的密文,M为发送者的明文。
本发明的第三个目的可以通过采取如下技术方案达到:
一种基于用户群的数据查询方法,所述用户群至少有一个,每个用户群包括一个第一用户和至少两个第二用户,所述第一用户为群管理员,所述第二用户为群成员,每个第二用户均具有自己的用户公钥和群公钥,所述方法包括:
云服务器接收第二用户中发送者的客户端生成的密文,并将密文存储在密文数据库中;
云服务器获取第二用户提交的一组待查询密文,以及密文数据库中的一组密文;
云服务器从待查询密文中取第一个密文值,以及从密文数据库的一组密文取第二个密文值,形成第一密文对;
云服务器从待查询密文中取第二个密文值,以及从密文数据库的一组密文取第一个密文值,形成第二密文对;
云服务器判断第一密文对与第二密文对是否相等,若相等则查询成功,将密文查询成功结果反馈给第二用户,若不相等继续从密文数据库中取下一组密文,直到全部密文都处理完成。
本发明的第四个目的可以通过采取如下技术方案达到:
一种基于用户群的数据加密装置,所述用户群至少有一个,每个用户群包括一个第一用户和至少两个第二用户,所述第一用户为群管理员,所述第二用户为群成员,每个第二用户均具有自己的用户公钥,所述装置应用于每个用户群中第二用户的客户端,包括:
发送模块,用于将第二用户的用户公钥发送给第一用户的客户端,以使第一用户的客户端根据群密钥和第二用户的用户公钥,为该第二用户生成一个该第二用户的群公钥,并返回给第二用户的客户端;其中,所述第一用户为群管理员,其建立的群中至少有两个第二用户,每个第二用户均具有自己的群公钥;
密文生成模块,用于在作为发送者的客户端时,生成随机数,获取第二用户中接收者的用户公钥,根据接收者的用户公钥、发送者的群公钥、发送者的用户私钥、发送者的明文以及随机数,生成密文,将密文传输给云服务器,以使云服务器将密文存储在密文数据库中。
本发明的第五个目的可以通过采取如下技术方案达到:
一种基于用户群的数据解密装置,所述用户群至少有一个,每个用户群包括一个第一用户和至少两个第二用户,所述第一用户为群管理员,所述第二用户为群成员,每个第二用户均具有自己的用户公钥,所述装置应用于每个用户群中第二用户的客户端,包括:
发送模块,用于将第二用户的用户公钥发送给第一用户的客户端,以使第一用户的客户端根据群密钥和第二用户的用户公钥,为该第二用户生成一个该第二用户的群公钥,并返回给第二用户的客户端;其中,所述第一用户为群管理员,其建立的群中至少有两个第二用户,每个第二用户均具有自己的群公钥;
明文输出模块,用于在作为接收者的客户端时,获取从云服务器的密文数据库中查询到的密文,以及获取第二用户中发送者的群公钥和发送者的用户公钥,根据发送者的群公钥、发送者的用户公钥以及接收者的用户私钥,得到发送者的明文,判断密文是否符合预设条件,若符合预设条件,则输出所述明文。
本发明的第六个目的可以通过采取如下技术方案达到:
一种基于用户群的数据查询装置,所述用户群至少有一个,每个用户群包括一个第一用户和至少两个第二用户,所述第一用户为群管理员,所述第二用户为群成员,每个第二用户均具有自己的用户公钥和群公钥,所述装置应用于云服务器,包括:
存储模块,用于接收第二用户中发送者的客户端生成的密文,并将发送者的客户端生成的密文存储在密文数据库中;
密文获取模块,用于获取第二用户提交的一组待查询密文,以及密文数据库中的一组密文;
第一密文对形成模块,用于从待查询密文中取第一个密文值,以及从密文数据库的一组密文取第二个密文值,形成第一密文对;
第二密文对形成模块,用于从待查询密文中取第二个密文值,以及从密文数据库的一组密文取第一个密文值,形成第二密文对;
判断模块,用于判断第一密文对与第二密文对是否相等,若相等则查询成功,将密文查询成功结果反馈给第二用户,若不相等继续从密文数据库中取下一组密文,直到全部密文都处理完成。
本发明的第七个目的可以通过采取如下技术方案达到:
一种基于用户群的密文数据库查询***,所述***包括云服务器和至少一个用户群,每个用户群包括一个第一用户和至少两个第二用户,所述第一用户为群管理员,所述第二用户为群成员,每个第二用户均具有自己的用户公钥和群公钥,在每个用户群中,第一用户的客户端和第二用户的客户端分别与云服务器相连;
所述第二用户的客户端包括上述的数据加密装置和上述的数据解密装置;
所述云服务器包括上述的数据查询装置。
本发明相对于现有技术具有如下的有益效果:
本发明可以建立至少一个用户群,每个用户群的群管理员可以授权至少两个用户入群,即至少为两个用户生成相应的群公钥,通过用户的客户端实现数据的加密,并将密文存储在云服务器的密文数据库中,能够限定用户群中的用户对密文进行查询,在单服务器下抵抗离线消息恢复攻击,显著地提高安全性,可以与目前大多数用户名加密***相对接。
附图说明
图1为本发明实施例的密文数据库查询***的结构框图。
图2为本发明实施例的密文数据库查询***中数据加密的流程图。
图3为本发明实施例的密文数据库查询***中数据解密的流程图。
图4为本发明实施例的密文数据库查询***中数据查询的流程图。
图5为本发明实施例的第一用户的客户端中数据加密装置的结构框图。
图6为本发明实施例的第一用户的客户端中数据解密装置的结构框图。
图7为本发明实施例的第一用户的客户端中数据查询装置的结构框图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例:
如图1所示,本实施例提供了一种密文数据库查询***,该***包括n个客户端和一个云服务器,n个客户端之间相连接,每个客户端由一个用户使用,即共有n个用户(用户1、用户2、用户3……用户n,其中n≧2),每个客户端与云服务器连接。
每个客户端包括第一处理器和第一存储器,第一处理器用于执行客户端的各种功能和处理数据,第一存储器包括计算机可读存储介质,可用于存储计算机程序。
云服务器包括第二处理器和第二存储器,第二处理器用于提供计算和控制能力,第二存储器包括非易失性存储介质和内存储器,该非易失性存储介质存储有操作***、计算机程序和密文数据库,该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。
本实施例的密文数据库查询***具体实现过程如下:
(1)用户密钥生成过程
每个客户端调用模求幂部件生成用户i的用户密钥对(pki,ski)=(Xi=gxi,xi)。
(2)群密钥生成过程
建立至少一个用户群,即该***中可以存在多个用户群,每个用户群包括一个第一用户和至少两个第二用户,第一用户为群管理员,第二用户为群成员,该第一用户的客户端需调用模求幂部件、双线性映对部件生成群密钥gsk=s,每个第二用户均具有自己的用户公钥pk。
(3)用户的群公钥生成过程
第一用户的客户端接收第二用户的客户端发送的第二用户的用户公钥pk,并根据群密钥和第二用户的用户公钥,生成第二用户的群公钥:gpki=Xi gsk=gxis,并返回给第二用户,此时该第二用户正式入群。
(4)数据加密过程
数据加密过程由第二用户的客户端实现,需要加密的第二用户为发送者,此时第二用户的客户端为发送者的客户端,如图2所示,包括以下步骤:
S201、生成随机数r1和r2
具体地,调用随机数生成部件得到随机数r1和r2
S202、获取第二用户中接收者的用户公钥pkj,根据接收者的用户公钥pkj、发送者的群公钥gpki、发送者的用户私钥ski、发送者的明文M以及随机数r1和r2,生成密文。
具体地,设发送者为i,接收者为j。利用接收者j的用户公钥pkj=gxj、发送者i 的群公钥gpki=gxis、发送者i的用户私钥ski=xi、发送者i的明文M以及随机数,调用逻辑运算部件、模求幂部件和哈希部件,生成密文,如下:
Ci,j,1=gxis*r1,Ci,j,2=Mxi*r1,Ci,j,3=gr2
其中H(.)是哈希函数,g是***生成元,r1和r2为随机数。
S203、将密文传输给云服务器,以使云服务器将密文存储在密文数据库中。
(5)数据解密过程
数据解密过程由第二用户的客户端实现,需要解密的第二用户为接收者,此时第二用户的客户端为接收者的客户端,如图3所示,包括以下步骤:
S301、获取从云服务器的密文数据库中查询到的密文,以及获取第二用户中发送者的群公钥gpki、发送者的用户公钥pki以及接收者的用户私钥skj,根据发送者的群公钥gpki、发送者的用户公钥pki以及接收者的用户私钥skj,得到发送者的明文。
具体地,设发送者为i,接收者为j。利用发送者i的群公钥gpki=gxis、发送者i 的用户公钥pki=gxi以及接收者j的用户私钥skj=xj,调用逻辑运算部件和哈希部件,通过下式计算得到发送者的明文:
S302、判断密文是否符合预设条件。
具体地,符合预设条件是指以下两个等式成立:
gxis*r1=Ci,j,1
e(g,Ci,j,2)=e(M,gxi)r1
若上述等式成立,输出明文M,否则输出⊥。
(6)密文查询过程
密文查询过程由云服务器实现,如图4所示,包括以下步骤:
S401、获取第二用户提交的一组待查询密文,以及密文数据库中的一组密文。
具体地,待查询密文为(Ci,j,1,Ci,j,2,Ci,j,3,Ci,j,4),密文数据库的一组密文为(Ci’,j’,1, Ci’,j’,2,Ci’,j’,3,Ci’,j’,4)。
S402、从待查询密文中取第一个密文值,以及从密文数据库的一组密文取第二个密文值,形成第一密文对。
具体地,第一密文对用双线性映对部件计算,其表示为e(Ci,j,1,Ci’,j’,2)。
S403、从待查询密文中取第二个密文值,以及从密文数据库的一组密文取第一个密文值,形成第二密文对。
具体地,第二密文对用双线性映对部件计算,其表示为e(Ci’,j’,1,Ci,j,2)。
S404、判断第一密文对与第二密文对是否相等,若相等则查询成功,将密文查询成功结果反馈给第二用户,若不相等继续从密文数据库中取下一组密文,直到全部密文都处理完成。
本领域技术人员可以理解,实现上述实施例中的全部或部分步骤可以通过程序来指令相关的硬件来完成,相应的程序可以存储于计算机可读存储介质中。
应当注意,尽管在附图中以特定顺序描述了上述实施例的操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
根据上述内容可以理解,第二用户的客户端中的第一处理器包括数据加密装置和数据解密装置,第二用户的客户端作为发送者的客户端时,使用数据加密装置,第二用户的客户端作为接收者的客户端时,使用数据解密装置,云服务器中的第二处理器包括数据查询装置。
所述数据加密装置如图5所示,包括发送模块501和密文生成模块502,发送模块501和密文生成模块502的具体功能如下:
所述发送模块501,用于将第二用户的用户公钥发送给第一用户的客户端,以使第一用户的客户端根据群密钥和该第二用户的用户公钥,为该第二用户生成一个该第二用户的群公钥,并返回给第二用户的客户端;
所述密文生成模块502,用于在作为发送者的客户端时,生成随机数,获取第二用户中接收者的用户公钥,根据接收者的用户公钥、发送者的群公钥、发送者的用户私钥、发送者的明文以及随机数,生成密文,将密文传输给云服务器,以使云服务器将密文存储在密文数据库中。
所述数据解密装置如图6所示,包括发送模块601和明文输出模块602,发送模块601和明文输出模块602的具体功能如下:
所述发送模块601,用于将第二用户的用户公钥发送给第一用户的客户端,以使第一用户的客户端根据群密钥和该第二用户的用户公钥,为该第二用户生成一个该第二用户的群公钥,并返回给第二用户的客户端;
所述明文输出模块602,用于在作为接收者的客户端时,获取从云服务器的密文数据库中查询到的密文,以及获取第二用户中发送者的群公钥和发送者的用户公钥,根据发送者的群公钥、发送者的用户公钥以及接收者的用户私钥,得到发送者的明文,判断密文是否符合预设条件,若符合预设条件,则输出所述明文。
所述数据查询装置如图7所示,包括存储模块701、密文获取模块702、第一密文对形成模块703、第二密文对形成模块704和判断模块705,各个模块的具体功能如下:
所述存储模块701,用于接收第二用户中发送者的客户端生成的密文,并将发送者的客户端生成的密文存储在密文数据库中。
所述密文获取模块702,用于获取第二用户提交的一组待查询密文,以及密文数据库中的一组密文。
所述第一密文对形成模块703,用于从待查询密文中取第一个密文值,以及从密文数据库的一组密文取第二个密文值,形成第一密文对。
所述第二密文对形成模块704,用于从待查询密文中取第二个密文值,以及从密文数据库的一组密文取第一个密文值,形成第二密文对。
所述判断模块705,用于判断第一密文对与第二密文对是否相等,若相等则查询成功,将密文查询成功结果反馈给第二用户,若不相等继续从密文数据库中取下一组密文,直到全部密文都处理完成。
需要说明的是,上述实施例提供的装置仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
可以理解,上述实施例的装置所使用的术语“第一”、“第二”等可用于描述各种模块,但这些模块不受这些术语限制,这些术语仅用于将第一个模块与另一个模块区分。
综上所述,本发明可以建立至少一个用户群,每个用户群的群管理员可以授权至少两个用户入群,即至少为两个用户生成相应的群公钥,通过用户的客户端实现数据的加密,并将密文存储在云服务器的密文数据库中,能够限定用户群中的用户对密文进行查询,在单服务器下抵抗离线消息恢复攻击,显著地提高安全性,可以与目前大多数用户名加密***相对接。
以上所述,仅为本发明专利较佳的实施例,但本发明专利的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明专利所公开的范围内,根据本发明专利的技术方案及其发明构思加以等同替换或改变,都属于本发明专利的保护范围。

Claims (10)

1.一种基于用户群的数据加密方法,其特征在于,所述用户群至少有一个,每个用户群包括一个第一用户和至少两个第二用户,所述第一用户为群管理员,所述第二用户为群成员,每个第二用户均具有自己的用户公钥,所述方法包括:
在每个用户群中,第二用户的客户端将该第二用户的用户公钥发送给第一用户的客户端,以使第一用户的客户端根据群密钥和该第二用户的用户公钥,为该第二用户生成一个该第二用户的群公钥,并返回给该第二用户的客户端;
在每个用户群中,第二用户的客户端在作为发送者的客户端时,生成随机数,获取第二用户中接收者的用户公钥,根据接收者的用户公钥、发送者的群公钥、发送者的用户私钥、发送者的明文以及随机数,生成密文,将密文传输给云服务器,以使云服务器将密文存储在密文数据库中。
2.根据权利要求1所述的数据加密方法,其特征在于,所述根据接收者的公钥、发送者的群公钥、发送者的用户私钥、发送者的明文以及随机数,生成密文,具体为:
设发送者为i,接收者为j,根据接收者j的用户公钥pkj=gxj、发送者i的群公钥gpki=gxis、发送者i的用户私钥ski=xi、发送者i的明文M以及随机数,调用逻辑运算部件、模求幂部件和哈希部件,生成密文,如下:
Ci,j,1=gxis*r1,Ci,j,2=Mxi*r1,Ci,j,3=gr2,Ci,j,4=H(Ci,j,1||Ci,j,2||Ci,j,3||gxj*r2)⊕M||r1
其中,H(.)是哈希函数,g是***生成元,r1和r2为随机数。
3.一种基于用户群的数据解密方法,其特征在于,所述用户群至少有一个,每个用户群包括一个第一用户和至少两个第二用户,所述第一用户为群管理员,所述第二用户为群成员,每个第二用户均具有自己的用户公钥,所述方法包括:
在每个用户群中,第二用户的客户端将该第二用户的用户公钥发送给第一用户的客户端,以使第一用户的客户端根据群密钥和该第二用户的用户公钥,为该第二用户生成一个该第二用户的群公钥,并返回给第二用户的客户端;
在每个用户群中,第二用户的客户端在作为接收者的客户端时,获取从云服务器的密文数据库中查询到的密文,以及获取第二用户中发送者的群公钥和发送者的用户公钥,根据发送者的群公钥、发送者的用户公钥以及接收者的用户私钥,得到发送者的明文,判断密文是否符合预设条件,若符合预设条件,则输出所述明文。
4.根据权利要求3所述的数据解密方法,其特征在于,所述根据发送者的群公钥、发送者的用户公钥以及接收者的用户私钥,得到发送者的明文,具体为:
设发送者为i,接收者为j,根据发送者i的群公钥gpki=gxis、发送者i的用户公钥pki=gxi以及接收者j的用户私钥skj=xj,调用逻辑运算部件和哈希部件,通过下式计算得到发送者的明文:
M||r1=Ci,j,4⊕H(Ci,j,1||Ci,j,2||Ci,j,3||Ci,j,3 xj)
其中,Ci,j,1、Ci,j,2、Ci,j,3和Ci,j,4为密文数据库的密文。
5.根据权利要求3-4任一项所述的数据解密方法,其特征在于,所述符合预设条件是指以下两个等式成立:
gxis*r1=Ci,j,1
e(g,Ci,j,2)=e(M,gxi)r1
其中,Ci,j,1和Ci,j,2为密文数据库的密文,M为发送者的明文。
6.一种基于用户群的数据查询方法,其特征在于,所述用户群至少有一个,每个用户群包括一个第一用户和至少两个第二用户,所述第一用户为群管理员,所述第二用户为群成员,每个第二用户均具有自己的用户公钥和群公钥,所述方法包括:
云服务器接收第二用户中发送者的客户端生成的密文,并将密文存储在密文数据库中;
云服务器获取第二用户提交的一组待查询密文,以及密文数据库中的一组密文;
云服务器从待查询密文中取第一个密文值,以及从密文数据库的一组密文取第二个密文值,形成第一密文对;
云服务器从待查询密文中取第二个密文值,以及从密文数据库的一组密文取第一个密文值,形成第二密文对;
云服务器判断第一密文对与第二密文对是否相等,若相等则查询成功,将密文查询成功结果反馈给第二用户,若不相等继续从密文数据库中取下一组密文,直到全部密文都处理完成。
7.一种基于用户群的数据加密装置,其特征在于,所述用户群至少有一个,每个用户群包括一个第一用户和至少两个第二用户,所述第一用户为群管理员,所述第二用户为群成员,每个第二用户均具有自己的用户公钥,所述装置应用于每个用户群中第二用户的客户端,包括:
发送模块,用于将第二用户的用户公钥发送给第一用户的客户端,以使第一用户的客户端根据群密钥和第二用户的用户公钥,为该第二用户生成一个该第二用户的群公钥,并返回给第二用户的客户端;其中,所述第一用户为群管理员,其建立的群中至少有两个第二用户,每个第二用户均具有自己的群公钥;
密文生成模块,用于在作为发送者的客户端时,生成随机数,获取第二用户中接收者的用户公钥,根据接收者的用户公钥、发送者的群公钥、发送者的用户私钥、发送者的明文以及随机数,生成密文,将密文传输给云服务器,以使云服务器将密文存储在密文数据库中。
8.一种基于用户群的数据解密装置,其特征在于,所述用户群至少有一个,每个用户群包括一个第一用户和至少两个第二用户,所述第一用户为群管理员,所述第二用户为群成员,每个第二用户均具有自己的用户公钥,所述装置应用于每个用户群中第二用户的客户端,包括:
发送模块,用于将第二用户的用户公钥发送给第一用户的客户端,以使第一用户的客户端根据群密钥和第二用户的用户公钥,为该第二用户生成一个该第二用户的群公钥,并返回给第二用户的客户端;其中,所述第一用户为群管理员,其建立的群中至少有两个第二用户,每个第二用户均具有自己的群公钥;
明文输出模块,用于在作为接收者的客户端时,获取从云服务器的密文数据库中查询到的密文,以及获取第二用户中发送者的群公钥和发送者的用户公钥,根据发送者的群公钥、发送者的用户公钥以及接收者的用户私钥,得到发送者的明文,判断密文是否符合预设条件,若符合预设条件,则输出所述明文。
9.一种基于用户群的数据查询装置,其特征在于,所述用户群至少有一个,每个用户群包括一个第一用户和至少两个第二用户,所述第一用户为群管理员,所述第二用户为群成员,每个第二用户均具有自己的用户公钥和群公钥,所述装置应用于云服务器,包括:
存储模块,用于接收第二用户中发送者的客户端生成的密文,并将发送者的客户端生成的密文存储在密文数据库中;
密文获取模块,用于获取第二用户提交的一组待查询密文,以及密文数据库中的一组密文;
第一密文对形成模块,用于从待查询密文中取第一个密文值,以及从密文数据库的一组密文取第二个密文值,形成第一密文对;
第二密文对形成模块,用于从待查询密文中取第二个密文值,以及从密文数据库的一组密文取第一个密文值,形成第二密文对;
判断模块,用于判断第一密文对与第二密文对是否相等,若相等则查询成功,将密文查询成功结果反馈给第二用户,若不相等继续从密文数据库中取下一组密文,直到全部密文都处理完成。
10.一种基于用户群的密文数据库查询***,其特征在于,所述***包括云服务器和至少一个用户群,每个用户群包括一个第一用户和至少两个第二用户,所述第一用户为群管理员,所述第二用户为群成员,每个第二用户均具有自己的用户公钥和群公钥,在每个用户群中,第一用户的客户端和第二用户的客户端分别与云服务器相连;
所述第二用户的客户端包括权利要求7所述的数据加密装置和权利要求8所述的数据解密装置;
所述云服务器包括权利要求9所述的数据查询装置。
CN201910183443.1A 2019-03-12 2019-03-12 基于用户群的数据加密方法、解密方法、查询方法及装置 Active CN109981614B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910183443.1A CN109981614B (zh) 2019-03-12 2019-03-12 基于用户群的数据加密方法、解密方法、查询方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910183443.1A CN109981614B (zh) 2019-03-12 2019-03-12 基于用户群的数据加密方法、解密方法、查询方法及装置

Publications (2)

Publication Number Publication Date
CN109981614A true CN109981614A (zh) 2019-07-05
CN109981614B CN109981614B (zh) 2020-04-17

Family

ID=67078493

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910183443.1A Active CN109981614B (zh) 2019-03-12 2019-03-12 基于用户群的数据加密方法、解密方法、查询方法及装置

Country Status (1)

Country Link
CN (1) CN109981614B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110474764A (zh) * 2019-07-17 2019-11-19 华南农业大学 密文数据集交集计算方法、装置、***、客户端、服务器及介质
CN112887089A (zh) * 2021-01-25 2021-06-01 华南农业大学 密文相似度计算方法、装置、***及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103281377A (zh) * 2013-05-31 2013-09-04 北京鹏宇成软件技术有限公司 一种面向云的密文数据存储与查询方法
CN103795548A (zh) * 2014-02-28 2014-05-14 Tcl集团股份有限公司 一种基于群签名算法的分布式数据库***及其实现方法
CN103957109A (zh) * 2014-05-22 2014-07-30 武汉大学 一种云数据隐私保护安全重加密方法
CN104468535A (zh) * 2014-11-24 2015-03-25 华南农业大学 适合云环境的密文存储与连接查询***及方法
CN104753683A (zh) * 2015-04-08 2015-07-01 西安电子科技大学 车联网中具有高效撤销的群签名方法
CN105049430A (zh) * 2015-06-30 2015-11-11 河海大学 一种具有高效用户撤销的密文策略属性基加密方法
CN107332858A (zh) * 2017-08-07 2017-11-07 成都汇智远景科技有限公司 云数据存储方法
CN108322447A (zh) * 2018-01-05 2018-07-24 中电长城网际***应用有限公司 云环境下的数据共享方法及***、终端和云服务器

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103281377A (zh) * 2013-05-31 2013-09-04 北京鹏宇成软件技术有限公司 一种面向云的密文数据存储与查询方法
CN103795548A (zh) * 2014-02-28 2014-05-14 Tcl集团股份有限公司 一种基于群签名算法的分布式数据库***及其实现方法
CN103957109A (zh) * 2014-05-22 2014-07-30 武汉大学 一种云数据隐私保护安全重加密方法
CN104468535A (zh) * 2014-11-24 2015-03-25 华南农业大学 适合云环境的密文存储与连接查询***及方法
CN104753683A (zh) * 2015-04-08 2015-07-01 西安电子科技大学 车联网中具有高效撤销的群签名方法
CN105049430A (zh) * 2015-06-30 2015-11-11 河海大学 一种具有高效用户撤销的密文策略属性基加密方法
CN107332858A (zh) * 2017-08-07 2017-11-07 成都汇智远景科技有限公司 云数据存储方法
CN108322447A (zh) * 2018-01-05 2018-07-24 中电长城网际***应用有限公司 云环境下的数据共享方法及***、终端和云服务器

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
SHA MA.ET: ""Efficient Public Key Encryption With Equality Test Supporting Flexible Authorization "", 《IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY 》 *
SHA MA: ""Authorized Equality Test of Encrypted Data for Secure Cloud Datahases"", 《2018 17TH IEEE INTERNATIONAL CONFERENCE ON TRUST, SECURITY AND PRIVACY IN COMPUTING AND COMMUNICATIONS》 *
SHA MA: ""Identity-based encryption with outsourced equality test in cloud computing"", 《INFORMATION SCIENCES》 *
YUNHAO LING: "" A General Two-Server Framework for Ciphertext-Checkable Encryption Against Offline Message Recovery Attack "", 《SPRINGER NATURE SWITZERLAND AG 2018》 *
朱变等: ""可信计算增强云环境下P2 P技术的安全性研究"", 《小型微型计算机***》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110474764A (zh) * 2019-07-17 2019-11-19 华南农业大学 密文数据集交集计算方法、装置、***、客户端、服务器及介质
CN112887089A (zh) * 2021-01-25 2021-06-01 华南农业大学 密文相似度计算方法、装置、***及存储介质
CN112887089B (zh) * 2021-01-25 2022-08-12 华南农业大学 密文相似度计算方法、装置、***及存储介质

Also Published As

Publication number Publication date
CN109981614B (zh) 2020-04-17

Similar Documents

Publication Publication Date Title
Wang et al. Secure ranked keyword search over encrypted cloud data
CN106230590B (zh) 一种多授权机构的密文策略属性基加密方法
CN109450935B (zh) 云存储中可验证的语义安全的多关键词搜索方法
CN103107889B (zh) 一种可搜索的云计算环境数据加密存储***和方法
Wang et al. Verifiable and multi-keyword searchable attribute-based encryption scheme for cloud storage
CN105610793B (zh) 一种外包数据加密存储与密文查询***及其应用方法
CN103944711B (zh) 一种云存储密文检索方法及其***
Fan et al. TraceChain: A blockchain‐based scheme to protect data confidentiality and traceability
CN111930881B (zh) 基于国密算法的连接关键词认证可搜索加密方法
Chen et al. Blockchain‐Enabled Public Key Encryption with Multi‐Keyword Search in Cloud Computing
CN104967693A (zh) 面向云存储的基于全同态密码技术的文档相似度计算方法
Gu et al. Self-verifiable attribute-based keyword search scheme for distributed data storage in fog computing with fast decryption
Ling et al. Efficient group ID-based encryption with equality test against insider attack
Shu et al. SybSub: Privacy-preserving expressive task subscription with sybil detection in crowdsourcing
Rong et al. Privacy‐Preserving k‐Means Clustering under Multiowner Setting in Distributed Cloud Environments
CN109981614A (zh) 基于用户群的数据加密方法、解密方法、查询方法及装置
Park et al. PKIS: practical keyword index search on cloud datacenter
Yin et al. An attribute-based searchable encryption scheme for cloud-assisted IIoT
Yang et al. Keyword searchable encryption scheme based on blockchain in cloud environment
Yan et al. Multi-smart meter data encryption scheme based on distributed differential privacy
Ye et al. A verifiable dynamic multi-user searchable encryption scheme without trusted third parties
Jiang et al. A novel privacy preserving keyword search scheme over encrypted cloud data
Wang et al. An effective verifiable symmetric searchable encryption scheme in cloud computing
Zhu et al. HCV: Practical Multi‐Keyword Conjunctive Query with Little Result Pattern Leakage
Wu et al. Comments on Recent Proposed Cui Et Al.'s KASE and Lu Et Al.'s dIBEKS Schemes.

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