安全なソフトウェア・アップデート
セキュリティはプロセスです。工場出荷時にインストールされているオペレーティングシステムのバージョンを確実にブートするだけでは不十分です。最新のセキュリティアップデートを迅速かつ安全に取得するためのメカニズムも存在する必要があります。Appleは、新たなセキュリティ上の懸念に対処するために、定期的にソフトウェア・アップデートをリリースしています。iOSまたはiPadOSデバイスのユーザは、アップデートの通知をデバイスで受け取ります。Macユーザは入手可能なアップデートを「システム環境設定」で見つけることができます。最新のセキュリティ修正を迅速に導入できるように、アップデートはワイヤレスで配信されます。
アップデートプロセス
アップデートプロセスでは、セキュアブートで使用されるのと同じハードウェアベースの信頼ルートを使用し、Appleが署名したコードのみをインストールするように設計されています。また、アップデートプロセスでは、システムソフトウェア認証を使用して、Appleが能動的に署名したバージョンのオペレーティングシステムのコピーのみが、iOSおよびiPadOSデバイス、または起動セキュリティユーティリティでセキュア・ブート・ポリシーとして「完全なセキュリティ」が設定されているMacコンピュータにインストール可能であることも確認されます。これらの安全なプロセスを適切に使用することで、Appleは既知の脆弱性を持つ古いバージョンのオペレーティングシステムへの署名を停止でき、ダウングレード攻撃を防ぐことができます。
ソフトウェア・アップデートのセキュリティを強化するため、アップグレードするデバイスが物理的にMacに接続されているときは、iOSまたはiPadOSの完全なコピーがダウンロードされインストールされます。ただし、ワイヤレス(OTA)でソフトウェア・アップデートする場合は、アップデートの完了に必要なコンポーネントのみがダウンロードされるため、オペレーティングシステム全体のダウンロードの回避によりネットワーク効率が向上します。さらに、macOS 10.13以降を搭載しコンテンツキャッシュを有効にしているMacにソフトウェア・アップデートをキャッシュすれば、iOSおよびiPadOSデバイスで必要なアップデートをインターネット経由で再ダウンロードする必要がなくなります。(その場合でも、アップデートプロセスを完了するために、デバイスからAppleのサーバに接続する必要はあります。)
パーソナライズされたアップデートプロセス
アップグレードおよびアップデート中は、Appleのインストール認証サーバに接続します。この接続には、インストールされるバンドルの各コンポーネント(iBoot、カーネル、およびオペレーティング・システム・イメージなど)の暗号処理による計算値のリスト、アンチリプレイの乱数(ノンス)、およびデバイス固有のECID(Exclusive Chip Identification)が含まれます。
認証サーバは、提示された暗号計算値リストとインストールが許可されているバージョンを照合し、一致が確認された場合は、ECIDを計算値に追加して結果に署名します。署名されたデータ一式は、アップグレードプロセスの一部としてサーバからデバイスに送信されます。ECIDを追加することで、リクエストしたデバイスの認証を「パーソナライズ」することができます。既知の計算値に対してのみ認証および署名することで、サーバはAppleからの指示通りの正確なアップデートの実行を保証します。
起動時に信頼チェーンで評価することで、署名がAppleのものであるかどうか、さらに、ストレージデバイスから読み込んだ項目の計算値とデバイスのECIDの組み合わせが署名されたものと一致するかが検証されます。これは、パーソナライズをサポートするデバイスで認証が特定のデバイスに対するものであることと、あるデバイスの古いバージョンのオペレーティングシステムまたはファームウェアを別のデバイスにコピーできないことを保証するための手順です。また、ノンスが使用されるため、攻撃者がサーバの応答を保存し、それを使ってデバイスを不正に解析したり、システムソフトウェアを改ざんしたりすることもできません。
Appleが設計したシリコン(セキュリティチップおよびIntelプロセッサ搭載Macなど)で、デバイスをアップデートするために常にAppleへのネットワーク接続が必要となるのは、パーソナライズプロセスを実行するためです。
最後に、ソフトウェアのアップデート中にユーザのデータボリュームがマウントされることはありません。これにより、アップデート中にそのボリュームからの読み取りや書き込みを防ぐことができます。
Secure Enclaveを備えたデバイスでは、そのハードウェアで同様にシステムソフトウェア認証が使用されます。これはソフトウェアの整合性を確認する機能であり、ダウングレード目的のインストールを防止するように設計されています。