- - PR -
携帯電話がアプリケーションプラットフォームに進化するとき、セキュリティに対する統一的な対策は避けて通れない課題です。すでに携帯電話は個人情報の塊となっており、ここに対してネイティブアプリが自由にインストール、実行できたとすると、そこに付け込むマルウェアによる被害がどのくらいになるのか想像を絶するものがあります。
今回はプラットフォームセキュリティというSymbian OSのセキュリティメカニズムについて解説します。やはりというか、OS内のほかの機能と同じく、セキュリティについても非常に徹底したデザインが行われています。そのため当初は違和感を持たれるかもしれませんが、「なるほど、これはこれでつじつまが合っている」とマインドを切り替えてもらえるよう解説していきたいと思います。
コンセプト
ご存じのとおり、セキュリティは実際の鎖と同様、チェーンの一番弱い部分が全体の強度を決定します。しかしセキュリティチェーンとは直列システムなり、ととらえてしまうのはナイーブな理解です。直列システムとして振る舞うのは確かにそのとおりなのですが、では一番弱い鎖を強化することに注力すればそれで事足りるのでしょうか。個々の鎖の信頼性は、(残念ながら)決して100%になることはありません。だからセキュリティモデルを考える場合、強度を高めるだけではなく、破られたときにどこまで被害が広がるのか、ということを抜きにして検討を進めることができません。つまり「一番弱い個所はどこなのだ」という問い掛けに加えて、「もし問題が発生したとして、ほかへの波及を阻止するにはどうすればよいか」という検討が必要となります。
Symbian OSは、以下の3つのコンセプトを用いてセキュリティモデルを構築しています。
- 信頼の階層
- ケイパビリティ
- データケージング
そしてこれらを実現するために、Symbian Signedという認証手続きが用意されています。Symbian OSにおけるセキュリティというと、Symbian Signedに話題が終始しがちですが、その背景にあるコンセプトを押さえなければ適切な評価を行うことはできません。というわけで、セキュリティに関する3つのコンセプトを、まずは押さえていきましょう。
信頼の階層 ― 信頼とは何か?
Symbian OSでは、プロセスが権限チェックの単位となります。振り返ってみると、WindowsでもLinuxでもプログラムを実行するときにチェックされるのは、それを起動しようとしたユーザーの権限でした。サーバを起動する、重要なデータへアクセスを行う等々、誰彼構わずやらせるわけにはいかない作業をガードするために、専用のユーザーアカウントを立て、そこに権限を集約します。要するにユーザーの権限に基づく、特権プログラムの局所化です。プログラム自体が権限チェックの対象となっていたわけではないことに注意してください(WindowsのACL=アクセス制御リストも詰まるところはユーザーの権限が基礎になっています)。
しかし携帯電話は究極のシングルユーザー環境です。ユーザー権限に基づくアプローチではうまく折り合いがつきません(誰が携帯電話の上でユーザー管理を行いたいと思うでしょうか。そもそも携帯電話におけるアドミニストレータとは何でしょうか)。というわけで、Symbian OSではプロセス自体が権限チェックの対象となるデザインを取っています。オープンなアプリケーションプラットフォームとなると、どのようなソフトウェアが実行されるのか、端末の出荷時にあらかじめ決定することができません。そのため動的にチェックを行う仕掛けが必要なのです。
Symbian OSではこれらを満たすために信頼という概念を導入しています。そして「信頼の階層」と呼ぶ、4段階に分けた信頼のレベルでソフトウェアを分類しています。図1にその構造を図示します。
図1 信頼の階層
Symbian OSにおけるソフトウェアは、信頼のレベルにより図1のように分類されます。円の内側には、TCBやTCEという高い信頼度の区分に属するソフトウェアが、逆に外側には低い信頼度の区分に属するソフトウェアが配置されています(用語はこの節の後半で説明します。しばしお待ちください)。これはWindowsにある権限のモデル、
- Administrators
- Power Users
- Users
のような、プログラムを実行できるレベルの違いを「ヘタな絵」で表現しているようにも見えます。しかしそうではありません。
信頼という以上、信頼する側と信頼される側が存在します。そして図1では「低い信頼を持つソフトウェア」「信頼されないソフトウェア」という記載があります。つまりここに記されているのは信頼される側の階層構造です。では誰がこれらのソフトウェアを信頼しているのでしょう。それは、信頼されたりされなかったりするソフトウェアが動作している、その携帯電話をめぐるステークホルダー(利害関係者)です(注1)。
- 携帯電話のオーナー
自分の個人情報が入っている電話を安全に運用したい。
勝手に電話帳を吸い出されても困るし、勝手にどこかに電話をかけられても困る。 - 携帯電話のキャリア
顧客の携帯電話が危険にさらされないようにしたいし、携帯電話に想定外のことをさせないようにもしたい。
マルウェアの進入は困るし、携帯から想定外のトラフィックを発生させられても困る。 - コンテンツプロバイダ
携帯電話に存在する自分たちのコンテンツの権利を守りたい。
ダウンロードされた楽曲を携帯外に持ち出されるのは困る。
等々、1台の携帯電話をめぐっても多くのステークホルダーが存在することがお分かりいただけると思います。そして、あるソフトウェアが「信頼できる」とされるときには、これらすべてのステークホルダーの利益を侵害しないことが保証される必要があるのです。
|
関連記事 設計/開発技法
- 特集:Javaは組み込みに“不向き”は本当か?
- 連載:BREWアプリケーション開発入門(全10回)
- 連載:イチから作って丸ごと学ぶ! H8マイコン道(全12回)
- 連載:−ザ・組み込み−ソフトウェアのハードウェア化(連載中)
- 連載:組み込みLinux開発入門(全3回)
- 連載:T-Engineプログラミング入門(全4回)
- 連載:Symbian OS開発の勘所(全10回)
- 連載:Symbian OSアプリ開発の手引き(連載中)
- 連載:解説! ロボット開発環境Robotics Studio(全4回)
- 連載:Robotics Studio活用術 はじめて作るサービス(全5回)
- 連載:生産性向上への道 Eclipseで行うC/C++開発(全4回)
組み込み開発フォーラム 新着記事
- フルスクラッチの“Hello World”を動かしてみよう(2011/3/31)
- FlexRayプロトコルの概要(その2)(2011/3/29)
- JASA、東北地域に拠点を置く会員企業を支援(2011/3/25)
- NEC、震災の影響を受けた4拠点の生産再開を発表(2011/3/23)
- 内部ブロック図の基礎と共通要素(2011/3/22)
- インテル、被災地におけるITインフラの復旧を支援(2011/3/22)
- Facts on AUTOSAR/AUTOSAR導入の現実(2011/3/18)
- 計測器・震災被害ホットラインを開設、テクトロニクス(2011/3/18)
- ZMP、地震の揺れを多角的に計測するアプリ無償配布(2011/3/16)
- メンター、3Dテレビ・マルチメディア検証プラットフォーム(2011/3/16)
- 【番外編】タチの良い計測値、悪い計測値とは?(2011/3/15)
- tarファイルシステムをAndroidに組み込む!!(2011/3/10)














