Loading AI tools
Dari Wikipedia, ensiklopedia bebas
Keamanan Lapisan Transportasi bahasa Inggris: Transport Layer Security (TLS), dan pendahulunya yang sudah usang, Secure Sockets Layer (SSL),[1] adalah protokol kriptografi yang dirancang untuk memberikan keamanan komunikasi melalui jaringan komputer.[2] Beberapa versi protokol TLS dapat ditemukan penerapannya secara luas seperti di peramban web, surel, pesan instan, dan voice over IP (VoIP). Situs web dapat menggunakan TLS untuk mengamankan semua komunikasi antara peladen dan peramban web.
Protokol TLS bertujuan terutama untuk memberikan privasi dan integritas data antara dua atau lebih aplikasi komputer yang berkomunikasi.[2] Ketika diamankan oleh TLS, koneksi antara klien (misalnya, peramban web) dan peladen (misalnya, wikipedia.org) harus memiliki satu atau beberapa properti berikut:
Selain properti di atas, konfigurasi TLS yang hati-hati dapat memberikan properti terkait privasi tambahan seperti forward secrecy, memastikan bahwa setiap pengungkapan kunci enkripsi di masa depan tidak dapat digunakan untuk mendekripsi setiap komunikasi TLS yang direkam yang sebelumnya.[3]
Aplikasi klien-server menggunakan protokol TLS untuk berkomunikasi melalui jaringan dengan cara yang dirancang untuk mencegah penyadapan dan gangguan.
Karena aplikasi dapat berkomunikasi dengan atau tanpa TLS (atau SSL), maka perlu bagi klien untuk menunjukkan ke server pengaturan koneksi TLS.[4] Salah satu cara utama untuk mencapai ini adalah dengan menggunakan nomor port yang berbeda untuk koneksi TLS, misalnya port 443 untuk HTTPS. Mekanisme lain adalah bagi klien untuk membuat permintaan khusus protokol ke server untuk mengalihkan koneksi ke TLS; misalnya, dengan membuat permintaan STARTTLS saat menggunakan protokol surat dan berita.
Setelah klien dan server setuju untuk menggunakan TLS, mereka menegosiasikan koneksi stateful dengan menggunakan prosedur handshaking.[5] Protokol menggunakan jabat tangan dengan cipher asimetris untuk membangun tidak hanya pengaturan cipher tetapi juga kunci bersama sesi khusus dengan mana komunikasi lebih lanjut dienkripsi menggunakan cipher simetris. Selama jabat tangan ini, klien dan server menyetujui berbagai parameter yang digunakan untuk membangun keamanan koneksi:
Ini menyimpulkan jabat tangan dan memulai koneksi aman, yang dienkripsi dan didekripsi dengan kunci sesi hingga koneksi ditutup. Jika salah satu dari langkah-langkah di atas gagal, maka jabat tangan TLS gagal dan koneksi tidak dibuat.
TLS dan SSL tidak cocok dengan lapisan tunggal model OSI atau model TCP / IP.[6] TLS menjalankan "di atas beberapa protokol transportasi yang andal (mis., TCP),"[7] yang akan menyiratkan bahwa protokol itu berada di atas lapisan transport. Ini melayani enkripsi ke lapisan yang lebih tinggi, yang biasanya merupakan fungsi dari lapisan presentasi. Namun, aplikasi umumnya menggunakan TLS seolah-olah itu adalah lapisan transport, meskipun aplikasi yang menggunakan TLS harus secara aktif mengontrol memulai jabat tangan TLS dan menangani sertifikat otentikasi yang dipertukarkan.[7]
Protokol | Diterbitkan | Status |
---|---|---|
SSL 1.0 | Tidak diterbitkan | Tidak diterbitkan |
SSL 2.0 | 1995 | Dihentikan pada tahun 2011 (RFC 6176) |
SSL 3.0 | 1996 | Dihentikan pada tahun 2015 (RFC 7568) |
TLS 1.0 | 1999 | Dihentikan pada tahun 2020[8][9][10] |
TLS 1.1 | 2006 | Dihentikan pada tahun 2020[8][9][10] |
TLS 1.2 | 2008 | |
TLS 1.3 | 2018 |
Transport Layer Security Protocol (TLS) bersama dengan beberapa platform keamanan jaringan dasar lainnya, dikembangkan melalui inisiatif bersama yang dimulai pada Agustus 1986, di antara Badan Keamanan Nasional, Biro Standar Nasional, Badan Komunikasi Pertahanan, dan dua belas komunikasi dan komputer perusahaan yang memulai proyek khusus yang disebut Secure Data Network System (SDNS). Program ini dijelaskan pada bulan September 1987 di Konferensi Keamanan Komputer Nasional ke-10 dalam serangkaian makalah yang diterbitkan.
Program penelitian inovatif ini berfokus pada perancangan generasi berikutnya dari jaringan komunikasi komputer yang aman dan spesifikasi produk yang akan diimplementasikan untuk aplikasi pada jaringan publik dan swasta. Itu dimaksudkan untuk melengkapi standar internet OSI baru yang berkembang pesat baik dalam profil GOSIP pemerintah AS dan dalam upaya internet ITU-ISO JTC1 yang besar secara internasional. Awalnya dikenal sebagai protokol SP4, namanya diganti TLS dan kemudian diterbitkan pada tahun 1995 sebagai standar internasional ITU-T X.274 | ISO / IEC 10736: 1995.
Upaya-upaya penelitian awal terhadap keamanan lapisan transport mencakup antarmuka pemrograman aplikasi Secure Network Programming (SNP) antarmuka pemrograman aplikasi (API), yang pada tahun 1993 mengeksplorasi pendekatan memiliki API lapisan transport aman yang mirip dengan soket Berkeley, untuk memfasilitasi perkuatan aplikasi jaringan yang sudah ada sebelumnya dengan keamanan Pengukuran.[11]
Dalam desain aplikasi, TLS biasanya diimplementasikan di atas protokol Transport Layer, mengenkripsi semua data protokol terkait protokol seperti HTTP, FTP, SMTP, NNTP dan XMPP.
Secara historis, TLS telah digunakan terutama dengan protokol transportasi yang andal seperti Transmission Control Protocol (TCP). Namun, itu juga telah diimplementasikan dengan protokol transportasi berorientasi datagram, seperti User Datagram Protocol (UDP) dan Datagram Congestion Control Protocol (DCCP), penggunaan yang telah distandarisasi secara independen menggunakan istilah Datagram Transport Layer Security (DTLS) .
Penggunaan utama TLS adalah untuk mengamankan lalu lintas World Wide Web antara suatu situs web dan peramban web yang disandikan dengan protokol HTTP. Penggunaan TLS ini untuk mengamankan lalu lintas HTTP merupakan protokol HTTPS.[12]
Versi protokol |
Dukungan situs web[13] |
Keamanan[13][14] |
---|---|---|
SSL 2.0 | 1.6% | Tidak aman |
SSL 3.0 | 6.7% | Tidak aman[15] |
TLS 1.0 | 65.0% | Tergantung pada cipher[n 1] and client mitigations[n 2] |
TLS 1.1 | 75.1% | Tergantung pada cipher[n 1] dan mitigasi klien[n 2] |
TLS 1.2 | 96.0% | Tergantung pada cipher[n 1] dan mitigasi klien[n 2] |
TLS 1.3 | 18.4% | Aman |
Sertifikat digital mengesahkan kepemilikan kunci publik oleh subjek bernama sertifikat, dan menunjukkan penggunaan yang diharapkan dari kunci tersebut. Ini memungkinkan orang lain (mengandalkan pihak) untuk mengandalkan tanda tangan atau pada pernyataan yang dibuat oleh kunci pribadi yang sesuai dengan kunci publik bersertifikat.
TLS biasanya bergantung pada sekumpulan otoritas sertifikat pihak ketiga yang tepercaya untuk menetapkan keaslian sertifikat. Kepercayaan biasanya berlabuh dalam daftar sertifikat yang didistribusikan dengan perangkat lunak agen pengguna,[16] dan dapat dimodifikasi oleh pihak yang mengandalkan.
Menurut Netcraft, yang memantau sertifikat TLS aktif, otoritas sertifikat terkemuka pasar (CA) telah menjadi Symantec sejak awal survei mereka (atau VeriSign sebelum unit bisnis layanan otentikasi dibeli oleh Symantec). Pada 2015, Symantec menyumbang hanya di bawah sepertiga dari semua sertifikat dan 44% dari sertifikat yang valid yang digunakan oleh 1 juta situs tersibuk, sebagaimana dihitung oleh Netcraft.[17] Pada 2017, Symantec menjual bisnis TLS / SSL ke DigiCert.[18] Dalam laporan terbaru, ditunjukkan bahwa IdenTrust, DigiCert, dan Sectigo adalah 3 otoritas sertifikat teratas dalam hal pangsa pasar sejak Mei 2019.[19]
Sebagai konsekuensi dari pemilihan sertifikat X.509, otoritas sertifikat dan infrastruktur kunci publik diperlukan untuk memverifikasi hubungan antara sertifikat dan pemiliknya, serta untuk menghasilkan, menandatangani, dan mengelola validitas sertifikat. Meskipun ini bisa lebih mudah daripada memverifikasi identitas melalui jaringan kepercayaan, pengungkapan pengawasan massal 2013 membuatnya lebih dikenal luas bahwa otoritas sertifikat adalah titik lemah dari sudut pandang keamanan, yang memungkinkan serangan man-in-the-middle (MITM) jika otoritas sertifikat bekerja sama (atau dikompromikan).[20]
Sebelum klien dan server dapat mulai bertukar informasi yang dilindungi oleh TLS, mereka harus secara aman bertukar atau menyetujui kunci enkripsi dan cipher untuk digunakan saat mengenkripsi data. Di antara metode yang digunakan untuk pertukaran kunci / perjanjian adalah: kunci publik dan pribadi yang dihasilkan dengan RSA (dilambangkan TLS_RSA dalam protokol jabat tangan TLS), Diffie-Hellman (TLS_DH), ephemeral Diffie–Hellman (TLS_DHE), kurva elips Diffie-Hellman ( TLS_ECDH), kurva-elips epiferal Diffie-Hellman (TLS_ECDHE), Diffie-Hellman anonim (TLS_DH_anon), pre-shared key (TLS_PSK)[21] dan Secure Remote Password (TLS_SRP).[22]
Metode perjanjian kunci TLS_DH_anon dan TLS_ECDH_anon tidak mengotentikasi server atau pengguna dan karenanya jarang digunakan karena mereka rentan terhadap serangan man-in-the-middle. Hanya TLS_DHE dan TLS_ECDHE yang memberikan kerahasiaan ke depan.
Sertifikat kunci publik yang digunakan selama pertukaran / perjanjian juga bervariasi dalam ukuran kunci enkripsi publik / swasta yang digunakan selama pertukaran dan karenanya ketahanan keamanan yang diberikan. Pada Juli 2013, Google mengumumkan bahwa mereka tidak akan lagi menggunakan kunci publik 1024-bit dan akan beralih ke kunci 2048-bit untuk meningkatkan keamanan enkripsi TLS yang diberikannya kepada penggunanya karena kekuatan enkripsi terkait langsung dengan ukuran kunci.[23]
Algoritma | SSL 2.0 | SSL 3.0 | TLS 1.0 | TLS 1.1 | TLS 1.2 | TLS 1.3 | Status |
---|---|---|---|---|---|---|---|
RSA | Ya | Ya | Ya | Ya | Ya | No | Didefinisikan untuk TLS 1.2 dalam RFC |
DH-RSA | Tidak | Ya | Ya | Ya | Ya | No | |
DHE-RSA (forward secrecy) | Tidak | Ya | Ya | Ya | Ya | Ya | |
ECDH-RSA | Tidak | Tidak | Ya | Ya | Ya | No | |
ECDHE-RSA (forward secrecy) | Tidak | Tidak | Ya | Ya | Ya | Ya | |
DH-DSS | Tidak | Ya | Ya | Ya | Ya | No | |
DHE-DSS (forward secrecy) | Tidak | Ya | Ya | Ya | Ya | No[24] | |
ECDH-ECDSA | Tidak | Tidak | Ya | Ya | Ya | No | |
ECDHE-ECDSA (forward secrecy) | Tidak | Tidak | Ya | Ya | Ya | Ya | |
PSK | Tidak | Tidak | Ya | Ya | Ya | ||
PSK-RSA | Tidak | Tidak | Ya | Ya | Ya | ||
DHE-PSK (forward secrecy) | Tidak | Tidak | Ya | Ya | Ya | Ya | |
ECDHE-PSK (forward secrecy) | Tidak | Tidak | Ya | Ya | Ya | Ya | |
SRP | Tidak | Tidak | Ya | Ya | Ya | ||
SRP-DSS | Tidak | Tidak | Ya | Ya | Ya | ||
SRP-RSA | Tidak | Tidak | Ya | Ya | Ya | ||
Kerberos | Tidak | Tidak | Ya | Ya | Ya | ||
DH-ANON (tidak aman) | No | Yes | Yes | Yes | Yes | ||
ECDH-ANON (tidak aman) | No | No | Yes | Yes | Yes | ||
GOST R 34.10-94 / 34.10-2001[25] | Tidak | Tidak | Ya | Ya | Ya | Diusulkan dalam konsep RFC |
Dari sudut pandang protokol aplikasi, TLS milik lapisan bawah, meskipun model TCP / IP terlalu kasar untuk menunjukkannya. Ini berarti bahwa jabat tangan TLS biasanya (kecuali dalam kasus STARTTLS) dilakukan sebelum protokol aplikasi dapat dimulai. Dalam fitur server virtual berbasis nama yang disediakan oleh lapisan aplikasi, semua server virtual yang dihosting bersama berbagi sertifikat yang sama karena server harus memilih dan mengirim sertifikat segera setelah pesan ClientHello. Ini adalah masalah besar di lingkungan hosting karena itu berarti berbagi sertifikat yang sama di antara semua pelanggan atau menggunakan alamat IP yang berbeda untuk masing-masing pelanggan.
Ada dua solusi yang diketahui disediakan oleh X.509:
Untuk memberikan nama server, Ekstensi RFC 4366 Transport Layer Security (TLS) memungkinkan klien untuk menyertakan ekstensi Indikasi Nama Server (SNI) dalam pesan ClientHello yang diperluas. Ekstensi ini mengisyaratkan ke server dengan segera nama yang ingin disambungkan klien, sehingga server dapat memilih sertifikat yang sesuai untuk dikirim ke klien.
RFC lain selanjutnya memperpanjang TLS.
Ekstensi ke TLS 1.1 meliputi:
Ekstensi ke TLS 1.2 meliputi:
Encapsulations of TLS include:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.