امنیت FlashDesk

FlashDesk برای مدیریت امن ارتباط، تأیید، راستی‌آزمایی دستگاه و مدیریت عملیاتی کنترل از راه دور طراحی شده است. ویدئوی صفحه و داده‌های کنترل برای هر نشست رمزنگاری می‌شوند.

رمزنگاری برای هر نشست

رسانه و داده‌های کنترل با کلیدهای تولیدشده در شروع نشست رمزنگاری می‌شوند. FlashDesk از ECDH P-256، HKDF-SHA256 و AES-256-GCM استفاده می‌کند.
شماره توالی و برچسب احراز اصالت به تشخیص دست‌کاری و بسته‌های قدیمی کمک می‌کند.

ابتدا P2P، سپس رله در صورت نیاز

در صورت امکان، ویدئو و داده‌های کنترل مستقیم بین دستگاه‌ها ارسال می‌شوند. اگر اتصال مستقیم ممکن نباشد، رله استفاده می‌شود و داده‌ها همچنان رمزنگاری‌شده می‌مانند.

اجازه صریح در مقصد

دسترسی با تأیید دستی یا گذرواژه مجاز می‌شود. تأیید دستی می‌تواند یک‌بار یا برای مدت مشخص باشد و پس از پایان زمان به‌طور خودکار قطع شود.

راستی‌آزمایی اثرانگشت دستگاه

FlashDesk برای هر نصب هویت دستگاه ایجاد می‌کند. اگر اثرانگشت مقصد مورد اعتماد تغییر کند، برای بررسی هشدار می‌دهد.

سیگنالینگ و ارتباط مجوز

FlashDesk برای شروع اتصال از WebSocket over TLS ‏(wss://) و برای APIهایی مانند بررسی مجوز از HTTPS استفاده می‌کند. رسانه پس از برقراری در نشست رمزنگاری‌شده مدیریت می‌شود.

گواهی TLS خارجی

ارتباط سیگنالینگ FlashDesk از WebSocket روی HTTPS / TLS استفاده می‌کند. اطلاعات گواهی TLS عمومی زیر از سمت سرور دریافت می‌شود و هنگام تغییر گواهی به‌طور خودکار به‌روزرسانی می‌شود.

دامنه‌ها
در حال بارگذاری اطلاعات گواهی...
صادرکننده
در حال بارگذاری اطلاعات گواهی...
اثر انگشت SHA-256
در حال بارگذاری اطلاعات گواهی...
تاریخ انقضا
در حال بارگذاری اطلاعات گواهی...

اطلاعات گواهی موقتا در دسترس نیست.

آزمون امنیتی خارجی

FlashDesk آزمون امنیتی وب‌سایت عمومی و نقاط پایانی مرتبط خود را با استفاده از OWASP ZAP انجام داده است. همچنین رتبه A یا بالاتر را در Mozilla Observatory، SSL Labs و Security Headers تأیید کرده‌ایم.

مجوزهای سیستم‌عامل و حفاظت محلی

FlashDesk جریان مجوزهای macOS، Linux Wayland و سایر سیستم‌ها را دنبال می‌کند. اطلاعات اتصال و گذرواژه‌های ذخیره‌شده برای جلوگیری از ذخیره متن ساده پردازش می‌شوند.

داده‌هایی که سرورهای FlashDesk پردازش می‌کنند

FlashDesk servers may handle the following information as needed for service operation, abuse prevention, support, billing, and team administration.

DataPurposeStored or temporaryNotes
FlashDesk ID / device identifierConnection start, device lookup, license associationStored where neededUsed to identify devices and route requests.
Device fingerprint public informationDevice verification and ID bindingStored as a hash where applicableThe server stores fingerprint-related hashes, not the private identity key.
App version and OS typeCompatibility, support, and operational analysisStored or updated with client statusShown in admin and support contexts where applicable.
Connection status and path statusConnection maintenance, seat control, admin visibilityTemporary during sessions; selected audit records for ProIncludes whether a session is direct, relay, or probing when reported.
IP address and network metadataService operation, abuse prevention, diagnosticsStored in operational records where neededMay include last seen IP, download tracking, and WebSocket diagnostic metadata.
License / subscription statusLicense verification, billing, seat managementStored where neededPayment card details are handled by the payment provider, not by FlashDesk.
Error logs or operational logsSupport, outage investigation, abuse preventionStored as operational logs; server logs are automatically deleted after 30 daysWebSocket logs redact ssh_tunnel_data payloads; other metadata may be logged for diagnostics.
Admin console activity for Pro usersTeam administration, license and session reviewStored as admin recordsIncludes organization, user, license, seat, and session audit records.

داده‌هایی که در سرورهای FlashDesk ذخیره نمی‌شوند

FlashDesk servers do not store the following information during ordinary remote connections:

  • remote screen video contents
  • keyboard input contents
  • mouse operation contents
  • file transfer contents
  • SSH tunnel payload contents handled as ssh_tunnel_data
  • recorded session video contents

مقصدهای شبکه و پروتکل‌ها

The following table summarizes communication that administrators may want to review before deployment.

PurposeProtocolPortTypical destinationNotes
Website / downloadHTTPS443/TCPFlashDesk official serversDownload pages show the version and SHA-256 checksum for official release files.
SignalingWebSocket over TLS (wss://)443/TCPflashdesk.io/wsUsed to start sessions and exchange candidate information.
API / license checkHTTPS443/TCPflashdesk.io/api/license/verifyUsed when checking a registered license key and seat status.
Update checkHTTPS443/TCPflashdesk.io/data/latest.json and package pathsThe app periodically checks the update manifest over HTTPS, downloads update packages from official servers, and verifies the expected SHA-256 hash before applying an update.
STUN / P2P candidate checkUDP3478/UDPFlashDesk official serversUsed to discover a reachable network endpoint before attempting direct P2P.
Direct P2P connectionUDP media/control pathDynamic UDP ports on peer devicesPeer device network endpointsDirect connection is preferred when NAT/firewall conditions allow it.
Relay connectionEncrypted media/control payloads over the relay path40020/UDP in the current desktop appFlashDesk relay serverUsed when a direct device-to-device path is not available. SDK relayws responses use 443/TCP.

رفتار سرور relay

FlashDesk first attempts a direct device-to-device path. Because NAT, firewall, VPN, and mobile-network conditions can prevent direct UDP communication, sessions may continue through a relay path when needed.

When relay routing is used, the relay server forwards packets for the session. Media and control payloads continue to be encrypted with the per-session key, and packets include authentication data used to detect tampering or replayed old packets.

نصب و رفتار پس‌زمینه

FlashDesk can run in the background and can start automatically with the OS when the setting is enabled. The current default setting enables OS startup.

  • Windows: startup is managed through a user logon scheduled task named FlashDesk_Autostart, with a legacy Run-key fallback check.
  • macOS: startup is managed through a LaunchAgent plist.
  • Linux: startup is managed through XDG Autostart.

OS permissions are requested only as needed for features. macOS may require Screen Recording for screen capture and Accessibility for remote input control. Linux Wayland sessions use the desktop portal / PipeWire screen-sharing flow. FlashDesk periodically checks an HTTPS update manifest, downloads update packages from official servers, and verifies the expected SHA-256 hash before applying an update.

Local settings are stored under the user's application data folder in FlashDesk/flashdesk_settings.json. Local app logs are written under the user's local application data folder in FlashDesk/logs with a 7-day retention setting in the current app code. Local screen recordings, when enabled by the user, are stored under FlashDesk/recording on the user's device.

اصالت فایل و امضای کد

Download pages show the version and SHA-256 checksum for official release files. Before installation, users can compare the downloaded file's SHA-256 checksum with the value published on the download page.

  • Windows: FlashDesk .exe files are signed with Authenticode. You can check the signature from file Properties > Digital Signatures, or run Get-AuthenticodeSignature .\FlashDesk.exe in PowerShell.
  • macOS: FlashDesk .pkg and .app distributions are signed with Apple Developer ID certificates and notarized by Apple.
  • Linux: verify the published SHA-256 checksum for .deb, .rpm, and AppImage downloads.

گزارش آسیب‌پذیری

برای مسائل امنیتی از صفحه تماس استفاده کنید و [Security] را در موضوع بنویسید.

Please include the affected version, OS, reproduction steps, logs if available, and screenshots if relevant.

توصیه‌های عملیاتی

در رایانه‌های مشترک گذرواژه ذخیره نکنید، مقصدهای غیرضروری را حذف کنید، تغییر اثرانگشت ناشناس را تأیید نکنید و برای نشست‌های طولانی محدودیت زمانی بگذارید.