İcindekiler
HTTP ve HTTPS nedir?​
HTTP ve HTTPS arasındaki fark nedir?​
HTTPS protokolu icerisindeki şifreleme nedir?​
HTTPS Everywhere kullanılmasına gerek bulunmakta mıdır?​
HTTPS Everywhere eklentisini dahili olarak kullanan hizmetler nelerdir?​



HTTP ve HTTPS nedir?


HTTP işlevsel olarak, Web'in veri iletişiminin temelini oluşturan bir protokol olarak karşımıza cıkmaktadır. Temelini oğrenmek gerekirse; HTTP protokolu sayesinde kullanıcılar, Web tarayıcıları uzerindeki gonderdikleri (yani istemci ile gonderdikleri) istek mesajı ile veri aktarımı yapmak istedikleri sunucudan yanıt beklerler. Buna karşılık olarak sunucu, kendisine gonderilen istek mesajına yanıt vererek isteğin sonuclanmasını sağlar.

Orneğin, Google veya herhangi bir arama motoru uzerinde aratmak istediğiniz kelimeleri girdiniz ve sonrasında da karşınıza cıkan sonuclar arasından birisini secerek internet sitesine girmek istediniz. Bu durumda tarayıcınız, istemci konumundadır. Erişmek istediğiniz internet sitesi ise, sunucu konumundadır. İnternet sitesine erişmenizin isteğini sağlayan ise, internet sitesine girmek icin uzerine tıkladığınız bağlantı adresidir. Bağlantı adresine tıkladığınızda, sunucuya gonderilmesi icin bir dizi HTTP isteği oluşturarak gonderirsiniz. Bu sayede de internet sitesine giriş işleminiz sonuclanmış olur.



HTTPS, HTTP isteklerini ve yanıtlarını şifrelemek icin TLS (veya SSL) kullanılan bir protokoldur. Sonunda bulunan S kelimesi, Secure olarak adlandırılan Guvenli anlamından gelmektedir. HTTP isteğinde bulunduğunuzda ve yanıtlarınızda, karşı tarafın (orneğin saldırgan) bu verileri şifrelenmiş (yani rastgele karakterlerden oluşmuş bir şekilde) bir şekilde gozukmesini sağlamaktadır.



HTTP ve HTTPS arasındaki fark nedir?

Kavramların acıklamalarına baktığımızda temel farkın, şifreleme olduğunu goruyoruz. Ornek olması bakımından, Cloudflare uzerindeki bulunan istek satırlarına goz atabiliriz.

HTTP isteği gonderilirken:
[CODE title="HTTP İsteği"]GET /hello.txt HTTP/1.1
User-Agent: curl/7.63.0 libcurl/7.63.0 OpenSSL/1.1.l zlib/1.2.11
Host: www.example.com
Accept-Language: en[/CODE]

HTTP isteği yanıtlanırken:
[CODE title="HTTP İsteği Yanıtlanması"]HTTP/1.1 200 OK
Date: Wed, 30 Jan 2019 12:14:39 GMT
Server: Apache
Last-Modified: Mon, 28 Jan 2019 11:17:01 GMT
Accept-Ranges: bytes
Content-Length: 12
Vary: Accept-Encoding
Content-Type: text/plain

Hello World![/CODE]

Buradan da anlaşılacağı uzere, gonderilen veya alınan veriler herhangi bir şekilde şifrelenmiş bir şekilde değildir. Bu yuzden herhangi bir saldırgan, bu verilere rahatca goz atabilir fakat HTTPS devreye girdiğinde durum, aşağıdaki gibi gercekleşecektir.

HTTP isteği gonderilirken:
CODE title="HTTP İsteği"GET /hello.txt HTTP/1.1
User-Agent: curl/7.63.0 libcurl/7.63.0 OpenSSL/1.1.l zlib/1.2.11
Host: www.example.com
Accept-Language: en/CODE

Saldırgan kişinin goreceği istek:
CODE title="Şifrelenmiş İcerik"t8Fw6T8UV81pQfyhDkhebbz7+oiwldr1j2gHBB3L3RF TRsQCpaSnSBZ78Vme+DpDVJPvZdZUZHpzbbcqmSW1+3xXGsERH g9YDmpYk0VVDiRvw1H5miNieJeJ/FNUjgH0BmVRWII6+T4MnDwmCMZUI/orxP3HGwYCSIvyzS3MpmmSe4iaWKCOHQ==
/CODE

Aynı şekilde saldırgan kişi, sunucunun yanıtını da şifrelenmiş bir şekilde gorecektir. Bu sayede veriler, herhangi bir suistimale uğrama (guvenlik veya gizlilik riskine karşı) potansiyeli icerisinde olmayacaklardır.

HTTPS protokolu icerisindeki şifreleme nedir?

HTTP
ile aralarındaki temel farkın şifreleme olduğunu oğrendiğimize gore, bu şifrelemenin nasıl bir şekilde elde edildiğini de oğrenebiliriz.

TLS (Transport Layer Security yani Taşıma Katmanı Guvenliği), bilgisayar ağı uzerinden guvenli haberleşmeyi sağlamak icin tasarlanmış kriptolama protokolleridir. Bu protokoller, acık anahtarlı şifreleme adı verilen bir teknoloji kullanır. Bu şifrelemede iki anahtar vardır, bir acık anahtar ve bir gizli anahtardır. Acık anahtar, sunucunun SSL sertifikası aracılığıyla istemci cihazlarıyla paylaşılır. Bir istemci bir sunucuyla bağlantı actığında, iki cihaz, aralarındaki diğer iletişimi şifrelemek icin oturum anahtarları adı verilen yeni anahtarlar uzerinde anlaşmak icin acık ve gizli anahtarı kullanır.

Tum HTTP istekleri ve yanıtları daha sonra bu oturum anahtarlarıyla şifrelenir, boylece iletişimi kesen herkes duz metni değil, yalnızca rastgele bir karakter dizisini gorebilir.

HTTPS Everywhere kullanılmasına gerek bulunmakta mıdır?




Tum web sunucuları; belirtilen bu iki protokol arasından birisini (HTTP veya HTTPS) kullanmaktadırlar fakat risk olmaması acısından, HTTPS kullanılması gerekmektedir. HTTPS protokolu bulunmayan web siteleri bulunduğundan, eklentiler vasıtasıyla da problemimizi cozebiliriz. Bu durumda karşımıza, Electronic Frontier Foundation tarafından geliştirilen HTTPS Everywhere eklentisi cıkmaktadır.

Tarayıcınıza eklemek icin, kendi sitelerinde bulunan istemciye tıklayabilir, varsayılan ayarları ile kullanabilir veya aşağıdaki ornekte de belirtildiği uzere kullanabilirsiniz.

HTTPS Everywhere HTTPS Everywhere is a Firefox, Chrome, and Opera extension that encrypts your communications with many major websites, making your browsing more secure.
www.eff.org








Varsayılan ayarları dışında (kırmızı dikdortgen icerisinde), gorselde de belirtilen (mavi dikdortgen icerisinde) seceneği de acık tutabilirsiniz. @darktower'ın da acılmasını onermiş olduğu opsiyonel olarak sunulan bu secenek ile, HTTP protokolunu hÂl daha sunucu icerisinde bulunduran siteler başta olmak uzere, tum siteler icerisindeki HTTPS protokolu sorgulanacaktır ve buna bağlı olarak tum sitelerde şifreleme işlemi gercekleşmek istenecektir.

Brave ve Tor tarayıcıları uzerinde, dahili olarak bulunduğunu da belirtebiliriz. Bu tarayıcılara eklemek icin herhangi bir mağazadan edinmenize gerek yoktur.






Calışma prensibinden olan şifreleme icin sınırlı destek sunar ancak kullanımını zorlaştırır. Orneğin, varsayılan olarak şifrelenmemiş HTTP olarak veya şifrelenmemiş siteye geri donen bağlantılarla şifrelenmiş sayfaları doldurabilirler. HTTPS Everywhere uzantısı, bu sitelere yapılan istekleri HTTPS'ye yeniden yazmak icin akıllı teknoloji kullanarak bu sorunları giderir.







15 Nisan 2021 tarihinde gercekleştirilen anlaşma sayesinde HTTPS Everywhere, DuckDuckGo icerisindeki akıllı şifreleme teknolojisini de kendi bunyesi icerisinde sunmaya başladı. Daha oncesinden, @darktower'ın onerisiyle HTTPS Everywhere icin bir makale oluşturmaya karar vermiştim fakat ortada olan anlaşma olaylarından dolayı, eklentinin icerisine eklenecek olan ozelliğin de beklenmesi gerektiğini duşundum. Bu durumdan dolayı makale, beklenilen zamandan daha uzun surede oluşturulmaya başlandı.

EFF Adopts DuckDuckGo HTTPS Dataset We ’re proud to announce EFF is switching to the DuckDuckGo Smarter Encryption dataset in their HTTPS Everywhere extension, which automatically upgrades to secure website connections when possible.
spreadprivacy.com




HTTPS Everywhere eklentisi dışında, Smart HTTPS adında bir eklenti de bulunuyor fakat tam olarak farkının ne olduğu konusunda pek emin değilim. Geliştirme konusunda da GitHub uzerinde hÂl daha guncel bir verisi bulunamamaktadır.

GitHub - ilGur1132/smart-https: Smart HTTPS Smart HTTPS. Contribute to ilGur1132/smart-https development by creating an account on GitHub.
github.com




Smart HTTPS geliştirilmeye devam edilmiyor olabilir veya ozellikler konusunda, iyileştirmeler yapılmıyor (geliştirici eklenti hakkında herhangi bir acıklama yapmadığından) gibi gozukuyor. Elde ettiğim veriler olmadığından dolayı da, karşılaştırma tarzında bir icerik de oluşturamadım. Bundan dolayı HTTPS Everywhere'ın tek başına kullanılması yeterli olacaktır diye duşunuyorum. Ek olarak; HTTPS konusunda bildiğiniz farklı eklentiler bulunuyorsa, konu icerisinde paylaşabilirsiniz.


Konu icerisinde eksik, hatalı ya da bilgilendirici olarak gorduğunuz alanları belirtebilir veya HTTPS Everywhere hakkındaki sorularınızı sorabilirsiniz.

Kaynakca
HTTP ve HTTPS arasındaki farkın anlaşılabilmesi acısından, aşağıdaki makalelerden yararlanıldı.​
HTTP | Wikipedia
HTTPS | Wikipedia
Why is HTTP Not Secure? | Cloudflare
How Does Public Key Encryption Work? | Cloudflare
HTTPS Everywhere | Wikipedia
Makale icerisinde gorselliğin yeterli olması acısından, aşağıdaki gorsellerden yararlanıldı. Lock | Unsplash HTTP Simgesi | Wikipedia HTTP Simgesi | Internet Marketing Magicians HTTPS Everywhere Simgeleri | EFF