چگونه WindowsHelper از رایانه شخصی + تلفن شما محافظت میکند، از چه رمزنگاری استفاده میکنیم و صراحتاً از چه چیزی دفاع نمیکنیم. آخرین به روز رسانی: 2026-04-25.
ایمیل support@windowshelper.app با موضوع [security]. لطفاً مسائل عمومی GitHub را باز نکنید - به ما پنجره ای بدهید تا قبل از فاش شدن، رفع مشکل کنیم.
کد جفت شدن است راز مشترک هر عملیات کریپتو دیگری ناشی از. چرخه زندگی کامل:
[ 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 ]
pairingCode; پس از جفت شدن، کد منحصراً در حافظه باقی می ماند.هر فرمانی که از طریق سیم ارسال می شود با AES-256-GCM، یک حالت رمزگذاری احراز هویت شده، رمزگذاری می شود.
SHA-256("WH_SECURE_{code}_{sessionId}_CMD_KEY").Random.secure() روی تلفن یا RandomNumberGenerator روی همراهAESGCM:<nonce_b64>:<ciphertext_b64>:<tag_b64>هر فرمان همچنین دارای امضای HMAC است، بنابراین تلفنی که کد جفت شدن را نمیداند، حتی اگر بتواند در Firestore بنویسد، نمیتواند دستورات را تزریق کند.
SHA-256("WH_SECURE_{code}_{sessionId}_HMAC_KEY"). از کلید رمزگذاری جدا کنید.HMAC-SHA256(hmacKey, commandId | ciphertext | sentAtMillis). لوله ها نویسه های واقعی لوله هستند، نه جداکننده - سه رشته به هم پیوسته.| تهدید | وضعیت | یادداشت ها |
|---|---|---|
| استراق سمع در شبکه محلی | کاهش یافته است | متن رمزی AES-GCM برای ناظران MITM مبهم است. |
| استراق سمع سرورهای Firestore | کاهش یافته است | Google sees AESGCM:... blobs, not commands. |
| مهاجمی که می تواند به Firestore بنویسد اما کد را نمی داند | کاهش یافته است | تأیید HMAC ناموفق است. companion رد را ثبت می کند + اجرا را رد می کند. |
| مهاجمی که کد جفت شدن را شکست / فیش کرد | باقیمانده | آنها می توانند دستورات را طوری صادر کنند که گویی کاربر هستند. کاهش: کد را از منوی سینی بچرخانید. |
| بازپخش یک فرمان ضبط شده | باقیمانده | sentAtMillis is HMAC-bound; companion doesn't yet enforce a freshness window. Future fix adds a TTL. |
| مهاجم احراز هویت نشده در حالت LAN | کاهش یافته است | دست دادن جفت WebSocket کد را تأیید می کند. HMAC + AES هر دستور بعدی را گیت می کند. |
| تلفن به خطر افتاده با کلید جفت شدن به سرقت رفته | باقیمانده | غیر قابل تشخیص از "خود کاربر". کاهش: محدودیت سرعت (10 سانتی متر در دقیقه) + تأیید فرمان مخرب نیاز به کلیک سمت رایانه شخصی دارد. |
| دستور اشتباه تایپ شده از برنامه تلفن | کاهش یافته است | لیست مجاز سمت تلفن، پیشوندهای ناشناخته را مسدود می کند. دستورات پیش از پرواز سمت همراه را که سرویسهای موجود را هدف قرار میدهند مسدود میکند. |
| فرمان مخرب به طور تصادفی اجرا می شود | کاهش یافته است | Companion-side modal requires user click to approve Remove-Item, Format-Volume, reg delete, shutdown /r, etc. |
| فرآیند پاورشل آویزان / فراری است | کاهش یافته است | تایم اوت سخت 5 دقیقه ای کل درخت فرآیند را می کشد. |
| Companion دستکاری exe بین دانلود و اجرا | کاهش یافته است | SHA-256 published in companion-version.json; users can verify. Authenticode signing landing soon. |
| Companion حالت حساس به نشت خرابی | کاهش یافته است | گزارشهای خرابی + بازنویسی خطاهای Firestore پاکسازی میشوند %USERPROFILE% / %MACHINE% / %USER%. |
| دستگاه دزدیده شده، کلید جفت شدن رجیستری ادامه دارد | باقیمانده | مهاجمی که دسترسی به دیسک + ورود به سیستم داشته باشد میتواند کد ادامهدار را بخواند. اصلاحات آینده آن را با Windows DPAPI میپیچد. |
کارهایی که WindowsHelper به صراحت انجام می دهد نه دفاع در برابر:
[security].