系统管理指南:网络服务

DH 验证

DH 验证使用数据加密标准 (Data Encryption Standard, DES) 和 Diffie-Hellman 公钥密码学来验证网络中的用户和计算机。DES 是标准加密机制。Diffie-Hellman 公钥密码学是包含两个密钥的密码系统:一个公钥和一个私钥。公钥和私钥存储在名称空间中。NIS 将密钥存储在公钥映射中。这些映射包含所有潜在用户的公钥和私钥。有关如何设置映射的更多信息,请参见《系统管理指南:名称和目录服务(DNS、NIS 和 LDAP)》

DH 验证的安全性依赖于发件人加密当前时间的能力,随后收件人可以对该时间进行解密,并对照自己的时钟进行检查。时间标记是使用 DES 进行加密的。使此方案正常工作的要求如下所示:

如果网络运行时间同步程序,则系统将自动同步客户机和服务器上的时间。如果时间同步程序不可用,则可以使用服务器的时间(而不是网络时间)来计算时间标记。启动 RPC 会话之前,客户机将询问服务器时间,然后计算其自己的时钟与服务器时钟之间的时间差值。计算时间标记时会使用该差值来调整客户机的时钟。如果客户机与服务器的时钟未同步,则服务器将开始拒绝客户机的请求。客户机上的 DH 验证系统将与服务器重新进行同步。

客户机和服务器使用同一个加密密钥,具体方法是:生成一个随机的对话密钥(也称为会话密钥)并使用公钥密码学推导公用密钥。公用密钥是只有客户机和服务器才能推导的密钥。对话密钥用于加密和解密客户机的时间标记。公用密钥用于加密和解密对话密钥。