JP2002041170A - プログラム実行制御装置 - Google Patents

プログラム実行制御装置

Info

Publication number
JP2002041170A
JP2002041170A JP2000227840A JP2000227840A JP2002041170A JP 2002041170 A JP2002041170 A JP 2002041170A JP 2000227840 A JP2000227840 A JP 2000227840A JP 2000227840 A JP2000227840 A JP 2000227840A JP 2002041170 A JP2002041170 A JP 2002041170A
Authority
JP
Japan
Prior art keywords
program
function
execution
unit
control device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2000227840A
Other languages
English (en)
Inventor
Tomokazu Kanamaru
智一 金丸
Hiroyuki Wake
裕之 和氣
Nobuteru Tominaga
宣輝 富永
Naosuke Haruna
修介 春名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2000227840A priority Critical patent/JP2002041170A/ja
Publication of JP2002041170A publication Critical patent/JP2002041170A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 ダウンロードしたプログラムの実行に際して
のセキュリティ確保を簡易に行う手段を提供する。 【解決手段】 携帯電話機に搭載されたプログラム実行
装置300は、使用する機能を宣言した実行時使用機能
情報102が付加された実行プログラム101を通信路
より取得して、プログラム解釈実行部301によって逐
次実行する。実行プログラム101の実行に際して、プ
ログラム実行装置300は、使用を禁止する機能を示す
使用禁止テーブル304に含まれる機能が実行時使用機
能情報102において使用宣言されていると実行を停止
する。また実行プログラム101の実行中に次に実行す
る命令を監視することにより、その命令により利用され
る機能が実行時使用機能情報102で使用宣言されてい
ないものであれば実行を停止する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、不正なプログラム
の実行による被害を防ぐ技術に関し、特に携帯情報端末
用のアプリケーションプログラムをダウンロードして携
帯情報端末上で実行する場合におけるセキュリティ確保
のための技術に関する。
【0002】
【従来の技術】近年、通信技術、ソフトウェア技術等の
進展を背景として、家電機器や携帯情報端末(以下、
「家電機器等」という。)の機能の拡張等を実現するた
めに、CPUが組み込まれた家電機器等に対するプログ
ラムの配信サービスについての研究開発の要請が高まっ
ている。
【0003】家電機器等がプログラムの配信サービスに
対応する機能を備えれば、家電機器等は外部のネットワ
ーク上のサーバに用意されたアプリケーションプログラ
ムをダウンロードすることができ、必要な時にそのアプ
リケーションプログラムを実行することができるように
なる。従って、家電機器等のユーザは、家電機器等に最
初から作り込まれている機能のみならず、後からダウン
ロードにより追加された種々の機能を利用することがで
き、例えばユーザは自己の望む機能を実現するアプリケ
ーションプログラムを任意に選択しダウンロードして利
用すること等が可能になる。
【0004】例えば、携帯情報端末への配信サービスの
対象としては通話及び通信機能に密接に関連した機能の
アプリケーションプログラムやアドレス帳、ゲーム等の
様々なアプリケーションプログラムが考えられる。配信
サービスの対象となるアプリケーションプログラムは、
基本的に、家電機器等を製造しているメーカーやその関
連企業等によって作成される。また、家電機器等のメー
カ等から特定機器用のアプリケーションプログラムの開
発環境となるツール類等の配布を受けた、一般のプログ
ラム開発者や企業によって作成される場合も考えられ
る。
【0005】こうしてメーカーその他の者により作成さ
れたアプリケーションプログラムを家電機器等の側でダ
ウンロードして利用する場合を想定すると、家電機器等
にはセキュリティ確保のための機能が備えられている必
要がある。なぜなら、メーカー等により正当なものとし
て作成されたアプリケーションプログラムが悪意ある者
によって、望ましくない動作を行うように不正に改変さ
れている場合があり、また、一般のプログラム開発者等
により、望ましくない動作を行うアプリケーションプロ
グラムが提供されている場合もないとはいえないからで
ある。
【0006】アプリケーションプログラムによる望まし
くない動作としては、機器内のデータ記憶領域内のデー
タを勝手に更新するような動作があり、携帯電話機等の
携帯情報端末においては内部に記憶されている電話番
号、メールアドレスその他のプライバシーに関わる情報
(以下、「個人情報」という。)の読み出しや外部への
発呼等も、ユーザの意思に沿わない場合は望ましくない
動作といえる。
【0007】ところで、従来パーソナルコンピュータ等
の分野ではインターネットからダウンロードしたアプリ
ケーションプログラムの実行時におけるセキュリティ確
保を実現する仕組みとして、Java(登録商標)仮想
マシンのコードベリファイアという機構がある。コード
ベリファイアは、アプリケーションプログラムであるJ
avaクラスファイルを解釈実行する前に、そのフォー
マットや命令列を検査し、静的制約や構造体制約に従っ
て、ダウンロードされたJavaクラスファイルが実行
中に危険な動作を行わないことを保証する。このコード
ベリファイアについては、「The Java Vir
tual Machine Specificatio
n」(Tim Lindholm、Frank Yel
lin著、Addison−Wesley、1997
年)に詳しく記述されている。
【0008】
【発明が解決しようとする課題】しかしながら、このコ
ードベリファイアによるアプリケーションプログラムの
正当性の検査は、複雑な処理であるため多大な処理ステ
ップを要する。従って、Javaクラスファイルを実行
するためにはクロック周波数が最低でも100MHz以
上の高性能のCPUや2MByte〜4MByteの大
きなメモリの空き容量等、高価なコンピュータ資源が必
要となる。これは現在においては大部分の家電機器等に
とって過大な資源量であるため、コードベリファイアを
備えることは、家電機器等にとって現実的なセキュリテ
ィ確保の手段とはならない。
【0009】そこで、本発明は、家電機器等に向けて配
信サービスの対象とされたアプリケーションプログラム
を家電機器等がダウンロードして実行する際のセキュリ
ティ確保を図る必要があることに鑑みてなされたもので
あり、家電機器等、特に携帯情報端末に適用し得るよう
に比較的簡易な方法により、アプリケーションプログラ
ムをダウンロードして実行する際のセキュリティ確保を
実現するプログラム実行制御装置を提供することを目的
とする。
【0010】
【課題を解決するための手段】上記課題を解決するため
に、本発明に係るプログラム実行制御装置は、機器に搭
載されており、前記機器の特定の資源を利用する機能群
のうち自らが使用する機能を示す使用機能情報が付加さ
れたプログラムを取得して、実行するプログラム実行制
御装置であって、通信路からプログラムを取得する取得
手段と、取得したプログラムを実行する実行手段と、前
記使用機能情報に基づく判断を行い、判断結果がプログ
ラムの実行が不適当であることを表す所定の場合に、前
記実行手段によるプログラムの実行を停止させる停止手
段とを備えることを特徴とする。
【0011】上記構成により、予めプログラムに、その
プログラムが使用する機能を示す使用機能情報が付加さ
れているので、この使用機能情報を利用することにより
比較的簡易な方法でセキュリティを確保することが可能
になる。即ち、使用機能情報と実際のプログラムの動作
とを比べることによりそのプログラムが改竄されている
ことを検出することや、使用機能情報を参照することに
より、使用を禁止すべき機能をそのプログラムが使用す
るかどうかを検出することが簡易な構成で実現できるよ
うになる。
【0012】
【発明の実施の形態】以下、本発明の実施の形態である
プログラム実行装置について説明する。 <構成>図1は、本発明の実施の形態に係るプログラム
実行装置300等の構成図である。
【0013】同図には、携帯電話機に備えられるプログ
ラム実行装置300の他に、プログラム実行装置300
において実行されるオブジェクトプログラム100と、
オブジェクトプログラム100を生成するプログラム生
成装置200とをも示している。 <プログラム生成装置>プログラム生成装置200は、
実行時使用機能情報を付加したオブジェクトプログラム
を生成する装置であり、コンピュータ上で動作するコン
パイラ及びリンカである。このオブジェクトプログラム
はプログラム実行装置300上で動作する実行形式のプ
ログラムを意味するものであり、アプリケーションプロ
グラムである。なお、実行時使用機能情報については後
述する。
【0014】プログラム生成装置200は、従来のコン
パイラ及びリンカと同等の機能に加えて実行時使用機能
情報を生成する機能を有し、実行時使用機能情報を生成
する機能を実現するために機能IDテーブル201と実
行時使用機能情報生成部202とを備える。図3は、機
能IDテーブルのデータ構造及び内容例を示す図であ
る。
【0015】機能IDテーブルは機能ID401とライ
ブラリ番号402との組の集合からなるテーブルであ
る。同図に示した内容例では、0x0001という機能
IDは6というライブラリ番号が対応付けられている。
ここで、機能ID401はプログラム実行装置300上
で動作するオブジェクトプログラムが利用する各機能の
識別子である。なお、運用上の前提としてプログラム実
行装置300上で動作するオブジェクトプログラムが利
用できる各機能は予め分類整理され、それぞれに識別子
が定められていることとする。
【0016】また、ライブラリ番号402は、オブジェ
クトプログラム内で呼び出しが可能なライブラリプログ
ラムの番号である。即ち、オブジェクトプログラムの動
作環境であるプログラム実行装置300上に用意された
ライブラリプログラムの番号である。なお、ライブラリ
呼び出しにより使用し得る機能は、例えば無線インタフ
ェースへのデータ出力機能、ディスプレイへのデータ出
力機能、音声出力回路へのデータ出力機能、無線インタ
フェースからのデータ入力機能、ボタンからのデータ入
力機能等がある。図3の内容例では括弧内に機能IDの
意味する機能を便宜上付記している。
【0017】実行時使用機能情報生成部202は、プロ
グラム生成装置200が従来のコンパイラ及びリンカと
同等の機能によりオブジェクトプログラムを生成した後
に、生成されたオブジェクトプログラム中で呼び出して
いるライブラリプログラムを検索して機能IDテーブル
201に照らして機能IDを得ることにより、オブジェ
クトプログラムが使用する機能を示す実行時使用機能情
報を生成し、そのオブジェクトプログラムに付加する。
【0018】図4は、オブジェクトプログラムに付加さ
れる実行時使用機能情報のデータ構造及び内容例を示す
図である。実行時使用機能情報は、オブジェクトプログ
ラムがライブラリ呼び出しによって使用し得る全ての機
能について、機能ID毎に実際にその情報の付加先とな
るオブジェクトプログラムが使用しているか否かを示す
フラグ502を対応付けた情報である。フラグ502
は、0x00が使用しない旨を示し、0x01が使用す
る旨を示す。
【0019】同図の内容例は、例えば機能IDが0x0
001の機能は使用されず、機能IDが0x0002の
機能は使用されることを示している。このようなプログ
ラム生成装置200によって生成されたオブジェクトプ
ログラム100は図1に示すように、実行プログラム1
01と実行時使用機能情報102とから構成されるもの
となる。ここで、実行プログラム101は、通常のオブ
ジェクトプログラム自体であり、プログラム実行装置3
00上で解釈実行されるものである。
【0020】オブジェクトプログラム100は、例えば
Javaクラスファイルであり、実行時使用機能情報1
02は、Javaクラスファイル中にアトリビュート情
報として置かれる。なお、Javaクラスファイルはア
トリビュート情報を付加することができるものである。
またアトリビュート情報は識別番号を設定できるもので
あり、特定のJava仮想マシンとの間での取決めに従
ってその内容を定めることができる。つまり、特定の識
別番号のアトリビュート情報を解釈できるようにJav
a仮想マシンを構築しておくことが可能になっている。
また、Java仮想マシンの仕様では、その特定の識別
番号のアトリビュート情報を解釈できないJava仮想
マシンはそのアトリビュート情報を読み飛ばすこととさ
れている。
【0021】ここでは、実行時使用機能情報102は、
プログラム実行装置300がオブジェクトプログラム1
00を取得して実行する際にメモリにロードした時点で
プログラム実行装置300によって参照され得るもので
あることとする。 <プログラム実行装置>プログラム実行装置300は、
携帯電話機内に備えられ、オブジェクトプログラム10
0を取得して実行する装置であり、オペレーティングシ
ステム及びJava仮想マシンを含むものである。
【0022】プログラム実行装置300は、図1に示す
ようにプログラム解釈実行部301、使用機能監視部3
02、実行時使用機能監視検査部303、使用禁止テー
ブル304、実行時使用機能禁止検査部305、監視禁
止検査部306、ユーザ通達部307、プログラム実行
許可判定部308、ユーザ禁止指定入力部309及び機
能IDテーブル310を有する。これらプログラム解釈
実行部301その他各部は、基本的に携帯電話機のメモ
リに備えられた制御プログラムがCPUにより実行され
ることによりその機能を発揮する。
【0023】ここで、プログラム解釈実行部301は、
実行プログラム101を解釈実行するものであり、基本
的には従来のJava仮想マシンと同様にJavaクラ
スファイルを逐次解釈実行するいわゆるインタプリタで
ある。但し、プログラム解釈実行部301は通常のイン
タプリタとしての機能に加えて、実行プログラム101
の解釈実行中に、実行時使用機能監視検査部303、実
行時使用機能禁止検査部305又は監視禁止検査部30
6の通知を受けることにより解釈実行を停止できる機能
を有している。
【0024】使用機能監視部302は、プログラム解釈
実行部301が実行プログラム101を解釈実行してい
るときに、次に実行されようとしているJavaバイト
コード(以下、「命令」ともいう。)を監視して、予め
定められている機能のうちいずれかが使用されようとし
た場合に、その使用されようとした機能についての機能
IDを出力する。即ち、使用機能監視部302は、実行
プログラム101を逐次解釈しているプログラム解釈実
行部301から、次にプログラムカウンタが指す位置の
命令、つまり次に実行しようとしている命令を通知さ
れ、機能IDテーブル310を参照して後述する監視処
理を行うことにより、その命令に対応する機能IDを得
て、機能IDを出力する。
【0025】実行時使用機能監視検査部303は、使用
機能監視部302から出力された機能IDと実行時使用
機能情報102とを入力とし、実行時使用機能情報10
2において使用しない旨のフラグに対応付けられている
機能IDが使用機能監視部302から出力された場合に
は、実行プログラム101の解釈実行を停止するように
プログラム解釈実行部301に伝える。
【0026】使用禁止テーブル304は、プログラム実
行装置300上で動作するアプリケーションプログラム
に使用され得る全ての機能それぞれについて、ダウンロ
ードしたオブジェクトプログラム100の実行プログラ
ム101に対してその機能を使用することを許可してい
るか禁止しているかを示す情報を記録したテーブルであ
る。
【0027】図5は、使用禁止テーブル304のデータ
構造及び内容例を示す図である。同図に示すように使用
禁止テーブルは機能ID601とその機能IDで示され
る機能の使用が許可されているか禁止されているかを示
すフラグ602との組の集合からなるテーブルである。
機能ID601は、アプリケーションプログラムに使用
され得る機能を区分して、区分された各機能に一意とな
るように識別子を割り当てたものであり、その各機能に
は、アプリケーションプログラムから呼び出されるライ
ブラリに対応した機能が含まれ、さらにロード命令やス
トア命令に対応する機能が含まれる。つまり、使用禁止
テーブルには、機能IDテーブル又は実行時使用機能情
報に含まれる機能IDを全て包含した上にロード命令や
ストア命令に対応する機能IDが含まれる。
【0028】フラグ602は、0x00が使用を禁止す
る旨を示し、0x01が使用を許可する旨を示す。同図
に示す内容例では、例えば、ロード命令に対応するもの
として、個人情報領域からのデータ読出を意味する0x
0101という機能IDの機能と、システム領域からの
データ読出を意味する0x0102という機能IDの機
能と、ストア命令に対応するものとして、個人情報領域
へのデータ書込を意味する0x0201という機能ID
の機能と、システム領域へのデータ書込を意味する0x
0202という機能IDの機能とは、使用が禁止されて
いることを示している。なお、個人情報領域及びシステ
ム領域については後に説明する。
【0029】また、実行時使用機能禁止検査部305
は、実行時使用機能情報102と使用禁止テーブル30
4とを参照して、これらを比較することにより、実行時
使用機能情報102において使用する旨のフラグに対応
付けられている機能IDと同一の機能IDが使用禁止テ
ーブル304においては使用を禁止する旨のフラグに対
応付けられている場合には、実行プログラム101の解
釈実行を停止するようにプログラム解釈実行部301に
伝える。
【0030】監視禁止検査部306は、使用機能監視部
302から出力された機能IDと使用禁止テーブル30
4とを入力とし、使用禁止テーブルにおいて使用を禁止
する旨のフラグに対応付けられている機能IDが使用機
能監視部302から出力された場合には、実行プログラ
ム101の解釈実行を停止するようにプログラム解釈実
行部301に伝える。
【0031】ユーザ通達部307は、プログラム解釈実
行部301による実行プログラム101の解釈実行が停
止した旨を携帯電話機のディスプレイに表示するよう制
御して、プログラムの実行停止をユーザに通達するもの
である。プログラム実行許可判定部308は、ユーザ通
達部307とともに解釈実行の停止時におけるユーザイ
ンタフェースを構成するものであり、実行プログラム1
01の解釈実行の停止の旨をユーザ通達部307がディ
スプレイに表示するよう制御した場合に、実行プログラ
ム101の停止を解除するか又は実行プログラム101
の実行を終了するかのユーザによる指定を携帯電話機の
各種ボタン等を通じて受け付け、その指定に応じてプロ
グラム解釈実行部301に対して停止の解除又は終了の
指示を伝える。
【0032】ユーザ禁止指定入力部309は、使用禁止
テーブル304の内容の変更についての入力を携帯電話
機の各種ボタン等を通じてユーザから受け付け、その入
力に応じて使用禁止テーブル304を更新する。ユーザ
禁止指定入力部309が存在することによって、ユーザ
はダウンロードしたアプリケーションプログラムにより
特定の機能が使用されることを許可するか禁止するかを
指定することができる。
【0033】また、機能IDテーブル310は、機能I
Dテーブル201と同一内容のテーブルであり、図3に
示す構造を有するテーブルである。なお、プログラム実
行装置300は、無線基地局を介して通信によりアプリ
ケーションプログラムを取得、即ちダウンロードして携
帯電話機に備えられたメモリに格納する機能を有する。
【0034】図2は、プログラム実行装置300を備え
る携帯電話機320とダウンロード対象のオブジェクト
プログラムとの関係を示す図である。公衆網に接続され
たコンピュータであるプログラム格納サーバ250には
携帯電話機にダウンロードされることを目的としてプロ
グラム生成装置200を備えるプログラム生成系から提
供されたオブジェクトプログラム100が格納されてい
る。プログラム実行装置300を備える携帯電話機32
0は、無線基地局260と無線通信することにより無線
基地局260を介してプログラム格納サーバ250に格
納されているオブジェクトプログラム100をダウンロ
ードすることができる。
【0035】<メモリ構造>ここで、プログラム実行装
置300が実行するアプリケーションプログラムがアク
セスし得るメモリについて説明する。メモリは、個人情
報を記録するための個人情報領域と、オペレーティング
システムやインタプリタ機能の実行に必要な情報を記録
するためのシステム領域と、その他の領域とに分けられ
る。
【0036】図6は、メモリ内の領域の分類を示した図
である。同図に示すようにメモリは0x0000番地か
ら0x3FFF番地までがシステム領域であり、0x4
000番地から0x7FFF番地までが個人情報領域で
あり、0x8000番地から0xFFFF番地までがシ
ステム領域でも個人情報領域でもないその他の領域であ
る。
【0037】つまり、携帯電話機に最初から内蔵された
アプリケーションプログラムによって、個人情報は個人
情報領域に記録されるようになっており、またプログラ
ム実行装置300はシステム領域にアクセスして処理の
実行に必要なデータの記録及び読み出しを行うものであ
る。図7は、個人情報の内容の具体例を示す図である。
同図に示すように、個人情報は、人物名や電話番号等の
個人のプライバシーに関わる情報を含んでいる。従っ
て、この個人情報領域に格納されている個人情報は不正
なアクセスから特に保護されるべきである。 <動作>以下、上述の構成を備えるプログラム実行装置
300の動作について説明する。
【0038】<解釈実行動作>図8は、プログラム実行
装置300がダウンロードしたオブジェクトプログラム
を解釈実行する際における処理手順を示すフローチャー
トである。プログラム実行装置300は、無線基地局と
の通信によりオブジェクトプログラム100をダウンロ
ードし、メモリに格納した後、解釈実行を始める。
【0039】プログラム解釈実行部301が実行プログ
ラム101の解釈実行を行うに際して、まず実行時使用
機能禁止検査部305は、Javaクラスファイルの特
定の識別番号で識別されるアトリビュート情報を参照す
ることにより実行時使用機能情報102にアクセスし
て、実行時使用機能情報102と使用禁止テーブル30
4とを比較し(ステップS101)、実行時使用機能情
報102において使用する旨のフラグと対応付けられて
いる機能IDのうちいずれかが、使用禁止テーブルにお
いて使用が禁止されている旨のフラグと対応付けられて
いる機能IDと一致するか否かを判定する(ステップS
102)。
【0040】ステップS102において一致すると判定
した場合には、実行時使用機能禁止検査部305はプロ
グラム解釈実行部301及びユーザ通達部307に停止
を通知しプログラム実行装置300は解釈実行停止処理
を行い(ステップS103)、一致しないと判定した場
合にはステップS103をスキップし、続いて監視処理
を行う(ステップS104)。なお、解釈実行停止処理
については後に説明する。
【0041】ここで、監視処理を説明する。図9は、使
用機能監視部302による監視処理を示すフローチャー
トである。プログラム解釈実行部301はプログラムカ
ウンタを参照して次に実行する命令を得て使用機能監視
部302に伝える(ステップS201)。使用機能監視
部302は、その命令がaload等のデータ読出命令
であるか否かを判定し(ステップS202)、データ読
出命令であれば、その命令のオペランドに基づいて、メ
モリ内の読出対象となる位置である読出アドレスを取得
する(ステップS203)。読出アドレスがレジスタ等
によって指定されている場合であっても、ステップS2
03の実行の際におけるそのレジスタ等の内容値を参照
することによって実際の読出アドレスを取得する。
【0042】読出アドレスを取得した後、その読出アド
レスはシステム領域内を指すものであるか否かを判定し
(ステップS204)、システム領域内を指すものであ
れば0x0102という機能IDを実行時使用機能監視
検査部303及び監視禁止検査部306に伝えて監視処
理を終了する(ステップS205)。ステップS204
においてシステム領域内を指すものでなければ、読出ア
ドレスは個人情報領域内を指すものであるか否かを判定
し(ステップS206)、個人情報領域内を指すもので
あれば0x0101という機能IDを実行時使用機能監
視検査部303及び監視禁止検査部306に伝えて監視
処理を終了する(ステップS207)。
【0043】ステップS206において個人情報領域内
を指すものでなければ、0x0000という機能IDを
実行時使用機能監視検査部303及び監視禁止検査部3
06に伝えて監視処理を終了する(ステップS20
8)。得た命令がデータ読出命令でない場合には(ステ
ップS202)、使用機能監視部302はその命令がa
store等のデータ書込命令であるか否かを判定し
(ステップS209)、データ書込命令であれば、その
命令のオペランドに基づいて、メモリ内の書込対象とな
る位置である書込アドレスを取得する(ステップS21
0)。書込アドレスがレジスタ等によって指定されてい
る場合であっても、ステップS210の実行の際におけ
るそのレジスタ等の内容値を参照することによって実際
の書込アドレスを取得する。
【0044】書込アドレスを取得した後、その書込アド
レスはシステム領域内を指すものであるか否かを判定し
(ステップS211)、システム領域内を指すものであ
れば0x0202という機能IDを実行時使用機能監視
検査部303及び監視禁止検査部306に伝えて監視処
理を終了する(ステップS212)。ステップS211
においてシステム領域内を指すものでなければ、書込ア
ドレスは個人情報領域内を指すものであるか否かを判定
し(ステップS213)、個人情報領域内を指すもので
あれば0x0201という機能IDを実行時使用機能監
視検査部303及び監視禁止検査部306に伝えて監視
処理を終了する(ステップS214)。
【0045】ステップS213において個人情報領域内
を指すものでなければ、0x0000という機能IDを
実行時使用機能監視検査部303及び監視禁止検査部3
06に伝えて監視処理を終了する(ステップS21
5)。得た命令がデータ書込命令でない場合には(ステ
ップS209)、使用機能監視部302はその命令がi
nvoke virtual等のライブラリ呼出命令で
あるか否かを判定し(ステップS216)、ライブラリ
呼出命令であれば、その命令のオペランドからライブラ
リ番号を得て、そのライブラリ番号に対応する機能ID
を機能IDテーブル310を参照することにより取得し
て、その機能IDを実行時使用機能監視検査部303及
び監視禁止検査部306に伝えて監視処理を終了する
(ステップS217)。
【0046】また、ステップS216においてライブラ
リ呼出命令でなければ、使用機能監視部302は、0x
0000という機能IDを実行時使用機能監視検査部3
03及び監視禁止検査部306に伝えて監視処理を終了
する(ステップS218)。なお、使用機能監視部30
2から出力される機能IDは、ライブラリ呼出命令に対
応する機能IDかそれ以外の命令に対応する機能IDか
が識別できるようになっており、ここでは、機能IDの
うち上位8ビットが0x00であるものがライブラリ呼
出命令に対応するものであることとしている。
【0047】以下、図8に即した説明に戻る。上述した
監視処理(ステップS104)の後、実行時使用機能監
視検査部303は監視処理の結果として使用機能監視部
302から出力された機能IDと、実行時使用機能情報
102との比較検査を行い(ステップS105)、実行
プログラム101中の次に実行される命令によって使用
される機能の機能ID即ち監視処理の結果として出力さ
れた機能IDと同一の機能IDが実行時使用機能情報1
02において使用しない旨のフラグと対応付けられてい
るか否かを判定する(ステップS106)。ステップS
106は、実行時使用機能情報102によって使用しな
いと宣言している機能を、実際の実行に際しては使用し
ようとしていたか否かを判定するという意味を持つ。
【0048】ステップS106において監視処理の結果
として出力された機能IDが実行時使用機能情報102
において使用しない旨のフラグと対応付けられている機
能IDであった場合に限り、実行時使用機能監視検査部
303はプログラム解釈実行部301及びユーザ通達部
307に停止を通知しプログラム実行装置300は解釈
実行停止処理を行い(ステップS107)、その他の場
合にはステップS107をスキップし、その後に監視処
理の結果として出力された機能IDと使用禁止テーブル
との比較検査を監視禁止検査部306が行う(ステップ
S108)。
【0049】ステップS108においては監視禁止検査
部306は監視処理の結果として出力された機能IDと
同一の機能IDが使用禁止テーブルにおいて使用を禁止
する旨のフラグと対応付けられているか否かを判定する
(ステップS109)。この判定の結果、監視処理の結
果として出力された機能IDが使用禁止テーブルにおい
て使用を禁止する旨のフラグと対応付けられている機能
IDであった場合に限り監視禁止検査部306はプログ
ラム解釈実行部301及びユーザ通達部307に停止を
通知し解釈実行停止処理を行い(ステップS110)、
その他の場合にはステップS110をスキップする。
【0050】続いて、監視処理の対象となった命令即ち
次に実行されるべき命令をプログラム解釈実行部301
が解釈実行する(ステップS111)。プログラム解釈
実行部301による実行プログラム101の全ての処理
の解釈実行が終了するまでステップS104からS11
1の処理が繰り返され、全ての処理の解釈実行が終了す
るとプログラム実行装置の動作も終了する(ステップS
112)。
【0051】以下、解釈実行停止処理について説明す
る。図10は、解釈実行停止処理を示すフローチャート
である。停止の通知を受けたプログラム解釈実行部30
1は実行プログラムの解釈実行を停止するように内部の
変数等による制御状態を設定し(ステップS301)、
ユーザ通達部307は解釈実行が停止されたことをユー
ザに通達する(ステップS302)。
【0052】このステップS302におけるユーザ通達
部307の制御によりディスプレイに表示される画面
は、例えば図11に示すものとなる。この画面はファイ
ル名がmaze.cjである実行プログラム101の実
行が停止された旨を示すとともにユーザに対して実行の
継続を指示する場合に用いるボタンを知らせるものであ
る。
【0053】ユーザ通達部307によるユーザへの停止
の通達の後にプログラム実行許可判定部308はユーザ
の入力を受け付け解釈し(ステップS303)、実行プ
ログラム101の解釈実行を継続する旨の指示の入力で
あるか否かを判断する(ステップS304)。ステップ
S304において解釈実行の継続の指示と判断した場合
にはプログラム実行許可判定部308はプログラム解釈
実行部301に解釈実行の停止の解除を指示し、これを
受けてプログラム解釈実行部301は解釈実行の停止を
解除するように制御状態を設定する(ステップS30
5)。このステップS305により実行プログラム10
1は引き続いて解釈実行されるものとなる。
【0054】またステップS304において解釈実行の
継続の指示でないと判断した場合にはプログラム実行許
可判定部308はプログラム解釈実行部301に解釈実
行の終了を指示し、これを受けてプログラム解釈実行部
301は解釈実行を終了するように制御状態を設定す
る。(ステップS306)。このステップS306によ
り実行プログラム101は以後解釈実行されることはな
くなり、プログラム実行装置300の動作は終了する。
【0055】<使用禁止テーブル更新動作>プログラム
実行装置300は、プログラムの解釈実行中以外の時に
おいて使用禁止テーブルの更新を行う機能を有する。こ
の機能は、ユーザにより例えば携帯電話機の特定のボタ
ンが押下された場合等の所定操作に対応して実行される
ものであり、所定操作が行われるとユーザ禁止指定入力
部309は携帯電話機のディスプレイに図12に示すよ
うな使用禁止機能選択画面を表示するよう制御して、ユ
ーザによる使用禁止機能の指定に関する入力を受け付け
る。
【0056】ユーザ禁止指定入力部309は、図12に
示すように機能項目等を表示し、ユーザの特定のボタン
操作に応じて機能項目の表示をスクロールさせ、また
「1」又は「0」のボタン入力を受け付けると強調表示
されている機能項目で表しているところの機能の使用を
許可又は禁止とするように使用禁止テーブル304を更
新する。
【0057】これにより、使用を禁止する機能をユーザ
が定めることができるようになる。例えば個人情報を読
み出されても構わないと考えるユーザであれば、個人情
報領域からのデータ読出の機能の使用を許可するように
使用禁止テーブル304を変更することが可能になる。 <補足>以上、本発明に係るプログラム実行装置につい
て実施の形態を用いて説明したが、本発明は実施の形態
に示したものに限られることはない。即ち、 (1)本実施の形態では、個人情報が格納されるメモリ
内の領域等はそのアドレスが固定的に定められているも
のとしたが、特定サイズのデータ毎にフラグを付加する
こととし、そのフラグにより個人情報であるかその他の
情報であるかを識別できるようにしておくこととすれ
ば、個人情報はメモリ空間内の任意のアドレスに分散し
て格納することも可能となる。つまり固定的でない特定
サイズの個人情報領域が複数存在することとしてもよ
い。
【0058】図13は、メモリ内に個人情報であるデー
タと個人情報以外であるデータがフラグによって識別可
能となるように格納されている例を示す図である。同図
ではフラグは0か1の値をとり、フラグが1であれば個
人情報であることを示している。このような場合には、
監視処理における読出アドレス又は書込アドレスが個人
情報領域内か否かの判断(ステップS206、S21
3)は、そのアドレスが指すデータに付加されたフラグ
が0か1かに基づいて行うこととする必要がある。な
お、個人情報とシステムデータとその他のデータとを識
別するようなフラグを特定サイズのデータ毎に付加する
こととすれば、同様の方法によりシステム領域内か否か
の判断(ステップS204、S211)をも行うことと
してもよい。 (2)本実施の形態において使用禁止テーブル304や
実行時使用機能情報102等において示した機能の区分
は単なる一例であり、他の区分であってもよい。また、
機能IDテーブルはライブラリ呼出命令に対応する機能
を列挙したテーブルとなっており、実行時使用機能情報
102にはライブラリ呼出命令により実行され得る全て
の機能について、使用するかしないかのフラグを対応付
けた情報であるとしたが、ライブラリ呼出命令でない他
の特定の命令により実行される機能についての情報を盛
り込むこととしてもよい。但し、機能IDテーブル及び
実行時使用機能情報に機能IDが含まれる機能は、その
機能の使用の有無の確認がプログラムの実行前において
簡易に行えるものとするのが望ましい。
【0059】なお、通常、プログラム実行装置が搭載さ
れた機器側に用意されたライブラリをオブジェクトプロ
グラムが呼び出すことにより使用できる機能は、その機
器の特定の資源を利用する機能であるため、機能IDテ
ーブルはライブラリ毎に対応する機能を列挙したテーブ
ルであることとすると、オブジェクトプログラムが危険
動作を行うことを回避するというセキュリティ確保の目
的を達成するためには適したものとなるといえる。 (3)本実施の形態では、使用禁止テーブル(図5参
照)により無線インタフェースへのデータ出力や無線イ
ンタフェースからのデータ入力を禁止する例を示した
が、これらを必ずしも禁止しなければならないことはな
く、また他の回路へのデータ入出力を禁止することとし
てもよいし、その他のライブラリ呼出によって実現され
る機能を禁止してもよい。また、無線インタフェースか
らのデータ入力及び無線インタフェースへのデータ出力
の機能を禁止する代わりに外部への発呼機能、即ち電話
をかける機能を禁止することとしてもよい。
【0060】なお、無線インタフェースを通じてのデー
タ入出力を禁止することは、ユーザが知らない内に外部
と通信することを防ぐ意味において実用上有用である。
また、例えばボタン、スイッチ、ダイヤル、マウス、ト
ラックボール、ジョイスティック、キーボード、マイ
ク、カメラ、センサ等の広い意味での入力デバイスから
のデータ取得を禁止することや、ディスプレイ、LE
D、ランプ、スピーカー、バイブレータ等の広い意味で
の出力デバイスへのデータ出力を禁止することは、盗聴
等の不正な情報取得の防止や、迷惑な出力の防止の面に
おいて有用な場合がある。
【0061】また、本実施の形態では、使用禁止テーブ
ルにより個人情報領域からのデータ読出、システム領域
からのデータ読出、個人情報領域へのデータ書込及びシ
ステム領域へのデータ書込を禁止する例を示したが、こ
れらを必ずしも禁止しなければならないことはなく、ま
たその他の特定の命令の実行を禁止するようにしてもよ
い。なお、個人情報へのアクセスを禁止することは、プ
ライバシー保護等の面から実用上有用である。 (4)本実施の形態において図10のステップS303
で示したユーザの入力は、ボタンに限らず、他の入力デ
バイスを介してなされることとしてもよい。また、ステ
ップS303においては、予め定められた取決めに従っ
て、ユーザが操作をなさなかったことを特定の指定を入
力したものと解釈することにしてもよい。例えば、実行
プログラムが停止した旨がディスプレイに表示されてか
ら30秒間何も入力しなければ、プログラム実行許可判
定部308はその実行プログラムの解釈実行の継続を行
わないという指定がユーザによりなされたと解釈するこ
ととしてもよい。 (5)本実施の形態において図2に示したオブジェクト
プログラム100を携帯電話機がダウンロードする際に
は、そのオブジェクトプログラム100の配信側である
プログラム格納サーバ250の正当性を確認するため
に、相互認証等を行うこととしてもよい。
【0062】また、本実施の形態では、プログラム実行
装置300は携帯電話機に備えられるものとしたが、こ
れに限定されるものではなく、他の家電機器や携帯情報
端末に適用されるものであることとしてもよい。また、
プログラム実行装置300の実行対象となるオブジェク
トプログラムの取得経路も図2に示したものに限定され
ることはなく、例えばBluetooth、HomeR
F等に定められているような方法でオブジェクトプログ
ラムが伝送されることとしてもよい。 (6)本実施の形態では、ダウンロードするアプリケー
ションプログラム、即ちオブジェクトプログラムはJa
vaクラスファイルであることとしたが、これに限定さ
れることはなく、機械語プログラムであることとしても
よい。機械語プログラムの場合にはプログラム解釈実行
部301はCPUであることとし、使用機能監視部30
2はいわゆるプログラムカウンタに相当するレジスタが
変化する毎に各レジスタ及びメモリを参照して次に実行
される命令を監視することとしてもよい。 (7)本実施の形態で示した図10のステップS306
は、実行プログラムの解釈実行を終了するだけである
が、ステップS306はさらに、終了した実行プログラ
ムとこれに付随する実行時使用機能情報とを携帯電話機
の記憶装置内から削除することとしてもよい。また、ダ
ウンロードしたオブジェクトプログラムをプログラム実
行装置300が実行することによって図8のステップS
112でYESの分岐に進んだ場合において、次の処理
を追加することとしてもよい。その処理は、実行が完了
したオブジェクトプログラムを次回以後は通常のインタ
プリタ等の実行対象とするための処理であり、例えばそ
のオブジェクトプログラムのファイル名を安全であるア
プリケーションプログラムのリストに登録する処理や、
Javaクラスファイルのアトリビュート情報に安全で
ある旨の情報を記録する処理等が考えられる。なお、オ
ブジェクトプログラムが通常のインタプリタ等の実行対
象となるということの意味は、使用機能監視等の不正な
機能の実行を抑止するための処理を行うことなく実行さ
れるということである。従って、例えば安全であるアプ
リケーションプログラムのリストに登録されているオブ
ジェクトプログラム、安全である旨の情報が付加された
オブジェクトプログラム等の安全性が保証されたプログ
ラムについては、プログラム実行装置300が不正な機
能の実行を抑止することなく従来のインタプリタと同様
の機能のみを用いてそのプログラムを実行することとし
てもよい。 (8)本実施の形態で示したプログラム生成装置200
は、オブジェクトプログラムを生成した後に、そのオブ
ジェクトプログラムが使用する機能の機能IDを検索し
て実行時使用機能情報を生成することとしたが、C言語
やJava言語等で記述されたソースプログラムをオブ
ジェクトプログラムに翻訳する過程において、そのオブ
ジェクトプログラム使用することになる機能を把握して
実行時使用機能情報を生成するものであってもよい。
【0063】また、プログラム生成装置200は、オブ
ジェクトプログラムに含める実行時使用機能情報を、配
信経路における改竄から保護するために暗号化すること
としてもよい。この場合にはプログラム実行装置300
側では実行時使用機能情報を復号して参照するようにす
る必要がある。 (9)本実施の形態では、個人情報領域には、人物名、
電話番号、メールアドレスその他の個人情報が含まれる
こととして、ダウンロードしたオブジェクトプログラム
による個人情報領域へのデータ書込又は個人情報領域か
らのデータ読出の機能の使用を禁止することとし、また
ユーザは使用禁止テーブルの更新によりこれらの機能の
使用を禁止から許可に変更することができることとし
た。このように個人情報をひとまとめに管理するのでは
なく、個人情報を複数の種別に区分して種別毎に管理す
ることとしてもよい。即ち、個人情報領域を第1種個人
情報領域、第2種個人情報領域、第3種個人情報領域等
と区分して、この区分された領域毎に、ダウンロードし
たオブジェクトプログラムによるデータ書込や読出の禁
止又は許可の制御を行うこととしてもよい。 (10)本実施の形態において実行プログラムの解釈実
行に関して用いた「停止」という用語は、図8のステッ
プS101、S102に示した処理等を実行プログラム
の起動前に行う場合には解釈実行の「抑止」を意味す
る。なお、実行プログラムが複数のモジュールから構成
される場合においてプログラム実行装置300が各モジ
ュールを必要時に動的にメモリにロードして実行すると
してもよく、この場合にはロード直後にステップS10
1〜S103の処理を行うこととしてもよいので、必ず
しも実行プログラムの起動前に解釈実行を抑止するとは
限らず、実行プログラムの実行中に解釈実行を停止する
ケースも起り得る。 (11)本実施の形態において図11に示した画面に
は、実行プログラムがどの機能を使用することになるた
めに停止されたか等、停止を解除させるべきか否かのユ
ーザによる判断に有用な情報を付加することとしてもよ
い。 (12)本実施の形態におけるプログラム実行装置30
0の処理手順(図8〜図10に示した手順等)を、プロ
グラム実行機能を有する家電機器、携帯情報端末等に実
行させるためのコンピュータプログラムを、記録媒体に
記録し又は各種通信路等を介して、流通させ頒布するこ
ともできる。このような記録媒体には、ICカード、光
ディスク、フレキシブルディスク、ROM等がある。流
通、頒布されたコンピュータプログラムは、家電機器、
携帯情報端末等にインストール等されることにより利用
に供され、家電機器、携帯情報端末等は、前記コンピュ
ータプログラムを実行して本実施の形態で示したような
プログラム実行装置を実現する。
【0064】
【発明の効果】以上の説明から明らかなように、本発明
に係るプログラム実行制御装置は、機器に搭載されてお
り、前記機器の特定の資源を利用する機能群のうち自ら
が使用する機能を示す使用機能情報が付加されたプログ
ラムを取得して、実行するプログラム実行制御装置であ
って、通信路からプログラムを取得する取得手段と、取
得したプログラムを実行する実行手段と、前記使用機能
情報に基づく判断を行い、判断結果がプログラムの実行
が不適当であることを表す所定の場合に、前記実行手段
によるプログラムの実行を停止させる停止手段とを備え
ることを特徴とする。
【0065】これにより、予めプログラムに、そのプロ
グラムが使用する機能を示す使用機能情報が付加されて
いるので、この使用機能情報を利用することにより比較
的簡易な方法でセキュリティを確保することが可能にな
る。即ち、使用機能情報と実際のプログラムの動作とを
比べることによりそのプログラムが改竄されていること
を検出することや、使用機能情報を参照することによ
り、使用を禁止すべき機能をそのプログラムが使用する
かどうかを検出することが簡易な構成で実現できるよう
になる。
【0066】また、前記プログラムは複数の命令を含
み、前記実行手段は前記プログラム中の命令を実行する
ものであり、前記停止手段は、実行中のプログラムにお
ける次に実行対象となる命令を監視し、前記命令が前記
機能群のうち前記使用機能情報において使用する機能と
して示されていない機能を使用する命令であった場合に
前記実行手段による前記プログラムの実行を停止させる
こととしてもよい。
【0067】これにより、ダウンロードしたプログラム
に付加されておりそのプログラムが使用する機能を示す
使用機能情報と、実際の動作時にそのプログラムが使用
しようとする機能を監視した結果とを比較することにな
るので、使用機能情報とプログラムとの相違を検出する
ことができる。従ってプログラム生成時においては使用
機能情報とプログラムとは整合するものであることを前
提とすると、プログラムが通信路において不正に改竄さ
れていることが簡単に検出できることになり、不正に改
竄されたプログラムの実行による被害を防止することが
できるようになる。
【0068】また、前記使用機能情報は暗号化されてお
り、前記停止手段は前記使用機能情報を復号して参照す
ることとしてもよい。これにより、使用機能情報が暗号
化されているために通信経路においてプログラムと使用
機能情報との両方を不正に書き換えることが困難にな
り、その結果、プログラムと使用機能情報との不整合を
調べることによりプログラムの改竄は容易に検出可能と
なる。
【0069】また、前記プログラム実行制御装置は、使
用を禁止する機能を示す禁止機能情報を記憶する禁止機
能記憶手段を備え、前記停止手段は、前記禁止機能情報
に示されている使用を禁止する機能が前記使用機能情報
に使用する機能として示されている場合には前記実行手
段によるプログラムの実行を停止させることとしてもよ
い。
【0070】これにより、危険等の理由から予め使用を
禁止するものと定めている機能を、使用することが示さ
れているプログラムの実行を停止するので、使用機能情
報と禁止機能情報の比較だけの簡易な方法により安全性
が確保できる。なお、ここでいう停止にはプログラム実
行そのものを行わない抑止も含まれる。また、前記禁止
機能情報が示す使用を禁止する機能には、少なくとも無
線通信の機能が含まれることとしてもよい。
【0071】これにより、機密情報の流出の可能性があ
り、また通信料金が必要となる場合もあり得る等の理由
から、ダウンロードしたプログラムに自由に使用させる
のは問題がある無線通信機能を使用するプログラムを停
止することができる。また、前記禁止機能情報が示す使
用を禁止する機能には、少なくとも出力デバイスからの
データ出力の機能が含まれることとしてもよい。
【0072】これにより、ダウンロードしたプログラム
がディスプレイにパスワード等の秘密の情報を表示する
等の出力動作を行うことを防止することができる。ま
た、前記禁止機能情報が示す使用を禁止する機能には、
少なくとも入力デバイスからのデータ取得の機能が含ま
れることとしてもよい。これにより、ダウンロードした
プログラムがマイクを通じてデータを取得して盗聴を行
う等のデータ取得動作を行うことを防止することができ
る。
【0073】また、前記プログラム実行制御装置はさら
に、ユーザの操作を受け付けて前記操作に応じて前記禁
止機能情報を更新する禁止機能変更手段を備えることと
してもよい。これにより、危険等の理由から予め使用を
禁止するものと定めている機能についてもユーザによっ
ては危険と考えない場合もあり得ることに対応し、ダウ
ンロードしたプログラムに使用させたくない機能をユー
ザが自由に設定できるようになる。
【0074】また、本発明に係るプログラム実行制御装
置は、個人情報領域を有するメモリを備える携帯情報端
末に搭載され、複数の命令からなるプログラムを取得し
て実行するプログラム実行制御装置であって、通信路か
らプログラムを取得する取得手段と、取得したプログラ
ムを実行する実行手段と、実行中のプログラムが次に実
行しようとする命令を監視し、前記命令が前記個人情報
領域からのデータ読出を行う命令である場合に前記実行
手段による前記プログラムの実行を停止させる停止手段
とを備えることを特徴とする。
【0075】これにより、携帯情報端末に通常記憶され
ておりプライバシーに関わる情報である個人情報をダウ
ンロードしたプログラムが読み出すことを防ぐことがで
きるので、個人情報の流出を阻止できるようになる。ま
た、本発明に係るプログラム実行制御装置は、個人情報
領域を有するメモリを備える携帯情報端末に搭載され、
複数の命令からなるプログラムを取得して実行するプロ
グラム実行制御装置であって、通信路からプログラムを
取得する取得手段と、取得したプログラムを実行する実
行手段と、実行中のプログラムが次に実行しようとする
命令を監視し、前記命令が前記個人情報領域へのデータ
書込を行う命令である場合に前記実行手段による前記プ
ログラムの実行を停止させる停止手段とを備えることを
特徴とする。
【0076】これにより、携帯情報端末に通常記憶され
ておりプライバシーに関わる情報である個人情報をダウ
ンロードしたプログラムが書き換えることを防ぐことが
できるようになる。また、本発明に係るプログラム実行
制御装置は、携帯情報端末に搭載され、複数の命令から
なるプログラムを取得して実行するプログラム実行制御
装置であって、通信路からプログラムを取得する取得手
段と、取得したプログラムを実行する実行手段と、実行
中のプログラムが次に実行しようとする命令を監視し、
前記命令が前記携帯情報端末が備える機能処理ルーチン
であって前記携帯情報端末の外部と通信する機能処理ル
ーチンを呼び出す命令である場合に前記実行手段による
前記プログラムの実行を停止させる停止手段とを備える
ことを特徴とする。
【0077】ここで、機能処理ルーチンとはアプリケー
ションプログラムの実行環境に存在し、そのアプリケー
ションプログラムから呼び出され何らかの処理を行うい
わゆるサブルーチンであり、例えばinvoke vi
rtual等のライブラリ呼出命令により呼び出される
ライブラリプログラムである。これにより、ダウンロー
ドしたプログラムが携帯情報端末の外部と通信する機能
を使用することを防ぐことができるようになる。これは
例えばユーザの意図と関係なく通信料金が必要となる事
態が生じるのを防ぐ等の意味を持つ点で有用である。
【0078】また、前記機能処理ルーチンは前記携帯情
報端末の外部へのデータ送信を行う機能処理ルーチンで
あることとしてもよい。これにより、携帯情報端末から
の機密情報の流出を防ぐことができるようになる。ま
た、本発明に係るプログラム実行制御装置は、携帯情報
端末に搭載され、複数の命令からなるプログラムを取得
して実行するプログラム実行制御装置であって、通信路
からプログラムを取得する取得手段と、取得したプログ
ラムを実行する実行手段と、実行中のプログラムが次に
実行しようとする命令を監視し、前記命令が前記携帯情
報端末が備える機能処理ルーチンであって前記携帯情報
端末が備える出力デバイスからのデータ出力を行う機能
処理ルーチンを呼び出す命令である場合に前記実行手段
による前記プログラムの実行を停止させる停止手段とを
備えることを特徴とする。
【0079】これにより、ダウンロードしたプログラム
が携帯情報端末のディスプレイにパスワード等の秘密の
情報を表示する等の出力動作を行うことを防止すること
ができる。また、本発明に係るプログラム実行制御装置
は、携帯情報端末に搭載され、複数の命令からなるプロ
グラムを取得して実行するプログラム実行制御装置であ
って、通信路からプログラムを取得する取得手段と、取
得したプログラムを実行する実行手段と、実行中のプロ
グラムが次に実行しようとする命令を監視し、前記命令
が前記携帯情報端末が備える機能処理ルーチンであって
前記携帯情報端末が備える入力デバイスからのデータ取
得を行う機能処理ルーチンを呼び出す命令である場合に
前記実行手段による前記プログラムの実行を停止させる
停止手段とを備えることを特徴とする。
【0080】これにより、ダウンロードしたプログラム
が携帯情報端末に備えられたマイクを通じてデータを取
得して盗聴を行う等のデータ取得動作を行うことを防止
することができる。また、前記プログラム実行制御装置
はさらに、前記停止手段によって前記プログラムの実行
が停止した場合に、停止した旨をユーザに通知する通知
手段を備えることとしてもよい。
【0081】これにより、ユーザはダウンロードしたプ
ログラムの実行が停止されたことを知ることができるよ
うになる。また、前記プログラム実行制御装置はさら
に、前記停止手段によって前記プログラムの実行が停止
した場合に、ユーザによる入力を受け付けて前記入力に
応じて停止を解除する停止解除手段を備えることとして
もよい。
【0082】これにより、ユーザはプログラムの実行が
停止された場合にその停止を自己の判断によって解除す
ることができるようになる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るプログラム実行装置
300等の構成図である。
【図2】プログラム実行装置300を備える携帯電話機
とダウンロード対象のオブジェクトプログラムとの関係
を示す図である。
【図3】機能IDテーブルのデータ構造及び内容例を示
す図である。
【図4】オブジェクトプログラムに付加される実行時使
用機能情報のデータ構造及び内容例を示す図である。
【図5】使用禁止テーブル304のデータ構造及び内容
例を示す図である。
【図6】メモリ内の領域の分類を示した図である。
【図7】個人情報の内容の具体例を示す図である。
【図8】プログラム実行装置300がダウンロードした
オブジェクトプログラムを解釈実行する際における処理
手順を示すフローチャートである。
【図9】使用機能監視部302による監視処理を示すフ
ローチャートである。
【図10】解釈実行停止処理を示すフローチャートであ
る。
【図11】ユーザ通達部307の制御によりディスプレ
イに表示される画面の例を示す図である。
【図12】ユーザ禁止指定入力部309が携帯電話機の
ディスプレイに表示するよう制御する使用禁止機能選択
画面を示す図である。
【図13】メモリ内に個人情報であるデータと個人情報
以外であるデータがフラグによって識別可能となるよう
に格納されている例を示す図である。
【符号の説明】
100 オブジェクトプログラム 101 実行プログラム 102 実行時使用機能情報 200 プログラム生成装置 201 機能IDテーブル 202 実行時使用機能情報生成部 300 プログラム解釈実行装置 300 プログラム実行装置 301 プログラム解釈実行部 302 使用機能監視部 303 実行時使用機能監視検査部 304 使用禁止テーブル 305 実行時使用機能禁止検査部 306 監視禁止検査部 307 ユーザ通達部 308 プログラム実行許可判定部 309 ユーザ禁止指定入力部 310 機能IDテーブル
───────────────────────────────────────────────────── フロントページの続き (72)発明者 富永 宣輝 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 春名 修介 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 Fターム(参考) 5B017 AA08 BB06 CA15 5B076 BB06 FA00 FB02

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 機器に搭載されており、前記機器の特定
    の資源を利用する機能群のうち自らが使用する機能を示
    す使用機能情報が付加されたプログラムを取得して、実
    行するプログラム実行制御装置であって、 通信路からプログラムを取得する取得手段と、 取得したプログラムを実行する実行手段と、 前記使用機能情報に基づく判断を行い、判断結果がプロ
    グラムの実行が不適当であることを表す所定の場合に、
    前記実行手段によるプログラムの実行を停止させる停止
    手段とを備えることを特徴とするプログラム実行制御装
    置。
  2. 【請求項2】 前記プログラムは複数の命令を含み、 前記実行手段は前記プログラム中の命令を実行するもの
    であり、 前記停止手段は、実行中のプログラムにおける次に実行
    対象となる命令を監視し、前記命令が前記機能群のうち
    前記使用機能情報において使用する機能として示されて
    いない機能を使用する命令であった場合に前記実行手段
    による前記プログラムの実行を停止させることを特徴と
    する請求項1記載のプログラム実行制御装置。
  3. 【請求項3】 前記使用機能情報は暗号化されており、 前記停止手段は前記使用機能情報を復号して参照するこ
    とを特徴とする請求項2記載のプログラム実行制御装
    置。
  4. 【請求項4】 前記プログラム実行制御装置は、使用を
    禁止する機能を示す禁止機能情報を記憶する禁止機能記
    憶手段を備え、 前記停止手段は、前記禁止機能情報に示されている使用
    を禁止する機能が前記使用機能情報に使用する機能とし
    て示されている場合には前記実行手段によるプログラム
    の実行を停止させることを特徴とする請求項1記載のプ
    ログラム実行制御装置。
  5. 【請求項5】 前記禁止機能情報が示す使用を禁止する
    機能には、少なくとも無線通信の機能が含まれることを
    特徴とする請求項4記載のプログラム実行制御装置。
  6. 【請求項6】 前記禁止機能情報が示す使用を禁止する
    機能には、少なくとも出力デバイスからのデータ出力の
    機能が含まれることを特徴とする請求項4記載のプログ
    ラム実行制御装置。
  7. 【請求項7】 前記禁止機能情報が示す使用を禁止する
    機能には、少なくとも入力デバイスからのデータ取得の
    機能が含まれることを特徴とする請求項4記載のプログ
    ラム実行制御装置。
  8. 【請求項8】 前記プログラム実行制御装置はさらに、 ユーザの操作を受け付けて前記操作に応じて前記禁止機
    能情報を更新する禁止機能変更手段を備えることを特徴
    とする請求項4〜7のいずれか1項に記載のプログラム
    実行制御装置。
  9. 【請求項9】 個人情報領域を有するメモリを備える携
    帯情報端末に搭載され、複数の命令からなるプログラム
    を取得して実行するプログラム実行制御装置であって、 通信路からプログラムを取得する取得手段と、 取得したプログラムを実行する実行手段と、 実行中のプログラムが次に実行しようとする命令を監視
    し、前記命令が前記個人情報領域からのデータ読出を行
    う命令である場合に前記実行手段による前記プログラム
    の実行を停止させる停止手段とを備えることを特徴とす
    るプログラム実行制御装置。
  10. 【請求項10】 個人情報領域を有するメモリを備える
    携帯情報端末に搭載され、複数の命令からなるプログラ
    ムを取得して実行するプログラム実行制御装置であっ
    て、 通信路からプログラムを取得する取得手段と、 取得したプログラムを実行する実行手段と、 実行中のプログラムが次に実行しようとする命令を監視
    し、前記命令が前記個人情報領域へのデータ書込を行う
    命令である場合に前記実行手段による前記プログラムの
    実行を停止させる停止手段とを備えることを特徴とする
    プログラム実行制御装置。
  11. 【請求項11】 携帯情報端末に搭載され、複数の命令
    からなるプログラムを取得して実行するプログラム実行
    制御装置であって、 通信路からプログラムを取得する取得手段と、 取得したプログラムを実行する実行手段と、 実行中のプログラムが次に実行しようとする命令を監視
    し、前記命令が前記携帯情報端末が備える機能処理ルー
    チンであって前記携帯情報端末の外部と通信する機能処
    理ルーチンを呼び出す命令である場合に前記実行手段に
    よる前記プログラムの実行を停止させる停止手段とを備
    えることを特徴とするプログラム実行制御装置。
  12. 【請求項12】 前記機能処理ルーチンは前記携帯情報
    端末の外部へのデータ送信を行う機能処理ルーチンであ
    ることを特徴とする請求項11記載のプログラム実行制
    御装置。
  13. 【請求項13】 携帯情報端末に搭載され、複数の命令
    からなるプログラムを取得して実行するプログラム実行
    制御装置であって、 通信路からプログラムを取得する取得手段と、 取得したプログラムを実行する実行手段と、 実行中のプログラムが次に実行しようとする命令を監視
    し、前記命令が前記携帯情報端末が備える機能処理ルー
    チンであって前記携帯情報端末が備える出力デバイスか
    らのデータ出力を行う機能処理ルーチンを呼び出す命令
    である場合に前記実行手段による前記プログラムの実行
    を停止させる停止手段とを備えることを特徴とするプロ
    グラム実行制御装置。
  14. 【請求項14】 携帯情報端末に搭載され、複数の命令
    からなるプログラムを取得して実行するプログラム実行
    制御装置であって、 通信路からプログラムを取得する取得手段と、 取得したプログラムを実行する実行手段と、 実行中のプログラムが次に実行しようとする命令を監視
    し、前記命令が前記携帯情報端末が備える機能処理ルー
    チンであって前記携帯情報端末が備える入力デバイスか
    らのデータ取得を行う機能処理ルーチンを呼び出す命令
    である場合に前記実行手段による前記プログラムの実行
    を停止させる停止手段とを備えることを特徴とするプロ
    グラム実行制御装置。
  15. 【請求項15】 前記プログラム実行制御装置はさら
    に、 前記停止手段によって前記プログラムの実行が停止した
    場合に、停止した旨をユーザに通知する通知手段を備え
    ることを特徴とする請求項1〜14のいずれか1項に記
    載のプログラム実行制御装置。
  16. 【請求項16】 前記プログラム実行制御装置はさら
    に、 前記停止手段によって前記プログラムの実行が停止した
    場合に、ユーザによる入力を受け付けて前記入力に応じ
    て停止を解除する停止解除手段を備えることを特徴とす
    る請求項1〜15のいずれか1項に記載のプログラム実
    行制御装置。
  17. 【請求項17】 プログラム実行機能を有する機器に、
    前記機器の特定の資源を利用する機能群のうち自らが使
    用する機能を示す使用機能情報が付加されたオブジェク
    トプログラムを取得して実行するプログラム実行制御処
    理を、行わせる制御プログラムを記録した記録媒体であ
    って、 前記プログラム実行制御処理は、 通信路からオブジェクトプログラムを取得する取得ステ
    ップと、 取得したオブジェクトプログラムを実行する実行ステッ
    プと、 前記使用機能情報に基づく判断を行い、判断結果がオブ
    ジェクトプログラムの実行が不適当であることを表す所
    定の場合に、オブジェクトプログラムの実行を停止させ
    る停止ステップとを備えることを特徴とする記録媒体。
JP2000227840A 2000-07-27 2000-07-27 プログラム実行制御装置 Withdrawn JP2002041170A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000227840A JP2002041170A (ja) 2000-07-27 2000-07-27 プログラム実行制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000227840A JP2002041170A (ja) 2000-07-27 2000-07-27 プログラム実行制御装置

Publications (1)

Publication Number Publication Date
JP2002041170A true JP2002041170A (ja) 2002-02-08

Family

ID=18721236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000227840A Withdrawn JP2002041170A (ja) 2000-07-27 2000-07-27 プログラム実行制御装置

Country Status (1)

Country Link
JP (1) JP2002041170A (ja)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067210A (ja) * 2001-08-22 2003-03-07 Just Syst Corp プログラム実行防止装置、プログラム実行防止方法、その方法をコンピュータに実行させるプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
WO2004017608A1 (ja) * 2002-08-19 2004-02-26 Ntt Docomo, Inc. 特定サイトへの接続を禁止する機能を有する通信端末、その方法、およびそのプログラム
JP2005222341A (ja) * 2004-02-05 2005-08-18 Trend Micro Inc 情報機器上および伝送経路上でのプログラム分析によるセキュリティの確保
JP2006024205A (ja) * 2004-06-23 2006-01-26 Microsoft Corp アプリケーションにセキュリティを提供するシステムおよび方法
JP2006099276A (ja) * 2004-09-28 2006-04-13 Oki Data Corp 情報処理装置及び情報処理システム
JP2006514763A (ja) * 2002-12-31 2006-05-11 モトローラ・インコーポレイテッド 通信デバイスへの接続を許可する分散認証システム及び方法
JP2006228113A (ja) * 2005-02-21 2006-08-31 Nec Corp 移動体通信システム、方法、プログラム、移動体通信端末及びサーバ
JP2008099155A (ja) * 2006-10-16 2008-04-24 Hitachi Ltd 情報処理装置
JP2009505275A (ja) * 2005-08-15 2009-02-05 ソニー エリクソン モバイル コミュニケーションズ, エービー モジュール内の実行アプリケーション・プログラムの安全性を検査するシステム、方法、及びコンピュータプログラム
JP2009258798A (ja) * 2008-04-11 2009-11-05 Nec Corp 仮想マシンシステム、ホスト計算機、i/oカード、仮想マシン構築方法およびプログラム
JP2011523481A (ja) * 2008-05-21 2011-08-11 サンディスク コーポレイション 周辺装置用ソフトウェア開発キットのアクセス認証
JP2012048753A (ja) * 2011-11-24 2012-03-08 Dainippon Printing Co Ltd 携帯用セキュリティデバイス
WO2012032628A1 (ja) * 2010-09-08 2012-03-15 株式会社東芝 情報処理装置
JP2013065114A (ja) * 2011-09-15 2013-04-11 Fujitsu Ltd 情報処理システムの制御方法、中継装置の制御プログラム及びクライアント装置の制御プログラム
JP2013092883A (ja) * 2011-10-25 2013-05-16 Kddi Corp 通信装置
JP2013101688A (ja) * 2005-12-16 2013-05-23 Ricoh Co Ltd 装置、アクセス制御方法、アクセス制御プログラム及び記録媒体
JP2014089639A (ja) * 2012-10-31 2014-05-15 Shunji Sugaya ユーザ端末、信頼性管理サーバ、不正遠隔操作防止方法、及び不正遠隔操作防止プログラム
JP2014526734A (ja) * 2011-09-12 2014-10-06 マイクロソフト コーポレーション 宣言及び承諾に基づくアクセス調停
JP2015510170A (ja) * 2012-01-20 2015-04-02 騰訊科技(深▲せん▼)有限公司 アプリケーション処理方法および移動端末
JP2015141697A (ja) * 2014-01-30 2015-08-03 京セラドキュメントソリューションズ株式会社 組み込みシステム、画像形成装置
JP2015143898A (ja) * 2014-01-31 2015-08-06 京セラドキュメントソリューションズ株式会社 組み込みシステム、画像形成装置
WO2020027320A1 (ja) * 2018-08-02 2020-02-06 Necソリューションイノベータ株式会社 ライセンス管理装置、発行装置及び方法、プログラム実行装置及び方法、並びにコンピュータ可読媒体

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067210A (ja) * 2001-08-22 2003-03-07 Just Syst Corp プログラム実行防止装置、プログラム実行防止方法、その方法をコンピュータに実行させるプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
WO2004017608A1 (ja) * 2002-08-19 2004-02-26 Ntt Docomo, Inc. 特定サイトへの接続を禁止する機能を有する通信端末、その方法、およびそのプログラム
US7483690B2 (en) 2002-08-19 2009-01-27 Ntt Docomo, Inc. Communication terminal having a function to inhibit connection to a particular site and program thereof
JP2006514763A (ja) * 2002-12-31 2006-05-11 モトローラ・インコーポレイテッド 通信デバイスへの接続を許可する分散認証システム及び方法
US8490183B2 (en) 2004-02-05 2013-07-16 Trend Micro Incorporated Security ensuring by program analysis on information device and transmission path
JP2005222341A (ja) * 2004-02-05 2005-08-18 Trend Micro Inc 情報機器上および伝送経路上でのプログラム分析によるセキュリティの確保
JP2006024205A (ja) * 2004-06-23 2006-01-26 Microsoft Corp アプリケーションにセキュリティを提供するシステムおよび方法
JP2006099276A (ja) * 2004-09-28 2006-04-13 Oki Data Corp 情報処理装置及び情報処理システム
JP4640545B2 (ja) * 2004-09-28 2011-03-02 株式会社沖データ 情報処理装置
JP2006228113A (ja) * 2005-02-21 2006-08-31 Nec Corp 移動体通信システム、方法、プログラム、移動体通信端末及びサーバ
JP4573113B2 (ja) * 2005-02-21 2010-11-04 日本電気株式会社 移動体通信システム、方法、プログラム、移動体通信端末及びサーバ
JP2009505275A (ja) * 2005-08-15 2009-02-05 ソニー エリクソン モバイル コミュニケーションズ, エービー モジュール内の実行アプリケーション・プログラムの安全性を検査するシステム、方法、及びコンピュータプログラム
JP2013101688A (ja) * 2005-12-16 2013-05-23 Ricoh Co Ltd 装置、アクセス制御方法、アクセス制御プログラム及び記録媒体
JP2008099155A (ja) * 2006-10-16 2008-04-24 Hitachi Ltd 情報処理装置
JP2009258798A (ja) * 2008-04-11 2009-11-05 Nec Corp 仮想マシンシステム、ホスト計算機、i/oカード、仮想マシン構築方法およびプログラム
JP2011523481A (ja) * 2008-05-21 2011-08-11 サンディスク コーポレイション 周辺装置用ソフトウェア開発キットのアクセス認証
WO2012032628A1 (ja) * 2010-09-08 2012-03-15 株式会社東芝 情報処理装置
JPWO2012032628A1 (ja) * 2010-09-08 2013-12-12 株式会社東芝 情報処理装置
CN103154962A (zh) * 2010-09-08 2013-06-12 株式会社东芝 信息处理装置
JP2014526734A (ja) * 2011-09-12 2014-10-06 マイクロソフト コーポレーション 宣言及び承諾に基づくアクセス調停
JP2013065114A (ja) * 2011-09-15 2013-04-11 Fujitsu Ltd 情報処理システムの制御方法、中継装置の制御プログラム及びクライアント装置の制御プログラム
JP2013092883A (ja) * 2011-10-25 2013-05-16 Kddi Corp 通信装置
JP2012048753A (ja) * 2011-11-24 2012-03-08 Dainippon Printing Co Ltd 携帯用セキュリティデバイス
JP2015510170A (ja) * 2012-01-20 2015-04-02 騰訊科技(深▲せん▼)有限公司 アプリケーション処理方法および移動端末
US9609142B2 (en) 2012-01-20 2017-03-28 Tencent Technology (Shenzhen) Company Limited Application processing method and mobile terminal
JP2014089639A (ja) * 2012-10-31 2014-05-15 Shunji Sugaya ユーザ端末、信頼性管理サーバ、不正遠隔操作防止方法、及び不正遠隔操作防止プログラム
US9348999B2 (en) 2012-10-31 2016-05-24 Optim Corporation User terminal, reliability management server, and method and program for preventing unauthorized remote operation
JP2015141697A (ja) * 2014-01-30 2015-08-03 京セラドキュメントソリューションズ株式会社 組み込みシステム、画像形成装置
JP2015143898A (ja) * 2014-01-31 2015-08-06 京セラドキュメントソリューションズ株式会社 組み込みシステム、画像形成装置
WO2020027320A1 (ja) * 2018-08-02 2020-02-06 Necソリューションイノベータ株式会社 ライセンス管理装置、発行装置及び方法、プログラム実行装置及び方法、並びにコンピュータ可読媒体
JPWO2020027320A1 (ja) * 2018-08-02 2021-08-02 Necソリューションイノベータ株式会社 ライセンス管理装置、発行装置及び方法、プログラム実行装置及び方法、並びにプログラム
JP7226831B2 (ja) 2018-08-02 2023-02-21 Necソリューションイノベータ株式会社 ライセンス管理装置、プログラム実行装置及び方法、並びにアプリケーションプログラム
US11768922B2 (en) 2018-08-02 2023-09-26 Nec Solution Innovators, Ltd. License management device, program execution device and method

Similar Documents

Publication Publication Date Title
JP2002041170A (ja) プログラム実行制御装置
US8769305B2 (en) Secure execution of unsecured apps on a device
JP5891414B2 (ja) 情報処理装置およびアプリケーション不正連携防止方法
JP4891902B2 (ja) 電子機器、更新サーバ装置、鍵更新装置
US20070271446A1 (en) Application Execution Device and Application Execution Device Application Execution Method
US20120246484A1 (en) Secure execution of unsecured apps on a device
JP4629304B2 (ja) 通信装置、プログラムおよび記録媒体
EP1368718B1 (en) Software-defined communications system execution control
CN107870793B (zh) 一种应用程序中加载so文件的方法及装置
EP1869606A1 (en) Software protection
JP4647392B2 (ja) デバイス制御装置、デバイス制御方法およびプログラム
JP4142287B2 (ja) 通信端末、コンテンツの使用制限方法およびプログラムの実行制限方法
CN103455520A (zh) 安卓数据库访问的方法及设备
TWI239745B (en) Communication device, program and recording medium
AU2001257276A1 (en) Software-defined communications system execution control
US20140025954A1 (en) Information processing device, information processing method, and computer program product
Schmidt et al. Malicious software for smartphones
JP2003337630A (ja) 通信端末、プログラム、記録媒体、通信端末のアクセス制御方法およびコンテンツの提供方法
CN108171063A (zh) 访问安全元件的方法、终端及计算机可读存储介质
JP2008040853A (ja) アプリケーション実行方法およびアプリケーション実行装置
JP7331714B2 (ja) 情報処理装置、情報処理方法及びプログラム
KR100447064B1 (ko) 이동통신 단말기용 컨텐츠 프로그램의 응용 프로그래밍 인터페이스의 사용권한 제한방법
JP2005044009A (ja) 携帯情報保護方法、携帯端末装置並びにサーバ装置
JP4323190B2 (ja) 通信端末
KR101260759B1 (ko) 네이티브 라이브러리 접근 제어장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070605

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20080512