Kontainer rahasia pada Azure Kubernetes Service (AKS) dengan enklave Intel SGX

Kontainer rahasia membantu Anda menjalankan aplikasi kontainer yang tidak dimodifikasi yang ada dari runtime bahasa pemrograman yang paling umum (Python, Node, Java dll.) di Trusted Execution Environment (TEE) berbasis Intel SGX. Model pengemasan ini biasanya tidak memerlukan modifikasi atau kompilasi ulang kode sumber dan merupakan metode tercepat untuk dijalankan di enklave Intel SGX. Proses penyebaran umum untuk menjalankan kontainer docker standar Anda memerlukan Pembungkus SGX Sumber Terbuka atau Solusi Mitra Azure. Dalam model pengemasan dan eksekusi ini, setiap aplikasi kontainer dimuat dalam batas tepercaya (enklave) dan dengan isolasi berbasis perangkat keras yang diberlakukan oleh Intel SGX CPU. Setiap kontainer yang berjalan dalam enklave menerima kunci enkripsi memorinya sendiri yang dikirimkan dari CPU Intel SGX. Model ini berfungsi dengan baik untuk aplikasi kontainer rak yang tersedia di pasar atau aplikasi kustom yang saat ini berjalan pada simpul tujuan umum. Untuk menjalankan kontainer Docker yang ada, aplikasi pada simpul komputasi rahasia memerlukan perangkat lunak pembungkus Intel Software Guard Extensions (SGX) untuk membantu eksekusi kontainer dalam batas set instruksi CPU khusus. SGX membuat eksekusi langsung ke CPU untuk menghapus sistem operasi tamu (OS), OS host, atau hypervisor dari batas kepercayaan. Langkah ini mengurangi area serangan permukaan dan kerentanan secara keseluruhan sambil mencapai isolasi tingkat proses dalam satu simpul.

Proses keseluruhan untuk menjalankan kontainer yang tidak dimodifikasi melibatkan perubahan pada bagaimana kontainer Anda dibungkus hari ini seperti yang dijelaskan di bawah ini.

Diagram of confidential container conversion, with new steps for enabling Intel SGX and AKS.

Perangkat lunak pembungkus SGX yang diperlukan untuk membantu menjalankan kontainer standar ditawarkan oleh mitra perangkat lunak Azure atau solusi Perangkat Lunak Sumber Terbuka (OSS).

Pengaktif mitra

Pengembang dapat memilih penyedia perangkat lunak berdasarkan fitur mereka, integrasi dengan layanan Azure dan dukungan peralatan.

Penting

Mitra perangkat lunak Azure sering melibatkan biaya lisensi di atas infrastruktur Azure Anda. Harap verifikasi semua persyaratan perangkat lunak mitra secara independen.

Fortanix

Fortanix memiliki pengalaman portal dan Antarmuka Tingkat Panggilan (CLI) untuk mengonversi aplikasi kemas mereka menjadi kontainer rahasia berkemampuan SGX. Anda tidak perlu mengubah atau mengkompilasi ulang aplikasi. Fortanix memberikan fleksibilitas untuk menjalankan dan mengelola serangkaian aplikasi yang luas. Anda dapat menggunakan aplikasi yang sudah ada, aplikasi asli enklave baru, dan aplikasi yang sudah dipaketkan sebelumnya. Mulai dengan antarmuka pengguna Manajer Enklave Fortanix atau REST API. Buat kontainer rahasia menggunakan panduan mulai cepat untuk AKS Fortanix.

Diagram of Fortanix deployment process, showing steps to move applications to confidential containers and deploy.

SCONE (Scontain)

Kebijakan keamanan SCONE (Scontain) menghasilkan sertifikat, kunci, dan rahasia. Hanya layanan dengan pengesahan untuk aplikasi yang melihat info masuk ini. Layanan aplikasi secara otomatis melakukan pengesahan satu sama lain melalui TLS. Anda tidak perlu mengubah aplikasi atau TLS. Untuk penjelasan selengkapnya, lihat Demo aplikasi Flask ​​SCONE.

SCONE dapat mengonversi sebagian besar biner yang ada menjadi aplikasi yang berjalan di dalam enklave. SCONE juga melindungi bahasa yang ditafsirkan seperti Python dengan mengenkripsi file data dan file kode Python. Anda dapat menggunakan kebijakan keamanan SCONE untuk melindungi file terenkripsi dari akses, pengubahan, dan pemutaran kembali yang tidak sah. Untuk informasi selengkapnya, lihat dokumentasi SCONE tentang cara menggunakan SCONE dengan aplikasi Python yang ada.

Diagram of SCONE workflow, showing how SCONE processes binary images.

Anda dapat menyebarkan SCONE pada simpul komputasi rahasia Azure dengan AKS setelah penyebaran aplikasi AKS sampel SCONE ini.

Anjuna

Anjuna menyediakan perangkat lunak platform SGX untuk menjalankan kontainer yang tidak diubah di AKS. Untuk informasi selengkapnya, lihat dokumentasi tentang fungsionalitas dan aplikasi contoh.

Memulai dengan Redis Cache dan Aplikasi Kustom Python sampel di sini

Diagram of Anjuna's process, showing how containers are run on Azure confidential computing.

Pengaktif OSS

Catatan

Komputasi rahasia Azure dan Microsoft tidak secara langsung berafiliasi dengan proyek dan solusi ini.

Gramine

Gramine adalah OS tamu yang ringan, dirancang untuk menjalankan satu aplikasi Linux dengan persyaratan host minimal. Gramine dapat menjalankan aplikasi di lingkungan yang terisolasi. Ada dukungan alat untuk mengonversi kontainer Docker yang ada ke kontainer siap SGX.

Untuk informasi selengkapnya, lihat aplikasi contoh dan penyebaran Gramine di AKS

Occlum

Occlum adalah OS pustaka (LibOS) multi-proses yang aman-memori untuk Intel SGX. OS memungkinkan aplikasi warisan berjalan di SGX dengan sedikit atau tanpa perubahan pada kode sumber. Occlum secara transparan melindungi kerahasiaan beban kerja pengguna sekaligus memungkinkan "pengangkatan dan pemindahan" yang mudah ke aplikasi Docker yang ada.

Untuk informasi selengkapnya, lihat instruksi penyebaran Oklum dan contoh aplikasi di AKS.

Marblerun

Marblerun adalah kerangka orkestrasi untuk kontainer rahasia. Anda dapat menjalankan dan menskalakan layanan rahasia di Kube yang diaktifkan SGX. Marblerun menangani tugas boilerplate seperti memverifikasi layanan di kluster Anda, mengelola rahasia untuk mereka, dan membangun koneksi mTLS enklave ke enklave diantara mereka. Marblerun juga memastikan bahwa kluster kontainer rahasia Anda mematuhi manifes yang ditentukan dalam JSON sederhana. Anda dapat memverifikasi manifes dengan klien eksternal melalui pengesahan jarak jauh.

Kerangka kerja ini memperluas properti kerahasiaan, integritas, dan keterverifikasian dari satu enklave ke kluster Kube.

Marblerun mendukung kontainer rahasia yang dibuat dengan Graphene, Occlum, dan EGo, dengan contoh untuk setiap SDK. Kerangka kerja ini berjalan di Kube bersama peralatan cloud-asli Anda yang sudah ada. Ada bagan CLI dan helm. Marblerun juga mendukung node komputasi rahasia di AKS. Ikuti panduan Marblerun untuk menyebarkan Marblerun di AKS.

Arsitektur referensi Kontainer Rahasia

Hubungi

Apakah Anda memiliki pertanyaan tentang implementasi Anda? Apakah Anda ingin menjadi pengaktif untuk kontainer rahasia? Kirim email ke acconaks@microsoft.com.

Langkah berikutnya