(57)【要約】【課題】ライブラリモジュール等のプログラムに含まれる技術的ノウハウの他者への無制限な流出及びプログラムの無制限な利用を防止することが可能な動作解析装置、プログラム開発システム及び動作解析プログラムを提供する。【解決手段】実行形式プログラムの動作を解析するために処理内容示唆情報を抽出する処理内容示唆情報抽出部３１６を備える動作解析装置３０であって、実行形式プログラムと、この実行形式プログラムに含まれるライブラリモジュールに対応するアクセス制限鍵とを含む第２の暗号を入力する入力装置３４と、第２の暗号を復号する復号部３１３と、復号されたアクセス制限鍵及び外部から入力した利用者属性識別情報に基づいて、アクセス制限鍵が対応するライブラリモジュールについての処理内容示唆情報の外部への出力を許可するか否かを判定するアクセス許否判定部３１５とを備えることを特徴とする。【選択図】　　　　　　　　図２
2004133793.tif 000002
【特許請求の範囲】
【請求項１】
結合された複数のモジュールを含む実行形式プログラムの動作を解析するために処理内容示唆情報を抽出する処理内容示唆情報抽出手段を備える動作解析装置であって、
前記実行形式プログラムと、この実行形式プログラムに含まれる一又は複数のモジュールに対応する一又は複数のアクセス制限情報とを含む暗号を入力する暗号入力手段と、
前記暗号入力手段によって入力される暗号を復号する復号手段と、
前記復号手段によって復号されるアクセス制限情報に基づいて、前記処理内容示唆情報抽出手段によって抽出される、前記アクセス制限情報が対応する一又は複数のモジュールについての処理内容示唆情報への外部からのアクセスを許可するか否かを判定するアクセス許否判定手段とを備えること、
を特徴とする動作解析装置。
【請求項２】
請求項１に記載の動作解析装置において、
外部から利用者の属性を識別するための利用者属性識別情報を入力する利用者属性識別情報入力手段を備え、
前記アクセス許否判定手段は、前記復号手段によって復号されるアクセス制限情報と、前記利用者属性識別情報入力手段によって入力される利用者属性識別情報とに基づいて判定を行うこと、
を特徴とする動作解析装置。
【請求項３】
請求項１又は請求項２に記載の動作解析装置において、
前記暗号入力手段は、前記実行形式プログラムと、前記実行形式プログラムに含まれる一又は複数のライブラリモジュールに対応する一又は複数の出力制限情報とを含む暗号を入力し、
前記アクセス許否判定手段は、前記復号手段によって復号される出力制限情報に基づいて、前記出力制限情報が対応する一又は複数のライブラリモジュールについての処理内容示唆情報の外部への出力を許可するか否かを判定すること、
を特徴とする動作解析装置。
【請求項４】
結合された複数のモジュールを含む実行形式プログラムの動作を解析するために処理内容示唆情報を抽出する処理内容示唆情報抽出手段を備える動作解析装置であって、
一又は複数のモジュールと、この一又は複数のモジュールに対応する一又は複数のアクセス制御情報とを含む暗号を入力する暗号入力手段と、
前記暗号入力手段によって入力される暗号を復号する復号手段と、
前記復号手段によって復号された一又は複数のモジュールと、他の一又は複数のモジュールとを結合し、実行形式プログラムを作成する結合手段と、
前記復号手段によって復号されたアクセス制限情報に基づいて、前記処理内容示唆情報抽出手段によって抽出される、前記アクセス制限情報が対応する一又は複数のモジュールについての処理内容示唆情報への外部からのアクセスを許可するか否かを判定するアクセス許否判定手段とを備えること、
を特徴とする動作解析装置。
【請求項５】
請求項１から請求項３までのいずれか１項に記載の動作解析装置と、複数のモジュールを結合して前記動作解析装置へ入力する実行形式プログラムを作成する結合装置とを備えるプログラム開発システムであって、
前記結合装置は、作成した前記実行形式プログラムに前記一又は複数のアクセス制限情報を付して暗号化する暗号化手段を備え、
前記動作解析装置の復号手段は、前記結合装置によって暗号化された実行形式プログラム、及び、一又は複数のアクセス制限情報を復号すること、
を特徴とするプログラム開発システム。
【請求項６】
請求項５に記載のプログラム開発システムにおいて、
ソースコードのモジュールをオブジェクトコードのモジュールへ翻訳する翻訳手段と、
前記翻訳手段によって翻訳された一又は複数の前記オブジェクトコードのモジュールに、一又は複数の前記オブジェクトコードのモジュールに対応する一又は複数のアクセス制限情報を付して暗号化する暗号化手段とを有する翻訳装置を備え、
前記結合装置は、前記翻訳装置の暗号化手段によって暗号化された一又は複数のモジュール、及び、一又は複数のアクセス制限情報を復号する復号手段を備えること、
を特徴とするプログラム開発システム。
【請求項７】
結合された複数のモジュールを含む実行形式プログラムの動作を解析するために処理内容示唆情報を抽出する処理内容示唆情報抽出手順をコンピュータに実行させる動作解析プログラムであって、
前記実行形式プログラムと、この実行形式プログラムに含まれる一又は複数のモジュールに対応する一又は複数のアクセス制限情報とを含む暗号を入力する暗号入力手順と、
前記暗号入力手順において入力した暗号を復号する復号手順と、
前記復号手順において復号したアクセス制限情報に基づいて、前記処理内容示唆情報抽出手順において抽出した、前記アクセス制限情報が対応する一又は複数のモジュールについての処理内容示唆情報への外部からのアクセスを許可するか否かを判定するアクセス許否判定手順とを備えること、
を特徴とする動作解析プログラム。
【請求項８】
請求項７に記載の動作解析プログラムにおいて、
外部から利用者の属性を識別するための利用者属性識別情報を入力する利用者属性識別情報入力手順を備え、
前記アクセス許否判定手順は、前記復号手順において復号したアクセス制限情報と、前記利用者属性識別情報入力手順において入力した利用者属性識別情報とに基づいて判定を行うこと、
を特徴とする動作解析プログラム。
【請求項９】
請求項７又は請求項８に記載の動作解析プログラムにおいて、
前記暗号入力手順は、前記実行形式プログラムと、前記実行形式プログラムに含まれる一又は複数のライブラリモジュールに対応する一又は複数の出力制限情報とを含む暗号を入力し、
前記アクセス許否判定手順は、前記復号手順において復号した出力制限情報に基づいて、前記出力制限情報が対応する一又は複数のライブラリモジュールについての処理内容示唆情報の外部への出力を許可するか否かを判定すること、
を特徴とする動作解析プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はプログラムの動作を解析する動作解析装置並びに動作解析プログラム、及び、プログラムを開発するプログラム開発システムに関するものである。
【０００２】
【従来の技術】
図１０は、従来のプログラム開発システムを説明する図である。
図１０に示すように、従来のプログラム開発システムおいて、ソフトウェア等のプログラムを作成するプログラム開発者は、先ず、プログラミング言語を用いて作成した一又は複数のモジュールを含むプログラムのソースコード（以下、「プログラムのソースコード」を「ソースコード」という。）をコンパイラ１０−２によってプログラムのオブジェクトコード（以下、「プログラムのオブジェクトコード」を「オブジェクトコード」という。）へ翻訳（コンパイル）する。プログラム開発者は、同様に、ライブラリ開発者が開発したライブラリ１３１−２から取り出した必要な関数（サブルーチン）であるモジュール（以下、ライブラリから取り出したモジュールを「ライブラリモジュール」という。）のオブジェクトコードをリンカ２０−２によって結合（リンク）し、実行形式プログラムを作成する。実行形式プログラムとは、ロード・モジュール等のコンピュータが実行可能な形式のプログラムである。
プログラム開発者は、デバッガ３０−２によってこの実行形式プログラムを実行した場合の所定の処理時点におけるレジスタの値、その変化の履歴、プログラムカウンタの位置、その変化の履歴等のＣＰＵ及び周辺回路の動作状況等、実行形式プログラムの動作を解析するための処理内容示唆情報を抽出し、この実行形式プログラムの動作を検証（デバッグ）する（例えば、特許文献１）。
ライブラリとは、様々なプログラムで利用できるようにした汎用性の高い関数（サブルーチン）やデータの集まりであって、ライブラリモジュールは、複雑なハードウェアを制御し、上位のプログラムからの命令方法を簡略化する役割を担っており、プログラム開発の効率の向上に大きく貢献する（複雑なプログラム処理がライブラリとして提供されることもある）。つまり、処理速度の向上、ハードウェアへの読み書きの制御方法等、ライブラリモジュールには、ライブラリ開発者の技術的なノウハウが詰め込まれている。
【０００３】
【特許文献１】
特開平９−３０５４３５号公報（第２頁−７頁、図１、図７）
【０００４】
【発明が解決しようとする課題】
しかし、開発中のプログラムの動作を検証する場合に、プログラムの如何なる挙動も観測することができるため、プログラム開発者は、全てのライブラリモジュールの内部処理を観測することができ、ライブラリ開発者の技術的ノウハウがソフト開発者へ流出する可能性があった。
また、クロスコンパイラという概念によって、ライブラリ開発者が想定していない環境でライブラリモジュールが無制限に利用されるとともに、ノウハウが流出してしまう可能性があった。
一方、特開平１０−１９８７２６公報に記載されている「集積回路の設計において複合機能ブロックを効率的に実装する方法及び装置」では、暗号化とパスワードの照合が成功した場合には、マクロテンプレートとのリンクと、その中身の参照等、動作及び性能の確認におけるマクロテンプレートの利用を許可するが、その中身（詳細）の参照についての制限をかけることが出来ず、利便性に欠けるという問題があった。
【０００５】
本発明の課題は、ライブラリモジュール等のプログラムに含まれる技術的ノウハウの他者への無制限な流出及びプログラムの無制限な利用を防止することが可能な動作解析装置、プログラム開発システム及び動作解析プログラムを提供することである。
【０００６】
【課題を解決するための手段】
本発明は、以下のような解決手段により、前記課題を解決する。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。すなわち、請求項１の発明は、結合された複数のモジュールを含む実行形式プログラムの動作を解析するために処理内容示唆情報を抽出する処理内容示唆情報抽出手段（３１６）を備える動作解析装置であって、前記実行形式プログラムと、この実行形式プログラムに含まれる一又は複数のモジュールに対応する一又は複数のアクセス制限情報とを含む暗号を入力する暗号入力手段（３６）と、前記暗号入力手段によって入力される暗号を復号する復号手段（３１２）と、前記復号手段によって復号されるアクセス制限情報に基づいて、前記処理内容示唆情報抽出手段によって抽出される、前記アクセス制限情報が対応する一又は複数のモジュールについての処理内容示唆情報への外部からのアクセスを許可するか否かを判定するアクセス許否判定手段（３１５）とを備えること、を特徴とする動作解析装置（３０）である。
【０００７】
請求項２の発明は、請求項１に記載の動作解析装置において、外部から利用者の属性を識別するための利用者属性識別情報を入力する利用者属性識別情報入力手段（３６）を備え、前記アクセス許否判定手段は、前記復号手段によって復号されるアクセス制限情報と、前記利用者属性識別情報入力手段によって入力される利用者属性識別情報とに基づいて判定を行うこと、を特徴とする動作解析装置（３０）である。
【０００８】
請求項３の発明は、請求項１又は請求項２に記載の動作解析装置において、前記暗号入力手段は、前記実行形式プログラムと、前記実行形式プログラムに含まれる一又は複数のライブラリモジュールに対応する一又は複数の出力制限情報とを含む暗号を入力し、前記アクセス許否判定手段は、前記復号手段によって復号される出力制限情報に基づいて、前記出力制限情報が対応する一又は複数のライブラリモジュールについての処理内容示唆情報の外部への出力を許可するか否かを判定すること、を特徴とする動作解析装置（３０）である。
【０００９】
請求項４の発明は、結合された複数のモジュールを含む実行形式プログラムの動作を解析するために処理内容示唆情報を抽出する処理内容示唆情報抽出手段を備える動作解析装置であって、一又は複数のモジュールと、この一又は複数のモジュールに対応する一又は複数のアクセス制御情報とを含む暗号を入力する暗号入力手段と、前記暗号入力手段によって入力される暗号を復号する復号手段と、前記復号手段によって復号された一又は複数のモジュールと、他の一又は複数のモジュールとを結合し、実行形式プログラムを作成する結合手段と、前記復号手段によって復号されたアクセス制限情報に基づいて、前記処理内容示唆情報抽出手段によって抽出される、前記アクセス制限情報が対応する一又は複数のモジュールについての処理内容示唆情報への外部からのアクセスを許可するか否かを判定するアクセス許否判定手段とを備えること、を特徴とする動作解析装置である。
【００１０】
請求項５の発明は、請求項１から請求項３までのいずれか１項に記載の動作解析装置（３０）と、複数のモジュールを結合して前記動作解析装置へ入力する実行形式プログラムを作成する結合装置（２０）とを備えるプログラム開発システムであって、前記結合装置は、作成した前記実行形式プログラムに前記一又は複数のアクセス制限情報を付して暗号化する暗号化手段（２１１）を備え、前記動作解析装置の復号手段は、前記結合装置によって暗号化された実行形式プログラム、及び、一又は複数のアクセス制限情報を復号すること、を特徴とするプログラム開発システム（１）である。
【００１１】
請求項６の発明は、請求項５に記載のプログラム開発システムにおいて、ソースコードのモジュールをオブジェクトコードのモジュールへ翻訳する翻訳手段（１１２）と、前記翻訳手段によって翻訳された一又は複数の前記オブジェクトコードのモジュールに、一又は複数の前記オブジェクトコードのモジュールに対応する一又は複数のアクセス制限情報を付して暗号化する暗号化手段（１１１）とを有する翻訳装置（１０）を備え、前記結合装置は、前記翻訳装置の暗号化手段によって暗号化された一又は複数のモジュール、及び、一又は複数のアクセス制限情報を復号する復号手段（２１３）を備えること、を特徴とするプログラム開発システムである。
【００１２】
請求項７の発明は、結合された複数のモジュールを含む実行形式プログラムの動作を解析するために処理内容示唆情報を抽出する処理内容示唆情報抽出手順（Ｓ３３０）をコンピュータに実行させる動作解析プログラムであって、前記実行形式プログラムと、この実行形式プログラムに含まれる一又は複数のモジュールに対応する一又は複数のアクセス制限情報とを含む暗号を入力する暗号入力手順（Ｓ３１０）と、前記暗号入力手順において入力した暗号を復号する復号手順（Ｓ３２０）と、前記復号手順において復号したアクセス制限情報に基づいて、前記処理内容示唆情報抽出手順において抽出した、前記アクセス制限情報が対応する一又は複数のモジュールについての処理内容示唆情報への外部からのアクセスを許可するか否かを判定するアクセス許否判定手順（Ｓ３５０）とを備えること、を特徴とする動作解析プログラムである。
【００１３】
請求項８の発明は、請求項７に記載の動作解析プログラムにおいて、外部から利用者の属性を識別するための利用者属性識別情報を入力する利用者属性識別情報入力手順（Ｓ３４０）を備え、前記アクセス許否判定手順は、前記復号手順において復号したアクセス制限情報と、前記利用者属性識別情報入力手順において入力した利用者属性識別情報とに基づいて判定を行うこと、を特徴とする動作解析プログラムである。
【００１４】
請求項９の発明は、請求項７又は請求項８に記載の動作解析プログラムにおいて、前記暗号入力手順は、前記実行形式プログラムと、前記実行形式プログラムに含まれる一又は複数のライブラリモジュールに対応する一又は複数の出力制限情報とを含む暗号を入力し、前記アクセス許否判定手順は、前記復号手順において復号した出力制限情報に基づいて、前記出力制限情報が対応する一又は複数のライブラリモジュールについての処理内容示唆情報の外部への出力を許可するか否かを判定すること、を特徴とする動作解析プログラムである。
【００１５】
【発明の実施の形態】
以下、図面等を参照しながら、本発明の実施の形態について、更に詳しく説明する。
（実施形態）
図１は、本発明によるプログラム開発システムの実施形態を示すブロック図である。
なお、前述した従来例と同様の機能を果たす部分には、同一の符号を付して、重複する説明を適宜省略する。
図１に示すように、プログラム開発システム１は、ライブラリ開発者端末１０、結合装置２０及び動作解析装置３０とを備えている。ライブラリ開発者端末１０及び結合装置２０間、結合装置２０及び動作解析装置３０間は、電話回線、光ケーブルその他の有線、又は、赤外線その他の無線の通信回線５０を介した通信、フレキシブルディスク、コンパクトディスク等の携帯型の情報記憶媒体６０による情報の授受が可能である。プログラム開発システム１は、複数のソースコードから実行形式プログラムを作成し、この実行形式プログラムの動作を解析するシステムである。また、プログラム開発システム１、つまり、ライブラリ開発者端末１０、結合装置２０及び動作解析装置３０は、システム提供者によって実現され、管理されている。
【００１６】
ライブラリ開発者端末１０は、ライブラリ開発者が利用する情報処理端末であって、主にライブラリのソースコードをオブジェクトコードへ翻訳し、通信回線５０、携帯型の情報記憶媒体６０等を介して結合装置２０へ提供する翻訳装置である。
結合装置２０及び動作解析装置３０は、ライブラリ利用者であって、プログラムを開発するプログラム開発者が利用する情報処理端末である。結合装置２０は、プログラム開発者が開発したソースコードをオブジェクトコードへ翻訳し、ライブラリ開発者端末１０から提供されるライブラリモジュールのオブジェクトコードと結合して実行形式プログラムを作成する。動作解析装置３０は、結合装置２０が作成した実行形式プログラムの動作を解析する。
【００１７】
図２は、本発明による動作解析装置を示すブロック図であって、図２（ａ）は、ライブラリ開発者端末１０、結合装置２０及び動作解析装置３０の構成を示し、図２（ｂ）は、各装置のＣＰＵを説明する図である。
図２（ａ）に示すように、ライブラリ開発者端末１０は、ＣＰＵ１１、入出力を制御するＩ／Ｏポート１２、ＲＡＭ、ＲＯＭ、ＨＤＤ等のプログラム、データを記憶する記憶部１３、通信回線５０を介した通信を制御する通信部１４、携帯型の情報記憶媒体６０と情報の入出力を行うディスクドライブ１５、利用者が情報を入力するキーボード１６、情報を出力して利用者へ通知するディスプレイ１７等を備える情報処理端末である。また、結合装置２０及び動作解析装置３０は、ライブラリ開発者端末１０と同様の構成を備えている。なお、ディスクドライブ１５，２５，３５は、記憶部１３，２３，３３として機能してもよい。
記憶部１３，２３，３３は、ＲＡＭ、ＲＯＭ、ＨＤＤ等であって、プログラム、データ等を記憶する。ライブラリ開発者端末１０が備える記憶部１３は、ライブラリ１３１を記憶している。ライブラリ１３１は、複数のライブラリモジュールのオブジェクトコードを記憶している。
【００１８】
ＣＰＵ１１，２１，３１、Ｉ／Ｏポート１２，２２，３２及び記憶部１３，２３，３３は、バス１８，２８，３８で互いに接続されている。また、Ｉ／Ｏポート１２，２２，３２は、入出力装置である通信部１４，２４，３４、ディスクドライブ１５，２５，３５及びディスプレイ１７，２７，３７に接続されている。図２（ｂ）に示すように、ＣＰＵ１１は、記憶部１３に記憶されているプログラムを実行することによって暗号化部１１１、翻訳部１１２を実現する。また、ＣＰＵ２１及びＣＰＵ３１も同様に、暗号化部２１１、翻訳部２１２、復号部２１３、結合部２１４及び復号部３１３、アクセス許否判定部３１５、処理内容示唆情報抽出部３１６を実現する。各部の機能については、図３〜図８を用いて後述する。
【００１９】
図３は、ライブラリ開発者端末の翻訳処理における動作を示すフローチャート、図４は、ライブラリ開発者端末の機能を説明する図である。
図３及び図４に示すように、ステップ１００（以下、「ステップ」を「Ｓ」という。）において、ライブラリ開発者端末１０は、翻訳要求をキーボード１６等の入力装置から入力し、翻訳処理を開始する。ライブラリ開発者端末１０は、ディスプレイ１７に表示する等、入力を要求することによって、ディスクドライブ２５等の入力装置からライブラリ開発者が開発したプログラムである一又は複数のソースコードを入力する（Ｓ１１０）。翻訳部１１２は、このソースコードをオブジェクトコードへ翻訳し（Ｓ１２０）、ライブラリ１３１へ格納する（Ｓ１３０）。
次に、ライブラリ開発者端末１０は、ディスプレイに表示する等、ライブラリ開発者に第１暗号鍵（Ｋ１ｃ）、アクセス制限鍵（Ｋａ）の入力を要求し、ライブラリ開発者がライブラリ１３１から一又は複数のライブラリモジュールを指定等することによって、ライブラリ開発者端末１０は、ライブラリモジュール識別情報、第１暗号鍵及びアクセス制限鍵を入力装置から入力する（Ｓ１４０）。
【００２０】
なお、アクセス制御鍵は、一又は複数のライブラリモジュールに関連づけられ、このライブラリモジュールへのアクセスを制限するためのアクセス制限情報、またライブラリモジュールについての処理内容示唆情報の外部への出力を制限するための出力制限情報であって、本実施形態においては、利用者属性識別情報と照合することによって、利用者属性識別情報が示す利用者がライブラリモジュールの内容を知る正当な権限があるか否かを識別するための情報である。
暗号化部１１１は、入力されたライブラリモジュール識別情報が示すライブラリモジュールのオブジェクトコードをライブラリ１３１から読み出し（Ｓ１５０）、Ｓ１４０で入力されたアクセス制限鍵を付して第１暗号鍵と、記憶部１３に記憶されている暗号アルゴリズムとに基づいて暗号化を行い、第１の暗号を作成する（Ｓ１６０）。
【００２１】
なお、暗号方式は、ＤＥＳ等の対称鍵方式であってもＲＳＡ等の非対称鍵方式であってもよく、復号（図５、Ｓ２４０）と整合性がとれていればよい。後述する第２の暗号についても同様である。ライブラリ開発者端末１０は、作成した第１の暗号をディスクドライブ１５から携帯型の情報記憶媒体６０へ又は通信部１４から通信回線５０へ出力することによって結合装置２０へ提供し（Ｓ１７０）、翻訳処理を終了する（Ｓ１８０）。
【００２２】
図５は、結合装置の実行形式プログラム作成処理における動作を示すフローチャート、図６は、結合端末の機能を説明する図である。
図５及び図６に示すように、Ｓ２００において、結合装置２０は、実行形式プログラム作成要求を入力装置から入力し、実行形式プログラム作成処理を開始する。結合装置２０は、ディスプレイ２７に表示する等、プログラム開発者にソースコードの入力を要求することによって、ディスクドライブ２５等の入力装置からプログラム開発者が開発したプログラムである一又は複数のソースコードを入力する（Ｓ２１０）。
【００２３】
翻訳部２１２は、このソースコードをオブジェクトコードへ翻訳する（Ｓ２２０）。結合装置２０は、通信回線５０、携帯型の情報記憶媒体６０等を介してライブラリ開発者端末１０が作成した第１の暗号を入力する（Ｓ２３０）。復号部２１３は、記憶部２３に外部から認識されない様に記憶されている第１復号鍵（Ｋ１ｄ）でこの第１の暗号をライブラリモジュールのオブジェクトコード及びアクセス制限鍵へ復号し（Ｓ２４０）、結合部２１４は、このライブラリモジュールのオブジェクトコードと、Ｓ２２０で翻訳されたオブジェクトコードとを結合し、実行形式プログラムを作成する（Ｓ２５０）。
【００２４】
このときＣＰＵ２１は、実行形式プログラムにおけるライブラリモジュールの範囲を示す情報、つまり、出力制限情報であるアクセス制限鍵が出力を制限する出力制限範囲を示す出力制限範囲情報を実行形式プログラムに付加する。暗号化部２１１は、記憶部２３に外部から認識されない様に記憶されている第２暗号鍵（Ｋ２ｃ）及び暗号アルゴリズムに基づいて、実行形式プログラム及び第１モジュール範囲情報にＳ２４０において復号したアクセス制限鍵を付して暗号化し、第２の暗号を作成する（Ｓ２６０）。結合装置２０は、作成した第２の暗号をディスクドライブ２５から携帯型の情報記憶媒体６０へ又は通信部１４から通信回線５０へ出力することによって動作解析装置３０へ提供し（Ｓ２７０）、実行形式プログラム作成処理を終了する（Ｓ２８０）。
【００２５】
図７は、本発明による動作解析装置の解析処理における動作を示すフローチャート、図８及び図９は、動作解析装置の機能を説明する図である。
図７、図８及び図９に示すように、Ｓ３００において、動作解析装置３０は、実行形式プログラム解析要求を入力装置から入力し、実行形式プログラム解析処理を開始する。動作解析装置３０は、通信回線５０、携帯型の情報記憶媒体６０等を介して結合装置２０が作成した第２の暗号を入力する（Ｓ３１０）。
【００２６】
復号部３１３は、記憶部３３に外部から認識されない様に記憶されている第２の復号鍵（Ｋ２ｄ）でこの第２の暗号を実行形式プログラム、第１モジュール範囲情報及びアクセス制限鍵へ復号する（Ｓ３２０）。処理内容示唆情報抽出部３１６は、この実行形式プログラムについての処理内容示唆情報を抽出する（Ｓ３３０）。動作解析装置３０は、ディスプレイ３７に表示すること等によって利用者に利用者属性識別情報（Ｋｂ）の入力を要求し、入力装置から処理内容示唆情報を入力する（Ｓ３４０）。利用者属性識別情報とは、動作解析装置の利用者の属性を識別するための情報であって、本実施形態においては、ライブラリモジュールの内容を知る正当な権限がある利用者を識別するための識別情報である。
【００２７】
アクセス許否判定部３１５は、この利用者属性識別情報と、Ｓ３２０で復号したアクセス制限鍵に基づいて、利用者が正当な権限を有するか否かによって、ライブラリモジュールについての処理内容示唆情報の外部への出力を許可するか否か（処理内容示唆情報への外部からのアクセスを許可するか否か）を判定する（Ｓ３５０）。肯と判定した場合には、動作解析装置３０は、Ｓ３３０で抽出した処理内容示唆情報を全てディスプレイ３７等の出力装置から外部へ出力し（Ｓ３６０、図８）、否と判定した場合（利用者属性識別情報の入力がなかった場合も含む）には、Ｓ３２０で復号した第１モジュール範囲情報に基づいて、ライブラリモジュール以外のプログラムについての処理内容示唆情報を外部へ出力し（Ｓ３７０、図９）、動作解析装置３０は、解析処理を終了する（Ｓ３８０）。なお、第２暗号鍵及び第２復号鍵は、システム提供者のみが参照及び変更可能である。
【００２８】
このように、本実施形態よれば、ライブラリ開発者端末１０は、第１復号鍵のみでしか復号できないように暗号化されたライブラリモジュールを出力するため、ライブラリモジュールの利用を制限し、ライブラリモジュールの無制限な利用を防止することが可能となった。
同様に、結合装置２０は、第２復号鍵のみでしか復号できないように暗号化された実行形式プログラムを出力するため、実施形式プログラムの利用を制限し、実行形式プログラム及びライブラリモジュールの無制限な利用を防止することが可能となった。
更に、動作解析装置３０は、実行形式プログラムの動作の解析をする場合に、実行形式プログラムとともに暗号化されて入力されるアクセス制限鍵と、外部から入力される利用者属性識別情報とに基づいて、ライブラリモジュールについての処理内容示唆情報の外部への出力を許可するか否かを判定するため、処理内容示唆情報へアクセスできる利用者を制限し、ライブラリモジュールに含まれる技術的ノウハウの無制限な流出を防止することが可能となった。
【００２９】
（変形形態）
以上説明した実施形態に限定されることなく、種々の変形や変更が可能であって、それらも本発明の均等の範囲内である。例えば、結合装置２０及び動作解析装置３０は、別々の情報処理端末としたが、結合装置２０の機能を備えた動作解析装置であってもよい。なお、この場合には、暗号化部２１１、復号部３１３は、必要なく、また、第２の暗号鍵、第２の復号鍵及び第２の暗号についての暗号アルゴリズムを記憶していなくともよい。リンカ（結合）及びデバッガ（動作解析）を１つの装置で行うことができるとともに、同様の効果を得ることが可能である。
【００３０】
ライブラリ開発者端末１０は、ライブラリ１３１から取り出した全てのライブラリモジュールに対応するアクセス制限鍵を１つ付加して暗号化を行うが、ライブラリ１３１から取り出したライブラリモジュールのうちいずれか一又は複数のライブラリモジュールに対応するアクセス制限鍵を付加してもよく、複数のアクセス制限鍵を付加してもよい。ライブラリモジュールへのアクセスの種類、個々のライブラリモジュールの内容等を考慮し、アクセス制限鍵を対応させることによって、より効果的にアクセスの制限を行うことが可能である。
【００３１】
ライブラリ開発者端末１０、結合装置２０及び動作解析装置３０は、入力装置として通信部１４，２４，３４、ディスクドライブ１５，２５，３５、キーボード１６，２６，３６を備えているが、例えば、ＩＣカードのリーダライタ等、他の入力装置であってもよく、情報が入力できる装置であれば、その種類は、限定されない。
【００３２】
図３のＳ１１０に示すように、ライブラリ開発者端末１０は、第１暗号鍵、アクセス制御鍵を外部から入力するが、記憶部１３に第１暗号鍵、アクセス制御鍵を予め記憶し、読み出してもよい。同様に、図７のＳ３４０において、動作解析装置３０は、利用者属性識別情報を入力するが、処理開始前に入力して記憶部３３に記憶したものを読み出してもよい。第１の暗号の入力（図５、Ｓ２３０）、第２の暗号の入力（図７、Ｓ３１０）についても同様である。また、第２暗号鍵及び第２復号鍵が非対称である場合には、結合装置２０は、第２暗号鍵を外部から入力してもよい。
【００３３】
ライブラリ開発者端末１０、結合装置２０及び動作解析装置３０は、各処理において、それぞれ複数の情報を入力するが、例えば、結合装置２０は、ソースコードの入力（図５、Ｓ２１０）よりも前に第１の暗号を入力（Ｓ２３０）してもよく、処理に必要な情報をその処理前に入力していればよく、入力順及び入力時期は、限定されない。
【００３４】
ライブラリ開発者端末１０は、記憶部１３にライブラリ１３１を記憶し、翻訳処理においてライブラリモジュールのソースコードを読み出すが（図３、Ｓ１２０）、他の情報処理端末がライブラリ１３１を記憶し、ライブラリ提供端末１０が通信回線５０、携帯型の情報記憶媒体６０等を介してライブラリ識別情報で指定するライブラリモジュールを入力装置から入力してもよい。ライブラリ開発者端末１０がどのようにライブラリモジュールを取得するかは、限定されない。
【００３５】
【発明の効果】
以上詳しく説明したように、本発明によれば、以下の効果を得ることが可能となった。
（動作解析装置又は動作解析プログラムについて）
（１）実行形式プログラムの動作の解析をする場合に、実行形式プログラムとともに暗号化されて入力されるアクセス制限情報に基づいて、アクセス制限情報が対応する一又は複数のモジュールについての処理内容示唆情報への外部からのアクセスを許可するか否かを判定し、処理内容示唆情報へのアクセスを制限することによって、所定のモジュールについての処理内容示唆情報の流出を制限し、技術的ノウハウの無制限な流出を防止する。
（２）実行形式プログラムの動作の解析をする場合に、利用者属性識別情報及びアクセス制限情報に基づいて、アクセスを許可するか否かを判定し、利用者が所定の者である場合にのみ、一又は複数のモジュールについての処理内容示唆情報へのアクセスを許可することによって、処理内容示唆情報へアクセスできる利用者を制限し、技術的ノウハウの無制限な流出を防止する。
（３）実行形式プログラムの動作の解析をする場合に、特に、ライブラリモジュールについての処理内容示唆情報の外部への出力を制限することによって、ライブラリモジュールに含まれる技術的ノウハウの無制限な流出を防止する。
（プログラム開発システムについて）
（４）（１）から（３）までと同様の効果に加え、動作解析装置が、結合装置によって暗号化された実行形式プログラム、及び、一又は複数のアクセス制限情報を入力し、復号することによって、実行形式プログラムの利用を制限し、無制限な利用を防止する。
（５）結合装置が、翻訳装置で暗号化された一又は複数のモジュール、及び、一又は複数のアクセス制御情報を復号することによって、一又は複数のモジュールの利用を制限し、無制限な利用を防止する。
【図面の簡単な説明】
【図１】本発明によるプログラム開発システムの実施形態を示すブロック図である。
【図２】本発明による動作解析装置を示すブロック図である。
【図３】ライブラリ開発者端末の翻訳処理における動作を示すフローチャートである。
【図４】ライブラリ開発者端末の機能を説明する図である。
【図５】結合装置の実行形式プログラム作成処理における動作を示すフローチャートである。
【図６】結合端末の機能を説明する図である。
【図７】本発明による動作解析装置の解析処理における動作を示すフローチャートである。
【図８】本発明による動作解析装置の機能を説明する図である。
【図９】本発明による動作解析装置の機能を説明する図である。
【図１０】従来のプログラム開発システムを説明する図である。
【符号の説明】
１　プログラム開発システム
１０　ライブラリ開発者端末
２０　結合装置
３０　動作解析装置
１１，２１，３１　ＣＰＵ
１２，２２，３２　Ｉ／Ｏ
１３，２３，３３　記憶部
１４，２４，３４　通信部
１５，２５，３５　ディスクドライブ
１６，２６，３６　キーボード
１７，２７，３７　ディスプレイ
１１１，２１１　暗号化部
１１２，２１２　翻訳部
２１３，３１３　復号部
２１４　結合部
３１５　アクセス許否判定部
３１６　処理内容示唆情報抽出部
【図１】
2004133793.tif 000003
【図２】
2004133793.tif 000004
【図３】
2004133793.tif 000005
【図４】
2004133793.tif 000006
【図５】
2004133793.tif 000007
【図６】
2004133793.tif 000008
【図７】
2004133793.tif 000009
【図８】
2004133793.tif 000010
【図９】
2004133793.tif 000011
【図１０】
2004133793.tif 000012