Mengamankan DDS dengan Intel SGX: Bagian 3 – Layanan DDS yang Diperkuat
Ini adalah Bagian 3 dalam seri enam blog tentang topik ini. Jika Anda baru dalam seri ini, silakan baca blog sebelumnya here.
Pada Bagian 2, saya telah menunjukkan cara membuat endpoint yang diperkuat menggunakan RTI Connext DDS Micro + Security, SCONE, dan Intel SGX. Meskipun menarik, kita belum menjelajahi solusi praktis yang mengintegrasikan SGX secara asli. Bagian 1 menyarankan bahwa DDS + SGX lebih mungkin muncul di ruang server daripada pada endpoint IIoT tradisional. Dalam edisi ini, kita fokus pada penerapan nyata aplikasi DDS yang diperkuat SGX melalui pandangan layanan DDS.
Banyak layanan DDS adalah target utama untuk penguatan keamanan. Mereka subscribe ke banyak topik, yang berarti mereka harus menyimpan lebih banyak kunci sementara yang digunakan untuk enkripsi. Kunci ini tinggal dalam memori aplikasi, dan penyerang yang terampil dapat mengekstraksi mereka atau, lebih efektif lagi, membaca atau memodifikasi data saat dalam teks polos tepat sebelum atau setelah dekripsi. Enkripsi alone tidak membantu jika data terungkap dalam memori.
Gambar 1: Permukaan Serangan dalam Lingkungan DDS
Arsitektur kami, yang diperkenalkan pada Bagian 1, memungkinkan paket DDS yang dilindungi tiba di kabel, dirouted ke ruang yang dilindungi SGX sebelum dekripsi, dan kemudian dioperasikan dengan aman. Karena CPU hanya dapat melihat data dalam teks polos di dalam enclave, tidak ada kebutuhan untuk operasi eksotis seperti enkripsi homomorfik. Desain ini menghasilkan keuntungan yang jelas: data terenkripsi melalui jaringan, memasuki enclave yang dilindungi, didekripsi, diproses, dan kemudian dienkripsi ulang untuk lalu lintas keluar.
Karena DDS sudah mengamankan lalu lintas kabel, pendekatan yang sama memungkinkan jaringan heterogen di mana aplikasi non-SGX dapat berkomunikasi dengan yang diaktifkan SGX—termasuk layanan DDS—tanpa mengesampingkan keamanan.
Pertimbangkan RTI Routing Service. Spesifikasi Keamanan DDS OMG menuntut layanan routing beroperasi pada data bersih, bahkan sesaat, dan mempertahankan semua kunci sementara dari setiap endpoint yang telah berkomunikasi dengannya. Saat diposisikan di tepi jaringan, ia menjadi target bernilai tinggi bagi penyerang.

Gambar 2: RTI Routing Service Menyediakan Ruang Terlindungi untuk Aplikasi yang Berjalan di Lingkungan SGX
SCONE menawarkan dukungan transparan bawaan untuk penyimpanan file terenkripsi dan attestasi. Dengan memanfaatkan fitur ini, kita dapat menyimpan kunci pribadi yang digunakan untuk identitas di dalam ruang yang dilindungi yang tidak dapat diakses oleh root atau pengguna lain. Pendekatan ini berlaku untuk semua data yang ditulis aplikasi ke disk.

Gambar 3: DDS dan RTI Routing Service Dilindungi di Lingkungan SCONE
Sebagai contoh, kita dapat menyimpan komunikasi DDS untuk replay yang diizinkan dengan aman. SCONE juga menyediakan dukungan TLS asli untuk komunikasi aman antara kontainer SCONE yang diizinkan, seperti SQLite.
Dengan alat-alat ini, kita dapat membangun infrastruktur di mana data tetap terlindungi sepanjang waktu—bahkan melawan administrator sistem yang berbahaya atau penyerang eksternal. Namun, aplikasi harus terlebih dahulu memverifikasi integritasnya sendiri sebelum mengakses layanan terpercaya, koneksi jaringan, atau penyimpanan aman. Itulah tujuan layanan attestasi.
Layanan attestasi melakukan verifikasi jarak jauh bahwa aplikasi tidak dimodifikasi, autentik, dan berjalan pada CPU SGX yang asli. Meskipun awalnya disediakan secara eksklusif oleh Intel, ekosistem sedang berkembang. Remote attestation mungkin terlihat menakutkan, tetapi dalam praktiknya adalah operasi satu kali yang bertahan melalui reboot. Ini menggunakan instruksi ISA dengan jaminan integritas kriptografis, menyelalkan nilai yang dihasilkan ke disk, dan memungkinkannya digunakan kembali untuk membuktikan keaslian aplikasi kepada mitra jarak jauh. Kemampuan ini sangat berharga dalam sistem terdistribusi di mana kepercayaan antara komponen jarak jauh esensial.
SCONE menyediakan layanan attestasi sendiri. Pemegang lisensi enterprise dapat mengelolanya secara lokal; pengguna non-enterprise dapat mengandalkan layanan attestasi global SCONE, yang akan diperiksa dalam postingan nanti.
Dalam artikel berikutnya, saya akan mengevaluasi biaya implementasi keamanan dalam lingkungan DDS-SGX.