FlashDesk 보안

FlashDesk는 원격 제어에 필요한 통신, 연결 승인, 장치 확인, 운영 관리를 안전하게 처리하도록 설계되었습니다. 화면 영상과 제어 데이터는 세션마다 암호화됩니다.

세션별 암호화

미디어 통신과 제어 데이터는 세션 시작 시 생성되는 키로 암호화됩니다. FlashDesk는 ECDH P-256, HKDF-SHA256, AES-256-GCM을 사용합니다.
순서 번호와 인증 태그로 변조 및 오래된 패킷 재전송을 감지할 수 있습니다.

P2P 우선, 필요 시 릴레이

가능하면 영상과 제어 데이터는 장치 간에 직접 전송됩니다. 직접 연결이 어려우면 릴레이를 사용하지만 페이로드는 계속 암호화됩니다.

대상 측의 명시적 허용

접근은 수동 승인 또는 비밀번호로 허용할 수 있습니다. 수동 승인은 1회만 또는 선택한 시간 동안 허용할 수 있으며, 시간 제한 세션은 자동 종료됩니다.

장치 지문 확인

FlashDesk는 설치마다 장치 ID 키를 만들고 공개 키에서 지문을 생성합니다. 신뢰한 대상의 지문이 바뀌면 확인할 수 있도록 경고합니다.

시그널링 및 라이선스 통신

FlashDesk는 연결 시작에 WebSocket over TLS(wss://), 라이선스 확인 등 API에 HTTPS를 사용합니다. 미디어 통신은 수립 후 암호화된 세션에서 처리됩니다.

외부 TLS 인증서

FlashDesk의 시그널링 통신은 HTTPS / TLS 위의 WebSocket을 사용합니다. 아래 공개 TLS 인증서 정보는 서버에서 가져오며, 인증서가 변경되면 자동으로 반영됩니다.

대상 도메인
인증서 정보를 불러오는 중...
발급자
인증서 정보를 불러오는 중...
SHA-256 지문
인증서 정보를 불러오는 중...
유효 기간
인증서 정보를 불러오는 중...

인증서 정보를 일시적으로 가져올 수 없습니다.

외부 보안 진단

FlashDesk는 OWASP ZAP을 사용하여 공개 웹사이트와 관련 엔드포인트에 대한 보안 진단을 완료했습니다. 또한 Mozilla Observatory, SSL Labs, Security Headers에서 A 이상 등급을 확인했습니다.

OS 권한 및 로컬 보호

FlashDesk는 macOS, Linux Wayland 등 각 OS의 권한 흐름을 따릅니다. 저장된 연결 정보와 비밀번호는 평문 저장을 피하도록 처리됩니다.

FlashDesk 서버가 처리하는 데이터

FlashDesk 서버는 서비스 운영, 악용 방지, 지원, 결제, 팀 관리를 위해 필요한 범위에서 다음 정보를 처리할 수 있습니다.

데이터목적저장 또는 임시비고
FlashDesk ID / 장치 식별자연결 시작, 장치 조회, 라이선스 연결필요한 경우 저장장치 식별과 요청 라우팅에 사용됩니다.
장치 fingerprint 공개 정보장치 검증과 ID 바인딩해당되는 경우 hash로 저장서버는 fingerprint 관련 hash를 저장하며 개인 identity key는 저장하지 않습니다.
앱 버전 및 OS 종류호환성, 지원, 운영 분석클라이언트 상태와 함께 저장 또는 갱신해당되는 admin 및 support 상황에서 표시됩니다.
연결 상태 및 경로 상태연결 유지, seat 제어, admin 가시성세션 중 임시 처리; Pro는 일부 audit record 저장보고된 경우 direct, relay, probing 상태를 포함합니다.
IP 주소 및 네트워크 메타데이터서비스 운영, 악용 방지, 진단필요 시 운영 기록에 저장last seen IP, 다운로드 추적, WebSocket 진단 메타데이터가 포함될 수 있습니다.
라이선스 / 구독 상태라이선스 확인, 결제, seat 관리필요한 경우 저장결제 카드 세부정보는 결제 제공자가 처리하며 FlashDesk가 저장하지 않습니다.
오류 로그 또는 운영 로그지원, 장애 조사, 악용 방지운영 로그로 저장; 서버 로그는 30일 후 자동 삭제WebSocket 로그는 ssh_tunnel_data payload를 마스킹하며, 다른 메타데이터는 진단용으로 기록될 수 있습니다.
Pro 사용자의 admin console 활동팀 관리, 라이선스 및 세션 검토admin 기록으로 저장조직, 사용자, 라이선스, seat, 세션 audit 기록을 포함합니다.

FlashDesk 서버에 저장되지 않는 데이터

일반적인 원격 연결 중 FlashDesk 서버는 다음 정보를 저장하지 않습니다:

  • 원격 화면 영상 내용
  • 키보드 입력 내용
  • 마우스 조작 내용
  • 파일 전송 내용
  • ssh_tunnel_data로 처리되는 SSH tunnel payload 내용
  • 녹화된 세션 영상 내용

네트워크 엔드포인트와 프로토콜

아래 표는 배포 전에 관리자가 검토할 수 있는 통신을 요약합니다.

목적프로토콜포트주요 대상비고
웹사이트 / 다운로드HTTPS443/TCPFlashDesk 공식 서버다운로드 페이지는 공식 릴리스 파일의 버전과 SHA-256 checksum을 표시합니다.
SignalingWebSocket over TLS (wss://)443/TCPflashdesk.io/ws세션 시작과 candidate 정보 교환에 사용됩니다.
API / 라이선스 확인HTTPS443/TCPflashdesk.io/api/license/verify등록된 license key와 seat 상태 확인에 사용됩니다.
업데이트 확인HTTPS443/TCPflashdesk.io/data/latest.json 및 패키지 경로앱은 HTTPS로 update manifest를 주기적으로 확인하고 공식 서버에서 패키지를 다운로드한 뒤 적용 전 예상 SHA-256 hash를 검증합니다.
STUN / P2P candidate 확인UDP3478/UDPFlashDesk 공식 서버직접 P2P 시도 전에 도달 가능한 network endpoint를 찾는 데 사용됩니다.
직접 P2P 연결UDP media/control pathpeer 장치의 동적 UDP 포트peer 장치 network endpointNAT/firewall 조건이 허용하면 직접 연결을 우선합니다.
Relay 연결relay 경로의 암호화된 media/control payload현재 desktop app에서는 40020/UDPFlashDesk relay server장치 간 직접 경로가 없을 때 사용됩니다. SDK relayws 응답은 443/TCP를 사용합니다.

Relay 서버 동작

FlashDesk는 먼저 장치 간 직접 경로를 시도합니다. NAT, firewall, VPN, 모바일 네트워크 조건으로 직접 UDP 통신이 불가능할 수 있어 필요한 경우 relay 경로로 세션을 계속할 수 있습니다.

relay routing 사용 시 relay 서버는 세션 packet을 전달합니다. media/control payload는 세션 키로 계속 암호화되며 packet에는 변조 또는 오래된 packet 재전송을 감지하기 위한 인증 데이터가 포함됩니다.

설치 및 백그라운드 동작

FlashDesk는 백그라운드에서 실행될 수 있으며 설정이 활성화되면 OS 시작 시 자동 실행될 수 있습니다. 현재 기본 설정은 OS 시작을 활성화합니다.

  • 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 권한은 기능에 필요할 때만 요청됩니다. macOS는 화면 캡처에 Screen Recording, 원격 입력 제어에 Accessibility가 필요할 수 있습니다. Linux Wayland는 desktop portal / PipeWire 화면 공유 흐름을 사용합니다. FlashDesk는 HTTPS update manifest를 주기적으로 확인하고 공식 서버에서 업데이트 패키지를 다운로드한 뒤 적용 전 예상 SHA-256 hash를 검증합니다.

로컬 설정은 사용자 애플리케이션 데이터 폴더의 FlashDesk/flashdesk_settings.json에 저장됩니다. 로컬 앱 로그는 FlashDesk/logs에 기록되며 현재 앱 코드는 7일 보관 설정을 사용합니다. 사용자가 활성화한 로컬 화면 녹화는 FlashDesk/recording에 저장됩니다.

파일 진위성과 코드 서명

다운로드 페이지는 공식 릴리스 파일의 버전과 SHA-256 checksum을 표시합니다. 설치 전 다운로드한 파일의 SHA-256을 게시된 값과 비교할 수 있습니다.

  • Windows: FlashDesk .exe 파일은 Authenticode로 서명되어 있습니다. 파일 속성 > 디지털 서명 또는 PowerShell의 Get-AuthenticodeSignature .\FlashDesk.exe로 확인할 수 있습니다.
  • macOS: FlashDesk .pkg 및 .app 배포본은 Apple Developer ID 인증서로 서명되고 Apple에서 notarized되었습니다.
  • Linux: .deb, .rpm, AppImage 다운로드의 공개 SHA-256 checksum을 확인하세요.

취약점 보고

보안 문제는 연락처 페이지를 사용하고 제목에 [Security]를 포함하세요.

영향받는 버전, OS, 재현 절차, 가능한 로그와 관련 스크린샷을 포함하세요.

운영 권장 사항

공유 PC에서는 비밀번호 저장을 피하고, 불필요한 대상을 삭제하며, 알 수 없는 지문 변경을 승인하지 않고, 긴 세션에는 시간 제한을 사용하는 것을 권장합니다.