デバイスとペアリング

各デバイスは固有の署名鍵を持っています。サーバーはデバイスを公開鍵でしか識別せず、新しいデバイスは既存のデバイスが保証した場合にのみ参加できます。

新しいマシンをペアリングする

両方のマシンが同時に必要ですが、同じ場所にある必要はありません。古いマシンへのリモートデスクトップや SSH セッションでも構いません。

keygrant devices add      # アカウントに参加済みのデバイスで実行: ペアリングコードが表示されます
keygrant pair             # 新しいマシンで実行: コードを入力します

すると、両方の画面にフィンガープリントが表示されます。古いデバイスで yes と入力する前に、両者が一致していることを確認してください。これが、悪意のあるサーバーが独自のデバイスをペアリングするのを防ぐ手順です。その後、新しいマシンはアカウントのパスワードを一度だけ尋ね、同期と復号ができる完全なデバイスになります。

ペアリングコードの有効期限は 10 分で、一度しか使えません。

スマートフォンやブラウザを承認者デバイスとしてペアリングする

上記と同じく keygrant devices add を実行しますが、keygrant pair を実行する代わりに、app.keygrant.app でコードを入力します。ブラウザは承認者デバイスになります。承認者デバイスはリクエストを承認または拒否でき、シークレット名を見ることはできますが、値を見ることは決してできません。スマートフォン承認を参照してください。

デバイスを一覧表示する

keygrant devices
502a-11fb-b656-cd08  cli      Edward-GT14  9c1e40d2-6a1b-4f0e-9d33-2c8f1a7b5e60  (this device)
70f7-91ef-71ed-72e1  browser  chrome-win   3a77c0e9-81d4-4b52-a6f1-0e9b2d4c7a13

列は、フィンガープリント、種類(cli または browser)、名前、デバイス ID です。

デバイスを削除する

keygrant devices remove 3a77          # ID は一意であれば先頭の一部だけで十分です

確認のため、remove と入力するよう求められます。cli デバイスを削除すると、ボールト鍵のローテーションも行われます。新しい鍵が生成され、すべての項目が再暗号化されるため、紛失したデバイスにキャッシュされた鍵では新しいデータを開けなくなります。

紛失したマシンがすでに同期していたシークレットは、そのマシン上に残ったままです。紛失または盗難に遭った場合は、各プロバイダーで実際の API キーもローテーションしてください。

他のデバイスでペアリングした承認者デバイスを信頼する

CLI デバイスは、信頼している承認者デバイスからの判定しか受け入れません。承認者デバイスをペアリングしたデバイスは、自動的にそれを信頼します。それ以外のマシンでは、次を実行してください。

keygrant devices trust

このコマンドは、このマシンがまだ信頼していないブラウザの承認者デバイスを一覧表示し、それぞれのフィンガープリントを示したうえで、その承認者デバイスのページに表示されているフィンガープリントと照合して確認するよう求めます。