SSLv2 ve SSLv3 tamamen farklıdır (ve her ikisi de artık güvensiz olarak kabul edilir). SSLv3 ve TLSv1.0 birbirine çok benzer, ancak birkaç farklılığı vardır.
TLSv1.0'ı SSLv3.1 olarak düşünebilirsiniz (aslında değiş tokuş yapılan kayıtlarda olan şey budur). Bu karşılaştırma sadece kolay TLSv1.0 ile TLSv1.1 ve TLSv1.2 hepsi IETF içinde düzenlenebilir ve aşağı yukarı aynı yapıyı takip ettik çünkü. SSLv3'ün farklı bir kurum (Netscape) tarafından düzenlenmesi, farklılıkları tespit etmeyi biraz zorlaştırıyor.
İşte birkaç fark, ancak hepsini listeleyebileceğimden şüpheliyim:
- Gelen
ClientHello
mesajın (ilk mesaj tokalaşma başlatmak için, istemci tarafından gönderilen), sürümüdür {3,0}
, SSLv3 için {3,1}
TLSv1.0 için ve {3,2}
TLSv1.1 için.
- Farklı
ClientKeyExchange
.
- MAC / HMAC farklıdır (TLS HMAC kullanır, SSL ise daha eski bir HMAC sürümü kullanır).
- Anahtar türetme farklıdır.
- İstemci uygulama verileri,
Finished
SSLv3’te SSL / TLS mesajı gönderildikten hemen sonra gönderilebilir . TLSv1'de, sunucunun Finished
mesajını beklemesi gerekir .
- Şifre suit listesi farklılık (ve bazıları itibaren yeniden adlandırıldı
SSL_*
için TLS_*
aynı id numarasını tutarak).
- Yeni müzakere uzatma ile ilgili farklılıklar da var .
Gerçekten daha fazla ayrıntı istiyorsanız, Eric Rescorla'nın kitabını şiddetle tavsiye ediyorum - SSL ve TLS: Güvenli Sistemleri Tasarlama ve Geliştirme , Addison-Wesley, 2001 ISBN 0-201-61598-3 . Bu kitaptan yukarıda belirtilen bazı noktaları öğrendim. Yazar, bazı SSL / TLS mesajlarını açıklarken, SSLv3 ve TLS (yalnızca kitabın yazıldığı tarihte v1.0) arasındaki farklardan bahseder, ancak bu mesajları hakkında temel bir açıklama yapmanız gerekmektedir. (1) ve bu kitaptan buraya kopyalayıp yapıştırmak uygun değildir).