Memahami Protokol dan Rangkaian Sandi TLS
Dalam mengamankan komunikasi jaringan, Transport Layer Security (TLS) mengandalkan kombinasi protokol dan rangkaian sandi (cipher suites) untuk menjaga kerahasiaan, integritas, dan autentikasi data. Setiap kali koneksi TLS dibuat, klien dan server melakukan proses jabat tangan (handshake) untuk menyepakati parameter kriptografi yang akan digunakan.
Menganalisis hasil pemindaian TLS atau ringkasan jabat tangan sangat penting bagi pengembang, Site Reliability Engineer (SRE), dan peninjau keamanan. Analisis ini membantu mengidentifikasi apakah konfigurasi server masih menggunakan algoritme lama yang rentan atau sudah menerapkan standar modern yang aman. Pemeriksa Rangkaian Sandi TLS dirancang untuk membaca teks dari pemindai TLS, perintah openssl s_client, atau ringkasan analisis paket guna memetakan parameter tersebut secara instan.
Cara Kerja Analisis Teks TLS
Alat ini bekerja dengan menganalisis teks yang Anda berikan secara statis. Alat ini tidak melakukan pemindaian langsung ke server atau terhubung ke host mana pun di internet. Batas karakter teks yang dapat dimasukkan adalah di bawah 200.000 karakter, dan alat ini tidak mendukung file biner mentah atau file pengambilan paket (pcap).
Saat Anda menempelkan teks, alat akan memindai dan mengenali nama umum IANA, alias OpenSSL, serta beberapa ID rangkaian heksadesimal yang sering digunakan. Berdasarkan data tersebut, alat akan mengelompokkan temuan ke dalam beberapa kategori peran parameter:
- Dinegosiasikan: Protokol atau rangkaian sandi yang akhirnya dipilih dan disepakati oleh kedua belah pihak untuk mengamankan sesi.
- Ditawarkan: Daftar protokol atau rangkaian sandi yang diajukan oleh klien (ClientHello) sebagai opsi yang didukung.
- Diamati: Parameter yang terdeteksi selama pemantauan atau pencatatan aktivitas lalu lintas data.
Penilaian dan Klasifikasi Rangkaian Sandi
Setiap rangkaian sandi yang terdeteksi akan diberikan label penilaian untuk menentukan tingkat keamanannya:
- Modern: Rangkaian sandi yang menggunakan algoritme kuat dan memenuhi standar keamanan industri saat ini.
- Ulasan: Rangkaian sandi yang memerlukan evaluasi lebih lanjut karena kondisi penggunaan tertentu.
- Tidak digunakan lagi: Rangkaian sandi yang sudah usang dan sebaiknya dinonaktifkan karena adanya kerentanan.
- Tidak diketahui: Rangkaian sandi yang tidak terdaftar dalam peta bawaan alat.
Jika rangkaian sandi tidak dikenali, alat akan menampilkan pesan: "Suite ini tidak ada dalam peta suite umum bawaan. Periksa dokumentasi registri atau pemindai IANA saat ini.".
Algoritme Lama dan Temuan Keamanan
Analisis terhadap komponen kriptografi dalam rangkaian sandi dapat menghasilkan beberapa temuan spesifik terkait algoritme lama atau lemah yang terdeteksi di dalam teks:
Masalah Enkripsi dan Sandi Blok
- RC4: RC4 tidak digunakan lagi dan tidak boleh dinegosiasikan.
- DES: DES tidak aman untuk penggunaan umum TLS.
- 3DES: 3DES memiliki ukuran blok yang kecil dan tidak digunakan lagi untuk TLS.
- NULL: Enkripsi NULL tidak memberikan kerahasiaan.
- EXPORT: Suite EXPORT sengaja menggunakan kriptografi yang lemah dan tidak digunakan lagi.
- CBC: Suite CBC adalah yang lama. Lebih suka suite AEAD seperti AES-GCM atau ChaCha20-Poly1305.
- CCM-8: CCM-8 menggunakan tag autentikasi yang lebih pendek dan memerlukan tinjauan khusus protokol.
Masalah Autentikasi dan Pertukaran Kunci
- Anonim: Suite anonim tidak mengautentikasi rekannya dan rentan terhadap intersepsi.
- RSA Statis: Pertukaran kunci RSA statis tidak memberikan kerahasiaan ke depan (forward secrecy). Tanpa forward secrecy, jika kunci privat server bocor di masa depan, semua lalu lintas data masa lalu yang pernah direkam dapat didekripsi.
Masalah Fungsi Hash
- MD5: MD5 tidak aman untuk penggunaan umum TLS.
- SHA-1: Suite ini menggunakan SHA-1, yang tidak digunakan lagi untuk penggunaan umum TLS.
Perbedaan Mekanisme pada TLS 1.3
Pada versi protokol TLS yang lebih lama, seperti TLS 1.2, rangkaian sandi menentukan seluruh parameter jabat tangan, termasuk pertukaran kunci (misalnya ECDHE atau RSA), autentikasi (misalnya RSA atau ECDSA), enkripsi simetris (misalnya AES-GCM), dan fungsi hash (misalnya SHA256) dalam satu nama terpadu.
Namun, TLS 1.3 menegosiasikan pertukaran kunci dan otentikasi secara terpisah dari cipher suite. Oleh karena itu, nama rangkaian sandi TLS 1.3 hanya mencantumkan algoritme enkripsi rekaman dan hash jabat tangan. Informasi pertukaran kunci tidak dapat disimpulkan hanya dari nama suite saja.
Batasan Analisis Statis
Penting untuk dipahami bahwa alat ini melakukan analisis statis murni berdasarkan teks yang Anda tempelkan. Alat ini tidak melakukan verifikasi sertifikat digital, tidak mengukur ukuran kunci enkripsi yang sebenarnya digunakan saat jabat tangan aktif, tidak menguji ketahanan server terhadap serangan penurunan versi (downgrade attacks), serta tidak dapat menampilkan seluruh daftar rangkaian sandi yang didukung oleh server jika informasi tersebut tidak tertulis dalam teks input Anda.
Privasi dan Pemrosesan Data
Detail TLS yang Anda tempel tetap ada di browser Anda. BroBroGo tidak mengunggah atau menyimpannya. Seluruh proses ekstraksi teks dan pencocokan pola dilakukan secara lokal pada perangkat Anda.
Pertanyaan yang Sering Diajukan (FAQ)
Format keluaran TLS manakah yang dapat saya tempel?
Tempelkan teks dari pemindai TLS umum, openssl s_client, ringkasan analisis paket, atau catatan singkat ClientHello atau ServerHello. Pemeriksa mengenali nama umum IANA, alias OpenSSL, dan beberapa ID rangkaian heksadesimal umum; itu tidak memecahkan kode byte paket mentah.
Mengapa rangkaian sandi TLS 1.3 tidak menampilkan RSA atau ECDHE?
Nama cipher suite TLS 1.3 menjelaskan enkripsi rekaman dan hash jabat tangan. Pertukaran kunci dan otentikasi dinegosiasikan secara terpisah, sehingga tidak dapat disimpulkan hanya dari nama suite saja.
Apakah hasil ini membuktikan bahwa server aman?
Tidak. Ini hanya menjelaskan teks yang Anda tempel. Itu tidak terhubung ke host, memverifikasi sertifikat, mengukur ukuran kunci, menguji perilaku penurunan versi, atau menampilkan setiap suite yang diterima server.
Bagaimana jika alat tidak menemukan versi protokol atau rangkaian sandi dalam teks saya?
Jika tidak ada versi protokol yang terdeteksi, alat akan menampilkan pesan "Tidak ada versi protokol yang ditemukan dalam teks yang disediakan.". Jika tidak ada rangkaian sandi yang terdeteksi, akan muncul pesan "Tidak ada rangkaian sandi yang ditemukan dalam teks yang disediakan.". Jika input sama sekali tidak dikenali, Anda akan melihat pesan kesalahan "Tidak ada versi TLS atau rangkaian sandi yang dikenali. Tempel bidang pemindai atau jabat tangan yang dapat dibaca.".