RFC 2759 Microsoft MS-CHAP-V2 January 2000 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. LCP Configuration . . . . . . . . . . . . . . . . . . . . . . . 3 3. Challenge Packet . . . . . . . . . . . . . . . . . . . . . . . 3 4. Response Packet . . . . . . . . . . . . . . . . . . . . . . . . 4 5. Success Packet . . . . . . . . . . . . . . . . . . . . . . . . 4 6. Failure Packet . . . . . . . . . . . . . . . . . . . . . . . . 5 7. Change-Password Packet . . . . . . . . . . . . . . . . . . . . 6 8. Pseudocode . . . . . . . . . . . . . . . . . . . . . . . . . . 7 8.1. GenerateNTResponse() . . . . . . . . . . . . . . . . . . . . 7 8.2. ChallengeHash() . . . . . . . . . . . . . . . . . . . . . . . 8 8.3. NtPasswordHash() . . . . . . . . . . . . . . . . . . . . . . 9 8.4. HashNtPasswordHash() . . . . . . . . . . . . . . . . . . . . 9 8.5. ChallengeResponse() . . . . . . . . . . . . . . . . . . . . . 9 8.6. DesEncrypt() . . . . . . . . . . . . . . . . . . . . . . . . 10 8.7. GenerateAuthenticatorResponse() . . . . . . . . . . . . . . . 10 8.8. CheckAuthenticatorResponse() . . . . . . . . . . . . . . . . 12 8.9. NewPasswordEncryptedWithOldNtPasswordHash() . . . . . . . . . 12 8.10. EncryptPwBlockWithPasswordHash() . . . . . . . . . . . . . . 13 8.11. Rc4Encrypt() . . . . . . . . . . . . . . . . . . . . . . . . 13 8.12. OldNtPasswordHashEncryptedWithNewNtPasswordHash() . . . . . 14 8.13. NtPasswordHashEncryptedWithBlock() . . . . . . . . . . . . . 14 9. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 9.1. Negotiation Examples . . . . . . . . . . . . . . . . . . . . 14 9.1.1. Successful authentication . . . . . . . . . . . . . . . . . 15 9.1.2. Authenticator authentication failure . . . . . . . . . . . 15 9.1.3. Failed authentication with no retry allowed . . . . . . . . 15 9.1.4. Successful authentication after retry . . . . . . . . . . . 15 9.1.5. Failed hack attack with 3 attempts allowed . . . . . . . . 15 9.1.6. Successful authentication with password change . . . . . . 16 9.1.7. Successful authentication with retry and password change. . 16 9.2. Hash Example . . . . . . . . . . . . . . . . . . . . . . . . 16 9.3. Example of DES Key Generation . . . . . . . . . . . . . . . . 17 10. Security Considerations . . . . . . . . . . . . . . . . . . . 17 11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 18 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 19 13. Author's Address . . . . . . . . . . . . . . . . . . . . . . . 19 14. Full Copyright Statement . . . . . . . . . . . . . . . . . . . 20 Zorn Informational