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:
- Dalam
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.
- Perbedaannya
ClientKeyExchange
.
- MAC / HMAC berbeda (TLS menggunakan HMAC sedangkan SSL menggunakan HMAC versi sebelumnya).
- Derivasi kunci berbeda.
- Data aplikasi klien dapat dikirim langsung setelah mengirim pesan SSL / TLS
Finished
di SSLv3. Dalam TLSv1, ia harus menunggu Finished
pesan server .
- Daftar suite sandi berbeda (dan beberapa di antaranya telah diubah namanya dari
SSL_*
menjadi TLS_*
, mempertahankan nomor id yang sama).
- Ada juga perbedaan mengenai perpanjangan negosiasi ulang yang baru .
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).