14
第第第 第第第第 密密密密密密密密密密密密密密密密密密密密 密密密密密密密密密 密密 密密密密密密 密密密密密 密密 密密密密密密 ,、、体。 密密密密密 密密密密密 密密密密密 体:( Key Transport 密密密密密 Key Agreement )。 密密 密密密密 密密密 传一 密密密 密密密密密密密 密密密密 密密 密密密密密密密密密 密密 ()一一。( 密密密密密密密密 密密密密密密密密密密密密密密密密 密密密 密密密密密 )。。一 密密密密密密密密密密密密密密密密密密密密密密密密 密密密密密密密密密密密密密密密密密 ,。 密密密密密密密密

第七章 密钥建立

  • Upload
    webb

  • View
    38

  • Download
    2

Embed Size (px)

DESCRIPTION

第七章 密钥建立. 密钥建立协议是为两方或多方提供共享的秘密,在其后作为对称密钥使用,已达到加密、消息认证、实体认证的目的。 密钥建立大体分成两类:密钥传送( Key Transport ) 和密钥协商( Key Agreement )。 密钥传送是由一方建立(或得到)一个秘密值安全地传送给另一方。密钥协商是由双方(或多方)形成的共享秘密。该秘密是参与各方提供消息的函数。任何一方都不能事先预定所产生的秘密数值。 在设计和选择密钥建立技术时,重要的事搞清楚使用中需要哪些性质。可能包括的性质有:. - PowerPoint PPT Presentation

Citation preview

第七章 密钥建立

密钥建立协议是为两方或多方提供共享的秘密,在其后作为对称密钥使用,已达到加密、消息认证、实体认证的目的。 密 钥 建 立 大 体 分 成 两 类 : 密 钥 传 送 ( Key Transport ) 和 密 钥 协 商 ( Key Agreement )。密钥传送是由一方建立(或得到)一个秘密值安全地传送给另一方。密钥协商是由双方(或多方)形成的共享秘密。该秘密是参与各方提供消息的函数。任何一方都不能事先预定所产生的秘密数值。 在设计和选择密钥建立技术时,重要的事搞清楚使用中需要哪些性质。可能包括的性质有:

1 )提供哪些认证:实体认证( Entity Authentication )、密钥认证( Key Authentication )、密钥确认( Key Confirmation )。实体认证是指在某种程度上一方相信“与之通信的对方”的身份。密钥认证又叫隐含密钥认证 (Implicit Key Authentication) ,它是指除了所期望的对方之外没有人能获得这个共享的秘密。密钥确认是指一方相信对方确实掌握了特定的共享秘密。密钥认证加上密钥确认就是明显密钥认证 (Explicit Key Authentication) 。 2 )认证是否互惠:提供的实体认证、密钥认证、密钥确定是单方的还是双方的。 3 密钥的新鲜性( Key Freshness ):如果可以保证产生的密钥是新的而不是过去用过的旧密钥,则称密钥是新鲜的。

4 )密钥控制:密钥是由一方选定还是有由各方提供的信息推导出来的;是否其中一方能控制或预先知道或预先测出产生的密钥值。 5 )有效性:遍数(各方需要交换信息的次数)、带宽(需要传送信息的总位数)、各方计算的复杂性、是否可以预先计算以减少在线计算。 6 )是否需要第三方:需要(实时)在线第三方、或离线第三方、或不需要第三方。对第三方可信程度的要求。7 )使用证件的类型。 8 )不可拒绝性:是否要求在交换共享数据时提供某种类型的收据。

在密钥建立的协议中总是假设 :

1 )所使用的基本密码学机制是安全的,如加密算法、 签名方案等。 2 )协议中交互信息是在没有保护的开放网络上传输的。 3 )对手能完全控制网上的数据(记录、改写、删除、 插入、改变方向、重新排序、重用当前或过去的消 息、注入新的消息等)

7.1 密钥建立的模式

1 )点到点机制:涉及的双方直接通信,

K

2) 密钥分配中心( Key Distribution Center )

KDC KDC

K A K B A B

用 户 A, B 分 别 与 KDC 有 共 享 主 密钥 , KDC 为用户 A, B 生成并分配会话密钥。上图中 A 将( A , B )发送给 KDC 。 KDC 将 返回给用户 A 。此外,如左图所示将 经过 A传送给 B ,或如右图所示直接将 直接传送给B 。

3) 密钥转换中心( Key Translation Center ) 与 2) 不同的是由 A 生成 A, B 之间的会话密钥K , KTC只起转送的作用。首先 A 将( A , B ,) 发送给 KTC 。 KTC 求出后将生成的 经过 A 传送给 B ,或直接传送给 B 。

BTAT KK ,

),( KBEATK

),( AKEBTK

),( AKEBTK

),( KBEATK

),( AKEBTK

7.2 密钥传送

前面我们讲过,私钥密码系统的安全性完全建立在密钥的安全性上。要防止密钥为他人窃取并且定期更换密钥以使对手知道密钥的情况下尽量少泄露数据。如果是链路加密,每个链路加密设备都只和该链路的另一端的设备交换数据,可以采取由一方选定以后物理地另一方或由第三方物理地送给两方。如果端到端加密是在网络或 IP级,那么网络上每一对要通信的主机之间都必须有密钥。如果有 N个结点共需要 N*(N-1)/2 个密钥。如果端到端加密是在应用级进行,那么每一对要通信的用户或进程都需要一个密钥。

我们用一个密钥分配中心 KDC负责分配每一对要通信的用户(主机、进程、应用程序)需要的密钥。每个用户必须与 KDC 共享(唯一)一个主密钥( Master Key ),它以物理传递方式分配给用户。端系统之间的通信使用临时的密钥,称之为会话密钥( Session Key )。主密钥在分配会话密钥时使用。 当网络规模较大时可能涉及多个 KDC ,可以建立具有层次结构的一批 KDC ,如:单位的、本地区的、全国的等等。属于不同 KDC 的用户间建立会话密钥,必须通过共同的上级 KDC进行沟通。这种结构使得主密钥分配工作量达到最小。

会话密钥更换越频繁给对手提供可分析的密文就越少。而会话密钥分配影响信息交互并且增加网络负担。一般,对面向连接的协议在一次连接中使用一个会话密钥。对无连接协议最好规定会话密钥生命期或使用一个密钥的数据交换量。 假定以面向连接的 X.25 或 TCP 协议进行通信,加密在网络层进行。每个端系统上的用户和应用程序将使用相同加密算法和相同密钥。为此我们在主机前端放置前端处理器( Frond-End Processor称为 FEP ),代理主机获取密钥并完成端到端加密。具体步骤如下:

1 ) 请求方主机想与另一个主机通信时发送一个连接 请求分组;2 ) 请求方的 FEP 保存该分组。 FEP 使用自己的主密钥 向 KDC申请此连接的会话密钥, KDC 将生成的会 话密钥发送给该连接涉及的双方 FEP 。3 ) 请求方的 FEP把连接请求分组发送出去,两个端系 统建立一个连接。4 ) 端系统间所有用户数据交换均使用得到的会话密 钥加密传送。这是一种透明的密钥控制方案,对端系统影响最小。

7.2.1 Kerberos 方案

Kerberos 方案是基于私钥密码系统的密钥服务系统。用户 U向可信中心 TA申请与用户 V 通信的会话密钥。 TA负责生成和传输会话密钥。为了安 全 , TA 要 保 证 密 钥 的 新 鲜 性 (Key Freshness) 。

每个用户 U的身份信息是 ID(U), U 与 TA 共享一个主密钥 ( DES 加密密钥),传输信息均采用CBC模式进行加密 .

  1) 用户 U 向 TA申请与用户 V 通信的会话密钥

2) TA 随机选择密钥 K ,时间戳 T ,生存期L 。计

算 并传送给用户 U ,其中

UK

),),(,(1 LTUIDKEmUK

),),(,(2 LTVIDKEmVK

21 ,mm

3)    用户 U解密 求出 K, ID(U), T, L 。计算 ,将 传送给用户 V4) 用户 V 解密 求出 K, ID(V), T, L 。解密再次得 到 ID(U), T 。计算 并发送给用户 U 。 5)   用户 U解密 求出 T+1验证之 . 其中时间戳 T和生命期 L是为了防止主动攻击(旧密钥重发), 用于传送会话密钥的安全性,

用于用户 U,V 双方确认对方掌握同样的会话密钥。实施该方案的网络中应该有同步时钟,以便确认会话密钥是否在生命期内。

2m

1m)),((3 TUIDEm K

4m

32 ,mm

)1(4 TEm K

21 ,mm

43 ,mm

7.2.2 X.509

X.509 是基于公钥密码系统的私钥传送方案。下面是一种两遍的强认证方案,它具有相互实体认证和密钥认证功能。用户 A 的公钥证书 ,公钥加密算法,签名算法 。

1) 用户 A 选取时间戳和从未使用过的随机数 以及会话密钥 。计算 和 向用户 B发送 , , .

AP

ASACert

AA rt ,

AK ))(,,,( ABAAA KPBrtD

)( AA DS ADACert )( AA DS

2) 用户 B确认 中的相关项( ),验证 A 的公钥证书 及对 的签名 。验证成功后用私钥解密求出 并保存。用户 B选取自己的

及 ,向用户 A 发送 , ,

3)用户 A 验证工作与 2 )中相同,保存 .

AD

Brt AA ,,

ACert

BB rt ,AK

)( AA DS

AD

BK BCert BD )( BB DS

BK