我在Linux系统上使用keytab文件来验证使用kerberos的服务。我想知道这个密码是如何实际存储到该keytab文件中的。正如我们在/ etc / passwd中所知,密码是在应用单向散列方法后存储的 - 因此无法从中计算明文密码。
但是如何在keytab文件中完成?使用keytab的进程必须知道密码才能验证用户?!是否使用主密码加密,以便解密?
我用它来创建一个keytab文件:
$ ktutil
ktutil: addent -password -p my_user@MYREALM -k 1 -e rc4-hmac
Password for my_user@MYREALM:
ktutil: wkt my_user.keytab
ktutil: quit
使用该keytab,我可以在不输入密码的情况下获得krbtgt。创建密钥表时,无法与AD / KDC进行通信(因此没有可用于签名的共享密钥或其他内容)。
那么如何将密码加密到keytab中?如果它不是哈希算法 - 是否有可能解密它?