Active directory ktpass如何以及何时凝固盐?

Active directory ktpass如何以及何时凝固盐?,active-directory,kerberos,salt,spn,upn,Active Directory,Kerberos,Salt,Spn,Upn,用户的密码和salt确定由ktpass生成的Kerberos密钥。我注意到,ktpass有时会改变用户的盐,但有时不会。通过捕获一个kinit的包跟踪,我发现了盐。salt似乎是基于Kerberos领域和userPrincipalName生成的。然而,事情并不是这么简单。如果以后手动更新UPN,则不会更新salt。(我怀疑是否指定了/mapop选项可能会起作用。) ktpass在什么情况下设置用户的盐 盐是如何测定的 盐是储存在AD中,还是只储存在KDC中 有没有一种直接的方法来读取盐的当前值

用户的密码和salt确定由
ktpass
生成的Kerberos密钥。我注意到,
ktpass
有时会改变用户的盐,但有时不会。通过捕获一个
kinit
的包跟踪,我发现了盐。salt似乎是基于Kerberos领域和userPrincipalName生成的。然而,事情并不是这么简单。如果以后手动更新UPN,则不会更新salt。(我怀疑是否指定了
/mapop
选项可能会起作用。)

  • ktpass
    在什么情况下设置用户的盐
  • 盐是如何测定的
  • 盐是储存在AD中,还是只储存在KDC中
  • 有没有一种直接的方法来读取盐的当前值
  • 有没有办法手动更换盐
  • 在MicrosoftWindowsActiveDirectory中,自Windows2000中创建以来一直使用Kerberos v5,ktpass命令会自动设置salt。在Kerberos v5中始终使用盐。在kerberosv4中,从未使用过salt
  • 完整的主体名称(包括领域)用作salt,例如accountname/somedomain。com@SOMEDOMAIN.COM,然后将其与密码的加密哈希配对,以绝对确保结果在整个AD林中是唯一的
  • 如前所述,salt是完整的主要名称(包括领域)。它存储在ntds.dit文件中,该文件是Active Directory数据库。KDC在kdcsvc.dll生成的进程中启动,它与存储在ntds.dit中的值相关。因此,虽然KDC和AD数据库在运行时环境中不是一个相同的数据库,但可以说,它们是“紧密结合的”。我认为,当域控制器关闭时,KDC中的所有重要元素都会保存在ntds.dit中。微软没有提供如何做到这一点的确切细节。我已经做了广泛的研究,我的部分知识来自于仔细的研究和从网上找到的零碎文章中得出的推论。请注意,ntds.dit数据库也是LDAP数据库。如果DNS是AD集成的,则它也是DNS数据库。所有这些协议一起工作,再加上一些协议,形成了“Active Directory”
  • 打开Active Directory用户和计算机,转到“帐户”选项卡。“用户登录名”是“读取”salt最直接的方法。您看不到与它连接在一起的域名,但它是隐含的。SPN(如果已定义)以一种简单的方式列出,就像您在属性编辑器选项卡(查找servicePrincipalName)下查找的那样。确保已选择“查看”>“高级功能”以显示此选项卡。相应的UPN也将在同一部分的下方列出,其方式与accountname/somedomain完全相同。com@SOMEDOMAIN.COM.
  • 当您在“广告帐户”选项卡上更改帐户名时,您刚刚更改了salt。请注意,如果有一个keytab绑定到这个广告帐户,您将使它失效,因为它的密钥包含密码散列和salt。当salt或密码更改时,AD帐户和keytab内的密钥将不再匹配。此时您必须重新生成它
  • 有道理吗?这真是一个现场解释。要了解有关Kerberos与AD的更多信息,请从这里开始:

  • 在MicrosoftWindowsActiveDirectory中,自Windows2000中创建以来一直使用Kerberos v5,ktpass命令会自动设置salt。在Kerberos v5中始终使用盐。在kerberosv4中,从未使用过salt
  • 完整的主体名称(包括领域)用作salt,例如accountname/somedomain。com@SOMEDOMAIN.COM,然后将其与密码的加密哈希配对,以绝对确保结果在整个AD林中是唯一的
  • 如前所述,salt是完整的主要名称(包括领域)。它存储在ntds.dit文件中,该文件是Active Directory数据库。KDC在kdcsvc.dll生成的进程中启动,它与存储在ntds.dit中的值相关。因此,虽然KDC和AD数据库在运行时环境中不是一个相同的数据库,但可以说,它们是“紧密结合的”。我认为,当域控制器关闭时,KDC中的所有重要元素都会保存在ntds.dit中。微软没有提供如何做到这一点的确切细节。我已经做了广泛的研究,我的部分知识来自于仔细的研究和从网上找到的零碎文章中得出的推论。请注意,ntds.dit数据库也是LDAP数据库。如果DNS是AD集成的,则它也是DNS数据库。所有这些协议一起工作,再加上一些协议,形成了“Active Directory”
  • 打开Active Directory用户和计算机,转到“帐户”选项卡。“用户登录名”是“读取”salt最直接的方法。您看不到与它连接在一起的域名,但它是隐含的。SPN(如果已定义)以一种简单的方式列出,就像您在属性编辑器选项卡(查找servicePrincipalName)下查找的那样。确保已选择“查看”>“高级功能”以显示此选项卡。相应的UPN也将在同一部分的下方列出,其方式与accountname/somedomain完全相同。com@SOMEDOMAIN.COM.
  • 当您在“广告帐户”选项卡上更改帐户名时,您刚刚更改了salt。请注意,如果有一个keytab绑定到这个广告帐户,您将使它失效,因为它的密钥包含密码散列和salt。当salt或密码更改时,AD帐户和k内的密钥将不再匹配