一种适用于可搜索加密的密码逆向防火墙方法转让专利

申请号 : CN202010152905.6

文献号 : CN111431705B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李发根胡哲彬智妍妍欧阳梦迪

申请人 : 电子科技大学

摘要 :

本发明公开了一种适用于可搜索加密的密码逆向防火墙方法,属于信息安全技术领域。本发明的方法包括:初始化系统参数后,用户端生成公钥和私钥;用户端在本地将发送文件加密,同时会使用公钥加密关键词,将生成的关键词密文和密文文件发送给密码逆向防火墙;密码逆向防火墙重随机化关键词密文后再发送给服务器;用户端在检索关键词时会用私钥生成候选关键词陷门并发送给密码逆向防火墙;密码逆向防火墙重随机化该关键词陷门并发送给服务器;服务器收到重随机化后的关键词陷门后,对所有重随机化后的关键词密文和关键词陷门做匹配检测,并返回对应匹配结果的密文文件。本发明能使运行可搜索加密的计算机在被敌手篡改后仍能保持安全性,不泄露信息。

权利要求 :

1.一种适用于可搜索加密的密码逆向防火墙方法,其特征在于,包括下列步骤:步骤S1:设定系统参数,包括:选择素数p,设置p阶的循环乘法群G1,并选择群G1的一个生成元,记为参数g,以及设置p阶的循环乘法群G2,并基于G1、G2设置双线性映射 G1×G1→G2;

*

定义两个哈希函数H1,H2,其中哈希函数H1为从{0,1}映射到G1,哈希函数H2为从G2映射logp *

到{0,1} ,其中{0,1}表示任意比特长的二进制序列组成的集合;

公开系统参数

步骤S2:加密本地文件:用户端对待发送的文件进行加密,生成密文文件;

步骤S3:生成密钥:

s

用户端从有限域 中选取随机数,记为s,计算公钥Apub=[g,h=g],私钥Apriv=s;其中,

步骤S4:生成关键词密文:用户端从有限域 中选取随机数,记为r,计算 生成发送文件的r

关键词w的密文Cw=[A,B]=[g ,H2(t)],将密文文件和Cw发送给密码逆向防火墙;

步骤S5:重随机化关键词密文:密码逆向防火墙从有限域 中随机选择两个随机数,记为α、β,且满足αβ=1;并重随机rα

化关键词密文Cw为:C′w=[A′,B]=[g ,H2(t)],发送密文文件和C′w至服务器端;

步骤S6:生成关键词陷门:s

用户端根据发送文件的候选关键词w′生成关键词陷门Tw′=H1(w′) ∈G1,发送给密码逆向防火墙;

步骤S7:重随机化关键词陷门:sβ

密码逆向防火墙将关键词陷门Tw′重随机化为:T′w′=H1(w′) ∈G1,并将T′w′发送至服务端;

步骤S8:检索关键词:服务器对所有关键词密文C′w=[A′,B]和T′w′做检测,若等式 成立,则向发送当前关键词陷门Tw′的用户端返回对应密文文件。

说明书 :

一种适用于可搜索加密的密码逆向防火墙方法

技术领域

[0001] 本发明属于信息安全技术领域,特别是涉及一种适用于可搜索加密的密码逆向防火墙方法。

背景技术

[0002] 斯诺登事件表明,情报机构可以通过部署安全性较差的加密系统或者使用密码协议中的后门,获得大量用户敏感数据的访问权限。为了解决该问题,Mironov和Stephens‑
Davidowitz提出了密码逆向防火墙的概念。密码逆向防火墙部署在用户计算机和外部网络
的边界上,它充当自主中介的角色,即使用户的计算机受到破坏,它也可以拦截并修改计算
机的传入和传出消息以提供安全保护。密码逆向防火墙可以保证即使在受感染的计算机上
运行相关的密码协议也可以保留其安全性,并且密码逆向防火墙还可以阻止从被篡改的计
算机中泄露秘密信息。密码逆向防火墙具有以下性质:
[0003] (1)功能性:密码逆向防火墙不会影响正常工作的密码协议;
[0004] (2)安全性:当执行密码协议的计算机被篡改后,密码逆向防火墙能够提供和原协议相等的安全性;
[0005] (3)防泄漏性:密码逆向防火墙能够防止任何内部消息泄露到外部。
[0006] 当前,密码逆向防火墙方法主要有以下几种:
[0007] 2015年,Mironov和Stephens‑Davidowitz在文献《Mironov,I.,Stephens‑Davidowitz,N.:Cryptographic reverse firewalls.In:Oswald,E.,Fischlin,M.(eds.)
EUROCRYPT 2015,LNCS,9057,pp.657–686》中提出了密码逆向防火墙的概念,并利用
Elgamal算法在不经意传输协议(Oblivious Transfer)上实现了密码逆向防火墙,并基于
乱码电路(Garbled Circuits)提出了一种一般化的构造方法。
[0008] 2016年,Chen等人在文献《R.Chen,Y.Mu,G.Yang,Willy Susilo,F.Guo,M.Zhang:Cryptographic Reverse Firewall via Malleable Smooth Projective Hash 
Functions.In:ASIACRYPT2016:Advances in Cryptology–ASIACRYPT 2016,LNCS,10031,
pp 844‑876》中公开了一种可重随机化的平滑哈希函数(Malleable Smooth Projective 
Hash Function)在不经意电子信封(Oblivious Signature‑Based Envelope)和不经意传
输协议(Oblivious Transfer)上实现了密码逆向防火墙。
[0009] 随着云存储技术的发展,越来越多的用户将文件保存在云端。但对于用户而言,云服务器并不是完全可信的。为了保护数据隐私,用户会将数据进行加密后上传到云端。但数
据加密后,就无法根据明文搜索相应的关键词。为了解决这个问题,可搜索加密的概念被提
了出来。
[0010] 可搜索加密协议在执行时会经过如下流程:首先数据拥有者会把需要上传的明文信息和对应的关键词进行加密后上传到云端服务器;然后需要进行搜索时,用户会利用私
钥对候选关键词进行操作,生成搜索陷门,并把该陷门信息发送给云端服务器;最后云端服
务器通过使用该陷门信息搜索到用户感兴趣的数据,把数据传送给用户。该技术实现了用
户在不可信赖的云端对加密关键词进行快速检索的功能。
[0011] 可搜索加密体制分为对称可搜索加密和非对称可搜索加密。第一个对称可搜索加密方案是由Song等人在2000年提出来的,其中通过流加密的方式,对密文进行线性扫描从
而实现了关键词检索的功能。对称可搜索加密中的数据文件和要检索的关键词陷门都必须
使用同一个密钥进行加密,因此更适合数据拥有者和检索者是同一个人的场景。第一个非
对称可搜索加密方案是由Boneh等人在2004年提出来的,该方案中数据拥有者用检索者的
公钥来加密文件和关键词信息,检索者使用自身的私钥生成陷门信息,最后由云端服务器
进行数据检索,将包含某个关键词的文件发送给检索者。
[0012] 当前,非对称可搜索加密方法主要有以下几种:
[0013] 2004年,Boneh等人在文献《D.Boneh,G.Di Crescenzo,R.Ostrovsky,et al:Public key encryption with keyword search.In:Advances in Cryptology‑Eurocrypt 
2004(Eurocrypt’04),LNCS,3027pp.506‑522,2004》中首次提出了公钥可搜索加密的概念,
并给出了基于双线性对的构造方案,其安全性是基于BDH(Bilinear Diffie‑Hellman)困难
问题。该方案实现了可搜索加密的功能,但存在检索效率低、不能抵御离线关键词猜测攻击
等问题。同时该方案的陷门需要在安全信道中传递。
[0014] 2006年,Khader等人在文献《D.Khader:Public key encryption with keyword search based on K‑resilient IBE.In:International Conference on Computational 
Science and Its Applications(ICCSA 2006),LNCS,3982,pp.298‑308,2006》提出了一种
无双线性对的构造方案,这种方案由于没有使用双线性对,因此在性能上要优于Boneh等人
在2004年提出的方案,但它仍有一些缺陷,如恶意用户的数量必须要被限制在某个K值,即
生成的陷门数量不能超过K个。
[0015] 2008年,Baek等人在文献《J.Baek,R.Safiavi‑Naini,W.Susilo,:Public key encryption with keyword search revisited.In:Computational Science and Its 
Applications(ICCSA’08),LNCS,5072,pp.1249‑1259,2008》提出了一种无需安全信道的公
钥可搜索加密方案,该方案引入了指定测试者的概念,要求服务器拥有自己的公私钥对,才
能保证在公开信道下的安全通信。
[0016] 2012年,Xu等人在文献《P.Xu,H.Jin,Q.Wu,and W.Wang:Public‑key encryption with fuzzy keyword search:A provably secure scheme under keyword guessing 
attack.In:IEEE Transactions on Computers,LNCS,62,pp.2266‑2277,2013》提出了一种
能抵御关键词猜测攻击的模糊关键词公钥可搜索加密方案(public key encryption with 
fuzzy keyword search,PEFKS),该方案的检索分为两个阶段,第一个阶段在服务器上进行
模糊匹配检索,然后第二个阶段在本地执行精确的匹配检索。由于攻击者不能获得精确的
搜索陷门,因此该方案能有效抵御关键词猜测攻击。
[0017] 2015年,Emura等人[K.Emura,Y.Watanabe:Keyword revocable searchable encryption with trapdoor exposure resistance and re‑generateability.In:
International Conference on Trust,Security and Privacy in Computing and 
Communications(TrustCom 2015),pp.736‑744,2015]提出了一种支持关键词撤销的公钥
可搜索加密方案(keyword revocable public key encryption with keyword search,
KR‑PEKS),该方案能抵御陷门泄漏带来的安全风险,并且在一个关键词被撤销后还可以生
成该关键词的陷门。

发明内容

[0018] 本发明的目的在于:在一种可搜索加密协议上构造密码逆向防火墙,能够在内部敌手攻击的情况下防止用户的数据泄露。
[0019] 本发明公开的一种适用于可搜索加密的密码逆向防火墙方法,包括下列步骤:
[0020] 步骤S1:设定系统参数,包括:选择素数p,设置p阶的循环乘法群G1,并选择群G1的一个生成元,记为参数g,以及设置p阶的循环乘法群G2,并基于G1、G2设置双线性映射 G1×
* logp
G1→G2;定义两个安全哈希函数H1,H2,其中H1为从{0,1}映射到G1,H2从G2映射到{0,1} ,
*
其中{0,1} 表示任意比特长的二进制序列组成的集合, 表示从有限域
中去掉元素零所得到的有限域;
[0021] 公开系统参数
[0022] 步骤S2:加密本地文件:
[0023] 用户端将要发送的文件在本地加密,生成密文文件;
[0024] 步骤S3:生成密钥:
[0025] 用户从有限域 中选取随机数,记为s,计算公钥Apub=[g,h=gs],私钥Apriv=s;
[0026] 步骤S4:生成关键词密文:
[0027] 用户端从有限域 中选取随机数,记为r,计算 生成关键词w的r
密文Cw=[A,B]=[g ,H2(t)],将密文文件和Cw发送给密码逆向防火墙;
[0028] 步骤S5:重随机化关键词密文:
[0029] 密码逆向防火墙从有限域 中随机选择两个随机数,记为α、β,且满足αβ=1,重随rα
机化密文Cw为:C′w=[A′,B]=[g ,H2(t)],发送密文文件和C′w至服务器端。
[0030] 步骤S6:生成关键词陷门:
[0031] 用户端根据候选关键词w′生成关键词限门Tw′=H1(w′)s∈G1,发送给密码逆向防火墙;
[0032] 步骤S7:重随机化关键词陷门:
[0033] 密码逆向防火墙将关键词限门Tw′重随机化为:Tw′′=H1(w′)sβ∈G1,并将Tw′′发送至服务端。
[0034] 步骤S8:检索关键词:
[0035] 服务器对所有关键词密文C′w=[A′,B]和Tw′′做测试,如果等式H2(ê(Tw′′,A′))=B成立,则向发送关键词限门Tw′的用户端返回对应密文文件。
[0036] 由于采用了上述技术方案,本发明的有益效果是:部署了本发明的密码逆向防火墙后,在敌手可以任意篡改执行该可搜索加密协议的计算机的情况下,也不会发生信息泄
露。

附图说明

[0037] 图1是本发明的具体实施方式的系统结构示意图。

具体实施方式

[0038] 为使本发明的目的、技术方案和优点更加清楚,下面结合实施方式和附图,对本发明作进一步地详细描述。
[0039] 本发明的一种适用于可搜索加密的密码逆向防火墙方法,包括:
[0040] 设定系统参数,用于生成用户端的私钥Apriv和公钥Apub,以及服务端的关键词检索;
[0041] 用户端生成私钥Apriv和公钥Apub,公钥用于加密关键词信息,私钥用于生成陷门信息;
[0042] 用户端在发送文件时将本地文件加密,生成密文文件;并使用公钥Apub加密发送文件的关键词,生成关键词密文Cw,将密文文件和Cw发送给密码逆向防火墙;
[0043] 密码逆向防火墙重随机化关键词密文Cw,得到重随机化后的密文C′w,将密文文件和C′w发送给服务器;
[0044] 当检索时,用户端根据私钥和发送文件的候选关键词生成关键词陷门Tw′,将该陷门信息发送给密码逆向防火墙。
[0045] 其中,发送文件的关键词和候选关键词用于待发送文件的索引。
[0046] 密码逆向防火墙重随机化关键词陷门Tw′,得到重随机化后的关键词陷门Tw′′,将Tw′′发送给服务器;
[0047] 服务器将收到的关键词陷门和所有关键词密文做测试,如果某个关键词密文能通过测试,就向对应的用户端返回该关键词密文对应的密文文件。
[0048] 参见图1,具体执行步骤包括设定系统参数、加密本地文件、生成密钥、生成关键词密文、重随机化关键词密文、生成关键词陷门、重随机化关键词陷门和检索关键词,具体描
述如下:
[0049] (1)设定系统参数:
[0050] (1.1)设定系统参数,包括:选择素数p,设置p阶的循环乘法群G1,并选择群G1的一个生成元,记为参数g,以及设置p阶的循环乘法群G2,并基于G1、G2,设置双线性映射 G1×G1
* log p
→G2;定义两个安全哈希函数H1,H2,其中H1为从{0,1}映射到G1,H2从G2映射到{0,1}   ,其
*
中{0,1} 表示任意比特长的二进制序列组成的集合, 表示从有限域
中去掉元素零所得到的有限域;
[0051] 公开系统参数
[0052] (2)加密本地文件:
[0053] (2.1)将要发送的文件在本地加密,生成密文文件;
[0054] (3)生成密钥:s
[0055] (3.1)用户从有限域 中选取随机数s,计算公钥Apub=[g,h=g],私钥Apriv=s;
[0056] (4)生成关键词密文:
[0057] (4.1)用户从有限域 中选取随机数r作为本次关键词密文的随机数;
[0058] (4.2)用户根据公钥Apub计算
[0059] (4.3)用户生成关键词w的密文Cw=[A,B]=[gr,H2(t)],将密文文件和Cw发送给密码逆向防火墙;
[0060] (5)重随机化关键词密文:
[0061] (5.1)密码逆向防火墙从有限域 中随机选择随机数α,β,且满足αβ=1;
[0062] (5.2)密码逆向防火墙根据关键词密文Cw=[A,B]=[gr,H2(t)]重随机化C′w=rα
[A′,B]=[g ,H2(t)],发送密文文件和C′w至服务器端;
[0063] (6)生成关键词陷门:
[0064] (6.1)用户根据候选关键词w′和私钥Apriv生成关键词限门Tw′=H1(w′)s∈G1,发送给密码逆向防火墙。
[0065] (7)重随机化关键词陷门:
[0066] (7.1)密码逆向防火墙对关键词限门Tw′,进行重随机化Tw′′=H1(w’)sβ∈G1,将Tw′′发送至服务端;
[0067] (8)检索关键词:
[0068] (8.1)服务器对所有关键词密文C′w=[A′,B]和Tw′′做测试,如果等式成立则向对应的用户返回对应密文文件。
[0069] 以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方
法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。