摘 要:目前存在的层次访问控制方案需要维护安全信道、借助可信第三方来实现密钥管理,用户的保密信息完全暴露在第三方面前,从而存在“单点失效”安全性问题。本文基于椭圆曲线双线性对性质和门限秘密共享机制,提出了一种基于身份和门限的层次访问控制方案。分析表明,该方案比现有方案更安全、高效、灵活。
关键词:密钥管理;双线性对; 秘密共享
1.引 言
当今时代,人类对计算机资源的共享需求日益扩大。现实应用中,系统组员往往是按等级组织的,这种等级系统广泛应用于企业、政府机关和军队部门,t为方案的门限值或阈值。
该方案将安全权限分布于服务节点中,具有很好的鲁棒性,适用于无中心节点的网络中。
3.基于身份和门限的层次访问控制方案
本方案采用基于身份的密码体制和(t,n)门限秘密共享密码技术相结合的密码算法。在该方案中,每一个安全类的身份公钥由其ID唯一确定,保密信息的传送不需要安全信道,借助部分可信中心(Semi-Trusted Center)并结合(t,n)门限秘密共享方案,克服了“单点失效”难题,同时允许安全类自主选择秘密密钥。
3.1系统初始化
设q为一个大素数。G1和G2分别是q阶的加法循环群和乘法循环群,P是G1的生成元, 为G1映射到G2的双线性映射,是一个将任意长度字符串映射到G1上点的H哈希函数,公开信息。
假设有m个安全类,每一个安全类对应唯一身份标识,身份公钥由唯一确定。是n个部分可信中心,每一个部分可信中心(k=1,…,n)生成保密随机数,计算并公开公钥。
3.2密钥生成
(1)安全类(h=1,…,m)生成自己的秘密密钥,将其分成n份:,计算并公开公钥(k=1,…,n),计算加密密钥,最后通过公开信道向传送密文。
(2)接收密文后做如下处理:
a)计算解密密钥,用解密密文得到秘密共享份额:。
b) 为安全类计算公开多项式: (1)
3.3密钥推导
假设存在偏序关系,安全类中的组员要访问安全类中组员的保密信息,需要获得的秘密密钥,操作如下:
(1)获取公开多项式( k=1,…,n)。
(2) 计算密钥,将其代入公式(1)获得秘密共享份额:
(3)依据(t,n)门限秘密共享方案,由个秘密共享份额便可以获得秘密密钥。
4.动态密钥管理
4.1增加安全类
当新安全类要求加入等级系统时,操作如下:
(1)更新安全类偏序关系。
(2)计算并公开身份公钥,生成自己的秘密密钥,将其分成n份:,计算并公开公钥(k=1,…,n),计算加密密钥,通过公开信道向传送密文。
(3) 接收密文后,操作如下:
a)计算解密密钥,用解密密文得到秘密共享
份额:。
b)找出安全类的所有前趋,计算并公开多项式:
(2)
c)更新安全类的所有后继的公开多项式:
(3)
公式中,是新增加的的前趋(含)。
4.2删除安全类
当安全类离开等级系统时,应保证其所有后继的前向安全. Journal of Systems and Software, 2010, 83(10): 1917 – 1929.
作者简介:周晓旭(1987—),女,硕士研究生,研究方向:数据库与信息系统;郑玲(1962-),女,北京人,副教授,主要研究方向:数据库及数据仓库。