Aku bingung dengan istilah-istilah di daerah ini. Apa itu SSL, TLS, dan HTTPS? Apa perbedaan antara mereka?
TLS adalah nama baru untuk SSL. Yaitu, protokol SSL harus versi 3.0; TLS 1.0 adalah "SSL 3.1". TLS versi saat ini didefinisikan mencakup TLS 1.1 dan 1.2. Setiap versi baru menambahkan beberapa fitur dan memodifikasi beberapa rincian internal. Kadang-kadang kita mengatakan "SSL/TLS".
HTTPS merupakan HTTP-dalam-SSL/TLS. SSL (TLS) menetapkan diamankan, dua arah terowongan untuk sewenang-wenang data biner antara dua host. HTTP adalah protokol untuk mengirimkan permintaan dan menerima jawaban, setiap permintaan dan jawaban terdiri dari rinci header dan (mungkin) beberapa konten. HTTP dimaksudkan untuk menjalankan lebih dari dua arah terowongan untuk sewenang-wenang data biner; ketika terowongan itu adalah SSL/TLS koneksi, maka keseluruhan disebut "HTTPS".
Untuk menjelaskan akronim:
SSL dan TLS adalah protokol yang bertujuan untuk memberikan kerahasiaan dan integritas data antara dua pihak (lihat RFC 2246), yang dirancang untuk berjalan di atas dapat diandalkan protokol komunikasi (biasanya TCP). Meskipun TLS spesifikasi doesn't berbicara tentang soket, desain SSL/TLS dilakukan agar aplikasi bisa menggunakannya hampir seperti tradisional TCP sockets, misalnya SSLSocket
di Jawa meluas Socket
(ada perbedaan-perbedaan kecil dalam hal kegunaan, meskipun).
HTTPS merupakan HTTP over SSL/TLS, dimana SSL/TLS koneksi didirikan pertama, dan kemudian normal HTTP data yang dipertukarkan selama ini SSL/TLS.
Apakah anda menggunakan SSL atau TLS untuk hal ini tergantung pada konfigurasi browser anda dan server (biasanya ada pilihan untuk memungkinkan SSLv2, SSLv3 atau TLS 1.x).
Rincian tentang bagaimana HTTP dan SSL/TLS bentuk HTTPS berada di RFC 2818.
Mengenai perbedaan antara SSL dan TLS, anda mungkin akan tertarik dengan dua jawaban saya menulis ini mirip pertanyaan di StackOverflow dan ServerFault:
Anda bisa mempertimbangkan TLSv1.0 sebagai SSLv3.1 (dalam fakta bahwa's apa yang terjadi dalam catatan ditukar). It's hanya lebih mudah untuk membandingkan TLSv1.0 dengan TLSv1.1 dan TLSv1.2 karena mereka've semua telah diedit dalam IETF dan ikuti kurang lebih struktur yang sama. SSLv3 sedang diedit oleh lembaga yang berbeda (Netscape), itu membuat sedikit lebih sulit jadi spot perbedaan.
Berikut ini adalah beberapa perbedaan, tapi aku ragu aku bisa daftar mereka semua:
- Dalam ClientHello pesan (pesan pertama yang dikirim oleh klien, untuk memulai jabat tangan), versi ini {3,0} untuk SSLv3, {3,1} untuk TLSv1.0 dan {3,2} untuk TLSv1.1.
- The ClientKeyExchange berbeda.
- MAC/HMAC berbeda (TLS menggunakan HMAC sedangkan SSL menggunakan versi sebelumnya dari HMAC).
- kunci derivasi berbeda.
- klien dapat mengirim data aplikasi dapat dikirim langsung setelah mengirim SSL/TLS Selesai pesan di SSLv3. Di TLSv1, ia harus menunggu untuk server's Selesai pesan.
- daftar cipher suite yang berbeda (dan beberapa dari mereka telah berganti nama dari SSL* untuk TLS*, menjaga nomor id yang sama).
- Ada juga perbedaan mengenai re-negosiasi ekstensi. Umumnya, semakin tinggi versi atau SSL/TLS, yang lebih aman itu, asalkan anda memilih cipher suites benar juga (versi yang lebih tinggi dari TLS juga menawarkan menggunakan cipher suite yang dianggap baik). (SSLv2 dianggap tidak aman.) Selain itu, SSL doesn't jatuh di bawah IETF lingkup. Misalnya, TLS renegosiasi memperbaiki harus dipasang untuk SSLv3 (meskipun SSL/TLS tumpukan harus diperbarui pula). Anda mungkin juga tertarik dengan jawaban ini:
STARTTLS
di LDAP/SMTP). Hal ini dijelaskan dalam RFC 2817. Sejauh yang saya tahu, ini hampir tidak pernah digunakan (dan's tidak apa's yang digunakan oleh https://
di browser). Utama bagian yang relevan dari RFC ini adalah bagian tentang CONNECT
untuk HTTP proxy server (ini digunakan oleh proxy server HTTP untuk relay koneksi HTTPS). Syarat SSL dan TLS sering digunakan secara bergantian atau dalam hubungannya dengan satu sama lain (TLS/SSL), tapi pada kenyataannya pendahulunya lain — SSL 3.0 menjabat sebagai dasar untuk TLS 1.0 yang, sebagai akibatnya, kadang-kadang disebut sebagai SSL 3.1.
Dalam hal keamanan mereka berdua sama-sama mempertimbangkan diamankan
Perbedaan utama adalah bahwa, sementara koneksi SSL dimulai dengan keamanan dan langsung melanjutkan untuk mengamankan komunikasi, TLS koneksi pertama dimulai dengan aman "hello" ke server dan hanya beralih ke komunikasi dijamin setelah jabat tangan antara klien dan server adalah sukses. Jika TLS handshake gagal untuk alasan apapun, koneksi tidak pernah dibuat.
HTTP adalah protokol yang digunakan untuk meminta dan recive data dan https yang 's' adalah apa-apa tapi aman SSL yang membuat protokol http request dan menerima aktivitas dienkripsi sehingga tidak ada orang tengah penyerang dapat memperoleh data dengan mudah.
maka hubungan dengan web server yang tidak terenkripsi semua data akan dikirim dalam plaintext setiap orang tengah penyerang bisa mendapatkan dan melihat data itu.
nah, keduanya sama tetapi TLS lebih extensible dan berharap untuk mendapatkan lebih banyak dukungan di masa depan dan TLS adalah kompatibel.