← Retour à WindowsHelper

Modèle de sécurité

Comment WindowsHelper protège votre PC et votre téléphone, quelle cryptographie nous utilisons et contre quoi nous ne nous défendons pas explicitement. Dernière mise à jour : 2026-04-25.

signaler une vulnérabilité

Courriel support@windowshelper.app avec sujet [security]. Veuillez ne pas ouvrir de problèmes GitHub publics : donnez-nous un délai pour envoyer un correctif avant sa divulgation.

Cycle de vie du code d'appariement

Le code d'appariement est le secret partagé toutes les autres opérations de cryptographie en découlent. Le cycle de vie complet :

[ Phone GENERATES random 8-char code ]
   ↓
[ Phone WRITES code + sessionId to Firestore in pc_connections doc ]
   ↓
[ Phone DISPLAYS code to user on screen ]
   ↓
[ User READS code, types it into companion's input field ]
   ↓
[ Companion QUERIES Firestore for waiting session matching the code ]
   ↓
[ Both sides DERIVE crypto keys from SHA-256(code, sessionId) ]
   ↓
[ Code STAYS in memory on both sides; never written to Firestore by either ]
   ↓
[ Disconnect / re-pair WIPES the code from both sides ]

Cryptographie

AES-256-GCM (confidentialité des commandes + intégrité)

Chaque commande envoyée par fil est cryptée avec AES-256-GCM, un mode de cryptage authentifié.

HMAC-SHA256 (authenticité de la commande)

Chaque commande porte également une signature HMAC, de sorte qu'un téléphone qui ne connaît pas le code d'appairage ne peut pas injecter de commandes même s'il peut écrire sur Firestore.

Modèle de menace

MenaceStatutRemarques
Écoute clandestine sur le réseau localAtténuéLe texte chiffré AES-GCM est opaque pour les observateurs du MITM.
Écoute clandestine sur les serveurs FirestoreAtténuéGoogle sees AESGCM:... blobs, not commands.
Attaquant capable d'écrire sur Firestore mais ne connaissant pas le codeAtténuéLa vérification HMAC échoue ; le compagnon enregistre le rejet + refuse l'exécution.
Attaquant qui a piraté/hameçonné le code d'associationRésiduelIls peuvent émettre des commandes comme s'ils étaient l'utilisateur. Atténuation : faites pivoter le code à partir du menu de la barre d'état.
Relecture d'une commande enregistréeRésiduelsentAtMillis is HMAC-bound; companion doesn't yet enforce a freshness window. Future fix adds a TTL.
Attaquant non authentifié en mode LANAtténuéLa poignée de main de la paire WebSocket valide le code ; HMAC + AES gate chaque commande suivante.
Téléphone compromis avec clé d'appairage voléeRésiduelImpossible à distinguer de « l’utilisateur lui-même ». Atténuation : limite de débit (10 cmd/min) + confirmation de commande destructrice nécessite un clic côté PC.
Commande mal saisie depuis l'application téléphoniqueAtténuéLa liste blanche côté téléphone bloque les préfixes non reconnus ; Le pré-vol côté compagnon bloque les commandes ciblant des services inexistants.
Commande destructrice exécutée accidentellementAtténuéCompanion-side modal requires user click to approve Remove-Item, Format-Volume, reg delete, shutdown /r, etc.
Processus PowerShell bloqué / en fuiteAtténuéUn délai d'attente de 5 minutes tue l'ensemble de l'arborescence des processus.
Companion .exe falsifié entre le téléchargement et l'exécutionAtténuéSHA-256 published in companion-version.json; users can verify. Authenticode signing landing soon.
Companion état sensible en cas de fuite en cas de crashAtténuéRapports d'erreur + réécritures d'erreurs Firestore %USERPROFILE% / %MACHINE% / %USER%.
Appareil volé, clé de couplage de registre persistanteRésiduelUn attaquant disposant d'un accès disque + connexion pourrait lire le code persistant. Le futur correctif l'encapsule avec Windows DPAPI.

Hors de portée

Choses que WindowsHelper fait explicitement pas se défendre contre :

Divulgation