**Usaldusväärse platvormi moodul** (inglise **Trusted Platform Module** ehk **TPM**) on füüsiline seade, mis pakub turvafunktsioone, sealhulgas krüptimisvõtmete loomist ja talletamist ning riistvara ja tarkvara muudatuste kontrolli.

Ajalugu
-------

Personaalarvuti disaini algusaastatel polnud peaeesmärgiks turvalisus vaid kasutajasõbralikkus. See oli ajendiks suurte tehnoloogiaettevõtete ühise konsortsiumi Trusted Computing Groupi loomisele. Konsortsiumi eesmärgiks oli luua ühisele standardile vastav riistvaraseade, mille abil saaks personaalarvuteid turvalisemaks muuta. Erilist ohtu kujutas senistele süsteemidele internetipõhiste teenuste kiire levik.

Esimeseks laialdaselt kasutust leidnud versiooniks osutus 2003. aastal väljastatud TPM 1.1b, mis sisaldas baasfunktsioone nagu RSA võtme genereerimine, andmetalletus, autoriseerimine ja süsteemi terviklikkuse atesteerimine. Ründajatel puudus ligipääs võtmetele kuid puudus ka meetod takistada *jõurünnet* (brute force). Samuti osutusid piiranguks erinevused riistvara tasandil. 

2005-2011 arendatud TPM 1.2 sätestas ühtse tarkvara liidese ja viigud TPM komponendil, ehkki spetsifikatsiooni muutis keeruliseks tagasiühilduvus versiooniga 1.1b. 

2014 väljastatud TPM 2.0 standard toetab mitmeid kaasaegseid turvalahendusi, sealhulgas sümmeetrilise ja elliptiliste kõverate võtme krüptograafiat ning võimalust kasutada endise SHA1 asemel mistahes räsifunktsiooni. TPM 2.0 versioonil puudub tagasiühilduvus vanemate versioonidega.

Ülesehitus
----------

TPM komponendiks on tavaliselt eraldiseisev mikrokontroller personaalarvutis ning sellel on eraldi protsessor ja mälu. Süsteem suhtleb TPM komponendiga sisend-väljund puhvri abil. Puhver ei pea ilmtingimata olema süsteemist isoleeritud, selleks võib kasutada süsteemi mälu. 

Alternatiivseks lahenduseks on TPM koodi töötlemine süsteemi enda protsessoris, mis nõuab mälu isoleerimist nii, et sellele oleks protsessoril ligipääs vaid erirežiimis. 

TPM-i omadusi kirjeldab Trusted Computing Groupi spetsifikatsioon.

Eesmärk
-------

TPM võimaldab luua ning kasutada võtmeid neid ühtlasi operatsioonisüsteemi eest isoleerides, mis kaitseb neid pahavara eest. TPM takistab ka jõurünnet, peatades rünnaku puhul ajutiselt töö. 

Süsteemi alglaadimisel kontrollib TPM riistvara ja tarkvara komponentide andmeterviklikkust. Ketta krüpteerimise tarkvara (Bitlocker, dm-crypt) saavad kasutada TPM-i krüptovõtmete genereerimiseks ja talletamiseks. Kasutades PKCS#11 liidest, saab TPM-i kasutada ka internetis turvalisemaks autentimiseks.

TPM 1.2 vs TPM 2.0
------------------

TPM standard jaotab algoritmid kolme kategooriasse: soovituslikud, valikulised ja kohustuslikud.

Kohustuslikud algoritmid|  | TPM 1.2 | TPM 2 |
| Räsifunktsioonid | SHA-1 | SHA-1
SHA-256
SHA-384 |
| Sümmeetrilised krüptoalgoritmid |  | AES 128 CFB
AES 256 CFB |
| Asümmeetrilised krüptoalgoritmid | RSA 1024

RSA 2048 | RSA 2048

ECC P256
ECC BN256
ECC P384 |
| HMAC | SHA-1 | SHA-1

SHA-256
SHA-384 |

Välislingid
-----------

1. ↑  "Compaq, Hewlett Packard, IBM, Intel, and Microsoft Announce Open Alliance to Build Trust and Security into PCs for e-business". *IBM*. 11.10.1999. Vaadatud 28.05.2020.
2. ↑  Will Arthur, David Challener (2015). *A Practical Guide to TPM 2.0: Using the Trusted Platform Module in the New Age of Security*. New York, NY : Apress Open.
3. ↑  Arthur W. Challener D. Goldman K. (2015). *A Practical Guide to TPM 2.0*. Berkeley, CA: Apress.`{{raamatuviide}}`: CS1 hooldus: mitu nime: autorite loend (link)
4. ↑  "ISO/IEC 11889-1:2015 Information technology — Trusted platform module library — Part 1: Architecture". August 2015. Vaadatud 11.05.2020.
5. ↑  "TPM Fundamentals". August 2017. Vaadatud 11.05.2020.
6. ↑  "TCG PC Client Platform TPM Profile (PTP) Specification Version 1.04 Revision 37". 2. märts 2020. Vaadatud 15.05.2020.