TCB(こっちは信頼のレベル)にのみ許されることを表現するための、TCBというケイパビリティが存在します。このケイパビリティを持っていると\sysおよび\resourceディレクトリへの書き込みアクセスが許可されます。その結果何ができるようになるかというと、セキュリティを保つうえでカギとなる実行ファイルの読み書きです。表1でファイルサーバ(F32)やインストーラ(SWInstaller)がカーネルと同じ信頼レベルに入っていた理由がこれです。ファイルサーバはプロセス生成の際に実行ファイルの読み出しを行いますし、インストーラはインストール時に実行ファイルを作成します。これらがTCBを持っていなければ必要な作業を行うことができません。
以上のとおり、携帯電話上のセキュリティは、最終的にはTCBを持つプログラムが極めて限定されていることに依存しています。このケイパビリティは一般のソフトウェア開発者に与えられることはないと理解しておいてください。
システムケイパビリティには以下のものがあります。
ケイパビリティ | 与えられる権限 ― できるようになること |
---|---|
PowerMgmt | ・ ほかのプロセスをKILLできる ・ スタンバイや電源アップの状態に切り替えられる |
ReadDeviceData | ・ インターネットアクセス情報、デバイス設定、ログデータへのリードアクセス |
WriteDeviceData | ・ デバイスの設定へのライトアクセス |
TrustedUI | ・ 信頼されたUI上でダイアログを表示できる |
ProtServ | ・ 保護された名前(“!”から始まる名前)を指定してサーバを開始できる |
SwEvent | ・ ソフトウェアキーやイベントを生成できる ・ FEP(Front-End Processors)に与えられる |
NetworkControl | ・ ネットワークプロトコル制御の変更権やアクセス |
Drm | ・ DRMコンテンツへのアクセス ・ DRMコンテンツを消費するすべてのアプリケーションに必要 |
MultimediaDD | ・ マルチメディアドライバへのアクセス(カメラ、メディアレコーダ、バイブレータ制御、ボリューム制御……) |
SurroundingsDD | ・ 周辺情報を提供するデバイスドライバへのアクセス(GPSなど) |
AllFiles | ・ すべてのファイルの読み込みと\privateディレクトリへの書き込み(バックアップ&リストアなど) |
DiskAdmin | ・ ディスク管理操作へのアクセス(format c: など) |
CommDD | ・ イーサカード、USBデバイス、Bluetooth HCIなど通信機器デバイスドライバへの直接アクセス |
表2 システムケイパビリティ |
これらはTCBおよびTCEに許されるケイパビリティです。プロセスがこれらのケイパビリティを持たずにリソースにアクセスしようとした場合、ユーザーに問い合わせが発生することなく失敗します。ユーザーに問い合わせ? そう、システムケイパビリティが保護しようとしているものほど重要ではないリソースの場合、ユーザーが許しさえすればアクセスが許可されるものもあるのです。
携帯電話全体のセキュリティに影響を与えない、ユーザーの判断でプログラムに対して権限を与えても構わないケイパビリティの集合をユーザケイパビリティといいます。
ケイパビリティ | 与えられる権限 ― できるようになること |
---|---|
NetworkServices | ・ 電話をかける、SMSを送るなどのネットワークへのアクセス |
LocalServices | ・ Bluetooth、IrDAなどのPANサービスへのアクセス |
WriteUserData | ・ ユーザー情報への書き込みアクセス、カレンダーや電話帳へのアクセス |
ReadUserData | ・ ユーザー情報への読み込みアクセス、カレンダーや電話帳へのアクセス |
Location | ・ 携帯電話の位置情報へのアクセス |
UserEnvironment | ・ ユーザーに関するライブデータ(live data)へのアクセス |
表3 ユーザケイパビリティ |
これらのケイパビリティはSymbian Signedを受けることにより、プログラムに付与することができますが(4つの信頼レベルにおける「署名付きソフトウェア」)、署名されていない、まったく信頼されていないプログラムであってもユーザーの責任において権限を与えることが可能です。ユーザーがプログラムに権限を与える方法は2種類存在しています。
逆に、ユーザーに不信感を抱かせないプログラムであろうとすれば、ユーザー認証が不要なようにSymbian Signedで認証を受けておく必要があります。このあたりVistaでAuthenticodeを必要とする理由と似ているようですが、良くも悪くもVistaではSingle shot grantによる毎回認証のようなことはありません。このあたりがケイパビリティに基づくSymbian OSならではの動作ということになります。
Copyright © ITmedia, Inc. All Rights Reserved.