Jak WindowsHelper chrání váš počítač + váš telefon, jakou kryptografii používáme a proti čemu se výslovně nebráníme. Poslední aktualizace: 25. 4. 2026.
E-mail support@windowshelper.app s předmětem [security]. Neotevírejte prosím veřejné problémy GitHubu – před zveřejněním nám dejte okno k odeslání opravy.
Párovací kód je sdílené tajemství, ze kterého vychází každá další krypto operace. Celý životní cyklus:
[ Telefon VYTVOŘÍ náhodný osmiznakový kód ] ↓ [ Telefon ZAPÍŠE kód + sessionId do Firestore v dokumentu pc_connections ] ↓ [ Telefon ZOBRAZÍ kód uživateli na obrazovce ] ↓ [ Uživatel PŘEČTE kód a zadá ho do pole v Companionu ] ↓ [ Companion VYHLEDÁ ve Firestore čekající relaci odpovídající kódu ] ↓ [ Obě strany ODVODÍ šifrovací klíče z SHA-256(kód, sessionId) ] ↓ [ Kód ZŮSTÁVÁ v paměti na obou stranách; ani jedna ho nezapíše do Firestore ] ↓ [ Odpojení / nové spárování VYMAŽE kód na obou stranách ]
Každý příkaz odeslaný po drátě je zašifrován pomocí AES-256-GCM, což je režim ověřeného šifrování.
SHA-256("WH_SECURE_{code}_{sessionId}_CMD_KEY").Random.secure() na telefonu popř RandomNumberGenerator na straně Companion.AESGCM:<nonce_b64>:<ciphertext_b64>:<tag_b64>Každý příkaz také nese podpis HMAC, takže telefon, který nezná párovací kód, nemůže vkládat příkazy, i když může zapisovat do Firestore.
SHA-256("WH_SECURE_{code}_{sessionId}_HMAC_KEY"). Oddělte od šifrovacího klíče.HMAC-SHA256(hmacKey, commandId | ciphertext | sentAtMillis). Roury jsou doslovné svislé znaky, nikoli oddělovače – tři zřetězené řetězce.| hrozba | Stav | Poznámky |
|---|---|---|
| Odposlech v místní síti | Zmírněno | Šifrovaný text AES-GCM je pro pozorovatele MITM neprůhledný. |
| Odposlech na serverech Firestore | Zmírněno | Google vidí bloky AESGCM:..., nikoli příkazy. |
| Útočník, který může zapisovat do Firestore, ale nezná kód | Zmírněno | Ověření HMAC se nezdaří; Companion zaznamená odmítnutí a odmítne provedení. |
| Útočník, který prolomil / phishingem párovací kód | Zbytkový | Mohou vydávat příkazy, jako by byli uživatelem. Zmírnění: otočte kód z nabídky zásobníku. |
| Přehrání nahraného příkazu | Zbytkový | sentAtMillis je vázán na HMAC; Companion zatím nevynucuje okno platnosti. Budoucí oprava přidá dobu platnosti. |
| Neověřený útočník v režimu LAN | Zmírněno | Párové handshake WebSocket ověří kód; HMAC + AES brána každý následující příkaz. |
| Kompromitovaný telefon s odcizeným párovacím klíčem | Zbytkový | K nerozeznání od „uživatelů samotných“. Zmírnění: omezení rychlosti (10 cmd/min) + potvrzení destruktivního příkazu vyžaduje kliknutí na straně PC. |
| Chybně zadaný příkaz z aplikace telefonu | Zmírněno | Seznam povolených na straně telefonu blokuje neznámé předpony; předletová kontrola na straně Companion blokuje příkazy mířící na neexistující služby. |
| Náhodně spuštěný destruktivní příkaz | Zmírněno | Okno na straně aplikace Companion vyžaduje kliknutí uživatele ke schválení Remove-Item, Format-Volume, reg delete, shutdown /r apod. |
| Zablokovaný / uniklý proces PowerShell | Zmírněno | Každý příkaz má časový strop — 5 minut ve výchozím stavu, 45 u dlouho běžící opravy, 60 na tvrdém stropu — a ukončí se celý strom procesů. |
| Companion Manipulace s příponou .exe mezi stažením a spuštěním | Zmírněno | SHA-256 zveřejněný v companion-version.json; uživatelé si ho mohou ověřit. Podpis Authenticode je naplánován před spuštěním. |
| Companion citlivý stav úniku | Zmírněno | Hlášení o selhání + zpětné zápisy o chybách Firestore jsou dezinfikovány %USERPROFILE% / %MACHINE% / %USER%. |
| Ukradené zařízení, přetrvávající klíč pro párování registru | Zmírněno | Trvalý párovací kód je zašifrován pomocí Windows DPAPI (pro každý účet), takže jej nelze přečíst ze zkopírovaného disku nebo jiného účtu Windows. |
Věci, proti kterým WindowsHelper výslovně nechrání:
[security].