
Salah satu hal hebat tentangnya sumber terbuka adalah ketersediaan pendekatan yang beragam. Artikel ini membahas pentingnya skalabilitas kinerja di perpustakaan SSL/TLS, dengan menggunakan perubahan terkini dalam ekosistem OpenSSL sebagai studi kasus. Kami berterima kasih atas proyek sumber terbuka dan kontribusinya kepada dunia
Direktur Pemasaran Teknis di HAProxy Technologies.
OpenSSL, perpustakaan SSL yang paling banyak digunakan di sistem operasimengalami kemunduran kinerja yang parah dengan rilis 3.0-nya. Dirancang untuk meningkatkan keamanan dan modularitas, arsitektur baru ini memperkenalkan regresi kinerja yang signifikan dalam lingkungan multi-thread.
Secara khusus, kinerjanya stagnan di sekitar 24 thread, tanpa dapat memanfaatkan lebih banyak thread.
Penting untuk dicatat bahwa versi 3.5 LTS yang baru memperbaiki banyak masalah kinerja di 3.0. Namun, meskipun kinerja versi 3.5 jauh lebih baik daripada versi 3.0, versi ini masih belum secepat 1.1.1.
Situasi telah stabil, dengan tingkat kinerja saat ini mewakili dasar baru untuk OpenSSL, meskipun perkembangan yang sedang berlangsung masih dapat diantisipasi. Mari kita nantikan versi 3.6, yang akan dirilis pada bulan Oktober (kami belum mengujinya).
Terlepas dari tantangan kinerja ini, OpenSSL tetap menjadi landasan komunikasi internet yang aman, dan evolusinya mencerminkan trade-off kompleks yang melekat pada proyek sumber terbuka berskala besar.
Namun, ini sebenarnya lebih besar dari OpenSSL. Kenyataannya adalah masalah kinerja yang ditemukan di OpenSSL 3.x menyoroti potensi risiko pada alat yang kami gunakan untuk menghubungkan dunia digital.
Hal ini menghadirkan tantangan nyata bagi industri ini, karena “ancaman diam-diam terhadap skalabilitas” ini mungkin masih belum terdeteksi hingga saat ini proyek upaya untuk melakukan penskalaan, yang mengakibatkan kemacetan yang tidak terduga dan peningkatan biaya infrastruktur secara drastis.
Memahami masalah ini (dan cara memperbaikinya) sangat penting untuk keberhasilan proyek apa pun yang perlu melayani lebih dari sekadar tingkat lalu lintas dasar.
Peran lapisan SSL/TLS
Pertimbangkan betapa SSL (Secure Sockets Layer), atau lebih tepatnya TLS (Transport Layer Security), ada di mana-mana saat ini. Ini adalah protokol keamanan yang membuat tautan terenkripsi antara web server dan peramban. Ini adalah dasar dari komunikasi internet yang aman dan komponen penting dari sebagian besar permintaan internet.
Tautan ini memastikan bahwa semua data yang dikirimkan tetap bersifat pribadi dan aman, itulah sebabnya masalah kinerja signifikan pada SSL/TLS dapat memengaruhi hampir semua hal secara online.
Saat memilih perpustakaan SSL/TLS, organisasi harus mempertimbangkan beberapa aspek utama:
Persyaratan fungsional: Perpustakaan harus menerapkan protokol kriptografi modern dan aman dengan benar.
Persyaratan pemeliharaan: Pustaka memerlukan siklus dukungan yang dapat diprediksi, terutama untuk versi Dukungan Jangka Panjang (LTS), yang sangat penting untuk penerapan jangka panjang yang stabil.
Pertimbangan kinerja: Selain kecepatan mentah, indikator kinerja utama adalah kemampuan perpustakaan untuk menskalakan dengan kekuatan pemrosesan tambahan. Dalam sistem multi-core modern, kinerja diharapkan meningkat seiring dengan bertambahnya jumlah prosesor atau core.
Masalah kinerja pada pustaka SSL/TLS dapat memaksa organisasi berada pada posisi yang sulit: memprioritaskan keamanan dengan mengadopsi versi terbaru, namun kinerjanya terhambat, atau mempertahankan kinerja dengan versi yang lebih lama, yang sekarang tidak didukung, sehingga berisiko menimbulkan kerentanan keamanan yang kritis.
Situasi ini semakin memprihatinkan karena merupakan persoalan yang sistemik. SSL/TLS bukan sekadar perangkat lunak; ini adalah tulang punggung komunikasi yang aman untuk sebagian besar sistem yang terhubung ke internet.
Dari server web hingga perangkat IoT, SSL/TLS ada di mana-mana. Jadi, masalah kinerja apa pun di perpustakaan ini bukanlah satu-satunya insiden, melainkan ancaman terhadap stabilitas dan keamanan internet yang lebih luas infrastruktur.
Perubahan OpenSSL sebenarnya memberikan peluang besar untuk memeriksa bagian tumpukan ini dan memahami bagaimana pilihan arsitektur sering kali melibatkan trade-off. Dengan memahami situasi 4 tahun yang lalu, dan bagaimana proyek ini beradaptasi, kita dapat memahami bagaimana beradaptasi terhadap perubahan lanskap.
Studi kasus dalam penskalaan kinerja
Peluncuran OpenSSL 3.0, pustaka SSL yang paling banyak digunakan dalam sistem operasi, menghadirkan tantangan nyata bagi industri ini. Versi 3.x dirancang agar lebih dinamis dan fleksibel, menguntungkan pengembang dan banyak kasus penggunaan standar yang diterapkannya.
Namun, desain baru ini memiliki konsekuensi yang tidak diinginkan terhadap performa, sehingga kurang cocok untuk beban kerja yang mengutamakan performa. Kinerja yang buruk ini memiliki konsekuensi serius di dunia nyata. Sistem yang dulunya menangani ribuan permintaan per detik mengalami kesulitan.
Beberapa organisasi membutuhkan hingga 42 kali lebih banyak perangkat keras hanya untuk mempertahankan tingkat layanan yang sama. Ini merupakan pukulan besar bagi siapa pun yang mengandalkan lingkungan multi-thread.
Skenario pengujian, termasuk jabat tangan TLS penuh mode server dan koneksi end-to-end dengan dimulainya kembali sesi, menunjukkan penurunan kinerja yang signifikan dibandingkan pendahulunya, versi 1.1.1. Permasalahan utamanya bukan hanya perlambatan namun juga kegagalan untuk melakukan penskalaan secara efektif
Dalam beberapa kasus, perlambatan menjadi lebih buruk ketika Anda menambahkan lebih banyak kekuatan pemrosesan. Ini kebalikan dari apa yang Anda harapkan pada sistem multi-core modern.
Perilaku ini berasal dari perubahan desain mendasar, termasuk pencarian waktu proses, mekanisme penguncian yang berlebihan, dan ketergantungan yang berlebihan pada operasi atom, yang menciptakan hambatan kinerja yang signifikan.
Seperti disebutkan di atas, OpenSSL meresponsnya dengan meningkatkan kinerja pada versi 3.x, dengan versi 3.5 LTS saat ini menunjukkan banyak peningkatan.
Kami tidak ingin berlarut-larut dalam permasalahan masa lalu. Faktanya, bagi banyak orang, OpenSSL terus menjadi pilihan tepat yang memenuhi kebutuhan mereka, dengan desain dinamisnya yang menawarkan keunggulan dibandingkan versi sebelumnya. Memang benar, hal ini sering terjadi, ketika pilihan untuk mengoptimalkan satu bidang (dalam hal ini, fleksibilitas) seringkali dapat menimbulkan trade-off di bidang lain.
Namun, ini adalah studi kasus penting tentang betapa mudahnya kita berpuas diri terhadap komponen yang banyak digunakan dan distandarisasi dalam tumpukan teknologi kita. Hal ini juga menjadi pengingat bahwa ekosistem yang lebih beragam biasanya lebih aman dan lebih baik bagi semua orang.
Menavigasi ekosistem perpustakaan SSL
Tantangan kinerja baru memaksa organisasi berada pada posisi yang sulit. Salah satu caranya adalah dengan menerima penalti kinerja, yang dapat menyebabkan penyediaan perangkat keras yang berlebihan. Bagi banyak orang, ini bukanlah strategi jangka panjang yang layak.
Hal ini mengarah pada jalan alternatif: mencari penggantinya. Gagasan untuk mengganti pustaka kriptografi inti merupakan hal yang menakutkan, dan memang benar bahwa tidak ada alternatif lain yang menawarkan solusi drop-in yang sepenuhnya mulus. Namun, ada alternatif kuat seperti wolfSSL dan AWS-LC, masing-masing memiliki kelebihan.
Pustaka ini mungkin memerlukan pengujian yang cermat untuk diintegrasikan, namun sering kali menawarkan keunggulan kinerja yang menarik. Faktanya, AWS-LC mencapai kinerja multi-thread yang lebih tinggi dibandingkan OpenSSL 1.1.1, yang telah lama menjadi standar utama.
Tantangannya bukan terletak pada kurangnya pilihan yang ada, namun pada upaya yang diperlukan untuk melakukan transisi dari standar yang sudah mengakar kuat. Namun, situasi ini sebenarnya dapat mengarah pada peningkatan kinerja, ekosistem yang lebih beragam, dan kesadaran akan opsi alternatif yang mungkin lebih sesuai untuk skenario tertentu.
Jalan ke depan: Fokus pada kebutuhan masa depan
Performa pustaka SSL/TLS merupakan faktor penting yang mungkin tetap tidak terdeteksi hingga proyek mencoba melakukan skala besar, sehingga mengakibatkan kemacetan yang tidak terduga dan peningkatan biaya infrastruktur. Saat industri menghadapi tantangan ini, proyek harus tetap proaktif mengenai implikasi kinerja dari pustaka SSL pilihan mereka.
Jalan ke depan yang paling menjanjikan melibatkan pertimbangan yang lebih luas terhadap alat-alat yang tersedia. Organisasi didorong untuk memahami alternatif-alternatif yang tidak selalu merupakan pengganti seluruh kasus penggunaan, namun merupakan opsi yang layak untuk skenario spesifik dan sensitif terhadap kinerja.
Anda harus membiasakan diri dengan alternatif untuk membantu memutuskan kapan dan apakah Anda perlu mengganti OpenSSL. Kita dapat memitigasi risiko ini dengan aktif pemantauan kinerja, mempertimbangkan perpustakaan alternatif, dan terlibat dengan komunitas sumber terbuka.
Yang terpenting, kita harus mengingatkan diri kita sendiri untuk tidak berpuas diri dengan tumpukan teknologi kita. Perubahan dapat membawa manfaat atau masalah, namun seringkali juga merupakan peluang.
Untuk analisis komprehensif kinerja OpenSSL 3.x, termasuk tolok ukur terperinci, hasil pembuatan profil, dan perbandingan pustaka alternatif, lihat postingan blog mendalam “The State of SSL Stacks”. Perhatikan bahwa ini berasal dari pengujian internal setahun yang lalu, dan memiliki cakupan terbatas pada versi yang lebih baru.
Kami telah menampilkan komputer bisnis terbaik.
Artikel ini dibuat sebagai bagian dari saluran Expert Insights TechRadarPro tempat kami menampilkan para pemikir terbaik dan tercemerlang di industri teknologi saat ini. Pandangan yang diungkapkan di sini adalah milik penulis dan belum tentu milik TechRadarPro atau Future plc. Jika Anda tertarik untuk berkontribusi, cari tahu lebih lanjut di sini: https://www.techradar.com/news/submit-your-story-to-techradar-pro



