■ LAN共有の使い方 / 通信仕様 / セキュリティ
概要
RecentLauncher の LAN共有 は、履歴アイテムを LAN内の端末へ暗号化して共有する機能 です。
グループ内でアイテムを素早く共有したり、複数PCで同じアイテムを使えたりと便利です。
中継サーバーは使わず、PC間直接通信 で動作するため、LAN外にデータを送信せずセキュリティも安心です。
LAN共有の通信プロトコル自体は RecentLauncher 独自仕様 で、現行世代は Protocol v2 / KDF v2 です。鍵導出には PBKDF2、ペイロード暗号化には AES-GCM、認証には HMAC-SHA256 などの一般的な方式を利用しています。
グループ内でアイテムを素早く共有したり、複数PCで同じアイテムを使えたりと便利です。
中継サーバーは使わず、PC間直接通信 で動作するため、LAN外にデータを送信せずセキュリティも安心です。
LAN共有の通信プロトコル自体は RecentLauncher 独自仕様 で、現行世代は Protocol v2 / KDF v2 です。鍵導出には PBKDF2、ペイロード暗号化には AES-GCM、認証には HMAC-SHA256 などの一般的な方式を利用しています。
利用フロー
- 履歴アイテムをチェック、または対象アイテムを右クリックして LAN共有... を実行します。
- 共有先端末を選択します。自動検出に加え、手動IP検索 / 再検索 に対応しています。
- 初回共有時は送信側に 6桁ペアリングコード が表示されるので、受信側へ伝えます。
- 受信側は承認ダイアログで 許可 / 拒否 を選びます。未操作の場合はタイムアウトで自動拒否されます。
- 受信成功後、データは履歴へインポートされ、送受信結果は 監査ログ に記録されます。
※ 「Protocol v2」は RecentLauncher 独自の通信仕様バージョンを指します。同様に「KDF v2」は、6桁ペアリングコードから共有鍵を作る独自の世代名です。
通信仕様
| 通信方式 | 中継サーバーを使用しないPC間直接通信(UDP + TCP) |
|---|---|
| 端末検索ポート | UDP 39393 |
| データ転送ポート | TCP 39394 |
| Discovery | hello をブロードキャスト送信(既定5秒間隔)。一定時間応答が無い端末はオフライン扱い(既定15秒)になります。 |
| UDPメッセージ | hello / probe_req / probe_res / offer / offer_result(JSON) |
| TCP取得 | 受信側が fetch_request(JSON 1行)を送信し、送信側は RLS1 + Int64 length + 暗号化ペイロード を返却します。 |
hello は端末生存通知、probe_req / probe_res は手動IP探索、offer は共有オファー通知、offer_result は accepted / rejected / completed / error などの結果通知に使われます。
暗号化 / 認証 / 改ざん検知
| ペイロード暗号化 | AES-GCM(32byte鍵 / nonce 12byte / tag 16byte) |
|---|---|
| 署名 | offer / offer_result / fetch_request は HMAC-SHA256 署名 |
| 共有鍵生成 |
KDF v2: PBKDF2-SHA256 600,000 iterations(現行) KDF v1: 旧式 SHA256 1回(互換用) |
| 鍵保護 | 保存時は DPAPI(CurrentUser) で保護して Base64 化します。 |
| リプレイ対策 | fetchToken の必須照合、fetch_request の時刻検証(過去3分超 / 未来1分超を拒否)、読み取りタイムアウト(10秒) |
| 受信ポリシー |
非暗号化オファーは拒否します(encryption_required)。 信頼済みかつ鍵保持相手は署名必須です。 信頼済み端末の自動受信は設定で ON/OFF できます(既定ON)。 |
共有データの形式
共有データ本体(ペイロード)はデータ圧縮されて送受信されます。
互換性と移行
protocolVersion が未設定または不正値の場合は v1 扱いになります。送信側は相手の Protocol に応じて KDF v1 / v2 を切り替えます。
また、kdfVersion が無い旧オファーは v1 → v2 の順で互換判定します。
旧KDF鍵を保存済みの端末は、アプリ更新後に 再ペアリングが必要になる場合があります。
また、kdfVersion が無い旧オファーは v1 → v2 の順で互換判定します。
旧KDF鍵を保存済みの端末は、アプリ更新後に 再ペアリングが必要になる場合があります。
プライバシーと運用上の注意
オファーのメタ情報(端末名、件数、サイズ、概要など)は暗号化されません。
共有データ本体そのものは暗号化されますが、「何かを送ろうとしていること」や概要レベルの情報はネットワーク上で見える前提で考えてください。
共有データ本体そのものは暗号化されますが、「何かを送ろうとしていること」や概要レベルの情報はネットワーク上で見える前提で考えてください。
- ブロードキャスト検出は通常ルーター越えしません。基本は 同一セグメント前提 です。
- 手動IP指定なら、ルーティング / ACL / Firewall が許せば隣接セグメントにも到達できる場合があります。
- 各種セキュリティ対策は行っていますが、高機密用途ではネットワーク分離・FW制限・自動受信OFF を推奨します。
- 企業環境では EDR やパーソナルファイアウォールのポリシーにより通信が遮断される場合があります。
受信ファイルパスが別PC由来の場合、履歴表示に「参照専用」が付くことがあります。
これは他PC上のパスをそのまま使えないためで、仕様となります。
■ LAN共有の初期値
| 有効 / 無効 | 初期は 無効 |
|---|---|
| 表示名 | 初期はホスト名(マシン名) |
| Discovery UDP Port | 39393 |
| Transfer TCP Port | 39394 |
| 探索間隔 | 5秒 |
| ピア有効期限 | 15秒 |
| 受信確認タイムアウト | 30秒 |
| 最大件数 / 共有 | 50件 |
| 最大容量 / 共有 | 100MB |
| 信頼済み端末の自動受信 | 有効 |
| ログ保持日数 | 90日 |
| ログ保持件数 | 3000件 |