米Appleが「iOS Security, May 2012」(PDF)という最新のセキュリティガイドを公開した。PDFにして20ページの文章は、主に企業のITマネージャを対象としており、iOSのセキュリティ機能について全般的な解説が行われている。紹介されている機能自体に目新しいものはないものの、全体を俯瞰するには適したガイドとなっている。

セキュリティガイドは「System architecture」「Encryption and Data Protection」「Network security」「Device access」の4つのパートに分かれており、iOSがどのようにセキュリティ的に保護されているのか、そしてどのような保護機能を持ち、実際にどのような形で安全に運用していくのかの指針が示されている。

iOSのセキュリティ構造図(「iOS Security, May 2012」より)

まずiOSシステムそのものはアプリのサンドボックス化が行われており、サードパーティ製アプリが自身のユーザー領域をまたいでデータにアクセスしたり、システム領域を意図的に侵すようなコードは実行できない実装が行われている。またOSそのもののブート機構も保護されており、Appleの署名のないコードでデバイスを乗っ取るようなことができないような仕組みが導入されている(ハッキングROMなどの実行を防ぐ狙いがある)。例えばブートROMにはApple Root CAと呼ばれる公開鍵が含まれており、これがLow-Level Bootloader (LLB)と呼ばれる、カーネルやエクステンションを読み込んでいく一連のブートチェーンでの最初のコードを検証するのに用いられているという。

このブートチェーンのいずれかのステップでコードが読めない事態が発生した場合、「Connect to iTunes」というメッセージを表示して、DFU (Device Firmware Upgrade)と呼ばれる、いわゆる「復旧モード」へと移行する。DFUは意図的に呼び出すことも可能で、iOSデバイスを30ピンUSBコネクタでMacまたはPCへと接続し、電源ボタン+ホームボタンを8秒間同時に押し続けた後、電源ボタンのみを離すと、DFUが起動するようになる。詳細についてはAppleのサポート文書を参照するといいだろう。

OSのシステムやユーザー領域など、ファイルシステムそのものも昨今のセキュアOSと同様に暗号化による保護が行われているのが特徴で、適切なアクセス権やパスワードなしに第三者がデータへとアクセスすることはできない。これらの暗号化はUID (Unique ID)とGID (Device Group ID)を組み合わせてAES256で処理されている。UIDはデバイスメーカーやサプライヤーが把握していないデバイス固有のIDで、一方のGIDはA5プロセッサなどデバイスのハードウェアに依存している。これをユーザーのパスワードと組み合わせることで、データの取得が可能になる。

iOSのパスワードには「4桁の数字」を入力する「簡単なパスワード」と、複数の文字種を組み合わせて好きな長さのパスワードを設定できる「パスワード」の2種類が存在するが、もし後者を選択した場合は、総当たり攻撃(ブルートフォース)を仕掛けても、解読には6つの複数種文字の組み合わせで最大5年半、9桁の数字の組み合わせで最大2年半を要するという。

なおTIPSとして同項目で紹介されているが、後者のパスワードを利用した場合、設定文字種が数字のみの場合はQWERTYキーボードは表示されず、数字入力用のキーパッドが出現するという。このほか、暗号化されたデータがアクセス不能という特性を活かして、友人など第三者にデバイスを譲渡する前に「Erase all content and settings」を行うことを推奨している。

最近は「BYOD」(Bring Your Own Device)を標語に、ユーザーが個人所有しているデバイスを企業に持ち込みそのまま利用するケースが増えているが、このBYODの恩恵を最も受けているデバイスが「iPhone」や「iPad」だろう。だが企業でのノートPC利用と同様に、BYODで個人所有のiOSデバイスを企業ネットワークに接続するにはポリシーや必要最低限のセキュリティ設定が必要であり、これをMDM (Mobile Deveice Management)から管理するための仕組みがiOSでは提供されている。これにより一定強度のパスワードの設定を強制したり、XML形式の設定ファイルでWi-Fi/VPNやメール、LDAP関連の設定を強制することが可能になっている。また特定機能のオン/オフの設定も可能で、例えばカメラ使用やアプリのインストールを禁止したり、特定サイトへのアクセスの禁止や暗号化バックアップの強制など、ポリシーに応じたさまざまな運用が可能だ。またセキュリティ的には「Remote Wipe」も有効で、MDM経由のほか、iCloudやExchange Serverからトリガーを引いてリモートでのデータ削除が可能になっている。