{"id":32437,"date":"2021-12-06T12:50:35","date_gmt":"2021-12-06T09:50:35","guid":{"rendered":"https:\/\/www.natro.com\/blog\/?p=32437"},"modified":"2021-12-06T12:50:37","modified_gmt":"2021-12-06T09:50:37","slug":"transport-layer-security-tls-nedir","status":"publish","type":"post","link":"https:\/\/www.natro.com\/blog\/transport-layer-security-tls-nedir\/","title":{"rendered":"Transport Layer Security (TLS) Nedir?"},"content":{"rendered":"\n<p>Bir di\u011fer ad\u0131 Ta\u015f\u0131ma Katman\u0131 G\u00fcvenli\u011fi (Transport Layer Security) olan TLS ve TLS\u2019in \u00f6nc\u00fcs\u00fc olan G\u00fcvenlik Soket Katman\u0131 yani SSL, kullan\u0131c\u0131lar\u0131n bilgisayar a\u011flar\u0131 \u00fczerinden sa\u011fl\u0131kl\u0131 ve g\u00fcvenli bir bi\u00e7imde ileti\u015fim kurabilmeleri i\u00e7in tasarlanan kriptolama protokolleridir. Bilgisayarlar\u0131n ve kullan\u0131c\u0131lar\u0131n kimlik do\u011frulamalar\u0131 asimetrik \u015fifreler ile yap\u0131lmaktad\u0131r. Kullan\u0131c\u0131lar kar\u015f\u0131l\u0131kl\u0131 bir bi\u00e7imde kulland\u0131klar\u0131 simetrik anahtarlarla anla\u015f\u0131rlar.<\/p>\n\n\n\n<p>Asimetrik anahtarlar ayn\u0131 zamanda kullan\u0131c\u0131lar\u0131n veri ak\u0131\u015flar\u0131n\u0131 gizlemek ve mesajlar aras\u0131ndaki kimlik do\u011frulamalar\u0131 i\u00e7in de kullan\u0131l\u0131r. TLS yani eski ad\u0131yla SSL\u2019i g\u00fcn\u00fcm\u00fcz\u00fcn pop\u00fcler haberle\u015fme uygulamalar\u0131nda s\u0131k s\u0131k g\u00f6rebiliriz. Ta\u015f\u0131ma Katman\u0131 G\u00fcvenli\u011fi olan TLS k\u0131sa s\u00fcreli oturum anahtar\u0131, uzun s\u00fcreli simetrik anahtarlardan olu\u015fturulmamal\u0131. Aksi taktirde teknolojiyi k\u00f6t\u00fc ama\u00e7l\u0131 kullanan kullan\u0131c\u0131lar di\u011fer kullan\u0131c\u0131lar\u0131n verilerine kolay yoldan eri\u015febilir.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-ssl-tls-in-calisma-prensibi-nedir\"><span id=\"ssl-tlsin-calisma-prensibi-nedir\"><strong>SSL\/TLS\u2019in \u00c7al\u0131\u015fma Prensibi Nedir?<\/strong><\/span><\/h2>\n\n\n\n<p>Kullan\u0131c\u0131 ile internet sunucusu aras\u0131nda sunucu \u2013 istemci tarafl\u0131 bir \u00e7al\u0131\u015fma mant\u0131\u011f\u0131 vard\u0131r. Kullan\u0131c\u0131 internet sunucusundan bir ba\u011flant\u0131 ister ve bunun kar\u015f\u0131l\u0131\u011f\u0131nda internet sunucusu, istemci yani kullan\u0131c\u0131ya sertifika ile birlikte \u201cpublic key\u201d g\u00f6nderir. \u0130nternet taray\u0131c\u0131s\u0131, istemcinin kulland\u0131\u011f\u0131 ve g\u00f6ndermi\u015f oldu\u011fu bilgiyi kontrol etmek ama\u00e7l\u0131 sertifikay\u0131 de\u011ferlendirir. Taray\u0131c\u0131, sertifika otoritesinden ge\u00e7erse, simetrik bir anahtar \u00fcretir. Public key bu simetrik anahtar\u0131 \u015fifreler ve sunucuya mesaj\u0131 iletir. Sunucuya gelen mesaj \u201cpublic key\u201d ile denenir ve e\u011fer mesaj uyu\u015fuyorsa kendine ait olan \u201cprivate key\u201d ile simetrik anahtar\u0131 a\u00e7ar ve \u00e7al\u0131\u015ft\u0131r\u0131r. Sunucu elde etti\u011fi bu simetrik anahtar ile istemciye, verileri istedi\u011fi \u015fekilde ta\u015f\u0131mak i\u00e7in kullan\u0131r. \u0130stemci ise sunucudan gelen veriler ve aktifle\u015fen simetrik anahtar sayesinde taray\u0131c\u0131da istedi\u011fi bilgilere ula\u015fmak i\u00e7in kullan\u0131r.\u00a0\u00a0<\/p>\n\n\n\n<p>TLS protokol\u00fc kullan\u0131c\u0131lar\u0131n gizli dinlenilmesini ve kullan\u0131c\u0131lar\u0131n onay\u0131 olmadan de\u011fi\u015fiklik yap\u0131lmas\u0131n\u0131 \u00f6nler ve a\u011f \u00fczerinden istemci ile sunucu aras\u0131ndaki uygulamalar\u0131n haberle\u015fmelerine olanak sa\u011flar. \u0130stemcinin TLS ba\u011flant\u0131s\u0131n\u0131 kullanabilmesi i\u00e7in TLS ba\u011flant\u0131s\u0131n\u0131n kurulup kurulmamas\u0131 hakk\u0131ndaki iste\u011fini dile getirmesi \u015fartt\u0131r. Bu iste\u011fin dile getirilebilmesi i\u00e7in de ana iki yol vard\u0131r.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"435\" src=\"https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_234609536-1024x435.jpg\" alt=\"\" class=\"wp-image-32441\" srcset=\"https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_234609536-1024x435.jpg 1024w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_234609536-300x128.jpg 300w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_234609536-768x326.jpg 768w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_234609536-1536x653.jpg 1536w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_234609536-2048x871.jpg 2048w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_234609536-scaled.jpg 2560w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Bu yollardan ilki; TLS uzant\u0131lar\u0131 i\u00e7in farkl\u0131 port numaras\u0131 kullan\u0131lmas\u0131d\u0131r. \u00d6rne\u011fin; HTTPS i\u00e7in kullan\u0131lan 443. port numaras\u0131. \u0130kinci yol ise; s\u0131radan bir port numaras\u0131n\u0131 kullan\u0131l\u0131r. Bu durumda istemci, TLS protokol\u00fcn\u00fcn istemciler ad\u0131na \u00f6zelle\u015ftirilmi\u015f mekanizmas\u0131 ile sunucunun, ba\u011flant\u0131y\u0131 TLS protokol\u00fcne iletmesi gerekti\u011fini belirtir. Ard\u0131ndan istemci, etkin hale gelen sunucudan g\u00fcvenli bir ba\u011flant\u0131 istedi\u011fi ve bu iste\u011fi de ger\u00e7ekle\u015fti\u011fi zaman, \u201cel s\u0131k\u0131\u015fma\u201d olarak da adland\u0131rd\u0131\u011f\u0131m\u0131z ba\u011flant\u0131 i\u015flemi ger\u00e7ekle\u015fme ba\u015flar.<\/p>\n\n\n\n<p><strong><a href=\"https:\/\/www.natro.com\/sunucu-kiralama?utm_campaign=content&utm_medium=icerik&utm_source=hosting-blog&utm_content=\/blog\/transport-layer-security-tls-nedir\" target=\"_blank\" rel=\"noreferrer noopener\">Sunucu<\/a><\/strong>, istemci taraf\u0131ndan istenen g\u00fcvenli bilgilerden \u015fifreleme ve \u00f6zet fonksiyon bilgilerine sahip olur. \u0130stemci, sunucu taraf\u0131ndan desteklenir ve bunun kar\u015f\u0131l\u0131\u011f\u0131nda da istemci, isteklerini say\u0131sal bir kimlik niteli\u011finde olan sertifika ile yollar. Say\u0131sal kimlik, g\u00fcvenilir sertifika y\u00f6neticisini, sunucunun sahip oldu\u011fu a\u00e7\u0131k \u015fifreleme anahtar\u0131n\u0131 ve sunucunun sahip oldu\u011fu ismi i\u00e7erir. Ard\u0131ndan istemci sunucu taraf\u0131ndan g\u00f6nderilen sertifikan\u0131n g\u00fcvenilirli\u011fini ve sertifikan\u0131n ge\u00e7erlili\u011fini kontrol eder ve g\u00fcvenli bir ba\u011flant\u0131da oturum anahtar\u0131 \u00fcretmeyi dener. \u0130stemci, herhangi bir say\u0131y\u0131 sunucunun \u201cpublic key\u201di ile payla\u015farak \u015fifreleri ve \u015fifrelenmi\u015f mesaj\u0131 sunucuya yollar. Sunucu, \u015fifrelenmi\u015f bu mesaj\u0131 sadece \u201cprivate key\u201di kullanarak \u00e7\u00f6zme a\u015famas\u0131na ula\u015fabilir.\u00a0\u00a0\u00a0<\/p>\n\n\n\n<p>\u0130stemci ve sunucu, rastgele say\u0131lardan olu\u015fan bir \u201cmaster key\u201d olu\u015ftururlar. \u201cMaster key\u201din elde edilmesinden sonra istemci ve sunucu \u015fifreleme ve \u015fifrelemeyi \u00e7\u00f6zmek ad\u0131na ortak bir anahtar olu\u015ftururlar. Bu anahtara da \u201coturum anahtar\u0131\u201d denir. B\u00f6ylelikle istemci ile sunucu aras\u0131nda \u201cel s\u0131k\u0131\u015fma\u201d olarak da adland\u0131rd\u0131\u011f\u0131m\u0131z ba\u011flant\u0131 i\u015flemi sona ermi\u015f ve istemci ile sunucu aras\u0131nda da g\u00fcvenli bir ba\u011flant\u0131 kurulmu\u015f olur.<\/p>\n\n\n\n<p>Bu a\u015faman\u0131n ard\u0131ndan istemcinin ve sunucunun, birbirlerine g\u00f6ndermi\u015f olduklar\u0131 verileri ellerinde tutmalar\u0131 gerekmektedir. Daha sonras\u0131nda ellerinde tuttuklar\u0131 verileri \u015fifrelemek ve \u015fifreledikleri verileri de muhafaza etmeleri beklenir. Ger\u00e7ekle\u015ftirilen bu \u00fc\u00e7 i\u015flem, en son olu\u015fturulan oturum anahtar\u0131na aktar\u0131l\u0131r ve i\u015flem \u00e7ok daha basit hale indirgenmi\u015f olur. Art\u0131k ne \u201cmaster key\u201d ne de \u201cpublic key\u201di kullanmaya gerek kalmaz.<\/p>\n\n\n\n<h2 id=\"tls-protokolunde-algoritma\" class=\"wp-block-heading\"><strong>TLS Protokol\u00fcnde Algoritma<\/strong><\/h2>\n\n\n\n<p>Oturum anahtarlar\u0131n\u0131n, her yaz\u0131l\u0131mda oldu\u011fu gibi birer algoritmalar\u0131 vard\u0131r ve oturum anahtarlar\u0131 da bu algoritmalar \u00fczerinden olu\u015fturularak \u00e7al\u0131\u015ft\u0131r\u0131l\u0131rlar. \u0130stemci ve sunucu da TLS taraf\u0131ndan g\u00fcvenli\u011fi sa\u011flanan bilgilerin de\u011fi\u015fimi \u00f6ncesinde, verileri \u015fifrelemek ad\u0131na; kullanacak olan \u015fifreleme algoritmas\u0131 ile \u015fifreleme anahtar\u0131 \u00fczerinde anla\u015fmaya varmalar\u0131 gerekmektedir.<\/p>\n\n\n\n<p>\u201cPublic key\u201d sertifikalar\u0131 ya\u015fanan de\u011fi\u015fim boyunca kullan\u0131l\u0131r ve bu de\u011fi\u015fim s\u00fcresince de \u201cprivate key\u201d ve \u201cpublic key\u201d b\u00fcy\u00fckl\u00fcklerine g\u00f6re de \u00e7e\u015fitlilik g\u00f6sterir. Bu sayede y\u00fcksek seviyeli bir g\u00fcvenlik sa\u011flanm\u0131\u015f olur.<\/p>\n\n\n\n<h2 id=\"tls-protokolunde-algoritmalarin-veri-butunlugu\" class=\"wp-block-heading\"><strong>TLS Protokol\u00fcnde Algoritmalar\u0131n Veri B\u00fct\u00fcnl\u00fc\u011f\u00fc<\/strong><\/h2>\n\n\n\n<p>Algoritmalar\u0131n verin b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc korumak \u00f6nemli olsa da olduk\u00e7a zor bir yoldur. Fakat TLS protokol\u00fc, bu konuda kendisini olduk\u00e7a geli\u015ftirmi\u015ftir ve b\u00f6ylelikle de veri b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc korumay\u0131 ba\u015farm\u0131\u015ft\u0131r. Veri b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fcn olu\u015fabilmesi i\u00e7in \u201cmesaj kimlik do\u011frulama kodu\u201d olarak adland\u0131rd\u0131\u011f\u0131m\u0131z do\u011frulama kodu kullan\u0131l\u0131r. Blok \u015fifreleme i\u00e7in CBC ve dizi \u015fifreleme i\u00e7in de HMAC modlar\u0131 kullan\u0131l\u0131r. CCM ve HCM mod gibi do\u011frulanm\u0131\u015f olan \u015fifrelemeler i\u00e7in ise AEAD kullan\u0131l\u0131r.<\/p>\n\n\n\n<h2 id=\"tls-uygulamalari\" class=\"wp-block-heading\"><strong>TLS Uygulamalar\u0131<\/strong><\/h2>\n\n\n\n<p>Uygulamalar\u0131n tasar\u0131m\u0131 s\u0131ras\u0131nda, TLS\u2019in herhangi bir ta\u015f\u0131ma katman\u0131 \u00fczerinde geli\u015fimi s\u00fcrd\u00fcr\u00fcl\u00fcrken, TLS uygulamalar\u0131n belli ba\u015fl\u0131 protokollerini de muhafaza eder. Bir di\u011fer ifade ile herhangi bir nesnenin baz\u0131 \u00f6zelliklerini ve i\u015flevlerini ba\u015fka bir s\u0131n\u0131ftan ve nesnelerden saklar. Ge\u00e7mi\u015fte de g\u00fcn\u00fcm\u00fczde de g\u00fcvenilir ta\u015f\u0131ma protokolleri g\u00f6z \u00f6n\u00fcnde tutulur ve tercih edilir. Fakat bu g\u00fcvenilir ta\u015f\u0131ma protokollerinin yan\u0131nda veri alt tabanl\u0131 protokoller de kullan\u0131lm\u0131\u015ft\u0131r ve bu \u015fekilde de TLS geli\u015ftirilmi\u015ftir.<\/p>\n\n\n\n<h3 id=\"tls-adina-kullanilabilecek-web-siteleri\" class=\"wp-block-heading\"><strong>TLS Ad\u0131na Kullan\u0131labilecek Web Siteleri<\/strong><\/h3>\n\n\n\n<p>TLS\u2019in en \u00e7ok kullan\u0131lan formu web siteleri i\u00e7in hazr\u0131lanm\u0131\u015ft\u0131r. Bunun sebebi de internette bulunan web sayfalar\u0131 ve taray\u0131c\u0131lar\u0131 i\u00e7inde \u201chttp\u201d protokol\u00fc ile gelen iletim tehlikelerini \u201cHTTPS\u201d protokol\u00fc ile daha g\u00fcvenilir hale getirmesidir.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>HTTPS nedir ve nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 ayr\u0131nt\u0131l\u0131 olarak \u00f6\u011frenmek i\u00e7in <strong><a href=\"https:\/\/www.natro.com\/blog\/https-nedir-https-nasil-calisir\/?utm_campaign=content&utm_medium=icerik&utm_source=hosting-blog&utm_content=\/blog\/transport-layer-security-tls-nedir\" target=\"_blank\" rel=\"noreferrer noopener\">buraya<\/a><\/strong> t\u0131klayabilirsiniz.<\/p><\/blockquote>\n\n\n\n<h3 id=\"tls-adina-kullanilabilecek-web-tarayicilari\" class=\"wp-block-heading\"><strong>TLS Ad\u0131na Kullan\u0131labilecek Web Taray\u0131c\u0131lar\u0131<\/strong><\/h3>\n\n\n\n<p>Pop\u00fclaritesi y\u00fcksek olan ve hepimizin ad\u0131n\u0131 en az bir kez i\u015fitmi\u015f oldu\u011fumuz web taray\u0131c\u0131lar\u0131, son s\u00fcr\u00fcmlerinde TLS\u2019in en yeni ve geli\u015fmi\u015f versiyonlar\u0131n\u0131 desteklerler. Web taray\u0131c\u0131lar\u0131 da bu desteklemeleri varsay\u0131lan olarak i\u00e7lerinde aktif \u015fekilde verirler. Fakat t\u00fcm bunlara ra\u011fmen web taray\u0131c\u0131lar\u0131n\u0131n baz\u0131 eski s\u00fcr\u00fcmlerinde TLS\u2019in en yeni ve geli\u015fmi\u015f versiyonlar\u0131 ile ilgili s\u0131k\u0131nt\u0131lar\u0131n ya\u015fand\u0131\u011f\u0131 da bilinmektedir.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"439\" src=\"https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_232430906-1024x439.jpg\" alt=\"\" class=\"wp-image-32442\" srcset=\"https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_232430906-1024x439.jpg 1024w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_232430906-300x129.jpg 300w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_232430906-768x329.jpg 768w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_232430906-1536x658.jpg 1536w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_232430906-2048x878.jpg 2048w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_232430906-scaled.jpg 2560w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 id=\"tls-adina-kullanilabilecek-kutuphaneler\" class=\"wp-block-heading\"><strong>TLS Ad\u0131na Kullan\u0131labilecek K\u00fct\u00fcphaneler<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Botan, BSD lisans\u0131na sahip C++ dilini kullanarak olu\u015fturulan \u015fifrelemedir. Botan portatif a\u00e7\u0131k kaynakl\u0131 \u015fifrelemeyi kullan\u0131r ve i\u00e7erikteki istenmeyen verilerin istenmeyen taraflarca okunmas\u0131n\u0131 engellemek ad\u0131na kullan\u0131lan bir k\u00fct\u00fcphanedir. Yani; Botan sayesinde i\u00e7eriklerdeki istenmeyen verilerin istenmeyen taraflarca okunmas\u0131n\u0131 engelleyebilmekteyiz.<\/li><li>Cryptlib, Botan gibi portatif a\u00e7\u0131k kaynakl\u0131 \u015fifreleme kullanarak, yine Botan gibi i\u00e7erikteki istenmeyen verilerin, istenmeyen taraflarca okunmas\u0131n\u0131 engellemek ad\u0131na, i\u00e7eriklerin anla\u015f\u0131lamayacak hal almas\u0131 i\u00e7in kullan\u0131lan bir k\u00fct\u00fcphanedir.<\/li><li>Pascal dilini baz alm\u0131\u015f olan Delphi programlamas\u0131 ile u\u011fra\u015fan insanlar, OpenSSL\u2019den (TLS protokol\u00fcn\u00fcn a\u00e7\u0131k kaynak kodlu uygulamas\u0131) faydalanarak olu\u015fturulmu\u015f olan Indy k\u00fct\u00fcphanesini kullanabilirler.<\/li><li>GnuTLS: LGPL lisanl\u0131 ve kullan\u0131m\u0131na tamamen izin verilen Java Secure Socket Extension, Java 7\u2019den bu yana TLS 1.1 ve TLS 1.2 deste\u011fine olanak sa\u011flamas\u0131na ra\u011fmen, Java Runtime Environment, kullan\u0131c\u0131lar i\u00e7in kullan\u0131m\u0131 devre d\u0131\u015f\u0131d\u0131r. Buna ra\u011fmen Java Runtime Environment, sunucu taraf\u0131ndan hala daha aktif bir bi\u00e7imde varl\u0131\u011f\u0131n\u0131 s\u00fcrd\u00fcrmektedir. Java 8\u2019den itibaren ise hem kullan\u0131c\u0131 hem de sunucu i\u00e7in aktif durumdad\u0131r ve kullan\u0131ma a\u00e7\u0131kt\u0131r.<\/li><li>Ta\u015f\u0131ma Katman\u0131 G\u00fcvenli\u011fi protokol\u00fcne ait ve a\u00e7\u0131k kaynakl\u0131 b\u015fr uygulama olan LibreSSL, OpenBSD taraf\u0131ndan yap\u0131lm\u0131\u015f olan OpenSSL\u2019in uygulamas\u0131d\u0131r.<\/li><li>Daha \u00f6nce PolarSSl olarak adland\u0131r\u0131lan mbed TLS, g\u00f6m\u00fcl\u00fc sistemlerde kullan\u0131labilmesi ad\u0131na yap\u0131lm\u0131\u015f, k\u00fc\u00e7\u00fck bir SSL k\u00fct\u00fcphanesidir.<\/li><li>Network Security Services: FIPS 140 taraf\u0131ndan da onayl\u0131 bir halde var olan a\u00e7\u0131k kaynak kodlu k\u00fct\u00fcphanesidir.<\/li><li>OpenSSL, kullan\u0131c\u0131lar i\u00e7in kullan\u0131m\u0131 serbest olan bir uygulamad\u0131r. Ayr\u0131ca BSD lisansl\u0131 bir uygulamad\u0131r.<\/li><li>SChannel: Microsoft Windpws sistemlerinin TLS ve SSL paketlerini olu\u015fturan bir uygulamad\u0131r.<\/li><li>Secure Transport: iOS ve OS X sistemlerinin TLS ve SSL paketlerini olu\u015fturan bir uygulamad\u0131r.\u00a0<\/li><\/ul>\n\n\n\n<h2 id=\"tls-icin-diger-kullanim-alanlari\" class=\"wp-block-heading\"><strong>TLS i\u00e7in Di\u011fer Kullan\u0131m Alanlar\u0131<\/strong><\/h2>\n\n\n\n<p>Elektronik posta yani k\u0131sa ad\u0131 ile e-mail g\u00f6nderme protokol\u00fc olan SMTP\u2019de de di\u011ferlerinde oldu\u011fu gibi g\u00fcvenli bir alt yap\u0131ya ihtiya\u00e7 duyuldu\u011fu i\u00e7in elektronik posta g\u00f6nderme amac\u0131yla da TLS\u2019e ba\u015fvurarak elektronik postalar\u0131m\u0131z\u0131 kolayl\u0131kla koruma alt\u0131na alabiliriz. Ayn\u0131 zamanda bu uygulamalar dijital sertifikala\u015fma yoluyla, daha \u00f6nce de bahsetmi\u015f oldu\u011fumuz el s\u0131k\u0131\u015fma y\u00f6ntemi ile de kolayl\u0131kla en son yapm\u0131\u015f olduklar\u0131 i\u015flemlerin do\u011frulamalar\u0131n\u0131 halledebilirler.<\/p>\n\n\n\n<p>TLS ayn\u0131 zamanda \u00e7o\u011fumuzun bildi\u011fi VPN kullan\u0131m\u0131n\u0131 da bizlerin kullan\u0131m\u0131na sunmaktad\u0131r, \u00e7\u00fcnk\u00fc VPN\u2019de de benzer yap\u0131sal \u00f6zellikleri g\u00f6rmekteyiz. TLS kullan\u0131m\u0131 sonucunda b\u00fct\u00fcn a\u011f\u0131n t\u00fcnellenerek kapsand\u0131\u011f\u0131 bir protokold\u00fcr. T\u00fcnelleme \u015fu \u015fekilde ifade edilebilir: Kendi verileri i\u00e7inde verileri okumak amac\u0131yla birbirinden farkl\u0131 ileti\u015fim protokollerini kullanan ba\u015fka veri paketini kapsayan bir protokold\u00fcr, fakat kapsad\u0131\u011f\u0131 veri paketi eksiksiz olmal\u0131d\u0131r. Tek bir a\u011fda, aralar\u0131nda d\u00fc\u015f\u00fcnebilece\u011finiz her t\u00fcrden verinin sorunsuz ve g\u00fcvenli bir bi\u00e7imde iletimini sa\u011flayabilecek iki nokta aras\u0131nda bir t\u00fcnel olu\u015fturma amac\u0131 g\u00fcder.\u00a0<\/p>\n\n\n\n<p>TLS\u2019i baz alan VPN\u2019ler belli bir s\u00fcre ge\u00e7tikten sonra web taray\u0131c\u0131lar\u0131n\u0131n d\u0131\u015f\u0131nda da istemci sunucular\u0131n\u0131n baz al\u0131nabilece\u011fi uygulamalarda da olduk\u00e7a fazla say\u0131da etki g\u00f6stermi\u015fler ve rol alm\u0131\u015flard\u0131r.<\/p>\n\n\n\n<p>TLS ayn\u0131 \u015fekilde Oturum Ba\u015flatma Protokol\u00fc olan SIP uygulamas\u0131nda da \u00f6nemli bir rol ile yerini al\u0131r ve koruma konusunda da standart bir g\u00f6rev \u00fcstlenir.\u00a0<\/p>\n\n\n\n<h2 id=\"tlsin-tarihcesi-ve-gelisimi\" class=\"wp-block-heading\"><strong>TLS\u2019in Tarih\u00e7esi ve Geli\u015fimi<\/strong><\/h2>\n\n\n\n<p>TLS d\u00f6nemleri, geli\u015ftirilen versiyonlar do\u011frultusunda d\u00f6rt ayr\u0131 kategoride incelenebilir.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"732\" src=\"https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_188776257-1024x732.jpg\" alt=\"\" class=\"wp-image-32440\" srcset=\"https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_188776257-1024x732.jpg 1024w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_188776257-300x214.jpg 300w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_188776257-768x549.jpg 768w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_188776257-1536x1097.jpg 1536w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_188776257.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 id=\"tls-1-0-donemi\" class=\"wp-block-heading\"><strong>TLS 1.0 D\u00f6nemi<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>TLS 1.0, bilgisayarlar\u0131n sahip oldu\u011fu a\u011flar \u00fczerinden \u015fifreleme i\u00e7in kullan\u0131lan kanallar\u0131 kurmak ad\u0131na tan\u0131mlanm\u0131\u015f olan g\u00fcvenlik protokol\u00fcd\u00fcr. TLS 1.0, TLS\u2019in ilk s\u00fcr\u00fcm\u00fcd\u00fcr ve bundan dolay\u0131 birden fazla hata tespit edilmi\u015ftir ve zamanla yerini ba\u015fa versiyonlara b\u0131rakm\u0131\u015ft\u0131r. Bundan dolay\u0131 TLS\u2019in g\u00fcn\u00fcm\u00fczde kulland\u0131\u011f\u0131m\u0131z yeni s\u00fcr\u00fcmlerinde TLS\u2019in daha \u00fcst modelleri yer almaktad\u0131r.<\/li><\/ul>\n\n\n\n<h3 id=\"tls-1-1-donemi\" class=\"wp-block-heading\"><strong>TLS 1.1 D\u00f6nemi<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>TLS 1.1 versiyonu ad\u0131ndan da anla\u015f\u0131labilece\u011fi \u00fczere TLS 1.0 versiyonunun g\u00fcncellenmi\u015f \u015feklidir. Olduk\u00e7a karma\u015f\u0131k olan ve komplike \u015fifrelerin de yer ald\u0131\u011f\u0131 sald\u0131r\u0131lara kar\u015f\u0131 kullan\u0131c\u0131lar\u0131 korumak i\u00e7in geli\u015ftirilmi\u015ftir. Ba\u015fta gizli bir bi\u00e7imde tutulan ba\u015flang\u0131\u00e7 vekt\u00f6r\u00fc, TLS 1.1 versiyonu ile a\u00e7\u0131k bir bi\u00e7imde tutulmaya ba\u015flam\u0131\u015ft\u0131r. Bunun sebebi ise barizdir. Kullan\u0131c\u0131lar\u0131, k\u00f6t\u00fc ama\u00e7l\u0131 kullan\u0131c\u0131lar taraf\u0131ndan yap\u0131lan ve ard niyetli sald\u0131r\u0131lara kar\u015f\u0131 korumakt\u0131r.<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>Padding i\u00e7in, yani bir di\u011fer ad\u0131yla i\u00e7erik olu\u015fturmak i\u00e7in, b\u0131rak\u0131lm\u0131\u015f olan bo\u015f alanlarda olu\u015fan hatalar\u0131 d\u00fczeltme konusunda de\u011fi\u015fikliklere gidilmi\u015f ve bo\u015fluklar ad\u0131na daha fazla yer ayr\u0131lm\u0131\u015ft\u0131r.<\/li><\/ul>\n\n\n\n<h3 id=\"tls-1-2-donemi\" class=\"wp-block-heading\"><strong>TLS 1.2 D\u00f6nemi<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>TLS 1.1 versiyonunun, TLS 1.0 versiyonundan daha ba\u015far\u0131l\u0131 olmas\u0131 gibi, TLS 1.2 versiyonu da TLS 1.1 versiyonunun geli\u015ftirilmi\u015f versiyonudur ve geli\u015fim a\u015famas\u0131nda \u00f6zellikle TLS 1.1 spesifikasyonlar\u0131 g\u00f6z \u00f6n\u00fcnde bulundurulmu\u015ftur. Rastgele fonksiyonlar\u0131ndaki belli ba\u015fl\u0131 metotlar de\u011fi\u015ftirilmi\u015ftir ve bununla birlikte bu y\u00f6ntemler ayn\u0131 bi\u00e7imde tamamlanm\u0131\u015f olan mesaj \u00f6zetinde de de\u011fi\u015fikli\u011fe u\u011fra\u015fm\u0131\u015ft\u0131r.<\/li><li>Tamamlanm\u0131\u015f halde bulunan mesaj uzunlu\u011fundaki metotlar de\u011fi\u015ftirilmi\u015f olsalar bile, bit bak\u0131m\u0131ndan herhangi bir de\u011fi\u015fiklik ya\u015fanmam\u0131\u015ft\u0131r ve 96 bitte kalmas\u0131 kesinle\u015ftirilmi\u015ftir.<\/li><li>Dijital bir bi\u00e7imde imzal\u0131 eleman fonksiyonlar\u0131nda da belli ba\u015fl\u0131 metotlar de\u011fi\u015ftirilmi\u015f ve daha \u00f6nce de bahsetmi\u015f oldu\u011fumuz \u201cel s\u0131k\u0131\u015fma\u201d fonksiyonuna d\u00f6n\u00fc\u015ft\u00fcr\u00fclm\u00fc\u015ft\u00fcr.<\/li><li>\u0130stemci ve sunuculara daha fazla \u00f6zg\u00fcrl\u00fck tan\u0131nm\u0131\u015ft\u0131r. Yani istemci ve sunucular hangi \u00f6zetleri ile imzalama algoritmalar\u0131n\u0131 kullanaca\u011f\u0131n\u0131 kendileri se\u00e7meye ba\u015flam\u0131\u015flard\u0131r.<\/li><li>TLS uzant\u0131lar\u0131n\u0131n tan\u0131m k\u0131s\u0131mlar\u0131na daha g\u00fc\u00e7l\u00fc bir alt yap\u0131 olu\u015fturmak ad\u0131na \u201cGeli\u015fmi\u015f \u015eifreleme Standard\u0131\u201dn\u0131n \u00f6zel parolalar\u0131 eklenmi\u015ftir.<\/li><\/ul>\n\n\n\n<h3 id=\"tls-1-3-donemi\" class=\"wp-block-heading\"><strong>TLS 1.3 D\u00f6nemi<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>G\u00fcn\u00fcm\u00fczde de kullanmakta oldu\u011fumuz TLS 1.3 s\u00fcr\u00fcm\u00fc, TLS s\u00fcr\u00fcmleri aras\u0131ndaki en son s\u00fcr\u00fcm olarak piyasalarda yerini almaktad\u0131r. TLS 1.3 s\u00fcr\u00fcm\u00fcnde sorgulamalar esnas\u0131nda veri a\u00e7\u0131\u011f\u0131 verme ve di\u011fer problemlerden ka\u00e7\u0131nmak ad\u0131na \u015fifre paketleri ile kimlik do\u011frulama ve anahtar anla\u015fmalar\u0131 ayr\u0131 tutulmu\u015ftur.<\/li><li>Haricinde kullan\u0131lan eliptik e\u011friler zay\u0131f olduklar\u0131 ve di\u011ferlerine g\u00f6re de daha az kullan\u0131ld\u0131klar\u0131 gerek\u00e7esiyle kald\u0131r\u0131lm\u0131\u015f ve yerlerini ba\u015fka e\u011frilere b\u0131rakm\u0131\u015ft\u0131r.<\/li><li>Bir \u00f6nceki s\u00fcr\u00fcm yani TLS 1.2\u2019de kald\u0131r\u0131lan dijital imzalamalar, TLS 1.3 di\u011fer TLS s\u00fcr\u00fcmlerine nazaran olduk\u00e7a g\u00fcncel bir TLS s\u00fcr\u00fcm\u00fc olmas\u0131na ra\u011fmen geri getirilmi\u015ftir.<\/li><li>TLS 1.3 ile TLS\u2019in \u00f6nceki s\u00fcr\u00fcmlerine olan deste\u011fi de TLS 1.3\u2019\u00fcn kullan\u0131m\u0131na te\u015fvik ama\u00e7l\u0131 kald\u0131r\u0131lm\u0131\u015ft\u0131r.<\/li><li>TLS 1.3 ile \u00f6nceki s\u00fcr\u00fcmlerde yer edinen ve eskimi\u015f olan \u00f6zelliklerin baz\u0131lar\u0131 tekrardan kullan\u0131c\u0131lar\u0131n kullan\u0131m\u0131na sunulmu\u015ftur. \u00d6rnek olarak dijital imza verilebilir. \u00d6te yandan bir\u00e7o\u011funa verilen destek ise tamamen kald\u0131r\u0131lm\u0131\u015ft\u0131r.<\/li><li>Oturumlar\u0131n kullan\u0131m\u0131na blok \u015fifreler sunulmu\u015ftur.<\/li><li>Eski TLS s\u00fcr\u00fcmleri i\u00e7in kullan\u0131lan RC4 ve <strong><a href=\"https:\/\/www.natro.com\/ssl\/ssl-sertifikasi?utm_campaign=content&utm_medium=icerik&utm_source=hosting-blog&utm_content=\/blog\/transport-layer-security-tls-nedir\" target=\"_blank\" rel=\"noreferrer noopener\">SSL<\/a><\/strong> y\u00f6ntemlerini kullanan anla\u015fmalar, tamamen piyasaya s\u00fcr\u00fclmemesi kararla\u015ft\u0131r\u0131larak, bu t\u00fcr anla\u015fmalar\u0131n hepsi engellenmi\u015ftir.<\/li><li>TLS\u2019in eski s\u00fcr\u00fcmlerinde sahip oldu\u011fu katmanlar\u0131n b\u00fct\u00fcn \u00f6zellikleri rafa kald\u0131r\u0131lm\u0131\u015ft\u0131r. Bu da katman versiyonunun numara kay\u0131tlar\u0131n\u0131n silinmesi ve versiyon numaralar\u0131n\u0131n hepsinin dondurulmas\u0131 anlam\u0131na gelir.<\/li><li>Dijital imzalar ad\u0131na daha kaliteli bir hizmet sunabilmek i\u00e7in eskisine nazar olduk\u00e7a farkl\u0131 ve yeni algoritmalar eklenmi\u015ftir.\u00a0<\/li><\/ul>\n\n\n\n<h2 id=\"tlsde-bulunan-cesitli-guvenlik-onlemleri\" class=\"wp-block-heading\"><strong>TLS\u2019de Bulunan \u00c7e\u015fitli G\u00fcvenlik \u00d6nlemleri<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"682\" src=\"https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_146775863-1024x682.jpg\" alt=\"\" class=\"wp-image-32439\" srcset=\"https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_146775863-1024x682.jpg 1024w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_146775863-300x200.jpg 300w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_146775863-768x512.jpg 768w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_146775863-1536x1023.jpg 1536w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_146775863-2048x1364.jpg 2048w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_146775863-270x180.jpg 270w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_146775863-370x245.jpg 370w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/12\/dreamstime_m_146775863.jpg 2121w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>TLS\u2019in zay\u0131f \u015fifreleme protokol\u00fcne sahip olan bir \u00f6nceki versiyonuna d\u00fc\u015f\u00fcr\u00fclmesine (\u201cdowngrade of the protocol\u201d) ra\u011fmen kar\u015f\u0131 koruma olana\u011f\u0131 tan\u0131r. Birbirinin ard\u0131 s\u0131ra gelmesiyle olu\u015fturulan paketleri s\u0131ra numaralar\u0131 ile etiketler ve s\u0131ra numaralar\u0131na g\u00f6re etiketleri de mesaj do\u011frulama kodlar\u0131nda (MAC) kullan\u0131r. Ba\u011flant\u0131y\u0131 sona erdirme i\u015flemlerinde de iki taraftan da yollanan \u201cfinished\u201d kelimesinin \u201chash\u201di ile d\u0131\u015far\u0131dan gelebilecek ba\u011flant\u0131 sonland\u0131rma sald\u0131r\u0131lar\u0131na kar\u015f\u0131n da \u00f6nlemlerini s\u0131k\u0131 bir bi\u00e7imde al\u0131r.<\/p>\n\n\n\n<p>Veriler ikiye ayr\u0131l\u0131r ve bu verileri farkl\u0131 hash fonksiyonlar\u0131 ile birlikte (MD5 vs SHA-1) \u201chash\u201dlerini olu\u015fturur. Bu \u201chash\u201dleri olu\u015fturduktan sonra da ikiye ayr\u0131lan veriyi \u201cXOR\u201dlayarak mesaj do\u011frulamas\u0131 i\u00e7in kod olu\u015fturur. Ekstradan TLS\u2019de \u00e7ok daha fazla \u00e7e\u015fide sahip g\u00fcvenlik \u00f6nemleri vard\u0131r. Bu \u00f6nlemler de s\u00fcrekli denetlenmektedir. Bu denetlenmelerin sebepleri aras\u0131nda ise bir\u00e7ok veriyi tek bir a\u011fda ta\u015f\u0131mas\u0131 ve b\u00fct\u00fcn parolalar\u0131n tek bir a\u011f \u00fczerinden ge\u00e7mesi yatar. Bu g\u00fcvenlik \u00f6nemleri \u015fu \u015fekilde s\u0131ralanabilir:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u00d6nceki s\u00fcr\u00fcmlerde kullan\u0131lm\u0131\u015f olan ve \u00f6nceki s\u00fcr\u00fcmlerde \u015fimdiki s\u00fcr\u00fcme nazaran zay\u0131f kalm\u0131\u015f bulunan \u015fifre protokollerinin engellenmesi i\u00e7in al\u0131nan \u00f6nlemler.<\/li><li>Mevcut ba\u011flant\u0131lar\u0131 sonland\u0131rmak ad\u0131na sunucu ve istemcinin ayn\u0131 zamanda olmasa bile belli ba\u015fl\u0131 aral\u0131klarla ba\u011flant\u0131y\u0131 kar\u015f\u0131l\u0131kl\u0131 sonland\u0131rmalar\u0131 ile sald\u0131r\u0131lara kar\u015f\u0131 al\u0131nan \u00f6nlemler.<\/li><li>S\u00f6zde rastgelelik formunda ve fonksiyonunda kendisine gelen verileri ikiye b\u00f6lmesi ile bu verileri birbirinden farkl\u0131 ve de\u011fi\u015fken uzunlukta veri k\u00fcmelerinde saklayarak kar\u015f\u0131l\u0131kl\u0131 olmas\u0131n\u0131 engelleyerek (d\u0131\u015flay\u0131c\u0131 metotlara daha sonra bunlar\u0131n ayn\u0131 k\u00fcmeye ait oldu\u011funu g\u00f6sterir) ald\u0131\u011f\u0131 \u00f6nlemler.<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"Bir di\u011fer ad\u0131 Ta\u015f\u0131ma Katman\u0131 G\u00fcvenli\u011fi (Transport Layer Security) olan TLS ve TLS\u2019in \u00f6nc\u00fcs\u00fc olan G\u00fcvenlik Soket Katman\u0131&hellip;\n","protected":false},"author":7,"featured_media":32443,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[808],"tags":[],"class_list":{"0":"post-32437","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-ssl-sertifikasi"},"_links":{"self":[{"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/posts\/32437","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/comments?post=32437"}],"version-history":[{"count":2,"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/posts\/32437\/revisions"}],"predecessor-version":[{"id":32446,"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/posts\/32437\/revisions\/32446"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/media\/32443"}],"wp:attachment":[{"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/media?parent=32437"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/categories?post=32437"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/tags?post=32437"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}