JP2001117769A - プログラム実行装置 - Google Patents

プログラム実行装置

Info

Publication number
JP2001117769A
JP2001117769A JP29775999A JP29775999A JP2001117769A JP 2001117769 A JP2001117769 A JP 2001117769A JP 29775999 A JP29775999 A JP 29775999A JP 29775999 A JP29775999 A JP 29775999A JP 2001117769 A JP2001117769 A JP 2001117769A
Authority
JP
Japan
Prior art keywords
program
execution
interpretation
executing
identification information
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.)
Pending
Application number
JP29775999A
Other languages
English (en)
Inventor
Tomokazu Kanamaru
智一 金丸
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 JP29775999A priority Critical patent/JP2001117769A/ja
Publication of JP2001117769A publication Critical patent/JP2001117769A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 プログラム配信のためのネットワーク機能を
備えた家電機器において、ダウンロードしたプログラム
の安全性・秘匿性・完全性の保証を、低コストかつ簡便
に実現する。 【解決手段】 プログラム解釈実行手段104と、プロ
グラム解釈実行副手段110と、プログラム発信先判定
手段105と、プログラム解釈実行許可入力手段109
と、プログラム解釈実行禁止選択手段112とから構成
される。プログラム発信先判定手段105の判定結果が
是である場合には、プログラム解釈実行禁止選択手段1
12は、プログラム解釈実行手段104がプログラム1
02を解釈実行することを許可し、判定結果が非である
場合には、プログラム解釈実行禁止選択手段112は、
プログラム解釈実行手段104がプログラム102を解
釈実行することを禁止する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はネットワーク通信に
よりプログラムをダウンロードし、プログラムを解釈実
行する環境、特に家電機器など、使用目的が特化された
プログラムを解釈実行する環境において、ダウンロード
されたプログラムの検証を行なう装置およびその方法に
関する。
【0002】
【従来の技術】近年、家電機器に対するプログラム配信
のためのネットワーク機能搭載の要求が高まっている。
【0003】ネットワークを通じてプログラムの配信が
行われることで、例えば、家電機器に対する機能の更新
や追加が容易になり、新たなサービスの提供が可能にな
る、などの多くの利点が生まれる。
【0004】既にコンピューティングの分野では、こう
いったプログラムの配信は頻繁に行なわれている。
【0005】その代表的なものに、インターネットのウ
ェブサーバと、ブラウザを載せたPCの間のネットワー
クがある。このネットワークにおいては、ネットワーク
に接続する者であれば誰でも、そこに流通するコンテン
ツを自由にダウンロードして利用できる。ここではこの
性質を持つネットワークを「開かれたネットワーク」と
呼ぶことにする。
【0006】開かれたネットワークの元では、利用者は
ネットワークに存在するプログラムもまた、自由にダウ
ンロードし、実行することができる。
【0007】しかし一方で、開かれたネットワークで
は、以下のことをネットワーク利用者によるリスクの分
担の上で行なうという特徴を持つ。1.接続先が意図し
た相手であること(認証と許可)。2.コンテンツが伝
送経路で改ざんや盗聴がなされないこと(完全性と秘匿
性)。3.コンテンツがそれを利用する環境で危険な振
る舞いをしないこと(安全性)。
【0008】つまり開かれたネットワークとは、上記の
1.2.3.が完全に保証される環境ではない。そのた
め、悪意ある第3者によって作成された危険なプログラ
ムを、そうとは知らずに利用者がダウンロードし、実行
してしまう可能性がある。
【0009】一方、開かれたネットワークとは異なり、
流通するコンテンツをダウンロードする際に、コンテン
ツの暗号化やコンテンツをダウンロードする際の利用者
の認証情報の確認などの必要を課すことによって、上記
の1.2.3.の点を保証するネットワークも存在す
る。この性質を持つネットワークを「閉じられたネット
ワーク」と呼ぶことにする。
【0010】家電機器には一般的に高い信頼性・安全性
が求められており、家電機器に対するプログラム配信の
際には、信頼できる配信元が作成した安全なプログラム
のみがダウンロードされることが求められる。
【0011】加えて家電機器に対するプログラム配信に
は、しばしば課金やデータの保護などが安全・正確に行
われることが必要である。これを実現するには開かれた
ネットワークでは不充分である。これらの観点から、家
電機器に対するコンテンツの配信は、閉じられたネット
ワークが使用されることが望ましい。
【0012】実際、現行の家電機器向けを想定したネッ
トワークは、何らかの手段によって上記の1.2.3.
の点を保証した、閉じられたネットワークであるものが
殆どである。
【0013】例えば現行の電話を用いた各種のサービス
も、電話のネットワークを利用し、通話によるネットワ
ークの利用に伴う課金を正確に行なう必然性から、その
サービスは閉じられたネットワークで実施されている。
もちろん、コンテンツに暗号化等の処理を加えることに
より、より強固で安全なネットワークとすることも可能
である。
【0014】
【発明が解決しようとする課題】しかしながら近年、家
電機器分野においても、インターネットに接続可能な携
帯電話などのサービスに代表されるように、開かれたネ
ットワーク環境に接続することが、一部の機器では可能
になりつつある。インターネットに代表される開かれた
ネットワークと、家電機器との親和性は、今後さらに高
まっていくであろうことが予想される。
【0015】このような状況においては先に述べたよう
に、閉じられたネットワークを用い、信頼できる発信元
からのみ、保証されたプログラムをダウンロードし実行
することを、家電機器に遵守させることは難しくなる。
【0016】一つの解決策は、プログラムを解釈実行す
る実行環境のほうに、プログラムが危険なものでないか
どうかを検査する検証機構を持たせる、というものであ
る。
【0017】この解決策をとっている代表的なアーキテ
クチャにはJavaがある。
【0018】開発言語としてのJava言語は、オブジ
ェクト指向言語としての開発効率の高さ、バグが出難い
言語仕様、移植性の容易さ、既存の開発環境の豊富さ、
など多くの優れた点を持っている。
【0019】さらにJavaアーキテクチャは、Jav
a仮想マシンというインタプリタ機構によりプログラム
を解釈実行する、という仕組みを持ち、機器のハードウ
ェアやOSに依存しないプログラムを開発できるため、
家電分野においてプログラム配信を実現するのに有望な
アーキテクチャとみなされている。
【0020】Javaは、ネットワークを用いたプログ
ラム(コンテンツ)配信の際に、セキュリティに関して
高い安全性を保持していることでも知られている。具体
的にはJavaは、以下のような検証機構を持ってい
る。
【0021】(LauraLemay,charles
L.Perkins,”TeachYourselfJ
avain21days”PrenticeHall,
1996)1.Java言語そのものが安全性の高い言
語仕様を持っており、Java言語によって悪意ある変
造コードを作成することは困難になっている。例えば、
メモリに対する参照値などを、プログラマは直接操作す
ることはできない。2.Java仮想マシンは、実行形
式(Javaクラスファイル)が正しい規則に沿って記
録されているかどうかを検証する機構を備える。これに
より、変造された実行形式を実行解釈することを、Ja
va仮想マシンは拒絶する。3.仮想マシンのプログラ
ム・ローダは記憶範囲をグループ別に管理しており、
「保護の弱い」記憶範囲に記録されたクラスファイル
(実行形式)が、「より保護の強い」記憶範囲に記録さ
れたクラスファイルを侵害したり、許可なく参照したり
することはできない。例えば、インターネットから配信
されたクラスファイルが、ローカルな領域に記録されて
いたクラスファイルに、許可なく置き換えられたりする
ことはない。4.JavaAPIが提供する機能群は、
プログラムが破壊的な動作を行なえないように設計され
ている。
【0022】以上のようにJavaは、開発言語からプ
ログラム実行系までの各レベルにおいて、強固な検証機
構を有しているが、このような機能を持たせたため、J
ava仮想マシンはその動作のために多大な使用メモリ
量と高性能のプロセッサを必要としている。
【0023】例えば2を実現するために、仮想マシンは
実行形式中のJavaの命令コードに対してフロー解析
(A.Aho,R.Sethi,J.Ullman,”
compilerPrinciples,Techin
iques,andTools”,Addison−W
seley,1986)を行わなければならず、これは
Java仮想マシンの実装コードサイズと使用メモリ量
の増大を招く(試算によると、2.の検証機構を備えな
い場合の総使用メモリ量と比較して、1.5〜3.0倍
増大する)。
【0024】さらにこれらの検証処理は、プログラムの
実行中にもしばしば発生するものであるため、Java
仮想マシンの処理の負荷を大きくし、高速にプログラム
を動作させることへの妨げにもなる。
【0025】家電機器分野ではコストに対する要求は非
常に厳しく、コンピューティング分野以上に省資源・低
コスト・低消費電力が強く要求されるものが大多数であ
る。
【0026】例えば家電機器にJavaを搭載させるア
プローチの代表的なものに、サンマイクロシステムズが
家電組み込み向けに作成した仕様であるEmbedde
dJavaアーキテクチャがあるが、プログラムの動作
のためには最低、RAM512Kバイト、ROM512
Kバイト、25MHz以上のCPUを必要としている
(DeepakMulchandani,”Javaf
orEmbeddedSystems”,IEEEIN
TERNETCOMPUTING,Mayナune19
98)。これはハイエンドの情報家電機器に対して搭載
可能、というレベルを実現したに留まるものであり、必
要メモリ量は依然として一般の家電機器にとっては大き
なサイズである。
【0027】特に、携帯電話や白物家電などには、低動
作周波数の8/16bitマイコンや、数十KB程度の
メモリしか搭載しないものが主流であり、このような機
器に対してはEmbeddedJavaを適用すること
は不可能である。
【0028】以上に示される通り、Javaに代表され
るような、検証機構を実行環境に搭載してネットワーク
を流れるプログラムの安全性を保証するというアプロー
チは、一般の家電機器全般に適用するには非常に困難で
ある。
【0029】本発明は、プログラム配信のためのネット
ワーク機能を備えた家電機器における問題である、ダウ
ンロードしたプログラムの安全性・秘匿性・完全性の保
証を、可能な限り低コストで簡便に実現するための手段
を提供するものである。
【0030】
【課題を解決するための手段】本発明の装置は、外部伝
送路を通して、プログラムと、プログラムの発信元の識
別情報を受信する。装置は受信した識別情報を判定し、
その結果により、プログラムが安全なものであるか、そ
れとも安全性の保障できない、実行環境とユーザに危険
を及ぼす可能性のあるものであるか、を判断する。
【0031】安全と判断したプログラムに対しては、解
釈実行を許可する。この解釈実行の手段はプログラムに
対して特別に検証機構による処理を必要としないものを
想定している。
【0032】よってプログラムを、使用メモリ量を少な
く抑えたまま、高速に動作させることができる。
【0033】安全性が保証できないプログラムに対して
は、本発明は以下のような対処方法を提供している。
【0034】1)安全性が保証できないプログラムは一
切解釈実行させない。
【0035】この方法を取る場合、プログラム実行装置
は危険なプログラムを一切動作させないため、検証機構
を備える必要はない。プログラムの解釈実行のために必
要な資源量は小さく抑えたまま、安全と判断されたプロ
グラムは全て高速に動作させることができる。
【0036】2)ユーザによって与えられた、プログラ
ムの解釈実行を許可する、あるいは禁止する、のいずれ
かを示す情報を元に、プログラムの解釈実行を決定す
る。
【0037】この方法を取る場合、プログラム実行装置
は安全性が保証できないプログラムを動作させるかどう
かをユーザの判断に任せる。
【0038】本来家電機器はその特徴上、信頼できる特
定の(おそらくは機器を製造したメーカーの保証を受け
た)発信元からのみ、プログラムをダウンロードし実行
することを推奨するものである。そのような背景におい
ても、ユーザが開かれたネットワークから、プログラム
(コンテンツ)のダウンロードを行うというのは、例外
的な状況下においてであると考えられる。
【0039】つまり、ユーザにとって何らかの理由によ
って有益と思われるプログラム・コンテンツを、その機
器を使用して獲得したい場合である。
【0040】開かれたネットワークから、プログラム
(コンテンツ)を獲得する場合、ユーザはそのダウンロ
ード対象プログラム・コンテンツが安全なものであると
の知識を持っていることが前提であり、ユーザは自己の
責任においてその行為を行わなければならない。
【0041】2)の方法は、そのユーザの判断を、プロ
グラム実行装置に反映させる方式である。
【0042】プログラムはユーザの自己責任によってプ
ログラムを解釈実行させるため、検証処理は行われない
ことが前提となり、プログラムの解釈実行のために必要
な資源量は小さく抑えたまま、プログラムを高速に動作
させることができる。
【0043】3)ダウンロードしたプログラムが危険な
ものである可能性があることをユーザに知らせた後、
2)を行う。
【0044】2)と同じであるがプログラムを動作させ
る前に、判断を促すための通告をユーザに対して行うこ
とができる。
【0045】ユーザはそれを用い、より正確な判断で、
プログラムの解釈実行の許可や禁止の情報を装置に対し
て与えることができる。
【0046】4)プログラム実行装置に、プログラムの
解釈実行のための、従来とは別の第2の手段を用意し、
安全性が保証できないプログラムはその第2の手段によ
り実行することにする。
【0047】安全性が保障されるプログラムとされない
プログラムの解釈実行のための手段を分離する方法であ
る。
【0048】この場合、安全性が保証されないプログラ
ムを解釈実行する手段は、検証処理を動作させつつプロ
グラムを解釈実行すること、あるいは、プログラム実行
装置の他の手段には影響を与えず独立して存在している
ことが望ましい。
【0049】これにより、安全なプログラムを高速に動
作させることを保証したまま、危険なプログラムもまた
動作させることができる。5)2)と4)の方式を同時
にとるもの6)3)と4)の方式を同時にとるもの本発
明はこれらの手段を、プログラムを実行する機器に対し
て提供するものである。
【0050】
【発明の実施の形態】本発明は、外部伝送路に接続され
たプログラム実行環境全般に適用可能なものであるが、
特に省資源・低コストが要求される家電機器への適用を
強く意図したものである。
【0051】ここでは特に、ディスプレイを装備したイ
ンターネットに接続可能な携帯端末に対して、本発明を
適用した例を適宜加えながら、説明を行っていく。
【0052】以下、本発明の実施の形態について、図面
を用いて説明する。
【0053】まず図1は、請求項1に記載のプログラム
実行装置の構成を示したものである。
【0054】図1の装置の処理のフローチャートを図5
に示す。
【0055】これらについて順に説明していく。
【0056】外部伝送路101から受信する、プログラ
ム102と識別情報103は、例えばインターネットな
どのネットワークを通じてダウンロードする。
【0057】プログラムは、装置が備える実行系により
解釈実行が可能な形式を持ったデータとして獲得するこ
とができる。例えば装置がJava仮想マシンを備えて
いるならば、その装置はJavaの実行形式であるJa
vaクラスファイルが実行可能であるため、Javaク
ラスファイルを外部伝送路を通じてダウンロードする。
【0058】識別情報とは、プログラムをダウンロード
する時に、例えば、その発信元が特定されるものである
とする。本実施例では、説明を簡単にするために、これ
をプログラムの名前で代用する。もちろん他の情報であ
ってもよい。
【0059】識別情報として用いることが可能なもの
に、例えば、インターネットに接続した機器に固有に割
り振られるIPアドレスや、Web,FTP,Goph
er,News,TELNETなどの情報を指定する世
界共通で一意なアドレスであるURL(Uniform
ResourceLocator)がある。
【0060】米国NetscapeCommunica
tionsCorporationによるSSL(Se
cureSocketsLayer)プロトコルでは、
相手の認証や使用する暗号やデジタル署名のアルゴリズ
ムなどに関するネゴシエーションを行ない,相互に認証
してから,データの送受信を行っているが、もちろんS
SLに使用されるものに代表される暗号化された署名を
識別情報とすることも可能である。もちろん、識別情報
は上記に挙げたもの以外のものであってもよい。
【0061】図5において最初の処理であるP105で
は、識別情報103を解読し、識別情報が、信頼された
プログラム発信元を示しているか否かを判定する。
【0062】これは図1における、プログラム発信先判
定手段105によって行われる処理である。
【0063】この処理P105の具現は、何らかの形で
識別情報を解釈して、その信頼性を判定できる必要があ
る。例えば以下のような形で、これを実現することがで
きる。
【0064】プログラム発信先判定手段105は、信頼
できる発信元を示した全ての識別情報を記録したデータ
を保持している。信頼できるか否かの判定は、ダウンロ
ードしてきた識別情報をこのデータと照合し、識別情報
がデータに登録されているなら、この識別情報は信頼で
きると判定し、登録されていないなら信頼できないと判
定する。
【0065】識別情報として、SSLプロトコルで用い
られるような暗号化された署名を用いている場合には、
プログラム発信先判定手段105は、暗号の解読に成功
するか否かによって、識別情報を信頼できるかできない
かを決定することもできる。もちろん、信頼性の判定は
他の手段で行うこともできる。
【0066】処理P104は、プログラム102を解釈
実行する。
【0067】これは図1における、プログラム解釈実行
手段104によって行われる処理である。
【0068】本発明の備えるプログラム解釈実行手段1
04は、プログラムを解釈実行することが可能な環境が
備える、従来の実行系と同じ仕組みであり、従来と同様
にプログラムの実行解釈を行う。
【0069】処理P106は、プログラム102がプロ
グラム解釈実行手段104によって解釈実行されるのを
禁止する。
【0070】これは図1における、プログラム解釈実行
禁止手段106によって行われる処理である。
【0071】プログラム解釈実行禁止手段106の実現
には、例えば以下のようなものが考えられる。
【0072】プログラム解釈実行禁止手段106は内部
に、図9に示されるテーブルを保持する。
【0073】このテーブルのエントリは、ダウンロード
したプログラムの識別子と、それに対応する、プログラ
ムの状態を示す値とで構成される。プログラムの状態を
示す値は、permitedもしくはforbiden
という2値のどちらかを取る。テーブルに記録される時
の初期状態はpermittedであるとする。
【0074】プログラム解釈実行手段104は、解釈実
行を始める前に図9のテーブルを参照して、解釈実行し
ようとするプログラムの識別子を検索する。該当するプ
ログラムの識別子のエントリの、プログラムの状態を示
す値がforbiddenであるか、あるいはエントリ
がテーブルにない場合には、そのプログラムの解釈実行
を開始しないことにする。
【0075】この場合、処理P106は、該当するプロ
グラムの識別子のエントリの、プログラムの状態を示す
値をforbiddenに変更することによって実現で
きる。
【0076】ここではプログラム解釈実行禁止手段10
6の実現にテーブルを用いて実施例を示したが、もちろ
んテーブル以外の構造、例えばリスト、木、ハッシュを
用いて実現することも可能である。
【0077】処理P104、あるいは処理P106が終
了すると、図1で行われる処理全体が完了する。
【0078】図2は、請求項5記載のプログラム実行装
置の構成を示したものである。
【0079】図2から、プログラム解釈実行許可確認手
段107を除いた図面が、請求項2記載のプログラム実
行装置の構成を示すものになる。
【0080】図2の装置の処理のフローチャートを図6
に示す。
【0081】図6において、P207の処理を「何もし
ない」に置き換えたものが、請求項2記載の装置の処理
のフローチャートになる。
【0082】これらについて順に説明していく。
【0083】外部伝送路101から受信する、プログラ
ム102および識別情報103は、先に説明したものと
同じである。
【0084】図6において最初の処理であるP205
は、図2におけるプログラム発信先判定手段105によ
って行われる処理であり、先に説明したP105と同じ
処理を行う。
【0085】処理P207は、プログラムの実行を許可
するか否かをユーザに問い合わせる。
【0086】これは図2における、プログラム解釈実行
許可確認手段107によって行われる処理である。
【0087】例えばこれは、装置が備えるディスプレイ
に、図10のような表示を行うことで実現できる。
【0088】処理P209は、プログラムの実行を許可
するか否かを示す情報である、プログラム解釈実行許可
情報108を得る。
【0089】これは図2における、プログラム解釈実行
許可入力手段109によって行われる処理である。
【0090】装置のユーザは、処理P209が行われる
前に、何らかの意思表明を装置に対して行う。プログラ
ム解釈実行許可入力手段は、その意思表明を受け、装置
内部のデータとして、プログラム解釈実行許可情報10
8を生成する。
【0091】ユーザによる意思表明は、装置が備える入
力装置、例えばボタン、スイッチ、ダイヤル、マウス、
トラックボール、ジョイスティック、等による入力操作
の組み合わせによって、あるいはこれらの操作を何もし
ないことによってなされる。
【0092】例えば・ユーザは、”機能”ボタンを押し
た後、”0”ボタンを押す、という行為を、装置に対し
て行う。これによって装置は、全てのプログラムの実行
が許可されたという情報を得る。・ユーザは、ダイヤル
によって”maze.cj”という文字列をディスプレ
イ上で選択した後に、”1”ボタンを押す。これによっ
て装置は、”maze.cj”という識別名を持つプロ
グラムの実行が禁止されたという情報を得る。・ユーザ
は、処理P209が行われる前に、プログラムの実行の
許可/禁止を指示する特定の入力を、何ら装置に対して
与えなかったとする。これによって装置は、”maz
e.cj”という識別名を持つプログラムの実行が禁止
されたという情報を得る。
【0093】ユーザの意思表明は、処理P207と連携
して実施されても良い。例えば、・図10の表示が行な
われた後に、”0”ボタンを押す、という行為を、装置
に対して行う。これによって装置は、”maze.c
j”という識別名を持つプログラムの実行が許可された
という情報を得る。
【0094】ここでは”0”,”1”,”機能”という
ボタンとダイヤル操作の組み合わせによる実施例を示し
たが、もちろんボタンの種類や押す順番は上に挙げたも
の以外であっても良いし、入力装置の組み合わせも他の
ものであっても良い。
【0095】処理P206Aは、プログラム解釈実行許
可情報108を解釈して、ユーザがプログラム102の
実行を許可したか否かを判定する。
【0096】これは図2において、プログラム解釈実行
禁止手段106によって行われる処理である。
【0097】処理P204は、プログラム102を解釈
実行する。
【0098】これは図2における、プログラム解釈実行
手段104によって行われる処理であり、先に説明した
処理P104と同じものである。
【0099】処理P206Bは、プログラム102の解
釈実行を禁止する。
【0100】この処理は、図2のプログラム解釈実行禁
止手段106によって行われる処理であり、先に説明し
た処理P106と同じものである。
【0101】処理P204、あるいは処理P206Bが
終了すると、図2で行われる処理全体が完了する。
【0102】図3は、請求項3に記載のプログラム実行
装置の構成を示したものである。
【0103】図3の装置の処理のフローチャートを図7
に示す。
【0104】これらについて順に説明していく。
【0105】外部伝送路101から受信する、プログラ
ム102および識別情報103は、先に説明したものと
同じである。
【0106】図7において最初の処理であるP305
は、図3におけるプログラム発信先判定手段105によ
って行われる処理であり、先に説明したP105と同じ
処理を行う。
【0107】処理P304は、プログラム102をプロ
グラム解釈実行手段104によって実行する。
【0108】これは図3における、プログラム解釈実行
選択手段111と、プログラム解釈実行手段104によ
って行われる処理である。
【0109】処理P310は、プログラム102をプロ
グラム解釈実行副手段110によって実行する。
【0110】これは図3における、プログラム解釈実行
選択手段111と、プログラム解釈実行副手段110に
よって行われる処理である。
【0111】プログラム解釈実行副手段110は、プロ
グラムを解釈実行することが可能な環境が備える、従来
の実行系と同じ仕組みであり、従来と同様にプログラム
の実行解釈を行うが、これはプログラム解釈実行手段1
04とは別の手段として装置内部に実現される。
【0112】プログラム解釈実行選択手段111の実現
には、例えば以下のようなものが考えられる。
【0113】プログラム解釈実行選択手段111は内部
に、図11に示されるテーブルを保持する。
【0114】このテーブルのエントリは、ダウンロード
したプログラムの識別子と、それに対応する、プログラ
ムの状態を示す値とで構成される。
【0115】プログラムの状態を示す値は、sucur
edもしくはunsecuredという2値のどちらか
を取る。
【0116】プログラムの実行の前に、プログラム解釈
実行選択手段111は、プログラム発信先判定手段10
5の判定結果によって、信頼された発信元からのプログ
ラムであればsecuredを、そうでなければuns
ecuredを記録する。
【0117】プログラム解釈実行手段104は、解釈実
行を始める前に図11のテーブルを参照して、解釈実行
しようとするプログラムの識別子を検索する。該当する
プログラムの識別子のエントリの、プログラムの状態を
示す値がsecuredである場合にのみ、そのプログ
ラムの解釈実行を開始する。
【0118】プログラムの状態を示す値がunsecu
redであるか、あるいはエントリがテーブルにない場
合には、そのプログラムの解釈実行はプログラム解釈実
行副手段110によって実行される。
【0119】ここではプログラム解釈実行選択手段11
1の実現にテーブルを用いて実施例を示したが、もちろ
んテーブル以外の構造、例えばリスト、木、ハッシュを
用いて実現することも可能である。
【0120】処理P304、あるいは処理P310が終
了すると、図3で行われる処理全体が完了する。
【0121】図4は、請求項5記載のプログラム実行装
置の構成を示したものである。
【0122】図4から、プログラム解釈実行許可確認手
段107を除いた図面が、請求項4記載のプログラム実
行装置の構成を示すものになる。
【0123】図4の装置の処理のフローチャートを図8
に示す。
【0124】図8において、P407の処理を「何もし
ない」に置き換えたものが、請求項4記載の装置の処理
のフローチャートになる。
【0125】これらについて順に説明していく。
【0126】外部伝送路101から受信する、プログラ
ム102および識別情報103の説明は、先に説明した
ものと同じである。
【0127】図8において最初の処理であるP405
は、図4におけるプログラム発信先判定手段105によ
って行われる処理であり、先に説明したP105と同じ
処理を行う。
【0128】処理P407は、プログラムの実行を許可
するか否かをユーザに問い合わせる。
【0129】これは図4における、プログラム解釈実行
許可確認手段107によって行われる処理であり、先に
説明したP207と同じ処理を行う。
【0130】処理P409は、プログラムの実行を許可
するか否かを示す情報である、プログラム解釈実行許可
情報108を得る。
【0131】これは図4における、プログラム解釈実行
許可入力手段109によって行われる処理であり、先に
説明したP209と同じ処理を行う。
【0132】処理P406Aは、プログラム解釈実行許
可情報108を解釈して、ユーザがプログラム102の
実行を許可したか否かを判定する。
【0133】これは図4において、プログラム解釈実行
禁止手段106によって行われる処理である。
【0134】処理P404は、プログラム102をプロ
グラム解釈実行手段104によって実行する。
【0135】これは図4における、プログラム解釈実行
禁止選択手段112と、プログラム解釈実行手段104
によって行われる処理である。
【0136】処理P410は、プログラム102をプロ
グラム解釈実行副手段110によって実行する。
【0137】これは図4における、プログラム解釈実行
禁止選択手段112と、プログラム解釈実行副手段11
0によって行われる処理である。
【0138】処理P406Bは、プログラム102の解
釈実行を禁止する。
【0139】この処理は、図4のプログラム解釈実行禁
止選択手段112によって行われる処理である。
【0140】プログラム解釈実行禁止選択手段112の
実現には、例えば以下のようなものが考えられる。
【0141】プログラム解釈実行禁止選択手段112は
内部に、図12に示されるテーブルを保持する。このテ
ーブルのエントリは、ダウンロードしたプログラムの識
別子と、それに対応する、プログラムの状態を示す値と
で構成される。
【0142】プログラムの状態を示す値は、sucur
edもしくはpermittedもしくはforbid
denという3つの値のいずれかを取る。ここではエン
トリに最初に記録されるときの初期値はsecured
であるとする。
【0143】処理P406Aにおいて、プログラム解釈
実行選択手段111は、プログラム解釈実行許可情報1
08を解釈して、ユーザが実行を許可していれば、プロ
グラムの状態を示す値にpermittedを、そうで
なければforbiddenを記録する。
【0144】プログラム解釈実行手段104は、プログ
ラム102の解釈実行を始める前に図11のテーブルを
参照して、解釈実行しようとするプログラムの識別子を
検索する。該当するプログラムの識別子のエントリの、
プログラムの状態を示す値がsecuredである場合
にのみ、そのプログラムの解釈実行を開始する。
【0145】プログラムの状態を示す値がpermit
tedである場合には、プログラム102はプログラム
解釈実行副手段110によって解釈実行される。
【0146】プログラムの状態を示す値がforbid
denであるか、あるいはエントリがテーブルにない場
合には、プログラム102は解釈実行されない。
【0147】ここではプログラム解釈実行禁止選択手段
112の実現にテーブルを用いて実施例を示したが、も
ちろんテーブル以外の構造、例えばリスト、木、ハッシ
ュを用いて実現することも可能である。
【0148】処理P404、あるいは処理P410、あ
るいは処理P406Bが終了すると、図4で行われる処
理全体が完了する。
【0149】以上が本発明の実施の形態である。
【0150】
【発明の効果】以上のように本発明は、外部伝送路を通
して、プログラムと、プログラムの発信元の識別情報を
受信し、その識別情報が、信頼できる発信元を示してい
るかどうかを判定する。
【0151】判定の結果、信頼できる発信元のものであ
ることが判別できない場合、実行環境は、そのことをユ
ーザ(実行環境の使用者)に知らせ、ユーザによって与
えられた情報を元に、プログラムの解釈実行を決定す
る。もしくは、従来の解釈実行手段とは異なる、第2の
解釈実行手段によって、そのプログラムを解釈実行す
る。
【0152】このような機構を設けることにより、プロ
グラムを実行する装置は、安全であると保証されるプロ
グラムは従来通り、使用資源が少なくかつ高速な解釈実
行を行うことができる。かつダウンロードしたプログラ
ムの安全性・秘匿性・完全性の保証を、装置の低コスト
・省資源性を保ったまま行うことができる。
【図面の簡単な説明】
【図1】本発明のプログラム実行装置の構成例を示す図
【図2】本発明のプログラム実行装置の構成例を示す図
【図3】本発明のプログラム実行装置の構成例を示す図
【図4】本発明のプログラム実行装置の構成例を示す図
【図5】本発明のプログラム実行装置の動作例を示すフ
ローチャート
【図6】本発明のプログラム実行装置の動作例を示すフ
ローチャート
【図7】本発明のプログラム実行装置の動作例を示すフ
ローチャート
【図8】本発明のプログラム実行装置の動作例を示すフ
ローチャート
【図9】プログラム解釈実行禁止手段の構成例を示す図
【図10】プログラム解釈実行許可確認手段による表示
例を示す図
【図11】プログラム解釈実行選択手段の構成例を示す
【図12】プログラム解釈実行禁止選択手段の構成例を
示す図
【符号の説明】
101 通信伝送路 102 プログラム 103 識別情報 104 プログラム解釈実行手段 105 プログラム発信先判定手段 106 プログラム解釈実行禁止手段

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 外部伝送路を通して送信される、プログ
    ラムと外部伝送路を通して送信される、プログラムの発
    信元の識別情報とを入力とする、プログラム実行装置で
    あり、 プログラム実行装置は、 プログラムを解釈実行する手段である、プログラム解釈
    実行手段と、 識別情報が、信頼されたプログラム発信元を示すもので
    あるか否かを判定する手段である、プログラム発信先判
    定手段と、 プログラム解釈実行禁止手段と、 からなり、 プログラム発信先判定手段の判定に従って、プログラム
    解釈実行禁止手段は、プログラム解釈実行手段がプログ
    ラムを解釈実行するのを禁止することを特徴とする、プ
    ログラム実行装置。
  2. 【請求項2】 外部伝送路を通して送信される、プログ
    ラムと外部伝送路を通して送信される、プログラムの発
    信元の識別情報とを入力とする、プログラム実行装置で
    あり、 プログラム実行装置は、 前記プログラム解釈実行手段と、 前記プログラム発信先判定手段と、 前記プログラム解釈実行禁止手段と、 プログラムの解釈実行を許可する、あるいは、禁止す
    る、のいずれかを示す、解釈実行許可情報を、ユーザが
    入力する手段である、プログラム解釈実行許可入力手段
    と、 からなり、 解釈実行許可情報に従って、プログラム解釈実行禁止手
    段は、プログラム解釈実行手段がプログラムを解釈実行
    するのを禁止することを特徴とする、プログラム実行装
    置。
  3. 【請求項3】 外部伝送路を通して送信される、プログ
    ラムと外部伝送路を通して送信される、プログラムの発
    信元の識別情報とを入力とする、プログラム実行装置で
    あり、 プログラム実行装置は、 前記プログラム解釈実行手段と、 プログラムを解釈実行する第2の手段である、プログラ
    ム解釈実行副手段と、 前記プログラム発信先判定手段と、 プログラム解釈実行選択手段と、 からなり、 プログラム発信先判定手段の判定に従ってプログラム解
    釈実行選択手段が、プログラムがプログラム解釈実行手
    段で実行されるのを許可するかあるいは禁止するかを選
    択して、プログラムがプログラム解釈実行手段で実行さ
    れるのを禁止する場合には、プログラムをプログラム解
    釈実行手段副手段で実行させることを特徴とする、プロ
    グラム実行装置。
  4. 【請求項4】 外部伝送路を通して送信される、プログ
    ラムと外部伝送路を通して送信される、プログラムの発
    信元の識別情報とを入力とする、プログラム実行装置で
    あり、 プログラム実行装置は、 前記プログラム解釈実行手段と、 前記プログラム解釈実行副手段と、 前記プログラム発信先判定手段と、 プログラムの解釈実行を許可する、あるいは、禁止す
    る、のいずれかを示す、前記解釈実行許可情報を、ユー
    ザが入力する手段である、前記プログラム解釈実行許可
    入力手段と、 プログラム解釈実行禁止選択手段と、 からなり、 プログラム発信先判定手段の判定結果が是である場合に
    は、プログラム解釈実行禁止選択手段は、プログラム解
    釈実行手段がプログラムを解釈実行することを許可し、 プログラム発信先判定手段の判定結果が非である場合に
    は、プログラム解釈実行禁止選択手段は、プログラム解
    釈実行手段がプログラムを解釈実行することを禁止する
    ことを特徴とし、 プログラム発信先判定手段の判定結果が非である場合に
    は、プログラム解釈実行禁止選択手段はは前記解釈実行
    許可情報に従って、プログラム解釈実行副手段がプログ
    ラムを解釈実行することを許可する、あるいは禁止す
    る、のいずれかを選択することを特徴とする、プログラ
    ム実行装置。
  5. 【請求項5】 プログラム発信先判定手段の判定結果が
    否である場合、プログラムの解釈実行を許可するか否か
    をユーザに問い合わせる手段である、プログラム解釈実
    行許可確認手段を備えることを特徴とした、請求項2お
    よび請求項4のプログラム実行装置。
  6. 【請求項6】 識別情報はIPアドレスを含み、プログ
    ラム発信先判定手段は、IPアドレスを用いて判定を行
    うことを特徴とする、請求項1、2、3、4、5記載の
    プログラム実行装置。
  7. 【請求項7】 識別情報はURLを含み、プログラム発
    信先判定手段105は、URLを用いて判定を行うこと
    を特徴とする、請求項1、2、3、4、5記載のプログ
    ラム実行装置。
  8. 【請求項8】 識別情報は暗号化された署名を含み、プ
    ログラム発信先判定手段は、暗号化された署名を用いて
    判定を行うことを特徴とする、請求項1、2、3、4、
    5記載のプログラム実行装置。
JP29775999A 1999-10-20 1999-10-20 プログラム実行装置 Pending JP2001117769A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29775999A JP2001117769A (ja) 1999-10-20 1999-10-20 プログラム実行装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29775999A JP2001117769A (ja) 1999-10-20 1999-10-20 プログラム実行装置

Publications (1)

Publication Number Publication Date
JP2001117769A true JP2001117769A (ja) 2001-04-27

Family

ID=17850815

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29775999A Pending JP2001117769A (ja) 1999-10-20 1999-10-20 プログラム実行装置

Country Status (1)

Country Link
JP (1) JP2001117769A (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003058411A1 (fr) * 2002-01-08 2003-07-17 Ntt Docomo, Inc. Procede d'administration de contenu et systeme d'administration de contenu et systeme d'administration de contenu
WO2003098432A1 (en) * 2002-05-20 2003-11-27 Ntt Docomo, Inc. Portable terminal, method, program, and storage medium for managing application start
JP2005173939A (ja) * 2003-12-10 2005-06-30 Ntt Docomo Inc 電子機器、受信装置およびプログラム
JP2006514763A (ja) * 2002-12-31 2006-05-11 モトローラ・インコーポレイテッド 通信デバイスへの接続を許可する分散認証システム及び方法
JP2006344146A (ja) * 2005-06-10 2006-12-21 Konica Minolta Business Technologies Inc アプリケーション開発用プログラムおよび画像処理装置
JP2007528064A (ja) * 2004-03-01 2007-10-04 クゥアルコム・インコーポレイテッド 無線装置オペレーティング環境における未検証プログラムの実行
JP2008500653A (ja) * 2004-06-29 2008-01-10 インテル・コーポレーション サンドボックス法によるコンピュータセキュリティ向上方法
JPWO2006003875A1 (ja) * 2004-06-30 2008-04-17 松下電器産業株式会社 プログラム実行機器およびそのプログラム実行方法
US7395049B2 (en) 2003-03-03 2008-07-01 Nokia Corporation Security element commanding method and mobile terminal
US7558963B2 (en) 2003-03-31 2009-07-07 Ntt Docomo, Inc. Communication device and program
US7587592B2 (en) 2002-04-03 2009-09-08 Ntt Docomo, Inc. Distribution method, distribution system, and terminal device
US8396939B2 (en) 2007-02-14 2013-03-12 Ntt Docomo, Inc. Content distribution management device, terminal, program, and content distribution system
US8490183B2 (en) 2004-02-05 2013-07-16 Trend Micro Incorporated Security ensuring by program analysis on information device and transmission path

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1091427A (ja) * 1996-06-11 1998-04-10 Internatl Business Mach Corp <Ibm> 署名入り内容の使用の安全を保証する方法及びシステム
WO1998021683A2 (en) * 1996-11-08 1998-05-22 Finjan Software, Ltd. System and method for protecting a computer and a network from hostile downloadables
WO1998044404A1 (en) * 1997-04-01 1998-10-08 Sun Microsystems, Inc. Method and apparatus for providing security for servers executing application programs received via a network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1091427A (ja) * 1996-06-11 1998-04-10 Internatl Business Mach Corp <Ibm> 署名入り内容の使用の安全を保証する方法及びシステム
WO1998021683A2 (en) * 1996-11-08 1998-05-22 Finjan Software, Ltd. System and method for protecting a computer and a network from hostile downloadables
WO1998044404A1 (en) * 1997-04-01 1998-10-08 Sun Microsystems, Inc. Method and apparatus for providing security for servers executing application programs received via a network

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003058411A1 (fr) * 2002-01-08 2003-07-17 Ntt Docomo, Inc. Procede d'administration de contenu et systeme d'administration de contenu et systeme d'administration de contenu
US8281391B2 (en) 2002-01-08 2012-10-02 Ntt Docomo, Inc. Contents transmission method and contents transmission system
CN1300653C (zh) * 2002-01-08 2007-02-14 株式会社Ntt都科摩 内容传送方法和内容传送系统
US8015616B2 (en) 2002-01-08 2011-09-06 Ntt Docomo, Inc. Contents transmission method and contents transmission system
US7530114B2 (en) 2002-01-08 2009-05-05 Ntt Docomo, Inc. Content delivery method and content delivery system
US7587592B2 (en) 2002-04-03 2009-09-08 Ntt Docomo, Inc. Distribution method, distribution system, and terminal device
WO2003098432A1 (en) * 2002-05-20 2003-11-27 Ntt Docomo, Inc. Portable terminal, method, program, and storage medium for managing application start
US8744424B2 (en) 2002-05-20 2014-06-03 Ntt Docomo, Inc. Portable terminal, methods, programs and storage media for program startup management
CN100336018C (zh) * 2002-05-20 2007-09-05 株式会社Ntt都科摩 用于对应用启动进行管理的便携式终端和方法
JP2006514763A (ja) * 2002-12-31 2006-05-11 モトローラ・インコーポレイテッド 通信デバイスへの接続を許可する分散認証システム及び方法
US7395049B2 (en) 2003-03-03 2008-07-01 Nokia Corporation Security element commanding method and mobile terminal
US7558963B2 (en) 2003-03-31 2009-07-07 Ntt Docomo, Inc. Communication device and program
JP4580164B2 (ja) * 2003-12-10 2010-11-10 株式会社エヌ・ティ・ティ・ドコモ 電子機器およびプログラム
JP2005173939A (ja) * 2003-12-10 2005-06-30 Ntt Docomo Inc 電子機器、受信装置およびプログラム
US8490183B2 (en) 2004-02-05 2013-07-16 Trend Micro Incorporated Security ensuring by program analysis on information device and transmission path
JP2007528064A (ja) * 2004-03-01 2007-10-04 クゥアルコム・インコーポレイテッド 無線装置オペレーティング環境における未検証プログラムの実行
US8549166B2 (en) 2004-03-01 2013-10-01 Qualcomm Incorporated Execution of unverified programs in a wireless, device operating environment
JP2008500653A (ja) * 2004-06-29 2008-01-10 インテル・コーポレーション サンドボックス法によるコンピュータセキュリティ向上方法
US7908653B2 (en) 2004-06-29 2011-03-15 Intel Corporation Method of improving computer security through sandboxing
JPWO2006003875A1 (ja) * 2004-06-30 2008-04-17 松下電器産業株式会社 プログラム実行機器およびそのプログラム実行方法
JP4682139B2 (ja) * 2004-06-30 2011-05-11 パナソニック株式会社 プログラム実行機器およびそのプログラム実行方法
JP2006344146A (ja) * 2005-06-10 2006-12-21 Konica Minolta Business Technologies Inc アプリケーション開発用プログラムおよび画像処理装置
US8396939B2 (en) 2007-02-14 2013-03-12 Ntt Docomo, Inc. Content distribution management device, terminal, program, and content distribution system

Similar Documents

Publication Publication Date Title
US9306933B2 (en) Ensuring network connection security between a wrapped app and a remote server
US8997208B2 (en) Gateway device for terminating a large volume of VPN connections
US8990920B2 (en) Creating a virtual private network (VPN) for a single app on an internet-enabled device or system
EP2425367B1 (en) Method and apparatus for improving code and data signing
US9473298B2 (en) Simplifying IKE process in a gateway to enable datapath scaling using a two tier cache configuration
CN107426174B (zh) 一种可信执行环境的访问控制方法
US7565533B2 (en) Systems and methods for providing object integrity and dynamic permission grants
US9674173B2 (en) Automatic certificate enrollment in a special-purpose appliance
EP1564963B1 (en) System and method for protecting a computing device from computer exploits delivered over a networked environment in a secured communication
US9305163B2 (en) User, device, and app authentication implemented between a client device and VPN gateway
JP2001117769A (ja) プログラム実行装置
Akbanov et al. Static and dynamic analysis of WannaCry ransomware
JP2004302973A (ja) 端末装置及びプログラム
CN103034811B (zh) 一种文件处理的方法、系统及装置
JP5110082B2 (ja) 通信制御システム、通信制御方法および通信端末
Gallery et al. Trusted mobile platforms
JP5206677B2 (ja) 通信装置及び通信方法
Tao et al. Mobile trusted scheme based on holistic security service system
WO2010038726A1 (ja) 情報通知システム、情報通知方法、通信端末およびプログラム
CN108733989A (zh) 一种针对Android应用的通信协议加密方法
JP2004094723A (ja) ファイアウォール運用システム、ファイアウォール運用方法、および、ファイアウォール運用プログラム
de Hoz Diego et al. CMXsafe: A Proxy Layer for Securing Internet-of-Things Communications
Kirsch Improved kernel-based port-knocking in linux
Diego et al. CMXsafe: A Proxy Layer for Securing Internet-of-Things Communications
CN116866049A (zh) 隐藏真实用户标识的数据交互方法和系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060803

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060913

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091120

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20091119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091208

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100413