WindowsHelper が PC と携帯電話をどのように保護するか、使用する暗号化、および明示的に防御しないもの。最終更新日: 2026-04-25。
電子メール support@windowshelper.app 件名付き [security]。 GitHub の公開問題を開かないでください。開示前に修正を提供するための猶予を与えてください。
ペアリングコードは、他のすべての暗号操作の派生元となる共有秘密です。ライフサイクル全体:
[ スマホが 8 文字のランダムなコードを生成 ] ↓ [ スマホがコードと sessionId を Firestore の pc_connections ドキュメントに書き込み ] ↓ [ スマホが画面にコードを表示 ] ↓ [ ユーザーがコードを読み、Companion の入力欄に入力 ] ↓ [ Companion がコードに一致する待機中セッションを Firestore に照会 ] ↓ [ 両側が SHA-256(コード, sessionId) から暗号鍵を導出 ] ↓ [ コードは両側のメモリ内にとどまり、どちらも Firestore には書き込まない ] ↓ [ 切断・再ペアリングで両側からコードを消去 ]
ネットワーク経由で送信されるすべてのコマンドは、認証暗号化モードである AES-256-GCM で暗号化されます。
SHA-256("WH_SECURE_{code}_{sessionId}_CMD_KEY").Random.secure() 電話または RandomNumberGenerator Companion 側。AESGCM:<nonce_b64>:<ciphertext_b64>:<tag_b64>すべてのコマンドには HMAC 署名も含まれるため、ペアリング コードを知らない携帯電話は、たとえ Firestore に書き込むことができたとしてもコマンドを挿入できません。
SHA-256("WH_SECURE_{code}_{sessionId}_HMAC_KEY"). 暗号化キーとは別にしてください。HMAC-SHA256(hmacKey, commandId | ciphertext | sentAtMillis). パイプは区切り文字ではなく、リテラルのパイプ文字です。つまり、3 つの文字列が連結されたものです。| 脅威 | ステータス | 注意事項 |
|---|---|---|
| ローカルネットワーク上の盗聴者 | 緩和された | AES-GCM 暗号文は MITM オブザーバーには不透明です。 |
| Firestoreサーバー上の盗聴者 | 緩和された | Google に見えるのは AESGCM:... のかたまりであって、コマンドではありません。 |
| Firestore に書き込むことはできるがコードを知らない攻撃者 | 緩和された | HMAC 検証が失敗します。Companion は拒否を記録し、実行しません。 |
| ペアリングコードをクラッキング/フィッシングした攻撃者 | 残留物 | ユーザーは、あたかもユーザーであるかのようにコマンドを発行できます。軽減策: トレイ メニューからコードをローテーションします。 |
| 記録されたコマンドの再生 | 残留物 | sentAtMillis は HMAC に結び付けられています。Companion はまだ有効期間を強制していません。今後の修正で有効期限を追加します。 |
| LANモードの非認証攻撃者 | 緩和された | WebSocket ペアのハンドシェイクによりコードが検証されます。 HMAC + AES は後続のコマンドごとにゲートします。 |
| ペアリングキーが盗まれた携帯電話が侵害される | 残留物 | 「ユーザー自身」と区別がつかない。軽減策: レート制限 (10 cmd/min) + 破壊的コマンドの確認には PC 側のクリックが必要です。 |
| 電話アプリからのコマンドの入力ミス | 緩和された | スマホ側の許可リストが未知のプレフィックスを遮断し、Companion 側の事前チェックが存在しないサービス宛てのコマンドを遮断します。 |
| 破壊的なコマンドが誤って実行される | 緩和された | Companion 側のダイアログで、Remove-Item、Format-Volume、reg delete、shutdown /r などを承認するにはユーザーのクリックが必要です。 |
| ハング/暴走した PowerShell プロセス | 緩和された | すべてのコマンドには時間の上限があります — 既定は 5 分、長時間かかる修正は 45 分、ハード上限は 60 分 — そしてプロセスツリー全体が終了されます。 |
| Companion ダウンロードと実行の間で .exe が改ざんされています | 緩和された | SHA-256 を companion-version.json で公開しており、利用者が確認できます。Authenticode 署名はリリース前に予定しています。 |
| Companion クラッシュ リークの機密状態 | 緩和された | クラッシュレポート + Firestore エラーライトバックのサニタイズ %USERPROFILE% / %MACHINE% / %USER%. |
| 盗難されたデバイス、永続化されたレジストリ ペアリング キー | 緩和された | 永続化されたペアリング コードは、Windows DPAPI (アカウントごと) で暗号化されるため、コピーされたディスクや別の Windows アカウントから読み取ることはできません。 |
WindowsHelper が明示的に防御しないもの:
[security].