Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini mendefinisikan beberapa konsep dasar yang terkait dengan Microsoft Azure Attestation.
JSON Web Token (JWTs)
JSON Web Token (JWT) adalah metode RFC7519 standar terbuka untuk mengirimkan informasi antara pihak dengan aman sebagai objek JavaScript Object Notation (JSON). Informasi ini dapat diverifikasi dan dipercaya karena ditandatangani secara digital. JSON Web Token dapat ditandatangani menggunakan rahasia atau pasangan kunci publik/privat.
JSON Web Key (JWK)
JSON Web Key (JWK) adalah struktur data JSON yang mewakili kunci kriptografi. Spesifikasi ini juga mendefinisikan struktur data JWK Set JSON yang mewakili sekumpulan JWK.
Penyedia pengesahan
Penyedia pengesahan milik penyedia sumber daya Azure bernama Microsoft.Attestation. Penyedia sumber daya adalah titik akhir layanan yang menyediakan kontrak REST Azure Attestation dan disebarkan menggunakan Azure Resource Manager. Setiap penyedia pengesahan mematuhi kebijakan tertentu yang dapat ditemukan. Penyedia pengesahan dibuat dengan kebijakan default untuk setiap jenis pengesahan (perhatikan bahwa enklave VBS tidak memiliki kebijakan default). Lihat contoh kebijakan pengesahan untuk detail selengkapnya tentang kebijakan default untuk SGX.
Permintaan pengesahan
Permintaan pengesahan adalah objek JSON berseri yang dikirim oleh aplikasi klien ke penyedia pengesahan. Objek permintaan untuk enclave SGX memiliki dua properti:
- "Quote" – Nilai properti "Quote" adalah string yang berisi representasi base64URL yang dikodekan dari kutipan pengesahan.
- "EnclaveHeldData" – Nilai properti "EnclaveHeldData" adalah string yang berisi representasi base64URL yang dikodekan dari Enclave Held Data.
Azure Attestation memvalidasi "Kutipan" yang disediakan untuk memastikan hash SHA256 dari Data Yang Dipegang Enklave yang disediakan dinyatakan dalam 32 byte pertama dari field reportData pada kutipan tersebut.
Kebijakan pengesahan
Kebijakan pengesahan digunakan untuk memproses bukti pengesahan dan dapat dikonfigurasi oleh pelanggan. Inti dari Azure Attestation adalah mesin kebijakan, yang memproses klaim yang merupakan bukti. Kebijakan digunakan untuk menentukan apakah Azure Attestation akan mengeluarkan token pengesahan berdasarkan bukti (atau tidak), dan dengan demikian didukung Attester (atau tidak). Oleh karena itu, kegagalan untuk memenuhi semua kebijakan mengakibatkan tidak ada token JWT yang diterbitkan.
Jika kebijakan default di penyedia pengesahan tidak memenuhi kebutuhan, pelanggan dapat membuat kebijakan kustom di salah satu wilayah yang didukung oleh Azure Attestation. Manajemen kebijakan adalah fitur utama yang disediakan untuk pelanggan oleh Azure Attestation. Kebijakan adalah jenis pengesahan tertentu dan dapat digunakan untuk mengidentifikasi enklave atau menambahkan klaim ke token output atau memodifikasi klaim dalam token output.
Lihat contoh kebijakan pengesahan.
Manfaat penandatanganan kebijakan
Kebijakan pengesahan adalah apa yang pada akhirnya menentukan apakah token pengesahan dikeluarkan oleh Azure Attestation. Kebijakan juga menentukan klaim yang akan dihasilkan dalam token pengesahan. Sangat penting bahwa kebijakan yang dievaluasi oleh layanan adalah kebijakan yang ditulis oleh administrator, dan bahwa kebijakan tersebut belum dirusak atau dimodifikasi oleh entitas eksternal.
Model kepercayaan mendefinisikan model otorisasi penyedia pengesahan untuk menentukan dan memperbarui kebijakan. Dua model didukung - satu berdasarkan otorisasi Microsoft Entra dan satu berdasarkan kepemilikan kunci kriptografi yang dikelola pelanggan (disebut sebagai model terisolasi). Model terisolasi memungkinkan Azure Attestation memastikan kebijakan keamanan yang dikirimkan pelanggan tidak diubah.
Dalam model terisolasi, administrator membuat penyedia atestasi dengan menentukan serangkaian sertifikat X.509 penandatanganan tepercaya dalam sebuah file. Administrator kemudian dapat menambahkan kebijakan yang ditandatangani ke penyedia pengesahan. Azure Attestation, saat memproses permintaan pengesahan, memvalidasi tanda tangan kebijakan menggunakan kunci publik yang diwakili oleh parameter "jwk" atau "x5c" di header. Azure Attestation memverifikasi apakah kunci publik di header permintaan ada dalam daftar sertifikat penandatanganan tepercaya yang terkait dengan penyedia pengesahan. Dengan cara ini, pihak yang mengandalkan (Azure Attestation) dapat mempercayai kebijakan yang ditandatangani menggunakan sertifikat X.509 yang diketahuinya.
Lihat contoh sertifikat penanda tangan kebijakan untuk sampel.
Token pengesahan
Respons Azure Attestation adalah string JSON yang nilainya berisi JWT. Azure Attestation mengemas klaim dan menghasilkan JWT yang ditandatangani. Operasi penandatanganan dilakukan menggunakan sertifikat yang ditandatangani sendiri dengan nama subjek yang cocok dengan elemen AttestUri dari penyedia pengesahan.
Get OpenID Metadata API mengembalikan respons Konfigurasi OpenID seperti yang ditentukan oleh protokol OpenID Connect Discovery. API mengambil metadata tentang sertifikat penandatanganan yang digunakan oleh Azure Attestation.
Lihat contoh token pengesahan.
Enkripsi data dalam penyimpanan
Untuk melindungi data pelanggan, Azure Attestation mempertahankan datanya di Azure Storage. Penyimpanan Azure menyediakan enkripsi data saat disimpan di pusat data, dan mendekripsinya agar pelanggan dapat mengaksesnya. Enkripsi ini terjadi menggunakan kunci enkripsi terkelola Microsoft.
Selain melindungi data di penyimpanan Azure, Azure Attestation juga memanfaatkan Azure Disk Encryption (ADE) untuk mengenkripsi VM layanan. Untuk Azure Attestation yang berjalan di enklave di lingkungan komputasi rahasia Azure, ekstensi ADE saat ini tidak didukung. Dalam skenario seperti itu, untuk mencegah data disimpan dalam memori, file halaman dinonaktifkan.
Tidak ada data pelanggan yang dipertahankan pada hard disk drive lokal instans Azure Attestation.