|
|
Yayınlandı 15.08.2017 21:08:39
|
|
|

Bu çukura daha önce adım attım. Pratik yapmayı unuttum ama bu prensibi hâlâ hatırlıyorum. Kabaca açıklayın:
Tarayıcının kurulum paketi, güvendiği bazı kök sertifikaları (açık anahtarları) saklar.
Güvenlik için, sertifika vericiler genellikle bu kök sertifikalara karşılık gelen özel anahtarları tamamen bağlantısı olmayan bir kasada saklar. Bu kök özel anahtarlar, kasada bazı "ara" sertifikalar vermek için kullanılır ve bu ara sertifikaların özel anahtarları bir sonraki seviye sertifikayı verme yetkisine sahiptir. Bu ara özel anahtarlar, web sitesi sertifikaları vererek para kazanmak için çevrimiçi sunuculara yüklenir. Bu sunucular hacklendikten sonra, yayıncı kasadaki fiziksel olarak izole kök sertifika özel anahtarını kullanarak iptal emri verebilir ve bu ara sertifikaların güvenini ortadan kaldırabilir ve yayıncının kök sertifikasına tamamen güven vermeden kalkar. Yeni bir ara veriş sertifikası imzala, para kazanabilecek iyi bir adam olursun.
İşte soru geliyor.
Tarayıcı yalnızca kök sertifikayı tanır. Ara sertifikanın sertifikası için siz (web sitesi) kendi sertifikanızı vermeniz gerekiyor.
Doğru şekilde yapılandırılmış bir HTTPS web sitesi, sertifikada tam sertifika zincirini içermelidir. Örneğin, openssl s_client -connect www.wosign.com:443 komutunu kullanarak Wosign'ın kendi web sitesi yapılandırmasını görebilirsiniz. Geri kalan içerik görmezden gelinebilir, sadece Sertifika zinciri paragrafına bakın: --- Sertifika zinciri 0 s:/1.3.6.1.4.1.311.60.2.1.3=CN/1.3.6.1.4.1.311.60.2.1.2=Guangdong/1.3.6.1.4.1.311.60.2.1.1=Shenzhen/businessCategory=Özel Organizasyon/seriNumara=440301103308619/C=CN/ST=\xE5\xB9\xBF\xE4\xB8\x9C\xE7\x9C\x81/L=\xE6\xB7\xB1\xE5\x9C\xB3\xE5\xB8\x82/postalCode=518067/street=\xE6\xB7\xB1\ xE5\x9C\xB3\xE5\xB8\x82\xE5\x97\xD\x97\xE5\xB1\xE5\x8C\xBA\xE5\x97\xD\x97\xE6\xB5\xB7\xE5\xA4\xA7\xE9\x81\x931057\xE5\x8F\xB7\xE7\xA7\x91\xE6\x8A\x80\xE5\xA4\xA7\xE5\ x8E\xA6\xE4\xBA\x8C\xE6\x9C\x9FA\xE6\xA0\x8B502#/O=WoSign\xE6\xB2\x83\xE9\x80\x9A\xE7\x94\xB5\xE5\xAD\x90\xA4\xE8\xAE\xA4\xE8\xAF\x81\xE6\x9C\x8D\xE5\x8A\xA1\xE6\x9C\x89\ xE9\x99\x90\xE5\x85\xAC\xE5\x8F\xB8/CN=www.wosign.com i:/C=CN/O=WoSign CA Limited/CN=WoSign Sınıf 4 EV Sunucusu CA 1 s:/C=CN/O=WoSign CA Limited/CN=WoSign Sınıf 4 EV Sunucusu CA i:/C=CN/O=WoSign CA Limited/CN=WoSign Sertifikasyon Otoritesi 2 s:/C=CN/O=WoSign CA Limited/CN=WoSign Sertifikasyon Otoritesi i:/C=IL/O=StartCom Ltd./OU=Güvenli Dijital Sertifika İmzası/CN=StartCom Sertifikasyon Otoritesi ---
0, 1 ve 2, sertifika zincirindeki her sertifika seviyesinin seri numaralarıdır. 0, web sitesinin doğrulanmak üzere kullandığı sertifikadır. CN, web sitesi alan adıyla uyumlu olmalıdır. Her seri numarasından sonra, s ile başlayan satır sertifikayı, i ile başlayan satır ise sertifikayı veren kişiyi gösterir.
0'ın CN'sinin şüpheli bir Çin alan adı ve İngilizce bir alan www.wosign.com içerdiği görülebilir. WoSign CA Limited/CN=WoSign Class 4 EV Server CA tarafından verilmektedir.
1 sertifikası, 0'ın vericisidir. 1 ise başka bir sertifika olan WoSign Sertifikasyon Otoritesi tarafından verilir. Bir sonraki seviyeye bakalım, 2. WoSign Sertifikasyon Otoritesinin StartCom tarafından verildiği yazıyor (haha, meğerse bir alt yüklenici olduğu ortaya çıktı!). )
Bu kadar dikkatli bakınca, tarayıcı 'Ah, 2'nin vericisini biliyorum' diyor ve kurulum paketi StartCom'da bahsediliyor. Doğru imza ve doğrulama, yani güven 2. O zaman 2 tarafından verilen 1 ve 1 tarafından verilen 0'a da güvenmelisiniz. Bu yüzden bu web sitesine güvenilebilir.
--
Ancak, web sitesi CRT dosyasında yalnızca kendisini içerecek şekilde yapılandırılmışsa ve tarayıcının yerleşik verileriyle doğrulanacak kadar eksiksiz bir sertifika zinciri değilse, tarayıcı tarafından reddedilebilir. Ne gibi? openssl s_client -connect touko.moe:443 --- Sertifika zinciri 0 s:/CN=touko.moe i:/C=CN/O=WoSign CA Limited/CN=WoSign CA Ücretsiz SSL Sertifikası G2 --- Bir grupta sadece 0 kişi var. Açıklama S satırındaki touko.moe, WoSign CA tarafından Ücretsiz SSL Sertifikası G2 tarafından i satırında verilmiştir. Gitti.
Bu tuzakta en şaşırtıcı şey budur: tarayıcının şu noktada doğrulama yapmadığı her zaman doğru değildir. İki durum var: C. Tarayıcı yüklerken bu tür bir i'yi hiç görmedim. Sonra doğrulama başarısız oluyor. B. Eğer tarayıcı i'yi daha önce görüp doğruladıysa, doğrulama başarılı olur.
Genellikle yönetici, sertifikayı satın almak için sertifika verenin https web sitesine gider, tarayıcı bunu doğrular, ardından başarıyla doğrulanan ara sertifikaları önbelleker, böylece gelecekte zaman kazanır. Yönetici (yanlışlıkla) web sitesini yapılandırıp testi incelemeye gittiğinde hiç sorun yaşamıyordu. Çünkü tarayıcısı bu ara sertifikayı zaten tanıyordu.
Ancak, birçok kullanıcı, bu ara sertifika tarafından verilen diğer doğru yapılandırılmış web sitelerini ziyaret etmemiş olabilir. Bu nedenle, doğrulama başarısız olur çünkü güvenilir bir ihraçlayıcı bulamaz.
Bu, Volkswagen dizel araçların egzoz emisyon kontrolüne benzetilebilir. Kontrol edildiğinde her şey yolundaydı. Dışarı çıkar çıkmaz zehir sürerler.
DÜZENLEME: Nasıl düzeltilir ...... Muhtemelen sunucuyu yapılandırırken SSLCertificateChainFile ayarını eklemek ve sertifika verenin web sitesi tarafından sağlanan bundle dosyasını kullanmak için (dosya, sertifikanız ile yüksek güven sertifikası arasında bağlantı kurmak için bir dizi ara sertifika içerir).
|
Önceki:OpenSSL, PFX formatını .key ve .crt dosyalarına dönüştürürÖnümüzdeki:Android tarayıcıları sertifikanın güvenilir olmadığını gösterir
|