Sheldon,
The TDDLi is a standard interface that is part of the TDDL, which is supplied by the TPM vendor. From the TCG document:
The TCG Device Driver Library (TDDL) provides two functions:
1) A standard interface defined in this specification for the TPM so all TPMs look and behave the same at this interface (Tddli).
2) Provides the transition between the User Mode and Kernel Mode. There will typically be one executable image of each of these per TPM on the platform.
This "interface" is comprised of basic tools for opening, closing, cancel, get and transmit. These functions are atomic in nature and very easy to set up. Futhermore:
The TCG Device Driver Library (TDDL) is an intermediate module that exists between the TCS and the kernel mode TPM Device Driver (TDD). The TDDL provides a user mode interface. Such an interface has several advantages over a kernel mode driver interface:
• It ensures different implementations of the TSS properly communicates with any TPM.
• It provides an OS-independent interface for TPM applications.
• It allows the TPM vendor to provide a software TPM simulator as a user mode component.
Because the TPM is not required to be multithreaded, the TDDL is to be a single-instance, single threaded module. The TDDL expects the TPM command serialization to be performed by the TCS. The exception to the single threaded nature of the TDDL is the Tddli_Cancel operation. The Tddli_Cancel allows the TCS to send an abort operation to the TPM. The TPM vendor is responsible for defining the interface between the TDDL and the TDD. The TPM vendor can choose the communication and resource allocation mechanisms between this library and any kernel mode TPM device driver or software TPM simulator.
The "interface" is not a GUI. It is a set of user interface commands to access the driver from software that the human user can relate to and use. The TDDLi is part of the TDDL which is supplied by the TPM OEM. I doubt NTRU did any work for making their TSS work with any TPM since the TPM vendors already supplied a standard TDDLi (interface) to ANY TSS. So dig space can, indeed, start eating crow. Or not since it tastes like bunk.
NTRU's "interoperability" comes from one thing, the interoperable CSP that Wave offers because as stated before, ultimately it is the end user experience. What good is interoperability when the end user's software cannot interoperate? This is clearly stated in black and white in dozens of areas.
None of this is important. The CSP is not a huge revenue generating tool for Wave. It should not be concentrated on. It is only important when we consider it is getting Wave a foot in the door to sell their server components.