I've been spending most of today staring at MS-KILE 3.4.5.4.1 and Heimdal's implementation of GSSAPI CFX.
What has me stumped is exactly what this means: > If the session key encryption type is AES128-CTS-HMAC-SHA1-96 or > AES256-CTS-HMAC-SHA1-96, > as specified in [RFC3961], the base line is [RFC4121] and the encrypted data > per [RFC3961] (which > [RFC4121] is based on) is: > C1 | H1[1..h] > Where > (C1, newIV) = E(Ke, conf | plaintext | pad, oldstate.ivec) > H1 = HMAC(Ki, conf | plaintext+encrypted-data | pad) > where the "plaintext+encrypted-data" is all the input data buffers supplied > to GSS_WrapEx() > concatenated in the order provided in the ordered list, input_message. I see that C1 is the output of the encryption function E, and presume that Ke is the encryption key, but what is 'conf', and is 'plaintext' the confidential data in plaintext, or the data over which only a signature is computed (presumably the confidential data in plaintex, but then what is conf)? I presume again that Ki is the signing key. Likewise, a description of how the pad fits into the HMAC function here would be very helpful. In short, because this is a deviation from the GSSAPI spec (as the spec does not allow data to be signed, but not sealed), I really need much more detail, and all the inputs and outputs clearly labelled, particularly as this seems to require a major rework of Heimdal to implement :-( Thanks, Andrew Bartlett -- Andrew Bartlett http://samba.org/~abartlet/ Authentication Developer, Samba Team http://samba.org Samba Developer, Red Hat Inc.
signature.asc
Description: This is a digitally signed message part
_______________________________________________ cifs-protocol mailing list [email protected] https://lists.samba.org/mailman/listinfo/cifs-protocol
