Ošetření vstupů VS šifrování vstupů
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Milan Obrtlík
- Člen | 50
Dobrý den,
mám hru, u které potřebuju zašifrovat komunikaci (aby to uživatele
odradilo od hackování). Šifrování probíhá následovně:
- Klient vygeneruje RSA klíče, podepsaný veřejný klíč pošle serveru
- Server ověří podpis veřejného klíče a vygeneruje AES klíč, zašifruje ho veřejným klíčem a pošle klientovi
- Klient rozšifrováním zprávy získává AES klíč. Dále komunikace probíhá se symetrickým klíčem
Problém je v tom, že nepoužívám certifikační autoritu na podpis veřejného klíče, takže útočník může získat podpis útokem na moji hru. Jakmile získá podpis, může celý autorizační proces nafejkovat a posílat mi do serveru šifrovaný škodlivý kód. Ten bohužel projde bez problémů přes jakékoli ošetření vstupů a „rozbalí“ se až v „srdci“ Nette, takže si vlastně dám šifrováním gól do vlastní branky.
Je možné ošetřit vstupy znovu po otevření zašifrovaného balíčku?