Trusted Network Connect (TNC) HOWTO » History » Version 15
« Previous -
Version 15/92
(diff) -
Next » -
Current version
Andreas Steffen, 14.12.2010 06:27
Trusted Network Connect (TNC) HOWTO¶
The Trusted Computing Group (TCG) has defined and released an open architecture and a growing set of standards for endpoint integrity called Trusted Network Connect.
strongSwan supports both the older XML-based IF-TNCCS 1.1 "TNC Client-Server Interface" and the latest IF-TNCCS-2.0 "TLV Bindings" but currently not the IF-TNCCS SoH 1.0 "State of Health Protocol Bindings" used by Microsoft's Network Access Protection (NAP) framework.
The TCG IF-TNCCS 2.0 protocol is equivalent to the IETF "Posture Broker (PB) Protocol Compatible with Trusted Network Connect" (PB-TNC) defined by RFC 5793 which is part of the IETF's "Network Endpoint Assessment" (NEA) framework defined by RFC 5209.
As a transport protocol to exchange IF-TNCCS 1.1 or IF-TNCCS 2.0 messages between TNC Client and TNC Server, strongSwan uses the EAP-TNC method defined by IF-T "Protocol Bindings for Tunneled EAP Methods 1.1". EAP-TNC as an inner non-secure protocol is then encapsulated in an outer encrypted and authenticated IKEv2-EAP-TTLS tunnel.
By activating the appropriate plugins, a strongSwan VPN Client can act as a TNC Client and a strongSwan VPN Gateway can take on either the role of a "Policy Enforcement Point" (PEP) only which forwards all EAP-TTLS packets via EAP-RADIUS to an external AAA-Server or alternatively can additionally act as a TNC Server.
strongSwan can dynamically load any number of Integrity Measurement Collectors (IMCs) and Integrity Measurement Verifiers (IMVs) that adhere to the IF-IMC 1.2 and IF-IMV 1.2 interface specifications, respectively.
Deployment¶
- IF-TNCCS 1.1 support was introduced in October 2010 with the strongSwan 4.5.0 stable release. The tnccs_11 charon plugin uses Mike McCauley's libtnc library. A strongSwan VPN Gateway configured as a PEP can connect to a FreeRADIUS server running the TNC@FHH plugin.
- TNC Client - TNC Server Example
- TNC Client - PEP - FreeRADIUS Example
- IF-TNCCS 2.0 support was in December 201 with the strongSwan 4.5.1dr2 developers release. The tnccs_20 charon plugin was implemented by MSE master student Sansar Choinyambuu. The code does not make use of the libtnc library.
- TNC Client - TNC Server Example