Berita teknologi terbaru, didukung oleh insight dari pakar
Tetap terinformasi tentang tren industri yang paling penting—dan menarik—tentang AI, otomatisasi, data, dan di luarnya dengan buletin Think. Lihat Pernyataan Privasi IBM®.
Transport Layer Security (TLS) adalah protokol kriptografi yang membantu mengamankan komunikasi melalui jaringan komputer yang tidak dilindungi, seperti Internet.
Melalui berbagai teknik kriptografi asimetris dan simetris, TLS menyediakan autentikasi menyeluruh, kerahasiaan, dan integritas data. Perlindungan ini berlaku pada berbagai komunikasi jaringan, termasuk email, perpesanan, voice over IP (VoIP), dan jaringan pribadi virtual (VPN).
TLS dikenal luas sebagai protokol untuk membangun koneksi aman dalam penjelajahan web. Ini menjadi dasar Hypertext Transfer Protocol Secure (HTTPS), protokol lapisan aplikasi yang memungkinkan pertukaran data terenkripsi antara aplikasi web dan sebagian besar browser web utama.
Protokol enkripsi TLS memiliki dua lapisan: protokol jabat tangan TLS dan protokol catatan TLS. Protokol handshake mengautentikasi server web dan klien (perangkat yang terhubung ke server). Protokol jabat tangan mengautentikasi server web dan klien (perangkat yang terhubung ke server).
Lapisan ini berada di atas protokol transport, seperti pada model Transmission Control Protocol/Internet Protocol (TCP/IP)—serangkaian protokol yang menetapkan standar komunikasi antar komputer dan dianggap sebagai “perekat yang menyatukan Internet.”1
Tetap terinformasi tentang tren industri yang paling penting—dan menarik—tentang AI, otomatisasi, data, dan di luarnya dengan buletin Think. Lihat Pernyataan Privasi IBM®.
Protokol TLS adalah penerus standar protokol Secure Sockets Layer (SSL) yang dikembangkan oleh Netscape Communications Corporation. Pada 1996, Internet Engineering Task Force (IETF) secara resmi menstandardisasi protokol SSL.
Pada Januari 1999, IETF melakukan perbaikan dan mengatasi kerentanan pada versi SSL terbaru (SSL 3.0), dan mengganti namanya menjadi Transport Layer Security. Hal ini secara formal didefinisikan dalam Permintaan Komentar (RFC) 2246. Saat ini, istilah “TLS” dan “SSL” sering digunakan secara bergantian atau bergaya sebagai TLS/SSL.
Disebut sebagai "protokol keamanan paling penting di Internet" oleh IETF, TLS sangat penting untuk melindungi komunikasi online dari akses yang tidak sah. Versi terbarunya, TLS 1.3, memberikan keamananyang lebih kuat dan lebih cepat—dan berfungsi sebagai tulang punggung dunia digital yang aman saat ini.
Hampir 68% populasi global terhubung ke internet,2 dengan miliaran orang bergantung pada internet setiap hari untuk berbagai keperluan, mulai dari berbelanja dan perbankan hingga layanan kesehatan dan komunikasi personal. Dalam semua contoh penggunaan ini, menjaga data sensitif sangat penting. Itu berarti melindunginya dari peretas, gangguan, penyadapan, dan ancaman keamanan siber lainnya seperti pelanggaran data, malware atau serangan man-in-the-middle.
TLS secara khusus mendukung HTTPS, protokol keamanan standar untuk situs web. Ikon gembok HTTPS, yang kini umum di peramban web, menandakan kepada pengguna bahwa situs web tersebut tepercaya dan aman.
Ikon juga menunjukkan bahwa situs web memiliki sertifikat TLS yang valid (juga dikenal sebagai sertifikat SSL). Kredensial digital ini, yang diterbitkan oleh otoritas sertifikat (CA), memverifikasi identitas sebuah situs web dan memfasilitasi koneksi terenkripsi. Untuk mengilustrasikan skala penggunaan TLS dan HTTPS: satu penyedia sertifikat TLS utama mengeluarkan lebih dari 340.000 sertifikat per jam.
TLS memastikan komunikasi internet aman dengan menegakkan tiga properti utama saluran aman:
Memverifikasi identitas pengirim dan penerima, serta asal dan tujuan data.
Memastikan data hanya dapat diakses oleh penerima yang dituju.
Memastikan data tidak dapat dimodifikasi dalam penyimpanan atau transmisi tanpa perubahan terdeteksi.
Transport Layer Security efektif karena bergantung pada proses kriptografi untuk mengamankan informasi yang dikirimkan.
Kriptografi berasal dari kata Yunani "kryptos", yang berarti "tersembunyi." Tujuan utama kriptografi adalah untuk melindungi dan menyembunyikan komunikasi dengan menggunakan enkripsi—suatu proses di mana algoritma kompleks mengubah pesan yang dapat dibaca (plaintext) menjadi pesan terenkripsi (ciphertext). Ciphertext hanya dapat didekripsi ke dalam format yang dapat dibaca oleh penerima yang berwenang menggunakan kunci tertentu.
Dalam konteks kriptografi—seperti enkripsi TLS—kunci adalah serangkaian angka atau huruf acak. Ketika digunakan dengan algoritme kriptografi, algoritme ini mengenkripsi (mengunci) atau mendekripsi (membuka) informasi. Algoritma yang digunakan untuk mengenkripsi dan mendekripsi data yang dikirimkan melalui jaringan umumnya dibagi menjadi dua kategori: kriptografi kunci rahasia dan kriptografi kunci publik.
Juga dikenal sebagai enkripsi simetris atau kriptografi kunci simetris, sistem ini menggunakan satu kunci bersama untuk mengenkripsi dan mendekripsi data sensitif. Enkripsi simetris sederhana dan efisien tetapi bergantung pada pertukaran kunci yang aman dan manajemen kunci yang cermat.
Sebagian besar data sensitif yang dikirim dalam sesi TLS dikirim menggunakan kriptografi kunci rahasia. TLS menggunakan fungsi hash kriptografi untuk membantu memastikan privasi dan integritas data. Fungsi hash menghasilkan nilai hash berukuran tetap dari data input. Nilai ini bertindak sebagai sidik jari digital yang dapat dibandingkan sebelum dan sesudah transmisi. Jika hash telah berubah, itu berarti seseorang telah merusak data.
Kode autentikasi pesan (MAC) mirip dengan hash kriptografi, namun juga mengautentikasi pengirim. Ia menerapkan kunci rahasia ke pesan-pesan hash, dengan hash yang dihasilkan dikenal sebagai kode autentikasi pesan hash (HMAC).
Juga disebut sebagai kriptografi asimetris atau enkripsi kunci publik, sistem ini menggunakan sepasang kunci yang terhubung secara matematis—satu publik, satu pribadi—untuk mengenkripsi dan mendekripsi data. Hal ini memungkinkan orang dan sistem untuk bertukar informasi sensitif tanpa perlu berbagi kunci rahasia terlebih dahulu. Ini sebanding dengan kotak surat: siapa pun dapat menyisipkan surat, tetapi hanya pemiliknya yang dapat buka dan mengambil isinya.
Kemampuan ini membantu membangun kepercayaan saat diintegrasikan dengan infrastruktur kunci publik (PKI). Misalnya, sertifikat kunci publik (juga dikenal sebagai sertifikat digital atau sertifikat SSL/TLS) mengikat kunci publik ke identitas yang terverifikasi melalui otoritas sertifikat.
Mereka juga menjadi dasar untuk tanda tangan digital—sebuah komponen dari sertifikat digital yang digunakan dalam TLS untuk mengautentikasi klien atau server web. Setelah hash kriptografi dibuat untuk pesan, hash dienkripsi dengan kunci pribadi pengirim.
Hash terenkripsi ini merupakan tanda tangan digital. Tanda tangan dapat diverifikasi oleh siapa pun menggunakan kunci publik, yang memastikan identitas pengirim dan integritas data.
Protokol TLS memiliki dua subprotokol: protokol handshake TLS dan protokol catatan TLS. Langkah-langkah yang tepat dapat bervariasi tergantung pada versi TLS.
Jabat tangan TLS membuat koneksi aman antara klien dan server web. Menggunakan kriptografi kunci publik, server diautentikasi (dan terkadang klien) menggunakan sertifikat digital. Klien dan server kemudian menyetujui rangkaian cipher (seperangkat algoritma enkripsi) dan melakukan pertukaran kunci untuk membuat kunci sesi bersama dengan aman (kunci rahasia untuk enkripsi dan hashing).
Setelah kunci sesi dibuat, sesi aman dianggap disiapkan. Mulai dari titik ini, enkripsi kunci publik tidak lagi digunakan, dan semua data yang dikirimkan selanjutnya dienkripsi dan diverifikasi menggunakan kriptografi kunci rahasia.
(Untuk detail lebih lanjut, lihat: “Apa saja langkah-langkah handshake TLS?”)
Protokol rekaman bertanggung jawab mengamankan data yang dikirim selama koneksi TLS. Untuk itu, sistem menggunakan rangkaian dan kunci yang dinegosiasikan selama proses handshake sebagai panduan untuk melindungi data.
Cipher suite menentukan algoritma yang digunakan untuk pertukaran kunci, enkripsi, dan autentikasi pesan. Kunci simetris (rahasia) digunakan untuk mengenkripsi data keluar dan mendekripsi data masuk. Kunci juga digunakan untuk membuat kode autentikasi pesan yang memverifikasi integritas data.
Melalui mekanisme ini, protokol pencatatan memastikan otentikasi, integritas, dan kerahasiaan koneksi.
Langkah jabat tangan TLS bervariasi bergantung pada versi TLS. Penyelesaian memerlukan sekitar 200–300 milidetik, atau serendah 100 milidetik, (bergantung pada latensi, waktu pulang pergi (RTT), kinerja server, dan faktor jaringan lainnya).
Ilustrasi ini menggunakan TLS 1.3, yang merupakan versi TLS tercepat, terbaru dan lebih aman.
Klien mengirimkan pesan ClientHello dengan versi TLS yang didukung (TLS 1.3), rangkaian sandi, string byte acak (client_random), dan kunci bersama sementara—menggunakan metode pertukaran kunci Elliptic Curve Diffie-Hellman Ephemeral (ECDHE).
Server merespons dengan pesan ServerHello yang berisi rangkaian enkripsi yang dipilih, string byte acak lain (server_random), dan kunci sementara miliknya sendiri. Langkah ini menetapkan parameter untuk pertukaran kunci.
Sekarang, kedua belah pihak dapat menghitung rahasia bersama menggunakan ECDHE. Rahasia bersama ini digunakan untuk mendapatkan kunci handshake.
Server kemudian mengirimkan sertifikat digital, pesan CertificateVerify (yang ditandatangani dengan kunci pribadi server), dan pesan Finished (yang dienkripsi dengan kunci handshake).
(Opsional: Jika server memerlukan otentikasi klien, server akan mengirimkan CertificateRequest. Klien kemudian merespons dengan sertifikat dan pesan CertificateVerify.)
Klien memverifikasi bahwa sertifikat server diterbitkan oleh otoritas sertifikat tepercaya, valid, tidak dicabut, dan domainnya sesuai. Ini juga memverifikasi pesan CertificateVerify server menggunakan kunci publik server dalam sertifikat, serta pesan Finished menggunakan kunci handshake.
Klien mengirimkan pesan Finished (Selesai) menggunakan kunci handshake, lalu handshake dikonfirmasi selesai.
Pada titik ini, kedua belah pihak telah saling mengautentikasi dan menetapkan kunci rahasia bersama. Mereka sekarang dapat bertukar pesan menggunakan enkripsi simetris.
Metode pertukaran kunci membantu pengguna bertukar kunci kriptografi dengan aman. Ada beberapa metode pertukaran kunci yang digunakan untuk mengimplementasikan TLS, termasuk:
Diffie-Hellman adalah salah satu metode pertukaran kunci yang paling umum. Ini adalah protokol pertukaran kunci asimetris yang memungkinkan dua pihak—yang tidak memiliki pengetahuan sebelumnya satu sama lain—untuk menghasilkan kunci rahasia bersama untuk komunikasi aman melalui saluran yang tidak aman. Keamanannya bergantung pada kesulitan memecahkan masalah logaritma diskrit, masalah matematika kompleks yang membuatnya secara komputasi tidak layak untuk menguraikan rahasia bersama.
Ada beberapa variasi pertukaran kunci Diffie-Hellman, termasuk:
RSA adalah algoritma enkripsi asimetris yang bergantung pada kompleksitas matematis dalam memfaktorkan bilangan prima besar untuk menghasilkan pasangan kunci. Solusi ini menggunakan pasangan kunci publik-pribadi untuk enkripsi dan dekripsi, sehingga cocok untuk transmisi data yang aman dan tanda tangan digital. RSA tidak didukung dalam TLS 1.3 untuk pertukaran kunci karena masalah keamanan (yaitu, tidak menyediakan kerahasiaan ke depan). Namun, dapat digunakan untuk otentikasi.
PSK (Pre-Shared Key) adalah kunci rahasia yang dibagikan sebelumnya antara dua pihak melalui saluran aman sebelum sesi TLS dimulai. Pengguna dapat menetapkan PSK selama proses handshake TLS dan menggunakannya kembali untuk membuat koneksi baru pada handshake berikutnya; ini disebut pemulihan sesi dengan PSK. Disarankan menggunakan PSK dengan DHE atau ECDHE untuk memberikan kerahasiaan ke depan.
Sejak rilis awal TLS 1.0 pada tahun 1999 (yang merupakan peningkatan ke SSL versi 3.0), IETF telah merilis tiga versi TLS berikutnya:
Perlu dicatat, meskipun TLS 1.3 dapat diimplementasikan dengan mode kompatibilitas mundur, versi ini tidak sepenuhnya kompatibel dengan TLS versi sebelumnya.
IBM® Cloud Infrastructure Center adalah platform perangkat lunak yang kompatibel dengan OpenStack yang dirancang untuk mengelola infrastruktur cloud pribadi yang berjalan di IBM® zSistem dan IBM® LinuxONE.
Menyediakan infrastruktur yang aman dan siap AI di seluruh lingkungan hybrid cloud
Percepat, amankan, dan optimalkan infrastruktur hybrid cloud dan perusahaan Anda dengan bimbingan pakar dari IBM® Technology Expert Labs.