Bagikan melalui


Pengesahan Kunci TPM

Berlaku untuk: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012

Penulis: Justin Turner, Teknisi Eskalasi Dukungan Senior dengan grup Windows

Catatan

Konten ini ditulis oleh teknisi dukungan pelanggan Microsoft, dan ditujukan untuk administrator berpengalaman dan arsitek sistem yang mencari penjelasan teknis yang lebih dalam tentang fitur dan solusi di Windows Server 2012 R2 daripada topik di TechNet biasanya disediakan. Namun, itu belum mengalami lolos pengeditan yang sama, sehingga beberapa bahasa mungkin tampak kurang dipoles daripada apa yang biasanya ditemukan di TechNet.

Gambaran Umum

Meskipun dukungan untuk kunci yang dilindungi TPM telah ada sejak Windows 8, tidak ada mekanisme bagi CA untuk membuktikan secara kriptografis bahwa kunci privat pemohon sertifikat benar-benar dilindungi oleh Modul Platform Tepercaya (TPM). Pembaruan ini memungkinkan CA untuk melakukan pengesahan tersebut dan untuk mencerminkan pengesahan tersebut dalam sertifikat yang diterbitkan.

Catatan

Artikel ini mengasumsikan bahwa pembaca terbiasa dengan konsep templat sertifikat (untuk referensi, lihat Templat Sertifikat). Ini juga mengasumsikan bahwa pembaca terbiasa dengan cara mengonfigurasi CA perusahaan untuk menerbitkan sertifikat berdasarkan templat sertifikat (untuk referensi, lihat Daftar Periksa: Mengonfigurasi CA untuk Menerbitkan dan Mengelola Sertifikat).

Terminologi

Istilah Definisi
EK Kunci Dukungan. Ini adalah kunci asimetris yang terkandung di dalam TPM (disuntikkan pada waktu manufaktur). EK unik untuk setiap TPM dan dapat mengidentifikasinya. EK tidak dapat diubah atau dihapus.
EKpub Mengacu pada kunci umum EK.
EKPriv Mengacu pada kunci privat EK.
EKCert Sertifikat EK. Sertifikat yang dikeluarkan produsen TPM untuk EKPub. Tidak semua TPM memiliki EKCert.
TPM Modul Platform Tepercaya. TPM dirancang untuk menyediakan fungsi terkait keamanan berbasis perangkat keras. Chip TPM adalah prosesor kripto aman yang dirancang untuk melakukan operasi kriptografi. Chip ini mencakup beberapa mekanisme keamanan fisik untuk membuatnya tahan terhadap perubahan, dan perangkat lunak berbahaya tidak dapat mengubah fungsi keamanan TPM.

Latar belakang

Dimulai dengan Windows 8, Modul Platform Tepercaya (TPM) dapat digunakan untuk mengamankan kunci privat sertifikat. Penyedia Penyimpanan Kunci Penyedia Kripto Platform Microsoft (KSP) mengaktifkan fitur ini. Ada dua kekhawatiran dengan implementasi:

  • Tidak ada jaminan bahwa kunci benar-benar dilindungi oleh TPM (seseorang dapat dengan mudah memalsukan KSP perangkat lunak sebagai TPM KSP dengan kredensial administrator lokal).

  • Tidak dimungkinkan untuk membatasi daftar TPM yang diizinkan untuk melindungi sertifikat yang dikeluarkan perusahaan (jika Administrator PKI ingin mengontrol jenis perangkat yang dapat digunakan untuk mendapatkan sertifikat di lingkungan).

Pengesahan kunci TPM

Pengesahan kunci TPM adalah kemampuan entitas yang meminta sertifikat untuk membuktikan secara kriptografis kepada CA bahwa kunci RSA dalam permintaan sertifikat dilindungi oleh TPM "a" atau "the" yang dipercaya CA. Model kepercayaan TPM dibahas lebih lanjut di bagian Gambaran umum penyebaran nanti di artikel ini.

Mengapa pengesahan kunci TPM penting?

Sertifikat pengguna dengan kunci yang dibuktikan TPM memberikan jaminan keamanan yang lebih tinggi, dicadangkan oleh nonexportability, anti-hammering, dan isolasi kunci yang disediakan oleh TPM.

Dengan pengesahan kunci TPM, paradigma manajemen baru sekarang dimungkinkan: Administrator dapat menentukan set perangkat yang dapat digunakan pengguna untuk mengakses sumber daya perusahaan (misalnya, VPN atau titik akses nirkabel) dan memiliki jaminan kuat bahwa tidak ada perangkat lain yang dapat digunakan untuk mengaksesnya. Paradigma kontrol akses baru ini kuat karena terkait dengan identitas pengguna yang terikat perangkat keras, yang lebih kuat daripada kredensial berbasis perangkat lunak.

Bagaimana cara kerja pengesahan kunci TPM?

Secara umum, pengesahan kunci TPM didasarkan pada pilar berikut:

  1. Setiap TPM dikirim dengan kunci asimetris unik, yang disebut Kunci Dukungan (EK), dibakar oleh produsen. Kami menyebut bagian publik dari kunci ini sebagai EKPub dan kunci privat terkait sebagai EKPriv. Beberapa chip TPM juga memiliki sertifikat EK yang dikeluarkan oleh produsen untuk EKPub. Kami menyebut sertifikasi ini sebagai EKCert.

  2. CA menetapkan kepercayaan pada TPM baik melalui EKPub atau EKCert.

  3. Pengguna membuktikan kepada CA bahwa kunci RSA tempat sertifikat diminta secara kriptografis terkait dengan EKPub dan bahwa pengguna memiliki EKpriv.

  4. CA mengeluarkan sertifikat dengan OID kebijakan penerbitan khusus untuk menunjukkan bahwa kunci sekarang dibuktikan untuk dilindungi oleh TPM.

Ringkasan penyebaran

Dalam penyebaran ini, diasumsikan bahwa OS perusahaan Windows Server 2012 R2 disiapkan. Selain itu, klien (Windows 8.1) dikonfigurasi untuk mendaftar terhadap OS perusahaan tersebut menggunakan templat sertifikat.

Ada tiga langkah untuk menyebarkan pengesahan kunci TPM:

  1. Rencanakan model kepercayaan TPM: Langkah pertama adalah memutuskan model kepercayaan TPM mana yang akan digunakan. Ada 3 cara yang didukung untuk melakukan ini:

    • Kepercayaan berdasarkan kredensial pengguna: CA perusahaan mempercayai EKPub yang disediakan pengguna sebagai bagian dari permintaan sertifikat dan tidak ada validasi yang dilakukan selain kredensial domain pengguna.

    • Kepercayaan berdasarkan EKCert: CA perusahaan memvalidasi rantai EKCert yang disediakan sebagai bagian dari permintaan sertifikat terhadap daftar rantai sertifikasi EK yang dapat diterima administrator. Rantai yang dapat diterima didefinisikan per produsen dan dinyatakan melalui dua penyimpanan sertifikat kustom pada CA penerbit (satu toko untuk perantara dan satu untuk sertifikat OS akar). Mode kepercayaan ini berarti bahwa semua TPM dari produsen tertentu tepercaya. Perhatikan bahwa dalam mode ini, TPM yang digunakan di lingkungan harus berisi EKCerts.

    • Kepercayaan berdasarkan EKPub: CA perusahaan memvalidasi bahwa EKPub yang disediakan sebagai bagian dari permintaan sertifikat muncul dalam daftar EKPubs yang dikelola administrator. Daftar ini dinyatakan sebagai direktori file di mana nama setiap file dalam direktori ini adalah hash SHA-2 dari EKPub yang diizinkan. Opsi ini menawarkan tingkat jaminan tertinggi tetapi membutuhkan lebih banyak upaya administratif, karena setiap perangkat diidentifikasi secara individual. Dalam model kepercayaan ini, hanya perangkat yang telah menambahkan EKPub TPM mereka ke daftar EKPubs yang diizinkan yang diizinkan untuk mendaftar untuk sertifikat yang diuji TPM.

    Bergantung pada metode mana yang digunakan, CA akan menerapkan OID kebijakan penerbitan yang berbeda ke sertifikat yang dikeluarkan. Untuk detail selengkapnya tentang OID kebijakan penerbitan, lihat tabel OID Kebijakan Penerbitan di bagian Mengonfigurasi templat sertifikat di artikel ini.

    Perhatikan bahwa dimungkinkan untuk memilih kombinasi model kepercayaan TPM. Dalam hal ini, CA akan menerima salah satu metode pengesahan, dan OID kebijakan penerbitan akan mencerminkan semua metode pengesahan yang berhasil.

  2. Mengonfigurasi templat sertifikat: Mengonfigurasi templat sertifikat dijelaskan di bagian Detail penyebaran di artikel ini. Artikel ini tidak membahas bagaimana templat sertifikat ini ditetapkan ke OS perusahaan atau bagaimana akses pendaftaran diberikan kepada sekelompok pengguna. Untuk informasi selengkapnya, lihat Daftar Periksa: Mengonfigurasi CA untuk Menerbitkan dan Mengelola Sertifikat.

  3. Mengonfigurasi CA untuk model kepercayaan TPM

    1. Kepercayaan berdasarkan kredensial pengguna: Tidak diperlukan konfigurasi tertentu.

    2. Kepercayaan berdasarkan EKCert: Administrator harus mendapatkan sertifikat rantai EKCert dari produsen TPM, dan mengimpornya ke dua penyimpanan sertifikat baru, yang dibuat oleh administrator, pada CA yang melakukan pengesahan kunci TPM. Untuk informasi selengkapnya, lihat bagian konfigurasi CA di artikel ini.

    3. Kepercayaan berdasarkan EKPub: Administrator harus mendapatkan EKPub untuk setiap perangkat yang akan memerlukan sertifikat yang dites TPM dan menambahkannya ke daftar EKPubs yang diizinkan. Untuk informasi selengkapnya, lihat bagian konfigurasi CA di artikel ini.

    Catatan

    • Fitur ini memerlukan Windows 8.1/Windows Server 2012 R2.
    • Pengesahan kunci TPM untuk KSP kartu pintar pihak ketiga tidak didukung. KSP Penyedia Kripto Platform Microsoft harus digunakan.
    • Pengesahan kunci TPM hanya berfungsi untuk kunci RSA.
    • Pengesahan kunci TPM tidak didukung untuk CA mandiri.
    • Pengesahan kunci TPM tidak mendukung pemrosesan sertifikat yang tidak persisten.

Detail penyebaran

Mengonfigurasi templat sertifikat

Untuk mengonfigurasi templat sertifikat untuk pengesahan kunci TPM, lakukan langkah-langkah konfigurasi berikut:

  1. Tab Kompatibilitas

    Di bagian Kompatibilitas Pengaturan:

    • Pastikan Windows Server 2012 R2 dipilih untuk Otoritas Sertifikasi.

    • Pastikan Windows 8.1 / Windows Server 2012 R2 dipilih untuk penerima Sertifikat.

    Screenshot that highlights the Certificate recipient list.

  2. Tab Kriptografi

    Pastikan Penyedia Penyimpanan Kunci dipilih untuk Kategori Penyedia dan RSA dipilih untuk nama Algoritma. Pastikan Permintaan harus menggunakan salah satu penyedia berikut dipilih dan opsi Penyedia Kripto Platform Microsoft dipilih di bawah Penyedia.

    Screenshot that highlights the Provider Category and Algorithm name lists.

  3. Tab Pengesahan Kunci

    Ini adalah tab baru untuk Windows Server 2012 R2:

    Screenshot that shows the Key Attestation tab.

    Pilih mode pengesahan dari tiga opsi yang mungkin.

    Screenshot that shows the attestation modes.

    • Tidak Ada: Menyiratkan bahwa pengesahan kunci tidak boleh digunakan

    • Diperlukan, jika klien mampu: Memungkinkan pengguna pada perangkat yang tidak mendukung pengesahan kunci TPM untuk terus mendaftar untuk sertifikat tersebut. Pengguna yang dapat melakukan pengesahan akan dibedakan dengan OID kebijakan penerbitan khusus. Beberapa perangkat mungkin tidak dapat melakukan pengesahan karena TPM lama yang tidak mendukung pengesahan kunci, atau perangkat tidak memiliki TPM sama sekali.

    • Diperlukan: Klien harus melakukan pengesahan kunci TPM, jika tidak, permintaan sertifikat akan gagal.

    Kemudian pilih model kepercayaan TPM. Ada lagi tiga opsi:

    Screenshot that shows the TPM trust models.

    • Kredensial pengguna: Izinkan pengguna yang mengautentikasi untuk menjamin TPM yang valid dengan menentukan kredensial domain mereka.

    • Sertifikat dukungan: EKCert perangkat harus memvalidasi melalui sertifikat CA menengah TPM yang dikelola administrator ke sertifikat CA akar yang dikelola administrator. Jika Anda memilih opsi ini, Anda harus menyiapkan penyimpanan sertifikat EKCA dan EKRoot pada CA penerbit seperti yang dijelaskan di bagian konfigurasi CA di artikel ini.

    • Kunci Dukungan: EKPub perangkat harus muncul di daftar yang dikelola administrator PKI. Opsi ini menawarkan tingkat jaminan tertinggi tetapi membutuhkan upaya yang lebih administratif. Jika Anda memilih opsi ini, Anda harus menyiapkan daftar EKPub pada CA penerbitan seperti yang dijelaskan di bagian konfigurasi CA di artikel ini.

    Terakhir, putuskan kebijakan penerbitan mana yang akan ditampilkan dalam sertifikat yang diterbitkan. Secara default, setiap jenis penegakan memiliki pengidentifikasi objek terkait (OID) yang akan dimasukkan ke dalam sertifikat jika melewati jenis penegakan tersebut, seperti yang dijelaskan dalam tabel berikut. Perhatikan bahwa dimungkinkan untuk memilih kombinasi metode penegakan. Dalam hal ini, CA akan menerima salah satu metode pengesahan, dan OID kebijakan penerbitan akan mencerminkan semua metode pengesahan yang berhasil.

    OID Kebijakan Penerbitan

    OID Jenis pengesahan kunci Deskripsi Tingkat jaminan
    1.3.6.1.4.1.311.21.30 EK "EK Diverifikasi": Untuk daftar EK yang dikelola administrator Sangat Penting
    1.3.6.1.4.1.311.21.31 Sertifikat dukungan "Sertifikat EK Diverifikasi": Ketika rantai sertifikat EK divalidasi Medium
    1.3.6.1.4.1.311.21.32 Kredensial Pengguna "EK Tepercaya saat Digunakan": Untuk EK yang diuji pengguna Kurang Penting

    OID akan dimasukkan ke dalam sertifikat yang dikeluarkan jika Sertakan Kebijakan Penerbitan dipilih (konfigurasi default).

    TPM Key attestation

    Tip

    Salah satu potensi penggunaan memiliki OID yang ada dalam sertifikat adalah untuk membatasi akses ke VPN atau jaringan nirkabel ke perangkat tertentu. Misalnya, kebijakan akses Anda mungkin mengizinkan koneksi (atau akses ke VLAN yang berbeda) jika OID 1.3.6.1.4.1.311.21.30 ada dalam sertifikat. Ini memungkinkan Anda membatasi akses ke perangkat yang TPM EK-nya ada dalam daftar EKPUB.

Konfigurasi CA

  1. Menyiapkan penyimpanan sertifikat EKCA dan EKROOT pada CA penerbit

    Jika Anda memilih Sertifikat Dukungan untuk pengaturan templat, lakukan langkah-langkah konfigurasi berikut:

    1. Gunakan Windows PowerShell untuk membuat dua penyimpanan sertifikat baru di server otoritas sertifikasi (CA) yang akan melakukan pengesahan kunci TPM.

    2. Dapatkan sertifikat OS perantara dan akar dari produsen yang ingin Anda izinkan di lingkungan perusahaan Anda. Sertifikat tersebut harus diimpor ke penyimpanan sertifikat yang dibuat sebelumnya (EKCA dan EKROOT) sebagaimana mestinya.

    Skrip Windows PowerShell berikut melakukan kedua langkah ini. Dalam contoh berikut, produsen TPM Fabrikam telah menyediakan sertifikat akar FabrikamRoot.cer dan sertifikat CA penerbit Fabrikamca.cer.

    PS C:>\cd cert:
    PS Cert:\>cd .\\LocalMachine
    PS Cert:\LocalMachine> new-item EKROOT
    PS Cert:\ LocalMachine> new-item EKCA
    PS Cert:\EKCA\copy FabrikamCa.cer .\EKCA
    PS Cert:\EKROOT\copy FabrikamRoot.cer .\EKROOT
    
  2. Menyiapkan Daftar EKPUB jika menggunakan jenis pengesahan EK

    Jika Anda memilih Kunci Dukungan di pengaturan templat, langkah-langkah konfigurasi berikutnya adalah membuat dan mengonfigurasi folder pada CA penerbit, yang berisi file 0-byte, masing-masing dinamai untuk hash SHA-2 dari EK yang diizinkan. Folder ini berfungsi sebagai "daftar izin" perangkat yang diizinkan untuk mendapatkan sertifikat yang diuji kunci TPM. Karena Anda harus menambahkan EKPUB secara manual untuk setiap perangkat yang memerlukan sertifikat yang diuji, EKPUB memberi perusahaan jaminan perangkat yang berwenang untuk mendapatkan sertifikat yang diuji kunci TPM. Mengonfigurasi CA untuk mode ini memerlukan dua langkah:

    1. Buat entri registri EndorsementKeyListDirectories: Gunakan alat baris perintah Certutil untuk mengonfigurasi lokasi folder tempat EKpubs tepercaya didefinisikan seperti yang dijelaskan dalam tabel berikut.

      Operasi Sintaks perintah
      Menambahkan lokasi folder certutil.exe -setreg CA\EndorsementKeyListDirectories +"<folder>"
      Menghapus lokasi folder certutil.exe -setreg CA\EndorsementKeyListDirectories -"<folder>"

      Perintah EndorsementKeyListDirectories dalam certutil adalah pengaturan registri seperti yang dijelaskan dalam tabel berikut.

      Nama nilai Jenis Data
      EndorsementKeyListDirectories REG_MULTI_SZ <Jalur LOKAL atau UNC ke daftar izin EKPUB>

      Contoh:

      \\blueCA.contoso.com\ekpub

      \\bluecluster1.contoso.com\ekpub

      D:\ekpub

      HKLM\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\<CA Sanitized Name>

      EndorsementKeyListDirectories akan berisi daftar JALUR sistem file UNC atau lokal, masing-masing menunjuk ke folder tempat CA memiliki akses Baca. Setiap folder mungkin berisi nol atau lebih entri daftar yang diizinkan, di mana setiap entri adalah file dengan nama yang merupakan hash SHA-2 dari EKpub tepercaya, tanpa ekstensi file. Membuat atau mengedit konfigurasi kunci registri ini memerlukan mulai ulang CA, sama seperti pengaturan konfigurasi registri CA yang ada. Namun, pengeditan pada pengaturan konfigurasi akan segera berlaku dan tidak akan mengharuskan CA dimulai ulang.

      Penting

      Amankan folder dalam daftar dari akses yang mengubah dan tidak sah dengan mengonfigurasi izin sehingga hanya administrator yang berwenang yang memiliki akses Baca dan Tulis. Akun komputer CA hanya memerlukan akses Baca.

    2. Isi daftar EKPUB: Gunakan cmdlet Windows PowerShell berikut untuk mendapatkan hash kunci publik TPM EK dengan menggunakan Windows PowerShell pada setiap perangkat lalu kirim hash kunci publik ini ke CA dan simpan di folder EKPubList.

      PS C:>\$a=Get-TpmEndorsementKeyInfo -hashalgorithm sha256
      PS C:>$b=new-item $a.PublicKeyHash -ItemType file
      

Pemecahan Masalah

Bidang pengesahan kunci tidak tersedia pada templat sertifikat

Bidang Pengesahan Kunci tidak tersedia jika pengaturan templat tidak memenuhi persyaratan pengesahan. Alasan umumnya adalah:

  1. Pengaturan kompatibilitas tidak dikonfigurasi dengan benar. Pastikan bahwa mereka dikonfigurasi sebagai berikut:

    1. Otoritas Sertifikasi: Windows Server 2012 R2

    2. Penerima Sertifikat: Windows 8.1/Windows Server 2012 R2

  2. Pengaturan kriptografi tidak dikonfigurasi dengan benar. Pastikan bahwa mereka dikonfigurasi sebagai berikut:

    1. Kategori Penyedia: Penyedia Penyimpanan Kunci

    2. Nama Algoritma: RSA

    3. Penyedia: Penyedia Kripto Platform Microsoft

  3. Pengaturan penanganan permintaan tidak dikonfigurasi dengan benar. Pastikan bahwa mereka dikonfigurasi sebagai berikut:

    1. Opsi Izinkan kunci privat untuk diekspor tidak boleh dipilih.

    2. Opsi Kunci privat enkripsi subjek Arsip tidak boleh dipilih.

Verifikasi perangkat TPM untuk pengesahan

Gunakan cmdlet Windows PowerShell, Confirm-CAEndorsementKeyInfo, untuk memverifikasi bahwa perangkat TPM tertentu dipercaya untuk pengesahan oleh CA. Ada dua opsi: satu untuk memverifikasi EKCert, dan yang lainnya untuk memverifikasi EKPub. Cmdlet dijalankan secara lokal pada CA, atau pada CA jarak jauh dengan menggunakan jarak jauh Windows PowerShell.

  1. Untuk memverifikasi kepercayaan pada EKPub, lakukan dua langkah berikut:

    1. Ekstrak EKPub dari komputer klien: EKPub dapat diekstrak dari komputer klien melalui Get-TpmEndorsementKeyInfo. Dari prompt perintah yang ditingkatkan, jalankan yang berikut ini:

      PS C:>\$a=Get-TpmEndorsementKeyInfo -hashalgorithm sha256
      
    2. Verifikasi kepercayaan pada EKCert di komputer CA: Salin string yang diekstrak (hash SHA-2 dari EKPub) ke server (misalnya, melalui email) dan teruskan ke cmdlet Confirm-CAEndorsementKeyInfo. Perhatikan bahwa parameter ini harus 64 karakter.

      Confirm-CAEndorsementKeyInfo [-PublicKeyHash] <string>
      
  2. Untuk memverifikasi kepercayaan pada EKCert, lakukan dua langkah berikut:

    1. Ekstrak EKCert dari komputer klien: EKCert dapat diekstrak dari komputer klien melalui Get-TpmEndorsementKeyInfo. Dari prompt perintah yang ditingkatkan, jalankan yang berikut ini:

      PS C:>\$a=Get-TpmEndorsementKeyInfo
      PS C:>\$a.manufacturerCertificates|Export-Certificate -filepath c:\myEkcert.cer
      
    2. Verifikasi kepercayaan pada EKCert di komputer CA: Salin EKCert (EkCert.cer) yang diekstrak ke CA (misalnya, melalui email atau xcopy). Sebagai contoh, jika Anda menyalin file sertifikat folder "c:\diagnose" di server CA, jalankan yang berikut ini untuk menyelesaikan verifikasi:

      PS C:>new-object System.Security.Cryptography.X509Certificates.X509Certificate2 "c:\diagnose\myEKcert.cer" | Confirm-CAEndorsementKeyInfo
      

Lihat Juga

Gambaran UmumTeknologi Modul Platform Tepercaya Sumber Daya Eksternal: Modul Platform Tepercaya