APP下载

基于无证书密码体制的多用户密文检索方案

2020-09-18杨小东陈桂兰赵晓斌

计算机工程 2020年9期
关键词:数据文件私钥关键字

杨小东,陈桂兰,李 婷,刘 瑞,赵晓斌

(1.西北师范大学 计算机科学与工程学院,兰州 730070; 2.甘肃安信信息安全技术有限公司,兰州 730000)

0 概述

随着大数据和云计算的迅速发展,越来越多的组织和个人倾向于将数据迁移到云服务器,以便节省本地资源[1-2]。然而数据拥有者一旦将敏感数据上传到云服务器,将会失去对数据的完全控制,从而导致未授权用户和云服务器提供商访问或恶意窃取用户的敏感数据。因此,数据的安全性是云计算亟待解决的关键问题之一[3-4]。为实现数据的机密性,数据拥有者通常在数据外包之前对其进行加密,但面临加密数据有效检索的问题[5-6]。可搜索加密技术具有密文的关键字搜索等功能,能保障加密数据的安全性和隐私性,已成为近年来云计算安全领域的一个研究热点[7]。

自可搜索加密思想[8]被提出后,一些具有特殊性质的可搜索加密方案相继出现[9-10]。2004年,文献[11]提出了公钥可搜索加密方案,但需要在安全信道中传输关键字陷门。此后,文献[12]提出了无安全信道的公钥可搜索加密方案,但加密数据文件时需要访问用户和服务器的公钥。文献[13]提出了基于证书的可搜索加密方案,但只满足选择明文安全性。文献[14]提出了另一个基于证书加密方案,通过引入第三方经理减轻了云计算的负担。然而,文献[13-14]提出的可搜索加密方案都面临复杂的证书管理开销问题。对此,文献[15-16]分别提出了基于身份的可搜索加密方案,但依然只满足选择明文攻击下的不可区分性,并且需要一个可信的密钥生成中心(Key Generation Center,KGC)生成用户的私钥。文献[17-18]提出的基于无证书密码体制的密文检索方案,有效解决了密钥托管问题,但都只适用于单用户的密文数据检索,在实际应用中具有一定的局限性。

针对有可搜索加密方案计算开销大和安全性现低[19-20]的问题,本文提出一种多用户密文检索方案。该方案采用无证书密码体制生成关键字陷门,避免使用公钥证书,支持多用户的密文检索,并可通过访问用户授权列表实现访问用户的加入与撤销等功能。同时,在关键字加密阶段,数据拥有者无须指定访问用户的身份,由此提高计算性能,使方案适用于云存储环境。

1 预备知识

1.1 双线性映射

给定相同素数阶p的2个循环群G1和G2,双线性映射e:G1×G1→G2满足以下性质:

2)非退化性:e(g,g)≠1,其中,g是G1的一个生成元。

3)可计算性:对于∀u,v∈G1,e(u,v)是有效可计算的。

1.2 困难问题假设

定义1(BDH假设) 如果没有一个多项式时间算法能以不可忽略的概率解决BDH问题,则称BDH问题是困难的。

定义2(mDDH假设) 如果没有一个多项式时间算法能以不可忽略的概率解决mDDH问题,则称mDDH问题是困难的。

1.3 可搜索加密方案

一个公钥可搜索加密方案由以下9个多项式时间算法组成:

1)Setup(1λ):输入安全参数λ,KGC生成主密钥msk和系统公共参数param。

2)PatialKeyGen(param,msk,id):输入param、msk以及某个实体的身份id,KGC生成相应的部分私钥psk。

3)KeyGen(param,psk):输入param以及psk,该算法输出对应的公钥pk以及完整私钥sk。

4)Enc(param,pk,W,F):输入param、服务器公钥pk、关键字集W和数据文件F,输出数据文件密文CT以及密文索引CF。

5)Auth(param,pkidi,k):输入param、访问用户公钥pkidi以及文档密钥k,输出授权用户授权列表LF。

6)Trapdoor(param,pkids,skidi,w′):输入param、服务器公钥pkids、数据拥有者私钥skidi以及查询关键字w′,输出搜索陷门Tw′。

7)Search(param,skids,Tw′,I):输入param、服务器私钥skids、Tw′以及Ci,输出相关数据文件密文。

8)Add(param,k,LF,pkidi):输入k、授权列表LF以及待授权访问用户公钥pkidi,将新用户添加到授权列表中,输出更新成功。

9)Revoke(LF,Ui):输入授权列表LF以及待撤销授权用户Ui,将用户从授权列表中删除,输出撤销成功。

一个公钥可搜索加密方案的安全模型[7]主要从密文索引不可区分性和陷门不可区分性两方面进行安全性定义,但在定义陷门不可区分性时,关键字攻击只考虑外部敌手而不考虑服务器猜测攻击。

2 本文方案

2.1 系统模型

本文方案的系统模型如图1所示,其中包括KGC、数据拥有者(Data Owner,DO)、n个访问用户{U1,U2,…,Un}以及云服务提供商(Cloud Server Provider,CSP)。其中:KGC主要负责生成系统参数和每个实体的部分私钥;DO主要负责生成数据文件密文、关键字密文索引和访问用户的授权列表;访问用户Ui生成关键字陷门,并解密CSP返回的数据文件密文;CSP主要负责存储数据文件密文、关键字索引和访问用户的授权列表,并响应访问用户的搜索请求。

图1 本文方案的系统模型Fig.1 System model of the proposed model

2.2 方案描述

本文方案中各算法的描述如下:

2)PatialKeyGen算法。KGC为收到的每个访问用户身份idi计算生成部分私钥pskidi=H(idi)x,并将部分私钥pskidi通过安全信道发送给访问用户;类似地,身份为ids的CSP获得部分私钥pskids=H(ids)x。

5)Auth算法。DO初始化数据文件F的访问用户授权列表LF=∅。对于每个访问用户,首先利用其公钥pkidi和文档密钥k计算授权信息ΔF→Ui=(pkidi)k=gsik,然后在LF中添加(pkidi,ΔF→Ui),最后将更新后的访问用户授权列表LF发送至CSP。

8)Add算法。当收到访问用户Uj对数据文件F的授权请求后,DO利用其公钥pkidj和文档密钥k计算ΔF→Ui=(pkidi)k=gsik,将(pkidj,ΔF→uj)提交给CSP,并请求更新文档F的授权列表,同时将授权成功的信息发送给访问用户Uj。

9)Revoke算法。若DO想撤销访问用户Ui对数据文件F的访问授权,则将Ui的公钥pkidi发送给CSP。收到DO的撤销请求后,CSP在LF中查找对应条目(pkidi,ΔF→Ui),并将其从LF中删除。

对本文方案进行正确性分析:

CSP收到正确的关键字密文Ci=(Ci1,Ci2,Ci3)=(H2(e(H1(wi)k·ri,pkids)),gx·k,ri)和搜索陷门Tw′=(T1,T2,T3)=(gtr′,(H1(w′)·H(idi)x)1/si·gr′,H(ids)si)后,计算:

σ1=e(T2t/T1,ΔF→ui)e(H(ids)x,gsi)=

e(H1(w′),g)tke(H(idi),g)txke(H(ids),g)six

e(H(ids),g)six·e(H(idi),g)txk

σ3=σ1/σ2=e(H1(w′),g)tk

3 安全性证明

定理1在BDH假设下,本文方案在随机预言机模型下满足密文索引不可区分性。

定理2在mDDH假设下,本文方案在随机预言机模型下对外部敌手满足陷门不可区分性。

3)陷门询问1。其过程与定理1的陷门询问1相同。

5)陷门询问2。此过程与定理1的陷门询问2相同。

4 性能分析

将本文方案与文献[7,18]提出可搜索加密方案进行计算开销的比较,如表1所示。为便于表述,用E1表示G1上的一次指数运算,h1和h2分别表示哈希函数H1和H2的一次运算,P表示一次双线性配对运算。可以看出:在密钥生成阶段,本文方案较文献[18]方案减少了5次指数运算,但较文献[7]增加了2次指数运算;在关键字加密阶段,本文方案较文献[18]减少了6次指数运算,但增加了1次H2运算以及1次配对运算;在陷门生成阶段,本文方案较文献[18]减少了3次指数运算,但较文献[7]增加了1次指数运算;在搜索验证阶段,本文方案较文献[18]减少了1次指数运算,增加了1次H2运算,较文献[7]减少了1次指数运算,增加了3次配对运算。由于文献[7]方案面临证书的管理开销问题,而文献[18]方案仅支持单用户的密文检索,因此本文方案具有较高的计算效率和安全性能。

表1 3种方案各阶段的计算开销Table 1 Computational overhead of three schemesin each stage

利用PBC库对3种方案进行仿真实验,如图2和图3所示。硬件环境为:3.1 GHz英特尔酷睿i5-2400处理器,4 GB内存,512 GB硬盘空间。软件环境为:64位Windows 10操作系统,密码库PBC-0.4.7-VC。

图2所示为单个关键字情况下3种方案密钥生成、关键字加密、关键字陷门生成以及搜索阶段的计算开销。同时,从数据集中分别选取10个、20个、50个、100个关键字对3种方案的关键字加密算法、陷门生成算法以及搜索算法进行计算开销分析,如图3所示。其中,图3(a)反映了关键字加密时间随关键字数量的变化,图3(b)反映了陷门生成时间随关键字数量的变化,图3(c)反映了搜索时间随关键字个数的变化。由图2和图3可知,本文方案在密钥生成、关键字加密、关键字陷门生成以及搜索阶段具有一定的计算优越性。

图2 单个关键字情况下3种方案的计算性能Fig.2 Computational performance of three schemes in thecase of a single keyword

图3 多个关键字情况下3种方案的计算性能Fig.3 Computational performance of three schemes in thecase of multiple keywords

5 结束语

本文基于无证书密码体制提出一种新的公钥可搜索加密方案,其安全性依赖于BDH假设和mDDH假设,并且在关键字加密阶段无需指定用户访问权限,支持多用户密文检索,可通过授权列表实现了用户的加入与撤销等功能。分析结果表明,与文献[7,18]提出的可搜索加密方案相比,该方案具有较高的计算性能,适用于多用户的云端密文检索环境。本文方案在随机预言模型下是可证明安全的,下一步将在本文标准模型下设计基于无证书的多用户密文检索方案。

猜你喜欢

数据文件私钥关键字
清扫机器人避障系统区块链私钥分片存储方法
履职尽责求实效 真抓实干勇作为——十个关键字,盘点江苏统战的2021
比特币的安全性到底有多高
Spatially defined single-cell transcriptional profiling characterizes diverse chondrocyte subtypes and nucleus pulposus progenitors in human intervertebral discs
成功避开“关键字”
一种基于虚拟私钥的OpenSSL与CSP交互方案
基于表空间和数据文件探讨MIS中数据库架构设计
数据文件安全管控技术的研究与实现
气象数据文件异机备份程序浅析
智能垃圾箱