#BionicManDiary(エピソード3):スマホのパスワードロックをすり抜ける男

2015年3月24日

マイクロチップを埋め込んで以来、何よりがっかりさせられたのは、AppleのNFCに対するスタンスだ。単刀直入に言うと、自社プラットフォーム上で他社にNFCを使ってほしくない、という姿勢だ。

BionicManDiary-entry-003_vk

iPhone 6にはNFCチップが組み込まれているが、このチップはAppleの開発者しか利用できない。AppleのNFCを利用したサードパーティアプリすら開発できない。理由はごく些細なものだ。クパチーノにいる彼らは、Apple独自の非接触型決済サービスApple Payを積極的にプロモーションしている。だから、こんな単純な仕掛けを使って、自分たちの新プラットフォームを脅かす競合をすべて排除しようという算段なのだ。iPhone 6が出てすぐに気付いた。しかし、チップを手に埋め込んだ今となっては、別の話だ。オスカー・ワイルド(Oscar Wilde)は、こう言っている:

「夢追い人とは月明かりの下で自分の道を見つける人、そんな彼が受ける罰は世界の誰よりも早く夜明けを見てしまうことだ」

将来、最高級の生体工学技術を享受できない人が出るかもしれない

マイクロチップを手に埋め込んでもiPhoneとやり取りできないことに思い当たり、恐ろしい真実を受け入れざるを得なくなった – 将来、最高級の生体工学技術を享受できない人が出るかもしれないのだ。それだけではない。この事実が人々を操るために利用される可能性は高いのだ。

モノのインターネット(IoT)が急成長する現在、この概念を実現するインフラとして、プラットフォーム、プロトコル、標準規格などの開発が進んでいる。ここでは、「早いもの勝ち」のルールが適用されるだろう。そして、たまたま適切かつ効率的な開発体制をすでに持っている企業は、著しく有利なスタートを切ることになる。他社とは共有したくないアドバンテージだ。

事実、今日の大手テクノロジー企業は市場を刷新しようと躍起だ。彼らは消費者を手なずけ、自社製品に興味を持たせて、市場のシェアを拡大しようとしている。

ごく普通の消費者なら、もちろん、この騒ぎを気にしないだろう。ガジェットが気に入らなければ、別のガジェットに買い換えるだけだ。だが、私にとって、そしてもっと完璧な生体工学系/神経系のチップを埋め込むであろう未来の人間にとって、これは「大きな」問題となる。身体の一部はそう簡単に交換できないからだ。

たとえば、そう遠くない未来、地下鉄のサイバネティクス認証システムが私のマイクロチップでも対応可能になるかもしれない。だが、ある日突然、バス乗り場では別の種類の改札システムが導入され、変な話だが、利用する交通機関が限定されてしまうかもしれない。

国境を越えての移動は言わずもがな、ある国の人が別の国のインフラと「互換性がない」ために生じる問題も考えられる。あえて大げさに言ったが、私が言わんとするところはわかってもらえると思う。

実験に向けて、2台のスマートフォンを手に入れた。AndroidベースのHTC One M8とWindows PhoneベースのNokia Lumia 1020だ

「新米サイボーグ™」としての生活が長くなるほど、私は未来を慎重に考えるようになった。魔法のランプから魔人を解き放ったものの、その結果を受け入れる準備ができていなかったのだ。状況を変えるには、最上レベルの意思決定を含め、あらゆるレベルで大変な努力が必要だ。私がこう考えるようになったのは、Google Playで提供されているNFCアプリを試そうとして、Androidアーキテクチャの囚われの身になってしまったからだ。

チップ自体は問題なく動作する。とてもシンプルで、機能停止や遅延が発生することもない。だが、スマートフォンとなると話は別だ。以前も指摘したかもしれないが、Google AndroidチームにはNFCアプリのコードを改良してもらいたいと思う。チップのメモリで読み取りと書き込みを何回か繰り返すと、スマートフォンがチップを完全に認識しなくなり、再起動が必要になる。NFCアプリも、ときどきフリーズまたは終了してしまう。つまり、一事が万事、未熟な段階にあるということだ。

だが今回は、とある非常に重要な用例について話そう。マイクロチップによるスマートフォンのロック解除だ。実験中の出来事は、私の懸念をさらに強めることになった。

実験では、あるちょっとしたアプリを使った。TapUnlockだ。

tapunlock

スマートフォンに触れたとき(たとえばスマートフォンを手に取ったとき)、自動でロック画面を解除できるよう、手に埋め込まれたマイクロチップをプログラミングした。つまり、パスワードの代わりに皮膚の下のチップに保存された一意のキーを使おうというわけだ。私は単純かつ洗練されたこの手法に、ひどく興奮した(最初の1日だけだが)。

だが、アプリはフリーズしてしまった。設定を間違えたのかもしれない(ざっと調べてみると、使用したキーすべてを含むファイルが壊れていた)。

理由はともかく、実験の結果、スマートフォンがほぼ操作不能になってしまった。パスワードの入力を受け付けないので、画面ロックを解除できない。他にロック解除する方法がなく、リセットも機能しなかった。こうして手元に残ったのは、使いものにならないプラスチックの塊だ。

そして、今、驚くべき新事実が明らかになろうとしている。なんとこのロックを簡単に突破できるのだ!別に凄腕のハッカーである必要はない。最近のモバイルOS(ここではAndroid)の原理について、ありきたりの知識さえ持っていればいい。

Android自体は比較的安全なOSだ。それは、サードパーティの開発者がカーネルを変更できないことが大きい。Googleは開発プロセスと標準規格を完全に管理することで、カーネルとネイティブアプリの安定性を保証している。だが、サードパーティの開発者に対しては、常に警戒している。だからこそ、遅いアプリ、バグ有アプリ、迷惑なだけのアプリをユーザー側で削除できるのだ。

Androidベースのスマートフォンの正常な起動を阻むアプリは、以下の簡単な手順で削除できる:

  • [電源]ボタンを押し続け、ポップアップメニューで[電源を切る]オプションを選択したら、そのまま数秒押し続ける(時間はモデルによって異なる)
  • 次に表示されるポップアップメニューで、[再起動してセーフモードに変更]を選択する
  • 再起動したら、「Google Play」アプリを探して(大半のアプリは画面に表示されない)、[すべてのアプリ]タブを選択して必要なアプリを見つける
  • 問題の原因となっているアプリ(ここではTapUnlock)を選び、[アンインストール]をクリックする
  • [電源]ボタンを数秒押し続け、通常モードで再起動する

今のところ、この簡単な手順に従えば、ユーザー認証に使われるサードパーティのアプリをいつでも無効化できる。Googleは、どのアプリも信頼できないと見なしているようだ。突然機能を停止しがち、とか、セキュリティ侵害や感染に遭いやすい、とか。何が起こっても不思議ではない。

AppleとMicrosoftも、同様の戦略をとっている。そのため、確実、簡単、安全、かつ安定した方法でマイクロチップ対応の認証を導入し、古き良きパスワードに別れを告げるには、OSカーネルとチップロジックの両レベルで大変な作業が必要になる。考えるべきことや導入するものは、いくらでもある。思い付くところでは、非対称暗号化多段階認証などのセキュリティ対策だろう。

ありがたいことに、GoogleとMicrosoftのエンジニアは状況をよく把握している。たまたまだが、Appleの社員も#BionicManDiaryを読んでいることを知った。だから、こうした問題は、協力しながら解決できるかもしれない。

次回の記事では、当社オフィスの入館ゲートでNFCチップを使って入れるようにした話を取り上げる。だが、まずはチップと『スターウォーズ』の直接的な関係について紹介することになるだろう。

 

いつものことだが、どんな質問にも喜んでお答えしたい。質問は、この記事のコメント欄へ。TwitterFacebookでも受け付けている。

敬具
CHE