·
60
· 通信学报 第33 卷
mpk,用户身份 ID,用户私钥
D
k
,用户部分密钥
D
psk
和消息 m 作为输入值,算法生成用户对消息
m 的签名
。
Blind(
,
A
m
):输入 m 及 Alice 对 m 的签名
(, , )
AAAmA
VR R
,
Bob 输出盲化的签名
(,
AA
V
,)
AmA
RR
。
BlindReSign(
,
AB A
rk
) :输入重签名密钥
AB
rk
以及盲化后 Alice 的签名
(, , )
AAAmA
VR R
,
首先验证盲化的签名是否有效,如果有效,代理者
Peter 输出盲代理重签名
(, , )
BBmB
VR R
,否则
停止。
Unblind(
):输入盲代理重签名
(,
B
V
,)
mB
RR
,
Bob 验证该代理重签名的有效性,如
果有效,则输出脱盲后的签名
(, , )
BmB
VR R
B
=
。
Verify( 消息 m,Bob 的公钥
pk
,转换签名
()
B
m
):确定性算法验证签名
是否为消息 m 的
有效签名。如果签名
有效,输出 l;否则输出 0。
3.2 形式化安全模型
无证书盲代理重签名和之前定义的无证书代
理重签名形式化安全模型一样,也分为
2 种类型攻
击。
Type I
:攻击者
I
A
通过不诚实的用户具有获得
用户私钥
D
k
或者替换用户公钥
D
pk
的能力,但是
即无法获得
KGC 的主密钥
msk
。具有询问,某用
户
ID 的部分密钥
D
psk
、私钥
D
k
和公钥
D
pk
的预
言服务。
Type II
:攻击者
II
A
拥有 KGC 的
msk
,同 时 可
以合法生成所有用户的部分密钥
D
psk
,私钥
D
k
和公钥
D
pk
,但是不能替换用户的公钥
D
psk
。具
有询问,某用户
ID 的密钥
D
k
和公钥
D
pk
的预言
服务。
本文定义在静态攻陷模式下,挑战者
C 和攻击
者
A2个游戏,一个游戏针对攻击者
I
A
而另一个游
戏针对攻击者
II
A
。
游戏
I:在
Type I
攻击类型下挑战者
C
与攻击
者
I
A
,定义如下游戏基于无证书公钥体制的代理重
签名
clprs
S 的安全。
初始化:挑战者
C 运行 Setup 算法并且取得
KGC 公私钥对
(,)mpk msk
。攻击者
I
A
取得
mpk
。
查询:挑战者
C 可以通过以下预言机来回答攻
击者
I
A
适应性的询问。
Partial-Secret-Key-Extract 预言机:通过给挑战
者
C 输入用户身份 ID,攻击者
I
A
取得部分私钥
D
psk
,
Public-Key-Broadcast 预言机:通过给挑战者 C
输入用户身份 ID,挑战者 C 运行 User-Key-Gen
eration
算法,攻击者
I
A
取得用户公钥
D
pk
。
Secret-Key-Extract 预言机:通过给挑战者 C 输
入用户身份
ID,挑战者 C 运行 User-Key-Generation
算法,攻击者
I
A
取得用户私钥
D
k
。
Replace-Public-Key 预言机:通过给挑战者 C
输入用户身份 ID 新的
(,)pk sk
,攻击者
I
A
可以获
得挑战者
C 使用新的公私钥对
(,)pk sk
来替换用户
身份
ID 之前的公私钥。
ReKey 预言机:通过给挑战者 C 输入
(,)
AB
DID
,攻击者
I
A
取得代理重签名
AB
rk
。前
提条件,
(,)
AB
DID
要么同时没有被攻陷或者都被
攻陷了。
Sign 预言机:通过给挑战者 C 输入
(, ,mmpk
,,)
DID
Dpsk sk
,攻击者
I
A
可以取得相应于
I
A
的签
名
。
BlindReSign 预言机:通过给挑战者 C 输入
(,,,)
AB
ID ID m
,攻击者
I
A
可以取得重签名
。
伪造:攻击者
I
A
输出
*
**
(,,)
ID
pk m
。如果满足
以下的条件,可以认为攻击者
I
A
赢得了这次游戏。
1) 攻击者
I
A
从未向 Partial-Secret-Key-Extract
预言机询问过
*
D
。
2) 攻击者
I
A
从未向 Sign 预言机询问过
**
(,)
Dm
。
3)
*
** *
Verify( , , , , ) 1
ID
mmpkIDpk
。
4)
**
(, , ,)ID m
从未做过 BlindReSign 预言机
的输入,其中
表示任何一个用户身份,而
则表
示任何一个签名。
定义
()
I
cma
A
Succ k
为攻击者
I
A
赢得游戏 I 的概率。
游戏
II:在
Type II
攻击类型下挑战者
C
与攻击
者
I
,定义如下游戏,基于无证书公钥体制的代理
重签名
clprs
S
的安全。
初始化:挑战者
C 通过安全参数
k
运行 Setup
算法。攻击者
II
A
取得
()mpk MPK k
。其中
()
PK k
是所有可能通过 Setup 算法产生的主公钥。
查询:挑战者
C 可以通过以下预言机来回答攻
击者
II
A
适应性的询问。
Public-Key-Broadcast 预言机:通过给挑战者 C
输入用户身份 ID ,挑战者 C 运行 User-Key-