watchOSのシステムのセキュリティ
Apple Watchは、iOSで使用されるものと同じハードウェアベースのプラットフォームセキュリティ機能の多くを使用します。例えば、Apple Watchは以下の機能を備えています:
セキュアブートおよび安全なソフトウェアアップデートを実行する
オペレーティングシステムの整合性を維持する
デバイス上のデータと、ペアリングされたiPhoneやインターネットとの通信中のデータの両方を保護する
サポートされているテクノロジーには、「システムセキュリティ」に記載されているテクノロジー(KIP、SKP、SCIPなど)のほか、データ保護、キーチェーン、およびネットワークテクノロジーなどがあります。
watchOSをアップデートする
watchOSは夜間にアップデートするように設定できます。アップデート時のApple Watchのパスコードの保存および使用方法について詳しくは、キーバッグを参照してください。
手首検出
手首検出が有効になっている場合は、Apple Watchを手首から外すとすぐに、自動的にロックされます。手首検出が無効になっている場合は、コントロールセンターにApple Watchをロックするためのオプションが表示されます。Apple Watchがロックされていると、Apple PayはApple Watchのパスコードを入力した場合にのみ使用できます。手首検出をオフにするには、iPhoneのApple Watchアプリを使用します。また、モバイルデバイス管理(MDM)ソリューションを使用してこの設定を強制的に適用することもできます。
アクティベーションロック
iPhoneで「探す」をオンにすると、ペアリングされているApple Watchでもアクティベーションロックを使用できます。アクティベーションロックにより、Apple Watchの紛失または盗難時に、そのApple Watchを他人が使用または売却することが困難になります。アクティベーションロックが有効になっている場合、Apple Watchのペアリング解除、消去、再アクティベーションにはそのユーザのApple IDとパスワードが必要になります。
iPhoneとの安全なペアリング
Apple Watchは、一度に1台のiPhoneとのみペアリングできます。Apple Watchのペアリングが解除されると、iPhoneは、Watchからすべてのコンテンツとデータを消去するよう指示します。
Apple WatchとiPhoneとのペアリングは、公開鍵を交換する帯域外プロセスと、その直後のBluetooth® Low Energy(BLE)リンク共有シークレットを使って安全が確保されます。Apple Watchには、iPhoneのカメラで読み取るためのアニメーションパターンが表示されます。このパターンには、BLE 4.1のアウトオブバンドのペアリングに使用されるエンコードされたシークレットが含まれています。必要に応じて、代替ペアリング方式として標準のBLEパスキー入力を使用できます。
BLEセッションが確立され、Bluetoothコア仕様で使用可能な最高のセキュリティプロトコルを使用して暗号化されたあと、iPhoneとApple Watchが以下のいずれかを使用して鍵を交換します:
iMessageのセキュリティの概要で説明されている、Apple Identity Service(IDS)から応用されたプロセス。
IKEv2/IPsecを使用した鍵交換。最初の鍵交換はBluetoothセッション鍵(ペアリングの場合)またはIDS鍵(オペレーティングシステムのアップデートの場合)を使用して認証されます。各デバイスでランダムな256ビットのEd25519公開/秘密鍵ペアが生成され、最初の鍵交換プロセスで公開鍵が交換されます。watchOS 10以降を搭載したApple Watchが初めてペアリングされたとき、秘密鍵はそのSecure Enclaveをルートとします。
iOS 17以降を搭載したiPhoneでは、秘密鍵はSecure Enclaveをルートにしません。iCloudバックアップを同じiPhoneに復元するユーザは、移行しなくても既存のApple Watchのペアリングを保持するためです。
注記: 鍵交換と暗号化に使用されるメカニズムは、iPhoneおよびApple Watchのオペレーティングシステムのバージョンによって異なります。iOS 13以降を搭載したiPhoneデバイスは、watchOS 6以降を搭載したApple Watchとペアリングされた場合、鍵交換と暗号化にIKEv2/IPsecのみが使用されます。
鍵の交換後に、以下のことが行われます:
Bluetoothセッション鍵が破棄され、iPhoneとApple Watch間のすべての通信が、上記のいずれかの方法で暗号化されます。暗号化されたBluetooth、Wi-Fi、およびモバイルデータ通信のリンクが二次的な暗号化レイヤーを提供します。
(IKEv2/IPsecのみ)鍵がシステムキーチェーンに保存され、デバイス間での今後のIKEv2/IPsecセッションの認証に使用されます。これらのデバイス間でそれ以降行われる通信は、watchOS 8以降を搭載したApple Watch Series 4以降とペアリングされているiOS 15以降を搭載したiPhoneデバイスでは、AES-256-GCMを使用して暗号化され、整合性が保護されます。(256ビット鍵によるChaCha20-Poly1305は、古いデバイスまたは古いバージョンのオペレーティングシステムを搭載したデバイスで使用されます。)
だれかが持続的な識別情報をブロードキャストした場合にデバイスがローカルでトラッキングされるリスクを減らすため、Bluetooth Low Energyデバイスのアドレスは15分間隔でローテーションされます。
データのストリーミングが必要なアプリをサポートするため、FaceTimeのセキュリティで説明されている方式で暗号化が提供されます。この方式では、ペアリングされたiPhoneが提供するApple Identity Service(IDS)、または直接のインターネット接続が使用されます。
Apple Watchは、ハードウェアで暗号化されたストレージと、ファイルおよびキーチェーン項目のクラスベースの保護を実装しています。また、キーチェーン項目用のアクセス制御されたキーバッグも使用されます。Apple WatchとiPhone間の通信に使用される鍵も、クラスベースの保護を使用して保護されます。詳しくは、データ保護用のキーバッグを参照してください。
自動ロック解除とApple Watch
複数のAppleデバイスを使用する場合の利便性を高めるため、特定の状況下では一部のデバイスでほかのデバイスのロックを自動的に解除できます。自動ロック解除は3つの使用方法をサポートしています:
iPhoneでApple Watchのロックを解除できます。
Apple WatchでMacのロックを解除できます。
ユーザが鼻と口を覆った状態で検出された場合、Apple WatchでiPhoneのロックを解除できます。
3つの使用方法はすべて、相互に認証されたStation-to-Station(STS)プロトコルという同じ基盤の上に構築されています。このプロトコルでは、機能が有効になったときに長期鍵が交換され、リクエストごとに一時的な一意のセッション鍵がネゴシエートされます。基盤となる通信チャネルにかかわらず、STSトンネルは両方のデバイスのSecure Enclave間で直接ネゴシエートされ、すべての暗号化要素が安全なドメイン内にとどまります(ただしSecure Enclaveを搭載していないMacコンピュータは例外で、STSトンネルの終点がカーネル内になります)。
ロック解除
ロック解除シーケンスは、全体を2段階に分けることができます。最初に、ロック解除されるデバイス(「ターゲット」)が暗号ロック解除シークレットを生成し、ロック解除を実行するデバイス(「イニシエータ」)に送信します。イニシエータはその後、以前に生成されたシークレットを使用してロック解除を実行します。
自動ロック解除が可能な状態にするため、両方のデバイスがBLE接続を使用して接続されます。次に、ターゲットデバイスによってランダムに生成された32バイトのロック解除シークレットがSTSトンネル経由でイニシエータに送信されます。生体認証またはパスコードによる次回のロック解除時に、ターゲットデバイスがそのパスコードから導出された鍵(PDK)をロック解除シークレットでラップし、メモリ内のロック解除シークレットを破棄します。
ロック解除を実行するため、デバイスが新しいBLE接続を開始してから、ピアツーピアWi-Fiを使用して互いのおよその距離を安全に取得します。デバイスが指定された範囲内にあり、必要なセキュリティポリシーに適合していれば、イニシエータがロック解除シークレットをSTSトンネル経由でターゲットに送信します。その後、ターゲットが32バイトの新しいロック解除シークレットを生成し、イニシエータに返します。イニシエータによって送信された最新のロック解除シークレットでロック解除レコードが正常に復号されると、ターゲットデバイスのロックが解除され、PDKが新しいロック解除シークレットで再ラップされます。最後に、ターゲットのメモリ内の新しいロック解除シークレットとPDKが破棄されます。
Apple Watchの自動ロック解除のセキュリティポリシー
利便性を高めるため、Apple Watchの最初の起動の直後から、ユーザがApple Watch自体でパスコードを入力しなくてもiPhoneでロックを解除できます。そのために、ランダムなロック解除シークレット(この機能を有効にしたあとの初回のロック解除シーケンスで生成されます)を使用して長期エスクローレコードが作成され、Apple Watchのキーバッグに保存されます。このエスクローレコードのシークレットがiPhoneのキーチェーンに保存され、Apple Watchが再起動されるたびに、その後の新しいセッションをブートストラップするために使用されます。
iPhoneの自動ロック解除のセキュリティポリシー
Apple WatchでのiPhoneの自動ロック解除には、追加のセキュリティポリシーが適用されます。Apple Payやアプリの承認などのその他の操作では、Apple WatchをiPhoneのFace IDの代わりに使用することはできません。Apple WatchがペアリングされているiPhoneのロック解除に成功すると、Apple Watchに通知が表示され、関連付けられた触覚が再生されます。通知にある「iPhoneをロック」ボタンをユーザがタップすると、Apple WatchがBLE経由でiPhoneにロックコマンドを送信します。iPhoneはロックコマンドを受信するとロックされ、Face IDと、Apple Watchでのロック解除の両方を無効にします。次回のiPhoneのロック解除は、iPhoneのパスコードで行う必要があります。
ペアリングされているiPhoneのApple Watchからのロック解除(有効な場合)を正常に行うには、以下の基準を満たす必要があります:
関連付けられたApple Watchが手首に装着され、ロックが解除されたあと、iPhoneのロックが別の方法で1回以上解除されている必要があります。
鼻と口が覆われていることをセンサーが検知できる必要があります。
測定された距離が2~3m以内である必要があります。
Apple Watchが睡眠モードでない必要があります。
Apple WatchまたはiPhoneのロックが最近解除されているか、装着している人がアクティブである(睡眠中でないなど)ことを示す物理的な動きをApple Watchが感知している必要があります。
iPhoneのロックが過去6.5時間以内に1回以上解除されている必要があります。
iPhoneが、Face IDによるデバイスのロック解除の実行が許可された状態である必要があります。(詳しくは、Face ID、Touch ID、パスコード、パスワードを参照してください。)
macOSでApple Watchを使って承認する
Apple Watchでの自動ロック解除が有効になっている場合、Apple WatchをTouch IDの代わりに使用するか、Touch IDと併用して、以下のものからの許可および認証の要求を承認できます。
承認を要求するmacOSおよびAppleアプリ
認証を要求する他社製アプリ
保存されているSafariパスワード
秘密メモ
Wi-Fi、モバイルデータ通信、iCloud、およびGmailの安全な使用
Apple WatchがBluetoothの通信範囲内にない場合は、代わりにWi-Fiまたはモバイルデータ通信を使用できます。Apple Watchは、ペアリングされたiPhoneですでに接続され、両デバイスが通信範囲内にあるときにその資格情報がApple Watchに同期されているWi-Fiネットワークに、自動的に接続します。この自動接続の動作は、接続後、Apple Watchの設定アプリの「Wi-Fi」セクションでネットワークごとに設定できます。いずれのデバイスでも以前に接続したことのないWi-Fiネットワークの場合は、Apple Watchの設定アプリの「Wi-Fi」セクションから手動で接続できます。
Apple WatchとiPhoneが互いの通信範囲内にないときは、ペアリングされたiPhoneとインターネット経由でメールデータを同期する代わりに、Apple WatchがiCloudサーバやGmailサーバに直接接続してメールを取得します。Gmailアカウントを使用する場合、ユーザは、iPhoneのWatchアプリの「メール」セクションでGoogleへの認証を行う必要があります。Googleから受け取ったOAuthトークンがApple Identity Service(IDS)経由で暗号化されてApple Watchに送信され、メールの取得に使用できるようになります。このOAuthトークンは、ペアリングされたiPhoneからGmailサーバに接続するときには使用されません。