Https Nasıl Çalışır?
-
Son zamanlarda ssl sertifikalarının çalındığı haberlerini sıkça duymaya başladık. Bu sertifikalar sadece CA serverlerinde mi tutulur? https destekleyen bir siteye girmek istediğimizde veri şifrelemesi sırasıyla "ziyaretçi - CA server - website" şeklin de mi? yoksa sadece "ziyaretçi - website" şeklinde mi oluyor?
-
vallah bilmiyorum :S bilen çıkar. https güvenli diye biliyorum sadece bu
-
Biraz karışık bir olay. RSA keylerinin özelliği : public key ile şifrelenen data private key ile açılabilir. Private key ile imzalanan data public key ile doğrulanabilir.
CA bir CA sertifikasi üretir. Bu sertifikanın private key'i CA da kalır, public key'i ise işletim sistemleriyle birlikte dağıtılır. Sonra A şirketi bir sertifika üretir, private key'i yine bu şirkette kalır, public keyi CA ya yollar. CA kendi private keyi ile bu sertifikayı imzalar. Böylece A şirketinin public key sertifikası CA tarafından imzalanmış olduğu için, tüm internet kullanıcıları A şirketine de otomatik olarak güvenir. Çünkü A şirketinin sertifikası CA nın private keyi ile imzalanmıştır ve bizim PC mizdeki CA nın public sertifikası ile bunu doğrulayabiliriz.
Sonra https siteye bağlandığınızda, key exchange denilen olay gerçekleşir. (SSL Handshake). A şirketi size imzalı public key sertifikasını yollar, siz aldığınız sertifikayı valid mi diye test edersiniz, valid ise, güvenilir demektir, sonra master secret key değişimi yapılır, Bu key AES-DES gibi bir simetrik (hızlı) şifreleme keyidir, asıl veri şifrelemesi bu key ile yapılır, public key ise sadece bu AES-DES keyinin şifrelenmesinde kullanılır.
istemci yani browser A şirketinden gelen public key ile master secret key i şifreler. A şirketi gelen datayı private key'i ile açar ve artık her iki tarafta da key var, bir sonraki handshake e kadar iletişim bu AES keyi ile gerçekleşir.
Public key ile şifrelenmiş data private key olmadan kırılamaz. Asimetrik şifreleme metodları yavaştır ancak kırılması çok daha zordur. (bu konuyu öğrendiğim rene'ye teşekkürler :)
-
Şimdi yukardaki mesaja bi kac şey ekleyim dedim..
CA yani acıkcası Certificate Authority belli başlı dünya çapındaki firmalar. İşletim sistemin yüklenirken, senin bilgisayarına CAların public keyleri yükleniyor mmc.exe yi çalıştırıp konsol köküne sertifika aracını ekleyip oradaki Güvenilen Kök Sertifika Sağlayıcıları kısmına bakarsan pcne yüklenen kök sertifika dağıtıcılarının public sertifikalarını görebilirsin...
Microsoft windows update aracılığı ile düzenli aralıklarda güncelliyor, windows update aracılığı ile alıyorsun...
İkinci mevzu, CA'nın Private keyi, bu key CA'nın içerisinde güvenli odada tutulan HSM içerisinde bulunuyor. Dolayısıyla çalınması nerdeyse imkansız demek lazım. Zaten bir canın güvenli olmasındaki sır o CA'nın sertifika imzalayacağı private keyini çok iyi tutabilmesinde saklı...
Üçüncü mevzu asimetrik şifreleme işlemi, asimetrik şifreleme şifreleyen key ve şifreleneni çözen keyin birbirinden farklı olmasına dayanan şifreleme metoduki bu sistemin güzelliği burada yatıyor...
Örneğin bi dosyan var onu 1. anahtarla şifrelediğinde ancak 2. anahtar ile açabiliyorsun, 1. anahtar ve ikinci anahtar ise birlikte oluşturuluyor... mükemmel dimi:)
Fakat bu sistem sistemi yoran bir işlem olduğu için tüm daha bu şekilde şifrelenmiyor... asimetrik keyin key anahtarı genelde 1024 bit yada 2048 bit olur. 2048 yada 1024 bit ile karşı tarafa bir key gönderilir, ve bu key aracılığı ile dosya simetrik olarak şifrelenir ki bunu tugberk 3. paragrafta anlatmış.. simetrik keyin şifresi ise genelde 128 yada 256 bit olur
Orada tek bir mevzu var, normalde işlem yukardaki gibi olsada, günümüzde kullanılan RSA algoritmasında (RSA değil başka bi asimetrik algoritma olabilir, şu anda tam emin değilim) asimetrik key karşıya gittiğinde tekrardan bi aes keyi oluşturulup yollanmıyor, Serverdaki public ile Clienttaki publik bir algoritmaya girip rasgele bir key oluşturuyor, bu işlem hem sunucu hem istemcide yapılıp o anlık aes keyi bulunuyor, dolayısıyla tekrardan aes keyi dönüşümü yapılmamış oluyor...
İş biraz karışık, tahta olması lazım anlatmak için :)
-
renegadealien bunu yazdı:
-----------------------------Şimdi yukardaki mesaja bi kac şey ekleyim dedim..
CA yani acıkcası Certificate Authority belli başlı dünya çapındaki firmalar. İşletim sistemin yüklenirken, senin bilgisayarına CAların public keyleri yükleniyor mmc.exe yi çalıştırıp konsol köküne sertifika aracını ekleyip oradaki Güvenilen Kök Sertifika Sağlayıcıları kısmına bakarsan pcne yüklenen kök sertifika dağıtıcılarının public sertifikalarını görebilirsin...
Microsoft windows update aracılığı ile düzenli aralıklarda güncelliyor, windows update aracılığı ile alıyorsun...
İkinci mevzu, CA'nın Private keyi, bu key CA'nın içerisinde güvenli odada tutulan HSM içerisinde bulunuyor. Dolayısıyla çalınması nerdeyse imkansız demek lazım. Zaten bir canın güvenli olmasındaki sır o CA'nın sertifika imzalayacağı private keyini çok iyi tutabilmesinde saklı...
Üçüncü mevzu asimetrik şifreleme işlemi, asimetrik şifreleme şifreleyen key ve şifreleneni çözen keyin birbirinden farklı olmasına dayanan şifreleme metoduki bu sistemin güzelliği burada yatıyor...
Örneğin bi dosyan var onu 1. anahtarla şifrelediğinde ancak 2. anahtar ile açabiliyorsun, 1. anahtar ve ikinci anahtar ise birlikte oluşturuluyor... mükemmel dimi:)
Fakat bu sistem sistemi yoran bir işlem olduğu için tüm daha bu şekilde şifrelenmiyor... asimetrik keyin key anahtarı genelde 1024 bit yada 2048 bit olur. 2048 yada 1024 bit ile karşı tarafa bir key gönderilir, ve bu key aracılığı ile dosya simetrik olarak şifrelenir ki bunu tugberk 3. paragrafta anlatmış.. simetrik keyin şifresi ise genelde 128 yada 256 bit olur
Orada tek bir mevzu var, normalde işlem yukardaki gibi olsada, günümüzde kullanılan RSA algoritmasında (RSA değil başka bi asimetrik algoritma olabilir, şu anda tam emin değilim) asimetrik key karşıya gittiğinde tekrardan bi aes keyi oluşturulup yollanmıyor, Serverdaki public ile Clienttaki publik bir algoritmaya girip rasgele bir key oluşturuyor, bu işlem hem sunucu hem istemcide yapılıp o anlık aes keyi bulunuyor, dolayısıyla tekrardan aes keyi dönüşümü yapılmamış oluyor...
İş biraz karışık, tahta olması lazım anlatmak için :)
-----------------------------
Tahtada anlatıp video çeksene hocam çok iştah açıcı şekilde anlatıyorsun :)
-
la bende hep bunu merak ediyodum, hem keyi gönderip hemde nası data gizli kalır diyodum, yanlız öyle alengirliki bir kaç kez okuyarak anlayabildim :D,
-
şifrelerdeki şu
128
256
1024 bit
ve benzeri şeyler neyi ifadece ediyor anahtaın büyüklüğünümü
şifreleme yöntemim 1024 bit ise
anahtarımın alacağı en büyük değer
2 üzeri 1024
bunumu ifade ediyor
-
önce rsa şifrelemenin mantığını incelemek lazım. wikipedia'da ayrıntılı biçimde var.
-
Buremba bunu yazdı:
-----------------------------önce rsa şifrelemenin mantığını incelemek lazım. wikipedia'da ayrıntılı biçimde var.
-----------------------------kime yazdın hacı
rsa nın nasıl çalıştığını biliyorum :D
-
Tugberk ve rene, gerçkten çok güzel biçimde anlattınız. Teşekkürler. Geçen iranlı hackerler nasa nın ssl sertifikasını çalmış, ondan önce başka bir iranlı comodo nun sertifikalarını italyan reseller (veya herneyse) üzerinden çalmıştı. Stuxnet ve duqu yu yazanlar realtekin sertifikalarını çalmış ve yazdıkları wormu dijital olarak imzalamışlardı. Yani ssl sertifikası çalmak imkansız değil ama çalındığı anlaşıldığı için sertifikilar hemen iptal ediliyor sanırım.
-
Şimdi bir CA'dan kendi hazırladığın SSL sertifikasını imzalatıyorsun.
SSl sertifikası dediğin içinde 2 tane 1024 karakterin olduğu bir dosya... birisi public olarak adlandırılır, diğeri private olarak adlandırılır...
Sen public olarak imzaladığını CA'ya gönderirsin, bak ben bununla onaylayacam diye, adamlarda tamam der o sertifikaya kendi CA verify taglarını eklerler...
O andan itibaren bilgisayarına o CA auth CA olarak eklenmiş herkez senin sertifikanı güvenli olaark görür...
Bu durumda imzalanmış sertifika için public key çalınamaz çünkü zaten ortada gezmesi için üretilmiş key...
Ama Private key çok önemli, çünkü sen bir dosyayı o private key ile imzalarsan, artık o private keyin public keyinde var olan CA verify tagının sahibi olan CAyı auth CA kabul eden tüm bilgisayarlar, hoşgeldin abi bu dosya güvenilir der alır içeri...
Ama örneğin realtekin senin bilgisayarına yüklediği ses kartını güvenlidir özelliği katmak için eline bulunan private key ile şifreliyorya, o private keyin bulunduğu pcden o dosya çalınırsa, çalan arkadaş realtekten onaylı antivirüslerin ötmediği bir virüs yapabilir :)
örneğin Teamviewer, dikkat ettiğinizde teamviewer tam manası ile bir virüsdür, dosya transferi klavye mouse ve ekran görüntüsü yollamanın haricinde istersen twde kullanıcıya hissettirmeden sadece konferans hlinde yapılanlarıda izleyebilirsin... Ama adamlar kendi dosyalarını CA'dan imzalattıkları dosya aracılığı ile oluşturdukları için antivirüsler vs sesini çıkartmıyorlar...