以下首先给出数字签名及基于身份的数字签名的形式化定义及安全模型.
定义3.1 数字签名:一个数字签名方案由以下三个多项式时间算法构成:
密钥生成(KeyGen).算法输出验证密钥vk 和签名密钥sk.
签名算法(Sign).给定sk 以及一个消息μ,输出一个签名σ.
验证算法(Vrf).给定验证密钥vk,消息μ 以及消息的签名σ,若该消息的签名合法则接受签名,否则拒绝签名.
数字签名在标准模型下的存在性不可伪造性可以由以下挑战者与敌手间的交互式游戏来定义,在此过程中,敌手被允许进行签名询问:
建立: 挑战者运行KeyGen算法生成vk 和sk,并将vk 发送给敌手.
签名询问: 敌手适应性的选择消息,并对该消息进行签名询问.而敌手则运行签名算法生成该消息的签名并将该签名返回给敌手.
在游戏结束时敌手输出一个消息及其签名对(μ*,σ*),如果(μ*)从未在签名询问阶段执行签名询问,且该消息签名对可以通过验证算法则宣布敌手获胜.
敌手在以上游戏中的优势定义为敌手获胜的概率.
定义3.2 称一个签名方案在适应性选择消息攻击下是存在性不可伪造的,如果对任意多项式时间敌手赢得上述游戏的优势是可忽略的.
如果要求敌手应该在挑战者输出签名方案的验证密钥和签名密钥前输出将要执行签名询问的消息集合,其他过程不变,则对应的敌手为一个静态敌手.相应的我们有签名方案在静态选择消息攻击下的存在性不可伪造的定义.
定义3.3 一个基于身份的签名方案(IBS)由以下4个算法构成:
系统建立.密钥生成中心(PKG)运行该算法生成方案的安全参数以及PKG的族公钥和族密钥.
密钥提取.给定身份信息ID,族密钥和族公钥,该算法生成身份ID 对应的密钥skID.PKG 将这些密钥由一个安全信道发送给各个用户.
签名.给定消息μ,身份ID ,签名密钥skID 以及族公钥,该算法生成身份ID 对消息μ 的签名σ.(www.daowen.com)
验证.给定一个消息及其签名(μ,σ)以及身份ID 和族公钥,假如签名是合法的则该算法输出“1”,若不然输出“0”.IBS方案在适用性选择消息和身份攻击下的不可伪造性可以借助以下挑战者C 和敌手A间的游戏来定义:
系统建立.挑战者运行系统建立算法得到族公钥和族密钥并将族公钥发送给敌手.而族密钥则由挑战者持有.
询问.敌手可以向挑战者适应性的进行以下询问:
—密钥提取询问.敌手A 可以对任何身份ID 进行密钥提取询问.挑战者C 运行密钥提取算法生成身份对应的密钥,并将密钥发送给敌手.
—签名询问.敌手可以适应性选择消息以及身份ID,并从挑战者处获得该身份对消息μi 的签名σi .挑战者首先运行密钥提取算法获得身份ID 对应的签名密钥,然后运行Sign算法获得该消息的签名,从而完成签名询问的回答.
伪造.敌手A 完成所有询问后输出消息μ* 、身份ID*的伪造签名σ*.
敌手A 赢得以上的游戏,假如:
1.伪造签名σ*能够被Verify算法接受;
2.敌手从未对ID*进行过密钥提取询问;
3.对任意的i 有(μi,IDi)(μ*,ID*)成立.
敌手A 在上述游戏中的优势定义为敌手成功输出伪造的概率.
定义3.4 假如任意PPT敌手在上述游戏中的优势是可忽略的,则该IBS方案在适应性选择消息身份攻击下是不可伪造的.如果考虑静态选择消息和选择身份攻击下的不可伪造性,以上攻击游戏需做以下修改:
1.敌手在挑战者生成族公钥之前应该输出要挑战的身份;
2.敌手在挑战者生成族公钥之前应该输出将要进行签名询问的消息集合(该消息集合依然是可以随机选择的,不过必须在挑战者建立系统参数之前选定).
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。