(57)【要約】【課題】外部のサーバに保存されたアプリケーションをＭＦＰにダウンロードしてインストールする際に、盗聴や改ざんの危険を回避する。【解決手段】配布用アプリケーションパッケージ３０には、３つの暗号化されたファイルが同梱されている。このうち、配布対象のアプリケーションファイル３２は、共通鍵方式で暗号化されている。この他に、アプリケーションファイル３２のハッシュ値を収めたダイジェストファイル３４と、ライセンスキーを収めたアプリケーション情報ファイル３６がそれぞれ公開鍵方式で暗号化されている。【選択図】図２
2008177683.tif 000002
【特許請求の範囲】
【請求項１】
配布対象となるデータファイルを所定の共通鍵で暗号化した暗号化ファイルとともに、前記共通鍵に関する情報を含んだ情報データファイルを別の秘密鍵で暗号化した暗号化情報ファイルを記憶する記憶機器と、
前記暗号化ファイル及び前記暗号化情報ファイルを前記記憶機器から他の電子機器に転送するファイル転送手段と
を具備したことを特徴とするデータ提供システム。
【請求項２】
請求項１に記載のデータ提供システムにおいて、
前記記憶機器は、配布対象となるデータファイルに固有のハッシュ値を含んだダイジェストファイルを所定の秘密鍵で暗号化した暗号化ダイジェストをさらに記憶し、かつ、
前記ファイル転送手段は、前記暗号化ファイル及び前記暗号化情報ファイルに加えて前記暗号化ダイジェストを前記電子機器に転送することを特徴とするデータ提供システム。
【請求項３】
請求項１又は２に記載のデータ提供システムにおいて、
前記ファイル転送手段は、少なくとも前記暗号化ファイル及び前記暗号化情報ファイルを相互に関連付けた状態で転送することを特徴とするデータ提供システム。
【請求項４】
配布対象となるデータファイルを所定の共通鍵で暗号化した暗号化ファイルとともに、前記共通鍵に関する情報を含んだ情報データファイルを別の秘密鍵で暗号化した暗号化情報ファイルが記憶された記憶機器に接続する接続手段と、
前記記憶機器に接続した状態で、前記暗号化ファイル及び前記暗号化情報ファイルを前記記憶機器から読み込むファイル読込手段と
を具備したことを特徴とするデータ受領システム。
【請求項５】
請求項４に記載のデータ受領システムにおいて、
前記電子機器に転送された前記暗号化ファイル及び前記暗号化情報ファイルのうち、前記秘密鍵と対をなす公開鍵を用いて前記暗号化情報ファイルを復号することで情報ファイルを生成する情報ファイル生成手段と、
前記情報ファイルに含まれる情報から前記公開鍵を抽出することで、前記電子機器に転送された前記暗号化ファイルの復号を可能とする鍵抽出手段と
をさらに具備したことを特徴とするデータ受領システム。
【請求項６】
請求項４又は５に記載のデータ受領システムにおいて、
前記記憶機器には、配布対象となるデータファイルに固有のハッシュ値を含んだダイジェストファイルを所定の秘密鍵で暗号化した暗号化ダイジェストがさらに記憶されており、かつ、
前記ファイル読込手段は、前記暗号化ファイル及び前記暗号化情報ファイルに加えて前記暗号化ダイジェストを前記記憶機器から読み込むものであり、
前記暗号化ダイジェストの暗号化に用いられた秘密鍵と対をなす公開鍵を用いて前記暗号化ダイジェストを復号することで前記ダイジェストファイルを生成するダイジェスト生成手段をさらに備えたことを特徴とするデータ受領システム。
【請求項７】
請求項４から６のいずれかに記載のデータ受領システムにおいて、
前記ファイル読込手段は、少なくとも前記暗号化ファイル及び前記暗号化情報ファイルを相互に関連付けた状態で前記記憶機器から読み込むことを特徴とするデータ受領システム。
【請求項８】
配布対象となるデータファイルを所定の共通鍵で暗号化した暗号化ファイルを生成するステップと、
前記共通鍵に関する情報を含んだ情報データファイルを別の秘密鍵で暗号化した暗号化情報ファイルを生成するステップと、
前記暗号化ファイル及び前記暗号化情報ファイルを所定の記憶機器に記憶させるステップと、
前記暗号化ファイル及び前記暗号化情報ファイルを前記記憶機器から他の電子機器に転送するステップと
から構成されるデータ提供方法。
【請求項９】
請求項８に記載のデータ提供方法において、
前記記憶機器に対し、配布対象となるデータファイルに固有のハッシュ値を含んだダイジェストファイルを所定の秘密鍵で暗号化した暗号化ダイジェストを記憶させるステップと、
前記暗号化ファイル及び前記暗号化情報ファイルに加えて前記暗号化ダイジェストを前記電子機器に転送するステップと
をさらに有するデータ提供方法。
【請求項１０】
請求項８又は９に記載のデータ提供方法において、
前記各ファイルを前記電子機器に転送するステップでは、少なくとも前記暗号化ファイル及び前記暗号化情報ファイルを相互に関連付けた状態で転送することを特徴とするデータ提供方法。
【請求項１１】
所定の記憶領域を有した記憶機器のコンピュータに、
配布対象となるデータファイルを所定の共通鍵で暗号化した暗号化ファイルを生成する手順と、
前記共通鍵に関する情報を含んだ情報データファイルを別の秘密鍵で暗号化した暗号化情報ファイルを生成する手順と、
前記暗号化ファイル及び前記暗号化情報ファイルを前記記憶領域に記憶させる手順と、
前記暗号化ファイル及び前記暗号化情報ファイルを前記記憶機器から他の電子機器に転送する手順と
を実行させるデータ提供プログラム。
【請求項１２】
請求項１１に記載のデータ提供プログラムにおいて、
前記記憶機器のコンピュータに、
配布対象となるデータファイルに固有のハッシュ値を含んだダイジェストファイルを所定の秘密鍵で暗号化した暗号化ダイジェストを前記記憶領域に記憶させる手順と、
前記暗号化ファイル及び前記暗号化情報ファイルに加えて前記暗号化ダイジェストを前記電子機器に転送する手順と
をさらに実行させるデータ提供プログラム。
【請求項１３】
電子機器のコンピュータに、
配布対象となるデータファイルを所定の共通鍵で暗号化した暗号化ファイルとともに、前記共通鍵に関する情報を含んだ情報データファイルを別の秘密鍵で暗号化した暗号化情報ファイルが記憶された記憶機器に接続する手順と、
前記記憶機器に接続した状態で、前記暗号化ファイル及び前記暗号化情報ファイルを前記記憶機器から読み込むファイル手順と
を実行させるデータ受領プログラム。
【請求項１４】
請求項１３に記載のデータ受領プログラムにおいて、
前記電子機器のコンピュータに、
前記記憶機器から転送された前記暗号化ファイル及び前記暗号化情報ファイルのうち、前記秘密鍵と対をなす公開鍵を用いて前記暗号化情報ファイルを復号することで情報ファイルを生成する手順と、
前記情報ファイルに含まれる情報から前記公開鍵を抽出することで、前記記憶機器から転送された前記暗号化ファイルの復号を可能とする手順と
をさらに実行させるデータ受領プログラム。
【請求項１５】
請求項１３又は１４に記載のデータ受領プログラムにおいて、
前記電子機器のコンピュータに、
前記暗号化ファイル及び前記暗号化情報ファイルに加えて、配布対象となるデータファイルに固有のハッシュ値を含んだダイジェストファイルを所定の秘密鍵で暗号化した暗号化ダイジェストがさらに記憶された前記記憶機器に接続する手順と、
前記暗号化ファイル及び前記暗号化情報ファイルに加えて前記暗号化ダイジェストを前記記憶機器から読み込む手順と、
前記暗号化ダイジェストの暗号化に用いられた秘密鍵と対をなす公開鍵を用いて前記暗号化ダイジェストを復号することで前記ダイジェストファイルを生成する手順と
をさらに実行させるデータ受領プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子データの提供を行うためのデータ提供システム、データ提供方法及びデータ提供プログラムに関する。また本発明は、電子データの提供を受けるためのデータ受領システム及びデータ受領プログラムに関するものである。
【背景技術】
【０００２】
近年、データの提供者がコンピュータプログラム等の電子データを提供する際、例えばインターネットを通じて接続可能なサーバにプログラムを記憶させておき、ここに接続してきたユーザ（データ受領者）にプログラムをダウンロードさせる手法が一般化している。また、データ受領者であるユーザが保有する電子機器は、ある特定の機能（例えば複写機能）だけを有した専用機器にとどまらず、ハードウエア資源の充実に伴い、多様な機能を複合的に備えることが一般化している。このため、電子機器を新規に導入した後であっても、そこに追加機能を組み込むことで電子機器を多機能化し、カスタマイズしていくことがユーザにとって利便である。
【０００３】
上記のような背景から、近年では複写機等の画像形成装置にＷＥＢアプリケーションの実行環境を装備することで、インターネットを通じて外部アプリケーションを画像形成装置にインストールする技術が提案されている（例えば、特許文献１参照。）。この先行技術では、インターネットに接続されたクライアント端末（ＰＣ）を用いてＷＥＢページにアクセスし、このＷＥＢページを介して画像形成装置に外部アプリケーションをインストールすることが可能である。外部アプリケーションの保存先は、例えばインターネットに接続されたサーバやＩＣカード等である。
【特許文献１】特開２００４−５４７９１号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、先行技術のように外部アプリケーションをサーバに保存しておき、そこから画像形成装置にインストールする態様では、サーバに保存されたデータを不正に読み取られたり、サーバとの通信を盗聴されたりする被害に遭いやすいという問題がある。また、サーバに対する不正アクセスによって外部アプリケーションの内容を改ざんされてしまうと、知らずに改ざんされたアプリケーションを画像形成装置にインストールしてしまうおそれもある。
【０００５】
さらには、悪意のある第三者がサーバを設置してアプリケーションの配布元になりすましていた場合、ユーザが知らずにそこからアプリケーションをインストールしてしまうという危険性がある。
【０００６】
そこで本発明は、アプリケーション等のデータの提供やその受領に関する安全性を高めることができる技術の提供を課題としたものである。
【課題を解決するための手段】
【０００７】
上記の課題を解決するため、本発明はデータ提供システム、データ提供方法及びデータ提供プログラムを提供する。また本発明は、データ受領システム及びデータ受領プログラムを提供する。
【０００８】
本発明のデータ提供システムでは、配布対象となるデータファイルは共通鍵で暗号化され、暗号化ファイルとして記憶機器に記憶されている。この暗号化ファイルの復号に用いられる共通鍵は別の情報データファイルに含まれており、この情報データファイルは秘密鍵で暗号化され、暗号化情報ファイルとして記憶機器に記憶されている。本発明のデータ提供システムは、これら暗号化ファイル及び暗号化情報ファイルを記憶機器から他の電子機器に転送することで電子データの提供を行う。
【０００９】
一方、本発明のデータ受領システムは、電子データの提供を受ける者において利用可能な形態である。データ受領システムは、データ提供システムに対応した機能を備える。すなわち、配布対象となるデータファイルを所定の共通鍵で暗号化した暗号化ファイルとともに、共通鍵に関する情報を含んだ情報データファイルを別の秘密鍵で暗号化した暗号化情報ファイルが記憶機器に記憶されている場合、データ受領システムは、この記憶機器に接続する機能を有する。そしてデータ受領システムは、記憶機器に接続した状態で、暗号化ファイル及び暗号化情報ファイルを記憶機器から読み込む機能を有する。
【００１０】
データ受領システムはさらに、電子機器に転送された暗号化ファイル及び暗号化情報ファイルのうち、秘密鍵と対をなす公開鍵を用いて暗号化情報ファイルを復号することで情報ファイルを生成する機能を有する。またデータ受領システムは、情報ファイルに含まれる情報から公開鍵を抽出することで、電子機器に転送された暗号化ファイルの復号を可能とする機能をも有する。
【００１１】
例えば、電子データの提供者がサーバ等の記憶機器を設置してそこに電子データを保存する際、上記のように電子データを暗号化することで盗聴の被害を実質的に無効化することができる。たとえ電子データが盗聴されたとしても、暗号化されたデータの解読は困難であるため、盗聴者においてこれを利用することはできない。
【００１２】
一方、正規に電子データの提供（転送）を受けた受領者は、共通鍵を用いて暗号化ファイルを復号し、目当てのデータファイルを取り出すことができる。この共通鍵は暗号化情報ファイルの中に暗号化された状態で含まれており、受領者が公開鍵を用いて暗号化情報ファイルを復号すれば、そこから共通鍵を取り出すことができる。公開鍵は、電子データの提供者が秘密裏に保持している秘密鍵と対になるものであるから、これを与えられた者（正規の受領者）でなければ共通鍵を取り出すことができず、最終的にデータファイルを取得することはできない。
【００１３】
このように、本発明のデータ提供システムによれば、電子データの提供者が保有する秘密鍵と対になる公開鍵を与えられた者（正規の受領者）だけにデータファイルを配布することができる。
【００１４】
さらに記憶機器には、上記の暗号化ファイル及び暗号化情報ファイルとともに暗号化ダイジェストが記憶されていてもよい。暗号化ダイジェストは、配布対象となるデータファイルに固有のハッシュ値を含んだダイジェストファイルを所定の秘密鍵で暗号化したものである。この場合、暗号化ファイル及び暗号化情報ファイルに加えて暗号化ダイジェストがあわせて電子機器に転送される。
【００１５】
ダイジェストファイルは、記憶機器に記憶されている電子データの真正、つまり配布対象のデータファイルが改ざんされていないことを証明するものである。電子データの提供を受ける者は、暗号化ダイジェストを公開鍵で復号し、ダイジェストファイルからハッシュ値を取り出すとともに、別途、復号したデータファイルからハッシュ値を演算し、これらを照合することでデータファイルの改ざんの有無を確認することができる。
【００１６】
本発明のデータ提供システムでは、少なくとも暗号化ファイル及び暗号化情報ファイルを相互に関連付けた状態で転送するものとする。
【００１７】
上記の暗号化情報ファイルに含まれる共通鍵は、これに対応する暗号化ファイルの復号に必要なものであるため、これらは転送に際して相互に関連付けられていることが利便である。
【００１８】
データ提供システムの記憶機器に暗号化ダイジェストが記憶されている場合、データ受領システムは、暗号化ファイル及び暗号化情報ファイルに加えて暗号化ダイジェストを記憶機器から読み込む。またデータ受領システムは、暗号化ダイジェストの暗号化に用いられた秘密鍵と対をなす公開鍵を用いて暗号化ダイジェストを復号することでダイジェストファイルを生成することができる。
【００１９】
本発明のデータ提供方法は、上述したデータ提供システムの動作を伴って実現される。またデータ提供プログラムは、データ提供システムを構成する記憶機器のコンピュータにより実行される。さらにデータ受領プログラムは、データ受領システムを構成する電子機器のコンピュータにより実行される。
【発明の効果】
【００２０】
本発明は、配布対象となるデータファイルの盗聴や改ざんに極めて有効な対策を有する。このため、データファイルを提供する者は正規の受領者以外に自己の提供するデータファイルを盗まれるおそれがないし、これを受領した者に対して、常に自己の提供するデータファイルの真正を保証することができる。
【００２１】
一方、データファイルの提供を受ける者は、その受領時に第三者からデータファイルを盗まれる心配がないし、受領したデータファイルの真正が提供者によって保証されていることから、受領したデータファイルを安心して利用することができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の好ましい一実施形態について、図面を参照しながら説明する。
図１は、データ提供システム及びデータ受領システムの各構成例を示した概略図である。データ受領システムは、例えば電子データの提供を受けるユーザが多機能周辺機器（以下、ＭＦＰと称する。）１００を保有し、このＭＦＰ１００をインターネット１０２に接続した状態で利用することができる。またデータ提供システムは、例えばサーバ１０４や外部メディア２８等の記憶領域を有した記憶機器を用いて構築することができる。インターネット１０２上には、電子データの提供者（コンテンツプロバイダ）が保有するサーバ１０４が設置されており、提供者はこのサーバ１０４を用いて電子データをユーザに配布、つまり提供することができる。ユーザは、配布元となるサーバ１０４からインターネット１０２を経由して、自己の保有するＭＦＰ１００に対して電子データの提供を受けることができる。先ず、個々の構成について説明する。
【００２３】
ＭＦＰ（Multiple Function Peripheral）１００は、例えば画像形成装置を基本構成としたデジタル複合機である。すなわちＭＦＰ１００は、複写機としての機能に加えて、プリンタ２２やスキャナ２４、ファクシミリ（ＦＡＸ）２６としての機能を備えている。プリンタ２２は、原稿の複写物やＦＡＸ２６にて受信した文書等の印刷を行う。またスキャナ２４は、原稿を読み取って画像データを生成するものであり、この画像データを元に複写やＦＡＸ送信が行われる。またＭＦＰ１００はこれらの機能に加えて、ネットワークプリンタやネットワークスキャナ、あるいはネットワーククライアントとしての機能をも複合的に備えている。ネットワーク対応のプリンタ機能やスキャナ機能等は、インターネット１０２とは別のネットワーク環境（ＬＡＮ，ＷＡＮ）を通じて使用される。
【００２４】
ＭＦＰ１００の基本的な構成については公知のものを適用することができ、具体的には、印刷用紙を供給する用紙供給部をはじめ、原稿の画像を読み取るスキャナ（画像読取部）、原稿をスキャナの画像読取位置へ搬送する自動原稿搬送装置（ＡＤＦ）、画像データに基づいて形成した画像を用紙に転写するプリントエンジン（画像形成部）、転写済みの用紙に対してソートや穴開け、ステープル処理等の後処理を行う後処理装置等を備えるほか、その動作を制御するためのコントローラ２０を備える。またＭＦＰ１００には、ユーザの操作を受け付けるための操作キーや、タッチ式の操作パネル（図示されていない）を備えている。操作パネルには、タッチ操作用のボタン領域の他、文字情報や案内画像等が表示される。
【００２５】
またＭＦＰ１００はプログラムを実行するコンピュータ（クライアント）としての機能を有しており、そのために図示しないＣＰＵやメモリデバイス等のハードウエア資源を備えている。ＭＦＰ１００は、このハードウエア資源を用いて基本ソフトウェアであるＯＳ（オペレーティングシステム）１０を実行し、またデータ受領プログラムを実行することができる。上記のプリンタ２２やスキャナ２４、ＦＡＸ２６等の機能は、コントローラ２０の管理の下にＯＳ１０上で動作する。さらにＭＦＰ１００では、ＯＳ１０上にＪａｖａ（登録商標）仮想マシン１２を構築し、この仮想マシン１２がコントローラＡＰＩ１４を通じて各種のＪａｖａ（登録商標）アプリケーション１８を実行することができる。またアプリケーション管理部１６は、ＭＦＰ１００が動作時に選択するアプリケーション１８を管理する。
【００２６】
ＯＳ１０には、ネットワーク制御部１０ａやインタフェース（Ｉ／Ｆ）制御部１０ｂとしての機能要素が含まれている。ネットワーク制御部１０ａは、所定のプロトコルを使用してインターネット１０２や構内・社内ネットワーク（ＬＡＮ，ＷＡＮ）等に接続する。またＩ／Ｆ制御部１０ｂはハードウエアインタフェースであり、ＭＦＰ１００には、例えばＵＳＢ等の規格に対応した外部メディア２８を接続することができる。外部メディア２８は、例えば半導体メモリ等のストレージデバイス（記憶機器）である。
【００２７】
サーバ１０４はデータベース１０４ａを備えた記憶機器であり、このデータベース１０４ａには配布用アプリケーションパッケージ３０が記憶されている。配布用アプリケーションパッケージ３０は、コンテンツプロバイダが提供する電子データの一例であり、その具体的な内容は、ＭＦＰ１００に追加することができるＪａｖａ（登録商標）アプリケーションである。サーバ１０４は、インターネット１０２経由でアクセスしてきたＭＦＰ１００等をクライアントとして、これに配布用アプリケーションパッケージ３０を提供するサーバ型コンピュータとして機能することができる。
【００２８】
また配布用アプリケーションパッケージ３０は、一旦これを外部メディア２８に記憶させた状態で、そこからＭＦＰ１００に転送する形態で提供することもできる。この場合、コンテンツプロバイダは、配布用アプリケーションパッケージ３０を記憶させた状態の外部メディア２８をユーザ向けに提供することとなる。
【００２９】
次に、配布用アプリケーションパッケージ３０の詳細について説明する。
図２は、配布用アプリケーションパッケージ３０の構成とその生成手順を概略的に示したフロー図である。配布用アプリケーションパッケージ３０は、大きく分けて３つのファイルを元に生成されている。具体的には、アプリケーションファイル３２、ダイジェストファイル３４及びアプリケーション情報ファイル３６からなるファイル群が生成元である。提供者は、これら３つのファイルに対して暗号化等の前処理を行った後、これらをデータ圧縮して１つのパッケージにまとめる処理を行っている。以下、生成元となる３つのファイルについて説明する。
【００３０】
先ずアプリケーションファイル３２は、配布先であるユーザのＭＦＰ１００にインストールして利用されるものであり、上述したとおりＭＦＰ１００に何らかの機能を追加するための追加アプリケーションである。このような追加アプリケーションの導入により、ＭＦＰ１００の機能を拡張し、その利便性を向上することができる。追加アプリケーションの具体的な内容は特に限定されていない。
【００３１】
次にダイジェストファイル３４は、アプリケーションファイル３２の改ざんの有無を確認するためのデータであり、具体的にはアプリケーションファイル３２の原文からハッシュ関数を用いて生成されたものである。
【００３２】
アプリケーション情報ファイル３６は、認証用データ３６ａ及びアプリケーション情報３６ｂを含むデータである。このうち認証用データ３６ａは、アプリケーションの提供を受けたユーザが、そのアプリケーションを利用することができる正規の対象者（正規ユーザ）であるか否かを確認するためのものである。またアプリケーション情報３６ｂは、配布用アプリケーションパッケージ３０そのものやこれに梱包されている（データとして含まれている）アプリケーションの固有の性質や特徴（属性）等を表す情報を含むものである。このような属性は、例えばＸＭＬ（Extensive Markup Language）形式またはその他の決められた形式で、１つのファイルに記入されている。以下に、属性の具体例を示す。
【００３３】
（１）アプリケーション名：提供元が定めたアプリケーションの名称（プログラム製品としての名称、商標等）である。また「アプリケーション名」は、ＭＦＰ１００にアプリケーションがインストールされた後、その操作パネルに文字情報として表示されるものとなる。
【００３４】
（２）アプリケーションファイル名：アプリケーションファイルの名称（ＯＳ等で認識するための名称）である。ファイル名は、実際に追加アプリケーションをＭＦＰ１００に導入する際に、機械内部でアプリケーションファイルに対して付与される。
【００３５】
（３）アプリケーション説明：アプリケーションの機能等の説明文である。この説明文は、ＭＦＰ１００にアプリケーションがインストールされた後、その操作パネルに文字情報として表示されるものとなる。
【００３６】
（４）暗号化アプリケーションファイル名：アプリケーションファイル３２を暗合したときに生成されるファイルの名称である。このファイル名は、配布用アプリケーションパッケージ３０に同梱されている暗号化アプリケーション１３２を確認するための情報となるものである。なお、暗号化についてはさらに後述する。
【００３７】
（５）バージョン：アプリケーションのバージョンである。バージョン情報は、アプリケーションのアップデートの際に参照される情報となる。
（６）開発会社名：アプリケーションを開発した会社の名称である。
（７）対応機種リスト：アプリケーションが動作することのできる機種のリストである。ＭＦＰ１００についていえば、その具体的な機種名称、機種番号等が該当する。
【００３８】
（８）使用有効期間：アプリケーションを使用することができる期間である。例えば、期限付きでアプリケーションの使用が許諾されている場合の使用有効期間がこれに該当する。
【００３９】
（９）アプリケーション用復号鍵：暗号化アプリケーション１３２を復号するためのキーワードであり、上記の認証用データ３６ａに該当する。なお、復号鍵についてはさらに後述する。
【００４０】
上記（９）の復号鍵については、認証用データ３６ａとしてアプリケーション情報ファイル３６に含まれている必要があるが、その他の（１）〜（８）の属性は例示列挙したものである。したがって、（１）〜（８）全ての属性がアプリケーション情報ファイル３６に含まれている必要はないし、これ以外の属性が含まれていてもよい。
【００４１】
次に、配布用アプリケーションパッケージ３０のパッケージング方法について説明する。なお図２には、パッケージングを行うための処理の流れが白抜きの矢印（符号ＰＳ１〜ＰＳ３，ＰＴ）で示されている。
【００４２】
先ず、アプリケーションの配布元であるデータ提供者は、上記３つのファイル３２，３４，３６を用意すると、次に前処理を行う。前処理は、３つのファイル３２，３４，３６を、それぞれ適切な方式で暗号化することにより行われる。以下、３つのファイル３２，３４，３６を暗号化する前処理について説明する。
【００４３】
前処理ＰＳ１：このステップでは、アプリケーションファイル３２を共通鍵方式で暗号化する。ここで使用する共通鍵は、例えばデータ提供者が指定したライセンスキー（文字列等）を元に作成される。好ましくは、ライセンスキーの文字列そのものを共通鍵として用いることができる。なお本実施形態では、暗号化されたものを暗号化アプリケーション１３２と称する。また図２にはデータが暗号化されていることを示すため、暗号化アプリケーション１３２を示すブロック図形に「鍵」を模したマークが添えられている。
【００４４】
前処理ＰＳ２：このステップでは、ダイジェストファイル３４を公開鍵方式で暗号化する。暗号化には、配布元であるデータ提供者が非公開に保持している秘密鍵を用いる。なお本実施形態では、秘密鍵で暗号化されたダイジェストファイル３４を電子署名（又は暗号化ダイジェスト）１３４と称する。
【００４５】
前処理ＰＳ３：このステップでは、アプリケーション情報ファイル３６を公開鍵方式で暗号化する。同様に暗号化には、配布元であるデータ提供者が非公開に保持している秘密鍵を用いる。本実施形態では秘密鍵で暗号化されたアプリケーション情報ファイル３６を、暗号化アプリケーション情報１３６と称する。
【００４６】
データ圧縮ＰＴ：このステップでは、前処理ＰＳ１〜ＰＳ３にて暗号化したものをまとめて圧縮し、１つのデータファイルを生成する。ここで生成したものが配布用アプリケーションパッケージ３０となる。これにより、配布用アプリケーションパッケージ３０には生成元の３つのファイル３２，３４，３６が一括して梱包された状態となっている。またデータを圧縮することにより、インターネット１０２を通じた送信の容易化や、外部メディア２８の低容量化を図ることができる。
【００４７】
一方、ユーザは、配布用アプリケーションパッケージ３０から取り出した３つの暗号化ファイルを以下の方法で復号する。
【００４８】
（１）暗号化アプリケーション１３２は、共通鍵を用いて復号することができる。共通鍵は、上記のように配布元であるデータ提供者が指定したライセンスキーがこれに該当する。
【００４９】
（２）電子署名１３４は、配布元の秘密鍵と対をなす公開鍵を用いて復号することができる。この公開鍵は、配布用アプリケーションパッケージ３０とは別にデータ提供者からユーザに配布される。公開鍵の配布方法には、例えば郵送やファクシミリによる送信、電話による通知等がある。
【００５０】
（３）暗号化アプリケーション情報１３６も同様に、配布元の秘密鍵と対をなす公開鍵を用いて復号することができる。この公開鍵もまた、配布用アプリケーションパッケージ３０とは別にデータ提供者からユーザに配布される。
【００５１】
本実施形態では、アプリケーションの配布元となるデータ提供者が上記の前処理ＰＳ１〜ＰＳ３を行い、３つのファイル３２，３４，３６について暗号化を行っているため、データの提供に際して有効な盗聴対策が施されている。すなわち、正規のユーザ以外の第三者（悪意者）が配布用アプリケーションパッケージ３０を不正に取得した場合であっても、共通鍵及び公開鍵を有していない第三者はこれを復号することができない。その結果、第三者はアプリケーションを利用することができないので、その不正使用が確実に防止される。また、第三者にアプリケーションファイル３２の内容（ソース）を読み取られることがないため、その悪用も防止することができる。
【００５２】
以上が本実施形態のデータ提供システムを用いて提供される配布用アプリケーションパッケージ３０の詳細である。一方、ＭＦＰ１００を用いて配布用アプリケーションパッケージ３０の提供を受けるユーザは、以下の手順に沿って実際にアプリケーションを利用することができる。
【００５３】
図３及び図４は、アプリケーションのインストール処理シーケンス（データ受領プログラム）の一例を示したフローチャートである。以下、シーケンス例について、その手順に沿って説明する。
【００５４】
ステップＳ１０：ユーザの操作に基づき、これからインストールしようとするアプリケーションの配布元（サーバ１０４や外部メディア２８等）にＭＦＰ１００が接続される。上記の通り、サーバ１０４との接続はインターネット１０２を通じて行われる。また外部メディア２８との接続は、その規格に対応するハードウエアインタフェースを通じて行われる。
【００５５】
ステップＳ１１：次にＭＦＰ１００は、接続した配布元にあるアプリケーションに関する情報を取得し、その一覧を画面（操作パネル）に表示する。
【００５６】
ステップＳ１２：ユーザが行う操作入力に基づいて、これからＭＦＰ１００にインストールする対象のアプリケーションが指定され、あわせてアプリケーションのライセンスキーが（登録）される。入力されたライセンスキーは、例えばＭＦＰ１００が有するメモリ（ＲＡＭ）に記憶される。
【００５７】
ステップＳ１３：次にＭＦＰ１００では、先のステップＳ１２で指定されたアプリケーションに応じてダウンロード場所（ＵＲＬ等）が指定される。
ステップＳ１４：ＭＦＰ１００は指定された場所にアクセスし、そこに配布用アプリケーションパッケージ３０が存在するか否かを確認する。
【００５８】
ステップＳ１５：先のステップＳ１３でユーザが指定した場所が正しくなかった場合、つまり、そこに配布用アプリケーションパッケージ３０が存在していなければ（ステップＳ１４＝Ｎｏ）、ＭＦＰ１００は操作パネルにアプリケーションが存在しない旨のエラーメッセージを表示し、その旨をユーザに通知する。この場合、ＭＦＰ１００はひとまず本シーケンスを終了する（接続符号図３中Ｂ→図４中Ｂへ）。
【００５９】
ステップＳ１６：一方、先のステップＳ１３でユーザが指定した場所が正しければ（ステップＳ１４＝Ｙｅｓ）、ＭＦＰ１００は、その指定場所からアプリケーションの配布用アプリケーションパッケージ３０をダウンロードする。
【００６０】
ステップＳ１７：ＭＦＰ１００は、ダウンロードした配布用アプリケーションパッケージ３０を解凍する。解凍が完了すると、そこに同梱されている３つの暗号化ファイル、つまり上記の暗号化アプリケーション１３２、電子署名１３４及び暗号化アプリケーション情報１３６が取り出される。
【００６１】
ステップＳ１８：次にＭＦＰ１００は、予め入力（登録）されている公開鍵を用いて電子署名１３４を復号する。これにより、上記のダイジェストファイル３４が取り出されることになる。なお公開鍵は、上述したとおり配布元で電子署名１３４の暗号化に使用された秘密鍵と対になるものである。
【００６２】
ステップＳ１９：ＭＦＰ１００はダイジェストファイル３４に基づき、アプリケーションの配布元（サーバ１０４又は外部メディア２８）が正規のものであるか否かを判断する。例えば、第三者が別のサーバを設置し、配布元になりすましていた場合、ダイジェストファイル３４の内容が配布元のものと一致しないことから、それによって正規の配布元でないことが発覚する。
【００６３】
ステップＳ２０：配布元が正規のものでないと判断した場合（ステップＳ１９＝Ｎｏ）、ＭＦＰ１００は、アプリケーションファイルが不正なものである旨のメッセージをユーザに通知するとともに、ダウンロードしたファイルを削除する。この場合、ここでＭＦＰ１００は本シーケンスを終了する（接続符号図３中Ｂ→図４中Ｂへ）。
【００６４】
ステップＳ２１：一方、配布元が正規のものであることが確認できた場合（ステップＳ１９＝Ｙｅｓ）、ＭＦＰ１００は、予め入力（登録）されている公開鍵を用いて暗号化アプリケーション情報１３６を復号する。なお、これ以降のシーケンスは図４に示されている（接続符号図３中Ａ→図４中Ａ）。
【００６５】
ステップＳ２２：ＭＦＰ１００は、暗号化アプリケーション情報１３６の復号に成功したか否かを確認する。このとき例えば、ユーザの保持していた公開鍵が違っていると、ＭＦＰ１００は復号に失敗する。復号に失敗した場合（Ｎｏ）、ＭＦＰ１００は次にステップＳ２３に進む。
【００６６】
ステップＳ２３：ＭＦＰ１００は操作パネルにてエラーメッセージを表示し、復号に失敗した旨をユーザに通知する。
ステップＳ２４：次にＭＦＰ１００は、ダウンロードしたファイルを削除し、ここで本シーケンスを終了する。
【００６７】
一方、先のステップＳ２１で暗号化アプリケーション情報１３６の復号に成功した場合（ステップＳ２２＝Ｙｅｓ）、上記のアプリケーション情報ファイル３６が正しく取り出されることになる。この場合、ＭＦＰ１００はステップＳ２５に進む。
【００６８】
ステップＳ２５：アプリケーション情報ファイル３６にはライセンスキーが含まれているため、これを用いてＭＦＰ１００は暗号化アプリケーション１３２を復号する。
【００６９】
ステップＳ２６：ＭＦＰ１００は、暗号化アプリケーション１３２の復号に成功したか否かを確認する。何らかの理由でライセンスキーが不一致（例えば期限切れ、最新のものでない等）であると、ＭＦＰ１００は復号に失敗する。復号に失敗した場合（Ｎｏ）、ＭＦＰ１００は次にステップＳ２３に進む。
【００７０】
ステップＳ２３：ＭＦＰ１００は操作パネルにてエラーメッセージを表示し、復号に失敗した旨をユーザに通知する。
ステップＳ２４：次にＭＦＰ１００は、ダウンロードしたファイルを削除し、ここで本シーケンスを終了する。
【００７１】
一方、先のステップＳ２５で暗号化アプリケーション１３２の復号に成功した場合（ステップＳ２６＝Ｙｅｓ）、インストールする対象のアプリケーションファイル３２が正しく取り出されることになる。この場合、ＭＦＰ１００はステップＳ２７に進む。
【００７２】
ステップＳ２７：ＭＦＰ１００はアプリケーションファイル３２のダイジェスト（ハッシュ値）を演算する。
ステップＳ２８：次にＭＦＰ１００は、演算した結果を先のステップＳ１８で取り出したダイジェストファイル３４のハッシュ値と照合する。照合の結果、ハッシュ値が不一致であれば（Ｎｏ）、ＭＦＰ１００はステップＳ２３に進む。
【００７３】
ステップＳ２３：ＭＦＰ１００は、操作パネルにて不正メッセージを表示し、ダウンロードしたアプリケーションファイル３２が不正である旨をユーザに通知する。
ステップＳ２４：この場合、ＭＦＰ１００はダウンロードしたファイルを削除し、ここで本シーケンスを終了する。
【００７４】
一方、ステップＳ２８で照合を行った結果、ハッシュ値が相互に一致していれば（Ｙｅｓ）、ダウンロードしたアプリケーションファイル３２が正規のものであることが確認できる。この場合、ＭＦＰ１００はステップＳ２９に進む。
【００７５】
ステップＳ２９：ＭＦＰ１００はアプリケーションファイル３２を保存する。なお保存場所は、例えばメモリ、ハードディス等の固定記憶装置である。これにより、配布されたアプリケーションファイル３２がＭＦＰ１００で使用可能な状態（図１に示されるアプリケーション１８の１つ）となる。
【００７６】
ステップＳ３０：またＭＦＰ１００は、アプリケーション情報ファイル３６中のデータを読み込み、そのデータをアプリケーション属性として登録する。登録される属性には、上述したものの他に、例えばアプリケーションのＩＤや使用有効期限日等も含まれる。登録を完了すると、ＭＦＰ１００は以上で本シーケンスを終了する。
【００７７】
上記のシーケンス例には以下の利点がある。
先ずユーザサイドでは、配布元しか持っていない秘密鍵を用いて暗号化されたファイルを、その秘密鍵と対になる配布元の公開鍵で復号する処理（ステップＳ１８，Ｓ２１）を行っているため、配布元が真正であることを確認することができる。この処理は、いわゆる「なりすまし」への対策として有効である。
【００７８】
また暗号化アプリケーション１３２については、アプリケーションのライセンスキーから作られた共通鍵で復号する処理（ステップＳ２５）を行うことにより、配布元から有効なライセンスを与えられたユーザだけがアプリケーションをインストールすることができる。この処理は、いわゆる「ライセンス」対応として有効である。
【００７９】
電子署名１３４は、配布用アプリケーションパッケージ３０に同梱されているアプリケーションファイル３２のダイジェストを暗号化したものなので、復号して得られるダイジェストにより、同梱されているアプリケーションファイル３２の正当性を証明することができる。この処理は、いわゆる「改ざん」対策として有効である。
【００８０】
本発明は上述した実施形態に制約されることなく、各種の変形や追加を伴って実施することができる。
【００８１】
例えば、一実施形態では暗号化アプリケーション１３２、電子署名１３４及び暗号化アプリケーション情報１３６を配布用アプリケーションパッケージ３０として１つの圧縮ファイルにまとめたものをユーザに配布しているが、これらは相互に関連づけた状態で、個別に又は複数に分割して配布される態様であってもよい。
【００８２】
一実施形態では、ダイジェストファイル３４とアプリケーション情報ファイル３６とを分けているが、例えばアプリケーションのダイジェストは、アプリケーション情報ファイル３６中に格納してもよい。この場合であっても、暗号化アプリケーション情報１３６を公開鍵で復号しているので、その入手経路の真正から配布元が正規のものであることを確認することができる。
【００８３】
また、配布元のサーバ１０４や外部メディア２８には、そこに記憶されているアプリケーションのリストを置いておくことで真正を確認することができる。例えば、サーバ１０４又は外部メディア２８のリストに記載されていないアプリケーションが書き込まれていた場合、そのアプリケーションは真正な者でないことを容易に確認することができる。あわせてＭＦＰ１００の所定の場所（記憶装置）にも、既にインストールされているアプリケーションのリストを置いておけばよい。
【００８４】
一実施形態では、新規に追加のアプリケーションをインストールする場合について述べているが、上述したシーケンスは、既にＭＦＰ１００にインストールされているアプリケーションをアップデートする際にも適用することができる。なお、アプリケーションをアップデートする際は、先に例として示した「バージョン」をインストール時に確認すればよい。
【００８５】
また一実施形態では、配布対象としてＭＦＰ１００等の電子機器で利用されるアプリケーションを例に挙げているが、配布対象は暗号化が可能な電子データであれば何でもよい。また、電子データの提供を受ける電子機器はＭＦＰ１００に限らず、汎用のパーソナルコンピュータや携帯情報端末等であってもよい。
【図面の簡単な説明】
【００８６】
【図１】データ提供システム及びデータ受領システムの各構成例を示した概略図である。
【図２】配布用アプリケーションパッケージの構成とその生成手順を概略的に示したフロー図である。
【図３】アプリケーションのインストール処理シーケンス例を示したフローチャート（１／２）である。
【図４】アプリケーションのインストール処理シーケンス例を示したフローチャート（２／２）である。
【符号の説明】
【００８７】
３０    配布用アプリケーションパッケージ
３２    アプリケーションファイル
３４    ダイジェストファイル
３６    アプリケーション情報ファイル
１００    ＭＦＰ
１０２    インターネット
１０４    サーバ
１３２    暗号化アプリケーション
１３４    電子署名
１３６    暗号化アプリケーション情報
【図１】
2008177683.tif 000003
【図２】
2008177683.tif 000004
【図３】
2008177683.tif 000005
【図４】
2008177683.tif 000006