Jsem nová v oblasti požadavků a zabezpečení HTTP a všech těch dobrých věcí, ale z toho, co jsem četl, pokud chcete, aby vaše požadavky a odpovědi byly šifrovány, používejte HTTPS a SSL a budete v pořádku. Někdo v předchozí otázka zveřejnil odkaz na tuto aplikaci http://www.charlesproxy.com/ , což ukazuje, že je skutečně možné čichat požadavky HTTPS a vidět žádost a odpověď v textu PLAIN.
Zkusil jsem to pomocí přihlašovacího jména facebook.com a skutečně jsem viděl své uživatelské jméno a heslo v prostém textu. Bylo to příliš snadné. Co se děje? Myslel jsem, že to byl smysl HTTPS - šifrovat požadavky a odpovědi?
To je vysvětleno na jejich stránce SSL proxy , možná ne s dostatečným vysvětlením.
Proxy je podle definice man-in-the-middle : klient se připojuje k proxy a proxy se připojuje k serveru.
SSL provádí dvě věci:
Je to druhá část, která je důležitá a zdánlivě nefunkční: tady sedíte ve svém prohlížeči a překvapilo vás, že se váš prohlížeč připojuje k serveru proxy, zatímco jste očekávali připojení k Facebooku. Z technického hlediska proxy nezatěžuje přenos HTTPS, ale přenáší jej.
Váš prohlížeč ví, že je připojen k Facebooku, protože web má certifikát , který říká: „Jsem opravdu www.facebook.com
“. Kryptografie veřejného klíče , tím, že se sem nedostanu, zajišťuje, že pouze držitel soukromého klíče může zahájit platné spojení s tímto certifikátem. To je jen polovina bitvy: máte pouze tvrzení serveru, že to opravdu je www.facebook.com
a ne randomhijacker.com
. Váš prohlížeč navíc kontroluje, zda byl certifikát ověřen certifikační autorito . Váš prohlížeč nebo operační systém je dodáván se seznamem certifikačních autorit, kterým důvěřuje. Kryptografie veřejného klíče opět zajišťuje, že pouze CA mohou vydávat certifikáty, které váš prohlížeč akceptuje.
Když se připojíte k serveru proxy, váš prohlížeč obdrží certifikát, který říká: „Jsem opravdu www.facebook.com
“. Tento certifikát však není podepsán certifikační autoritou, kterou váš prohlížeč ve výchozím nastavení důvěřuje. Tak:
https://www.facebook.com/
;V obou případech jste prohlížeči řekli, aby serveru proxy věřil. Tak tomu tak je. Připojení SSL není bezpečné, pokud začnete důvěřovat náhodným cizincům.
Doporučené čtení pro další informace:
Nemůžete zlomit https , pokud nemáte přístup k relaci symetrický klíč . Stručně řečeno, https relace fungují takto:
Pokud někdo, jak se po cestě může třetí strana dostat ke sdílenému tajemství, bude také schopen vygenerovat symetrický klíč relace a dešifrovat komunikaci.