|
|
Zverejnené 15. 8. 2017 21:08:39
|
|
|

Už som na túto jamu stúpil. Zabudol som, ako cvičiť, ale stále si pamätám tento princíp. Približne vysvetlite:
Inštalačný balík prehliadača uchováva niektoré z koreňových certifikátov (verejných kľúčov), ktorým dôveruje.
Pre bezpečnosť vydavatelia certifikátov zvyčajne ukladajú súkromné kľúče zodpovedajúce týmto koreňovým certifikátom v úplne odpojenom trezore. Tieto koreňové súkromné kľúče sa používajú v trezore na vydávanie niektorých "medzičasových" certifikátov a súkromné kľúče týchto medzicertifikátov majú oprávnenie vydávať certifikát na vyššej úrovni. Tieto medziprivátne kľúče sa inštalujú na online servery na zarábanie peňazí vydávaním certifikátov na webových stránkach. Keď sú tieto servery napadnuté, vydavateľ môže vydať príkaz na zrušenie pomocou fyzicky izolovaného súkromného kľúča koreňového certifikátu v trezore, aby odstránil dôveru v tieto medzicertifikáty bez úplnej nedôvery vydavateľovmu koreňovému certifikátu. Podpíšte nový certifikát o medziemisii a budete dobrý človek, ktorý dokáže zarobiť peniaze.
Tu prichádza otázka.
Prehliadač rozpoznáva iba koreňový certifikát. Na certifikáciu stredného certifikátu musíte (webstránka) vydať vlastný certifikát.
Správne nastavená HTTPS webová stránka by mala obsahovať celý reťazec certifikátov v certifikáte. Napríklad použite príkaz openssl s_client -connect www.wosign.com:443 na zobrazenie vlastnej webovej konfigurácie Wosignu. Zvyšok obsahu môžete ignorovať, stačí sa pozrieť na odsek reťazca certifikátov: --- Reťazec certifikátov 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=Súkromné Organization/serialNumber=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\x8D\x97\xE5\xB1\xB1\xE5\x8C\xBA\xE5\x8D\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\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 Class 4 EV Server CA 1 s:/C=CN/O=WoSign CA Limited/CN=WoSign Class 4 EV Server CA i:/C=CN/O=WoSign CA Limited/CN=Certifikačná autorita WoSign 2 s:/C=CN/O=WoSign CA Limited/CN=Certifikačná autorita WoSign i:/C=IL/O=StartCom Ltd./OU=Secure Digital Certificate Signing/CN=StartCom Certification Authority ---
0, 1 a 2 sú sériové čísla každej úrovne certifikátu v reťazci certifikátov. 0 je certifikát, ktorý webová stránka používa na overenie. Jeho CN by malo zodpovedať doménovému menu webovej stránky. Po každom sériovom čísle riadok začínajúci na s označuje certifikát a riadok začínajúci na i označuje, kto certifikát vydal.
Je zrejmé, že CN 0 obsahuje podozrivé čínske doménové meno a anglické doménové www.wosign.com. Vydáva ho WoSign CA Limited/CN=WoSign Class 4 EV Server CA.
Certifikát s hodnotou 1 je vydavateľom 0. Samotný certifikát 1 vydáva iný certifikát, Certifikačná autorita WoSign. Pozrime sa na ďalšiu úroveň, 2. Uvádza sa, že certifikačná autorita WoSign je vydaná spoločnosťou StartCom (haha, ukazuje sa, že ide o subdodávateľa!). )
Keď sa na to pozerám z takej miery, prehliadač povie, že poznám vydavateľa dvojky, a je to spomenuté v inštalačnom balíku StartCom. Správny podpis a overenie, takže dôvera 2. Potom by ste mali dôverovať aj 1 vydanému 2 a 0 vydanému 1. Takže tejto webovej stránke sa dá veriť.
--
Ak je však webová stránka nakonfigurovaná tak, aby obsahovala iba seba v CRT súbore a nie reťazec certifikátov, ktorý by bol dostatočne kompletný na overenie vstavanými dátami prehliadača, prehliadač ju môže odmietnuť. Ako čo OpenSSL s_client -connect touko.moe:443 --- Reťazec certifikátov 0 s:/CN=touko.moe i:/C=CN/O=WoSign CA Limited/CN=WoSign CA Bezplatný SSL certifikát G2 --- V jednej skupine je len 0. Popis Touko.moe v riadku s vydáva WoSign CA Free SSL Certificate G2 v riadku i. Je preč.
Toto je najúžasnejšia vec na tejto pasci: nie vždy platí, či prehliadač v tomto bode neoverí. Existujú 2 situácie: Odpoveď. Nikdy som to nevidel od inštalácie prehliadača. Potom validácia zlyhá. B. Ak prehliadač už predtým videl a overil, overenie bude úspešné.
Zvyčajne administrátor navštívi https webovú stránku vydavateľa certifikátu, aby si certifikát kúpil, prehliadač ho overí a potom uloží do vyrovnávacej pamäte všetky úspešne overené medzicertifikáty, čím ušetrí čas v budúcnosti. Keď administrátor (omylom) nakonfiguroval svoju webovú stránku a išiel si prezerať test, nemal žiadne problémy. Pretože jeho prehliadač už tento medzicertifikát rozpoznáva.
Mnohí používatelia však nemuseli navštíviť iné správne konfigurované webové stránky vydané týmto medzicertifikátom. Preto validácia zlyháva, pretože nemôže nájsť dôveryhodného vydavateľa.
Je porovnateľný s kontrolou emisií výfukových plynov v dieselových vozidlách Volkswagen. Všetko bolo v poriadku, keď som to skontroloval. Akonáhle vyjdú von, dajú jed.
EDIT: Ako opraviť ...... Pravdepodobne je potrebné pridať nastavenie SSLCertificateChainFile pri konfigurácii servera a použiť bundle súbor poskytnutý webovou stránkou vydavateľa certifikátu (súbor obsahuje množstvo medzicertifikátov na vytvorenie spojenia medzi vaším certifikátom a vysoko dôveryhodným certifikátom).
|
Predchádzajúci:OpenSSL konvertuje formát PFX na súbory .key a .crtBudúci:Android prehliadače indikujú, že certifikát nie je dôveryhodný
|