Trusted Platform Module: Difference between revisions

Content deleted Content added
Convert asterisk footnotes to efn/noteslist footnotes (never done this before, so here’s to hoping the preview didn’t lie and I did it right…) #article-section-source-editor
Tags: Mobile edit Mobile app edit iOS app edit
Line 269:
|{{Yes}}
|{{No}}
(*)|{{No|No, but there is a separate project{{efn|There is a separate project called "CHARRA" by Fraunhofer<ref>{{r|r={{Citation|title=Fraunhofer-SIT/charra|date=2020-08-26|url=https://github.com/Fraunhofer-SIT/charra|publisher=Fraunhofer Institute for Secure Information Technology|access-date=2020-11-20|archive-date=October 29, 2020|archive-url=https://web.archive.org/web/20201029163950/https://github.com/Fraunhofer-SIT/charra|url-status=live}}</ref>}} that uses the tpm2-tss library for Remote Attestation. The other stacks have accompanying attestation servers or directly include examples for attestation. IBM offer their open-source Remote Attestation Server called "IBM ACS" on SourceForge and Google have "Go-Attestation" available on GitHub, while "wolfTPM" offers time and local attestation examples directly in its open-source code, also on GitHub.}}}}
|{{No|No, but there is a separate project*}}
|{{Yes}}
|{{Yes}}
(**) |Maybe{{efn|There is an application note<ref>{{r|r={{Cite web|last=AG|first=Infineon Technologies|title=OPTIGA™ TPM SLI 9670 A-TPM board - Infineon Technologies|url=https://www.infineon.com/cms/de/product/evaluation-boards/optiga-tpm-sli9670-a-tpm/|access-date=2020-11-20|website=www.infineon.com|archive-date=August 6, 2020|archive-url=https://web.archive.org/web/20200806175036/https://www.infineon.com/cms/de/product/evaluation-boards/optiga-tpm-sli9670-a-tpm/|url-status=live}}</ref>}} about an example project for the AURIX 32-bit SoC using the tpm2-tss library.}}
|Maybe**
|-
|ibmtss<ref>{{Cite web|title=IBM TSS for TPM 2.0|url=https://sourceforge.net/projects/ibmtpm20tss|access-date=June 2, 2021|archive-date=June 29, 2021|archive-url=https://web.archive.org/web/20210629081044/https://sourceforge.net/projects/ibmtpm20tss/|url-status=live}}</ref><ref>{{Cite web|title = IBM TSS for TPM 2.0|website = [[GitHub]]|url = https://github.com/kgoldman/ibmtss|access-date = June 2, 2021|archive-date = June 29, 2021|archive-url = https://web.archive.org/web/20210629081026/https://github.com/kgoldman/ibmtss|url-status = live}}</ref>
Line 307:
|{{Yes|Yes, examples are inside the library}}
|{{Yes}}
(***) |{{Yes|Yes{{efn|Requires additional libraries (dotnet) to run on Linux.}}}}
|{{Yes|Yes***}}
|{{No}}
|}
{{noteslist}}
(*) There is a separate project called "CHARRA" by Fraunhofer<ref>{{Citation|title=Fraunhofer-SIT/charra|date=2020-08-26|url=https://github.com/Fraunhofer-SIT/charra|publisher=Fraunhofer Institute for Secure Information Technology|access-date=2020-11-20|archive-date=October 29, 2020|archive-url=https://web.archive.org/web/20201029163950/https://github.com/Fraunhofer-SIT/charra|url-status=live}}</ref> that uses the tpm2-tss library for Remote Attestation. The other stacks have accompanying attestation servers or directly include examples for attestation. IBM offer their open-source Remote Attestation Server called "IBM ACS" on SourceForge and Google have "Go-Attestation" available on GitHub, while "wolfTPM" offers time and local attestation examples directly in its open-source code, also on GitHub.
 
(**) There is an application note<ref>{{Cite web|last=AG|first=Infineon Technologies|title=OPTIGA™ TPM SLI 9670 A-TPM board - Infineon Technologies|url=https://www.infineon.com/cms/de/product/evaluation-boards/optiga-tpm-sli9670-a-tpm/|access-date=2020-11-20|website=www.infineon.com|archive-date=August 6, 2020|archive-url=https://web.archive.org/web/20200806175036/https://www.infineon.com/cms/de/product/evaluation-boards/optiga-tpm-sli9670-a-tpm/|url-status=live}}</ref> about an example project for the AURIX 32-bit SoC using the tpm2-tss library.
 
(***) Requires additional libraries (dotnet) to run on Linux.
 
These TPM libraries are sometimes also called TPM stacks, because they provide the interface for the developer or user to interact with the TPM. As seen from the table, the TPM stacks abstract the operating system and transport layer, so the user could migrate one application between platforms. For example, by using TPM stack API the user would interact the same way with a TPM, regardless if the physical chip is connected over SPI, I2C or LPC interface to the Host system.