Bagikan melalui


Konsep Dasar

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 antar 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 menentukan struktur data JWK Set JSON yang mewakili set JWK.

Penyedia pengesahan

Penyedia pengesahan milik penyedia sumber Azure bernama Microsoft.Attestation. Penyedia sumber adalah titik akhir layanan yang menyediakan kontrak REST Azure Attestation dan disebarkan menggunakan Azure Resource Manager. Setiap penyedia pengesahan memenuhi 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 guna mengetahui detail lebih lanjut tentang kebijakan default untuk SGX.

Permintaan pengesahan

Permintaan pengesahan adalah objek JSON berseri yang dikirim oleh aplikasi klien ke penyedia pengesahan. Objek permintaan untuk enklave 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 bahwa hash SHA256 dari Data Yang Dipegang Enklave yang disediakan dinyatakan dalam 32 byte pertama dari bidang reportData dalam kuotasi.

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 meneruskan semua kebijakan tidak menghasilkan token JWT yang dikeluarkan.

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 menentukan 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 untuk memastikan bahwa kebijakan yang dikirimkan pelanggan tidak diubah.

Dalam model terisolasi, admin membuat penyedia pengesahan yang menentukan set sertifikat X.509 penandatanganan tepercaya dalam file. Admin 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 mengetahui sampelnya.

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 sebagaimana ditentukan oleh protokol OpenID Connect Discovery. API mengambil metadata tentang sertifikat penandatanganan yang digunakan oleh Azure Attestation.

Lihat contoh token pengesahan.

Enkripsi data tidak aktif

Untuk melindungi data pelanggan, Azure Attestation tetap memiliki data di Azure Storage. Penyimpanan Azure menyediakan enkripsi data tidak aktif saat data ditulis ke pusat data, dan mendekripsinya bagi pelanggan untuk mengaksesnya. Enkripsi ini tejadi dengan menggunakan kunci enkripsi terkelola Microsoft.

Selain melindungi data dalam penyimpanan Azure, Azure Attestation juga memanfaatkan Azure Disk Encryption (ADE) untuk mengenkripsi komputer virtual layanan. Untuk Azure Attestation yang berjalan di enklave komputasi rahasia Azure, ekstensi Azure Disk Encryption saat ini tidak didukung. Dalam skenario seperti itu, untuk mencegah data disimpan dalam memori, file halaman dinonaktifkan.

Tidak ada data pelanggan yang ditahan pada hard disk drive lokal instans Azure Attestation.

Langkah berikutnya