Linux システムで keytab ファイルを使用して、kerberos でサービスを認証しています。このパスワードが実際にそのキータブファイルにどのように保存されているのか疑問に思っています。/etc/passwd でわかるように、パスワードは一方向ハッシュ法を適用した後に保存されます。そのため、そこから平文のパスワードを計算することはできません。
しかし、それはキータブ ファイルでどのように行われるのでしょうか? キータブを使用するプロセスは、ユーザーを認証するためにパスワードを知っている必要がありますか?! 解読できるようにマスターパスワードで暗号化されていますか?
これを使用してキータブファイルを作成しています:
$ 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
そのキータブを使用すると、パスワードを入力せずに krbtgt を取得できます。キータブを作成するとき、AD/KDC との通信はありません (そのため、署名などのために追加できる共有秘密はありません)。
では、パスワードはどのようにキータブに暗号化されるのでしょうか? ハッシュアルゴリズムでない場合、復号化できますか?