Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Controlling TPM with C#

Tags:

c#

tpm

I am trying to

  • initialize the TPM
  • set an owner
  • create AIKs

Any help/link would be appreciated.

like image 546
TEmp69 Avatar asked Sep 25 '10 20:09

TEmp69


People also ask

How do I adjust TPM in BIOS?

Boot computer using F2 into the BIOS setup mode. Locate the “Security” option on the left and expand. Locate the “TPM” option nested under the “Security” setting. To enable the TPM settings you must check the box saying: “TPM Security” to enable the TPM hard drive security encryption.

Is TPM tamper proof?

Definition(s): A tamper-resistant integrated circuit built into some computer motherboards that can perform cryptographic operations (including key generation) and protect small amounts of sensitive information, such as passwords and cryptographic keys.

Is TPM built into CPU?

A TPM is a security chip that resides on a PC's motherboard or in its processor and applies security features to store sensitive information. Most PCs purchased in the last five years are capable of supporting TPM 2.0. Some users may need to enable TPM 2.0 on their device by accessing settings via the UEFI BIOS.


3 Answers

Read MSDN.
TBS Reference: http://msdn.microsoft.com/en-us/library/aa446794(VS.85).aspx
Using TBS: http://msdn.microsoft.com/en-us/library/ms725663(v=VS.85).aspx
TBS Base Services: http://msdn.microsoft.com/en-us/library/aa446796(VS.85).aspx

You may also want to look at this article from MS about TPM, some of them with sample code:
Overview of TPM Management
http://technet.microsoft.com/en-us/library/cc730635.aspx

Trusted Platform Module Management Step-by-Step Guide
http://technet.microsoft.com/en-us/library/cc749022(WS.10).aspx

Understanding Keys and Passwords Used by the TPM
http://technet.microsoft.com/en-us/library/cc755038.aspx

like image 58
Michel Triana Avatar answered Nov 03 '22 01:11

Michel Triana


It looks like Microsoft's TPM library for C++ ('TBS') has no equivalent in .Net, but there's an external library from Microsoft that provides a binding - TSS.Net

The documentation lives in a .docx file.

like image 23
Max Barraclough Avatar answered Nov 03 '22 00:11

Max Barraclough


It's a really old question...

But, for anyone looking for it now-days, There's a C# solution for TPM 2.0 in GitHub:

https://github.com/ms-iot/security/tree/master/Limpet

like image 38
itsho Avatar answered Nov 03 '22 00:11

itsho