No žádná autentizace tam teď v podstatě není, ale možná si jen nerozumíme :-)
Aha, tak o čem se bavíme? Jestli dokážeme v TCP spojení, které přes nás jde, nahradit jedny ASCII znaky za jiné ASCII znaky (a přepočítat CRC)? Na to je všude na netu návodů hromada, ale jestli chceš, tak to za těch 5kKč klidně naprogramuju
.
Můj návrh s autentizací pomocí AES jen tento (má za cíl autorizovat mezi sebou obě strany jen při navazování spojení)...a nemění komunikační protokol
1. jen obě strany už od začátku znají šifrovací klíč
2. server vygeneruje náhodný vektor, který použije k inicializaci šifry a zašifruje nějaký text (třeba náhodný nebo "5*9=")
Zbytečně složité, stačí do zařízení poslat zašifrovaný text a zařízení ho pošle rozšifrovaný (nebo naopak, ale ono je to v CTR módu vlastně jedno).
Teda, ehm: doufám že ten CTR mód inicializuješ vždycky správně a negeneruješ omylem pokaždé stejný keystream, že ne?!? Pak by šly ty challenge navzájem vyXORovat a jsi více či méně v řiti (podle konkrétních detailů protokolu)
Tím se zajistí, že klient i server si musí rozumět a můžou spolu komunikovat.
No dobře, tím server ověřil, že komunikuje se správným klientem. Jak je tohle ale navázáno na celý zbytek komunikace? Co se stane, pokud v tento okamžik do komunikace vstoupí útočník?
Je to mnohem horší, což osobně vidím jako velkej průser.
No tak si na to najměte konzultanta. Já se klidně hlásím, když mě trochu postalkuješ tak najdeš že mám za sebou pár projektů podle kterých bych toho měl být schopen (a už jsem vám poradil to OpenWRT
. Jenom se bojím, že mě nedokážete zaplatit, když s tím zjevně zápasíte několik let a za tu dobu jste nedokázali sehnat programátora co by tomu rozuměl.
Nějakej osvědčenej typ na model se kterým se každej naučí?
Tohle je běh na dlouhou trať, pokud chceš rozumět těm principům za tím, tak budeš muset nastudovat aplikovanou kryptografii (začal bych tady:
https://cryptopals.com/) a sítě (začal bych tady
http://www.earchiv.cz/l225/index.php3 a tady
http://www.earchiv.cz/l226/index.php3). Pokud chceš hotové bezpečné řešení, tak nějakou existující knihovnu implementující široce známý standard (např. TLS). Pokud to tvůj embedded systém neumí a potřebuješ si napsat něco vlastního, tak to opravdu bez porozumění výše uvedeným zdrojům nedáš.
Jestli ses ptal na model routeru, tak bych doporučil tyhle levné bílé mikrotiky -
https://www.alza.cz/mikrotik-rb750r2-d2646618.htm (existuje jich víc, RB750, RB952… pro tebe jsou všechny ekvivalentní) a do toho flashnout OpenWRT. Pokud je 900 Kč za Mikrotik moc, tak bych zkusil na AliExpressu GL-MT300N-V2, který stojí polovinu, ale je to „neznačkové“ řešení.
Pořád by mě ještě zajímala odpověď na to, zda by to někdo tady skutečně dokázal prolomit a ukázat mi to v reálném provozu.
Já teď nevím co teda jako máme ukázat že prolomíme. Jde o to editování spojení které přes nás jde, příp. jsme ho na sebe přesměrovali třeba pomocí ARP spoof? Jako sorry, ale to je snad síťařské „101“, ne?