密钥安全存储范文

2024-06-02

密钥安全存储范文(精选3篇)

密钥安全存储 第1篇

云存储以其低廉的成本、良好的可扩展性和可靠性等优点而广受青睐,已被越来越多的用户所接受,把数据以外包的形式存储在云端,已成为企业存储的一种发展趋势。目前,云存储进一步推广应用的主要阻碍是安全问题,由于数据存放在用户无法掌控的云端,数据的安全过度依赖于并不十分可靠的云服务提供商(Cloud Service Provider,CSP),数据的安全难以得到保障。要解决这一问题通常采用加密存储的方法,即数据拥有者把数据以密文形式存放在云端,数据的加解密均在本地完成,通过对密钥的管理,数据拥有者就能实现对云端数据的访问控制。

1相关研究

早期的云存储针对个体用户,加解密采用单一密钥,需要分享文件时,数据拥有者直接将密钥传递给使用者,这种策略存在一系列问题,诸如不能细粒度控制,单一密钥安全性差等。其后通过引入密钥树,并融入其他辅助认证技术等改进了对密文的控制能力,但是对于细粒度的分享控制和权限撤销一直存在资源开销过大的情况。

现在公共云存储服务一般采用混合加密机制,包括密钥封装机制KEM和数据封装机制DEM,其封装结构如图1所示:

广播加密通过组密钥维持对密文的访问控制,每一个用户属于一个子集,并且存储所有子集对应的密钥,发送者选择适当的子集覆盖所有合法用户,用这些子集对应的密钥加密消息。广播加密的关键指标包括KEM的密文尺寸、公钥尺寸和每个用户储存的私钥数量,随着在云存储中依靠单一的群组策略并不能适应多级需求。多级安全需要一种链式可推导的模型来实现,接下来将结合企业实际的应用场景展开叙述。

2基于密钥的多级安全访问控制

2.1算法基础

2.1.1单向函数

单向函数即正向计算容易,但其求逆计算在数学上是不可行的,或者很难证明可行性的,也就是仅可以通过正向输入求得输出,但很难通过输出结果推算出它的输入。

单向函数f(x)满足以下两个条件:

1对于所有属于f定义域的任一x,可以很容易的计算出f(x)=y;

2对于几乎所有属于f值域的任一y,在计算上不可能推导出x使得y=f(x)成立。

利用单向函数的仅单向可推导特性,应用在密钥更新上,若密钥k_1,k_2,k_3……k_i满足单向函数f(x)的值域递推关系,那持有k_1的用户即可以通过f(x)逐步获得密钥k_2,k_3……k_i, 实现多级安全访问中的跨级访问的行为。此时,若f(x)满足单调特性,对f(x)的偏移计算仍能满足对密钥的推导规则,即可用此特性来完成密钥更新。

2.1.2代理重加密

代理重加密(proxyre-encryption,PRE)允许一个半可信的代理者(proxy)将A可解密的密文转换为B可解密的同一明文的不同密文,同时保证代理者无法获知明文。

设由公钥pka加密的密文为c1=(M)pka,proxy在不解密密文的情况下,利用重加密密钥将c1转换为c2=(M) pkb,c2是公钥pkb进行加密的,可以由B直接解密。实际相当于A通过代理重加密算法得到重加密的中间密钥,CSP用对密文进行了二次加密,通过数学算法,让新密文满足新的解密条件,可用于访问权限撤销时对云端数据的更新。

2.2多级安全访问控制

在企业云存储实践中,结合企业内部管理的组织结构,高级用户的数量最少却需要授权最多的文件,而低级用户数量最多, 却只能访问受限的最少文件,文件的访问控制权限呈现多级安全的层次策略。假设在一个云存储系统中,用户集合为U,文件集合为F,整个系统被划分为n个安全等级,⊆U(1≤i≤n)为安全等级为i的所有用户集合,(1≤i,j≤n,i≠j),U=∪∪…∪,⊆F (1≤i≤n)为安全等级为i的所有文件集合,(1≤i,j≤n,i≠j), F=∪∪…∪,那么∀u,用户u可访问的文件集合为(∪……∪)。

为接合上述情景,并获得较高的安全度和较快的响应,本文采用改进的混合加密机制,对DEM采用密钥长度较短的DES (Data Encryption Standard)算法进行加密,以获得较快速的大文件密文操作效率。在KEM部分依然采用DES的算法,但选择位数较长的密钥加密较短的密钥明文,依然保证计算效率,并根据安全等级和用户的数量、涉及文件的数量等情况,灵活的确定不同安全级别DES密钥的长度。维持高响应和安全性的平衡, 满足实际应用的基础需求。

2.3方案设计

(1)场景概述

为了便于描述本文提出的多级安全访问控制机制,在企业级云存储环境中提取几个重要的角色。CSP通过互联网提供云存储服务,File由Data owner创建,并由Data owner加密上传,File的密文将满足多级安全访问控制规则,Data owner负责分发管理所属密文的状态,在用户Data user访问时,需要满足自身的安全等级不低于File的安全等级,才能下载访问,并且一旦发生权限撤销,CSP将通过代理重加密操作完成云端数据更新。

(2)系统初始化

Data owner首先按照用户的身份和文件的重要程度划分用户和文件的安全等级,并为每个安全等级分配一个密钥,然后对每个文件进行加密和封装。上传到云端的文件按照安全级别的不同组织不同的目录树存储,同一级别的文件在一个目录树结构中, 以便文件的检索和密文的更新。KEM的结构前部加入料所属目录树的信息,用以描述文件的等级,引导权限控制。

(3)文件的访问

Data user发起对的File_1密文的访问请求,CSP会识别Data user所在等级,根据安全级别,决定是否开放访问权限。

当云存储系统内部发生安全隐患,需要撤销某个危险用户时,将对整个系统或大部分的密文进行更新,主要操作由CSP代理执行,具体流程如下(详见图2所示):

3性能与安全性分析

3.1性能分析

在云存储访问控制的研究中,对性能影响最大的就是加解密的计算开销和更新密文的开销,从访问控制策略的设计来说,就是文件细粒度的访问控制和用户权限的动态管理的矛盾,想要实现绝对的细粒度,就要尽可能对文件一次一密,其结果会产生的大量密钥,增加动态管理的开销。所以,云端密文管理机制必须是有针对特定场景的、在特定安全范围内的策略。在设计策略上, 需要找到细粒度访问控制和用户权限动态更新的平衡。

3.2安全性分析

系统自身的安全性包括密文解密难易程度和算法策略的可靠性,数据的机密性由对称加密的原理可知,在保证密钥长度的情境下,针对暴力破解是安全的。算法推导可以抽象为数学上单向函数的求解,数学理论已经确认单向性的推导难度,可以用于密码学应用。

针对串谋攻击,若两个合法用户相互传递密钥以窥视密文, 将通过CSP限制其下载实现,无等级归属的文件申请将被拒绝访问。若某一用户被撤销,持有密钥,与另一个合法用户合谋窥视密文,则会根据用户所属安全等级,执行相应的密文权限更新, 若底层用户退出,亦可通过CSP进行用户黒名单隔离,并在必要时进行懒惰的密文权限更新。

4结束语

密钥安全存储 第2篇

关键词:SM2算法,混合密码算法,USB Key硬件加密,密钥安全存储

1 引言

随着互联网技术和移动网络的快速发展, 密钥成为用户验证身份登录应用的重要安全凭据。简单的用户密钥存在易破解、安全性不高等缺点, 不同账户使用同一密钥更极大地降低了用户信息的安全程度。随着用户密钥的安全度不断提高、不同账户密钥不同情况的出现, 简单的用户密钥记忆越发困难。当前密钥的安全存储工具主要包括笔记类工具、在线密钥管理工具和本地密钥管理管理工具。笔记类密钥管理工具直接使用明文记录, 后两种方式则通过设置密钥将用户信息存在服务器或本地计算机, 安全性较低且使用不方便。王卓设计了一种基于网格存储的分布式密钥管理系统, 在用户易用性方面仍存在问题。彭家华设计了一种使用MD5算法的密钥管理系统, 安全性和易用性也有待提高。蔡昌许等人提出了采用二进制域上圆锥曲线算法解决此类问题, 在超大型网络等领域进行了一定尝试。

当前, USB Key技术得到了快速发展, 可用于进行用户身份信息存储, 并可以通过片上系统内置加密算法对用户信息进行加密, 安全等级较高, 可以有效防止用户信息泄露。本系统基于USB Key片上集成SM2加密算法实现了用户密钥的安全存储和自动登录功能。

2 SM2算法介绍

SM2算法全称为SM2椭圆曲线公钥密码算法 , 由国家密码管理局于2010年12月进行公布, 并作为国家密码行业标准。目前, 密码算法主要包括对称密钥算法和非对称密钥算法。SM2算法属于非对称密钥算法, 通过使用公钥加密私钥解密的方式工作。在非对称密钥算法工作过程中, 加密密钥和解密密钥各不相同, 加密密钥是公开使用的, 解密密钥只有用户自己知道, 攻击者无法根据加密密钥计算出解密密钥。

SM2算法的优点主要包括:密钥管理简单, 保密传输时所需要的密钥组数量较少; 密钥可以公开发布, 易传播而不易破解;信息保密的等级较高, 安全性较好;密钥占用存储空间小。因此, SM2算法在我国商用密码体系中主要用来替换传统的RSA算法。但同时, 作为一种非对称密钥加密算法, 它也存在算法复杂、加解密速度较慢, 对大数据块加密效率低等缺点。

3 基于 SM2 的混合加 / 解密流程设计

利用SM2算法加密安全性高、密钥管理简单等优点, 结合USB Key的高速运算能力和安全存储机制, 将两者相结合可以得到更加安全高效的密钥存储系统。它的基本原理为: 在USB Key片上系统内置SM2算法模块, 用户将需要存储的用户名和用户密钥使用特定多维密钥进行加密后保存在USB Key外置存储模块中, 不同的用户名和用户密钥使用特定多维密钥的不同维密钥对应加密存储, 加密时使用SM2算法进行。用户进行加密时使用的特定多维密钥经加密后存储在USB Key的内置ROM模块中, 对特定多维密钥进行加密的算法为SM2算法, 加密密钥由用户自行记忆的特定识别符经SM2算法加密得到。

3.1 用户信息加密流程

用户信息的加密流程是:设定用户自行记忆的特定识别符为[A], 系统随机生成的特定多维密钥为[B]=[B1B2B3... Bn], 用户需要加密的信息为[C]=[C1C2C3... Cn], 具体的流程图如图1所示。

步骤一: 用户在每次使用存储系统时需首先输入PIN码进入USB Key系统;

步骤二:当用户需要加密存储用户信息时, 需要按提示输入特定识别符[A];

步骤三:USB Key片上系统使用内置SM2算法加密识别符[A]得到密钥[Y0];

步骤四:USB Key片上系统使用密钥[Y0]解密存储在USB Key内置ROM模块的特定多维密钥[B], 并将得到的[B]内多维密钥分别存储为密钥组[Y]=[Y1Y2Y3... Yn];

步骤五:USB Key片上系统随机使用密钥组 [Y]内密钥作为加密密钥, 对用户本次需要加密存储的用户信息[C]使用SM2算法进行加密, 得到加密密文[D]=[D1D2D3... Dn], 并将加密后的信息和与密钥组的对应关系[D→Y]保存在USB Key外置存储模块中;

步骤六:反馈信息, 确定本次加密完成。

2.2 用户信息解密流程

用户信息的解密流程如图2所示, 当用户需要读取并解密加密信息[D]=[D1D2D3... Dn]时 , 系统操作的步骤如下:

步骤一:用户在每次使用存储系统时需要首先输入PIN码进入USB Key系统;

步骤二: 当用户需要解密USB Key外置存储模块中的加密信息[D]时, 需要首先按提示输入特定识别符[A];

步骤三:USB Key片上系统使用内置SM2算法加密识别符[A]得到密钥[Y0];

步骤四:USB Key片上系统使用密钥[Y0]解密存储在USB Key内置ROM模块的特定多维密钥[B], 并将得到的[B]内多维密钥分别存储为密钥组[Y]=[Y1Y2Y3... Yn];

步骤五:USB Key片上系统读取外置存储模块中存储的加密信息[D→Y], 并根据该加密信息与密钥组的对应关系从[Y]中选择密钥使用SM2算法解密信息[D], 并将得到的明文信息保存在[C]=[C1C2C3... Cn]中;

步骤六:反馈信息, 确定本次解密完成。

4 安全存储系统关键技术实现

通过使用基于SM2的混合加密与解密算法, 可以实现较高的用户信息安全存储。安全存储系统除完成用户信息的安全存储功能外, 还可以实现用户信息的随身携带和特定应用的安全登录等功能, 具体实现的关键技术有几种。

4.1 SM2 硬件加密技术

SM2算法主要基于椭圆曲线上点群离散对数问题 , 具有椭圆曲线密码算法的优势。由于SM2由国家密码管理部门制定, 是国产安全算法的一种, 因为可以有效避免未知算法后门的影响。目前国内多数厂商都推出了基于片上系统SM2算法的USB Key设备, 该种USBKey设备内置单片机或智能卡芯片 , 拥有较大容量的存储空间, 可以存储用户的密钥等信息, 利用USB Key片上系统内置的加密算法实现对用户身份的认证。由于用户信息保存在密码锁中, 理论上使用任何方式都无法读取, 因此保证了用户信息的安全性。实验中我们选择了东莞市 乐程电脑 软件公司USB Key3000D/USBKey2000D系列设备 , 该设备拥有快速的加解密模块和安全存储模块, 它的主要硬件加密过程如下:

步骤一:设置密钥为key1, 输入加密字符串string1, 并得到字符串的长度为len1;

步骤二:基于随机数发生器生成随机数k∈[1, n-1], n为椭圆曲线上的基点G的阶;

步骤三: 得到比特串类型的曲线上的点C1=[k]G= (x1, y1) ;

步骤四:求曲线上的点S=[h]PB, 并确认S不是一个无穷远点;

步骤五: 按照同样方法求曲线上另一点Q=[k]PB= (x2, y2) ;

步骤六: 按照密钥派生函数fx1求得t=fx1 (x2| y2, len1) , 并判断t是否全部为0, 若全部为0则重新执行步骤1, 若不是则继续步骤七;

步骤七:求得;

步骤八:按照杂凑算法fx2求得) ;

步骤九:得到最后的密文。

该设备的主要硬件解密过程如下:

步骤一 : 设置密钥 为key1, 输入加密 字符串;

步骤二: 在C中提取出C1并将其数据类型转换成椭圆曲线上的点, 并确认其满足椭圆方程;

步骤三:求得S=[h]C1, 并确认S不是无穷远点;

步骤四:求得比特串类型数据) ;

步骤五: 按照密钥派生函数fx1求得) , 并确认t不满足全部为0;

步骤六:在C中提取出C2, 求得t;

步骤七:从C中提取出C3, 并确认;

步骤八:得到明文M'。

4.2 密钥安全存储方法

实验中用户信息的存储主要包括USB Key的内置ROM模块和外置存储模块 , USB Key的内部结构如图3所示。

其中经过二次多维加密后的用户信息存储在USBKey外置存储模块中 , 该部分的数据可以直接得到 , 但由于加密密钥未知, 因此攻击者无法直接破解。存储多维密钥的是USB Key的内置ROM模块, 访问该模块需要得知USB Key的PIN码和特定识别符, 当PIN码错误时, USB Key不能读写ROM内置数据, 且当PIN码连续错误后, ROM中的存储的数据会被自动销毁。即使USB Key的PIN码泄露 , ROM内置模块中保存的也是经过SM2加密后的多维密钥, 攻击者只有同时知道PIN码和特定识别符才能破解。

4.3 密钥安全传输方法

实验中, 除了完成用户信息的安全存储以外, 还要提高用户信息从USB Key提取到使用登录应用过程的安全性。目前攻击者主要通过使用木马、病毒等工具利用键盘记录方式获取用户通过键盘键入的各类敏感信息。实现键盘记录的方式可以分为基于硬件和基于软件两种方式, 其中最常见的是基于Windows Hook (钩子) 方式的键盘输入记录。Hook (钩子) 是Windows系统消息处理机制中的一个监视点, 攻击者可以通过在这里安装钩子函数来监视制定窗口的特定类型消息。钩子通过系统的钩子链表指向特定钩子函数, 钩子函数是回调函数 (Callback Function) 的一种, 窗口的消息首先被钩子函数处理, 钩子函数根据需要对消息进行提取后再将消息发送给窗口。针对攻击者的键盘记录攻击, 目前主流的反键盘 记录方法 主要有主 动防御技 术和NprotectKeycrypt技术。

实验中, 我们通过进程间直接通信的方式将从USBKey提取得到的用户信息直接传递给用户需要使用的应用登录模块。由于消息触发反应时间极短, 且在消息发送中人为添加大量随机伪信息, 攻击者进行消息截获和提取的难度较大, 可以较好的保证用户信息的安全性。常用的Windows应用软件数据通信方式主要有对象链接和嵌入 (OLE) 、动态数据交互 (DDE) 和Send Keys (UCK) , 实验中我们选择采用Send Keys方式。

5 实验结果

针对以上 设计 , 我们选用USB Key3000D/USBKey2000D系列设备。该USB Key设备具有内置硬件SM2算法和1G外置存储空间 , 可以存储较大的用户信息。实验环境为Intel Core i5-4200U处理器、4G内存、Windows 8 64位版, 开发环境为Microsoft Visual Studio2010。软件平台的效果如图4所示。我们分别对系统平台进行不同数据量混合加解密时间测试, 测试数据如表1所示 , 由于统计的时间是对所有数据量进行处理的时间, 可见系统加解密的时间在可以接受的范围之内, 处理速度较为迅速。

6 结束语

该安全存储系统主要通过混合SM2算法加密存储用户使用各类应用的密钥登录信息, 具有移动性、高安全性、易用性等特点, 也可以用来对用户其他信息进行安全加密, 系统加解密时间较短, 稳定性较高, 具有较好的应用前景。

参考文献

[1]严志涛, 徐梦霖, 吴潇岛, 赵辉.基于蓝牙和NFC的防泄露密码使用管理系统[J].信息网络安全, 2013, 12:42-45.

[2]王卓.基于网格的分布式密码管理系统设计与实现[D].解放军信息工程大学, 2009.

[3]彭家华.基于MD5的应用程序授权及密码管理系统[J].福建电脑, 2009, 09:119-120.

[4]蔡昌许, 蔡昌曙, 周洲.超大型网络圆锥曲线密码管理解决方案[J].信息技术, 2010, 03:128-130.

[5]陈锐, 蒋泽军, 陈福.基于Credential Provider的身份认证模型的研究与实现[J].航空计算技术, 2010, 03:131-134.

[6]伍娟.基于国密SM4和SM2的混合密码算法研究与实现[J].软件导刊, 2013, 08:127-130.

[7]陈俊杰, 施勇, 薛质, 陈欣.基于SSDT及回调函数的键盘记录方法[J].计算机工程, 2010, 11:120-122.

可证安全的基于属性密钥交换 第3篇

Shamir在1984年提出基于身份密码体制[1]的概念。它的基本思想是以能标识用户的,且容易记忆和识别的字符串作为用户的公钥,从而无须PKI系统进行用户的证书发放,简化了公钥密码系统。在基于身份密码体制的基础上,Sahai和Waters在2005年进一步提出了模糊身份的加密体制[2],即基于属性的加密体制(Attribute Based Encryption,ABE)。在基于属性的加密体制中,用户的身份由一个属性集合给出,这个集合中的属性可以是用户的基本信息,如姓名、年龄、籍贯等。ABE能够更加灵活地控制不同属性的用户对密文的解密权限,成为近期的研究热点。

密钥交换(Key Exchange)协议是密码学研究领域的一个重要课题。通过密钥交换协议,2个或多个用户可以建立一个共享密钥,进而利用该密钥实现保密通信。自从1976年Diffie和Hellman提出第一个密钥交换协议[3]以来,已经出现了大量的密钥交换协议[4,5,6]。

基于属性的密钥交换协议能够使满足某两个属性集的用户之间建立一个共享密钥。2009年Hao Wang等提出了一个基于属性的密钥交换协议[7]。该协议基于J. Baek等人在2007年提出的ABE方案[8],并且给出完整的安全性证明。但是其安全性证明只在随机预言模型[9]中成立,在更为严格的标准模型中并不成立。针对ABE方案的特点,提出了一种新的基于属性密钥交换协议,并给出了标准模型下的安全性定义和严格的安全性证明。基于属性密钥交换协议是基于Sahai和Waters提出的ABE体制[2]。

1背景知识

协议的安全性基于判定性DDH(Diffie-Hellman)假定,保证了密钥的语义安全性。

1.1 双线性映射

G1是阶数为素数q的循环群;G2是阶数同为素数q的乘法循环群。双线性映射为满足以下性质的e:GG1→G2:

(1) 双映射性。

PG1及a,bZq,有e(Pa,Pb)=e(P,P)ab

(2) 非退化性。

gG1的生成元,则有e(g,g)≠1。

(3) 可计算性。

P,QG1,存在有效的概率多项式时间算法可以计算出e(P,Q)。

1.2 判定性Diffie-Hellman(DDH)假定

G=<g>是生成元为g,阶数为素数q的有限循环群,且a,bZ*q,CG。对于任意的概率多项式时间算法M均有:概率|Pr[M(q,g,ga,gb,C)=1]-Pr[M(q,g,ga,gb,gab)=1]|可忽略。

1.3 Sahai-Waters ABE体制[2]

G1=<g>是阶数为素数q的有限循环群;G2是阶数同为素数q的乘法循环群。令e:GG1→G2为双线性映射;记Δi,S为拉格朗日插值系数,其中iZq,SZq中元素的集合,即:

Δi,S(x)=jS,jix-ji-j

系统中的属性值都在群Zq上。定义Au为用户u的属性集合,AC表示解密密文C所需的解密属性集合;n表示系统中属性的总数;d表示进行解密所需属性个数的门限值。

系统初始:系统可信中心随机选取y,t1,t2,…,tnZ*q作为系统主密钥,并计算T1=gt1,T2=gt2,…,Tn=gtn,Y=e(g,g)y后,将T1,T2,…,TnY作为系统公开密钥。

用户密钥分发:对于用户u,可信中心读取Au后,选取随机并且满足p(0)=yd-1次多项式计算p(x),计算u的私钥集合为{Di=gp(i)/ti}∀iAu,并将其秘密发送给用户u。

加密:假定要加密密文m,使得只有知道AC对应的私钥集合的用户可以解密,则选取随机数sZ*q,并计算密文为<E=Ysm,{Ei=gtis}∀iAu>。

解密:知道AC对应私钥集合的用户选取d个属性iAu∩AC,并计算e(Ei,Di)=e(g,g)p(i)s后应用拉格朗日插值计算出Ys=e(g,g)p(0)s=e(g,g)ys,最后明文m=E/Ys

2基于属性的密钥交换

基于Sahai-Waters ABE体制,下面给出一个新的密钥交换协议。该协议分为两个阶段:通信阶段和密钥计算阶段。其中,通信阶段仅需通信双方各发送一条消息给对方。下面的叙述中,均假定参与协议的双方均只有一个用户。假定用户A的属性集合为AA,用户B的属性集合为AB。

通信阶段:用户A随机选取raRZ*q,计算{Mi=gti,ra}∀iAB,并发送<AA,{Mi=gtira}∀iAB>给用户B;用户B随机选取rbRZ*q,计算{Mj=gtjra},并发送<AB,{Mj=gtjrb}∀jAA>给用户A。

密钥计算阶段:用户A计算密钥为:

Κ=(jAA(e(Μj,Dj))Δj,AA(0))ra=(e(g,g)rby)ra=Yrarb

用户B计算密钥为:

Κ=(iAB(e(Μi,Di))Δi,AB(0))rb=(e(g,g)ray)rb=Yrarb

3安全性分析

3.1 安全模型

基于属性的密钥交换安全性是基于下述的“敌手-挑战者”游戏定义的一种语义安全性。在“敌手-挑战者”游戏中,敌手模拟了攻击者,通过敌手询问预言器来模拟攻击者的攻击能力。挑战者是一个理想实体,知道系统中所有的秘密和公开参数,同时还承担预言器的功能。该游戏包括以下几个阶段:

(1) 系统初始阶段。

挑战者模拟系统可信中心运行Sahai-Waters ABE体制的系统初始阶段和用户密钥分发阶段,并将生成的所有系统公开参数发给敌手。

(2) 敌手训练阶段一。

假设U1,U2,U分别为系统中不同的合法属性集,敌手在该阶段中可以询问两个预言器:Execute(U1,U2),Corrupt(U)。当敌手询问Execute(U1,U2)预言器时,挑战者执行1次U1和U2之间的密钥交换协议,并将所产生的交互信息发给敌手,该预言器模拟了攻击者具有窃听协议执行中所有交互信息的能力。当敌手询问Corrupt(U)预言器时,挑战者将U对应的私钥发送给敌手,该预言器模拟了攻击者具有入侵某参与方,并获取其长期秘密私钥的能力。

(3) 挑战阶段。

一旦敌手认为训练阶段一结束,敌手向挑战者提交两个合法属性集A1和A2,且敌手未询问过Corrupt(A1)和Corrupt(A2)。挑战者执行1次A1和A2之间的密钥交换协议,得到密钥后将产生的交互信息发给敌手后抛掷随机硬币b,若b=1,则发送该密钥给敌手;若b=0,则随机选择rRG2,并发送r给敌手。

(4) 敌手训练阶段二。

与敌手训练阶段相同,并且要求敌手不能访问Corrupt(A1)和Corrupt(A2)。

(5) 攻击阶段。

敌手输出对b的猜测b′。若b=b′,称敌手赢得该游戏;并称概率|Pr(敌手赢得该游戏)-1/2|为敌手在游戏中的优势。

定义:如果任意的概率多项式时间敌手赢得上述游戏的优势均可忽略,则称基于属性的密钥交换协议是安全的。

3.2 协议安全性

通过定理1给出协议的安全性证明,该证明基于DDH假定。

定理1 如果DDH假定成立,则第2节构造的密钥交换协议是安全的。

证明 假定存在概率多项式时间敌手S能以不可忽略的优势ε赢得上述游戏,则可以构造概率多项式时间算法F能以不可忽略的概率解决G2群上的DDH问题。

假定算法F收到四元组(g,ga,gb,C),并要求判断C是否等于gab,其中gG1的生成元。除以下三点改动外,算法F完全模拟一个挑战者,并与S进行上述“敌手-攻击者”游戏:

(1) 在挑战阶段。

当敌手S向算法F提交两个合法属性集,设为AB,算法F运行AB之间的密钥交换协议时,算法F并不为A选取Z*q上的随机值ra,而是以ga作为gra,并计算{Mi=(gti)a}∀iAB;同时算法F并不为B选取Z*q上的随机值rb,而是以gb作为grb,并计算{Mj=(gtj)b}∀jAA。

(2) 在挑战阶段。

当算法F抛掷随机硬币b得到b=1时,将e(g,C)y作为密钥发给敌手。

(3) 在攻击阶段。

当算法F收到敌手对b的猜测b′后,算法F根据如下规则执行:如果b=1且b′=1,算法F认为C=gab;如果b=1且b′=0,算法F认为Cgab;如果b=0,则算法F以1/2概率认为C=gab,以1/2概率认为Cgab

因为在挑战阶段,用户在运行密钥交换协议时选定的随机值rarb以及生成的密钥不对敌手S公开,所以从敌手的角度而言,算法F完善地模拟了挑战者。另一方面,由于e(g,gab)y=e(g,g)aby,同时b=1时算法F将e(g,C)y作为密钥发给敌手,所以敌手能够分辨正确的密钥和随机数,相当于能正确分辨gabC。因此如果S能以不可忽略的优势ε赢得上述游戏,那么算法F能以ε/2的概率解决G2群上的DDH问题。证毕。

4结语

本文提出一种新的基于属性密钥交换协议,该协议基于Sahai-Waters ABE体制,能够保证在标准模型下的安全性。下一步的工作需要考虑进一步扩展工作,实现不同场景下基于属性密钥交换协议,另外还要考虑如何进一步提高协议的通信效率。

摘要:分析了密钥交换协议的特点,提出了一种基于属性的密钥交换协议,能够更灵活地控制不同用户参与密钥交换的权限,该协议基于Sahai-Waters ABE体制,只需要一轮消息通信。研究了密钥交换协议的安全需求,应用“敌手-挑战者”游戏,提出了基于属性密钥交换协议的语义安全性定义,进一步在标准模型中证明了协议的安全性。

关键词:通信技术,基于属性密钥交换,基于属性加密,Sahai-Waters ABE体制,判定性Diffie-Hellman假定

参考文献

[1] SHAMIR A. Identity-based cryptosystems and signature schemes [C]// Proceedings of The Crypto′84. California, USA: Santa Barbara 1984: 47-53.

[2] SAHAI A, WATERS B. Fuzzy identity-based encryption [C]// Proceedings of 2005 Eurocrypt. Berlin: Springer-Verlag, 2005: 457-473.

[3]DIFFIE W,HELLMAN M.New directions in cryptogra-phy[J].IEEE Transactions on Information Theory,1976,22:644-654.

[4] KRAWCZYK H. HMQV: a high-performance secure di-ffie-hellman protocol [C]// Proceedings of CRYPTO 2005 LNCS. Heidelberg: Springer, 2005, 3621: 546-566.

[5]BOYD C,CLIFF Y,GONZALEZ Nieto,et al.One-roundkey exchange in the standard model[J].International Jour-nal of Applied Cryptography,2009,1(3):181-199.

[6] LAMACCHIA B, LAUTER K, MITYAGIN A. Stronger security of authenticated key exchange [C]// Proceedings of 2007 LNCS. Heidelberg: Springer, 2007, 4784: 1-16.

[7]WANG Hao,XU Qiu-liang,BAN Tao.A provably securetwo-party attribute-based key agreement protocol[C].//Proceedings of The fifth International Conference on Intelli-gent Information Hiding and Multimedia Signal Processing.Kyoto,Japan:[s.n.],2009:1042-1045.

[8] BAEK J, SUSILO W, ZHOU J. New constructions of fuzzy identity based encryption [C]// Proceedings of The 2nd ACM Symposium on Information, Computer and Communications Security. New York: ACM Press, 2007: 368-370.

上一篇:个性实用下一篇:多变过程