Hallo,
wir haben ein 802.1x / PKI Szenario implementiert aber es funktioniert noch nicht wie gewünscht. Nun wurde das Kundenszenario im Labor nachgebildet.
Ziel:
PSION NEO PX750 Handhelds (Windows CE 5) sollen via WPA2 Enterprise 802.1x authentifiziert werden. (Non Domain Member)
Serverumgebung
HyperV2012R2
Virtuelle Maschinen:
dc1.muc.local 2012R2 Datac. DC/IssuingCA
nps.muc.local 2012R2 Datac. Domain Member / NPS Server
NPS Config (Standard Secure Wireless Connection)CRL Checking via Registry disabled! Da für Test unwichtig
NPS hat ein Servercert (Template von RAS und IAS Server) Server & Clientauth. Ink. Private Key
Test mit Windows 8 Laptop
(kein Dom Mitglied) via WPA2 Enterprise:
Konfiguration:
Da unser Test Windows 8 Client kein Domänenmember ist (Wie auch die PSION Handheld´s), muss hier manuell das Device angelegt werden. (Hostname: idefix)
1. Device als Computer anlegen
idefix.muc.local
2. Unter „Namenszuordung“ muss das X-509 Zertifikat von „Idefix“ hinterlegt werden
3. Ein ServicePrincipalName muss für den „Computer“ angelegt werden
setspn -R idefix
Win8 Client
Zertifikat manuell beantragen
Manueller Request an CA:
Subjekt
Subject Name: Type: Common name: idefix.muc.local Alternative Name: Type: DNS: idefix.muc.local
Friendly Name: DNS: idefix.muc.local
Private Key
Key Type: Exchange
Privater Key befindet sich im Zertifikat. (Aus Computertemplate Schema VErsion 1, Version 5.1; XP / Server 2003 Kompatibilität)
Root Zertifikat importiert, 802.1x aktiviert, Certificate or Smartcart augewählt, Verfiy Server Cert ----> Authentication successfull !
Also, die Authentifizierung mit einem Nicht AD Member Windows 8 Client war erfolgreich via WPA2 Enterprise.
Handheld Psion CE 5.
Selbes vorgehen wie oben. Zertifikat manuell auf Hostanme ausgestellt, auf Handheld imporitiert. Privater Schlüssel ist Zertifikat vorhanden. Root Zertifikat ist ebenfalls unter Trustet Authorities importiert.
Wifi Configuration: SSID: ALF AuthMode: WPA-2 Enterprise (EAP) Encryption: TKIP EAP: TLS UserName: host/PX750.muc.local
Client Cert: PX750.muc.local ausgewählt Verify Server Certficate ist ausgewählt (Wenn Haken nicht gesetzt ist, FULL ACCESS!)
Ansonsten: Network Policy Server denied access to a use. Reason Code 23. Reason: An error occured dring the Network Policy Server use of the Extensible Authentication Protocol (EAP).
Trace enabled:
Netsh ras set tracing svchost_rastls enabled
Auszug eines Authentifizierungsversuchs:
[2568] 04-01 11:16:28:681:
[2568] 04-01 11:16:28:681: EapTlsBegin(MUC\PX750$)
[2568] 04-01 11:16:28:681: SetupMachineChangeNotification
[2568] 04-01 11:16:28:681: State change to Initial
[2568] 04-01 11:16:28:681: MaxTLSMessageLength is now 16384
[2568] 04-01 11:16:28:681: CRYPT_E_NO_REVOCATION_CHECK will be ignored
[2568] 04-01 11:16:28:681: CRYPT_E_REVOCATION_OFFLINE will be ignored
[2568] 04-01 11:16:28:681: The root cert will be checked for revocation
[2568] 04-01 11:16:28:681: The cert will not be checked for revocation
[2568] 04-01 11:16:28:681:
[2568] 04-01 11:16:28:681: EapTlsMakeMessage(MUC\px750$)
[2568] 04-01 11:16:28:681: EapTlsSMakeMessage, state(0)
[2568] 04-01 11:16:28:681: EapTlsReset
[2568] 04-01 11:16:28:681: State change to Initial
[2568] 04-01 11:16:28:681: EapGetCredentials
[2568] 04-01 11:16:28:681: Flag is Server and Store is local Machine
[2568] 04-01 11:16:28:681: GetCachedCredentials Flags = 0xe1
[2568] 04-01 11:16:28:681: FindNodeInCachedCredList, flags(0xe1), default cached creds(0), check thread token(1)
[2568] 04-01 11:16:28:681: pNode->dwCredFlags = 0x11
[2568] 04-01 11:16:28:681: GetCachedCredentials: Using Cached Credentials
[2568] 04-01 11:16:28:681: GetCachedCredentials: Hash of the cert in the cache is
86 51 4B 3F AD 4B 25 57 94 9E 89 04 B7 2D 13 AE |.QK?.K%W.....-..|
3B FB E1 87 00 00 00 00 00 00 00 00 00 00 00 00 |;...............|
[2568] 04-01 11:16:28:681: Certificate public key length = 2048 bits
[2568] 04-01 11:16:28:681: BuildPacket
[2568] 04-01 11:16:28:681: << Sending Request (Code: 1) packet: Id: 2, Length: 6, Type: 13, TLS blob length: 0. Flags: S
[2568] 04-01 11:16:28:681: State change to SentStart
[2568] 04-01 11:16:28:681: EapTlsEnd
[2568] 04-01 11:16:28:681: EapTlsEnd(muc\px750$)
[3024] 04-01 11:16:28:744:
[3024] 04-01 11:16:28:744: EapTlsMakeMessage(muc\px750$)
[3024] 04-01 11:16:28:744: >> Received Response (Code: 2) packet: Id: 2, Length: 108, Type: 13, TLS blob length: 0. Flags:
[3024] 04-01 11:16:28:744: EapTlsSMakeMessage, state(1)
[3024] 04-01 11:16:28:744: MakeReplyMessage
[3024] 04-01 11:16:28:744: Reallocating input TLS blob buffer
[3024] 04-01 11:16:28:744: SecurityContextFunction
[3024] 04-01 11:16:28:744: AcceptSecurityContext returned 0x90312
[3024] 04-01 11:16:28:744: State change to SentHello
[3024] 04-01 11:16:28:744: BuildPacket
[3024] 04-01 11:16:28:744: << Sending Request (Code: 1) packet: Id: 3, Length: 1496, Type: 13, TLS blob length: 2466. Flags: LM
[2568] 04-01 11:16:28:760:
[2568] 04-01 11:16:28:760: EapTlsMakeMessage(muc\px750$)
[2568] 04-01 11:16:28:760: >> Received Response (Code: 2) packet: Id: 3, Length: 6, Type: 13, TLS blob length: 0. Flags:
[2568] 04-01 11:16:28:760: EapTlsSMakeMessage, state(2)
[2568] 04-01 11:16:28:760: BuildPacket
[2568] 04-01 11:16:28:760: << Sending Request (Code: 1) packet: Id: 4, Length: 986, Type: 13, TLS blob length: 0. Flags:
[3024] 04-01 11:16:28:791:
[3024] 04-01 11:16:28:791: EapTlsMakeMessage(muc\px750$)
[3024] 04-01 11:16:28:791: >> Received Response (Code: 2) packet: Id: 4, Length: 13, Type: 13, TLS blob length: 0. Flags:
[3024] 04-01 11:16:28:791: EapTlsSMakeMessage, state(2)
[3024] 04-01 11:16:28:791: MakeReplyMessage
[3024] 04-01 11:16:28:791: SecurityContextFunction
[3024] 04-01 11:16:28:791: AcceptSecurityContext returned 0x80090327
[3024] 04-01 11:16:28:791: State change to SentFinished. Error: 0x80090327
[3024] 04-01 11:16:28:791: Negotiation unsuccessful
[3024] 04-01 11:16:28:791: BuildPacket
[3024] 04-01 11:16:28:791: << Sending Failure (Code: 4) packet: Id: 5, Length: 4, Type: 0, TLS blob length: 0. Flags:
[3024] 04-01 11:16:28:791: AuthResultCode = (-2146893017), bCode = (4)
[2568] 04-01 11:16:30:916:
Also, ohne! Verify Server Cert klappt die Authentifizierung. Daraus schlußfolgere ich, das Windows CE bzw. das Psion GErät Probleme mit dem übermittelten NPS Zertifikat hat?! Habt Ihr einen Tipp für mich?
Vielen Dank und Grüße aus München