现实世界协议的 Kerberos 安全分析
1. Kerberos 协议基础
Kerberos 是一种网络认证协议,在协议运行结束时,服务器 S 会认为客户端 C 存在,并且新的会话密钥 kc,s 是机密的、新鲜的,且与 C 和 S 都相关联;同时,客户端 C 也认为服务器 S 存在,新会话密钥 kc,s 同样具有机密性、新鲜性,且与 C 和 S 相关联。这表明分析的 Kerberos 认证协议实现了相互认证和安全密钥建立的安全目标。
以下是 Kerberos 协议的安全分析表格:
| C | TGS | S | AS | TGS | S |
| — | — | — | — | — | — |
| N1 | kc,tgs | N2 | kc,s | C | kc,tgs |
| C | kc,s | | | | |
| Message 1 | 01# | | | | |
| Message 2 | 1 | 01C TGS | 11C TGS | | |
| Message 3 | 01# | 1 | 11C TGS | | |
| Message 4 | 1 | 01CS | 11CS | | |
| Message 5 | 1 | 11CS | | | |
| Message 6 | 1 | End of run | 1 | 11CS | 11CS |
2. 公钥 Kerberos(PKINIT)
2.1 PKINIT 概述
PKINIT 引入了一种新的信任模型,在这种模型中,密钥分发中心(KDC)不是第一个识别用户的实体(与传统