17 Mart 2013 Pazar

SSL ile TLS arasındaki fark

SSL ve TLS güvenlik katmanları sürekli birbirine karıştırılan iki farklı güvenli iletişim protokolüdür.

Burada kısaca ikisi arasındaki temel farkları anlatacağım.

SSL(Secure Sockets Layer) iletişiminde bağlantının en başından sonuna kadar tüm iletişim şifreli olarak gerçekleşir.

TLS(Transport Layer Security) iletişiminde ise bağlantı işlemi düz,şifresiz olarak kurulur. Sonrasında veri iletimi yapılacağı zaman güvenlik sertifikası anlaşması devreye girer ve  şifreli iletişim başlar.

TLS için düz bağlantı portu kullanıldığı için sunucu tarafında ayrı bir port gerekmektedir. HTTP için düz bağlantı portu 80 iken HTTPS için 443 portuna ihtiyaç vardır. SMTP bağlantısında düz bağlantı için 25, SMTP SSL bağlantısı için 465 portu gerekir. Aynı şekilde düz POP3 bağlantısı 110 portundan kuruluyorken POP3S için 995 portu kullanılır.

Görüldüğü gibi her bir servis için ayrı bir SSL portu gerekmektedir. Bu hem sistem yöneticisi hem de güvenlik yöneticisi için ek bir külfet demektir.

TLS'de ise bağlantı şifresiz erişim portundan devam eder. SSL'deki gibi ayrı bir port kullanma ihtiyacı yoktur. Bu kolaylıktan dolayı her geçen gün TLS kullanımı yaygınlaşmaktadır.


Bir sunucunun TLS desteği olduğu nasıl anlaşılır:

 SMTP:

Bir SMTP sunucusuna bağlantı kurulduğunda EHLO komutu verildiğinde gelen cevapta STARTTLS satırı varsa o SMTP Sunucusunun TLS desteği var demektir.

# telnet 192.168.1.10 25
 Trying 192.168.1.10...
Connected to 192.168.1.10.
Escape character is '^]'.
220 test.surgate.com ESMTP
ehlo
250-test.surgate.com
250-PIPELINING
250-SIZE 20971520
250-DATAZ
250-STARTTLS
250 8BITMIME



Telnet dışında openssl komutu ile de TLS bağlantı testi yapılabilir.

# openssl s_client -crlf -connect 192.168.1.10:25 -starttls smtp
.....
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : AES256-SHA
    Session-ID: 4D835A7C98A3F49FFF904D1771DD8379737F50FF405A2F21BAD5C51FFBAA36E8
    Session-ID-ctx:
    Master-Key: 56C10B9775420CB547ED6FDD2593379040002F95460941D2F1139AEA1F09C0090C1827920006013793D744F55F5457B2
    Key-Arg   : None
    Start Time: 1363519266
    Timeout   : 300 (sec)
......
---
250 8BITMIME



POP3:

# openssl s_client -crlf -connect 192.168.1.10:110 -starttls pop3


IMAP:

Telnet ile sunucunun 143. portuna bağlanıp CAPABILTY komutu gönderilir.
Çıktıda STARTTLS var ise TLS desteği var demektir.

# telnet 192.168.1.10 143
 Trying 192.168.1.10...
Connected to 192.168.1.10.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN] SurGATE Messaging Suite POP3/IMAP ready.
o CAPABILITY
* CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN
o OK Pre-login capabilities listed, post-login capabilities have more.


OpenSSL testi:

# openssl s_client -crlf -connect 192.168.1.10:143 -starttls imap

IMAP ile ilgili örnek bir iletişim diyagramını http://www.vocal.com/wp-content/uploads/2012/05/secure_imap_fig1.gif adresinden inceleyebilirsiniz.











1 yorum:

  1. Değerli bilgilerinizi bizlerle paylastiginiz için teşekkürler hocam.

    YanıtlaSil