一种多密级移动存储设备多级密钥管理方案

2018-04-19 05:09邓国庆
信息安全研究 2018年4期
关键词:密级存储设备密钥

冯 力 邓国庆 郁 滨

1(信息工程大学密码工程学院 郑州 450001)

2(95028部队参谋部航管气象处 武汉 430070)

(291216217@qq.com)

移动存储设备[1]已经广泛应用于数据存储和信息交互的场合,由于其通用性和匿名性,移动存储设备在不同密级信息系统间不受控制地交换数据常常导致泄密事件发生[2-3].因而学者提出设计多密级移动存储设备[4-5],以实现多密级信息交互安全可控.其中,为多密级移动存储设备设计密钥管理方案,是保证多密级环境下移动存储设备安全、实现多密级信息安全交互的重要手段.

现有研究没有针对多密级移动存储设备设计的密钥管理方案.虽然在无线传感器网络[6]、ad hoc网络[7]、空间网络[8]、军事物联网[9]、卫星网络[10]、射频识别(radio frequency identification,RFID)系统[11]等应用领域,学者提出了多种密钥管理方案,但是这些方案与所应用领域特点结合过于紧密,通用性不强,不适用于多密级移动存储设备.

如果将多密级移动存储设备看作一个等级系统,等级密钥思想则可为其密钥管理提供思路.在1983年,Akl等人[12]考虑等级系统下的密钥管理问题,将密钥管理与访问控制相结合,提出高级别用户可以推导出低级别用户的密钥信息,反之则不行.这种思想广泛应用于数据库等存储系统的访问控制,学者对等级密钥管理问题进行了深入的研究,从效率和安全性等方面提出了改进方案.Zych等人[13]提出的密钥管理方案中,用户利用一个Key值,基于Diffie-Hellman可以有效计算出所请求访问数据的密钥,但存储开销较大.Zhang等人[14]提出的管理方案基于大素数因式分解困难性问题,在管理秘密密钥时采用了中国剩余定理和单向哈希函数,减少了存储开销.Basu等人[15]在Wu等人[16]的密钥管理方案的基础上提出了改进方案,该方案使用椭圆加密算法(elliptic curves cipher,ECC)、高级加密标准(advanced encryption standard,AES)和Hash的混合加密,降低了计算开销.上述方案[13-16]虽然在一定程度上降低了存储开销和计算开销,但由于基于公钥密码体制实现密钥管理,大素数和模乘运算使得存储开销和计算开销难以进一步优化,不适用于移动存储设备这类资源受限主体.Sun[17]提出的管理方案提高了用户、数据库管理员(database administrator,DBA)和数据Creators之间的安全度和信任度.高宝阳等人[18]综合考虑军队保密通信和群组密钥管理的特点及要求,提出了一种基于等级树模型的群组密钥管理方案.胡前伟等人[19]针对等级体制下用户权限管理和访问密文数据库的问题,提出了基于椭圆曲线密码体制的密钥管理方案.上述方案[17-19]基于树形结构或有向无环图(directed acyclic graph,DAG)结构,信息只允许由低密级向高密级单向流动,不满足多密级环境下信息交互的需求.

借鉴等级密钥思想,本文旨在设计一种密钥管理方案,能够实现不同密级主机对移动存储设备多密级分区的授权访问,满足多密级信息安全交互需求,同时降低计算开销和存储开销,使之适用于移动存储设备.

1 问题描述

如图1所示,为满足多密级环境下不同密级信息存储载体物理隔离的要求,移动存储设备的存储介质被划分为不同分区,而主机和不同分区又由于对存储于其中的信息区别保护,被划分为不同密级.信息跨密级交互过程即为不同密级主机读写移动存储设备不同分区过程,该过程应当受到安全策略约束.

图1 应用场景示意图

为描述拟解决的问题,作如下定义:

定义1.采用相同保护手段对其资源进行保护,且具有相同受访权限的一类受控对象称为安全客体.

定义2.对安全客体具有相同的访问权限的一类主体称为安全角色.

定义3.安全角色集合对安全客体集合访问权限的映射关系称为安全策略.

同一密级的分区使用相同的加密算法和加密密钥对其中的资源进行保护,对外表现出一致的受访权限,因此可以看作一个安全客体,用Mi表示.同一密级的主机对多密级分区具有相同的访问权限,因此可以看作一个安全角色,用H i表示,i∈[1,N],i为密级,N为密级数量.多密级环境下的信息系统,R={H1,H2,…,H N}是全部安全角色构成的集合,O={M1,M2,…,MN}是全部安全客体构成的集合.系统中不同安全客体利用不同密钥进行加解密,实现对其资源进行区别保护,只有安全角色具有该安全客体访问权限时,该安全角色才可拥有该安全客体对应的加解密密钥.因而拟解决的问题是为安全角色和安全客体之间构造一组加解密密钥的分配关系,并且这种分配关系应当符合安全策略.

最简单的密钥分配机制是为安全角色分配所有它具有访问权限的安全客体的密钥,但这种方式会导致密钥管理复杂度随着安全角色和安全客体规模的增加而快速增加,同时增大了密钥泄露的风险.因而需要设计一种密钥分配机制和密钥推导方法,使安全角色持有的密钥数量最小化,同时安全角色能够在符合安全策略的前提下推导出安全客体的密钥.

2 方案设计

设计方案总体结构以明确密钥分配机制,设计安全策略以确定安全角色与安全客体的权限映射关系,根据安全策略设计推导算法以实现密钥推导.

2.1 总体结构

方案总体结构如图2所示,由密钥管理中心(KMC)、授权中心(AC)、主机(Host)、移动存储设备(RSD)组成.AC根据实际需求设置访问权限矩阵A,并发送至KMC.KMC为j密级的主机生成密钥Key j后发送至主机.KMC结合访问权限矩阵A和各级主机密钥Key生成关系参数Parameter,发送至移动存储设备.至此密钥分发完毕.

图2 方案总体结构

2.2 安全策略设计

安全策略由N阶矩阵A表达.A中元素aij∈{0,1},当i≠j且aij=1时,表示允许密级为j的主机读取密级为i的分区数据;当i≠j且aij=0时,表示禁止密级为j的主机中读取密级为i的分区数据;当i=j时,aij=1,表示允许主机读写同密级分区数据.

当i>j(i,j∈[1,N])时,aij代表低密级主机能否读取高密级分区数据;当i<j(i,j∈[1,N])时,aij代表高密级主机能否读取低密级分区数据.授权中心在设置安全策略时,需要考虑实际需求和相关规定,例如:军事领域一般要求信息只能从低密级向高密级单向传递,因而设置用户策略时需要在类BLP(Bel and LaPadula)策略框架下进行.

2.3 算法设计

算法主要包括密钥构造算法、密钥推导算法和密钥更新策略.

2.3.1 密钥构造算法

KMC依次生成与密级为j(j∈[1,N])的主机相对应的密钥Keyj,所有密级主机的密钥生成完毕后,依次查询访问权限矩阵A中的元素a ij(i,j∈[1,N],i≠j),若aij=1,则计算关系参数Parameterij=〈Cij,Rij〉,其中:Cij=H(Keyj⊕Rij)⊕Keyi,Rij是KMC生成的随机数.通过加密信道将各级密钥发送到对应密级主机的安全存储区,将访问权限矩阵A和所有关系参数发送至移动存储设备安全存储区.密钥构造、密钥分配流程图如图3所示,其中c表示密文,E{}表示加密算法,D{}表示解密算法,SK表示KMC的秘密密钥,PK表示KMC的公开密钥.

图3 密钥构造和密钥分配流程图

2.3.2 密钥推导算法

移动存储设备插入主机H j后,通过认证与密钥协商协议证明双方身份合法性,协商出会话密钥k,并获得主机密级j后主机方可发起访问请求.

当主机H j读取同密级分区M j时,主机将密钥Key j通过协商的会话密钥k加密传输至移动存储设备,移动存储设备用会话密钥解密得到密钥Keyj,不需密钥推导,直接对数据解密后返回至主机.

当主机H j跨密级读取分区M i(i≠j)时,移动存储设备需要密钥推导,流程如图4所示.主机将密钥Key j通过协商的会话密钥k加密传输至移动存储设备,移动存储设备解密后获得Keyj并查询访问权限矩阵A中元素aij.若aij=0,则拒绝其请求,若aij=1,则计算Keyi=Cij⊕H(Keyj⊕Rij),得到目的分区密钥,解密数据并返回至主机.

图4 密钥推导流程图

2.3.3 密钥更新策略

1)主动修改密钥

在某一等级主机的密钥丢失、密钥过期失效等情况下,主机需要更新密钥.主动修改密钥流程如图5所示,主机Hj向KMC发起密钥更新请求后,KMC重新生成密钥Key*j并发送至H j.同时,KMC更新与主机H j有关的所有关系参数:是KMC重新生成的随机数.将更新的关系参数发送至移动存储设备,并覆盖与之对应的陈旧关系参数.

2)访问权限矩阵更新

若访问控制矩阵中的元素aij由0变为1,则增加关系参数Parameterij并发送至移动存储设备;若aij由1变为0,则删除移动存储设备的原关系参数Parameterij.

3)安全等级更新

若增加一个密级N+1,则遍历ai(N+1)(i∈[1,N])和a(N+1)i(i∈[1,N]).若ai(N+1)=1,则增加关系参数Parameteri(N+1);若a(N+1)i=1,则增加关系参数Parameter(N+1)i,并将关系参数发送至移动存储设备.

若需要删除一个密级j,只需删除移动存储设备所有Parameterij(i∈[1,N],i≠j)和Parameterjk(k∈[1,N],k≠j).

图5 主动修改密钥流程图

3 算法分析

下面从安全性和性能2方面对提出的算法进行分析.

3.1 安全性分析

1)反向攻击

不具备访问权限的主机H i欲通过关系参数Parameterij推导出分区M j的密钥称为反向攻击.即主机Hi在已知Key i和Cij的情况下,求解密钥Keyj;其问题简化为已知H(Keyj⊕Rij)求Keyj,根据哈希函数单向性可知这在计算上是不可行的.

2)内部收集攻击

假设存在密级为i的主机H i,另有主机Hj1,Hj2,…,Hjm对分区M i均有访问权限,主机H i收集了关系参数Parameter ij1,Parameterij2,…,Parameterijm,其试图推导出其中一个主机的密钥Keyε,ε∈[j1,jm],这样的攻击称为内部收集攻击.内部收集攻击可以转化为求下列方程组:

从1)中可知,H(Keyj⊕Rij)⇒Keyj计算上不可行.∀ε,ε∈[j1,jm],由于每一个Riε是随机生成的,所以H(Keyε⊕Riε)⇒Keyε的计算难度和任意H(Keyj⊕Rij)⇒Keyj相当,m的大小并不影响计算难度,因而内部收集攻击难度和反向攻击难度相当,计算上不可行.

3)外部收集攻击

假设存在外部攻击者收集到多个关系参数Parameterij,(i,j∈[1,N]),并试图获得密钥信息,这种攻击称为外部收集攻击.外部攻击者只有多个关系参数信息,仅仅通过Cij=H(Keyj⊕Rij)⊕Keyi无法计算Keyj或Keyi,外部攻击无效.

3.2 性能分析

下面对算法的时间开销、存储开销、方案特点和其他文献进行对比分析.

1)时间开销

表1列出了性能分析所需要的符号定义,表2列出了每种运算所需时间与TMUL的对等转换[15].多密级移动存储设备看作一种特殊等级系统,因此文献[15,17,19]中涉及的

方案采用实用高效的哈希运算和异或运算进行密钥构造和密钥推导,计算量小,实现简单.1次密钥构造需要1次哈希和2次异或运算,关系参数最多需要构造N2-N个(当A中元素全为1时),因此密钥构造的时间开销最大为(1THASH+2TADD)(N2-N),等价于0.36(N2-N)TMUL;1次访问请求最多需要1次密钥推导,共计1次哈希运算和2次异或运算,所需时间为1THASH+2TADD,等价于0.36TMUL.从表3可以看出,与文献[15,17,19]相比,本文方案的计算开销大幅降低.

表1 符号及定义

表2 运算时间转换表

表3 计算开销对比

2)存储开销

密钥构造时的生成的密钥、随机数和哈希函数结果一般选取为128 b,访问权限矩阵的存储开销为N2bit.本文方案中,密钥存储于主机的安全存储区,关系参数和访问权限矩阵存储于移动存储设备的安全存储区;关系参数个数最多为(N2-N)个(当A中元素全为1时),因此移动存储设备的存储开销最大为256(N2-N)+N2bit,关系参数最少为0(当A为单位矩阵时),因而存储开销最小为N2b;主机的存储开销为128 bit.如表4所示,与文献[15]、文献[17]、文献[19]相比,主机的存储开销减少,移动存储设备的存储开销根据访问权限表中等于1的元素个数变化而变化.

表4 存储开销对比

3)方案特点对比

如表5所示,本文方案采用矩阵表达安全角色和安全客体间访问控制关系,相较于文献[15,17,19]采用DAG结构,本文方案能够实现多密级信息双向安全交互,并且由于密钥管理中心KMC只负责密钥、关系参数的生成和分发,不参与主机的访问请求,因此本文方案更适用于多密级移动存储设备.

表5 方案特点对比

此外,本文提出的密钥管理方案具有以下优点:

1)移动存储设备只存储关系参数,不存储任何分区的密钥信息,即使设备丢失仍能保证各级密钥安全.

2)主机只需要存储自身密钥就能访问具有访问权限的多级分区,并且访问过程中主机并不能获得目标分区密钥,目标分区密钥仅存在于移动存储设备运算中间过程.

4 结 语

本文通过对多密级移动存储设备密钥管理问题进行分析,提出一个多级密钥管理方案.该方案基于矩阵表达主机对多级分区的访问控制权限,利用单向哈希函数构造关系参数、设计密钥推导算法.主机只需要持有本级密钥便可以推导出所有符合安全策略的分区密钥.分析表明,该方案安全性较好,计算开销和存储开销较小,能够有效解决多密级移动存储设备密钥管理问题.下一步可在该方案基础上对多密级移动存储设备多级加密算法进行研究.

[1]Ieee B E.IEEE Standard for Authentication in Host Attachments of Transient Storage Devices[S].Los Alamitos,CA:IEEE Computer Society,2010

[2]Berghel H.WikiLeaks and the matter of private manning[J].Computer,2012,45(3):70-73

[3]Landau S.Making sense from Snowden:What's significant in the NSA surveillance revelations[J].IEEE Security&Privacy,2013,11(4):54-63

[4]张学思.基于移动存储设备的多密级安全交互系统设计与实现[D].郑州:解放军信息工程大学,2015

[5]龚碧,郁滨.一种基于用户策略的多区域交互控制模型[J].系统仿真学报,2017,29(4):880-885

[6]刘志宏,马建峰,黄启萍.基于区域的无线传感器网络密钥管理[J].计算机学报,2006,29(9):1608-1616

[7]李慧贤,庞辽军,王育民.适合ad hoc网络无需安全信道的密钥管理方案[J].通信学报,2010,31(1):112-117

[8]罗长远,李伟,邢洪智,等.空间网络中基于身份的分布式密钥管理研究[J].电子与信息学报,2010,32(1):183-188

[9]李昊鹏,陈立云,卢星,等.一种适用于军事物联网的密钥管理方案[J].军械工程学院学报,2017,29(3):30-33

[10]余哲赋,周海刚,吴兆峰,等.基于无证书的卫星网络密钥管理方案[J].军事通信技术,2012(2):8-12,27

[11]张兵,秦志光,万国根.基于PKI和CPK的RFID系统混合密钥管理机制研究[J].电子科技大学学报,2015,44(3):415-421

[12]Akl S G,Taylor P D.Cryptographic solution to a problem of access control in a hierarchy[J].ACM Trans on Computer Systems,1983,1(3):239-248

[13]Zych A,Petkovi M,Jonker W.Efficient key management for cryptographically enforced access control[J].Computer Standards&Interfaces,2008,30(6):410-417

[14]Zhang J,Li J,Liu X.An efficient key management scheme for access control in a user hierarchy[C]//Proc of Int Conf on Information Technology and Computer Science.Piscataway,NJ:IEEE,2009:550-553

[15]Basu A,Sengupta I.Improved secure dynamic key management scheme with access control in user hierarchy[C]//Proc of Int Conf on Digital Information&Communication Technology&ITS Applications.Piscataway,NJ:IEEE,2012:220-225

[16]Wu S,Chen K.An efficient key-management scheme for hierarchical access control in e-medicine system[J].Journal of Medical Systems,2012,36(4):2325-2337

[17]Sun Xiaohan.A secure scheme of key management for database encryption[C]//Advances in Technology and Management.Berlin:Springer,2012:315-319.

[18]高宝阳,潘进,康连瑞.一种基于等级树模型的群组密钥管理方案[J].计算机与现代化,2014(8):34-37

[19]胡前伟,李子臣,闫玺玺.等级访问控制下密文数据库密钥管理方案研究[J].计算机科学与探索,2017,11(6):921-931

猜你喜欢
密级存储设备密钥
幻中邂逅之金色密钥
如何做好国有企业密级档案的管理工作
密码系统中密钥的状态与保护*
基于区块链技术的多密级数据安全存储系统设计
TPM 2.0密钥迁移协议研究
一种对称密钥的密钥管理方法及系统
浅析铁路视频监控存储设备设计
Windows环境下禁用USB存储设备程序设计与实现
密级“совершенно секретно”是“绝密”还是“机密”?
防止USB接口泄密