【计算机网络】网络安全 : 对称密钥分配 ( 密钥分配 | 密钥分配中心 KDC | 对称密钥分配 | 密钥分配协议 | Kerberos 协议 )

2023-03-28 17:35:22 浏览数 (2)

文章目录

  • 一、密钥分配
  • 二、密钥分配中心
  • 三、对称密钥分配
  • 四、对称密钥分配说明
  • 五、密钥分配协议
  • 六、Kerberos 协议工作流程
  • 七、Kerberos 协议要求

一、密钥分配


密钥分配 :

① 网络安全 : 密码算法 是公开的 , 网络安全 基于 对密钥的安全管理 ;

② 密钥管理 : 密钥 的 产生 , 分配 , 注入 , 验证 , 使用 ;

③ 密钥分配 : 是管理中的最重要的问题 , 密钥需要通过 安全通道 进行分配操作 ;

④ 密钥分配方式 :

  • 网外分配方式 : 信使 携带 密钥 , 分配给互相通信的用户 ; ( 不再适用 )
  • 网内分配方式 : 密钥系统 自动分配 ; ( 推荐使用 )

二、密钥分配中心


密钥分配中心 :

① 概念 : KDC , Key Distribution Center ;

② KDC 作用 : 通信各方都信任 KDC 机构 , 其任务是给通信各方 分配 临时会话密钥 , 仅使用一次 ;

三、对称密钥分配


对称密钥分配流程 :

① 用户注册 : 用户 A , B 都是 KDC 的 注册用户 , 各自分配了主密钥

K_A

K_B

;

② 申请密钥 : A 向 KDC 发送明文 A , B , 申请与 B 通信的密钥 ;

③ KDC 向 A 回送信息 :

  • 会话密钥 : KDC 产生 一次性 会话密钥
K_{AB}

, 该密钥时 A , B 会话使用的密钥 ;

  • 票据信息加密 : 报文中还包含了一个 需要 A 转给 B 的信息 ( 票据 ) , 这个信息是使用
K_B

进行加密的 , A 不知道其中的信息 ;

  • 票据信息内容 : 通信双方信息 , 以及会话密钥
K_{AB}

;

  • 报文加密 : 报文中包含 会话密钥 和 票据信息 , 报文整体使用 A 的主密钥
K_A

进行加密 ;

④ 票据发送 : A 向 B 发送票据信息 , B 就知道了 A 想要和自己通信 , 并且带来了通信的密钥 ;

四、对称密钥分配说明


对称密钥分配说明 :

① 加入时间戳 : 加入时间戳 , 可以防止重放攻击 ;

② 用户密钥有效期 : KDC 中分配给用户的 主密钥 , 需要定期更换 , 降低破译的概率 ; 主密钥都是加密密钥 , 解密密钥由各自保存 ;

③ 会话密钥有效期 : 临时会话的密钥

K_{AB}

仅在本次临时会话中有效 , 会话结束后失效 ;

五、密钥分配协议


密钥分配协议 :

最常用的协议 : Kerberos V5 ; 使用普及 , 是互联网建议标准 ;

Kerberos 作用 :

  • 鉴别协议 ;
  • 作为 KDC ;

加密标准 : 使用 AES 加密标准 , 比 DES 更加安全 ;

六、Kerberos 协议工作流程


Kerberos 协议工作流程 :

① Kerberos 用途 : 只用于 客户端 / 服务器 之间的鉴别 , 不是 P2P 的 ;

② 服务器 :

  • 鉴别服务器 AS : 是 KDC , 掌握了各个用户的身份 和 主密钥 ;
  • 票据受理服务器 TGS

③ A 鉴别 : A 使用明文向鉴别服务器 AS 表明身份 ;

④ AS 鉴别服务器 向 A 发送 报文 :

  • 报文加密 : 该报文使用 AS 中存储的 A 的主密钥
K_A

进行加密 ;

  • 报文内容 : A 与 TGS 通信的密钥
K_S

, A 与 TGS 通信的票据 ;

  • 票据内容 : 票据使用 TGS 密钥加密 , 包含了 A 和
K_S

密钥 ;

⑤ A 向 TGS 发送报文 : 包含以下三项内容 ;

  • 包含了 A 和
K_S

密钥 两项内容的票据 ;

  • 用户 B
  • 使用
K_S

加密的时间戳 ; ( 防止重放攻击 )

⑥ TGS 向 A 发送报文 : 包含以下内容 :

  • 给 A 的票据 : 使用
K_S

加密的票据 , 内容是 B 和 AB 通信密钥

K_{AB}

;

  • 给 B 的票据 : 使用
K_B

主密钥加密的票据 , 内容是 A 和 AB 通信密钥

K_{AB}

;

⑦ A 发送票据给 B : 包含以下内容

  • 发送给 B 的票据 : 之前 TGS 给 A 发送的 , A 再转发给 B ;
  • 使用
K_{AB}

加密的时间戳

T

;

⑧ B 向 A 回送确认 : 内容是 使用

A_{AB}

加密的 时间戳

T 1

⑨ 开始通信 : A 和 B 使用

K_{AB}

密钥进行通信 ;

七、Kerberos 协议要求

Kerberos 协议要求 : 为了 防止重放攻击 , 所有的用户主机的时钟 , 需要同步 , 误差不要超过 五分钟 ;

0 人点赞