この秋に正式発表されたGoogleのAndroid OS 最新バージョン「Android 5.0(Lolipop)」。Android端末は、その自由度と引き替えにセキュリティ周りが甘いのではないかと指摘され続けてきたが、5.0よりセキュリティで3つの新機能を搭載し、そのセキュリティ課題を克服しようとしている。
1つ目は端末に保存されているデータの暗号化。これはSELinuxのエンフォースモードで強制的に暗号化をかけるもので、Android 4.4(KitKat)から企業ユース用にこの機能が提供されてきた。暗号化機能は、これまで暗号鍵を企業が持つことで利用していたが、コンシューマー向けにもデフォルトで提供するようになったため、この手法は使えない。そこでGoogleは、ハードウェアキーストアという仕組みを使い、一つのデバイスに対して一つの「ハードウェアキー」を用意し、そのキーがなければデータの暗号化を解除できないようにした。もちろん、ハードウェアキーを万が一ロストした場合に備えて、オプションとして任意のパスワードでも設定できるようにしている。
データの暗号化は一般ユーザーにとってあまり馴染みのないことだが、デバイスに保存されている全てのデータを暗号化することで、悪意のあるアプリが他のアプリのデータに干渉しようとしてもできないようになっている。その仕組み自体はこれまでのAndroidでも提供されてきたが、今回のデバイス全体の暗号化により、その機能がより強化されたというわけだ。OSレベルでこの機能をデフォルトでオンにすることで、これまで暗号化する際に数十分かかっていた暗号化作業が最初から行なわれているため、ユーザーも意識せずセキュリティレベルが上げられるようになる。
セキュリティロックをかけているユーザーはわずか50%
ユーザーが意識しないという点では、セキュリティレベルを上げることとは反比例するようにユーザービリティは下がってしまう。例えば、スマートフォンのアンロックがその典型だ。スマートフォンを利用する際に、パスワードやパターンロックでロックを解除するユーザーが多いと思うが、GoogleでAndroidのLead Security Engineerを務めるAdrian Ludwig氏によると「セキュリティロックをかけているのはわずか50%に過ぎない」という。
「私たちはエンドユーザーに対してロックをかけて欲しいとお願いしているが、現実には何度もアンロックしなきゃいけないから、半数近くがロックをかけていない。パスワードは数十年使われている古い技術で、そろそろイノベーションが必要だ。そして、イノベーションはGoogleが起こすべきだと思ってる」(Ludwig氏)
そこでGoogleがこのLolipopから提供する機能が「スマートロック」だ。スマートロックでは、スマートウォッチなどのスマートフォンと連携するBluetoothデバイスが近くにあれば、スマートフォンがそれを認識してロック解除の操作をせずに済むようになる。そのため、自分の手元にある場合にはパスワードを打ち込む必要がなく、離れている時は第三者に開けられる心配がない。紛失や盗難時も、肌身離さず付けているスマートウォッチが腕にある限り、端末を開かれる心配がないというわけだ。
ただし、説明を受けていて不安に感じた点があった。Bluetoothのペアリングが行なわれているデバイスが近くにあればそれだけで解除されるというこの話では、ユーザーが就寝していた場合などに勝手に第三者によってスマートフォンを開けられる可能性がある。まだこの機能を実際に利用できていないため、何らかの方策があるのかもしれないが、セキュリティが破られる可能性があることを頭に入れておいた方が良いのかもしれない。
オープンソースである強み
最後の3点目は、Androidのオープンソース性が強みとLudwig氏。これは、誰もが「どのように機能が実装されているか、どのように機能が動作しているのか」がわかることがセキュリティ向上に一役を買っている。
他のOSでは、コアの部分が見えないように実装しており、隠すことがセキュリティのようにふるまっているが、それでは多くの開発者が機能の動きを確認することができず、問題を感知できないのだという。
「私たちはOSにフォーカスしているのではなく、エコシステム全体で物事を考えている。Android 5.0は一つの大きなマイルストーンであり、セキュリティ向上に多くの皆さまと協力できると思っています」(Ludwig氏)
ほかにも気の利くアップデート
上記の3本柱以外にも、HTTPSやSSLでの通信暗号化など複数のセキュリティ強化を図っている。そんな中で注目すべき機能が「ゲストモード」と「コーポレートプロファイル」だ。
日本語名称がこのまま利用されるかについては不明だが、これらの機能に切り替えた場合、メインユーザーのアプリやデータにアクセスすることなく、別のアプリ、環境を同一デバイスで利用できるようになる。例えば、子供に遊ばせる時には、動画アプリなどを使えなくして、ゲームアプリを多く入れたゲストモードといった使い方も、良い例ではないだろうか。
一方でコーポレートプロファイルについては、BYOD活用を加速させる機能拡充といって良いだろう。企業の管理者が指定したアプリケーションやポリシーをその端末に適用できるため、ぐっとセキュリティレベルが上がる。しかも、メインユーザーとは明確に異なる「コーポレートプロファイル」としてそのポリシーが適用されるため、仕事のオン・オフがしっかり切り替えられるわけだ。
しかも、OSレベルでユーザー権限の管理を行なうため、利用者切替もスムーズになる。例えば、コーポレートプロファイルでメールの着信があった場合、そのメールに記載されているURLを踏むと、コーポレートプロファイルのChromeが起動する。一方で、私的メールのURLを踏むと、普段使いのChromeが起動するようになる。VPNを設定している場合でも同様の使い勝手とのことで、煩雑なMDMシステムを構築せずとも、OSレベルで最低限の使い分けができるようになる。
ユーザーもセキュリティの意識を
Googleの取り組みは、Androidの世代を経るごとに洗練されている。その一方で、自由度と共にiOSのApp Storeのようなアプリ審査の厳格さが失われているため、まだまだ万全な状態とは言いがたい。スクリーンのセキュリティロックの例を取ってみればわかる通り、ユーザーそれぞれの対応次第で、セキュリティレベルは大きく異なってしまう問題もある。
だからこそ、デバイス全体の暗号化やユーザーの手を焼かないレベルでのセキュリティ強化といった側面が重要になる。Androidに限らず、IT業界全体がセキュリティ強化に走る中で、こうした地道な取り組みこそが、利用者全体の保護に繋がる。ユーザーも、こうした取り組みを認知することでセキュリティへの意識を高められるのではないだろうか。