[OpenAFS-devel] verifykt
Derrick J Brashear
shadow@dementia.org
Sat, 13 Jan 2007 12:42:45 -0500 (EST)
asetkey should get this functionality inboard. you want to do it or should
i?
On Sat, 13 Jan 2007, Marcus Watts wrote:
> After seeing the recent spate of people having trouble
> with keytabs (I think mostly from AD) and openafs, I decided
> to write a "verify keytab" utility. My intent is to do "more or less"
> what I had suggested doing by hand (kinit + kvno + perl hack) but
> all in one C program that (eventually) we can just tell people to
> go run. So here's what I have (so far):
>
> adogslife$ ./verifykt -k /tmp/afs.kt
> Success; princ=<afs@DOGS.UMICH.EDU> vno=3 req.etype=1 ans.etype=1 ticket.length = 160
> adogslife$ ./verifykt -k /tmp/bad.kt
> Failed in krb5_get_init_creds_keytab - error -1765328353 (Decrypt integrity check failed)
> adogslife$ ./verifykt -k /tmp/ltl-3.keytab
> Success; princ=<afs-k5/cats.umich.edu@CATS.UMICH.EDU> vno=3 req.etype=18 ans.etype=18 ticket.length = 213
> Success; princ=<afs-k5/cats.umich.edu@CATS.UMICH.EDU> vno=3 req.etype=17 ans.etype=18 ticket.length = 197
> Success; princ=<afs-k5/cats.umich.edu@CATS.UMICH.EDU> vno=3 req.etype=16 ans.etype=18 ticket.length = 205
> Success; princ=<afs-k5/cats.umich.edu@CATS.UMICH.EDU> vno=3 req.etype=1 ans.etype=18 ticket.length = 189
> adogslife$
>
> It's not obvious from this, but the above utility is going just
> a bit farther than "kvno" - it's actually decoding/decrypting
> the ticket. Turns out the ticket is always encrypted under
> the "strongest" (probably the first) key type found and there's
> no way to make MIT (at least) do different. Also, if there are
> old kvno's in the keytab, there's no way to check those.
> On the bright side, it would be silly to accept tickets that
> aren't the strongest possible, if the kdc can't generate them.
> That means changing rxk5 & verifykt a bit to enforce/check that.
>
> I think the quality of what I can do here is going to depend
> a bit on the kerberos library. The MIT folks seem bound & determined
> not to provide interfaces like the above uses that would allow
> "non-standard" access to things. The best thing I can do with MIT
> is mk_req/rd_req, which seems a bit silly. I really like the idea
> of having the decrypted but not yet decoded ticket available in this
> program.
>
> Anyways, I'm certainly interested in what people think.
>
> -Marcus
> _______________________________________________
> OpenAFS-devel mailing list
> OpenAFS-devel@openafs.org
> https://lists.openafs.org/mailman/listinfo/openafs-devel
>