第九章 基于身份的公钥体制
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
问题
一种是使用证书的公钥基础设施(PKI,Public Key Infrastructure) 另一种是基于身份的公钥密码学(Identity-based Public-key Cryptography)
两种体制的相同点
不管是基于PKI还是基于身份的密码,都是公钥
算法,都能够完成签名、密钥分配、加密等功
意义
在一个逻辑步骤内能够同时验证两件事是基于
ID签名方案所提供的一个很好的特征
能够避免从签名者到验证者的证书传递,节约 通信带宽 这种特性给基于ID的密码体制带来另一个名字 :非交互式的公钥密码体制(Non-interactive
Public Key Cryptography)
非交互式的公钥密码体制在基于ID的加密系统
系统参数建立
用户密钥生成
签名与验证
说明
Boneh和Franklin的基于ID的密码体制
在Boneh和Franklin的基于ID的密码体制中由
四个算法组成:
系统参数的建立 Trent运行该算法来生成系统的全 局参数和主密钥; 用户密钥的生成 Trent 运行该算法:输入主密钥和 一个任意的比特串Id{0,1}*,该算法输出相应于Id 的私钥 加密 这是个概率算法,用公钥id来加密消息; 解密 把密文和私钥输入该算法,最后,返回相应的
公钥与拥有者的关联
由于每一个公钥都包含着一段看似随机的成分,显然有必要 让主体(用户)的公钥以一种可验证的和可信的方式与主体 (用户)的身份信息相关 很显然,为了传递一条用公钥加密的秘密消息,发送者必须 确信这个看似随机的公钥的确属于所声称的签名人 通常,在实际应用中为了应用公钥密码系统,我们需要一个 能够简单验证公钥与主体身份相关的验证机制 这样的机制可以在认证框架中实现:公钥的拥有者可以向系 统认证 在上式中的一般公钥密码学意义下的密钥生成过程导致了所 有公钥的随机化 在认证过程中,把一个主体的公钥与他的身份消息结合起来 是十分必要的
Shamir的基于ID的签名方案
在Shamir的基于身份的签名方案中有4个算法:
建立:这个算法由Trent运行来生成系统参数和主密钥 ,Trent为可信中心。
用户密钥的生成:这个算法也由Trent执行,输入主密
钥和一条任意的比特串id{0,1}*,输出与id对应的私 钥
签名:一个签名算法;输入一条消息和签名者的私钥 ,输出一个签名。 验证:一个签名的验证算法;输入一个消息-签名对和 id,输出True或False。
中有非常重要的意义
两个挑战
基于ID密码中用户的密钥生成过程如下 private-key = F(master-key, public-key) 挑战一 在这个用户私钥的提取方法中,用户提交他所选择的
பைடு நூலகம்
公钥
这是个威胁的模型,用户可能就是潜在的恶意者,然 而可信中心Trent必须无条件地计算并把私钥 private-key返回给用户 挑战二 设计基于ID的具有非交互身份吊销特点的密码系统 如果用户的私钥被泄露,有必要撤消他的身份
ID-based 特殊用法
混合模式
A
IDa, Na, P_DATA_A IDa, IDb, Na, Nb IDa, IDb, R_IDa, R_IDb, IDa, IDb, R_IDa, R_IDb, Na, Nb, SigID/SigPKI Na, Nb, SigID/SigPKI, Nb, P_DATA_B Other protocol messages
身份一般是唯一的、不能随便变动,对于身份更新,我
们可以采用用户身份信息 + 一个随时间更新的公开的 、确定的信息作为用户公钥
对于密钥更新问题,在公钥不变的情况下,每个用户需 要和可信中心交互进行私钥更新 如果是大规模应用,这些都会带来不便 但是,在小规模、临时性、应急任务中,这些问题都被 弱化了,不会影响系统的应用
B
S
第九章主要内容
基本概念
基本原理
常用算法
公钥的特点
就通常的公钥密码而言,密钥的生成过程始终
包含如下步骤:
public-key= F(private-key) 其中F是一个从私钥空间映射到公钥空间的有效 的单向函数 由于函数F的单向性(一个好的混合变换),由 私钥计算所得的公钥总包含一段看似随机的成 分
验证Alice的签名,同时他也应该验证Alice公钥的真 实性
而在基于ID的签名方案中,意识到Bob不需要执行一
个密钥信道的建立的认证,这点是十分重要的
当Bob验证签名为True时,同时表明以下两个问题 Alice用基于她的ID的私钥生成签名 Alice的ID已经被可信中心认证,她的ID证书使得 Alice可以生成签名
明文。
系统参数建立
用户私钥生成
加密
解密
说明
讨论
Trent权力是否过大?存在什么问题? 解决思路——多Trent方案,对单Trent方案进行扩 展。进一步讨论如下: 计算量 Trent勾结
总结
通常,在实际应用中为了应用公钥密码系统,我们需 要一个能够简单验证公钥与主体身份相关的验证机制 即要求公钥的拥有者可以向系统证实该公钥就是他自 己的公钥 目前,我们可以使用两种不同的方法来实现公钥证实
基于身份体制的引入
可以通过一个公钥认证框架来实现,如用树状层次公钥 证书基础设施(如X.509公钥证书框架,见第8章)来 实现 然而,为了建立和维护这种树状层次结构,PKI导致系
统异常复杂度和成本过高
人们一直希望标准的公钥认证框架能够简化 有理由认为,如果公钥看起来不随机,那么这个系统的
能 在实施中都需要一个可信中心支持
ID-based 优点
系统存储负担小 :无需数字证书支持 系统实现代价小 :节省了建立和管理公钥基础设施PKI 的代价 系统通信量较小 :不存在证书传输和公钥验证问题,协
议相对简单
能够避免证书盗用问题 :冒用别人身份ID是没有意义 的,协议一开始就能够被对方识别出来
在大规模应用中,基于PKI的密码系统能够很好地实现 密钥管理、证书更新、密钥更新等问题,但其实现代价 较大和开发周期较长,使之对于一些小规模应用、应急 任务等应用场合是不适合的。基于ID的密码系统却非常 适合小规模应用、应急任务等应用场合
ID-based 缺点
比起PKI技术,基于ID的密码系统也存在固有的缺点, 就是身份更新和密钥更新问题
复杂度和建立与维护该公钥认证框架的代价就会减小
可以想象,如果一个主体的公钥本身就显然地与该主体 的身份信息,如:名字,电子邮件和邮政地址等附属信 息相联系,那么,在本质上就不需要认证该主体的公钥 例如:我们的邮政系统就是按这种方式工作的
基于ID的密码功能
在通常意义下的公钥密码中,Bob运用Alice的公钥来