セキュリティ

ちゃんと理解できるセキュリティ

リモートアクセスは強力です。だからこそPocketlidは、私たちへの信頼をできるかぎり必要としない設計にしました。その仕組みを、流行り言葉に頼らずご説明します。

何がどこを通るか

デバイス間で直接、暗号化して

  • 画面の映像
  • Macの音声
  • キーボードとポインタの入力
  • ファイルとクリップボード
  • ターミナルセッション

Pocketlidサーバー経由

  • アカウントのメールアドレス
  • デバイスの一覧:名前と公開鍵
  • デバイス同士が互いに接続するためのネットワークアドレスなど、接続確立のためのメッセージ
  • スリープ解除のリクエストと、Macがオンラインかどうか

直接接続できない場合は、暗号化されたリレー(TURN)が通信を中継します。リレーから見えるのは、暗号化されたパケットだけです。

ピアツーピアで暗号化

スマートフォンとMacは、ブラウザのビデオ通話にも使われている標準技術WebRTCで接続します。2台のデバイス間の通信は、すべて暗号化されます。

サーバーは待ち合わせ場所にすぎません。私たちはサーバーを、設計段階から信頼できないものとして扱っています。たとえ誰かがサーバーを乗っ取っても、あなたのスマートフォンになりすましてMacに接続したり、Macになりすましてスマートフォンに接続したりすることはできません。

すべての接続に署名

各スマートフォンは、Android Keystoreに署名鍵を作成します。この鍵はハードウェアで保護され、書き出すことはできません。Macも、macOSのキーチェーンに独自の鍵を持っています。

接続時、スマートフォンはその暗号化セッションに結び付いたチャレンジに署名します。Macは、その鍵が信頼済みのスマートフォンのものであること、そしてそのスマートフォンがアカウント上でまだ有効であることを確認します。続いてMacが署名を返し、スマートフォンはそのMac用に保存しておいた鍵と照合します。一致しないものがあれば、接続は切断されます。

正しく設計されたPIN

スマートフォンが初めてMacに接続するとき、MacのPIN(6桁以上)を一度だけ入力します。PINは、パスワード認証鍵交換(PAKE)の一種であるCPaceで検証されます。PINがMacの外に出ることはなく、通信を傍受した人が、オフラインで推測に使える情報を得ることもありません。

攻撃者が試せるのは、1回の試行につき1つの推測だけ。5回続けて間違えると、Macは段階的に長くなる時間(最長1時間)ロックされます。

スマートフォンを紛失しても大丈夫

「設定」›「このアカウントのスマートフォン」で、アカウントからスマートフォンを削除してください。以降は、そのスマートフォンがまだ鍵を持っていても、Macは接続を拒否します。

Macの信頼済みスマートフォン一覧から削除することもできます。その場合、再びPINの入力が必要になります。

Mac側でできる設定

接続ごとに承認

Macの前にいる人が、30秒以内に「許可」をクリックする必要があります。

毎回PINを要求

信頼済みのスマートフォンでも、接続のたびにPINの入力が必要です。

許可する機能を選択

ターミナルへのアクセスとファイル転送を、それぞれオン/オフできます。

接続中の相手を把握

接続時と切断時の通知に加え、接続履歴も確認できます。

終了時にロック

接続が終わると、Macの画面を自動でロックします。

カーテンと入力ロック

離れている間も、画面を暗くしてキーボードをロックしておけます。

スマートフォン側

  • 指紋でPocketlidをロックできます。
  • 保存したMacのパスワードは、使うたびに指紋認証が必要です。
  • スマートフォンの署名鍵はAndroid Keystoreに保管され、コピーできません。

知っておいていただきたいこと

  • ロックが解除されたスマートフォンでアプリを開ける人は、誰でもあなたのMacを使えます。アプリロックをオンにしてください。
  • macOSでは、画面収録とアクセシビリティの許可が求められます。Pocketlidは、認証されたセッションからの入力しか受け付けません。
  • サーバーには、あなたのアカウントとデバイスの一覧が保存されます。詳しくはプライバシーポリシーをご覧ください。

セキュリティ上の問題を見つけたら

件名に「Security」と入れて、support@pocketlid.comまでメールでお知らせください。できるだけ早く対応し、進捗をご報告します。