第九章基于身份的公钥密码体制

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

21
Boneh-Franklin IBE Scheme

初始化(t)

M = {0,1}n C = G1* × {0,1}n
params = q, G1, G2, e, n, g, P, H1, H2 master-key = s



私钥生成(ID)

dID=s H1(ID)
22
Boneh-Franklin IBE Scheme
公钥密码学的简单模型
公钥密码学的历史


76年Diffie和Hellman在“密码学的新方向” 一文中提出了公钥密码的新概念,奠定了 公钥密码学的基础 公钥技术是二十世纪最伟大的思想之一

改变了密钥分发的方式 可以广泛用于数字签名和身份认证服务

78年,RSA算法
公钥认证方法

1976年,Diffie和Hellman提出了公钥密码体制,解决了单 钥密码体制中最难解决的两个问题:密钥分配和数字签名。 在公钥密码体制中,每个用户拥有两个密钥:私钥和公钥, 其中只有私钥由用户秘密保存,公钥可以由一个证书权威 (certificate authority, CA)保存在一个公钥目录中。然而, 公钥密码体制易受到“公钥替换”攻击,即攻击者用自己 选定的假公钥替换一个公钥目录中真实的公钥。当一个用 户用这个假公钥加密一个消息时,这个攻击者就可以正确 地解密。因此,我们需要让用户的公钥以一种可验证和可 信的方式与用户的身份信息关联起来。目前,认证用户的 公钥有三种方法:基于证书的方法、基于身份的方法和基 于自证明的方法。事实上,我们可以根据公钥认证方法的 不同,把公钥密码体制分为基于证书的公钥密码体制、基 于身份的公钥密码体制和基于自证明的公钥密码体制 。

(可选)加密和解密的顺序可交换
基本思想


加密与解密由不同的密钥完成 加密: XY: Y = EKU(X) 解密: YX: X = DKR(Y) = DKR(EKU(X)) 从解密密钥得到加密密钥在计算上是不可行的 加密与解密的顺序没有限制(不是必须的) X = DKR(EKU(X)) = EKU(DKR(X)) 若X=Y且映射E: XY是映上的,则成立 EKU(X) = EKU(DKR(EKU(X))) 若X=Y且为有限集合(例如分组密码),则E: XY是 映上的,从而成立
可计算性(Computable)

对于任意给定的 x,y ∈ G1,计算 e(x,y)是容易的
19
安全性假设
Bilinear Diffie-Hellman 问题(BDHP) 阶为q的循环群G1, G2, 群上的双线性映射e


给定G1上的一个生成元 g 和其上的任意三个元 素 ag, bg, cg ∈ G1 ,其中 a, b, c ∈ Zp, 计算 e(g,g)abc
用公钥密码实现保密
用户拥有自己的密钥对(KU,KR)
公钥KU公开,私钥KR保密 AB: Y=EKUb(X) B: DKRb(Y)= DKRb(EKUb(X))=X
用公钥密码实现认证
条件:
加密与解密的顺序没有限制
认证:
AALL: Y=DKRa(X) ALL: EKUa(Y)=EKUa(DKRa(X))=X 认证+保密: AB: Z= EKUb(DKRa(X)) B: EKUa(DKRb(Z))=X
基于证书的公钥密码体制缺点


使用任何公钥前都需要先验证公钥证书的合 法性,增加了用户的计算量; CA需要管理大量的证书,包括证书的撤销、 存储和颁发。
基本思想和要求

涉及到各方:发送方、接收方、攻击者 涉及到数据:公钥、私钥、明文、密文 公钥算法的条件: 产生一对密钥是计算可行的 已知公钥和明文,产生密文是计算可行的 接收方利用私钥来解密密文是计算可行的 对于攻击者,利用公钥来推断私钥是计算不可行的 已知公钥和密文,恢复明文是计算不可行的
基于身份的密钥协商协议
3.密钥交换。 如果用户A和B想协商出一个密钥,他们执行以下步 骤: ① A随机选取,计算TA=aP,并将TA发送给B。 ② B随机选取,计算TB=bP,并将TB发送给A。 ③ A计算k eˆ(aQ , P )eˆ(S ,T ) 。 ④ B计算 k eˆ(bQ , P )eˆ(S ,T ) 。 这样用户A和B就建立了一个共享密钥k = V(kA) = V(kB)。
CA/PKG
master-key
14
基于身份的密码体制
私钥生成(PKG) 系统的PKG中心拥有一对主密钥(master key),它公布主密钥中的公钥,自己保存 私钥; PKG中心输入自己的私钥和用户的公钥,得到 用户的公钥,并安全传回给用户; 用户输入这个私钥和PKG中心的公钥,检查收 到的私钥是否正确。

23
Boneh-Franklin IBE Scheme
效率 加密: 1 scalar multiplication in G1 1 map-to-point hash operation, 1 pairing operation, 1 group exponent in G2, 1 hash (H2) operation, and 1 XOR operation.

A B pub A B B A pub B A
基于身份的签密体制

2003年,Libert和Quisquater提出了一个基 于身份的签密方案,由四个算法组成:系统 建立、密钥提取、签密和解签密。
基于身份的签密体制
27
Shamir IBS Scheme
签名: A 用私钥 g 签署消息 m: 1. 选取随机整数 r,计算t = r^e mod n 2. 计算s = g*r^h(t,m) mod n Signature: σ = <s, t>∈ Zn × Zn. 验证: 验证者收到签名 σ = <s’, t’> ,消息m’和签名者的 公钥(身份ID),验证下式是否成立 s’^e= ID*t’ ^h(t’,m’) mod n.
《现代密码学》第九章
基于身份的密码体制
1
本讲主要内容

基于身份的密码系统(IBC)的提出 基于身份的加密体制(IBE)的定义

Boneh-Franklin IBE方案 Shamir IBS方案

基于身份的签名体制(IBS)的定义


基于身份的密钥协商(IBKA)的定义

Scott IBS方案
2
26

验证( Verify )


Shamir IBS Scheme
Shamir提出了一个采用RSA算法的IBS算法。 初始化: 1. 选取两个大素数p,q,计算它们的乘积n;选 取与Φ(n)互素的整数 e ; 选取一个单向函数h. 参数: n, e, h; 主密钥: n 的因子. 提取私钥: 给定用户的 ID, PKG计算用户的私钥 g ,满足 g^e =ID mod n.

29
基于身份的密钥协商协议


1.系统建立 设G1为由P生成的循环加法群,阶为q,G2为具有相同阶q 的循环乘法群,:为一个双线性映射。定义一个安全的哈 希函数:和一个密钥导出函数V。PKG随机选择一个主密钥, 计算Ppub=sP。PKG公开系统参数{G1, G2, q, ê, P, Ppub, H1, V},保密主密钥s。 2.密钥提取 给定一个用户的身份ID,PKG计算该用户的私钥SID = sQID并把此值安全地发送给该用户,其中QID=H1(ID) 为该用户的公钥。在这里我们设用户A的身份为IDA,公钥 为QA,私钥为SA,用户B的身份为IDB,公钥为QB,私钥 为SB。

28
Shamir IBS Scheme
效率 签名和验证分别需要 2 integer exponentiations, 1 integer multiplication and 1 hash operation. 安全性:分解因子问题困难Integer Factorization Problem (IFP).
基于身份的密码体制


IBC是一种非对称密码体系,与以往公钥密 码系统的不同在于任意的字符串可以作为用 户的公钥,例如每个人的身份标识,email 地址,电话号码等。 不需要CA系统将用户的身份和用户的公钥 绑定。
13
基于身份的密码体制
使用公钥加密邮件 “alice@hotmail.com”
是否可以像PKI系统, 由用户自己生成私钥? 基于IBC的安全电子邮件系统

15
基于身份的加密体制


1984年以色列科学家Shamir提出了基于身份的密 码系统的概念(IBC)。 2001年,D. Boneh和M. Franklin , R. Sakai, K. Ohgishi 和 M. Kasahara利用椭圆曲线上的双线性 对设计了基于身份的加密算法。 2001年C. Cocks利用平方剩余难题设计了基于身 份的加密算法。 D. Boneh和M. Franklin提出的IBC (BF-IBC)的安全 性可以证明并且有较好的效率,所以引起了极大 的反响。
输入: 安全参数 t 输出: 系统参数params和主密钥master-key

提取私钥( Extract )


输入: 系统参数params和主密钥master-key 用户身份 ID∈{0,1}* 输出: 用户私钥dID
25
基于身份的签名体制

签名( Sign )


输入: 系统参数params,消息M∈M, 签名者的私钥dID. 输出: 签名σ∈S 输入: 系统参数params, 签名σ∈S ,签名者公 钥(身份)ID∈{0,1}*,消息M∈M. 输出: “Accept” 或者 “Reject”.

安全性假设: BDHP 是困难的
20
Boneh-Franklin IBE Scheme

初始化 (t)



用 t 生成一个素数 q 生成阶为q的循环群 G1, G2, 及一个双线性映射e: G1×G1 → G2 任意选取一个生成元 g∈G1 选取一个随机数 s∈Zq* 令 P= sg 选取两个密码学hash函数: H1:{0,1}* →G1* 和 H2:G2 → {0,1}n

效率 解密: 1 pairing operation, 1 hash operation (H2) 1 XOR operation.

安全性假设:BDHP困难: C,P,H(ID),求(g,g)^rst,其中 C=rg,P=sg,H(ID)=tg,
24
基于身份的签wenku.baidu.com体制

初始化(Setup)

18

解密


双线性映射
e : G1× G1 → G2

G1 和 G2 是阶为p的循环群
任给 x, y ∈ G1 和任意整数 a, b ∈ Zp e(ax,by) = e(x,y)ab

双线性映射


非退化性(Non-Degenerate)

存在 x,y ∈ G1 使得 e(x,y) ≠ 1G2

16
基于身份的加密体制

初始化

输入: 安全参数 t 输出: 系统参数params和主密钥master-key

提取私钥


输入: 系统参数params和主密钥master-key 用户身份 ID∈{0,1}* 输出: 用户私钥dID
17
基于身份的加密体制

加密


输入: 系统参数params,明文M∈M, 明文接收者公钥(身份)ID∈{0,1}*, 输出: 密文C 输入: 系统参数params,密文C ∈C ,接收者私 钥dID, 输出: 明文M
基于证书的公钥密码体制

每个用户的公钥都伴随一个公钥证书,这个 公钥证书由CA签发。公钥证书是一个结构 化的数据记录,它包括了用户的身份信息、 公钥参数和CA的签名。任何人都可以通过 验证证书的合法性(CA的签名)来认证公 钥。如果一个用户信任CA,那么,在他验 证了另一个用户的证书的有效性后,他就应 该相信公钥的真实性。

加密 (M)

选取随机数 r∈Zq* R=rg, M⊕H2(e(H1(ID),P)r)

解密(C=(U, V))

V ⊕ H2(e(dID,U))
正确性证明 H2(e(dID,U)) =H2(e(sH1(ID), rg) )= H2(e(H1(ID), g)sr =H2(e(H1(ID), sg)r )= H2(e(H1(ID),P)r)
相关文档
最新文档