JP2004133793A - Operation analysis device, program development system, and operation analysis program - Google Patents

Operation analysis device, program development system, and operation analysis program Download PDF

Info

Publication number
JP2004133793A
JP2004133793A JP2002299261A JP2002299261A JP2004133793A JP 2004133793 A JP2004133793 A JP 2004133793A JP 2002299261 A JP2002299261 A JP 2002299261A JP 2002299261 A JP2002299261 A JP 2002299261A JP 2004133793 A JP2004133793 A JP 2004133793A
Authority
JP
Japan
Prior art keywords
program
information
encryption
modules
input
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
JP2002299261A
Other languages
Japanese (ja)
Inventor
Tanitake Hirano
平野 晋健
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing 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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2002299261A priority Critical patent/JP2004133793A/en
Publication of JP2004133793A publication Critical patent/JP2004133793A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an operation analysis device, a program development system, and an operation analysis program, preventing unlimited leak of technical knowhow to others, and avoiding unlimited use of a program. <P>SOLUTION: The operation analysis device 30 comprises a process content suggestion information extracting part 316 for extracting process content suggestion information for analyzing an execute form program. The operation analysis device 30 also comprises an input device 34 for inputting a second encryption having an execute form program and an access control key corresponding to a library module contained in the execute form program, a decode part 313 for decoding the second encryption, and an access authorization decision part 315 for determining, based on the decoded access control key and the user attribute identification information input from the outside, whether the output of the process content suggestion information of the library module corresponding to the access control key is authorized or not. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明はプログラムの動作を解析する動作解析装置並びに動作解析プログラム、及び、プログラムを開発するプログラム開発システムに関するものである。
【0002】
【従来の技術】
図10は、従来のプログラム開発システムを説明する図である。
図10に示すように、従来のプログラム開発システムおいて、ソフトウェア等のプログラムを作成するプログラム開発者は、先ず、プログラミング言語を用いて作成した一又は複数のモジュールを含むプログラムのソースコード(以下、「プログラムのソースコード」を「ソースコード」という。)をコンパイラ10−2によってプログラムのオブジェクトコード(以下、「プログラムのオブジェクトコード」を「オブジェクトコード」という。)へ翻訳(コンパイル)する。プログラム開発者は、同様に、ライブラリ開発者が開発したライブラリ131−2から取り出した必要な関数(サブルーチン)であるモジュール(以下、ライブラリから取り出したモジュールを「ライブラリモジュール」という。)のオブジェクトコードをリンカ20−2によって結合(リンク)し、実行形式プログラムを作成する。実行形式プログラムとは、ロード・モジュール等のコンピュータが実行可能な形式のプログラムである。
プログラム開発者は、デバッガ30−2によってこの実行形式プログラムを実行した場合の所定の処理時点におけるレジスタの値、その変化の履歴、プログラムカウンタの位置、その変化の履歴等のCPU及び周辺回路の動作状況等、実行形式プログラムの動作を解析するための処理内容示唆情報を抽出し、この実行形式プログラムの動作を検証(デバッグ)する(例えば、特許文献1)。
ライブラリとは、様々なプログラムで利用できるようにした汎用性の高い関数(サブルーチン)やデータの集まりであって、ライブラリモジュールは、複雑なハードウェアを制御し、上位のプログラムからの命令方法を簡略化する役割を担っており、プログラム開発の効率の向上に大きく貢献する(複雑なプログラム処理がライブラリとして提供されることもある)。つまり、処理速度の向上、ハードウェアへの読み書きの制御方法等、ライブラリモジュールには、ライブラリ開発者の技術的なノウハウが詰め込まれている。
【0003】
【特許文献1】
特開平9−305435号公報(第2頁−7頁、図1、図7)
【0004】
【発明が解決しようとする課題】
しかし、開発中のプログラムの動作を検証する場合に、プログラムの如何なる挙動も観測することができるため、プログラム開発者は、全てのライブラリモジュールの内部処理を観測することができ、ライブラリ開発者の技術的ノウハウがソフト開発者へ流出する可能性があった。
また、クロスコンパイラという概念によって、ライブラリ開発者が想定していない環境でライブラリモジュールが無制限に利用されるとともに、ノウハウが流出してしまう可能性があった。
一方、特開平10−198726公報に記載されている「集積回路の設計において複合機能ブロックを効率的に実装する方法及び装置」では、暗号化とパスワードの照合が成功した場合には、マクロテンプレートとのリンクと、その中身の参照等、動作及び性能の確認におけるマクロテンプレートの利用を許可するが、その中身(詳細)の参照についての制限をかけることが出来ず、利便性に欠けるという問題があった。
【0005】
本発明の課題は、ライブラリモジュール等のプログラムに含まれる技術的ノウハウの他者への無制限な流出及びプログラムの無制限な利用を防止することが可能な動作解析装置、プログラム開発システム及び動作解析プログラムを提供することである。
【0006】
【課題を解決するための手段】
本発明は、以下のような解決手段により、前記課題を解決する。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。すなわち、請求項1の発明は、結合された複数のモジュールを含む実行形式プログラムの動作を解析するために処理内容示唆情報を抽出する処理内容示唆情報抽出手段(316)を備える動作解析装置であって、前記実行形式プログラムと、この実行形式プログラムに含まれる一又は複数のモジュールに対応する一又は複数のアクセス制限情報とを含む暗号を入力する暗号入力手段(36)と、前記暗号入力手段によって入力される暗号を復号する復号手段(312)と、前記復号手段によって復号されるアクセス制限情報に基づいて、前記処理内容示唆情報抽出手段によって抽出される、前記アクセス制限情報が対応する一又は複数のモジュールについての処理内容示唆情報への外部からのアクセスを許可するか否かを判定するアクセス許否判定手段(315)とを備えること、を特徴とする動作解析装置(30)である。
【0007】
請求項2の発明は、請求項1に記載の動作解析装置において、外部から利用者の属性を識別するための利用者属性識別情報を入力する利用者属性識別情報入力手段(36)を備え、前記アクセス許否判定手段は、前記復号手段によって復号されるアクセス制限情報と、前記利用者属性識別情報入力手段によって入力される利用者属性識別情報とに基づいて判定を行うこと、を特徴とする動作解析装置(30)である。
【0008】
請求項3の発明は、請求項1又は請求項2に記載の動作解析装置において、前記暗号入力手段は、前記実行形式プログラムと、前記実行形式プログラムに含まれる一又は複数のライブラリモジュールに対応する一又は複数の出力制限情報とを含む暗号を入力し、前記アクセス許否判定手段は、前記復号手段によって復号される出力制限情報に基づいて、前記出力制限情報が対応する一又は複数のライブラリモジュールについての処理内容示唆情報の外部への出力を許可するか否かを判定すること、を特徴とする動作解析装置(30)である。
【0009】
請求項4の発明は、結合された複数のモジュールを含む実行形式プログラムの動作を解析するために処理内容示唆情報を抽出する処理内容示唆情報抽出手段を備える動作解析装置であって、一又は複数のモジュールと、この一又は複数のモジュールに対応する一又は複数のアクセス制御情報とを含む暗号を入力する暗号入力手段と、前記暗号入力手段によって入力される暗号を復号する復号手段と、前記復号手段によって復号された一又は複数のモジュールと、他の一又は複数のモジュールとを結合し、実行形式プログラムを作成する結合手段と、前記復号手段によって復号されたアクセス制限情報に基づいて、前記処理内容示唆情報抽出手段によって抽出される、前記アクセス制限情報が対応する一又は複数のモジュールについての処理内容示唆情報への外部からのアクセスを許可するか否かを判定するアクセス許否判定手段とを備えること、を特徴とする動作解析装置である。
【0010】
請求項5の発明は、請求項1から請求項3までのいずれか1項に記載の動作解析装置(30)と、複数のモジュールを結合して前記動作解析装置へ入力する実行形式プログラムを作成する結合装置(20)とを備えるプログラム開発システムであって、前記結合装置は、作成した前記実行形式プログラムに前記一又は複数のアクセス制限情報を付して暗号化する暗号化手段(211)を備え、前記動作解析装置の復号手段は、前記結合装置によって暗号化された実行形式プログラム、及び、一又は複数のアクセス制限情報を復号すること、を特徴とするプログラム開発システム(1)である。
【0011】
請求項6の発明は、請求項5に記載のプログラム開発システムにおいて、ソースコードのモジュールをオブジェクトコードのモジュールへ翻訳する翻訳手段(112)と、前記翻訳手段によって翻訳された一又は複数の前記オブジェクトコードのモジュールに、一又は複数の前記オブジェクトコードのモジュールに対応する一又は複数のアクセス制限情報を付して暗号化する暗号化手段(111)とを有する翻訳装置(10)を備え、前記結合装置は、前記翻訳装置の暗号化手段によって暗号化された一又は複数のモジュール、及び、一又は複数のアクセス制限情報を復号する復号手段(213)を備えること、を特徴とするプログラム開発システムである。
【0012】
請求項7の発明は、結合された複数のモジュールを含む実行形式プログラムの動作を解析するために処理内容示唆情報を抽出する処理内容示唆情報抽出手順(S330)をコンピュータに実行させる動作解析プログラムであって、前記実行形式プログラムと、この実行形式プログラムに含まれる一又は複数のモジュールに対応する一又は複数のアクセス制限情報とを含む暗号を入力する暗号入力手順(S310)と、前記暗号入力手順において入力した暗号を復号する復号手順(S320)と、前記復号手順において復号したアクセス制限情報に基づいて、前記処理内容示唆情報抽出手順において抽出した、前記アクセス制限情報が対応する一又は複数のモジュールについての処理内容示唆情報への外部からのアクセスを許可するか否かを判定するアクセス許否判定手順(S350)とを備えること、を特徴とする動作解析プログラムである。
【0013】
請求項8の発明は、請求項7に記載の動作解析プログラムにおいて、外部から利用者の属性を識別するための利用者属性識別情報を入力する利用者属性識別情報入力手順(S340)を備え、前記アクセス許否判定手順は、前記復号手順において復号したアクセス制限情報と、前記利用者属性識別情報入力手順において入力した利用者属性識別情報とに基づいて判定を行うこと、を特徴とする動作解析プログラムである。
【0014】
請求項9の発明は、請求項7又は請求項8に記載の動作解析プログラムにおいて、前記暗号入力手順は、前記実行形式プログラムと、前記実行形式プログラムに含まれる一又は複数のライブラリモジュールに対応する一又は複数の出力制限情報とを含む暗号を入力し、前記アクセス許否判定手順は、前記復号手順において復号した出力制限情報に基づいて、前記出力制限情報が対応する一又は複数のライブラリモジュールについての処理内容示唆情報の外部への出力を許可するか否かを判定すること、を特徴とする動作解析プログラムである。
【0015】
【発明の実施の形態】
以下、図面等を参照しながら、本発明の実施の形態について、更に詳しく説明する。
(実施形態)
図1は、本発明によるプログラム開発システムの実施形態を示すブロック図である。
なお、前述した従来例と同様の機能を果たす部分には、同一の符号を付して、重複する説明を適宜省略する。
図1に示すように、プログラム開発システム1は、ライブラリ開発者端末10、結合装置20及び動作解析装置30とを備えている。ライブラリ開発者端末10及び結合装置20間、結合装置20及び動作解析装置30間は、電話回線、光ケーブルその他の有線、又は、赤外線その他の無線の通信回線50を介した通信、フレキシブルディスク、コンパクトディスク等の携帯型の情報記憶媒体60による情報の授受が可能である。プログラム開発システム1は、複数のソースコードから実行形式プログラムを作成し、この実行形式プログラムの動作を解析するシステムである。また、プログラム開発システム1、つまり、ライブラリ開発者端末10、結合装置20及び動作解析装置30は、システム提供者によって実現され、管理されている。
【0016】
ライブラリ開発者端末10は、ライブラリ開発者が利用する情報処理端末であって、主にライブラリのソースコードをオブジェクトコードへ翻訳し、通信回線50、携帯型の情報記憶媒体60等を介して結合装置20へ提供する翻訳装置である。
結合装置20及び動作解析装置30は、ライブラリ利用者であって、プログラムを開発するプログラム開発者が利用する情報処理端末である。結合装置20は、プログラム開発者が開発したソースコードをオブジェクトコードへ翻訳し、ライブラリ開発者端末10から提供されるライブラリモジュールのオブジェクトコードと結合して実行形式プログラムを作成する。動作解析装置30は、結合装置20が作成した実行形式プログラムの動作を解析する。
【0017】
図2は、本発明による動作解析装置を示すブロック図であって、図2(a)は、ライブラリ開発者端末10、結合装置20及び動作解析装置30の構成を示し、図2(b)は、各装置のCPUを説明する図である。
図2(a)に示すように、ライブラリ開発者端末10は、CPU11、入出力を制御するI/Oポート12、RAM、ROM、HDD等のプログラム、データを記憶する記憶部13、通信回線50を介した通信を制御する通信部14、携帯型の情報記憶媒体60と情報の入出力を行うディスクドライブ15、利用者が情報を入力するキーボード16、情報を出力して利用者へ通知するディスプレイ17等を備える情報処理端末である。また、結合装置20及び動作解析装置30は、ライブラリ開発者端末10と同様の構成を備えている。なお、ディスクドライブ15,25,35は、記憶部13,23,33として機能してもよい。
記憶部13,23,33は、RAM、ROM、HDD等であって、プログラム、データ等を記憶する。ライブラリ開発者端末10が備える記憶部13は、ライブラリ131を記憶している。ライブラリ131は、複数のライブラリモジュールのオブジェクトコードを記憶している。
【0018】
CPU11,21,31、I/Oポート12,22,32及び記憶部13,23,33は、バス18,28,38で互いに接続されている。また、I/Oポート12,22,32は、入出力装置である通信部14,24,34、ディスクドライブ15,25,35及びディスプレイ17,27,37に接続されている。図2(b)に示すように、CPU11は、記憶部13に記憶されているプログラムを実行することによって暗号化部111、翻訳部112を実現する。また、CPU21及びCPU31も同様に、暗号化部211、翻訳部212、復号部213、結合部214及び復号部313、アクセス許否判定部315、処理内容示唆情報抽出部316を実現する。各部の機能については、図3〜図8を用いて後述する。
【0019】
図3は、ライブラリ開発者端末の翻訳処理における動作を示すフローチャート、図4は、ライブラリ開発者端末の機能を説明する図である。
図3及び図4に示すように、ステップ100(以下、「ステップ」を「S」という。)において、ライブラリ開発者端末10は、翻訳要求をキーボード16等の入力装置から入力し、翻訳処理を開始する。ライブラリ開発者端末10は、ディスプレイ17に表示する等、入力を要求することによって、ディスクドライブ25等の入力装置からライブラリ開発者が開発したプログラムである一又は複数のソースコードを入力する(S110)。翻訳部112は、このソースコードをオブジェクトコードへ翻訳し(S120)、ライブラリ131へ格納する(S130)。
次に、ライブラリ開発者端末10は、ディスプレイに表示する等、ライブラリ開発者に第1暗号鍵(K1c)、アクセス制限鍵(Ka)の入力を要求し、ライブラリ開発者がライブラリ131から一又は複数のライブラリモジュールを指定等することによって、ライブラリ開発者端末10は、ライブラリモジュール識別情報、第1暗号鍵及びアクセス制限鍵を入力装置から入力する(S140)。
【0020】
なお、アクセス制御鍵は、一又は複数のライブラリモジュールに関連づけられ、このライブラリモジュールへのアクセスを制限するためのアクセス制限情報、またライブラリモジュールについての処理内容示唆情報の外部への出力を制限するための出力制限情報であって、本実施形態においては、利用者属性識別情報と照合することによって、利用者属性識別情報が示す利用者がライブラリモジュールの内容を知る正当な権限があるか否かを識別するための情報である。
暗号化部111は、入力されたライブラリモジュール識別情報が示すライブラリモジュールのオブジェクトコードをライブラリ131から読み出し(S150)、S140で入力されたアクセス制限鍵を付して第1暗号鍵と、記憶部13に記憶されている暗号アルゴリズムとに基づいて暗号化を行い、第1の暗号を作成する(S160)。
【0021】
なお、暗号方式は、DES等の対称鍵方式であってもRSA等の非対称鍵方式であってもよく、復号(図5、S240)と整合性がとれていればよい。後述する第2の暗号についても同様である。ライブラリ開発者端末10は、作成した第1の暗号をディスクドライブ15から携帯型の情報記憶媒体60へ又は通信部14から通信回線50へ出力することによって結合装置20へ提供し(S170)、翻訳処理を終了する(S180)。
【0022】
図5は、結合装置の実行形式プログラム作成処理における動作を示すフローチャート、図6は、結合端末の機能を説明する図である。
図5及び図6に示すように、S200において、結合装置20は、実行形式プログラム作成要求を入力装置から入力し、実行形式プログラム作成処理を開始する。結合装置20は、ディスプレイ27に表示する等、プログラム開発者にソースコードの入力を要求することによって、ディスクドライブ25等の入力装置からプログラム開発者が開発したプログラムである一又は複数のソースコードを入力する(S210)。
【0023】
翻訳部212は、このソースコードをオブジェクトコードへ翻訳する(S220)。結合装置20は、通信回線50、携帯型の情報記憶媒体60等を介してライブラリ開発者端末10が作成した第1の暗号を入力する(S230)。復号部213は、記憶部23に外部から認識されない様に記憶されている第1復号鍵(K1d)でこの第1の暗号をライブラリモジュールのオブジェクトコード及びアクセス制限鍵へ復号し(S240)、結合部214は、このライブラリモジュールのオブジェクトコードと、S220で翻訳されたオブジェクトコードとを結合し、実行形式プログラムを作成する(S250)。
【0024】
このときCPU21は、実行形式プログラムにおけるライブラリモジュールの範囲を示す情報、つまり、出力制限情報であるアクセス制限鍵が出力を制限する出力制限範囲を示す出力制限範囲情報を実行形式プログラムに付加する。暗号化部211は、記憶部23に外部から認識されない様に記憶されている第2暗号鍵(K2c)及び暗号アルゴリズムに基づいて、実行形式プログラム及び第1モジュール範囲情報にS240において復号したアクセス制限鍵を付して暗号化し、第2の暗号を作成する(S260)。結合装置20は、作成した第2の暗号をディスクドライブ25から携帯型の情報記憶媒体60へ又は通信部14から通信回線50へ出力することによって動作解析装置30へ提供し(S270)、実行形式プログラム作成処理を終了する(S280)。
【0025】
図7は、本発明による動作解析装置の解析処理における動作を示すフローチャート、図8及び図9は、動作解析装置の機能を説明する図である。
図7、図8及び図9に示すように、S300において、動作解析装置30は、実行形式プログラム解析要求を入力装置から入力し、実行形式プログラム解析処理を開始する。動作解析装置30は、通信回線50、携帯型の情報記憶媒体60等を介して結合装置20が作成した第2の暗号を入力する(S310)。
【0026】
復号部313は、記憶部33に外部から認識されない様に記憶されている第2の復号鍵(K2d)でこの第2の暗号を実行形式プログラム、第1モジュール範囲情報及びアクセス制限鍵へ復号する(S320)。処理内容示唆情報抽出部316は、この実行形式プログラムについての処理内容示唆情報を抽出する(S330)。動作解析装置30は、ディスプレイ37に表示すること等によって利用者に利用者属性識別情報(Kb)の入力を要求し、入力装置から処理内容示唆情報を入力する(S340)。利用者属性識別情報とは、動作解析装置の利用者の属性を識別するための情報であって、本実施形態においては、ライブラリモジュールの内容を知る正当な権限がある利用者を識別するための識別情報である。
【0027】
アクセス許否判定部315は、この利用者属性識別情報と、S320で復号したアクセス制限鍵に基づいて、利用者が正当な権限を有するか否かによって、ライブラリモジュールについての処理内容示唆情報の外部への出力を許可するか否か(処理内容示唆情報への外部からのアクセスを許可するか否か)を判定する(S350)。肯と判定した場合には、動作解析装置30は、S330で抽出した処理内容示唆情報を全てディスプレイ37等の出力装置から外部へ出力し(S360、図8)、否と判定した場合(利用者属性識別情報の入力がなかった場合も含む)には、S320で復号した第1モジュール範囲情報に基づいて、ライブラリモジュール以外のプログラムについての処理内容示唆情報を外部へ出力し(S370、図9)、動作解析装置30は、解析処理を終了する(S380)。なお、第2暗号鍵及び第2復号鍵は、システム提供者のみが参照及び変更可能である。
【0028】
このように、本実施形態よれば、ライブラリ開発者端末10は、第1復号鍵のみでしか復号できないように暗号化されたライブラリモジュールを出力するため、ライブラリモジュールの利用を制限し、ライブラリモジュールの無制限な利用を防止することが可能となった。
同様に、結合装置20は、第2復号鍵のみでしか復号できないように暗号化された実行形式プログラムを出力するため、実施形式プログラムの利用を制限し、実行形式プログラム及びライブラリモジュールの無制限な利用を防止することが可能となった。
更に、動作解析装置30は、実行形式プログラムの動作の解析をする場合に、実行形式プログラムとともに暗号化されて入力されるアクセス制限鍵と、外部から入力される利用者属性識別情報とに基づいて、ライブラリモジュールについての処理内容示唆情報の外部への出力を許可するか否かを判定するため、処理内容示唆情報へアクセスできる利用者を制限し、ライブラリモジュールに含まれる技術的ノウハウの無制限な流出を防止することが可能となった。
【0029】
(変形形態)
以上説明した実施形態に限定されることなく、種々の変形や変更が可能であって、それらも本発明の均等の範囲内である。例えば、結合装置20及び動作解析装置30は、別々の情報処理端末としたが、結合装置20の機能を備えた動作解析装置であってもよい。なお、この場合には、暗号化部211、復号部313は、必要なく、また、第2の暗号鍵、第2の復号鍵及び第2の暗号についての暗号アルゴリズムを記憶していなくともよい。リンカ(結合)及びデバッガ(動作解析)を1つの装置で行うことができるとともに、同様の効果を得ることが可能である。
【0030】
ライブラリ開発者端末10は、ライブラリ131から取り出した全てのライブラリモジュールに対応するアクセス制限鍵を1つ付加して暗号化を行うが、ライブラリ131から取り出したライブラリモジュールのうちいずれか一又は複数のライブラリモジュールに対応するアクセス制限鍵を付加してもよく、複数のアクセス制限鍵を付加してもよい。ライブラリモジュールへのアクセスの種類、個々のライブラリモジュールの内容等を考慮し、アクセス制限鍵を対応させることによって、より効果的にアクセスの制限を行うことが可能である。
【0031】
ライブラリ開発者端末10、結合装置20及び動作解析装置30は、入力装置として通信部14,24,34、ディスクドライブ15,25,35、キーボード16,26,36を備えているが、例えば、ICカードのリーダライタ等、他の入力装置であってもよく、情報が入力できる装置であれば、その種類は、限定されない。
【0032】
図3のS110に示すように、ライブラリ開発者端末10は、第1暗号鍵、アクセス制御鍵を外部から入力するが、記憶部13に第1暗号鍵、アクセス制御鍵を予め記憶し、読み出してもよい。同様に、図7のS340において、動作解析装置30は、利用者属性識別情報を入力するが、処理開始前に入力して記憶部33に記憶したものを読み出してもよい。第1の暗号の入力(図5、S230)、第2の暗号の入力(図7、S310)についても同様である。また、第2暗号鍵及び第2復号鍵が非対称である場合には、結合装置20は、第2暗号鍵を外部から入力してもよい。
【0033】
ライブラリ開発者端末10、結合装置20及び動作解析装置30は、各処理において、それぞれ複数の情報を入力するが、例えば、結合装置20は、ソースコードの入力(図5、S210)よりも前に第1の暗号を入力(S230)してもよく、処理に必要な情報をその処理前に入力していればよく、入力順及び入力時期は、限定されない。
【0034】
ライブラリ開発者端末10は、記憶部13にライブラリ131を記憶し、翻訳処理においてライブラリモジュールのソースコードを読み出すが(図3、S120)、他の情報処理端末がライブラリ131を記憶し、ライブラリ提供端末10が通信回線50、携帯型の情報記憶媒体60等を介してライブラリ識別情報で指定するライブラリモジュールを入力装置から入力してもよい。ライブラリ開発者端末10がどのようにライブラリモジュールを取得するかは、限定されない。
【0035】
【発明の効果】
以上詳しく説明したように、本発明によれば、以下の効果を得ることが可能となった。
(動作解析装置又は動作解析プログラムについて)
(1)実行形式プログラムの動作の解析をする場合に、実行形式プログラムとともに暗号化されて入力されるアクセス制限情報に基づいて、アクセス制限情報が対応する一又は複数のモジュールについての処理内容示唆情報への外部からのアクセスを許可するか否かを判定し、処理内容示唆情報へのアクセスを制限することによって、所定のモジュールについての処理内容示唆情報の流出を制限し、技術的ノウハウの無制限な流出を防止する。
(2)実行形式プログラムの動作の解析をする場合に、利用者属性識別情報及びアクセス制限情報に基づいて、アクセスを許可するか否かを判定し、利用者が所定の者である場合にのみ、一又は複数のモジュールについての処理内容示唆情報へのアクセスを許可することによって、処理内容示唆情報へアクセスできる利用者を制限し、技術的ノウハウの無制限な流出を防止する。
(3)実行形式プログラムの動作の解析をする場合に、特に、ライブラリモジュールについての処理内容示唆情報の外部への出力を制限することによって、ライブラリモジュールに含まれる技術的ノウハウの無制限な流出を防止する。
(プログラム開発システムについて)
(4)(1)から(3)までと同様の効果に加え、動作解析装置が、結合装置によって暗号化された実行形式プログラム、及び、一又は複数のアクセス制限情報を入力し、復号することによって、実行形式プログラムの利用を制限し、無制限な利用を防止する。
(5)結合装置が、翻訳装置で暗号化された一又は複数のモジュール、及び、一又は複数のアクセス制御情報を復号することによって、一又は複数のモジュールの利用を制限し、無制限な利用を防止する。
【図面の簡単な説明】
【図1】本発明によるプログラム開発システムの実施形態を示すブロック図である。
【図2】本発明による動作解析装置を示すブロック図である。
【図3】ライブラリ開発者端末の翻訳処理における動作を示すフローチャートである。
【図4】ライブラリ開発者端末の機能を説明する図である。
【図5】結合装置の実行形式プログラム作成処理における動作を示すフローチャートである。
【図6】結合端末の機能を説明する図である。
【図7】本発明による動作解析装置の解析処理における動作を示すフローチャートである。
【図8】本発明による動作解析装置の機能を説明する図である。
【図9】本発明による動作解析装置の機能を説明する図である。
【図10】従来のプログラム開発システムを説明する図である。
【符号の説明】
1 プログラム開発システム
10 ライブラリ開発者端末
20 結合装置
30 動作解析装置
11,21,31 CPU
12,22,32 I/O
13,23,33 記憶部
14,24,34 通信部
15,25,35 ディスクドライブ
16,26,36 キーボード
17,27,37 ディスプレイ
111,211 暗号化部
112,212 翻訳部
213,313 復号部
214 結合部
315 アクセス許否判定部
316 処理内容示唆情報抽出部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an operation analysis device that analyzes the operation of a program, an operation analysis program, and a program development system that develops the program.
[0002]
[Prior art]
FIG. 10 is a diagram illustrating a conventional program development system.
As shown in FIG. 10, in a conventional program development system, a program developer who creates a program such as software firstly acquires a source code of a program including one or a plurality of modules created using a programming language (hereinafter, referred to as a source code). The "program source code" is referred to as "source code" by the compiler 10-2 to be translated (compiled) into the program object code (hereinafter, the "program object code" is referred to as "object code"). Similarly, the program developer assigns the object code of a module which is a necessary function (subroutine) extracted from the library 131-2 developed by the library developer (hereinafter, the module extracted from the library is referred to as “library module”). The program is linked (linked) by the linker 20-2 to create an executable program. The executable program is a computer-executable program such as a load module.
The program developer operates the CPU and peripheral circuits, such as register values, change history, program counter position, change history, and the like, at a predetermined processing time when the executable program is executed by the debugger 30-2. The processing content suggestion information for analyzing the operation of the executable program such as the situation is extracted, and the operation of the executable program is verified (debugged) (for example, Patent Document 1).
A library is a collection of highly versatile functions (subroutines) and data that can be used in various programs. A library module controls complex hardware and simplifies the instruction method from a higher-level program. It greatly contributes to improving the efficiency of program development (complex program processing is sometimes provided as a library). In other words, the library module contains the technical know-how of the library developer, such as an improvement in processing speed and a method of controlling reading and writing to hardware.
[0003]
[Patent Document 1]
JP-A-9-305435 (Pages 2 to 7, FIGS. 1 and 7)
[0004]
[Problems to be solved by the invention]
However, when verifying the operation of the program under development, since any behavior of the program can be observed, the program developer can observe the internal processing of all library modules, and the technology of the library developer can be observed. There was a possibility that technical know-how was leaked to software developers.
In addition, the concept of a cross-compiler may cause unlimited use of library modules in an environment not assumed by the library developer, and may leak know-how.
On the other hand, according to the “method and apparatus for efficiently implementing a complex function block in the design of an integrated circuit” described in Japanese Patent Application Laid-Open No. 10-198726, if encryption and password verification are successful, the macro template and Link and the use of the macro template for checking the operation and performance, such as referencing the contents, but there is a problem in that it is not possible to restrict the reference to the contents (details) and lacks convenience. Was.
[0005]
An object of the present invention is to provide an operation analysis device, a program development system, and an operation analysis program capable of preventing unlimited outflow of technical know-how included in a program such as a library module to another person and unlimited use of the program. To provide.
[0006]
[Means for Solving the Problems]
The present invention solves the above problem by the following means. In addition, in order to facilitate understanding, the description will be given with reference numerals corresponding to the embodiment of the present invention, but the present invention is not limited to this. That is, the first aspect of the present invention is an operation analysis apparatus including processing content suggestion information extracting means (316) for extracting processing content suggestion information in order to analyze the operation of an executable program including a plurality of coupled modules. A cryptographic input means (36) for inputting a code including the executable program and one or a plurality of access restriction information corresponding to one or a plurality of modules included in the executable program; A decryption unit (312) for decrypting the input encryption, and one or more corresponding to the access restriction information extracted by the processing content suggestion information extraction unit based on the access restriction information decrypted by the decryption unit Permission to determine whether to allow external access to the processing content suggestion information for the module Further comprising a judging means (315), a motion analysis device according to claim (30).
[0007]
According to a second aspect of the present invention, in the motion analysis apparatus according to the first aspect, there is provided a user attribute identification information input unit (36) for externally inputting user attribute identification information for identifying a user attribute, The operation wherein the access permission / denial determination means makes a determination based on the access restriction information decrypted by the decryption means and the user attribute identification information input by the user attribute identification information input means. An analysis device (30).
[0008]
According to a third aspect of the present invention, in the operation analysis device according to the first or second aspect, the encryption input means corresponds to the executable program and one or a plurality of library modules included in the executable program. An input including one or more output restriction information is input, and the access permission / rejection determination unit determines one or more library modules corresponding to the output restriction information based on the output restriction information decrypted by the decryption unit. A determination as to whether or not output of the processing content suggestion information to the outside is permitted.
[0009]
The invention according to claim 4 is an operation analysis apparatus including processing content suggestion information extracting means for extracting processing content suggestion information for analyzing the operation of an executable program including a plurality of coupled modules. Module, encryption input means for inputting encryption including one or more access control information corresponding to the one or more modules, decryption means for decrypting the encryption input by the encryption input means, and decryption Combining the one or more modules decrypted by the means with one or more other modules to create an executable program; and performing the processing based on the access restriction information decrypted by the decrypting means. In the processing for one or a plurality of modules corresponding to the access restriction information extracted by the content suggestion information extracting means. Further comprising a determining access permission determination unit configured to determine whether to permit access from the outside to indicate information, a motion analysis device according to claim.
[0010]
According to a fifth aspect of the present invention, there is provided a motion analysis apparatus (30) according to any one of the first to third aspects, and a plurality of modules are combined to create an executable program to be input to the motion analysis apparatus. A coupling device (20) that performs encryption by adding the one or more pieces of access restriction information to the created executable program and encrypting the executable program. The program development system (1), wherein the decryption means of the behavior analysis device decrypts the executable program encrypted by the coupling device and one or more pieces of access restriction information.
[0011]
According to a sixth aspect of the present invention, in the program development system according to the fifth aspect, a translation unit (112) for translating a module of a source code into a module of an object code, and one or a plurality of the objects translated by the translation unit A translation module (10) having an encryption unit (111) for encrypting a code module with one or a plurality of access restriction information corresponding to one or a plurality of the object code modules; A program development system comprising: one or a plurality of modules encrypted by an encryption unit of the translation device; and a decryption unit (213) for decrypting one or a plurality of access restriction information. is there.
[0012]
The invention of claim 7 is an operation analysis program for causing a computer to execute a processing content suggestion information extraction procedure (S330) for extracting processing content suggestion information in order to analyze the operation of an executable program including a plurality of coupled modules. An encryption input step (S310) for inputting an encryption including the executable program and one or more access restriction information corresponding to one or more modules included in the executable program (S310); And one or more modules corresponding to the access restriction information extracted in the processing content suggestion information extraction procedure based on the access restriction information decrypted in the decryption procedure (S320). Determine whether to allow external access to the processing content suggestion information for Further comprising an access permission determination procedure (S350) to a motion analysis program characterized.
[0013]
According to an eighth aspect of the present invention, in the operation analysis program according to the seventh aspect, there is provided a user attribute identification information input procedure (S340) for externally inputting user attribute identification information for identifying a user attribute, The operation analysis program, wherein the access permission / denial determination step determines based on the access restriction information decrypted in the decryption step and the user attribute identification information input in the user attribute identification information input step. It is.
[0014]
According to a ninth aspect of the present invention, in the operation analysis program according to the seventh or eighth aspect, the cryptographic input procedure corresponds to the executable program and one or more library modules included in the executable program. An encryption including one or a plurality of output restriction information is input, and the access permission / denial determination step is performed based on the output restriction information decrypted in the decryption step, based on one or more library modules corresponding to the output restriction information. An operation analysis program characterized in that it is determined whether output of processing content suggestion information to the outside is permitted.
[0015]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in more detail with reference to the drawings and the like.
(Embodiment)
FIG. 1 is a block diagram showing an embodiment of a program development system according to the present invention.
Note that the same reference numerals are given to portions that perform the same functions as those of the above-described conventional example, and redundant description will be omitted as appropriate.
As shown in FIG. 1, the program development system 1 includes a library developer terminal 10, a coupling device 20, and an operation analysis device 30. Communication between the library developer terminal 10 and the coupling device 20, and between the coupling device 20 and the operation analysis device 30 via a telephone line, an optical cable or other wired lines, or an infrared or other wireless communication line 50, a flexible disk, a compact disk It is possible to exchange information with a portable information storage medium 60 such as the above. The program development system 1 is a system that creates an executable program from a plurality of source codes and analyzes the operation of the executable program. Further, the program development system 1, that is, the library developer terminal 10, the coupling device 20, and the operation analysis device 30 are realized and managed by a system provider.
[0016]
The library developer terminal 10 is an information processing terminal used by the library developer. The library developer terminal 10 mainly translates the source code of the library into an object code, and connects the library device via the communication line 50, the portable information storage medium 60 and the like. 20 is a translation device provided to the user.
The coupling device 20 and the behavior analysis device 30 are library users and are information processing terminals used by program developers who develop programs. The combining device 20 translates the source code developed by the program developer into an object code, and combines it with the object code of the library module provided from the library developer terminal 10 to create an executable program. The behavior analysis device 30 analyzes the behavior of the executable program created by the coupling device 20.
[0017]
FIG. 2 is a block diagram showing an operation analysis device according to the present invention. FIG. 2A shows the configuration of the library developer terminal 10, the combination device 20, and the operation analysis device 30, and FIG. FIG. 3 is a diagram illustrating a CPU of each device.
As shown in FIG. 2A, the library developer terminal 10 includes a CPU 11, an I / O port 12 for controlling input / output, a storage unit 13 for storing programs such as RAM, ROM, and HDD, and data, and a communication line 50. A communication unit 14 for controlling communication via a computer, a disk drive 15 for inputting / outputting information to / from a portable information storage medium 60, a keyboard 16 for a user to input information, and a display for outputting information to notify the user. 17 and the like. The coupling device 20 and the operation analysis device 30 have the same configuration as the library developer terminal 10. Note that the disk drives 15, 25, and 35 may function as the storage units 13, 23, and 33.
The storage units 13, 23, and 33 are RAM, ROM, HDD, and the like, and store programs, data, and the like. The storage unit 13 provided in the library developer terminal 10 stores a library 131. The library 131 stores object codes of a plurality of library modules.
[0018]
The CPUs 11, 21, 31, I / O ports 12, 22, 32 and storage units 13, 23, 33 are connected to one another by buses 18, 28, 38. The I / O ports 12, 22, and 32 are connected to communication units 14, 24, and 34, which are input / output devices, disk drives 15, 25, and 35, and displays 17, 27, and 37. As shown in FIG. 2B, the CPU 11 implements the encryption unit 111 and the translation unit 112 by executing a program stored in the storage unit 13. Similarly, the CPU 21 and the CPU 31 implement the encryption unit 211, the translation unit 212, the decryption unit 213, the combination unit 214 and the decryption unit 313, the access permission / refusal determination unit 315, and the processing content suggestion information extraction unit 316. The function of each unit will be described later with reference to FIGS.
[0019]
FIG. 3 is a flowchart showing the operation in the translation process of the library developer terminal, and FIG. 4 is a diagram for explaining the functions of the library developer terminal.
As shown in FIGS. 3 and 4, in step 100 (hereinafter, “step” is referred to as “S”), the library developer terminal 10 inputs a translation request from an input device such as the keyboard 16 and performs a translation process. Start. The library developer terminal 10 inputs one or a plurality of source codes, which are programs developed by the library developer, from an input device such as the disk drive 25 by requesting input such as displaying on the display 17 (S110). . The translation unit 112 translates the source code into an object code (S120) and stores it in the library 131 (S130).
Next, the library developer terminal 10 requests the library developer to input a first encryption key (K1c) and an access restriction key (Ka), such as displaying on a display. The library developer terminal 10 inputs the library module identification information, the first encryption key, and the access restriction key from the input device by designating the library module (S140).
[0020]
The access control key is associated with one or a plurality of library modules. The access control key is used to restrict the output of access restriction information for restricting access to the library module and processing content suggestion information for the library module to the outside. In the present embodiment, the output restriction information is compared with the user attribute identification information to determine whether the user indicated by the user attribute identification information has a right to know the contents of the library module. This is information for identification.
The encryption unit 111 reads out the object code of the library module indicated by the input library module identification information from the library 131 (S150), attaches the access restriction key input in S140, adds the first encryption key, and the storage unit 13 The first encryption is created by performing encryption based on the encryption algorithm stored in (1) (S160).
[0021]
Note that the encryption method may be a symmetric key method such as DES or an asymmetric key method such as RSA, as long as it is compatible with decryption (S240 in FIG. 5). The same applies to a second cipher to be described later. The library developer terminal 10 provides the created first code to the coupling device 20 by outputting it from the disk drive 15 to the portable information storage medium 60 or from the communication unit 14 to the communication line 50 (S170), and translates it. The process ends (S180).
[0022]
FIG. 5 is a flowchart showing the operation in the execution program creation processing of the combination device, and FIG. 6 is a diagram for explaining the function of the combination terminal.
As shown in FIGS. 5 and 6, in S200, the coupling device 20 inputs an executable program creation request from the input device, and starts the executable program creation process. The coupling device 20 requests the program developer to input the source code, for example, by displaying the source code on the display 27, and thereby, from the input device such as the disk drive 25, one or a plurality of source codes, which are programs developed by the program developer. Input (S210).
[0023]
The translation unit 212 translates the source code into an object code (S220). The coupling device 20 inputs the first encryption created by the library developer terminal 10 via the communication line 50, the portable information storage medium 60, and the like (S230). The decryption unit 213 decrypts the first encryption into the object code of the library module and the access restriction key using the first decryption key (K1d) stored in the storage unit 23 so as not to be recognized from the outside (S240), and combines the decryption. The unit 214 combines the object code of the library module and the object code translated in S220 to create an executable program (S250).
[0024]
At this time, the CPU 21 adds, to the executable program, information indicating the range of the library module in the executable program, that is, output restriction range information indicating the output restriction range in which the access restriction key, which is the output restriction information, restricts the output. Based on the second encryption key (K2c) and the encryption algorithm stored in the storage unit 23 so as not to be recognized from the outside, the encryption unit 211 restricts the execution form program and the first module range information by decrypting the access in S240. A second encryption is created by attaching a key and encrypting (S260). The coupling device 20 outputs the created second encryption from the disk drive 25 to the portable information storage medium 60 or from the communication unit 14 to the communication line 50 to provide it to the operation analysis device 30 (S270). The program creation processing ends (S280).
[0025]
FIG. 7 is a flowchart showing the operation in the analysis processing of the motion analysis device according to the present invention, and FIGS. 8 and 9 are diagrams for explaining the functions of the motion analysis device.
As shown in FIG. 7, FIG. 8, and FIG. 9, in S300, the behavior analysis device 30 inputs an executable program analysis request from the input device, and starts the executable program analysis process. The motion analysis device 30 inputs the second code created by the coupling device 20 via the communication line 50, the portable information storage medium 60, and the like (S310).
[0026]
The decryption unit 313 decrypts the second cipher into the executable program, the first module range information, and the access restriction key using the second decryption key (K2d) stored in the storage unit 33 so as not to be recognized from the outside. (S320). The processing content suggestion information extraction unit 316 extracts the processing content suggestion information for the executable program (S330). The motion analysis device 30 requests the user to input the user attribute identification information (Kb) by, for example, displaying it on the display 37, and inputs processing content suggestion information from the input device (S340). The user attribute identification information is information for identifying an attribute of a user of the operation analysis device. In the present embodiment, the user attribute identification information is for identifying a user who has valid authority to know the contents of the library module. This is identification information.
[0027]
Based on the user attribute identification information and the access restriction key decrypted in S320, the access permission / rejection determination unit 315 determines whether or not the user has a valid authority and sends out the processing content suggestion information for the library module to the outside. Then, it is determined whether or not output is permitted (whether or not external access to the processing content suggestion information is permitted) (S350). If it is determined to be affirmative, the motion analysis apparatus 30 outputs all the processing content suggestion information extracted in S330 to the outside from an output device such as the display 37 (S360, FIG. 8), and if it is determined to be no (user If the attribute identification information has not been input (including the case where the attribute identification information has not been input), processing content suggestion information on programs other than the library module is output to the outside based on the first module range information decrypted in S320 (S370, FIG. 9). Then, the motion analysis device 30 ends the analysis process (S380). The second encryption key and the second decryption key can be referenced and changed only by the system provider.
[0028]
As described above, according to the present embodiment, the library developer terminal 10 outputs the library module encrypted so that it can be decrypted only with the first decryption key. It has become possible to prevent unlimited use.
Similarly, since the combining device 20 outputs the executable program encrypted so as to be decrypted only with the second decryption key, the use of the executable program is restricted, and the unlimited use of the executable program and the library module is performed. Can be prevented.
Further, when analyzing the operation of the executable program, the behavior analysis device 30 uses the access restriction key encrypted and input together with the executable program and user attribute identification information input from the outside. In order to determine whether or not to allow the output of processing content suggestion information for a library module to the outside, the user who can access the processing content suggestion information is restricted, and the technical know-how contained in the library module is unlimitedly leaked. Can be prevented.
[0029]
(Modified form)
Various modifications and changes are possible without being limited to the embodiment described above, and these are also within the equivalent scope of the present invention. For example, the coupling device 20 and the motion analysis device 30 are separate information processing terminals, but may be motion analysis devices having the functions of the coupling device 20. In this case, the encryption unit 211 and the decryption unit 313 are not required, and the encryption algorithm for the second encryption key, the second decryption key, and the second encryption need not be stored. The linker (connection) and the debugger (operation analysis) can be performed by one device, and the same effect can be obtained.
[0030]
The library developer terminal 10 performs encryption by adding one access restriction key corresponding to all the library modules extracted from the library 131. However, any one or more of the library modules extracted from the library 131 are encrypted. An access restriction key corresponding to the module may be added, or a plurality of access restriction keys may be added. By associating the access restriction key with the type of access to the library module, the contents of each library module, and the like, it is possible to more effectively restrict access.
[0031]
The library developer terminal 10, the coupling device 20, and the operation analysis device 30 include communication units 14, 24, 34, disk drives 15, 25, 35, and keyboards 16, 26, 36 as input devices. Other input devices, such as a card reader / writer, may be used. The type of the device is not limited as long as information can be input.
[0032]
As shown in S110 of FIG. 3, the library developer terminal 10 inputs the first encryption key and the access control key from the outside, but stores the first encryption key and the access control key in the storage unit 13 in advance, reads out the Is also good. Similarly, in S340 of FIG. 7, the motion analysis device 30 inputs the user attribute identification information, but may read out the information input and stored in the storage unit 33 before the start of the process. The same applies to the input of the first cipher (FIG. 5, S230) and the input of the second cipher (S310, FIG. 7). When the second encryption key and the second decryption key are asymmetric, the coupling device 20 may input the second encryption key from outside.
[0033]
The library developer terminal 10, the coupling device 20, and the operation analysis device 30 each input a plurality of pieces of information in each process. For example, the coupling device 20 may input a plurality of pieces of information before inputting the source code (FIG. 5, S210). The first encryption may be input (S230), and the information necessary for the processing may be input before the processing, and the input order and input time are not limited.
[0034]
The library developer terminal 10 stores the library 131 in the storage unit 13 and reads out the source code of the library module in the translation process (S120 in FIG. 3), but another information processing terminal stores the library 131, and the library providing terminal The library module 10 may input a library module specified by the library identification information from the input device via the communication line 50, the portable information storage medium 60, or the like. How the library developer terminal 10 acquires the library module is not limited.
[0035]
【The invention's effect】
As described above in detail, according to the present invention, the following effects can be obtained.
(About the motion analysis device or motion analysis program)
(1) When analyzing the operation of an executable program, processing content suggestion information for one or more modules corresponding to the access restriction information based on the access restriction information encrypted and input together with the executable program. Judgment as to whether or not to allow external access to the module, restricts access to the processing content suggestion information, restricts the flow of processing content suggestion information for a given module, and provides unlimited technical know-how. Prevent spill.
(2) When analyzing the operation of an executable program, whether to permit access is determined based on user attribute identification information and access restriction information, and only when the user is a predetermined person. By permitting access to the processing content suggestion information for one or a plurality of modules, users who can access the processing content suggestion information are restricted, and unlimited outflow of technical know-how is prevented.
(3) When analyzing the operation of the executable program, in particular, restricting the output of the processing content suggestion information about the library module to the outside to prevent unlimited outflow of technical know-how included in the library module. I do.
(About the program development system)
(4) In addition to the same effects as (1) to (3), the behavior analysis device inputs and decodes the executable program encrypted by the coupling device and one or more pieces of access restriction information. Thus, the use of the executable program is restricted, and unlimited use is prevented.
(5) The coupling device restricts use of one or a plurality of modules by decrypting one or a plurality of modules and one or a plurality of access control information encrypted by the translation device, and allows unlimited use. To prevent.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an embodiment of a program development system according to the present invention.
FIG. 2 is a block diagram showing a motion analysis device according to the present invention.
FIG. 3 is a flowchart showing an operation in a translation process of a library developer terminal.
FIG. 4 is a diagram illustrating functions of a library developer terminal.
FIG. 5 is a flowchart illustrating an operation in an execution format program creation process of the coupling device.
FIG. 6 is a diagram illustrating functions of a combined terminal.
FIG. 7 is a flowchart showing an operation in an analysis process of the motion analysis device according to the present invention.
FIG. 8 is a diagram illustrating functions of the motion analysis device according to the present invention.
FIG. 9 is a diagram illustrating functions of the motion analysis device according to the present invention.
FIG. 10 is a diagram illustrating a conventional program development system.
[Explanation of symbols]
1 Program development system
10 Library developer terminal
20 Coupling device
30 Motion analysis device
11,21,31 CPU
12, 22, 32 I / O
13,23,33 Storage unit
14,24,34 Communication unit
15, 25, 35 disk drive
16, 26, 36 keyboard
17, 27, 37 Display
111, 211 Encryption unit
112,212 Translator
213,313 Decoding unit
214 joint
315 Access permission / denial judgment unit
316 Processing content suggestion information extraction unit

Claims (9)

結合された複数のモジュールを含む実行形式プログラムの動作を解析するために処理内容示唆情報を抽出する処理内容示唆情報抽出手段を備える動作解析装置であって、
前記実行形式プログラムと、この実行形式プログラムに含まれる一又は複数のモジュールに対応する一又は複数のアクセス制限情報とを含む暗号を入力する暗号入力手段と、
前記暗号入力手段によって入力される暗号を復号する復号手段と、
前記復号手段によって復号されるアクセス制限情報に基づいて、前記処理内容示唆情報抽出手段によって抽出される、前記アクセス制限情報が対応する一又は複数のモジュールについての処理内容示唆情報への外部からのアクセスを許可するか否かを判定するアクセス許否判定手段とを備えること、
を特徴とする動作解析装置。
An operation analysis apparatus comprising processing content suggestion information extraction means for extracting processing content suggestion information for analyzing the operation of an executable program including a plurality of combined modules,
An encryption input unit that inputs an encryption including the executable program and one or a plurality of access restriction information corresponding to one or a plurality of modules included in the executable program;
Decryption means for decrypting the encryption input by the encryption input means,
External access to the processing content suggestion information for one or more modules corresponding to the access restriction information extracted by the processing content suggestion information extraction means based on the access restriction information decoded by the decoding means Access permission / refusal determination means for determining whether to permit
A motion analysis device characterized by the above-mentioned.
請求項1に記載の動作解析装置において、
外部から利用者の属性を識別するための利用者属性識別情報を入力する利用者属性識別情報入力手段を備え、
前記アクセス許否判定手段は、前記復号手段によって復号されるアクセス制限情報と、前記利用者属性識別情報入力手段によって入力される利用者属性識別情報とに基づいて判定を行うこと、
を特徴とする動作解析装置。
The motion analysis device according to claim 1,
User attribute identification information input means for inputting user attribute identification information for identifying a user attribute from outside,
The access permission determining unit performs the determination based on the access restriction information decrypted by the decrypting unit and the user attribute identification information input by the user attribute identification information input unit;
A motion analysis device characterized by the above-mentioned.
請求項1又は請求項2に記載の動作解析装置において、
前記暗号入力手段は、前記実行形式プログラムと、前記実行形式プログラムに含まれる一又は複数のライブラリモジュールに対応する一又は複数の出力制限情報とを含む暗号を入力し、
前記アクセス許否判定手段は、前記復号手段によって復号される出力制限情報に基づいて、前記出力制限情報が対応する一又は複数のライブラリモジュールについての処理内容示唆情報の外部への出力を許可するか否かを判定すること、
を特徴とする動作解析装置。
The motion analysis device according to claim 1 or 2,
The encryption input unit inputs an encryption including the executable program and one or more output restriction information corresponding to one or more library modules included in the executable program,
The access permission / denial determination unit determines whether to permit output of processing content suggestion information for one or a plurality of library modules corresponding to the output restriction information to the outside based on the output restriction information decoded by the decoding unit. Determining whether
A motion analysis device characterized by the above-mentioned.
結合された複数のモジュールを含む実行形式プログラムの動作を解析するために処理内容示唆情報を抽出する処理内容示唆情報抽出手段を備える動作解析装置であって、
一又は複数のモジュールと、この一又は複数のモジュールに対応する一又は複数のアクセス制御情報とを含む暗号を入力する暗号入力手段と、
前記暗号入力手段によって入力される暗号を復号する復号手段と、
前記復号手段によって復号された一又は複数のモジュールと、他の一又は複数のモジュールとを結合し、実行形式プログラムを作成する結合手段と、
前記復号手段によって復号されたアクセス制限情報に基づいて、前記処理内容示唆情報抽出手段によって抽出される、前記アクセス制限情報が対応する一又は複数のモジュールについての処理内容示唆情報への外部からのアクセスを許可するか否かを判定するアクセス許否判定手段とを備えること、
を特徴とする動作解析装置。
An operation analysis apparatus comprising processing content suggestion information extraction means for extracting processing content suggestion information for analyzing the operation of an executable program including a plurality of combined modules,
One or a plurality of modules, and encryption input means for inputting an encryption including one or a plurality of access control information corresponding to the one or a plurality of modules,
Decryption means for decrypting the encryption input by the encryption input means,
One or more modules decrypted by the decrypting means, and one or more other modules, and combining means for creating an executable program,
External access to the processing content suggestion information for one or more modules corresponding to the access restriction information, which is extracted by the processing content suggestion information extraction means based on the access restriction information decrypted by the decryption means. Access permission / refusal determination means for determining whether to permit
A motion analysis device characterized by the above-mentioned.
請求項1から請求項3までのいずれか1項に記載の動作解析装置と、複数のモジュールを結合して前記動作解析装置へ入力する実行形式プログラムを作成する結合装置とを備えるプログラム開発システムであって、
前記結合装置は、作成した前記実行形式プログラムに前記一又は複数のアクセス制限情報を付して暗号化する暗号化手段を備え、
前記動作解析装置の復号手段は、前記結合装置によって暗号化された実行形式プログラム、及び、一又は複数のアクセス制限情報を復号すること、
を特徴とするプログラム開発システム。
A program development system comprising: the behavior analysis device according to any one of claims 1 to 3; and a coupling device that couples a plurality of modules to create an executable program to be input to the behavior analysis device. So,
The coupling device includes an encryption unit that encrypts the created executable program with the one or more access restriction information added thereto.
Decoding means of the behavior analysis device, the execution form program encrypted by the coupling device, and, to decode one or more access restriction information,
Program development system characterized by:
請求項5に記載のプログラム開発システムにおいて、
ソースコードのモジュールをオブジェクトコードのモジュールへ翻訳する翻訳手段と、
前記翻訳手段によって翻訳された一又は複数の前記オブジェクトコードのモジュールに、一又は複数の前記オブジェクトコードのモジュールに対応する一又は複数のアクセス制限情報を付して暗号化する暗号化手段とを有する翻訳装置を備え、
前記結合装置は、前記翻訳装置の暗号化手段によって暗号化された一又は複数のモジュール、及び、一又は複数のアクセス制限情報を復号する復号手段を備えること、
を特徴とするプログラム開発システム。
The program development system according to claim 5,
Translation means for translating a source code module into an object code module;
Encryption means for encrypting one or more object code modules translated by the translation means with one or more access restriction information corresponding to one or more object code modules; Equipped with a translation device,
The coupling device includes one or more modules encrypted by an encryption unit of the translation device, and a decryption unit that decrypts one or a plurality of access restriction information.
Program development system characterized by:
結合された複数のモジュールを含む実行形式プログラムの動作を解析するために処理内容示唆情報を抽出する処理内容示唆情報抽出手順をコンピュータに実行させる動作解析プログラムであって、
前記実行形式プログラムと、この実行形式プログラムに含まれる一又は複数のモジュールに対応する一又は複数のアクセス制限情報とを含む暗号を入力する暗号入力手順と、
前記暗号入力手順において入力した暗号を復号する復号手順と、
前記復号手順において復号したアクセス制限情報に基づいて、前記処理内容示唆情報抽出手順において抽出した、前記アクセス制限情報が対応する一又は複数のモジュールについての処理内容示唆情報への外部からのアクセスを許可するか否かを判定するアクセス許否判定手順とを備えること、
を特徴とする動作解析プログラム。
An operation analysis program for causing a computer to execute a processing content suggestion information extraction procedure for extracting processing content suggestion information to analyze the operation of an executable program including a plurality of combined modules,
An encryption input procedure for inputting an encryption including the executable program and one or more access restriction information corresponding to one or more modules included in the executable program,
A decryption procedure for decrypting the encryption input in the encryption input procedure,
Based on the access restriction information decrypted in the decryption procedure, external access to the processing content suggestion information for one or more modules corresponding to the access restriction information extracted in the processing content suggestion information extraction procedure is permitted. Access permission / denial determination procedure for determining whether or not to perform
A motion analysis program characterized by the following.
請求項7に記載の動作解析プログラムにおいて、
外部から利用者の属性を識別するための利用者属性識別情報を入力する利用者属性識別情報入力手順を備え、
前記アクセス許否判定手順は、前記復号手順において復号したアクセス制限情報と、前記利用者属性識別情報入力手順において入力した利用者属性識別情報とに基づいて判定を行うこと、
を特徴とする動作解析プログラム。
The operation analysis program according to claim 7,
A user attribute identification information input procedure for inputting user attribute identification information for identifying a user attribute from outside;
The access permission / non-permission determination step includes performing a determination based on the access restriction information decrypted in the decryption step and the user attribute identification information input in the user attribute identification information input step,
A motion analysis program characterized by the following.
請求項7又は請求項8に記載の動作解析プログラムにおいて、
前記暗号入力手順は、前記実行形式プログラムと、前記実行形式プログラムに含まれる一又は複数のライブラリモジュールに対応する一又は複数の出力制限情報とを含む暗号を入力し、
前記アクセス許否判定手順は、前記復号手順において復号した出力制限情報に基づいて、前記出力制限情報が対応する一又は複数のライブラリモジュールについての処理内容示唆情報の外部への出力を許可するか否かを判定すること、
を特徴とする動作解析プログラム。
In the operation analysis program according to claim 7 or 8,
The cryptographic input procedure inputs a cryptography including the executable program and one or more output restriction information corresponding to one or more library modules included in the executable program,
The access permission / non-permission determination step includes, based on the output restriction information decoded in the decoding step, whether to permit output of processing content suggestion information for one or more library modules corresponding to the output restriction information to the outside. Determining that
A motion analysis program characterized by the following.
JP2002299261A 2002-10-11 2002-10-11 Operation analysis device, program development system, and operation analysis program Pending JP2004133793A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002299261A JP2004133793A (en) 2002-10-11 2002-10-11 Operation analysis device, program development system, and operation analysis program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002299261A JP2004133793A (en) 2002-10-11 2002-10-11 Operation analysis device, program development system, and operation analysis program

Publications (1)

Publication Number Publication Date
JP2004133793A true JP2004133793A (en) 2004-04-30

Family

ID=32288454

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002299261A Pending JP2004133793A (en) 2002-10-11 2002-10-11 Operation analysis device, program development system, and operation analysis program

Country Status (1)

Country Link
JP (1) JP2004133793A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006042289A (en) * 2004-06-24 2006-02-09 Toshiba Corp Microprocessor
JP2006293417A (en) * 2005-04-05 2006-10-26 Ntt Docomo Inc Application program verification system and method, and computer program
US20120173525A1 (en) * 2003-08-12 2012-07-05 Vidur Apparao Processes and system for accessing externally stored metadata associated with a media asset using a unique identifier incorporated into the asset itself

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120173525A1 (en) * 2003-08-12 2012-07-05 Vidur Apparao Processes and system for accessing externally stored metadata associated with a media asset using a unique identifier incorporated into the asset itself
JP2006042289A (en) * 2004-06-24 2006-02-09 Toshiba Corp Microprocessor
JP4559794B2 (en) * 2004-06-24 2010-10-13 株式会社東芝 Microprocessor
US8191155B2 (en) 2004-06-24 2012-05-29 Kabushiki Kaisha Toshiba Microprocessor
JP2006293417A (en) * 2005-04-05 2006-10-26 Ntt Docomo Inc Application program verification system and method, and computer program
JP4727278B2 (en) * 2005-04-05 2011-07-20 株式会社エヌ・ティ・ティ・ドコモ Application program verification system, application program verification method, and computer program
US8332823B2 (en) 2005-04-05 2012-12-11 Ntt Docomo, Inc. Application program verification system, application program verification method and computer program

Similar Documents

Publication Publication Date Title
EP0950941B1 (en) Method of and apparatus for protecting data on storage medium and storage medium
CN1312876C (en) Encrypted/deencrypted stored data by utilizing disaccessible only secret key
WO2007091558A1 (en) Program obfuscator
CN105074712A (en) Code processing device and program
US20090187769A1 (en) System and method for an autonomous software protection device
CN107832589B (en) Software copyright protection method and system
CN101685425A (en) Mobile storage device and method of encrypting same
CN101189586A (en) Computer system and program creating device
EP3729306B1 (en) Compiling device and method
CN102460456B (en) Memory device and method for adaptive protection of content
Averbuch et al. Truly-protect: An efficient VM-based software protection
CN107871066B (en) Code compiling method and device based on android system
JP2005216027A (en) Encryption device, encryption system therewith, decryption device and semiconductor system therewith
JP2007108833A (en) Device for storing a plurality of passwords and password management method
Irviani et al. Nur algorithm on data encryption and decryption
JP2004171367A (en) Circuit operation simulation device, circuit operation simulation method, circuit operation simulation program, and circuit information decoding program
JP2004133793A (en) Operation analysis device, program development system, and operation analysis program
KR101043255B1 (en) Usb hub device for providing datasecurity and method for providing datasecurity using the same
Monden et al. A framework for obfuscated interpretation
CN113343215A (en) Embedded software authorization and authentication method and electronic equipment
JP2008310678A (en) Storage device, information apparatus, and content conversion method
CN107688729A (en) Protection system of application program and method based on trusted host
US20050229259A1 (en) Device for protecting against unauthorized use of software
JP2008003774A (en) Microcomputer
JP2004053958A (en) Data decoding method and data encryption method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051006

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20061116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090414

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090908