Page 335 - 《软件学报》2026年第6期
P. 335

2654                                                       软件学报  2026  年第  37  卷第  6  期



                 给  A 并在  H list   中添加六元组  (ID j , M j ,i j ,w 1,j ,w 2,j ,z j ).
                          3
                                                                                      ,
                                                                                      ∗
                                                                  ∗
                                            j
                    (4) 固定私钥询问: 记    ID j  为第   个被询问的新身份, 若    j = j , 则   B  停止模拟. 若   j , j B  询问  H 1  预言机得到
                               a
                 x j , 返回  SK ID = P 1 Q ID +a   作为  ID j  的固定签名私钥.
                                                                                            ,
                                                j
                                                                        ∗
                                                                                           ∗
                    (5) 临时私钥询问: 记    (ID j ,i j ) 为第   个被询问的新二元组, 若   j = j , 则  B  停止模拟. 若   j , j B  询问  H 1  预言
                                                          a
                                                         x j +a
                 机得到   x j , 进而得到  ID j  的固定签名私钥      = P  . 进一步地, 运行临时私钥生成算法得到临时私钥                    并
                                                         1                                        TSK i j
                                                 SK ID,i j
                 返回给  A.
                                               j
                                                                            ∗
                    (6) 签名询问: 记   (ID j , M j ,i j ) 为第   个被询问的新三元消息组, 如果   j , j , 那么  B  可以获得对应的固定/临时
                                                                             $
                                                                                    $
                                                                 $
                                                                       $
                                                                                              ρ
                                                                                                     ρ
                                                ∗              h←Z p , ρ←Z p , V i ←G 1 , S i ←G 1 , S ID,i = P , C i = B , 计
                 签名私钥, 进而生成有效签名. 如果          j = j , 那么  B  随机选取
                                                                                              1
                                                        h
                                                                                                     h
                 算群   G T  中的元素  w 1 = e(S i ,P Q ID  · P Pub )·e(S ID,i j  ,P Pub ) . 计算群  G T  中的元素  w 2 = e(V i ,P t ID j ,i j  ·ψ(S ID,i j  ))·e(S ID,i j ,P 2 ) . 最
                                       2                                          2
                 后定义   H 3 (ID j ||M j ||i j ||w 1 ||w 2 ) = h. 输出签名   σ = (S ID,i j  ,C i j  ,S i j ,h,V i j ).
                                                                                   ∗
                                              ∗
                                                                       ∗
                                                                          ∗
                                                             ∗
                                                                     ∗
                                                                            ∗
                                                 ∗
                                                      ∗
                                                    ∗
                                                                                                   ∗
                                                                                                    ,
                    ● 伪造阶段:    A 输出伪造签名     (σ , M ,ID ,i ), 其中  σ = (S  ∗  ,C ,h ,S ,V ), 令  ID  的下标为   j. 若  j , j B  停
                                                                 ID,i  i  i  i
                                                                    ∗
                                      ∗                         ∗  ,C ,h ,S ,V ), 可以认为是一个   次信息传递的零
                                                                        ∗
                                                                      ∗
                                                                           ∗
                 止模拟并输出失败. 若       j = j , 根据分叉引理, 考虑到签名为     (S  ID,i  i  i  i           3
                                                               10(q s +1)(q s +q h )
                                                       t
                 知识证明协议. 若存在一个攻击算法            A 能在时间   内以   ϵ >              的概率成功伪造签名        (S ID,i ,h,S i ,V i ),
                                                                     2 λ
                                                                          ′
                                 ′                                        t < 120686q h t/ϵ  内输出两个有效的签名
                 则存在一个图灵机       A  通过  A 的帮助, 以相同的输入      (pp, M,ID,i) 在时间
                                                                                   ′
                                                                                                  ∗
                                                                                                       ∗
                                                                                                     ∗
                 (S ID,i ,C i ,h 1 ,S i,1 ,V i,1 ) 和   (S ID,i ,C i ,h 2 ,S i,2 ,V i,2 ), 其中  h 1 , h 2 ,S 1 , S 2 . 据此,   B  运行图灵机  A , 获得两个关于  (M ,ID ,i )
                                                      ∗
                                                                             ∗
                                  ∗
                                    ∗
                                                         ∗
                                                   ∗
                                ∗
                                                 ∗
                                       ∗
                 的有效签名    (S  ∗  ,C ,h ,S ,V ) 和  (S  ∗  ,C ,h ,S ,V ), 且满足验证等式  e(P 1 ,C ) = e(S  ∗  ,B) 和
                            ID,i  i  1  i,1  i,1  ID,i  i  2  i,2  i,2       i     ID,i

                                        H 1 (ID ∗ )      h ∗     H 1 (ID ∗ )      h ∗
                                   e(S ,P   P Pub )·e(S  ∗  ,P Pub ) 1 = e(S ,P  P Pub )·e(S  ∗  ,P Pub ) 2
                                       ∗
                                                                ∗
                                  
                                      1  2         ID,i        2  2         ID,i     .
                                        H 2 (ID ∗ ||i ∗ )         H 2 (ID ∗ ||i ∗ )
                                      ∗        ∗     ∗   h ∗   ∗        ∗     ∗    h ∗
                                    e(V ,P   S  )·e(S  ,P 2 ) 1 = e(V ,P  S  )·e(S  ,P 2 ) 2
                                       1  2     ID,i  ID,i      2  2     ID,i  ID,i
                    根据   KEA  假设, 对于满足    e(P 1 ,C ) = e(S  ∗  ,B)  的三元组  (C ,S  ∗  ,B), 存在一个提取器  , 能够提取   使得
                                                                                                  ρ
                                                                                                   ∗
                                                                   ∗
                                               ∗
                                                                                        E
                                               i    ID,i           i  ID,i
                       ρ ∗                                           −1        ρ ∗
                                                               ∗ a −1 (h ∗ −h ∗ )
                                                           ∗
                 S  ∗ ID,i  = P , 结合之前提到的两个验证等式可以得到     e((S −S )  2  1 ,P x ∗ +a ) = e(P ,P 2 ).
                                                                        2
                       1
                                                                               1
                                                               2
                                                           1
                                                                              k−1
                                                           a
                               ∗ (h ∗ −h ∗ ) ρ ∗ −1
                                                                                  i
                            ∗
                                                       ∗
                        ∗
                    令  Y = (S −S )  2  1  −1  , 那么根据等式有  Y = P  x ∗ +a  . 又有   z f(z)  =  γ  +  ∑ γ i z , P 1 = P f(a)  , 其中   γ  和  γ i  是可
                            1  2                          1       z+ x ∗  z+ x ∗
                                                                              i=0
                                                                       
                                                               k−1
                                                               ∑    (  )    1
                                                          1         i  
                                                                                           ∗
                                                                                         ∗
                                                                        
                                                             ∗
                                                       ∗
                 以计算的系数并且       γ 不为  0. 那么我们可以得到     X =   Y −  γ i ψ a Q  =  P. 二元组  (x ,X ) 即为  q-SDH  问
                                                           
                                                                        
                                                          γ              a+ x ∗
                                                               i=0
                 题的解.
                                                                                      1
                                                     ∗                                         B  成功模拟
                    综上所述, 如果    A 在伪造阶段输出针对        ID = ID i ∗  的伪造签名, 这件事发生的概率为        , 相应地,
                                                                                      q H 1
                         1                                                      ϵ
                                                     ϵ
                 的概率为      . 因此, 若   A 能以不可忽略的概率   成功伪造有效签名, 那么          B 能以     的概率成功求解      q-SDH  问题.
                        q H 1                                                  q H 1
                  6   性能分析与实验
                  6.1   安全性比较
                    如表  2  所示, 本文提出的方案在      SM9  身份基签名的基础上增加了密钥隔离机制, 进而确保了签名系统的前向
                 安全性、后向安全性. 相对的, 代价是在系统模型中引入了一个物理安全设备, 略微增大了系统运行的负担.

                                                    表 2 算法安全性比较

                                方案             不可伪造性             前向安全性             后向安全性
                                SM9                √                ×                 ×
                               本文工作                √                √                 √

                  6.2   性能理论分析
                    表  3  提供了本方案的运算成本以及和原           SM9  标识签名的比较. 与     SM9  相比, 本文提出的方案的计算时间和
                 通信开销均有所上升, 但是增加的开销在接受范围内.
   330   331   332   333   334   335   336   337   338   339   340