preauth (timestamp) verify failure: Decrypt integrity check failed -- SOLVED
Jaap Winius
jwinius at umrk.nl
Fri Jun 25 09:39:40 EDT 2010
Hi folks,
Jun 25 13:26:05 vipera krb5kdc[2171](info): AS_REQ (7 etypes {18 17 16 23
1 3 2}) 192.168.2.48: NEEDED_PREAUTH: bbeamon at UMRK.NL for krbtgt/
UMRK.NL at UMRK.NL, Additional pre-authentication required
Jun 25 13:26:05 vipera krb5kdc[2171](info): preauth (timestamp) verify
failure: Decrypt integrity check failed
Jun 25 13:26:05 vipera krb5kdc[2171](info): AS_REQ (7 etypes {18 17 16 23
1 3 2}) 192.168.2.48: PREAUTH_FAILED: bbeamon at UMRK.NL for krbtgt/
UMRK.NL at UMRK.NL, Decrypt integrity check failed
This is basically the same error that I posted a question about here in
October 2009. Back then, the problem disappeared after a reinstall of the
client and/or server software, but an actual solution was never found.
Not having understood it, naturally the problem eventually resurfaced, so
I figured it would be better to sort it out once and for all.
The "preauth (timestamp) verify failure" error is misleading, because it
seems to suggest that there is a time synchronization error, which does
not have to be the case. I believe it says "(timestamp)" simply to remind
us that time synchronization is essential for pre-authentication.
Regarding "Decrypt integrity check failed," it is sometimes stated that
this error is just Kerberos' way of saying that the password is
incorrect. This is true, but it can just as easily be because the server
cannot decrypt and then read a correct password.
In my case, the client-server time synchronization was correct and so was
the password. So, what's next? Luckily, I didn't have to spend too much
time searching for an answer. First, I found this:
4.2. "Decrypt integrity check failed"
http://www.faqs.org/faqs/kerberos-faq/general/section-73.html
Here, it says that the error is caused because "the encryption key used
to encrypt the data in this message didn't match the encryption key used
for decryption, and as a result the checksum comparison didn't work." It
also says the solution "is to delete the keytabs on each machine, and
only add the host principal's key to their corresponding machine."
That was it. All I had to do was delete /etc/krb5.keytab on both the
client *and* the server, create a new one on the server (using kadmin
with the ktadd command) and then another new one on the client (using the
same command).
In conclusion, if you believe your time and passwords are correct, but
still receive the above errors, then it could be due to an encryption
problem. Since Kerberos stores its encryption keys in those key table
files on both the servers and the clients, the solution may be to
replace them with fresh ones, starting with the KDC master server.
Cheers,
Jaap
More information about the Kerberos
mailing list