基于对称加密的密钥分配(Symmetric Key Distribution using symmetric encryption)
- 对于对称加密,加密双方必须共享同一密钥,且必须保护密钥不被他人窃取
- 需要频繁地改变密钥,以减少攻击者可能知道密钥所带来的数据泄露
因此,任何密码系统的强度取决于密钥分配技术(密钥分发技术:传递密钥给希望交换数据的双方,且不允许其他人看见密钥的方法):
- A能够选定密钥,并通过物理方法传递给B
- 第三方能够选定密钥,并通过物理方法传递给A和B
- 如果A和B之前使用过一个密钥,一方可以把旧密钥加密成新密钥,再将其传递给另一方
- 如果A和B各自有一个跟第三方C的加密链路,那么C可以通过加密链路传递密钥给A和B
Kerberos
- 是由麻省理工学院MIT开发的密钥分配和用户安全认证系统
- 利用集中的认证服务器实现用户对服务器的认证和服务器对用户的认证
- 完全依赖于对称加密体制,而不使用公钥加密体制
Kerberos版本4消息交换总结:
- 用户明文方式向AS(认证服务器)发送请求,获得TGS许可证
- AS返回证书,证书包含TGS的许可证和用户与TGS间的会话密钥,会话密钥以用户密钥加密传输
- 用户通过解密得到TGS许可证与用户与TGS会话密钥,用户使用TGS许可证与带时间戳的认证符(Authenticator) (认证符使用用户与TGS会话密钥加密),拿这两个去访问TGS服务器申请应用服务器访问许可证
- TGS服务器从许可证中取出会话密钥,解密认证符,验证认证符中时间的有效性,如果合法,则生成所要求的应用服务器许可证(Ticket),许可证包含新产生的用户与应用服务器之间的会话密钥,传回给用户
- 用户向应用服务器提交应用服务器的许可证和用户新产生的带时间戳的认证符(使用用户与应用服务器之间的会话密钥加密)
- 应用服务器从许可证中取出会话密钥,解密认证符,取出时间戳并检验有效性,然后向用户返回一个带时间戳的认证符,改认证符使用用户与应用服务器之间的会话密钥加密
Kerberos域
- 共享同一个Kerberos数据库的一组受控节点
- Kerberos数据库驻存于Kerberos 主计算机系统中,其放置在一个物理上安全的房间中
- 一个只读的Kerberos数据库副本也可能驻存于其他Kerberos 计算机系统中
- 对数据库的全部更改必须在主计算机系统中进行
- 改变或访问Kerberos数据库中的内容需要Kerberos主口令
一个Kerberos环境包括:一台Kerberos服务器,若干客户端,若干应用服务器
- Kerberos主体是对Kerberos系统已知的服务和用户。主体名 = 一个服务或用户名 + 一个实例名 + 一个域名。