Ini adalah penyelaman mendalam teknis setelah pertanyaan ikhtisar ini diajukan.
Apa perbedaan protokol antara SSL dan TLS?
Apakah benar-benar ada cukup perbedaan untuk menjamin perubahan nama? (dibandingkan menyebutnya "SSLv4" atau SSLv5 untuk versi TLS yang lebih baru)
Jawaban:
SSLv2 dan SSLv3 sama sekali berbeda (dan keduanya sekarang dianggap tidak aman). SSLv3 dan TLSv1.0 sangat mirip, tetapi memiliki beberapa perbedaan.
Anda dapat mempertimbangkan TLSv1.0 sebagai SSLv3.1 (sebenarnya itulah yang terjadi dalam catatan yang dipertukarkan). Lebih mudah untuk membandingkan TLSv1.0 dengan TLSv1.1 dan TLSv1.2 karena semuanya telah diedit dalam IETF dan mengikuti lebih kurang struktur yang sama. SSLv3 sedang diedit oleh lembaga yang berbeda (Netscape), itu membuatnya sedikit lebih sulit untuk menemukan perbedaan.
Berikut adalah beberapa perbedaan, tetapi saya ragu saya bisa mendaftar semuanya:
ClientHello
pesan (pesan pertama yang dikirim oleh klien, untuk memulai jabat tangan), versinya adalah{3,0}
untuk SSLv3,{3,1}
untuk TLSv1.0 dan{3,2}
untuk TLSv1.1.ClientKeyExchange
.Finished
di SSLv3. Dalam TLSv1, ia harus menungguFinished
pesan server .SSL_*
menjadiTLS_*
, mempertahankan nomor id yang sama).Saya sangat merekomendasikan buku Eric Rescorla - SSL dan TLS: Merancang dan Membangun Sistem yang Aman , Addison-Wesley, 2001 ISBN 0-201-61598-3 , jika Anda benar-benar menginginkan detail lebih lanjut. Saya telah belajar tentang beberapa poin yang disebutkan di atas dari buku ini. Penulis kadang-kadang menyebutkan perbedaan antara SSLv3 dan TLS (v1.0 hanya pada saat buku itu ditulis) ketika menjelaskan beberapa pesan SSL / TLS, tetapi Anda perlu penjelasan latar belakang tentang pesan-pesan ini untuk memiliki kesempatan untuk memahami ( dan tidak tepat untuk menyalin / menempel dari buku ini di sini).
sumber
ClientHello
, sedangkan klien hanya SSL3 hanya akan mengirim yang asli'ClientHello
'.draft302.txt
dan " Demi kompatibilitas maju ... ", bandingkan dengan bagian 7.4.1.2 dalam spesifikasi TLS). Untuk mengatasi tumpukan yang tidak mendukung ini, ada juga solusi seperti SCSV pseudo cipher-suite dalam ekstensi negosiasi ulang.Saya hanya akan mengulangi jawaban yang lain tetapi mungkin dengan penekanan yang sedikit berbeda.
Ada protokol soket aman yang "dimiliki" oleh Netscape yang disebut SSL versi 2. Versi baru dengan struktur catatan yang berbeda dan peningkatan keamanan juga "dimiliki" oleh Netscape dirilis dan disebut versi SSL 3. Di dalam protokol di beberapa tempat adalah bidang nomor versi biner. Untuk SSL versi 3, bidang ini diatur ke 0x03 0x00, yaitu versi 3.0. Kemudian IETF memutuskan untuk membuat standar sendiri. Mungkin karena ada beberapa ketidakpastian kekayaan intelektual tentang SSL, termasuk apakah "SSL" adalah merek dagang Netscape, ketika IETF merilis versi berikutnya dari protokol ini, mereka memberinya nama sendiri: Transport Layer Security protocol, atau TLS versi 1.0. Format rekaman dan struktur keseluruhan identik dan konsisten dengan SSL v3. Nomor versi biner ditingkatkan menjadi 0x03 0x01, dan seperti yang telah dicatat ada beberapa perubahan kripto kecil. Sejak itu telah ada TLS versi 1.1 dan 1.2, di mana nomor protokol internal adalah 0x03 0x02 dan 0x03 0x03.
Mengabaikan SSLv2, itu pada dasarnya hanya perubahan nama bersama dengan fine-tuning protokol normal yang terjadi ketika orang menjadi lebih pintar tentang keamanan dan kinerja.
sumber
Pada dasarnya, ini hanyalah perubahan nama untuk versi protokol yang lebih baru. Saya percaya alasan utama untuk itu adalah untuk membedakannya dari yang lebih lama, standar informal yang terutama dirancang oleh Netscape setelah menjadi protokol jalur standar IETF resmi.
Seperti yang dikatakan dalam jawaban untuk pertanyaan Anda sebelumnya, ini tidak berarti SSLv3 dan TLSv1.0 kompatibel. Mengutip dari RFC 2246:
Saya kira jika Anda benar-benar ingin mengetahui perbedaan yang tepat dalam protokol, Anda harus membaca standar dan membandingkan diri Anda.
Draft protokol SSLv3 dari Netscape TLSv1.0 RFC 2246
sumber
Protokol enkripsi SSL sekarang bernama TLS, menghasilkan dua nama untuk protokol yang sama. Perangkat lunak saat ini akan menegosiasikan TLS versi 1 atau SSL versi 3 secara otomatis. Manusia, di sisi lain, harus memutuskan antara menggunakan istilah SSL yang lebih mudah dikenali dibandingkan dengan penunjukan TLS resmi.
SSL adalah pendahulu TLS.
TLS dan SSL mengenkripsi segmen koneksi jaringan pada Application Layer untuk memastikan transit end-to-end yang aman di Transport Layer.
sumber
Perbedaan:
sumber