2024年4月28日发(作者:)
<< FECttNOLOGY 技术应用
◆徐玲
摘要:代理签名是指在代理签名方案中,原始签名人委托代理人施行签名权
利。代理签名生效后人们可以验证代理签名的真实性。然而在有些情况下,代理签
名人不希望自己的身份公布于众。指定验证人的代理签名方案可以解决上述问题。
因此,本文基于BLS短签名方案,建立指定验证人的代理签名方案,并利用双线性
Djflie—Hellman假设。按照随机oracle模型论证此模型的安全性。
关键词:代理签名;BLS, ̄签名;双线・I ̄kDifife-Hellman假设;随机oracle模型
多项式时间的算法来计算e(P,Q)。
一
、
刖吾
定义2.1 双线性Difife.Hellman(BDH)问题:给
1996年Mambo等【】 初次提出了代理签名的概念,解
决了数字签名的权利委托问题。代理数字签名方案中
定(P,xP,yP,zP),其中X,Y,z∈RZ ,来计算e(P,
P) ∈G2。
原始签名人将自己的签名权利委托给他人(代理签名
人)。然后代理签名人根据委托意愿,代表原始签名人
生成签名,此签名称为代理签名。
代理签名生效后,人们往往希望验证签名的真实
性。一方面,在有些情况下代理人不愿意把自己的代理
身份公布于众,则可以选择指定的签名验证人。另一方
面,为防止代理人对签名权利的滥川,可以指定一个验
,
定义2.2 双线性Diie.Helflman(BDH)假设:设
g2是一个BDH参数生成器,如果存在一个足够大的数k
和算法A,使利用g2攻击签名方案的时间难度函数大于
等于£ ):
削Vg. ̄I-∽
t',y v,zV) =
x
。
; n
则我们说g2满足BDH假设。当g2满足BDH假设时,
我们认为BDH问题由g产生的参数在G2中是难解的。
2.2安全框架概念
证人,代理人只能对发给该验i 人的信息行使代理签名
权利}2】。在既要需要保护代理人信息,又要保证代理数
字签名的合法性的情况下,可以选择指定验证人的代理
签名方案。
指定验证人的代理签名方案(DVPS)包括三类
人:原始签名人,代理签名人和指定的验证人。根
据标准的签名方案DS=(KeyGen,Sign,Verify1,我
本文提出了一个基于BLS签名口】的指定验证人的短代
理签名方案。并依据双线性Difife.HellmaJ1假设理论[4j,利
用随机oracle ̄型对提出的方案进行了安全眭证明阁。
们定义指定验证人的代理签名方案DVPs=(KeyGen,
Design PKExtract,DPSign,..DPVerify,Transcript
二、预备知识
2.1相关概念和假设条件
Simulation,IDDVPS),扩展成具有7个多项式算法参
数,它们的定义如下:
KeyGen:是一个随机密钥生成算法参数。输入形
设G ,G 是素数阶的加法群和乘法群,且它们均 式为1k,其中k是一个安全系数,k∈z;输出一个公钥
或私钥密钥对(PK,SK1。
属于大素数群q。假设G ,G 中的离散对数问题是难解
的。设双线性映射e为:G,×G 一G ,e满足如下条件:
(1)双线性。e(aP,bQ)=e(P,Q)”,其中所有P,
Q∈G ,且所有a,b∈z;
(2)非退化性。3P∈G1,且e(P,P)≠1;
Design:是一个对应代理验证的算法参数。它是一
个交互的验证算法。输入方有两项内容:原始签名人和
代理签名人公钥参数(PK ,PKj),和委托关系内容(包
括如委托期限,权限等信息);输出的是一个授权证书
参数W (表示用PK 来验EPKj)。如果一条消息内容
(3)可计算性。对YP,Q∈G。,都存在一个有效的
78 信息系统工程I 2011.7.20
至星 Q 蕉 廛 >>
与授权证书参数不一致,则这条消息与授权证书相违。 需要得到一个被验证了的代理签名密钥PK,才能得到
PKExtract:是一个代理密钥生成算法参数 算
法的输入部分包括两项内容:由原始签名人私钥Ski
wi。每次试探行为都需要被询问代理签名密钥 在
授权证书(w ) 中原始签名人最多有qE个,A需要为
PK获取代理签名密钥,则需要通过自适应程序从qE个
可能中选出正确的那个原始签名人。
D P S i g n Q U e r Y:每次试探过程需要以
生成的签名信息 扣Sign(SKi, )和代埋签名者
得私钥SKi;算法得到(输出)一个代理签名密钥
奄t PKExtract(ai sK wi,j)
DPSign:是一个指定验证人代理签名算法。算法
6f÷-DPSign(a&,SK ̄;PK# mi,wO回复DPVS的询问。而m
输人部分包括四项内容:代理签名者的代理签名密钥
( ̄PPKExtract的输出项)和私钥S ,指定验证人的公
钥PK。,和一条信息m∈{0,1} ;输出一个指定验证人
的代理签名6 DPSign(cp % |P如,m)。
DPVerify:是一个验证算法。输入原始签名人和
代理签名人的公钥,指定验证人的私钥sKD,一条信息
m∈{0,1} 和一个指定签名人的代理签名s和wl ;输出
有两种可能:如果签名有效,输出T,反之输出F。例
如,fr F) DPVerify(S ̄o pKf PKj ∥m 。
Transcript Simulation:通过此算法参数,一个指定
验证人总是可利用他的私钥SKD生成一个相等的分布式
副本,此副本与原件难于区分。
IDDPS:是一个代理身份算法参数。输入授权证书
参数 √和一个指定签名人的代理签名6,可以输出委托
协议中一系列的身份参数,如公钥等。
我们模拟一种受攻击的情况:攻击者欲获取代理签
名人的公钥PK和指定验证人的公钥PK。。攻击者的目标
是仿造一个DVPS,以期获取原始签名人验证过的公钥
PK和相关的指定验证人的公钥PK。。我们假设攻击者有
机会索取代理签名人的代理签名密钥,此时有可能这个
密钥是通过了原始签名人验证的。我们继续假设攻击者
可以得到一个DPSign算法参数,利用其试图推测代理签
名人的所有委托协议和公钥PKD的信息。
下面我们证明DPVS方案对于一个自适应性信
息筛选攻击的抵御能力。一个攻击者的成功可能性
AdvDVPS,A取决于下述规则下攻击者A从一次试探行
为C成功获得信息的概率:
KeyGen:一次试探行为可通过KeyGen算法参数生
成一个公钥对或私钥对(PK,SK)。攻击者从中可获取
PK和PKD。
PKExtract Query:生成PK需要被询问代理签名密
钥 ‘。一个授权证书wi是通过运行Design算法得到的,
其中wi描述了委托关系, ̄I]PK;由PK来验证。攻击者A
最多有q 种可能:ml,… m ∈{O 1) ,因此A需要最多
q。次才能输入正确的回复以获取代理签名 一
DPVcrify Query:在DPVcrify中,每次试探需要答对
签名的真伪性询问,如果签名是真的,则需要回答T,否
则回答F,如: ,F】÷-DPVerify(SK ̄ PKfjP w ̄j,m,6)。这
样A才能获取一个DPVS的参数6以通过验证。
定义2-3 一次攻击A(tJ牮 鼋 鼋 £)如果能
够攻破一个DVPS方案,需要满足攻击时间在t以内,
在q 种可能答案中通过PKExtract的询问,在q 种可
能中答案通过DPSign的询问,在q、,种可能答案中通
过DPSign的询问,在q 种可能答案中通过哈希函数
的询问,并最后使AdvDv,,s, ̄大于等于£。如果不能
形成一个攻击 Advow,s
,
4 q 鼋s 铷 鼋嚣 £)突破
DVPS方案的防御,则称这个DVPS方案是不能利用
Ad 蠡(t,鼋露 鼋 鼋矿,鼋嚣 s)1为造的。
三、一个指定验证人的短代理签名方
案(SDVPS)
3.1 SDVPS方案详述
在建立一个SDVPS之前,我们先介绍一下BLS短签
名方案 J。
3.1.1BLS短签名方案:
KeyGen:随机选取一个X,使x 最z;,计算 。
生成的公钥对或私钥对为(PK,sK)=( ,X)。
s i g 11:给定一条消息m∈{0,1} ,计算
o H(瑚 毫Gl,作为消息m的一个签名。
Vfy:给一条消息m,和一个密钥PK下对m的签名
,
验证等式e :=:e(H(m PK)是否成立。成
立,则接收签名,否则拒绝接收。
本文以BLS短签名方案为基础,建立一个指定验证
人的短代理签名方案(SDVPS)。
3.1.2 SDVPS: .
设k为安全系数,且kEZ。算法如下:
信息系统工程f 2011.7.20 79
TECHNOLOGY 技术应用
以k为输入,运行参数生成器g,生成一个素数q,
G 和G:两个属于素数群q的群,一个属于G 的生成器P,
和一个双线性映射e:G1 X G】一G2。
答案中通过PKExtract的询问,在q 种可能答案中通过
DPSign的询问,在q、,种可能答案中通过DPSign的询
问,在qll 、q嚣:和qH;种可能答案中分别通过哈希函数
Setup:选择密码学哈希函数Hl,H2,H3:{0,
l} 一GI。安全分析会将Hl,H2和H3视为随机oracle模
型。系统参数定义为:Para=《q , p i 丑2,珂;)。
H ,H 和H 的询问。假设C 是在群G,中计算标量乘法
的所需的时间,C:是在G 中计算配对运算和标量乘法
所需的时间,则攻击者A成功突破SDVPS方案防御的
时间是:A本身反应时间t,加上通过哈希函数询问所
KeyGen:随机选取一个生成器x{,使x{.一z《,计算
x ̄PEG。。生成的公钥对或私钥对为O ,SI(i P, 。
PKExtract:对于指定的原始签名人和代理签名
人,算法如下:
a)原始签名人拥有公钥PK;,得到一个授权证
书,上面清晰记述PK 的委托关系信息。如:通过运行
Design ̄法可以验证P 是由P 验证的。
b)拥有Wi.i的原始签名人计算 = fHt( ),
并把(w )发送给拥有公钥P 的代理签名人。
c)拥有公钥P K 的代理签名人验证等式
e( ,P)=e(Hl( j上PKf)的成立与否。如果成立,代理
人计算 i i +xjH2 ),并保留其作为一个代理
签名密钥。
DPSign:输入一个代理签名密钥 一个私钥
S ,一个指定验证人的公钥PK。和一条消息m∈{O,
1} ,计算H3(M)∈G】和6=e(a lj+ H;(哟 PK口)芒G2.。
5作为消 gm的指定验证人的代理签名。
D P V e r i fY:输入一个与P K D一致的私
钥x。和一个(wf ,m)的D V P S签名6,计算
HI
,
j),H2( j)和H;( )毫Gl。验证等式
6=e(x ̄Hl )。PK0・e(x口【H2 )+H;(rd)】.PKj)。
如果等式成立,接收签名。
T r a n s c r i P t S i m 11 l a t i O n:通过计算
6=e(xDH: ),PKf)・e(xa[H2 )+H;( 】,PKj),
指定的验证人可以生成一个(wl ,m)的DVPS签名6。
注意上面生成的签名与代理签名人生成的DVPS签
名是难于区分的。
此方案需要用于签名的一个标量乘法和一个的计算
配对,和用于验证的两个标量乘法和两个的计算配对。
3.2安全性论证
根据2.2的安全框架概念知识,可以推测一个对
SDVPS方案攻击的成功的几率。攻击者的多项式时
间算法输入值为Para=《q 6§,6^,e,P ttv魄 /-/;),
其中q 2 。A需要满足攻击时间t以内,在q 种可能
8O 信息系统工程l 201 1.7.20
需时间(qa,+q拜2+qa;+q嚣+ + ),分别通过
PKExtract询问,DPSign询问和DPVerify询问所需时间
,
和 ,以及攻击者A伪装成BDH方法所需时
间,即:
Adva,A(t)=t+c:(q韩 +qa:+q +2q#+3q +3‘b+3)+c2(q +q:+1)
上式即在随机oracle模型下基于BDH假设所得的本
SDVPS方案被仿造的时间难度函数。可根据此sI)、,Ps方案
模型设定三个哈希函数( I , ;)和PKExlract、DPSign
和DPSign的询问的复杂度,创建安全的SDVPS ̄型。
四、总结
信息时代人们越来越重视对个人信息的保密,而现
有代理签名方案存在泄漏代理签名人的风险;另外,为防
止代理签名人对签名权的滥用或原始签名人和代理人相互
抵赖的现象的发生,本文借鉴BLS签名方案的思想,建立
指定验证人的短代理签名方案(SDVPS),并基于双线性
-Hc】lm锄假设理论,按照随机on e模型计算此方案的
仿造时间难度系数 证明此方案是安全可行的。 明
参考文献
【1】Mambo M,Usuda K,Okamoto E.Proxy signatures:
delegation of the power to sign messages[J】.IEICE Trans Fund
1996;E79一A(9):1338—54.
【2】刘云芳,李海芸,左为平.保护代理签名人隐私的指定验证人代
理签名方案Ⅱ].吉林师范大学学报(自然科学版),2008,3(8):147—149.
【3]Boneh D,Lynn B,Shaeham H.Short,signatures from the Weil
Pairing[C】//Boyd C.LNCS 2248:Advances in Cryptology—ASIACR.YPT
2001,7th International Conference on the Theory and Application of
Cryptology and Information Security,Gold Coast,Australia,December
9—13,2001.Berlin:Springer—Verlag,2001,2248:514—532.
【4】扬浩森.手】’世新。李洪伟.双线性Di伍e2HellInan问题研究U】_四川
大学学报(工程科学J殴),2006,38(2):137—140.
【5】王龙斌,廉玉忠.数字签名的安全性分析U】.信息工程大学学
报,2003,4(1):90—92.
【作者单位:中山职业技术学院计算机工程系)
发布评论