37
iOSのパスコードセキュリティについて

ああ、永遠の疑問だ。iOSデバイスをパスコードで保護すべきだろうか? 一方で、データが覗き見から安全だと分かっていれば、スマートフォンやタブレットを持ち歩くのもそれほど心配ではなくなる。しかし一方で、メールをチェックしたり電話をかけたりするたびにコードを入力しなければならないのは、すぐに面倒になってしまう。

Apple としては、消費者にとってこの選択を容易にする手助けはしていない。パスコード画面を回避したり、完全に迂回する方法が次々と発見されており、同社は通常かなり迅速にパッチを提供しているものの、これらのセキュリティホールは iOS がデータを安全に保つ能力に対する信頼を植え付けるものではない。

さらに、パスコードは柔軟性に欠け、時に私たちのデバイスの使い方と相容れないこともあります。例えば、それほど保護を必要としない外出時に、iOSが位置情報を使ってパスコードを自動的に有効にしないのはなぜかと尋ねられることが、もう数え切れないほどあります。パスコードでロックされたデバイスを幼児の手の届くところに置いたら、Appleの抑止力が好奇心旺盛な子供たちを考慮して設計されていないことがすぐに分かります。

舞台裏を覗いてみよう

したがって、表面上はパスコードはデバイス、ひいてはデバイスに保存されているデータの門番に過ぎません。iOSは、用心深い警備員のように、間違ったコードが入力されると次第に警戒を強め、試行間隔を徐々に長くしていきます。そして10回試行すると、デバイスが完全にロックされるか、設定によってはデータが完全に消去されます。

しかし、iOSデバイスのセキュリティがパスコードのみで構成されていた場合、システムは効果を発揮しません。熟練したハッカーであれば、デバイスのフラッシュメモリの内容をダウンロードすることでこのロック機構を回避し、専用のソフトウェアツールを使えば、 わずか数秒ですべてのデータにアクセスできてしまうのです。

そのため、Apple は、自社のモバイル デバイスがさまざまな公共の場所に持ち出され (紛失される) 可能性が高いことを認識し、ハードウェアにセキュリティを組み込み、パスコードが小さいながらも重要な役割を果たす、巧妙なテクノロジの相互作用を生み出しました。

すべての人のための暗号化

iOS のセキュリティは、製造段階で始まり、固有の暗号化コードが各デバイスに組み込まれるところから始まります。

iPadとiPhoneのセキュリティは工場で始まります。工場では2つの特別なコードがハードウェアに直接焼き込まれます。1つ目はデバイスごとに固有のコードで、2つ目は製品ラインごとに異なります。そのため、例えばiPhone 5にはそれぞれ固有のコードに加え、iPhone 5であることを示すコードが付与されます。

iOSはこれらのコードと、エントロピーと呼ばれる少量のランダムデータを組み合わせてマスター暗号鍵を生成し、この鍵は消去可能ストレージと呼ばれる専用のメモリ領域に保存されます。ハードウェアコードは決して変更されませんが、エントロピーによって、デバイスを復元するたびに実行されるこのプロセスで、毎回異なる鍵が生成されます。

その後、デバイス上で作成されるすべてのファイルは、マスターから部分的に派生した別のキーで暗号化されます。iOS デバイスはハードウェアで直接暗号化をサポートしているため、このプロセスは通常高速で、ユーザーにとって透過的であり、マスター キーがなければ解読できないファイルが作成されます。

デバイスを完全に消去する必要がある場合(例えば、盗難にあった場合、誰かに売却する場合、あるいはiOSを再インストールする場合など)、オペレーティングシステムは消去可能なストレージを消去するだけで済みます。すると、デバイス のディスクに保存されているすべてのデータは、技術的にはまだそこに残っていても、使用できなくなります。オペレーティングシステムの新しいコピーをインストールすると、新しいマスターキーが生成され、このプロセスが最初からやり直されます。

このストレージベースのアプローチが重要な理由は2つあります。1つ目は、比較的迅速かつ効率的であることです。例えば、窃盗犯がデバイスを起動して動作確認をする際に、デバイスの内容を消去する機会が限られている場合など、重要な局面で時間を節約できます。2つ目は、デバイスのフラッシュメモリの寿命を延ばすのに役立ちます。フラッシュメモリは書き込み回数が限られているため、それ以上書き込みを行うと故障してしまいます。

パスコードを入力してください

このセキュリティ スキームは、迅速な消去が必要な場合には便利ですが、データの復号化に使用されるキーがデバイス上に直接保存されるため、熟練したハッカーが簡単にデータを取得でき、詮索好きな目からデータを保護することはできません。

ここでパスコードが役に立ちます。パスコード ロックをオンにすると、データ保護と呼ばれるテクノロジが起動し、新しい暗号化キーが生成されます。このキーは、 オペレーティング システム (キーチェーンなど) や個々のアプリによって非常に重要であるとマークされた特定のファイルを暗号化するために使用されます。

重要なのは、パスコード自体が暗号化キーの一部として使用され、デバイスがロックされると破棄されることです。これにより、ユーザーがパスコードを再入力するまで、iOSは物理的にデータを復号できなくなります。

パスコードはデバイスのどこにも保存されていないため、パスコードなしでデータを復号化する唯一の方法は、ブルートフォース方式、つまり正しいコードが見つかるまですべての可能なコードを試すことです。

4 桁のパスコードは覚えやすいですが、解読も簡単です。

ちなみに、パスコードがデバイスに保存されていないという事実は、パスコードを紛失した場合にAppleがサポートを提供できない理由であり、iOSが自宅にいるときにパスコードを自動的にオフにできない理由でもあります。選択したロック解除コードはデータを暗号化するために物理的に必要であり、デバイスに保存されることはありません。利便性を理由にそうでない場合であっても、これに反する設定は重大なセキュリティ上の脆弱性をもたらし、暗号化がそもそももたらすメリットを事実上無効にしてしまうでしょう。

弱点

残念ながら、パスコードは人間の介入を必要とするため、iOSの保護スキームにおける最大の弱点となっています。人は利便性よりもセキュリティを優先する傾向が強く、多くの人が「セキュリティ衛生」の不十分な実践によって、知らず知らずのうちにデータの安全性を弱めています。

例えば、iOSはデフォルトで4桁のパスコードを要求しますが、これは大きなテンキーで片手で入力しやすいという理由で多くの人が選択します。Appleのセキュリティホワイトペーパーによると、デバイスのコンテンツにアクセスした悪意のある攻撃者は、1万通りの組み合わせをすべて試す単純なプログラムを使うだけで、1分強で4桁のパスコードを破ることができます。

しかし、さらに悪いことに、調査によると、多くの人が「0000」や「1234」といった極めて弱いパスコードを選んでおり、ハッカーにとって容易な攻撃手段となっていることが分かっています。実際、最も一般的なパスコードを推測するだけで、わずか5回の試行であなたの携帯電話にアクセスできる確率は5分の1以上です。

より良いパスコードを選ぶ

パスコードがすべて数字で構成されている場合は、4 桁を超えるパスコードでも数字キーパッドを使用できます。

幸いなことに、パスコードのセキュリティを劇的に強化するのにそれほど手間はかかりません。まず、画面上のキーパッドで簡単に入力できるため、数字のコードを好む方は、iOS では 4 桁以上のコードでも同じ入力メカニズムが採用されていることを知って安心するでしょう。これを有効にするには、設定アプリを開き、「一般」に移動して「パスコードロック」 をタップし 、 「簡単なパスコード」をオフにします。これでパスコードを有効にし、数字のみ のパスコードを選択すると、iOS でデバイスのロックを解除する際に数字キーパッドが表示されます。

もちろん、これは攻撃者にコードが数字であることを教え、解読を有利に進めさせます。しかし、数字が増えるごとにブルートフォース攻撃に必要な時間は10倍に増えます。これは、何もしないよりははるかに良いことです。例えば、Appleの推定によると、6桁のコードを解読するには約22時間かかりますが、9桁のコードならわずか 2年半で解読できるとのことです。

ここで重要な点に触れておきます。パスコードは、データを永遠に守る魔法の解決策ではありません。むしろ、 データが悪者の手に渡る前に時間を稼ぐためのものです。十分な時間とリソースがあれば、ほぼあらゆる暗号化メカニズムは破られます。したがって、データ損失の影響を無効化するのに十分な時間を確保できる長さのパスコードを選ぶことが目標となるでしょう。

時間を稼ぐ

例えば、一般的な窃盗犯は、盗んだデバイスが動作するか確認するために、できるだけ早く電源を入れ、オンラインバンキングの認証情報など、手っ取り早く情報を入手しようとするでしょう。この場合、たとえ4桁のパスワードが複雑であっても、「iPhoneを探す」にログインして、窃盗犯が情報を入手する前に遠隔でデバイス内のデータを消去するのに十分な時間を与えてしまいます。

一方、より高度な犯罪者は、SIMカードをすぐに抜き取り、オープンな無線ホットスポットの範囲外にいる場合にのみデバイスの電源を入れます。これにより、個人データへのアクセスに十分な時間を稼ぐことができます。この場合、デバイス上の情報にアクセスできないようにしたい時間の長さに応じて、パスコードを選択する必要があります。

たとえば、6 桁の数字のパスコードを使用すると、電子メール アカウントや銀行の Web サイトにアクセスするために使用するパスワードなど、すべての重要なパスワードをリセットするのに十分な時間を確保できます。

一方、何年も「ホット」な状態のままになる可能性がある機密データ(法的文書など)をデバイスに保存している場合は、少なくともその情報を安全に保つために適切な注意基準を適用しようとしことを確認するために、長い英数字のパスコードが必要になる場合があります。

パスコードの仕組みを理解すれば、利便性と安全性の適切なバランスを見つけることはそれほど難しくありません。Apple はオペレーティング システムに見つかった新しい脆弱性をタイムリーに修正すると考えられますが、デバイスの安全性は選択したロック コードによって決まります。

結局のところ、核兵器の設計者たちが発見したように、最も洗練されたセキュリティ機構も、SF風刺小説の登場人物が荷物に付けているような組み合わせで簡単に解除されてしまうのだ。