文摘
近年来,它已成为流行的患者医疗数据上传到第三方云服务器(TCS)存储通过医疗物联网。它可以减少当地的维护负担医疗数据,重要的是提高精度的治疗。作为远程TCS不能完全信任,医疗数据应该加密上传之前,保护患者的隐私。然而,加密使得搜索功能困难病人和医生。为了解决这个问题,黄等人最近提出的概念公钥认证加密和关键词搜索(PAEKS)内关键字猜测攻击。然而,现有的PAEKS方案适合于依靠耗时的计算。此外,一些PAEKS方案仍有安全问题在多用户环境。在本文中,我们提出一种新的、高效的PAEKS计划,它使用的想法diffie - hellman关键协议生成一个每个发送方和接收方之间共享密钥。共享密钥用于加密发送方和生成搜索关键词的活板门的接收器。我们证明我们的方案是语义安全的内部关键字猜测攻击在多用户环境中,在甲骨文diffie - hellman假设。 Experimental results demonstrate that our PAEKS scheme is more efficient than that of previous ones, especially in terms of keyword searching time.
1。介绍
在当今社会,几乎所有医疗服务提供者将使用某种形式的电子医疗记录系统(1]。具体来说,医疗物联网(也)已经成为一种新技术来收集数据从病人由小型可穿戴设备或植入式传感器。越来越多的医疗数据,医院存储设备的负担是沉重的,它需要一个专业的人来维护。如果硬件存储设备损坏,数据丢失是由于其他不可抗力因素,这将导致非常严重的后果。解决这个问题最重要的方法是将数据上传到第三方云服务器(TCS)。然而,在数据上传到TCS,病人的隐私不会得到保证。一旦云服务器管理人员或外部恶意攻击者窃取数据,这将导致数据泄漏和其他问题(2]。
为了解决数据安全的问题,最好的方法是加密数据,然后上传TCS的结果。但当医疗服务提供者想检索病人的电子病历,变得更加困难。首先,医生需要加密所有数据下载到本地服务器,然后在本地进行解密。之后,他们可以搜索期望的结果在医疗数据明文。然而,这个过程是非常繁琐和适合大多数应用程序。由于强大的云计算,医疗机构希望云服务器可以完成检索功能,而不是做自己。但如果关键是发送到云服务器,病人的隐私数据仍有暴露的风险。
为了解决上述安全问题,(对称密钥)可搜索加密的概念(SE)提出了歌曲等。3]。它是一个功能强大的技术,允许云服务器搜索加密的数据使用一些搜索本地数据用户生成的活板门。2004年,Boneh et al。4]提出的公开密匙版本,即公钥加密与关键字搜索(油漆)。这个方案嵌入关键词公钥加密和非常适合场景的多用户数据共享设置,例如,医疗数据共享。有三方油漆方案:云服务器,数据发送者和数据接收器。发送方(例如,病人)有很多隐私文件并希望与接收者分享(例如,医生)。首先,发送方提取关键字从每个文件 ,对油漆方案的关键字进行加密,然后每个文件加密与其他加密方案(不一定是一样的油漆方案)。让关键字密文 。发送方上传所有密码文本TCS。为了搜索是否存在一个文档,其中包含关键字加密的文档中,接收机生成搜索活板门的关键字并将活板门发送到云服务器。服务器接收后 ,它检查是否每个关键字密文匹配与搜索吧。如果是这样,它表明,相应的加密文档必须包含所需的关键字。之后,结果返回给接收方,接收方可以通过解密得到所需的明文数据加密的文档。
正如前面提到的图1,我们将可搜索加密应用到远程医疗服务,发送者和病人的医疗服务提供者是接收器。每个病人都可以加密和上传自己的电子病历到云服务器。当远程病人想要去看医生,医生可以检索一些疾病相关的医疗数据信息的第三方云服务器根据病人的关键字信息。在这个过程中,医生只会得到某种疾病有关的数据,不会公开的其他信息(如名称)的患者。
然而,油漆本身有一个劣势抵制关键词猜测攻击(KGA)。理想情况下,一个关键字空间可以被认为是无限的。在实践中,然而,这并非如此。在现实生活中,用户经常使用有限数量的关键字,因为他们的生活习惯,导致原多项式空间的变换成一个贴和低熵空间。在这种情况下,对手可以猜到中包含的关键字搜索活板门如下:首先,对手猜测用户的所有关键字空间,然后生成关键字密文。对手检查所请求的活板门用户一个接一个关键字生成密码文本本身。如果有巧合的相同的情况下,对手可以获得用户检索的关键字信息,因此暴露用户的隐私。这种攻击可以很容易地安装到云服务器,随着云服务器的用户的搜索活板门。这种攻击通常被称为内部关键词猜测攻击(IKGA)。
抵制对KGA非常具有挑战性。最近,许多方法(5- - - - - -11)提出了防止KGA油漆方案;然而,大多数人后来被证明是不安全的12- - - - - -15]。2017年,黄和李16)提出了一种新的元素,即公钥认证加密和关键词搜索(PAEKS) KGA内部解决这个问题。在PAEKS,数据发送方不仅加密一个关键字,也对其进行身份验证,以便搜索活板门只能配以相应的数据发送者。PAEKS也适用于cloud-assisted也一般,医生只是搜索指定病人的医疗数据。然而,提出混凝土PAEKS方案仍有一些安全问题(17- - - - - -19]。特别是,Noroozi和伊斯拉米18)指出,它不能处理多用户设置和安全模型提供了一个改善PAEKS在多用户环境。
1.1。我们的贡献
在本文中,我们研究新的高效PAEKS建设方案在多用户环境中为cloud-assisted也。我们的主要贡献如下:(我)我们观察到在PAEKS,数据发送者和接收者对公共/密钥。如果他们能计算一个共享密钥没有任何互动,然后共享密钥可以看作是对称密钥的可搜索加密方案。灵感来自于这一点,我们提出一个有效PAEKS计划,其中包括(非交互的)diffie - hellman密钥交换方案计算共享密钥和歌曲等的上交所计划加密关键词。它消除了使用配对前PAEKS计划耗时的操作(2)我们表明,我们的方案是语义安全反对IKGA在多用户环境下甲骨文diffie - hellman假设[20.]。特别,它满足密文不可分辨性和活板门不可分辨性(3)我们比较我们的计划和一些相关PAEKS方案的安全性和计算效率,也做一些实验来展示我们的方案保护效率的隐私cloud-assisted也数据。实验结果表明,我们的方案是比以往更有效,特别是在关键字搜索时间
1.2。论文组织
在下一节中,我们将简要介绍一些加密原语。我们PAEKS的主要施工方案和安全节中给出的证据3。节4,我们比较的效率方案与其他相关PAEKS方案。最后,我们总结论文部分5。
2。预赛
召回在本节中,我们将使用加密原语的一些基本概念,包括循环群、硬度的假设,伪随机函数,语法PAEKS,其安全模型。
2.1。循环群
让是一组与秩序 。我们说是一个循环群,如果组可以由一个元素生成 。也就是说,每一个元素 的形式 对于一些指数 。我们称之为的发电机。在我们的方案中,我们使用一个循环群与一个主要秩序;也就是说,是一个典型。在这种情况下,任何组元素除了身份将一台发电机。
2.2。Oracle diffie - hellman (ODH)问题(20.]
让是一个循环群与秩序和一台发电机 。让是一个哈希函数一些 - - - - - -位长度空间 。给定一个元组的ODH问题状态 和一个甲骨文 ,决定是否是或一个随机字符串 ,在这里,和是随机选择的 ,和oracle回报为每一个 。让是任何概率多项式时间算法(PPT)。我们说打破了ODH问题组和在大多数与优势 ,如果
定义1 (ODH假设)。我们说ODH假设持有集团和 ,如果任何PPT算法 ,它的优势在解决ODH问题可以忽略不计(长度 )。
2.3。伪随机函数(脉冲)
一个伪随机函数是一个家庭的功能,这样一个随机选择的家庭,其输入/输出行为就是一个随机函数的计算的。脉冲重复频率的正式定义如下所示。
定义2(脉冲)。让 的家庭功能与密钥空间索引从来 。我们说是一个 如果(1)给定一个关键 和一个输入 ,有一个有效的算法来计算输出 (2)对于任何一个PPT算法使最多多项式的甲骨文数量查询,以下优点是最多 :在哪里 和神谕是给定一个输入 并输出相应的函数的图像。
上面的定义表明,多项式给出任何数量的有效输入/输出对 ,PPT的对手无法谓词为新的和不同的输入x。具体地说,计算与随机 。
2.4。PAEKS和安全模型
公钥认证加密的概念与关键字搜索(PAEKS)首次提出了16)保护内部关键字对字的隐私猜测攻击。它涉及到公共/密钥对密文,以防止关键字猜内幕攻击的服务器。我们首先回忆起它的定义。
定义3 (PAEKS语法)。PAEKS计划包含以下六个PPT算法:(我)设置(λ)。这是全球参数生成算法。需要的安全参数全球体系作为输入和输出参数(2) ( )。这是发送方的密钥生成算法。全球系统参数作为输入和输出一个公共/密钥对 (3) ( )。这是接收机的密钥生成算法。全球系统参数作为输入和输出一个公共/密钥对 (iv)PAEKS 。这是关键字加密算法执行的发送者。发送方的密钥 ,接收方的公钥 ,和关键字作为输入和输出PAEKS密文的关键字(v)活板门 。这是活板门生成算法执行的接收器。接收方的密钥 ,发送方的公开密钥 ,和关键字作为输入和输出一个活板门(vi)测试 。这是云服务器执行的测试算法。需要一个活板门 ,一个PAEKS密文 ,发送方的公开密钥 ,和接收方的公钥1如果作为输入和输出和包含相同的关键字和0
接下来,我们回忆起改进安全模型由Noroozi PAEKS在多用户环境中,伊斯拉米(18]。它包括活板门不可分辨性(TI)和密文不可分辨性(CI)。他们都是通过描述之间的比赛对手和挑战者 。
定义4 (TI安全游戏)。TI安全游戏描述如下:(我)初始化。给定一个安全参数 ,挑战者号生成全局系统参数。然后,挑战者号生成接收器的公共密钥 和发送方的公开密钥 。它执行的对手在输入 (2)第一阶段。敌人允许自适应查询以下两个神谕多项式时间:(一)密文甲骨文 。给定关键字和一个公钥 ,挑战者号计算密文通过运行算法PAEKS 并返回的密文(b)活板门甲骨文 。给定关键字和一个公钥 ,挑战者号计算活板门通过运行算法活板门 并返回的活板门(3)挑战。第一阶段结束时,对手输出两个挑战的关键字和 ,没有查询到神谕和之前。现在,“挑战者”号选择一个随机位 ,计算 ,并返回它的对手(iv)第二阶段。在这个阶段,对手可以继续访问神谕,限制不也不可以查询到神谕和(v)猜测。最后,对手输出一点的猜 。如果 ,我们说赢得了比赛我们定义的优势打破PAEKS的TI安全
定义5 (CI安全游戏)。同样,CI安全游戏可以描述如下:(我)初始化。给定一个安全参数 ,挑战者号生成全局系统参数 。然后,挑战者号生成接收器的公共密钥 和发送方的公开密钥 。它执行的对手在输入 (2)第一阶段。敌人可以自适应查询以下两个神谕多项式时间:(一)密文甲骨文 。给定关键字和一个公钥 ,挑战者号计算密文通过运行算法PAEK年代 并返回的密文(b)活板门甲骨文 。给定关键字和一个公钥 ,挑战者号计算活板门通过运行算法活板门 并返回的活板门(3)挑战。第一阶段结束时,对手输出两个挑战的关键字和 ,没有查询到神谕和之前。现在,“挑战者”号选择一个随机位 ,计算 ,并返回它的对手(iv)第二阶段。在这个阶段,对手可以继续访问神谕,限制不也不可以查询到神谕和(v)猜测。最后,对手输出一点的猜 。如果 ,我们说赢得了比赛我们定义的优势打破PAEKS的CI安全
如果任何PPT的对手 ,这两个和可以忽略不计的安全参数 ;我们说PAEKS语义安全的内部关键字猜测攻击。
3所示。我们PAEKS方案
在本节中,我们介绍一个PAEKS方案电子医疗记录系统。系统框架如图2。
3.1。建设
我们PAEKS方案描述如下:(我)设置 。选择一个循环群与'订单和一个随机发生器的 。选择三个伪随机函数: , ,和 ,在哪里 , ,和分别三个脉冲重复频率的主要空间,然后呢关键字空间。让是一个哈希函数,定义为 。最后,返回 (2) ( )。随机选择 ,并设置 和 。返回和(3) ( )。随机选择 ,并设置 和 。返回和(iv)PAEKS 。加密关键字 ,执行以下操作:(一)计算的关键 (b)计算 和 (c)选择一个随机的字符串 并设置 (d)集 (e)最后,返回(v)活板门 。计算 和 。返回活板门 (vi)测试 。计算 并解析 。如果 保存,返回1;否则,返回0
3.1.1。正确性
让接收方的密钥对 和发送方的密钥对 。然后,关键 可以生成的。让的密文关键词由发送者和生成是相应的搜索接收机产生的活板门。根据关键字加密算法,必须存在两个字符串和和一个随机的字符串 这样 , ,和 ,在哪里 。活板门的关键字 ,它应该是在表单中 ,在哪里 和 。所以, 。让是第一个位的和是最后一个位。很明显, 将举行。因此,同样的关键词,密文将配以相应的活板门。
修复一个密文不同的关键字 ,我们有 ,对于一些 。自是一个伪随机函数呢 是一个随机字符串结束了吗的概率至少 。在这种情况下, 将一个随机字符串。自也是一个伪随机函数,随机字符串 ,这个方程 拥有最多的概率 。因此,密文匹配与搜索活板门概率几乎可以忽略。所以我们PAEKS方案满足正确性。
3.2。安全证明
在本节中,我们证明我们PAEKS方案既满足活板门不可分辨性和密文不可分辨性。它的活板门不可分辨性遵循从下面的定理。
定理6。如果oracle diffie - hellman假设成立是一个伪随机函数,那么我们PAEKS计划达到活板门不可分辨性。具体来说,对于任何PPT的对手 ,我们有 在哪里和优势打破ODH假设和PRF的伪随机数 。
证明。让是任何PPT的对手,旨在打破活板门的安全的不可分辨性PAEKS方案。我们证明定理6通过一系列的游戏。让表示事件成功(例如,
)在
- - - - - -游戏。
游戏0。这是最初的活板门在分辨率游戏中定义的定义4。在这个游戏中,挑战者号生成两个公共/密钥对
和
发送者和接收者,分别给出了公钥
。此外,敌人可以查询到活板门oracle自适应问题和密文甲骨文与任何关键字
和公钥
。但是,两个关键词的挑战和
,敌人不能报神谕和
。让表示挑战的活板门
,在哪里
。让表示的猜通过
。所以,在这个游戏的优势
第一场比赛。这个游戏是一样的除了前面的游戏被取样
均匀随机。还记得,在前面的比赛,“挑战者”号计算通过(即,
)根据关键字加密算法(即活板门生成算法)。我们现在证明
甲骨文diffie - hellman问题的一个实例
,在哪里
或是一个随机的字符串
,我们构建一个算法来解决它子例程。集
和
并给他们
。对应的密钥被隐式地设置和
,分别。此外,选择其他系统参数,包括
,本身。解析作为
。当问题查询的神谕和与
,
涉及到甲骨文或获取共享密钥
。当问题查询的神谕和
,
使用生成密码文本和活板门。例如,对于一个关键字
,
计算密文如下:(1)计算
和
(2)选择一个随机的字符串
并设置
(3)集
给定两个挑战的关键字和
,
计算活板门的挑战如下:(1)选择一个随机的点
(2)计算
和
(3)集
最后,输出一点的猜
。如果
,
输出1;否则,输出0。
显然,如果
,上面的游戏与游戏0。否则,它是相同的第一场比赛。所以,
这证明了方程的结果(7)。
第二场比赛。这个游戏是一样的,除了之前的游戏被随机抽样
。假设是一个伪随机函数,我们有什么
我们现在证明方程(9)。由于伪随机函数的一个挑战
,我们构建一个算法打破它的伪随机数子例程。选择系统参数,发送方和接收方的公共/密钥对,与前面的游戏,除了被自己的挑战者提供。具体来说,随机字符串
选择的是本身,而是挑战的是隐式定义的密钥伪随机函数
。接下来,我们展示答案的查询密码的文本和活板门
或
,分别。为一个关键字
,
计算其密文如下:(1)查询的挑战者与获得的结果
(2)计算
(3)选择一个随机的字符串
和计算
(4)集
计算它的活板门如下:(1)提交自己的挑战者获得结果
(2)计算
(3)集
当提交两个挑战的关键字和
,
选择一个随机点并发送脉冲重复频率的甲骨文具有挑战性的。PRF挑战者将返回脉冲重复频率值的挑战来
,这可能是或一个随机值。然后计算
并返回
的对手。最后,输出一个猜一点
。如果
,
输出1;否则,它输出0。
从上面的分析,显然,如果
,
实际模拟环境的第一场比赛的对手
。如果是随机的,第二场的模拟环境是相同的。因此,如果的成功概率游戏1和2之间的区别
,然后可以区分
从一个随机的一个相同的优势。这个计算方程的证明(9)。
注意,在第二场比赛中,活板门的挑战是独立的两个挑战关键词。所以,对手没有成功的优势在这个游戏中,也就是说,
方程(6)(10)一起,接下去
这就完成了定理的证明6。
的密文不可分辨性PAEKS方案遵循从下面的定理。
定理7。如果oracle diffie - hellman假设成立 是伪随机函数,那么我们PAEKS方案实现了密文不可分辨性。具体来说,对于任何PPT的对手 ,我们有 在哪里 , ,和是优势打破ODH假设和脉冲重复频率的伪随机数和 ,分别。
证明。类似于定理的证明6,我们也证明上述定理通过一系列的游戏。在每一个游戏,是一个PPT的对手,旨在打破我们的密文不可分辨性PAEKS方案。是随机的,挑战的挑战者,然后呢是的猜测。我们表示的事件
在每一场比赛
。
游戏0。这是最初的密文不可分辨性游戏中定义的定义5。所以,
第一场比赛。这个游戏是一样的游戏0,除了价值是随机选择的
。ODH假设下,这两个游戏是计算上不可区分的,也就是说,
上面的等式的证明类似于方程(7);我们这里省略它。
第二场比赛。这个游戏是相同的第一场比赛,除了以下修改密文的挑战。假设挑战的关键字和吗
是相应的密文的内在价值。在这个游戏中,随机选择的
,而不是通过计算
。注意,对于一般关键词密文,仍然是计算从
。在假设下是一个伪随机函数,计算无法区分这两个游戏。特别是,我们有
上面的等式的证明类似于方程(9);我们这里省略它。
第三场比赛。在这个游戏中,我们把挑战的价值
与一个随机字符串
。回想一下,在这个游戏中,是均匀采样
。脉冲重复频率的伪随机数
,
计算与随机
- - - - - -位字符串。同样,我们可以证明
在第三场比赛,是随机的,挑战的是独立的关键词。所以,对手没有优势在这个游戏中,也就是说,
方程(13)(17在一起,我们完成定理的证明7。
从定理6和7,我们得出这样的结论:PAEKS方案对内部关键字语义安全的猜测假设ODH问题是很难的,攻击 脉冲重复频率。
4所示。实验和效率比较
在本节中,我们分析的效率PAEKS方案和比较它与其他相关计划,包括Boneh et al。的油漆方案(4)和PAEKS计划(16,18,19]。除了我们的计划,所有其他人都设计在双线性组。也就是说,除了集团 ,有另一组和一个双线性映射从定义 来 。
表1演示了效率的理论结果比较的关键字加密、活板门生成、测试和两个安全属性。在表中,我们用符号“”和“”来表示的评价模幂运算和双线性配对,分别。””代表着一种特殊的哈希函数,将一个任意的字符串映射到一组元素,而“”代表着一种传统的哈希函数,如MD5。我们表示伪随机函数为“ 。”
图3显示每个参数的长度在不同的油漆/ PAEKS方案。除了Boneh et al。的计划,其他三个方案涉及到发送方的公开密钥和密钥加密算法的关键字和活板门生成算法,分别。从图可以看出,我们的方案已经短活板门和密文比其他方案。其他参数,我们的方案与其他方案仍有相当长度。
在这些操作中,配对的计算通常是最耗时的。根据建设在[21),它的计算通常是低效的比较传统的散列函数。在随机预言模型中,很容易从一个有效的哈希函数构造一个脉冲重复频率。从这些观察中,我们可以看到,我们的关键字测试算法应该更快比其他三个方案。对于加密和活板门的一代,我们的方案的优势并不明显。在安全方面,Boneh et al。对IKGA方案无法抗拒。的方案16)可以防止IKGA,但它在多用户环境中是不安全的。的方案19)没有显示其安全在多用户环境。
评估这些计划的效率,在实践中,我们使用1.7 GHz Intel i3的笔记本电脑CPU、2 GB内存和Windows 7操作系统来实现它们。我们使用jPBC库并选择一种配对,这使得使用曲线 在这个领域对' 。我们运行每个算法不同的时间和记录自己的时间以秒为单位。结果如图4,5,6,分别。的计算Noroozi伊斯拉米和黄和李,他们拥有相同的实验结果。实验结果表明,我们的加密算法和活板门生成算法会略高于那些其他的计划。但是我们的关键字测试算法显著高于其他的计划。
5。结论
在本文中,我们提出了一种新的公钥认证加密方案与关键字搜索。我们计划使用的想法diffie - hellman密钥交换协议生成一个发送者和接收者之间的共享密钥。共享密钥可以被视为秘密密钥加密对称密钥可搜索加密方案的发送者或生成搜索关键词的活板门的接收器。ODH的假设下,我们PAEKS方案可以实现活板门不可分辨性和密文不可分辨性,因此,它可以抵抗内部关键词猜测攻击。该计划也有效。具体来说,其关键字快速搜索算法,它只需要一个脉冲重复频率的计算,而之前的计划需要至少一个昂贵的配对操作。
数据可用性
使用的数据来支持本研究的发现是嵌入在编程。他们可以从相应的作者要求(电子邮件:(电子邮件保护))。
的利益冲突
作者宣称没有利益冲突有关的出版。
确认
这项工作是由中国国家自然科学基金(批准号61872292和61872292),陕西的关键研究和发展计划(批准号2020 zdlgy08-04),和青海省的基础研究项目(批准号2020 - zj - 701)。