JP4728611B2 - 記憶媒体、記憶装置、情報処理装置、情報処理方法、情報処理プログラム及び記録媒体 - Google Patents

記憶媒体、記憶装置、情報処理装置、情報処理方法、情報処理プログラム及び記録媒体 Download PDF

Info

Publication number
JP4728611B2
JP4728611B2 JP2004230106A JP2004230106A JP4728611B2 JP 4728611 B2 JP4728611 B2 JP 4728611B2 JP 2004230106 A JP2004230106 A JP 2004230106A JP 2004230106 A JP2004230106 A JP 2004230106A JP 4728611 B2 JP4728611 B2 JP 4728611B2
Authority
JP
Japan
Prior art keywords
file
identification information
storage medium
pdid
stored
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.)
Expired - Lifetime
Application number
JP2004230106A
Other languages
English (en)
Other versions
JP2005301969A (ja
Inventor
浩二 清水
邦洋 秋吉
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2004230106A priority Critical patent/JP4728611B2/ja
Priority to US10/915,335 priority patent/US8209547B2/en
Priority to EP04254846A priority patent/EP1507186B1/en
Priority to CN200410100524.4A priority patent/CN1611365A/zh
Publication of JP2005301969A publication Critical patent/JP2005301969A/ja
Application granted granted Critical
Publication of JP4728611B2 publication Critical patent/JP4728611B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

本発明は、メモリカード等の記憶媒体、ハードディスクドライブ等の記憶装置、主たる機能として情報処理機能を備える情報機器/従たる機能として情報処理機能を備える電気機器等の情報処理装置、情報処理方法、情報処理プログラム、記録媒体に関する。主たる機能として情報処理機能を備える情報機器の具体例としては、パーソナルコンピュータが挙げられる。従たる機能として情報処理機能を備える電気機器の具体例としては、近年、情報処理機能の高度化が目覚しいコピー/プリンタ/スキャナ/ファクシミリ/複合機/融合機等の画像形成装置が挙げられる。
近年、コピー機能とプリンタ機能とスキャナ機能とファクシミリ機能を備える複合機や融合機が市販されるようになった。複合機や融合機は、コピーやプリンタとして機能する場合には、画像を印刷用紙に印刷することになり、コピーやスキャナとして機能する場合には、画像を読取原稿から読み取ることになり、ファクシミリとして機能する場合には、画像を電話回線を介して他の機器と授受することになる。
特開2002−84383号公報
複合機や融合機では、アプリケーションやプラットフォームと言った様々なプログラムによって様々な情報処理が実行される。これらのプログラムはこれらの機器に出荷前から実装されているのが普通だが、これらのプログラムをこれらの機器にメモリカードを使用して出荷後に入力できるようになっていたり、これらのプログラムをこれらの機器に装着されているハードディスクドライブに出荷後に追加できるようになっていたりすれば便利である。その一方で、メモリカードが不正にコピーされたり使用されたりして、複合機や融合機にプログラムが不正に入力されてしまう危険性や、ハードディスクドライブを一の機器から他の機器に付け替えると言ったハードディスクドライブに関する不正行為が実行されて、複合機や融合機にプログラムが不正に供給されてしまう危険性もある。
本発明は、画像形成装置等の情報処理装置にメモリカード等の記憶媒体を使用してプログラムを入力できるような場合において、記憶媒体が不正にコピーされたり使用されたりして、情報処理装置にプログラムが不正に入力されてしまう危険性に対処することを課題とする。
本発明は、画像形成装置等の情報処理装置に装着されているハードディスクドライブ等の記憶装置にプログラムを追加できるような場合において、記憶装置に関する不正行為が実行されて、情報処理装置にプログラムが不正に供給されてしまう危険性に対処することを課題とする。
請求項1に記載の発明(情報処理装置)は、記憶媒体に格納されたアプリケーションプログラムによる処理の実行制御を行う情報処理装置であって、
該記憶媒体に格納されている、該記憶媒体が正当であるか否かを判断するための確認プログラムの起動要求を行う確認プログラム起動要求手段と、
前記確認プログラム起動要求手段による起動要求に対して、前記記憶媒体に格納されている確認プログラムから正常に起動された旨の通知がなされた場合に、該記憶媒体が正当であると判断する記憶媒体正当性判断手段と、
該記憶媒体正当性判断手段により該記憶媒体が正当であると判断された場合に、該記憶媒体に格納される前記アプリケーションプログラムを識別するための識別情報を、該記憶媒体に固有の情報とに基づいて暗号化する識別情報暗号化手段と、
前記識別情報暗号化手段によって暗号化された暗号化識別情報を該記憶媒体に登録する登録手段と、
該暗号化識別情報を復号化するための復号鍵を作成する復号鍵作成手段と、
前記復号鍵作成手段により作成された復号鍵を用いて、前記暗号化された暗号化識別情報を復号する復号化手段と、前記復号化手段により復号化された復号化識別情報と前記アプリケーションプログラムを識別するための識別情報に基づいて前記アプリケーションプログラムの正当性を判断するアプリケーションプログラム正当性判断手段と、
更に、前記確認プログラム起動要求手段による起動要求に対して、前記確認プログラムが正常に起動された旨の通知がなされなかった場合に、前記記憶媒体正当性判断手段により該記憶媒体が正当でないと判断され、その後の処理を終了する第一の終了手段と、
を備えることを特徴とする情報処理装置である。
請求項2に記載の発明(情報処理装置)は、前記アプリケーションプログラム正当性判断手段が、前記登録手段により登録された前記暗号化識別情報と前記識別情報とに基づいて前記アプリケーションプログラムが正当であると判断した場合、当該アプリケーションプログラムの起動処理又は起動権設定を行う請求項1記載の情報処理装置である。
請求項3に記載の発明(情報処理装置)は、前記実行制御手段は、
前記アプリケーションプログラム正当性判断手段により、正当であると判断された場合に実行を制御することを特徴とする請求項2記載の情報処理装置である。
請求項4に記載の発明(情報処理装置)は、前記実行制御手段によって制御されるのは、前記アプリケーションプログラムの起動または起動権の設定であることを特徴とする請求項2又は3記載の情報処理装置である。
請求項5に記載の発明(情報処理装置)は、前記アプリケーションプログラムに格納されている、前記アプリケーションプログラムが所定の条件に従って作成されたプログラムファイルであることを識別するための識別コードに基づいて、前記アプリケーションプログラムが所定の条件に従って作成されたプログラムファイルであることを識別する識別手段を備えることを特徴とする請求項1乃至4のいずれか1項記載の情報処理装置である。
請求項6に記載の発明(情報処理装置)は、前記識別手段による識別処理は、前記登録手段による登録処理よりも前に実行され、
前記識別手段は、
前記識別コードが前記記憶媒体に格納されているか否かを識別し、
該識別コードが格納されていない場合には、前記登録手段による登録処理を行わないことを特徴とする請求項5記載の情報処理装置である。
請求項7に記載の発明(情報処理装置)は、前記識別手段は、
前記識別コードが前記記憶媒体に格納されているか否かを識別し、
該識別コードが格納されていない場合には、前記アプリケーションプログラム正当性判断手段による正当性判断処理を行わないことを特徴とする請求項5または6記載の情報処理装置である。
請求項8に記載の発明(情報処理装置)は、前記記憶媒体と、前記暗号化識別情報が格納されている暗号化識別情報格納ファイルと、の整合性を確認するための情報であって、暗号化識別情報格納ファイルに格納され、前記記憶媒体に係る固有のデータを含む整合性確認情報が所定のものであるか否かにより、前記記憶媒体と該記憶媒体の前記暗号化識別情報格納ファイルとの整合性を確認する整合性確認手段と、
前記整合性確認手段によって前記記憶媒体と、該記憶媒体の前記暗号化識別情報格納ファイルとが整合しないと確認された場合に、前記登録処理または前記アプリケーションプログラム正当性判断手段による正当性判断処理を行わずに処理を終了する第二の終了手段を備え、
前記整合性確認情報は、前記記憶媒体に固有の情報に基づいて作成されていることを特徴とする請求項1乃至7のいずれか一項に記載の情報処理装置である。
請求項9に記載の発明(情報処理装置)は、前記記憶媒体に格納可能な前記アプリケーションプログラムの個数の上限値の情報であって、暗号化識別情報格納ファイルに格納されている上限値まで、前記登録手段は、暗号化された暗号化識別情報を該記憶媒体に登録することを特徴とする請求項1乃至8のいずれか一項に記載の情報処理装置。
請求項10に記載の発明(情報処理装置)は、前記登録手段は、前記アプリケーションプログラムの識別情報を登録するための暗号化識別情報格納ファイルに設けられた登録欄に、格納されたダミー情報に代えて、前記暗号化識別情報を登録することを特徴とする請求項1乃至9のいずれか一項に記載の情報処理装置である。
請求項11に記載の発明(情報処理装置)は、当該記憶媒体に固有の情報は、当該記憶媒体のシリアルID、または当該記憶媒体のシリアルIDと、当該記憶媒体の正当性を確認するためのプログラムの設定ファイルの電子署名を書き込んだ認証ファイルとから生成したメッセージダイジェストであることを特徴とする請求項1乃至10のいずれか一項に記載の情報処理装置である。
請求項12に記載の発明(情報処理装置)は、前記識別手段によって前記アプリケーションが所定の条件に従って作成されたプログラムファイルであることが識別されると、
前記アプリケーションプログラムを起動させる起動手段を備えることを特徴とする請求項5乃至7のいずれか1項に記載の情報処理装置である。
請求項13に記載の発明(情報処理装置)は、前記登録手段による前記アプリケーションプログラムの前記暗号化識別情報の登録処理が実行済か未実行かを確認するための登録済確認用データに基づいて、該暗号化識別情報が登録されているか否かを確認する確認手段を備え、
前記確認手段によって前記登録処理が未実行と確認された場合に、前記識別情報暗号化手段により暗号化された前記暗号化識別情報を前記登録手段により登録し、前記復号鍵作成手段により前記暗号化識別情報の復号鍵を作成し、
前記登録手段による登録処理が実行されると、前記登録済確認用データに前記暗号化識別情報の登録済を登録する登録済登録手段をさらに備えることを特徴とする請求項1乃至12のいずれか1項に記載の情報処理装置である。
請求項14に記載の発明(情報処理装置)は、前記確認手段により前記登録処理が実行済と確認された場合に、前記暗号化識別情報の復号鍵を前記復号鍵作成手段より作成し、前記アプリケーションプログラムの正当性を判断することを特徴とする請求項13記載の情報処理装置である。
請求項14に記載の発明(情報処理装置)は、前記確認手段は、前記登録済確認用データに基づいて前記登録手段による登録処理が未実行か、第一の登録手段による登録までが登録済か、第二の登録手段による登録までが登録済かを確認し、
前記登録手段は、
前記確認手段の確認に応じて、前記記憶媒体に固有の情報に基づいて暗号化された第一の暗号化識別情報を登録する第一の登録手段と、
前記確認手段の確認に応じて、当該情報処理装置に固有の情報に基づいて暗号化された第二の暗号化識別情報を登録する第二の登録手段とから成り、
前記復号鍵作成手段は、
前記第一の登録手段による登録処理を行うときに、前記第一の暗号化識別情報を復号化するための前記記憶媒体に固有の情報に基づく復号鍵を作成する第一の作成手段と、
前記第二の登録手段による登録処理を行うときに、前記第二の暗号化識別情報を復号化するための当該情報処理装置に固有の情報に基づく復号鍵を作成する第二の作成手段とから成り、
前記実行制御手段による実行制御は、前記第二の暗号化識別情報を用いて行われることを特徴とする請求項12又は13記載の情報処理装置である。
請求項16に記載の発明(情報処理装置)は、前記情報処理装置は画像形成装置であることを特徴とする請求項1乃至15記載の情報処理装置である。
請求項17に記載の発明(情報処理装置)は、プログラムを記憶する記憶装置を設け、
前記実行制御手段は、正当性が判断されたアプリケーションプログラムを、前記記憶装置に記憶することを特徴とする請求項1乃至16記載の情報処理装置である。
請求項17に記載の発明(記憶媒体)は、
情報処理装置に処理を実行させるためのアプリケーションプログラムを前記情報処理装置に入力するための記憶媒体であって、
当該アプリケーションプログラムを識別するための識別情報が格納されている前記アプリケーションプログラムのプログラムファイルを格納する第一の格納ファイルと、
当該記憶媒体が正当であるか否かを判断するための確認プログラムを格納する第二の格納ファイルと、
第一の格納ファイルに格納された前記識別情報が、当該記憶媒体に固有の情報をもとに暗号化されて登録される暗号化識別情報格納ファイルとを備え、
前記確認プログラムは、前記情報処理装置に搭載されたとき、前記情報処理装置からの前記確認プログラムの起動要求に応じて起動し、起動後、当該確認プログラムが起動した旨を前記情報処理装置に通知し、その結果、該情報処理装置によって当該記憶媒体が正当であると判断され、
前記暗号化識別情報格納ファイルには、前記情報処理装置によって当該記憶媒体が正当であると判断された場合に、前記識別情報が、前記情報処理装置によって当該記憶媒体に固有の情報又は前記情報処理装置に固有の情報に基づいて暗号化された暗号化識別情報が格納され、
前記暗号化識別情報格納ファイルに格納された暗号化識別情報は、前記情報処理装置によって復号され、復号された暗号化識別情報と前記当該アプリケーションプログラムを識別するための識別情報とに基づいて前記アプリケーションプログラムの正当性が、前記情報処理装置によって判断されることを特徴とする記憶媒体である。
請求項19に記載の発明(記憶媒体)は、前記第一の格納ファイルには、
前記アプリケーションプログラムが所定の条件に従って作成されたプログラムファイルであることを識別するための識別コードが格納されることを特徴とする請求項18記載の記憶媒体である。
請求項20に記載の発明(記憶媒体)は、前記暗号化識別情報格納ファイルには、
前記記憶媒体と、該記憶媒体の暗号化識別情報格納ファイルとの整合性を確認するための前記整合性確認情報が格納されることを特徴とする請求項18又は19記載の記憶媒体である。
請求項21に記載の発明(記憶媒体)は、前記暗号化識別情報格納ファイルには、
格納可能な前記識別情報の個数の上限値が設定されていると共に、当該暗号化識別情報格納ファイルに格納されている前記識別情報の個数の値が格納されていることを特徴とする請求項18乃至20のいずれか1項に記載の記憶媒体である。
請求項22に記載の発明(記憶媒体)は、前記暗号化識別情報格納ファイルに前記識別情報が格納される際には、前記識別情報を格納するための格納領域に前記識別情報の代わりに格納されている格納情報に替わり前記識別情報が格納される形で、前記暗号化識別情報格納ファイルに前記識別情報が格納されることを特徴とする請求項18乃至21のいずれか1項に記載の記憶媒体である。
請求項23に記載の発明(記憶媒体)は、当該記憶媒体に固有の情報は、当該記憶媒体のシリアルID、または当該記憶媒体のシリアルIDと、前記確認プログラムの設定ファイルの電子署名を書き込んだ認証ファイルとから生成したメッセージダイジェストであることを特徴とする請求項18乃至22のいずれか1項に記載の記憶媒体である。
請求項24に記載の発明(記憶媒体)は、前記暗号化識別情報格納ファイルには
前記情報処理装置の前記登録手段による前記アプリケーションプログラムの前記暗号化識別情報の登録処理が実行済か未実行かを確認するための登録済確認用データが格納されることを特徴とする請求項18乃至23のいずれか1項記載の記憶媒体である。
請求項25に記載の発明(情報処理方法)は、請求項18〜24のいずれか1項に記載の記憶媒体が使用されて入力された前記アプリケーションプログラムにより情報処理を実行する情報処理装置、にて実行される情報処理方法であって、
前記記憶媒体内の前記プログラムファイルに格納された前記アプリケーションプログラムのIDを、当該記憶媒体に固有の情報又は当該情報処理装置に固有の情報で暗号化して当該記憶媒体内の前記IDファイルに格納するID格納段階を備えることを特徴とする情報処理方法である。
請求項25に記載の発明(システム)は、記憶媒体に格納されたアプリケーションプログラムによる処理の実行制御を行う情報処理装置と、該情報処理装置に装着されて当該情報処理装置に情報処理を実行させるためのプログラムの記憶先として使用される記憶装置とからなるシステムであって、
前記情報処理装置は、
該記憶媒体に格納されている、該記憶媒体が正当であるか否かを判断するための確認プログラムの起動要求を行う確認プログラム起動要求手段と、
前記確認プログラム起動要求手段による起動要求に対して、前記記憶媒体に格納されている確認プログラムから正常に起動された旨の通知がなされた場合に、該記憶媒体が正当であると判断する記憶媒体正当性判断手段と、
該記憶媒体正当性判断手段により該記憶媒体が正当であると判断された場合に、該記憶媒体に格納される前記アプリケーションプログラムを識別するための識別情報を、該記憶媒体に固有の情報に基づいて暗号化する識別情報暗号化手段と、
前記識別情報暗号化手段によって暗号化された暗号化識別情報を該記憶媒体に登録する登録手段と、
該暗号化識別情報を復号化するための復号鍵を作成する復号鍵作成手段と、
前記復号化手段により復号化された復号化識別情報と前記アプリケーションプログラムを識別するための識別情報とを照合し、両者が一致した場合に前記アプリケーションプログラムが正当であると判断し、両者が一致しない場合に前記アプリケーションプログラムが正当でないと判断するアプリケーションプログラム正当性判断手段と、
更に、前記確認プログラム起動要求手段による起動要求に対して、前記確認プログラムが正常に起動された旨の通知がなされなかった場合に、前記記憶媒体正当性判断手段により該記憶媒体が正当でないと判断され、その後の処理を終了する第一の終了手段と、を備え、
前記記憶装置は、
当該アプリケーションプログラムを識別するための識別情報が格納されている前記アプリケーションプログラムのプログラムファイルを格納する第一の格納ファイルと、
第一の格納ファイルに格納された前記識別情報が、当該記憶媒体に固有の情報又は前記画像形成装置に固有の情報をもとに暗号化されて登録される暗号化識別情報格納ファイルとを備えている
ことを特徴とするシステムである。
請求項27に記載の発明(システム)は、前記第一の格納ファイルには、
前記アプリケーションプログラムが所定の条件に従って作成されたプログラムファイルであることを識別するための識別コードが格納されることを特徴とする請求項26記載のシステムである。
請求項28に記載の発明(システム)は、前記暗号化識別情報格納ファイルには、
格納可能な前記識別情報の個数の上限値が設定されていると共に、当該第二の格納ファイルに格納されている前記識別情報の個数の値が格納されていることを特徴とする請求項26又は27に記載のシステムである。
請求項29に記載の発明(システム)は、前記暗号化識別情報格納ファイルに前記識別情報が格納される際には、前記識別情報を格納するための格納領域に前記識別情報の代わりに格納されている格納情報に替わり前記識別情報が格納される形で、前記第二の格納ファイルに前記識別情報が格納されることを特徴とする請求項26乃至28のいずれか1項に記載のシステムである。
請求項30に記載の発明(システム)は、当該記憶装置に固有の情報は、当該記憶装置機体番号のチェックサムであることを特徴とする請求項26乃至29のいずれか1項に記載のシステムである。
請求項31に記載の発明(プログラム)は、請求項25に記載の情報処理方法をコンピュータに実行させる情報処理プログラムである。
本発明は、画像形成装置等の情報処理装置にメモリカード等の記憶媒体を使用してプログラムを入力できるような場合において、記憶媒体が不正にコピーされたり使用されたりして、情報処理装置にプログラムが不正に入力されてしまう危険性に対処することを可能にする。
本発明は、画像形成装置等の情報処理装置に装着されているハードディスクドライブ等の記憶装置にプログラムを追加できるような場合において、記憶装置に関する不正行為が実行されて、情報処理装置にプログラムが不正に供給されてしまう危険性に対処することを可能にする。
図39は、本発明の実施例に該当する情報処理装置11を表す。図39の情報処理装置11は、種々のハードウェア21と、種々のソフトウェア22と、起動部23により構成される。
情報処理装置11のハードウェア21としては、CPUやROMやRAMやHDD等により構成される情報処理部、MODEMやNIC等により構成される通信部、キーボードやマウスやディスプレイ等により構成される操作表示部が存在する。
情報処理装置11のソフトウェア22としては、種々のアプリケーション31、種々のプラットフォーム32が存在する。プラットフォーム32としては、情報処理部に関する制御を行うモジュール、通信部に関する制御を行うモジュール、操作表示部に関する制御を行うモジュール、認証処理に関する制御を行うモジュール、ユーザ情報の管理に関する制御を行うモジュール、システムの管理に関する制御を行うモジュールが存在する。これらのプログラムは、UNIX(登録商標)等のOS(オペレーティングシステム)によりプロセス単位で並列的に実行される。
起動部23は、情報処理装置11の電源投入時に最初に実行される。これにより、UNIX(登録商標)等のOSが起動され、アプリケーション31やプラットフォーム32が起動される。これらのプログラムは、HDDやメモリカードに蓄積されており、HDDやメモリカードから再生されて、RAMに起動されることになる。
図39の情報処理装置11の具体例としては、主たる機能として情報処理機能を備える情報機器/従たる機能として情報処理機能を備える電気機器等が挙げられる。主たる機能として情報処理機能を備える情報機器の具体例としては、パーソナルコンピュータが挙げられる。従たる機能として情報処理機能を備える電気機器の具体例としては、近年情報処理機能の高度化が目覚しいコピー/プリンタ/スキャナ/ファクシミリ/複合機/融合機等の画像形成装置が挙げられる。以下、情報処理装置11の具体例である融合機101について説明する。
図1は、本発明の実施例に該当する融合機101を表す。図1の融合機101は、種々のハードウェア111と、種々のソフトウェア112と、融合機起動部113により構成される。
融合機101のハードウェア111としては、撮像部121と、印刷部122と、その他のハードウェア123が存在する。撮像部121は、読取原稿から画像(画像データ)を読み取るためのハードウェアである。印刷部122は、画像(画像データ)を印刷用紙に印刷するためのハードウェアである。
融合機101のソフトウェア112としては、種々のアプリケーション131と、種々のプラットフォーム132が存在する。これらのプログラムは、UNIX(登録商標)等のOS(オペレーティングシステム)によりプロセス単位で並列的に実行される。
アプリケーション131としては、コピー用のアプリケーションであるコピーアプリ141、プリンタ用のアプリケーションであるプリンタアプリ142、スキャナ用のアプリケーションであるスキャナアプリ143、ファクシミリ用のアプリケーションであるファクシミリアプリ144、ネットワークファイル用のアプリケーションであるネットワークファイルアプリ145が存在する。
アプリケーション131は、専用のSDK(ソフトウェア開発キット)を使用して開発することができる。SDKを使用して開発したアプリケーション131をSDKアプリと呼ぶ。SDKは、プラットフォーム132の実行形式ファイル、プラットフォーム132の専用関数ライブラリ、C言語の標準関数ライブラリ、アプリケーション131のソースファイルをコンパイルすることでアプリケーション131のオブジェクトファイルを生成するコンパイラ、アプリケーション131のオブジェクトファイルを専用関数ライブラリや標準関数ライブラリにリンクさせることでアプリケーション131の実行形式ファイルを生成するリンカで構成されている。
プラットフォーム132としては、種々のコントロールサービス151、システムリソースマネージャ152、種々のハンドラ153が存在する。コントロールサービス151としては、ネットワークコントロールサービス(NCS)161、ファクシミリコントロールサービス(FCS)162、デリバリコントロールサービス(DCS)163、エンジンコントロールサービス(ECS)164、メモリコントロールサービス(MCS)165、オペレーションパネルコントロールサービス(OCS)166、サーティフィケーションコントロールサービス(CCS)167、ユーザディレクトリコントロールサービス(UCS)168、システムコントロールサービス(SCS)169が存在する。ハンドラ153としては、ファクシミリコントロールユニットハンドラ(FCUH)171、イメージメモリハンドラ(IMH)172が存在する。
NCS161のプロセスは、ネットワーク通信の仲介を行う。FCS162のプロセスは、ファクシミリのAPIを提供する。DCS163のプロセスは、蓄積文書の配信処理に関する制御を行う。ECS164のプロセスは、撮像部121や印刷部122に関する制御を行う。MCS165のプロセスは、メモリやハードディスクドライブに関する制御を行う。OCS166のプロセスは、オペレーションパネルに関する制御を行う。CCS167のプロセスは、認証処理や課金処理に関する制御を行う。UCS168のプロセスは、ユーザ情報の管理に関する制御を行う。SCS169のプロセスは、システムの管理に関する制御を行う。
アプリケーション131とプラットフォーム132の仲介を行うソフトウェア112として、仮想アプリケーションサービス(VAS)135が存在する。VAS135は、アプリケーション131をクライアントとするサーバプロセスとして動作すると共に、プラットフォーム132をサーバとするクライアントプロセスとして動作する。VAS135は、アプリケーション131から見てプラットフォーム132を隠蔽するラッピング機能を備え、プラットフォーム132のバージョンアップによるバージョン差を吸収する役割等を担う。
融合機起動部113は、融合機101の電源投入時に最初に実行される。これにより、UNIX(登録商標)等のOSが起動され、アプリケーション131やプラットフォーム132が起動される。これらのプログラムは、ハードディスクドライブやメモリカードに蓄積されており、ハードディスクドライブやメモリカードから再生されて、メモリに起動されることになる。
図2は、図1の融合機101に係るハードウェア構成図である。融合機101のハードウェア111としては、コントローラ201と、オペレーションパネル202と、ファクシミリコントロールユニット(FCU)203と、撮像部121と、印刷部122が存在する。
コントローラ201は、CPU211、ASIC212、NB221、SB222、MEM−P231、MEM−C232、HDD(ハードディスクドライブ)233、メモリカードスロット234、NIC(ネットワークインタフェースコントローラ)241、USBデバイス242、IEEE1394デバイス243、セントロニクスデバイス244により構成される。
CPU211は、種々の情報処理用のICである。ASIC212は、種々の画像処理用のICである。NB221は、コントローラ201のノースブリッジである。SB222は、コントローラ201のサウスブリッジである。MEM−P231は、融合機101のシステムメモリである。MEM−C232は、融合機101のローカルメモリである。HDD233は、融合機101のストレージである。メモリカードスロット234は、メモリカード235をセットするためのスロットである。NIC241は、MACアドレスによるネットワーク通信用のコントローラである。USBデバイス242は、USB規格の接続端子を提供するためのデバイスである。IEEE1394デバイス243は、IEEE1394規格の接続端子を提供するためのデバイスである。セントロニクスデバイス244は、セントロニクス仕様の接続端子を提供するためのデバイスである。
オペレーションパネル202は、オペレータが融合機101に入力を行うためのハードウェア(操作部)であると共に、オペレータが融合機101から出力を得るためのハードウェア(表示部)である。
図3は、図1の融合機101に係る外観図である。図3には、撮像部121の位置と、印刷部122の位置と、オペレーションパネル202の位置が図示されている。図3には更に、読取原稿のセット先となる原稿セット部301と、印刷用紙の給紙先となる給紙部302と、印刷用紙の排紙先となる排紙部303が図示されている。
オペレーションパネル202は、図4のように、タッチパネル311と、テンキー312と、スタートボタン313と、リセットボタン314と、初期設定ボタン315により構成される。タッチパネル311は、タッチ操作で入力を行うためのハードウェア(タッチ操作部)であると共に、画面表示で出力を得るためのハードウェア(画面表示部)である。テンキー312は、キー操作で数字入力を行うためのハードウェアである。スタートボタン313は、ボタン操作でスタート操作を行うためのハードウェアである。リセットボタン314は、ボタン操作でリセット操作を行うためのハードウェアである。初期設定ボタン315は、ボタン操作で初期設定画面を表示させるためのハードウェアである。
原稿セット部301は、ADF(自動原稿搬送装置)321と、フラットベッド322と、フラットベッドカバー323により構成される。給紙部302は、4個の給紙トレイにより構成される。排紙部303は、1個の排紙トレイにより構成される。
(融合機起動部)
図1の融合機起動部113について説明する。
融合機起動部113は、図5のように、メモリモニタ部501と、プログラム起動部502により構成される。
図1の融合機101の電源を投入すると、メモリモニタ部501を構成するBIOSとブートローダが起動されて、これにより、UNIX(登録商標)等のOSが起動される。続いて、プログラム起動部502を構成する起動処理用プログラムが起動されて、これにより、アプリケーション131やプラットフォーム132が適宜起動される。なお、UNIX(登録商標)が起動される場合には、UNIX(登録商標)のカーネルが起動され、ルートファイルシステムが展開され、アプリケーション131やプラットフォーム132に係るファイルシステムがルートファイルシステムにマウントされることになる。
アプリケーション131やプラットフォーム132に係るマウント処理や起動処理の例を挙げておく。プログラム起動部502は、ルートファイルシステム内のetcのマスタ設定ファイル「init.conf」を読み込んで、マスタ設定ファイル内のコマンドに従ってマウント処理や起動処理を実行する。プログラム起動部502はさらに、マウントしたファイルシステム内の設定ファイル「init.conf」や「init.cnf」を読み込んで、設定ファイル内のコマンドに従ってマウント処理や起動処理を実行すると共に、マウントしたファイルシステム内の設定ディレクトリ「init.d」の設定ファイル「***.conf」や「***.cnf」を読み込んで、設定ディレクトリの設定ファイル内のコマンドに従ってマウント処理や起動処理を実行する。なお、設定ファイルの電子署名を書き込んだ認証ファイル「***.lic」を用意しておいて、プログラム起動部502が、設定ファイル内のコマンドに従ってマウント処理や起動処理を実行するのに先立って、設定ファイルの電子署名チェックを実行するようにしてもよい。
(メモリカード)
図2のメモリカード用スロット234とメモリカード235について説明する。
メモリカード用スロット234は、アプリケーション131やプラットフォーム132等のプログラムが記憶されたメモリカード235をセット(挿入)するためのスロットである。図1の融合機101においては、アプリケーション131やプラットフォーム132等のプログラムは、メモリカード用スロット234にセットされたメモリカード235等に蓄積されており、メモリカード用スロット234にセットされたメモリカード235等から再生されて、MEM−P231やMEM−C232に起動されることになる。
メモリカード235には、アプリケーション131やプラットフォーム132等のプログラムを、拡張子をmodとするmodファイル「***.mod」として各モジュール毎に記憶させておくと共に、modファイルの電子署名を、拡張子をmacとするmacファイル「***.mac」として各モジュール毎に記憶させておく。
メモリカード235には、設定ファイル(融合機起動部の欄参照)を、拡張子をcnfとするcnfファイル「***.cnf」として記憶させておくと共に、設定ファイルの電子署名を書き込んだ認証ファイル(融合機起動部の欄参照)を、拡張子をlicとするlicファイル「***.lic」として記憶させておく。
各ファイルの電子署名はここでは、MD5やSHA1等のハッシュ関数によって各ファイルから作成したメッセージダイジェストを、秘密鍵によって暗号化したものである。例えば、modファイルやcnfファイルの電子署名は、modファイルやcnfファイルから作成したメッセージダイジェストを、秘密鍵によって暗号化したものである。
各ファイルの電子署名チェックはここでは、各ファイルからMD5やSHA1等のハッシュ関数によって作成したメッセージダイジェストと、各ファイルの電子署名を公開鍵によって復号化したメッセージダイジェストとの照合をもって実行可能である。例えば、modファイルやcnfファイルの電子署名チェックは、modファイルやcnfファイルから作成したメッセージダイジェストと、macファイルやlicファイルに書き込んだ電子署名を公開鍵によって復号化したメッセージダイジェストとの照合をもって実行可能である。各ファイルの電子署名チェックは例えば、マウント処理や起動処理の一環としてプログラム起動部502が実行するようにする。
なお、メモリカード235としてSDメモリカードを採用する場合、cnfファイルの電子署名は、cnfファイルとSDシリアルIDとから作成したメッセージダイジェストを、秘密鍵によって暗号化したものでもよい。各SDメモリカードのSDシリアルIDは各SDメモリカードに固有なID(識別情報)なので、各SDメモリカードに記憶させておくlicファイルが各SDメモリカードに固有なファイルになり、SDメモリカードのコピー防止に役立つ。この場合、cnfファイルの電子署名チェックは、cnfファイルとSDシリアルIDとから作成したメッセージダイジェストと、licファイルに書き込んだ電子署名を公開鍵によって復号化したメッセージダイジェストとの照合をもって実行可能である。各SDメモリカードのSDシリアルIDは各SDメモリカードに記憶されている。
メモリカード235としては、フラッシュメモリカードの一種であるSD(Secure Digital)メモリカードを採用することにする。SDメモリカードを採用することで例えば、大容量のメモリを安価で利用できるというメリットを享受できる。なお、メモリカード用スロット234としては、SDメモリカード用スロットが採用される。
図1の融合機101には、図6のように、SDメモリカード用スロット601とSDメモリカード602(メモリカード用スロット234とメモリカード235に相当する)に係るソフトウェアとして、SDメモリカードアクセスドライバ(SDaccess)611と、SDメモリカードステータスドライバ(SDstates)612と、起動処理用プログラム613と、SDメモリカードチェックプログラム(SDcheck)614が存在する。
SDaccess611は、SDメモリカード602の挿入・抜出を検知する等、SDメモリカード602に対するアクセス制御を実行するドライバである。SDstates612は、SDメモリカード602の挿入・抜出・マウント・アンマウントに関する情報を管理するドライバである。起動処理用プログラム613は、図5のプログラム起動部502を構成するプログラムである。SDcheck614は、SDメモリカード602のマウント・アンマウントを実行するプログラムである。
SDメモリカード用スロット601にSDメモリカード602が挿入された場合、SDaccess611は、SDメモリカード602が挿入された事を検知(S1)すると共に、SDstates612にその事を通知(S2)する。これに応じて、SDstates612は、SDメモリカード602が挿入された旨の情報を管理することにすると共に、起動処理用プログラム613にその旨を通知(S3)する。これに応じて、起動処理用プログラム613は、SDメモリカード602のマウントを実行させるために、SDcheck614を起動(S4)させる。これに応じて、SDcheck614は、SDメモリカード602のマウントを実行(S5)すると共に、SDstates612にその事を通知(S6)する。これに応じて、SDstates612は、SDメモリカード602がマウントされた旨の情報を管理することにすると共に、起動処理用プログラム613等にその旨を通知(S7)する。
SDメモリカード用スロット601からSDメモリカード602が抜き出された場合、SDaccess611は、SDメモリカード602が抜き出された事を検知(S1)すると共に、SDstates612にその事を通知(S2)する。これに応じて、SDstates612は、SDメモリカード602が抜き出された旨の情報を管理することにすると共に、起動処理用プログラム613にその旨を通知(S3)する。これに応じて、起動処理用プログラム613は、SDメモリカード602のアンマウントを実行させるために、SDcheck614を起動(S4)させる。これに応じて、SDcheck614は、SDメモリカード602のアンマウントを実行(S5)すると共に、SDstates612にその事を通知(S6)する。これに応じて、SDstates612は、SDメモリカード602がアンマウントされた旨の情報を管理することにすると共に、起動処理用プログラム613等にその旨を通知(S7)する。
なお、SDメモリカードを採用することで、いわゆる活線挿抜が可能になるというメリットを享受できる。すなわち、SDメモリカード用スロット601にSDメモリカード602を挿入する操作と、SDメモリカード用スロット601からSDメモリカード602を抜き出す操作が、融合機101の起動後に実行可能になる。
(SDメモリカードとHDDの使用態様の具体例)
以上の説明を踏まえて、図6のSDメモリカード602(図2のメモリカード235に相当する)と図2のHDD233の使用態様の具体例について説明する。
(1)第1具体例
ここでは、図7により、SDKアプリ(図1の説明欄参照)を融合機101に入力するためのSDメモリカード602をメーカーからベンダーに配布し、ベンダーがSDKアプリを作成し、ユーザーがSDKアプリを融合機101にSDメモリカード602を使用して入力するようなビジネスモデルを具体例にして説明する。
図7AのSDメモリカード602は、市販のSDメモリカードである。
図7BのSDメモリカード602は、融合機101のメーカーから融合機101のベンダーに提供されるSDメモリカードである。図7BのSDメモリカード602は、図7AのSDメモリカード602に、SDメモリカードサービスファイル(SDserviceファイル)701や、PDIDファイル703を記憶させたものである。
図7CのSDメモリカード602は、融合機101のベンダーから融合機101のユーザーに提供されるSDメモリカードである。図7CのSDメモリカード602は、図7BのSDメモリカード602に、2個のSDKアプリファイル702(1個目をSDKアプリファイルA702A、2個目をSDKアプリファイルB702Bとする)を記憶させたものである。
図7DのSDメモリカード602は、融合機101のユーザーの元でPDID登録処理が実行されたSDメモリカードである。図7DのSDメモリカード602は、図7CのSDメモリカード602内のPDIDファイル703に、SDKアプリのPDID等を登録したものである。
SDserviceファイル701は、当該SDメモリカード602の正当性を、融合機101に確認させるためのファイルである。より詳細に言うと、当該SDメモリカード602が、融合機101にSDKアプリを入力するためのSDメモリカードとして正当であることを、融合機101に確認させるためのファイルである。SDserviceファイル701には、SDメモリカードサービスプログラム(SDservice)が格納されている。融合機101は、当該SDメモリカード602の正当性を、このSDserviceが正常に起動されることをもって確認する。SDserviceファイル701は、SDserviceの実行形式ファイルである。
SDserviceファイル701は、modファイルに該当する。よって、SDメモリカード602には、図7のように、SDserviceファイル701と共に、SDserviceファイル701の電子署名が格納されたmacファイル、SDserviceファイル701に関連するcnfファイル・licファイルが記憶されている。これにより、SDserviceファイル701の改竄が防止される。さらに、licファイルはここでは、上記したように、SDメモリカード602のSDシリアルIDが使用されて作成される。これにより、SDserviceファイル701のコピーが防止される。仮に、SDserviceファイル701をコピーしたSDメモリカードを使用しても、本来のSDメモリカードとSDシリアルIDが異なるため、licファイルに係る電子署名チェックで発見されるからである。
SDKアプリファイル702は、SDKアプリが格納されたファイルである。SDKアプリは、上記したように、専用のSDK(ソフトウェア開発キット)により作成されるアプリケーション131である。SDKアプリファイル702にはここでは、ベンダーにより作成されたSDKアプリが格納されている。SDメモリカード602には、ベンダーが自分でSDKアプリファイル702を書き込めるようにしておくものとする。SDKアプリファイル702は、SDKアプリの実行形式ファイルである。
SDKアプリファイル702には、SDKアプリファイル702であることを、融合機101に識別させるための識別コードを格納させておく。識別コードは、SDKアプリファイル702の先頭の数バイト等、SDKアプリファイル702の特定エリアに格納させておく。融合機101は、あるファイルがSDKアプリファイル702であることを、そのファイルに識別コードが格納されていることをもって識別する。なお、SDKアプリファイル702に識別コードを格納するための専用のツールをメーカーからベンダーに提供しておくなどして、ベンダーが自分でSDKアプリファイル702に識別コードを書き込めるようにしておくものとする。
PDIDファイル703は、SDKアプリのID(識別情報)である、SDKアプリのPDID(プロダクトID)を登録(格納)するためのファイルである。より詳細に言うと、当該SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリのPDIDを登録するためのファイルである。融合機101は、SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリのPDIDを、当該SDメモリカード602内のPDIDファイル703に登録する「PDID登録処理」を実行する。融合機101はまた、SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリの正当性を、当該SDメモリカード602内のPDIDファイル703に当該SDKアプリのPDIDが登録されていることをもって判断する「アプリ正当性判断処理」を実行する。融合機101はそして、アプリ正当性判断処理により正当であることが判断されたSDKアプリであることを、当該SDKアプリの起動処理や起動権設定処理を実行するための条件とする。なお、SDKアプリファイル702に格納されたSDKアプリのPDIDは、当該SDKアプリファイル702から取得できるようにしておく。
PDIDファイル703には、SDKアプリのPDIDがそのまま登録されるのではなく、SDKアプリのPDIDが当該SDメモリカード602に固有な鍵(シード)で暗号化されて登録されることになる。当該鍵(暗号化用データ)はここでは、当該SDメモリカード602内のいずれかのlicファイル(SDserviceファイル701に関連するlicファイル等)が使用されて作成される鍵(licファイルのチェックサム(8ビット)等)であり、暗号鍵兼復号鍵(暗号化用データ兼復号化用データ)である。このlicファイルは、上記したように、当該SDメモリカード602のSDシリアルIDが使用されて作成されるlicファイルとする。暗号化はここでは、バイト単位での鍵とのEOR(排他的論理和)処理により実行される。このように、SDKアプリのPDIDが、鍵で暗号化されて登録されることで、PDIDファイル703の改竄が防止され、SDKアプリのPDIDが、当該SDメモリカード602に固有な鍵で暗号化されて登録されることで、PDIDファイル703のコピーが防止される。
PDIDファイル703には、整合性確認用データ711、最大アプリ数712、登録アプリ数713、PDID714が格納される。
整合性確認用データ711は、当該SDメモリカード602と当該PDIDファイル703の整合性を、融合機101に確認させるためのデータ(数バイト)である。整合性確認用データ711はここでは、当該SDメモリカード602内のいずれかのlicファイル(SDserviceファイル701に関連するlicファイル等)が使用されて作成されるデータ(licファイルのチェックサム等)である。
最大アプリ数712は、当該PDIDファイル703に登録可能なPDIDの個数の上限値(最大個数)である。すなわち、当該メモリカード602に正当に書き込み可能なSDKアプリ(SDKアプリファイル702)の個数の上限値(最大個数)である。最大アプリ数712はここでは、ベンダーにより書き込まれるSDKアプリ(SDKアプリファイル702)の個数を制限すべく、メーカーにより設定されるものとする。図7B,C,DのPDIDファイル703の最大アプリ数712としては「2個」が設定されている。最大アプリ数712は、上記のシード(鍵)で暗号化して格納しておく。
登録アプリ数713は、当該PDIDファイル703に登録されたPDIDの個数の値である。すなわち、当該メモリカード602に書き込まれた正当なSDKアプリ(SDKアプリファイル702)の個数の値である。融合機101は、上記したPDID登録処理の一環として、SDメモリカード602内のPDIDファイル703に登録されたPDIDの個数の値を、当該PDIDファイル703の登録アプリ数713として登録する。ベンダーにより書き込まれるSDKアプリ(SDKアプリファイル702)の個数を制限すべく、ベンダーにより書き込まれたSDKアプリ(SDKアプリファイル702)の個数を管理するのである。図7B,CのPDIDファイル703の登録アプリ数713としては「0個」が登録されており、図7DのPDIDファイル703の登録アプリ数713としては「2個」が登録されている。登録アプリ数713は、上記のシード(鍵)で暗号化されて登録される。なお、登録アプリ数713が「0個」の状態を「初期状態」と呼び、登録アプリ数713が「0個」以外の状態を「登録状態」と呼ぶことにする。
PDID714は、SDKアプリのPDID(プロダクトID)を登録するための登録欄である。より詳細に言うと、当該SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリのPDIDを登録するための登録欄である。図7B,CのPDIDファイル703のPDID714には、SDKアプリのPDIDがまだ登録されておらず、図7DのPDIDファイル703のPDID714には、SDKアプリのPDID(SDKアプリファイルA702Aに格納されたSDKアプリAのPDIDと、SDKアプリファイルB702Bに格納されたSDKアプリAのPDID)がすでに登録されている。図7B,CのPDIDファイル703のPDID714には、SDKアプリのPDIDの代わりにSDKアプリのPDIDと同じデータ量のデータ「ダミーID」が格納されている。PDIDファイル703にPDIDが格納される際には、PDID714にPDIDの代わりに格納されている「ダミーID」に替わりPDIDが格納される形で、PDIDファイル703にPDIDが格納される。こうしておけば、PDIDの格納前と格納後のPDIDファイル703のデータ量のずれが原因で、上記したPDID登録処理の存在が発覚してしまうような事態が抑制される。PDID714に登録されるPDIDは、すでに説明したとおり、シード(鍵)で暗号化されて登録される。
以下、上記した「PDID登録処理」と「アプリ正当性判断処理」の具体例について説明する。
これらの処理は、VAS135(図1の説明欄参照)により実行される。図8は、VAS135により実行される処理に係るフローチャートであり、図9は、VAS135により実現される機能に係る機能ブロック図である。図1の融合機101には、図9のように、カード正当性確認部901と、シード作成部902と、PDIDファイル整合性確認部903と、PDID暗号化部911と、PDID登録部912と、PDID復号化部921と、アプリ正当性判断部922等の機能ブロックが存在する。
融合機101のSDメモリカード用スロット601にSDメモリカード602が挿入された状態で、融合機101の電源が投入されると、VAS135により図8の処理が実行されることになる。
まず最初に、カード正当性確認部901が、SDメモリカード602の正当性を確認(S11)する。より詳細に言うと、SDメモリカード602が、当該融合機101にSDKアプリを入力するためのSDメモリカードとして正当であることを、当該SDメモリカード602内のSDserviceファイル701に基づいて確認する。上記したように、SDserviceファイル701にはSDserviceが格納されており、カード正当性確認部901は、SDメモリカード602の正当性を、このSDserviceが正常に起動されることをもって確認する。正常に起動されたことの確認手法としては、SDserviceがVAS135に通知するようにしてもよいし、VAS135がSDserviceにアクセスするようにしてもよいし、SDserviceがHDD233等に書き込みをして、VAS135がこれを読み込むようにしてもよい。
続いて、S11にてSDメモリカード602が正当であると確認された場合、S13に移行(S12)して、S11にてSDメモリカード602が正当でないと確認された場合、PDID登録処理やアプリ正当性判断処理は実行されずに、VAS135による図8の全処理が終了する。
続いて、シード作成部902が、当該SDメモリカード602に固有な鍵(シード)を作成(S13)する。当該鍵はここでは、当該SDメモリカード602内のいずれかのlicファイル(SDserviceファイル701に関連するlicファイル等)が使用されて作成される鍵(licファイルのチェックサム(8ビット)等)であり、暗号鍵兼復号鍵である。シード作成部902はここでは、当該鍵(シード)931を所定のlicファイル932を使用して作成するものとする。このlicファイル932は、当該SDメモリカード602のSDシリアルIDが使用されて作成されるlicファイルとする。
続いて、PDIDファイル整合性確認部903が、当該SDメモリカード602と当該SDメモリカード602内のPDIDファイル703の整合性を、当該PDIDファイル703の整合性確認用データ711に基づいて確認(S14)する。
続いて、S14にてSDメモリカード602とPDIDファイル703が整合すると確認された場合、S16に移行(S15)して、S14にてSDメモリカード602とPDIDファイル703が整合しないと確認された場合、PDID登録処理やアプリ正当性判断処理は実行されずに、VAS135による図8の全処理が終了する。
続いて、VAS135が、当該SDメモリカード602内のPDIDファイル703が初期状態か登録状態かを、当該PDIDファイル703の登録アプリ数713に基づいて確認(S16)する。初期状態であると確認された場合、PDID登録処理(S17)とアプリ正当性判断処理(S18)とがこの順番で実行されることになる。登録状態であると確認された場合、PDID登録処理(S17)は実行されず、アプリ正当性判断処理(S18)が実行されることになる。なお、初期状態か登録状態かで場合分けをする代わりに、登録アプリ数713が最大アプリ数712未満か否かで場合分けをしてもよい。
PDID登録処理(S17)について説明する。S16に続いて、PDID登録部912は、当該SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリのPDIDを、当該SDメモリカード602内のPDIDファイル703に登録する。当該PDIDファイル703には、当該SDKアプリファイル702に格納されたSDKアプリのPDIDが、シード作成部902により作成されたシード(鍵)931でPDID暗号化部911により暗号化されて、PDID登録部912により登録される。
PDID登録処理(S17)では、PDID登録部912は、当該SDメモリカード602内のPDIDファイル703に登録されたPDIDの個数を、当該PDIDファイル703の登録アプリ数713として登録する。こうして、PDIDファイル703が初期状態から登録状態になると、S16の説明から明らかなように、次回の電源投入時には、当該SDメモリカード602についてはPDID登録処理(S17)は実行されないことになる。
アプリ正当性判断処理(S18)について説明する。S16に続いて、アプリ正当性判断部922は、当該SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリの正当性を、当該SDメモリカード602内のPDIDファイル703に当該SDKアプリのPDIDが登録されていることをもって判断する。当該PDIDファイル703には、上記したように、SDKアプリのPDIDが、シード作成部902により作成されたシード(鍵)931でPDID暗号化部911により暗号化されて登録されているため、当該PDIDは、前もって、シード作成部902により作成されたシード(鍵)931でPDID復号化部921により復号化されることになる。
融合機101は、SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリについて、アプリ正当性判断処理(S18)により正当であることが判断されたSDKアプリであることを、当該SDKアプリの起動処理や起動権設定処理を実行するための条件とする。すなわち、アプリ正当性判断処理を経由していないSDKアプリや、アプリ正当性判断処理により正当でないことが判断されたSDKアプリは、MEM−P231やMEM−C232への起動が制限されることになる。このようにして、SDメモリカード602が不正にコピーされたり使用されたりして、融合機101にプログラムが不正に入力されてしまう危険性に対処しているのである。
なお、PDID登録処理とアプリ正当性判断処理を実行するメリットの具体例としては、SDメモリカード602内のSDKアプリファイル702の差し替え防止が挙げられる。例えば、低額なSDKアプリファイル702が記憶されたSDメモリカード602を購入したユーザーが、不正コピーにより、当該SDメモリカード602内のSDKアプリファイル702を低額なものから高額なものに差し替えた場合でも、当該SDメモリカード602についてすでにPDID登録処理が実行されて、当該SDメモリカード602内のPDIDファイル703がすでに初期状態から登録状態になっていれば、アプリ正当性判断処理を通過することができないからである。SDメモリカード602へのSDKアプリファイル702の追加についても、同様のことが言える。
なお、上記のメリットは、PDIDファイル703の最大アプリ数712、すなわち、SDメモリカード602に書き込み可能なSDKアプリの個数の上限値が1個であっても2個以上であっても変わるところがない。よって例えば、1枚のSDメモリカード602へのSDKアプリの書き込みを2以上のベンダーに許すようなビジネスモデルを、上記のメリットを享受しつつ実現するようなことも可能である。例えば、ある1枚のSDメモリカード602について、ベンダーAには2個のSDKアプリの書き込みを許し、ベンダーBには1個のSDKアプリの書き込みを許すべく、その1枚のSDメモリカード602について、メーカーは最大アプリ数712を「3個」に設定するのである。
なお、ここでは、SDメモリカード602を使用して、融合機101にSDメモリカード602内のSDKアプリを入力するような態様について説明したが、SDメモリカード602を使用して、融合機101にSDKアプリをネットワークを介してダウンロードするような態様でもよい。すなわち、SDメモリカード602を、ダウンロード許可用のキーとして販売するのである。この場合、SDメモリカード602には、SDKアプリファイル702を記憶させておく必要はなく、SDservice701やPDIDファイル703を記憶させておけばよい。
以下、PDID登録処理(S17)の詳細について、図10のシーケンス図により説明する。
S11として説明したように、SDserviceファイル701に格納されたSDserviceが起動(S101)されると、SDserviceはVAS135に起動した旨を通知(S102)する。続いて、S13として説明したように、VAS135がシードを作成(S103)する。続いて、S14として説明したように、VAS135がSDメモリカード602とPDIDファイル703の整合性を確認(S104)する。S12,S15,S16の場合分け処理についても、それぞれ説明したように実行される。
続いて、VAS135がSDKアプリファイル702に格納された識別コードをチェック(S105)する。VAS135は、あるファイルがSDKアプリファイル702であることを、そのファイルに識別コードが格納されていることをもって識別する。識別コードが格納されていないファイルについては、PDID登録処理やアプリ正当性判断処理は実行されない。
続いて、VAS135がSDKアプリファイル702に格納されたSDKアプリを仮起動(S106)させる。これにより、VAS135はSDKアプリから当該SDKアプリのPDIDを取得(S107)する。続いて、S17として説明したように、VAS135は、そのPDIDをシードで暗号化(S108)して、そのPDIDをPDIDファイル703に登録(S109)する。そして、VAS135がSDKアプリの仮起動を終了(S110)させる。
以下、アプリ正当性判断処理(S18)の詳細について、図11のシーケンス図により説明する。
S11として説明したように、SDserviceファイル701に格納されたSDserviceが起動(S201)されると、SDserviceはVAS135に起動した旨を通知(S202)する。続いて、S13として説明したように、VAS135がシードを作成(S203)する。続いて、S14として説明したように、VAS135がSDメモリカード602とPDIDファイル703の整合性を確認(S204)する。S12,S15,S16の場合分け処理についても、それぞれ説明したように実行される。
続いて、VAS135がSDKアプリファイル702に格納された識別コードをチェック(S205)する。VAS135は、あるファイルがSDKアプリファイル702であることを、そのファイルに識別コードが格納されていることをもって識別する。識別コードが格納されていないファイルについては、PDID登録処理やアプリ正当性判断処理は実行されない。
続いて、VAS135がSDKアプリファイル702に格納されたSDKアプリを仮起動(S206)させる。これにより、VAS135はSDKアプリから当該SDKアプリのPDIDを取得(S207)する。続いて、S18として説明したように、VAS135は、PDIDファイル703に登録されたPDIDを復号化(S208)して、S207のPDIDとS208のPDIDとの照合をもってSDKアプリの正当性を判断(S209)する。
続いて、VAS135は、正当であることが判断されたSDKアプリから当該SDKアプリのアプリ情報を取得(S210)する。ここで、融合機101の管理者は、正当であることが判断されたSDKアプリの内、起動権設定対象とするSDKアプリを選択するための選択画面を、オペレーションパネル202に表示(S211)させることができる。そして、融合機101の管理者は、正当であることが判断されたSDKアプリの内、起動権設定対象とするSDKアプリを、オペレーションパネル202を操作して選択(S212)することができる。そして、VAS135は、起動権設定対象として選択されたSDKアプリのPDIDを、HDD233等(不揮発性メモリ(フラッシュメモリ等)であればよい)に登録することで、当該SDKアプリの起動権を設定(S213)する。融合機101は、SDメモリカード用スロット601に挿入されたSDメモリカード602内のSDKアプリについて、あるSDKアプリの起動権が設定されている場合、そのSDKアプリを、SDメモリカード602から適宜再生させて、MEM−P231やMEM−C232に適宜起動させる権限を有することになる。
(2)第2具体例
ここでは、図12により、SDKアプリ(図1の説明欄参照)を融合機101に入力するためのSDメモリカード602をメーカーからベンダーに配布し、ベンダーがSDKアプリを作成し、ユーザーがSDKアプリを融合機101にSDメモリカード602を使用して入力するようなビジネスモデルを具体例にして説明する。
図12AのSDメモリカード602は、市販のSDメモリカードである。
図12BのSDメモリカード602は、融合機101のメーカーから融合機101のベンダーに提供されるSDメモリカードである。図12BのSDメモリカード602は、図12AのSDメモリカード602に、SDメモリカードサービスファイル(SDserviceファイル)701や、PDIDファイル703を記憶させたものである。
図12CのSDメモリカード602は、融合機101のベンダーから融合機101のユーザーに提供されるSDメモリカードである。図12CのSDメモリカード602は、図12BのSDメモリカード602に、2個のSDKアプリファイル702(1個目をSDKアプリファイルA702A、2個目をSDKアプリファイルB702Bとする)を記憶させたものである。
図12DのSDメモリカード602は、融合機101のユーザーの元でPDID登録処理が実行されたSDメモリカードである。図12DのSDメモリカード602は、図12CのSDメモリカード602内のPDIDファイル703に、SDKアプリのPDID等を登録したものである。
SDserviceファイル701は、当該SDメモリカード602の正当性を、融合機101に確認させるためのファイルである。第1具体例と同様である。
SDKアプリファイル702は、SDKアプリが格納されたファイルである。第1具体例と同様である。
PDIDファイル703は、SDKアプリのID(識別情報)である、SDKアプリのPDIDを登録(格納)するためのファイルである。第1具体例と同様である。
PDIDファイル703には、SDKアプリのPDIDがそのまま登録されるのではなく、SDKアプリのPDIDが融合機101の各機体に固有な鍵(シード)で暗号化されて登録されることになる。当該鍵(暗号化用データ)はここでは、融合機101の各機体の機体番号が使用されて作成される鍵(機体番号のチェックサム(8ビット)等)であり、暗号鍵兼復号鍵(暗号化用データ兼復号化用データ)である。融合機101の各機体の機体番号以外の機体固有情報(MACアドレスやIPアドレス)を使用してもよい。暗号化はここでは、バイト単位での鍵とのEOR(排他的論理和)処理により実行される。このように、SDKアプリのPDIDが、鍵で暗号化されて登録されることで、PDIDファイル703の改竄が防止され、SDKアプリのPDIDが、融合機101の各機体に固有な鍵で暗号化されて登録されることで、当該SDメモリカード602を当該機体の同一機種や関連機種の他の機体等で使用することが制限される。融合機以外のコピー、プリンタ、スキャナ、ファクシミリ等の画像形成装置(情報処理装置)についても同様である。
PDIDファイル703には、整合性確認用データ711、最大アプリ数712、登録アプリ数713、PDID714が格納される。第1具体例と同様である。
以下、上記した「PDID登録処理」と「アプリ正当性判断処理」の具体例について説明する。
これらの処理は、VAS135(図1の説明欄参照)により実行される。図13は、VAS135により実行される処理に係るフローチャートであり、図14は、VAS135により実現される機能に係る機能ブロック図である。図1の融合機101には、図14のように、カード正当性確認部901と、シード作成部902と、PDIDファイル整合性確認部903と、PDID暗号化部911と、PDID登録部912と、PDID復号化部921と、アプリ正当性判断部922等の機能ブロックが存在する。
融合機101のSDメモリカード用スロット601にSDメモリカード602が挿入された状態で、融合機101の電源が投入されると、VAS135により図13の処理が実行されることになる。
まず最初に、カード正当性確認部901が、SDメモリカード602の正当性を確認(S11)する。第1具体例と同様である。
続いて、S11にてSDメモリカード602が正当であると確認された場合、S13に移行(S12)する。第1具体例と同様である。
続いて、シード作成部902が、当該融合機101に固有な鍵(シード)を作成(S13)する。当該鍵はここでは、当該融合機101の機体番号が使用されて作成される鍵(機体番号のチェックサム(8ビット)等)であり、暗号鍵兼復号鍵である。当該融合機101の機体番号以外の機体固有情報(MACアドレスやIPアドレス)を使用してもよい。シード作成部902はここでは、当該鍵(シード)933を当該融合機101の機体番号934を使用して作成するものとする。
続いて、PDIDファイル整合性確認部903が、当該SDメモリカード602と当該SDメモリカード602内のPDIDファイル703の整合性を、当該PDIDファイル703の整合性確認用データ711に基づいて確認(S14)する。第1具体例と同様である。
続いて、S14にてSDメモリカード602とPDIDファイル703が整合すると確認された場合、S16に移行(S15)する。第1具体例と同様である。
続いて、VAS135が、当該SDメモリカード602内のPDIDファイル703が初期状態か登録状態かを、当該PDIDファイル703の登録アプリ数713に基づいて確認(S16)する。初期状態であると確認された場合、PDID登録処理(S17)とアプリ正当性判断処理(S18)とがこの順番で実行されることになる。登録状態であると確認された場合、PDID登録処理(S17)は実行されず、アプリ正当性判断処理(S18)が実行されることになる。第1具体例と同様である。
PDID登録処理(S17)について説明する。S16に続いて、PDID登録部912は、当該SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリのPDIDを、当該SDメモリカード602内のPDIDファイル703に登録する。当該PDIDファイル703には、当該SDKアプリファイル702に格納されたSDKアプリのPDIDが、シード作成部902により作成されたシード(鍵)933でPDID暗号化部911により暗号化されて、PDID登録部912により登録される。第1具体例と同様である。
アプリ正当性判断処理(S18)について説明する。S16に続いて、アプリ正当性判断部922は、当該SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリの正当性を、当該SDメモリカード602内のPDIDファイル703に当該SDKアプリのPDIDが登録されていることをもって判断する。当該PDIDファイル703には、上記したように、SDKアプリのPDIDが、シード作成部902により作成されたシード(鍵)933でPDID暗号化部911により暗号化されて登録されているため、当該PDIDは、前もって、シード作成部902により作成されたシード(鍵)933でPDID復号化部921により復号化されることになる。第1具体例と同様である。
以下、PDID登録処理(S17)の詳細について、図15のシーケンス図により説明する。
S11として説明したように、SDserviceファイル701に格納されたSDserviceが起動(S101)されると、SDserviceはVAS135に起動した旨を通知(S102)する。続いて、S13として説明したように、VAS135がシードを作成(S103)する。続いて、S14として説明したように、VAS135がSDメモリカード602とPDIDファイル703の整合性を確認(S104)する。S12,S15,S16の場合分け処理についても、それぞれ説明したように実行される。
続いて、VAS135がSDKアプリファイル702に格納された識別コードをチェック(S105)する。VAS135は、あるファイルがSDKアプリファイル702であることを、そのファイルに識別コードが格納されていることをもって識別する。識別コードが格納されていないファイルについては、PDID登録処理やアプリ正当性判断処理は実行されない。
続いて、VAS135がSDKアプリファイル702に格納されたSDKアプリを仮起動(S106)させる。これにより、VAS135はSDKアプリから当該SDKアプリのPDIDを取得(S107)する。続いて、S17として説明したように、VAS135は、そのPDIDをシードで暗号化(S108)して、そのPDIDをPDIDファイル703に登録(S109)する。そして、VAS135がSDKアプリの仮起動を終了(S110)させる。
以下、アプリ正当性判断処理(S18)の詳細について、図16のシーケンス図により説明する。
S11として説明したように、SDserviceファイル701に格納されたSDserviceが起動(S201)されると、SDserviceはVAS135に起動した旨を通知(S202)する。続いて、S13として説明したように、VAS135がシードを作成(S203)する。続いて、S14として説明したように、VAS135がSDメモリカード602とPDIDファイル703の整合性を確認(S204)する。S12,S15,S16の場合分け処理についても、それぞれ説明したように実行される。
続いて、VAS135がSDKアプリファイル702に格納された識別コードをチェック(S205)する。VAS135は、あるファイルがSDKアプリファイル702であることを、そのファイルに識別コードが格納されていることをもって識別する。識別コードが格納されていないファイルについては、PDID登録処理やアプリ正当性判断処理は実行されない。
続いて、VAS135がSDKアプリファイル702に格納されたSDKアプリを仮起動(S206)させる。これにより、VAS135はSDKアプリから当該SDKアプリのPDIDを取得(S207)する。続いて、S18として説明したように、VAS135は、PDIDファイル703に登録されたPDIDを復号化(S208)して、S207のPDIDとS208のPDIDとの照合をもってSDKアプリの正当性を判断(S209)する。
続いて、VAS135は、正当であることが判断されたSDKアプリから当該SDKアプリのアプリ情報を取得(S210)する。ここで、融合機101の管理者は、正当であることが判断されたSDKアプリの内、起動権設定対象とするSDKアプリを選択するための選択画面を、オペレーションパネル202に表示(S211)させることができる。そして、融合機101の管理者は、正当であることが判断されたSDKアプリの内、起動権設定対象とするSDKアプリを、オペレーションパネル202を操作して選択(S212)することができる。そして、VAS135は、起動権設定対象として選択されたSDKアプリのPDIDを、HDD233等(不揮発性メモリ(フラッシュメモリ等)であればよい)に登録することで、当該SDKアプリの起動権を設定(S213)する。融合機101は、SDメモリカード用スロット601に挿入されたSDメモリカード602内のSDKアプリについて、あるSDKアプリの起動権が設定されている場合、そのSDKアプリを、SDメモリカード602から適宜再生させて、MEM−P231やMEM−C232に適宜起動させる権限を有することになる。
(3)第3具体例
ここでは、図17により、SDKアプリ(図1の説明欄参照)をメーカーに代わってベンダーが作成し、SDKアプリを融合機101に入力するためのSDメモリカード602をベンダーからユーザーに配布し、SDKアプリを融合機101にユーザーがSDメモリカード602を使用して入力するようなビジネスモデルを具体例にして説明する。
図17AのSDメモリカード602は、市販のSDメモリカードである。
図17B,CのSDメモリカード602は、融合機101のベンダーの元で、図17AのSDメモリカード602に、2個のSDKアプリファイル702(1個目をSDKアプリファイルA702A、2個目をSDKアプリファイルB702Bとする)と、PDIDファイル703とを記憶させたSDメモリカードである。ただし、図17BのSDメモリカード602は、PDID登録処理が未実行のSDメモリカードであり、図17CのSDメモリカード602は、PDID登録処理が実行済のSDメモリカードである。
PDID登録処理は、後述するように、図1の融合機101に実行させることができる。PDID登録処理は、融合機101のベンダーの元にある融合機101に実行させてもよいし、融合機101のユーザーの元にある融合機101で実行させてもよいのだが、ここで具体例として説明するビジネスモデルでは、融合機101のベンダーの元にある融合機101で実行させることにする。よって、融合機101のベンダーから融合機101のユーザーに配布されるSDメモリカード602は、図17BのSDメモリカード602ではなく、図17CのSDメモリカード602である。
なお、SDKアプリファイル702は、融合機101のベンダーにより作成されたものであり、PDIDファイル703は、図17Bのような状態で、融合機101のメーカーから融合機101のベンダーに提供されたものである。図17CのPDIDファイル703には、SDKアプリのPDID等が登録されている。
図17D1,D2のSDメモリカード602については後述する。
SDKアプリファイル702は、SDKアプリが格納されたファイルである。第1具体例と同様である。
PDIDファイル703は、SDKアプリのID(識別情報)である、SDKアプリのPDIDを登録(格納)するためのファイルである。第1具体例と同様である。SDメモリカード602には、ベンダーが自分でPDIDファイル703(メーカーからベンダーに提供されたもの)を書き込めるようにしておくものとする。ちなみに、ここで具体例として説明中のビジネスモデルでは、PDID登録処理は、ベンダーの元にある融合機101で実行されることになっており、アプリ正当性判断処理は、ユーザーの元にある融合機101で実行されることになっている。
PDIDファイル703には、SDKアプリのPDIDがそのまま登録されるのではなく、SDKアプリのPDIDが当該SDメモリカード602に固有な鍵(シード)で暗号化されて登録されることになる。当該鍵(暗号化用データ)はここでは、当該SDメモリカード602のSDシリアルIDが使用されて作成される鍵(SDシリアルIDのチェックサム(8ビット)等)であって、暗号鍵兼復号鍵(暗号化用データ兼復号化用データ)である。暗号化はここでは、バイト単位での鍵とのEOR(排他的論理和)処理により実行される。このように、SDKアプリのPDIDが、鍵で暗号化されて登録されることで、PDIDファイル703の改竄が防止され、SDKアプリのPDIDが、当該SDメモリカード602に固有な鍵で暗号化されて登録されることで、PDIDファイル703のコピーが防止される。
例えば、図17D1のように、PDID登録処理が実行されたSDメモリカード602内の全てのファイルを他のSDメモリカード602にコピーした場合、元のSDメモリカード602とSDシリアルIDが異なり鍵が合わないため、当該他のSDメモリカード602はアプリ正当性判断処理で正当でないと判断されるので、結局、融合機101で当該他のSDメモリカード602を使用することは制限される。
例えば、図17D2のように、PDID登録処理が実行されたSDメモリカード602内のSDKアプリファイル702のみを他のSDメモリカード602にコピーした場合、当該他のSDメモリカード602内にはPDIDファイル703が存在しないため、当該他のSDメモリカード602についてアプリ正当性判断処理が実行されないので、結局、融合機101で当該他のSDメモリカード602を使用することは制限される。
PDIDファイル703には、登録済確認用データ711、登録アプリ数713、PDID714が格納される。第1具体例と同様である。
登録済確認用データ711は、当該SDメモリカード602についての上記のPDID登録処理が未実行か実行済かを、融合機101に確認させるためのデータである。図17BのPDIDファイル703の登録済確認用データ711としては「未実行」が登録されており、図17CのPDIDファイル703の登録済確認用データ711としては「実行済」が登録されている。
以下、上記した「PDID登録処理」と「アプリ正当性判断処理」の具体例について説明する。
これらの処理は、VAS135(図1の説明欄参照)により実行される。図18は、VAS135により実行される処理に係るフローチャートであり、図19は、VAS135により実現される機能に係る機能ブロック図である。図1の融合機101には、図19のように、登録済確認部901と、シード作成部902と、登録済登録部903と、PDID暗号化部911と、PDID登録部912と、PDID復号化部921と、アプリ正当性判断部922等の機能ブロックが存在する。
融合機101のSDメモリカード用スロット601にSDメモリカード602が挿入された状態で、融合機101の電源が投入されると、VAS135により図18の処理が実行されることになる。
まず最初に、VAS135が、SDメモリカード602内にPDIDファイル703が存在するか否かをチェック(S11)する。SDメモリカード602内にPDIDファイル703が存在する(S11)場合、S12に移行して、SDメモリカード602内にPDIDファイル703が存在しない(S11)場合、PDID登録処理やアプリ正当性判断処理は実行されずに、VAS135による図18の全処理が終了する。
続いて、登録済確認部901が、当該SDメモリカード602についてのPDID登録処理が未実行か実行済かを、当該SDメモリカード602内のPDIDファイル703の登録済確認用データ711に基づいて確認(S12)する。PDID登録処理が未実行であると確認された(S13)場合、シード作成(S14)とPDID登録処理(S15)と登録済登録(S16)とがこの順番で実行されることになる。PDID登録処理が実行済であると確認された(S13)場合、シード作成(S14)とアプリ正当性判断処理(S17)とがこの順番で実行されることになる。ちなみに、ここで具体例として説明中のビジネスモデルでは、前者の処理(S14・S15・S16)は、ベンダーの元にある融合機101で実行されることになっており、後者の処理(S14・S17)は、ユーザーの元にある融合機101で実行されることになっている。
シード作成(S14)について説明する。S13に続いて、シード作成部902は、当該SDメモリカード602に固有な鍵(シード)を作成する。当該鍵はここでは、当該SDメモリカード602のSDシリアルIDが使用されて作成される鍵(SDシリアルIDのチェックサム(8ビット)等)であって、暗号鍵兼復号鍵である。シード作成部902はここでは、当該鍵(シード)931をSDシリアルID932を使用して作成するものとする。
PDID登録処理(S15)について説明する。S14に続いて、PDID登録部912は、当該SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリのPDIDを、当該SDメモリカード602内のPDIDファイル703に登録する。当該PDIDファイル703には、当該SDKアプリファイル702に格納されたSDKアプリのPDIDが、シード作成部902により作成されたシード(鍵)931でPDID暗号化部911により暗号化されて、PDID登録部912により登録される。
登録済登録(S16)について説明する。S15に続いて、登録済登録部903は、当該SDメモリカード602についてのPDID登録処理(S15)が実行済であることを、当該SDメモリカード602内のPDIDファイル703の登録済確認用データ711として登録する。こうして、PDIDファイル703の登録済確認用データ711が未実行から実行済になると、S13の説明から明らかなように、次回の電源投入時には、当該SDメモリカード602についてはPDID登録処理(S15)は実行されないことになる。
アプリ正当性判断処理(S17)について説明する。S14に続いて、アプリ正当性判断部922は、当該SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリの正当性を、当該SDメモリカード602内のPDIDファイル703に当該SDKアプリのPDIDが登録されていることをもって判断する。当該PDIDファイル703には、上記したように、SDKアプリのPDIDが、シード作成部902により作成されたシード(鍵)931でPDID暗号化部911により暗号化されて登録されているため、当該PDIDは、前もって、シード作成部902により作成されたシード(鍵)931でPDID復号化部921により復号化されることになる。
以下、PDID登録処理(S15)の詳細について、図20のシーケンス図により説明する。
S12として説明したように、SDメモリカード602内にPDIDファイル703が存在する場合、VAS135がPDID登録処理が未実行か実行済かを確認(S101)する。続いて、S14として説明したように、VAS135がシードを作成(S102)する。S11,S13の場合分け処理についても、それぞれ説明したように実行される。
続いて、VAS135がSDKアプリファイル702に格納された識別コードをチェック(S103)する。VAS135は、あるファイルがSDKアプリファイル702であることを、そのファイルに識別コードが格納されていることをもって識別する。識別コードが格納されていないファイルについては、PDID登録処理やアプリ正当性判断処理は実行されない。
続いて、VAS135がSDKアプリファイル702に格納されたSDKアプリを仮起動(S104)させる。これにより、VAS135はSDKアプリから当該SDKアプリのPDIDを取得(S105)する。続いて、S15として説明したように、VAS135は、そのPDIDをシードで暗号化(S106)して、そのPDIDをPDIDファイル703に登録(S107)する。続いて、S16として説明したように、VAS135は、PDID登録処理が実行済であることを、PDIDファイル703の登録済確認用データ711として登録(S108)する。そして、VAS135がSDKアプリの仮起動を終了(S109)させる。
以下、アプリ正当性判断処理(S17)の詳細について、図21のシーケンス図により説明する。
S12として説明したように、SDメモリカード602内にPDIDファイル703が存在する場合、VAS135はPDID登録処理が未実行か実行済かを確認(S201)する。続いて、S14として説明したように、VAS135がシードを作成(S202)する。S11,S13の場合分け処理についても、それぞれ説明したように実行される。
続いて、VAS135がSDKアプリファイル702に格納された識別コードをチェック(S203)する。VAS135は、あるファイルがSDKアプリファイル702であることを、そのファイルに識別コードが格納されていることをもって識別する。識別コードが格納されていないファイルについては、PDID登録処理やアプリ正当性判断処理は実行されない。
続いて、VAS135がSDKアプリファイル702に格納されたSDKアプリを仮起動(S204)させる。これにより、VAS135はSDKアプリから当該SDKアプリのPDIDを取得(S205)する。続いて、S17として説明したように、VAS135は、PDIDファイル703に登録されたPDIDを復号化(S206)して、S205のPDIDとS206のPDIDとの照合をもってSDKアプリの正当性を判断(S207)する。
続いて、VAS135は、正当であることが判断されたSDKアプリから当該SDKアプリのアプリ情報を取得(S208)する。ここで、融合機101の管理者は、正当であることが判断されたSDKアプリの内、起動権設定対象とするSDKアプリを選択するための選択画面を、オペレーションパネル202に表示(S209)させることができる。そして、融合機101の管理者は、正当であることが判断されたSDKアプリの内、起動権設定対象とするSDKアプリを、オペレーションパネル202を操作して選択(S210)することができる。そして、VAS135は、起動権設定対象として選択されたSDKアプリのPDIDを、HDD233等(不揮発性メモリ(フラッシュメモリ等)であればよい)に登録することで、当該SDKアプリの起動権を設定(S211)する。融合機101は、SDメモリカード用スロット601に挿入されたSDメモリカード602内のSDKアプリについて、あるSDKアプリの起動権が設定されている場合、そのSDKアプリを、SDメモリカード602から適宜再生させて、MEM−P231やMEM−C232に適宜起動させる権限を有することになる。
(4)第4具体例
ここでは、図22により、SDKアプリ(図1の説明欄参照)をメーカーに代わってベンダーが作成し、SDKアプリを融合機101に入力するためのSDメモリカード602をベンダーからユーザーに配布し、SDKアプリを融合機101にユーザーがSDメモリカード602を使用して入力するようなビジネスモデルを具体例にして説明する。
図22AのSDメモリカード602は、市販のSDメモリカードである。
図22B,図22C,図22DのSDメモリカード602は、融合機101のベンダーの元で、図22AのSDメモリカード602に、2個のSDKアプリファイル702(1個目をSDKアプリファイルA702A、2個目をSDKアプリファイルB702Bとする)と、PDIDファイル703とを記憶させたSDメモリカードである。ただし、図22BのSDメモリカード602は、PDID登録処理が未実行のSDメモリカードであり、図22CのSDメモリカード602は、第1次のPDID登録処理(SDシードによるPDID登録処理)が実行済のSDメモリカードであり、図22DのSDメモリカード602は、第2次のPDID登録処理(機体シードによるPDID登録処理)が実行済のSDメモリカードである。
PDID登録処理は、後述するように、第1次のPDID登録処理と第2次のPDID登録処理とからなり、図1の融合機101に実行させることができる。PDID登録処理は、融合機101のベンダーの元にある融合機101に実行させてもよいし、融合機101のユーザーの元にある融合機101で実行させてもよいのだが、ここで具体例として説明するビジネスモデルでは、第1次のPDID登録処理については、融合機101のベンダーの元にある融合機101で実行させ、第2次のPDID登録処理については、融合機101のユーザーの元にある融合機101で実行させることにする。よって、融合機101のベンダーから融合機101のユーザーに配布されるSDメモリカード602は、図22CのSDメモリカード602である。
なお、SDKアプリファイル702は、融合機101のベンダーにより作成されたものであり、PDIDファイル703は、図22Bのような状態で、融合機101のメーカーから融合機101のベンダーに提供されたものである。図22C,図22DのPDIDファイル703には、SDKアプリのPDID等が登録されている。
図22E1,図22E2のSDメモリカード602については後述する。
SDKアプリファイル702は、SDKアプリが格納されたファイルである。第1具体例と同様である。
PDIDファイル703は、SDKアプリのID(識別情報)である、SDKアプリのPDIDを登録(格納)するためのファイルである。第1具体例と同様である。SDメモリカード602には、ベンダーが自分でPDIDファイル703(メーカーからベンダーに提供されたもの)を書き込めるようにしておくものとする。ちなみに、ここで具体例として説明中のビジネスモデルでは、第1次のPDID登録処理は、ベンダーの元にある融合機101で、第2次のPDID登録処理は、ユーザーの元にある融合機101で、アプリ正当性判断処理は、ユーザーの元にある融合機101で実行されることになっている。
PDIDファイル703には、SDKアプリのPDIDがそのまま登録されるのではなく、第1次のPDID登録処理では、SDKアプリのPDIDが当該SDメモリカード602に固有な鍵(シード)で暗号化されて登録されることになり、第2次のPDID登録処理では、SDKアプリのPDIDが融合機101の各機体に固有な鍵(シード)で暗号化されて登録されることになる。以下、SDメモリカード602に固有なシードを「SDシード」と呼び、SDメモリカード602に固有なシードを「機体シード」と呼ぶことにする。当該SDシード(暗号化用データ)はここでは、当該SDメモリカード602のSDシリアルIDが使用されて作成される鍵(SDシリアルIDのチェックサム(8ビット)等)であって、暗号鍵兼復号鍵(暗号化用データ兼復号化用データ)である。当該機体シード(暗号化用データ)はここでは、融合機101の各機体の機体番号が使用されて作成される鍵(機体番号のチェックサム(8ビット)等)であって、暗号鍵兼復号鍵(暗号化用データ兼復号化用データ)である。融合機101の各機体の機体番号以外の機体固有情報(MACアドレスやIPアドレス)を使用してもよい。暗号化はここではいずれも、バイト単位での鍵とのEOR(排他的論理和)処理により実行される。このように、SDKアプリのPDIDが、鍵で暗号化されて登録されることで、PDIDファイル703の改竄が防止され、SDKアプリのPDIDが、当該SDメモリカード602に固有な鍵で暗号化されて登録されることで、PDIDファイル703のコピーが防止され、SDKアプリのPDIDが、融合機101の各機体に固有の鍵で暗号化されて登録されることで、当該SDメモリカード602を当該機体の同一機種や関連機種の他の機体等で使用することが制限される。融合機以外のコピー、プリンタ、スキャナ、ファクシミリ等の画像形成装置(情報処理装置)についても同様である。
例えば、図22E1のように、PDID登録処理が実行されたSDメモリカード602内の全てのファイルを他のSDメモリカード602にコピーした場合、鍵が合わないと、当該他のSDメモリカード602はアプリ正当性判断処理で正当でないと判断されるので、結局、融合機101で当該他のSDメモリカード602を使用することは制限される。
例えば、図22E2のように、PDID登録処理が実行されたSDメモリカード602内のSDKアプリファイル702のみを他のSDメモリカード602にコピーした場合、当該他のSDメモリカード602内にはPDIDファイル703が存在しないため、当該他のSDメモリカード602についてアプリ正当性判断処理が実行されないので、結局、融合機101で当該他のSDメモリカード602を使用することは制限される。
PDIDファイル703には、登録済確認用データ711、登録アプリ数713、PDID714が格納される。第1具体例と同様である。
登録済確認用データ711は、当該SDメモリカード602についての上記のPDID登録処理が未実行か第1次まで実行済か第2次まで実行済かを、融合機101に確認させるためのデータである。図22BのPDIDファイル703の登録済確認用データ711としては「未実行」が登録されており、図22CのPDIDファイル703の登録済確認用データ711としては「実行済(第1次)」が登録されており、図22DのPDIDファイル703の登録済確認用データ711としては「実行済(第2次)」が登録されている。
以下、上記した「PDID登録処理」と「アプリ正当性判断処理」の具体例について説明する。
これらの処理は、VAS135(図1の説明欄参照)により実行される。図23は、VAS135により実行される処理に係るフローチャートであり、図24は、VAS135により実現される機能に係る機能ブロック図である。図1の融合機101には、図24のように、登録済確認部901と、シード作成部902と、登録済登録部903と、PDID暗号化部911と、PDID登録部912と、PDID復号化部921と、アプリ正当性判断部922等の機能ブロックが存在する。
融合機101のSDメモリカード用スロット601にSDメモリカード602が挿入された状態で、融合機101の電源が投入されると、VAS135により図23の処理が実行されることになる。
まず最初に、VAS135が、SDメモリカード602内にPDIDファイル703が存在するか否かをチェック(S11)する。SDメモリカード602内にPDIDファイル703が存在する(S11)場合、S12に移行して、SDメモリカード602内にPDIDファイル703が存在しない(S11)場合、PDID登録処理やアプリ正当性判断処理は実行されずに、VAS135による図23の全処理が終了する。
続いて、登録済確認部901が、当該SDメモリカード602についてのPDID登録処理が未実行か第1次まで実行済か第2次まで実行済かを、当該SDメモリカード602内のPDIDファイル703の登録済確認用データ711に基づいて確認(S12)する。PDID登録処理が未実行であると確認された(S13)場合、SDシード作成(S14A)と第1次のPDID登録処理(S15A)と第1次の登録済登録(S16A)とがこの順番で実行されることになる。PDID登録処理が第1次まで実行済であると確認された(S13)場合、SDシード作成(S14A)と機体シード作成(S14B)と第2次のPDID登録処理(S15B)と第2次の登録済登録(S16B)とがこの順番で実行されることになる。PDID登録処理が第2次まで実行済であると確認された(S13)場合、機体シード作成(S14B)とアプリ正当性判断処理(S17)とがこの順番で実行されることになる。ちなみに、ここで具体例として説明中のビジネスモデルでは、1番目の処理(S14A・S15A・S16A)は、ベンダーの元にある融合機101で、2番目の処理(S14A・S14B・S15B・S16B)は、ユーザーの元にある融合機101で、3番目の処理(S14B・S17)は、ユーザーの元にある融合機101で実行されることになっている。
SDシード作成(S14A)について説明する。S13に続いて、シード作成部902は、当該SDメモリカード602に固有な鍵(SDシード)を作成する。当該SDシードはここでは、当該SDメモリカード602のSDシリアルIDが使用されて作成される鍵(SDシリアルIDのチェックサム(8ビット)等)であって、暗号鍵兼復号鍵である。シード作成部902はここでは、当該SDシード931をSDシリアルID932を使用して作成するものとする。
機体シード作成(S14B)について説明する。S13に続いて、シード作成部902は、当該融合機101に固有な鍵(機体シード)を作成する。当該機体シードはここでは、当該融合機101の機体番号が使用されて作成される鍵(機体番号のチェックサム(8ビット)等)であって、暗号鍵兼復号鍵である。当該融合機101の機体番号以外の機体固有情報(MACアドレスやIPアドレス)を使用してもよい。シード作成部902はここでは、当該機体シード933を機体番号934を使用して作成するものとする。
第1次のPDID登録処理(S15A)について説明する。S14Aに続いて、PDID登録部912は、当該SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリのPDIDを、当該SDメモリカード602内のPDIDファイル703に登録する。当該PDIDファイル703には、当該SDKアプリファイル702に格納されたSDKアプリのPDIDが、シード作成部902により作成されたSDシード931でPDID暗号化部911により暗号化されて、PDID登録部912により登録される。
第2次のPDID登録処理(S15B)について説明する。S14AとS14Bに続いて、PDID登録部912は、当該SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリのPDIDを、当該SDメモリカード602内のPDIDファイル703に登録する。当該PDIDファイル703には、当該SDKアプリファイル702に格納されたSDKアプリのPDIDが、シード作成部902により作成された機体シード933でPDID暗号化部911により暗号化されて、PDID登録部912により登録される。
第1次の登録済登録(S16A)について説明する。S15Aに続いて、登録済登録部903は、当該SDメモリカード602についての第1次のPDID登録処理(S15A)が実行済であることを、当該SDメモリカード602内のPDIDファイル703の登録済確認用データ711として登録する。こうして、PDIDファイル703の登録済確認用データ711が未実行から第1次まで実行済になると、S13の説明から明らかなように、次回の電源投入時には、当該SDメモリカード602については、第1次のPDID登録処理(S15A)は実行されず、第2次のPDID登録処理(S15B)が実行されることになる。
第2次の登録済登録(S16B)について説明する。S15Bに続いて、登録済登録部903は、当該SDメモリカード602についての第2次のPDID登録処理(S15B)が実行済であることを、当該SDメモリカード602内のPDIDファイル703の登録済確認用データ711として登録する。こうして、PDIDファイル703の登録済確認用データ711が第1次まで実行済から第2次まで実行済になると、S13の説明から明らかなように、次回の電源投入時には、当該SDメモリカード602については、第1次のPDID登録処理(S15A)も第2次のPDID登録処理(S15B)も実行されないことになる。
アプリ正当性判断処理(S17)について説明する。S14Bに続いて、アプリ正当性判断部922は、当該SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリの正当性を、当該SDメモリカード602内のPDIDファイル703に当該SDKアプリのPDIDが登録されていることをもって判断する。当該PDIDファイル703には、上記したように、SDKアプリのPDIDが、シード作成部902により作成された機体シード933でPDID暗号化部911により暗号化されて登録されているため、当該PDIDは、前もって、シード作成部902により作成された機体シード933でPDID復号化部921により復号化されることになる。
以下、第1次のPDID登録処理(S15A)の詳細について、図25のシーケンス図により説明する。
S12として説明したように、SDメモリカード602内にPDIDファイル703が存在する場合、VAS135がPDID登録処理が未実行か第1次まで実行済か第2次まで実行済かを確認(S101)する。続いて、S14Aとして説明したように、VAS135がSDシードを作成(S102)する。S11,S13の場合分け処理についても、それぞれ説明したように実行される。
続いて、VAS135がSDKアプリファイル702に格納された識別コードをチェック(S103)する。VAS135は、あるファイルがSDKアプリファイル702であることを、そのファイルに識別コードが格納されていることをもって識別する。識別コードが格納されていないファイルについては、PDID登録処理やアプリ正当性判断処理は実行されない。
続いて、VAS135がSDKアプリファイル702に格納されたSDKアプリを仮起動(S104)させる。これにより、VAS135はSDKアプリから当該SDKアプリのPDIDを取得(S105)する。続いて、S15Aとして説明したように、VAS135は、そのPDIDをSDシードで暗号化(S106)して、そのPDIDをPDIDファイル703に登録(S107)する。続いて、S16Aとして説明したように、VAS135は、第1次のPDID登録処理が実行済であることを、PDIDファイル703の登録済確認用データ711として登録(S108)する。そして、VAS135がSDKアプリの仮起動を終了(S109)させる。
以下、第2次のPDID登録処理(S15B)の詳細について、図26のシーケンス図により説明する。
S12として説明したように、SDメモリカード602内にPDIDファイル703が存在する場合、VAS135がPDID登録処理が未実行か第1次まで実行済か第2次まで実行済かを確認(S201)する。続いて、S14Aとして説明したように、VAS135がSDシードを作成(S202)する。続いて、S14Bとして説明したように、VAS135が機体シードを作成(S203)する。S11,S13の場合分け処理についても、それぞれ説明したように実行される。
続いて、VAS135(PDID復号化部921)は、SDシードで暗号化されてPDIDファイル703に登録されたPDIDを、SDシードで復号化(S204)する。これにより、VAS135は、SDKアプリファイル703に格納されたSDKアプリのPDIDを取得する。続いて、S15Bとして説明したように、VAS135(PDID暗号化部921・PDID登録部922)は、そのPDIDを機体シードで暗号化(S205)して、そのPDIDをPDIDファイル703に登録(S206)する。続いて、S16Bとして説明したように、VAS135(登録済登録部903)は、第2次のPDID登録処理が実行済であることを、PDIDファイル703の登録済確認用データ711として登録(S207)する。
以下、アプリ正当性判断処理(S17)の詳細について、図27のシーケンス図により説明する。
S12として説明したように、SDメモリカード602内にPDIDファイル703が存在する場合、VAS135はPDID登録処理が未実行か第1次まで実行済か第2次まで実行済かを確認(S301)する。続いて、S14Bとして説明したように、VAS135が機体シードを作成(S302)する。S11,S13の場合分け処理についても、それぞれ説明したように実行される。
続いて、VAS135がSDKアプリファイル702に格納された識別コードをチェック(S303)する。VAS135は、あるファイルがSDKアプリファイル702であることを、そのファイルに識別コードが格納されていることをもって識別する。識別コードが格納されていないファイルについては、PDID登録処理やアプリ正当性判断処理は実行されない。
続いて、VAS135がSDKアプリファイル702に格納されたSDKアプリを仮起動(S304)させる。これにより、VAS135はSDKアプリから当該SDKアプリのPDIDを取得(S305)する。続いて、S17として説明したように、VAS135は、機体シードで暗号化されてPDIDファイル703に登録されたPDIDを、機体シードで復号化(S306)して、S305のPDIDとS306のPDIDとの照合をもってSDKアプリの正当性を判断(S307)する。
続いて、VAS135は、正当であることが判断されたSDKアプリから当該SDKアプリのアプリ情報を取得(S308)する。ここで、融合機101の管理者は、正当であることが判断されたSDKアプリの内、起動権設定対象とするSDKアプリを選択するための選択画面を、オペレーションパネル202に表示(S309)させることができる。そして、融合機101の管理者は、正当であることが判断されたSDKアプリの内、起動権設定対象とするSDKアプリを、オペレーションパネル202を操作して選択(S310)することができる。そして、VAS135は、起動権設定対象として選択されたSDKアプリのPDIDを、HDD233等(不揮発性メモリ(フラッシュメモリ等)であればよい)に登録することで、当該SDKアプリの起動権を設定(S311)する。融合機101は、SDメモリカード用スロット601に挿入されたSDメモリカード602内のSDKアプリについて、あるSDKアプリの起動権が設定されている場合、そのSDKアプリを、SDメモリカード602から適宜再生させて、MEM−P231やMEM−C232に適宜起動させる権限を有することになる。
(5)第5具体例
ここでは、図28により、融合機101に装着されたHDD233にSDKアプリ(図1の説明欄参照)が追加(記憶)されるような使用態様、すなわち、融合機101に装着されたHDD233がSDKアプリ(図1の説明欄参照)の追加先(記憶先)として使用されるような使用態様について説明する。
図28AのHDD233は、SDKアプリ追加前のHDD233である。図28AのHDD233には、PDIDファイル703が記憶されている。
図28BのHDD233は、SDKアプリ追加後のHDD233である。図28BのHDD233は、図28AのHDD233に、2個のSDKアプリファイル702(1個目をSDKアプリファイルA702A、2個目をSDKアプリファイルB702Bとする)を追加したものである。図28BのHDD233には、2個のSDKアプリファイル702と、PDIDファイル703とが記憶されている。
図28CのHDD233は、融合機101によりPDID登録処理が実行されたHDD233である。図28CのHDD233は、図28BのHDD233内のPDIDファイル703に、SDKアプリのPDID等を登録したものである。
SDKアプリファイル702は、SDKアプリが格納されたファイルである。SDKアプリは、上記したように、専用のSDK(ソフトウェア開発キット)により作成されるアプリケーション131である。SDKアプリファイル702は例えば、SDKアプリファイル702が記憶されたSDメモリカード等のメモリカード235が使用(SDメモリカード用スロット等のメモリカード用スロット234に挿入)されて、当該HDD233に追加される。SDKアプリファイル702は、SDKアプリの実行形式ファイルである。
SDKアプリファイル702には、SDKアプリファイル702であることを、融合機101に識別させるための識別コードを格納させておく。識別コードは、SDKアプリファイル702の先頭の数バイト等、SDKアプリファイル702の特定エリアに格納させておく。融合機101は、あるファイルがSDKアプリファイル702であることを、そのファイルに識別コードが格納されていることをもって識別する。
PDIDファイル703は、SDKアプリのID(識別情報)である、SDKアプリのPDID(プロダクトID)を登録(格納)するためのファイルである。より詳細に言うと、当該HDD233内のSDKアプリファイル702に格納されたSDKアプリのPDIDを登録するためのファイルである。融合機101は、HDD233内のSDKアプリファイル702に格納されたSDKアプリのPDIDを、当該HDD233内のPDIDファイル703に登録する「PDID登録処理」を実行する。融合機101はまた、HDD233内のSDKアプリファイル702に格納されたSDKアプリの正当性を、当該HDD233内のPDIDファイル703に当該SDKアプリのPDIDが登録されていることをもって判断する「アプリ正当性判断処理」を実行する。融合機101はそして、アプリ正当性判断処理により正当であることが判断されたSDKアプリであることを、当該SDKアプリの起動処理や起動権設定処理を実行するための条件とする。なお、SDKアプリファイル702に格納されたSDKアプリのPDIDは、当該SDKアプリファイル702から取得できるようにしておく。
PDIDファイル703には、SDKアプリのPDIDがそのまま登録されるのではなく、SDKアプリのPDIDが融合機101の各機体に固有な鍵(シード)で暗号化されて登録されることになる。当該鍵(暗号化用データ)はここでは、融合機101の各機体の機体番号が使用されて作成される鍵(機体番号のチェックサム(8ビット)等)であり、暗号鍵兼復号鍵(暗号化用データ兼復号化用データ)である。融合機101の各機体の機体番号以外の機体固有情報(MACアドレスやIPアドレス)を使用してもよい。暗号化はここでは、バイト単位での鍵とのEOR(排他的論理和)処理により実行される。このように、SDKアプリのPDIDが、鍵で暗号化されて登録されることで、PDIDファイル703の改竄が防止され、SDKアプリのPDIDが、融合機101の各機体に固有な鍵で暗号化されて登録されることで、当該HDD233を当該機体の同一機種や関連機種の他の機体等に付け替えて使用することが制限される。融合機以外のコピー、プリンタ、スキャナ、ファクシミリ等の画像形成装置(情報処理装置)についても同様である。第1具体例や第3具体例と同様に、PDIDファイル703には、SDKアプリのPDIDが当該HDD233に固有な鍵(シード)で暗号化されて登録されるようにしてもよい。
PDIDファイル703には、最大アプリ数712、登録アプリ数713、PDID714が格納される。
最大アプリ数712は、当該PDIDファイル703に登録可能なPDIDの個数の上限値(最大個数)である。すなわち、当該HDD233に正当に追加可能なSDKアプリ(SDKアプリファイル702)の個数の上限値(最大個数)である。図28A,B,CのPDIDファイル703の最大アプリ数712としては「2個」が設定されている。最大アプリ数712は、上記のシード(鍵)で暗号化して格納しておく。
登録アプリ数713は、当該PDIDファイル703に登録されたPDIDの個数の値である。すなわち、当該HDD233に追加された正当なSDKアプリ(SDKアプリファイル702)の個数の値である。融合機101は、PDID登録処理の一環として、HDD233内のPDIDファイル703に登録されたPDIDの個数の値を、当該PDIDファイル703の登録アプリ数713として登録する。図28A,BのPDIDファイル703の登録アプリ数713としては「0個」が登録されており、図28CのPDIDファイル703の登録アプリ数713としては「2個」が登録されている。登録アプリ数713は、上記のシード(鍵)で暗号化されて登録される。なお、登録アプリ数713が「0個」の状態を「初期状態」と呼び、登録アプリ数713が「0個」以外の状態を「登録状態」と呼ぶことにする。
PDID714は、SDKアプリのPDID(プロダクトID)を登録するための登録欄である。より詳細に言うと、当該HDD233内のSDKアプリファイル702に格納されたSDKアプリのPDIDを登録するための登録欄である。図28A,BのPDIDファイル703のPDID714には、SDKアプリのPDIDがまだ登録されておらず、図28CのPDIDファイル703のPDID714には、SDKアプリのPDID(SDKアプリファイルA702Aに格納されたSDKアプリAのPDIDと、SDKアプリファイルB702Bに格納されたSDKアプリAのPDID)がすでに登録されている。図28A,BのPDIDファイル703のPDID714には、SDKアプリのPDIDの代わりにSDKアプリのPDIDと同じデータ量のデータ「ダミーID」が格納されている。PDIDファイル703にPDIDが格納される際には、PDID714にPDIDの代わりに格納されている「ダミーID」に替わりPDIDが格納される形で、PDIDファイル703にPDIDが格納される。こうしておけば、PDIDの格納前と格納後のPDIDファイル703のデータ量のずれが原因で、PDID登録処理の存在が発覚してしまうような事態が抑制される。PDID714に登録されるPDIDは、すでに説明したとおり、シード(鍵)で暗号化されて登録される。
以下、上記した「PDID登録処理」と「アプリ正当性判断処理」の具体例について説明する。
これらの処理は、VAS135(図1の説明欄参照)により実行される。図29は、VAS135により実行される処理に係るフローチャートであり、図30は、VAS135により実現される機能に係る機能ブロック図である。図1の融合機101には、図30のように、シード作成部902、PDID暗号化部911、PDID登録部912、PDID復号化部921、アプリ正当性判断部922等の機能ブロックが存在する。
融合機101に装着されたHDD233にSDKアプリファイル702が追加された状態で、融合機101の電源が投入されると、VAS135により図29の処理が実行されることになる。
まず最初に、シード作成部902が、当該融合機101に固有な鍵(シード)を作成(S11)する。当該鍵はここでは、当該融合機101の機体番号が使用されて作成される鍵(機体番号のチェックサム(8ビット)等)であり、暗号鍵兼復号鍵である。当該融合機101の機体番号以外の機体固有情報(MACアドレスやIPアドレス)を使用してもよい。シード作成部902はここでは、当該鍵(シード)933を当該融合機101の機体番号934を使用して作成するものとする。
続いて、VAS135が、当該HDD233内のPDIDファイル703が初期状態か登録状態かを、当該PDIDファイル703の登録アプリ数713に基づいて確認(S12)する。初期状態であると確認された場合、PDID登録処理(S13)とアプリ正当性判断処理(S14)とがこの順番で実行されることになる。登録状態であると確認された場合、PDID登録処理(S13)は実行されず、アプリ正当性判断処理(S14)が実行されることになる。なお、初期状態か登録状態かで場合分けをする代わりに、登録アプリ数713が最大アプリ数712未満か否かで場合分けをしてもよい。
PDID登録処理(S13)について説明する。S12に続いて、PDID登録部912は、当該HDD233内のSDKアプリファイル702に格納されたSDKアプリのPDIDを、当該HDD233内のPDIDファイル703に登録する。当該PDIDファイル703には、当該SDKアプリファイル702に格納されたSDKアプリのPDIDが、シード作成部902により作成されたシード(鍵)933でPDID暗号化部911により暗号化されて、PDID登録部912により登録される。
PDID登録処理(S13)では、PDID登録部912は、当該HDD233内のPDIDファイル703に登録されたPDIDの個数を、当該PDIDファイル703の登録アプリ数713として登録する。こうして、PDIDファイル703が初期状態から登録状態になると、S12の説明から明らかなように、次回の電源投入時には、当該HDD233についてPDID登録処理(S13)は実行されないことになる。
アプリ正当性判断処理(S14)について説明する。S12に続いて、アプリ正当性判断部922は、当該HDD233内のSDKアプリファイル702に格納されたSDKアプリの正当性を、当該HDD233内のPDIDファイル703に当該SDKアプリのPDIDが登録されていることをもって判断する。当該PDIDファイル703には、上記したように、SDKアプリのPDIDが、シード作成部902により作成されたシード(鍵)933でPDID暗号化部911により暗号化されて登録されているため、当該PDIDは、前もって、シード作成部902により作成されたシード(鍵)933でPDID復号化部921により復号化されることになる。
融合機101は、HDD233内のSDKアプリファイル702に格納されたSDKアプリについて、アプリ正当性判断処理(S14)により正当であることが判断されたSDKアプリであることを、当該SDKアプリの起動処理や起動権設定処理を実行するための条件とする。すなわち、アプリ正当性判断処理を経由していないSDKアプリや、アプリ正当性判断処理により正当でないことが判断されたSDKアプリは、MEM−P231やMEM−C232への起動が制限されることになる。このようにして、HDD233に係る不正行為が実行されて、融合機101にプログラムが不正に供給されてしまう危険性に対処しているのである。
なお、PDID登録処理とアプリ正当性判断処理を実行するメリットの具体例としては、HDD233内のSDKアプリファイル702の差し替え防止が挙げられる。例えば、低額なSDKアプリファイル702(SDKアプリ)を購入してHDD233に追加したユーザーが、不正コピーにより、当該HDD233内のSDKアプリファイル702を低額なものから高額なものに差し替えた場合でも、当該HDD233についてすでにPDID登録処理が実行されて、当該HDD233内のPDIDファイル703がすでに初期状態から登録状態になっていれば、アプリ正当性判断処理を通過することができないからである。上記のメリットは、PDIDファイル703の最大アプリ数712、すなわち、HDD233に追加可能なSDKアプリの個数の上限値が1個であっても2個以上であっても変わるところがない。
以下、PDID登録処理(S13)の詳細について、図31のシーケンス図により説明する。
まず最初に、S11として説明したように、VAS135がシードを作成(S101)する。S12の場合分け処理についても、説明したように実行される。
続いて、VAS135がSDKアプリファイル702に格納された識別コードをチェック(S102)する。VAS135は、あるファイルがSDKアプリファイル702であることを、そのファイルに識別コードが格納されていることをもって識別する。識別コードが格納されていないファイルについては、PDID登録処理やアプリ正当性判断処理は実行されない。
続いて、VAS135がSDKアプリファイル702に格納されたSDKアプリを仮起動(S103)させる。これにより、VAS135はSDKアプリから当該SDKアプリのPDIDを取得(S104)する。続いて、S13として説明したように、VAS135は、そのPDIDをシードで暗号化(S105)して、そのPDIDをPDIDファイル703に登録(S106)する。そして、VAS135がSDKアプリの仮起動を終了(S107)させる。
以下、アプリ正当性判断処理(S14)の詳細について、図32のシーケンス図により説明する。
まず最初に、S11として説明したように、VAS135がシードを作成(S201)する。S12の場合分け処理についても、説明したように実行される。
続いて、VAS135がSDKアプリファイル702に格納された識別コードをチェック(S202)する。VAS135は、あるファイルがSDKアプリファイル702であることを、そのファイルに識別コードが格納されていることをもって識別する。識別コードが格納されていないファイルについては、PDID登録処理やアプリ正当性判断処理は実行されない。
続いて、VAS135がSDKアプリファイル702に格納されたSDKアプリを仮起動(S203)させる。これにより、VAS135はSDKアプリから当該SDKアプリのPDIDを取得(S204)する。続いて、S14として説明したように、VAS135は、PDIDファイル703に登録されたPDIDを復号化(S205)して、S204のPDIDとS205のPDIDとの照合をもってSDKアプリの正当性を判断(S206)する。
続いて、VAS135は、正当であることが判断されたSDKアプリから当該SDKアプリのアプリ情報を取得(S207)する。ここで、融合機101の管理者は、正当であることが判断されたSDKアプリの内、起動権設定対象とするSDKアプリを選択するための選択画面を、オペレーションパネル202に表示(S208)させることができる。そして、融合機101の管理者は、正当であることが判断されたSDKアプリの内、起動権設定対象とするSDKアプリを、オペレーションパネル202を操作して選択(S209)することができる。そして、VAS135は、起動権設定対象として選択されたSDKアプリのPDIDを、HDD233等(不揮発性メモリ(フラッシュメモリ等)であればよい)に登録することで、当該SDKアプリの起動権を設定(S210)する。融合機101は、HDD233内のSDKアプリにつき、あるSDKアプリの起動権が設定されている場合、そのSDKアプリを、HDD233から適宜再生させて、MEM−P231やMEM−C232に適宜起動させる権限を有することになる。
(6)画像形成処理
第1,第2,第3,第4,第5具体例に関連して、図1の融合機101にて実行される画像形成処理について説明する。
図33は、VAS135により作成される画像形成処理用のパスワード941について説明するための図である。
ここでは、スキャナアプリ143は、融合機101に蓄積される画像データを読取原稿から読み取る場合、VAS135により作成されたパスワード941を当該画像データに付加し、当該画像データに「パスワードロック」を掛ける。同様に、ファクシミリアプリ144やネットワークファイルアプリ145は、融合機101に蓄積される画像データをネットワークから受信する場合、VAS135により作成されたパスワード941を当該画像データに付加し、当該画像データに「パスワードロック」を掛ける。
ここでは、プリンタアプリ142は、融合機101に蓄積された上記画像データを印刷用紙に印刷する場合、VAS135により作成されたパスワード941と当該画像データに付加されたパスワード941とを照合して、当該画像データの「パスワードチェック」を行なう。同様に、ファクシミリアプリ144やネットワークファイルアプリ145は、融合機101に蓄積された上記画像データをネットワークに送信する場合、VAS135により作成されたパスワード941と当該画像データに付加されたパスワード941とを照合して、当該画像データの「パスワードチェック」を行なう。
上記パスワード941は例えば、当該融合機101のSDメモリカードスロット601にセットされているSDメモリカード602に固有なデータとする。この場合には、ある画像データの読取処理や受信処理の終了から印刷処理や送信処理の開始までにSDメモリカード602を差し替えると、その画像データの印刷処理や送信処理が実行不可能になるので、SDメモリカード602の差し替え防止になる。SDメモリカード602に関する不正が存在するおそれがある場合には、画像形成処理までが制限されることになるので、上記具体例のメリットがより効果的になるのである。上記パスワード941の作成方法は上記具体例の鍵931の作成方法と同様であり、SDシリアルID932等が使用されて作成される。以上の事柄は、HDD233の付け替え防止についても適用可能である。
上記パスワード941は例えば、当該融合機101の機体に固有なデータとする。この場合には、画像データが蓄積されているHDD233を他の機体から当該融合機101に付け替えても、当該融合機101ではその画像データの印刷処理や送信処理は実行不可能なので、画像データが蓄積されているHDD233の付け替え防止になる。画像データの蓄積先となるHDD233に関する不正が存在するおそれがある場合には、画像形成処理までが制限されることになるので、上記具体例のメリットがより効果的になるのである。上記パスワード941の作成方法は上記具体例の鍵933の作成方法と同様であり、機体番号934等が使用されて作成される。以上の事柄は、画像データが蓄積されているSDメモリカード602の差し替え防止についても適用可能である。
図34は、上記のパスワード付加処理に係るフローチャートである。
プリンタアプリ142等が、融合機101に蓄積すべき画像データを読取原稿から読み取る又はネットワークから受信する(S101)と、VAS135が、パスワード941を作成(S102)する。続いて、プリンタアプリ142等が、VAS135により作成されたパスワード941を当該画像データに付加(S103)する事で、当該画像データにパスワードロックを掛ける。続いて、融合機101に当該画像データが蓄積される。
図35は、上記のパスワード照合処理に係るフローチャートである。
融合機101に蓄積されている画像データから印刷用紙に印刷すべき又はネットワークに送信すべき画像データが指定されると、VAS135が、パスワード941を作成(S111)する。続いて、プリンタアプリ142等が、VAS135により作成されたパスワード941と当該画像データに付加されたパスワード941とを照合(S112)する事で、当該画像データのパスワードチェックを行なう。続いて、プリンタアプリ142等が、当該画像データのパスワード照合結果が「正」であることを条件に、当該画像データを印刷用紙に印刷する又はネットワークに送信する(S113)のである。
図36は、VAS135により作成される画像形成処理用の鍵942について説明するための図である。
ここでは、スキャナアプリ143は、融合機101に蓄積される画像データを読取原稿から読み取る場合、VAS135により作成された鍵942で当該画像データを「オリジナル画像データ」から「スクランブル画像データ」に暗号化する。同様に、ファクシミリアプリ144やネットワークファイルアプリ145は、融合機101に蓄積される画像データをネットワークから受信する場合、VAS135により作成された鍵942で当該画像データを「オリジナル画像データ」から「スクランブル画像データ」に暗号化する。
ここでは、プリンタアプリ142は、融合機101に蓄積された上記画像データを印刷用紙に印刷する場合、VAS135により作成された鍵941で当該画像データを「スクランブル画像データ」から「オリジナル画像データ」に復号化する。同様にして、ファクシミリアプリ144やネットワークファイルアプリ145は、融合機101に蓄積された上記画像データをネットワークに送信する場合、VAS135により作成された鍵941で当該画像データを「スクランブル画像データ」から「オリジナル画像データ」に復号化する。
上記鍵942は例えば、当該融合機101のSDメモリカードスロット601にセットされているSDメモリカード602に固有な暗号化用データとする。この場合には、ある画像データの読取処理や受信処理の終了から印刷処理や送信処理の開始までにSDメモリカード602を差し替えると、その画像データの印刷処理や送信処理が実行不可能になるので、SDメモリカード602の差し替え防止になる。SDメモリカード602に関する不正が存在するおそれがある場合には、画像形成処理までが制限されることになるので、上記具体例のメリットがより効果的になるのである。上記鍵942の作成方法は上記具体例の鍵931の作成方法と同様で、SDシリアルID932等が使用されて作成される。以上の事柄は、HDD233の付け替え防止についても適用可能である。
上記鍵942は例えば、当該融合機101の機体に固有な暗号化用データとする。この場合には、画像データが蓄積されているHDD233を他の機体から当該融合機101に付け替えても、当該融合機101ではその画像データの印刷処理や送信処理は実行不可能なので、画像データが蓄積されているHDD233の付け替え防止になる。画像データの蓄積先となるHDD233に関する不正が存在するおそれがある場合には、画像形成処理までが制限されることになるので、上記具体例のメリットがより効果的になるのである。上記鍵942の作成方法は上記具体例の鍵933の作成方法と同様で、機体番号934等が使用されて作成される。以上の事柄は、画像データが蓄積されているSDメモリカード602の差し替え防止についても適用可能である。
図37は、上記の暗号化処理に係るフローチャートである。
プリンタアプリ142等が、融合機101に蓄積すべき画像データを読取原稿から読み取るまたはネットワークから受信する(S201)と、VAS135が、鍵942を作成(S202)する。続いて、プリンタアプリ142等が、VAS135により作成された鍵942で当該画像データを暗号化(S203)する。続いて、融合機101に当該画像データが蓄積される。
図38は、上記の復号化処理に係るフローチャートである。
融合機101に蓄積されている画像データから印刷用紙に印刷すべき又はネットワークに送信すべき画像データが指定されると、VAS135が、鍵942を作成(S211)する。続いて、プリンタアプリ142等が、VAS135により作成された鍵942で当該画像データを復号化(S212)する。続いて、プリンタアプリ142等が、当該画像データの復号化処理が「成功」したことを条件に、当該画像データを印刷用紙に印刷する又はネットワークに送信する(S213)のである。
なお、上記の画像形成処理において、同一の画像データについてパスワード941と鍵942を併用するようにしてもよい。また、上記の画像形成処理において、1台の融合機101に2枚以上のSDメモリカード602がセットされている場合、パスワード941や鍵942を特定のSDメモリカード602に固有のデータとするようにしてもよい。
(変形例)
図1の融合機101は、本発明「情報処理装置」の実施例に該当するものであり、図1の融合機101にて実行される情報処理は、本発明「情報処理方法」の実施例に該当するものである。図1のVAS135は、本発明「情報処理プログラム」の実施例に該当するものであり、図1のVAS135が記録されたSDメモリカードは、本発明「記録媒体」の実施例に該当するものである。
本発明の実施例に該当する融合機を表す。 図1の融合機に係るハードウェア構成図である。 図1の融合機に係る外観図である。 オペレーションパネルを表す。 融合機起動部を表す。 SDメモリカード用スロットとSDメモリカードに係るソフトウェアを表す。 第1具体例について説明するための図である。 VASにより実行される処理に係るフローチャートである。 VASにより実現される機能に係る機能ブロック図である。 PDID登録処理の詳細について説明するためのシーケンス図である。 アプリ正当性判断処理の詳細について説明するためのシーケンス図である。 第2具体例について説明するための図である。 VASにより実行される処理に係るフローチャートである。 VASにより実現される機能に係る機能ブロック図である。 PDID登録処理の詳細について説明するためのシーケンス図である。 アプリ正当性判断処理の詳細について説明するためのシーケンス図である。 第3具体例について説明するための図である。 VASにより実行される処理に係るフローチャートである。 VASにより実現される機能に係る機能ブロック図である。 PDID登録処理の詳細について説明するためのシーケンス図である。 アプリ正当性判断処理の詳細について説明するためのシーケンス図である。 第4具体例について説明するための図である。 VASにより実行される処理に係るフローチャートである。 VASにより実現される機能に係る機能ブロック図である。 PDID登録処理の詳細について説明するためのシーケンス図である。 PDID登録処理の詳細について説明するためのシーケンス図である。 アプリ正当性判断処理の詳細について説明するためのシーケンス図である。 第5具体例について説明するための図である。 VASにより実行される処理に係るフローチャートである。 VASにより実現される機能に係る機能ブロック図である。 PDID登録処理の詳細について説明するためのシーケンス図である。 アプリ正当性判断処理の詳細について説明するためのシーケンス図である。 画像形成処理用のパスワードについて説明するための図である。 パスワード付加処理に係るフローチャートである。 パスワード照合処理に係るフローチャートである。 画像形成処理用の鍵について説明するための図である。 暗号化処理に係るフローチャートである。 復号化処理に係るフローチャートである。 本発明の実施例に該当する情報処理装置を表す。
符号の説明
11 情報処理装置
21 ハードウェア
22 ソフトウェア
23 起動部
31 アプリケーション
32 プラットフォーム
101 融合機
111 ハードウェア
112 ソフトウェア
113 融合機起動部
121 撮像部
122 印刷部
123 その他のハードウェア
131 アプリケーション
132 プラットフォーム
133 アプリケーションプログラムインタフェース
134 エンジンインタフェース
135 仮想アプリケーションサービス
141 コピーアプリ
142 プリンタアプリ
143 スキャナアプリ
144 ファクシミリアプリ
145 ネットワークファイルアプリ
151 コントロールサービス
152 システムリソースマネージャ
153 ハンドラ
161 ネットワークコントロールサービス
162 ファクシミリコントロールサービス
163 デリバリコントロールサービス
164 エンジンコントロールサービス
165 メモリコントロールサービス
166 オペレーションパネルコントロールサービス
167 サーティフィケーションコントロールサービス
168 ユーザディレクトリコントロールサービス
169 システムコントロールサービス
171 ファクシミリコントロールユニットハンドラ
172 イメージメモリハンドラ
201 コントローラ
202 オペレーションパネル
203 ファクシミリコントロールユニット
211 CPU
212 ASIC
221 NB
222 SB
231 MEM−P
232 MEM−C
233 HDD
234 メモリカード用スロット
235 メモリカード
241 NIC
242 USBデバイス
243 IEEE1394デバイス
244 セントロニクスデバイス
301 原稿セット部
302 給紙部
303 排紙部
311 タッチパネル
312 テンキー
313 スタートボタン
314 リセットボタン
315 初期設定ボタン
321 ADF
322 フラットベッド
323 フラットベッドカバー
501 メモリモニタ部
502 プログラム起動部
601 SDメモリカード用スロット
602 SDメモリカード
611 SDメモリカードアクセスドライバ
612 SDメモリカードステータスドライバ
613 起動処理用プログラム
614 SDメモリカードチェックプログラム
701 SDメモリカードサービスファイル
702 SDKアプリファイル
703 PDIDファイル
711 整合性確認用データ、登録済確認用データ
712 最大アプリ数
713 登録アプリ数
714 PDID
901 カード正当性確認部、登録済確認部
902 シード作成部
903 PDIDファイル整合性確認部、登録済登録部
911 PDID暗号化部
912 PDID登録部
921 PDID復号化部
922 アプリ正当性判断部
931 鍵(シード、SDシード)
932 licファイル、SDシリアルID
933 鍵(シード、機体シード)
934 機体番号
941 パスワード
942 鍵

Claims (30)

  1. 記憶媒体に格納されたアプリケーションプログラムによる処理の実行制御を行う情報処理装置であって、
    該記憶媒体に格納されている、該記憶媒体が正当であるか否かを判断するための確認プログラムの起動要求を行う確認プログラム起動要求手段と、
    前記確認プログラム起動要求手段による起動要求に対して、前記記憶媒体に格納されている確認プログラムから正常に起動された旨の通知がなされた場合に、該記憶媒体が正当であると判断する記憶媒体正当性判断手段と、
    該記憶媒体正当性判断手段により該記憶媒体が正当であると判断された場合に、該記憶媒体に格納される前記アプリケーションプログラムを識別するための識別情報を、該記憶媒体に固有の情報に基づいて暗号化する識別情報暗号化手段と、
    前記識別情報暗号化手段によって暗号化された暗号化識別情報を該記憶媒体に登録する登録手段と、
    該暗号化識別情報を復号化するための復号鍵を作成する復号鍵作成手段と、
    前記復号鍵作成手段により作成された復号鍵を用いて、前記暗号化された暗号化識別情報を復号する復号化手段と、
    前記復号化手段により復号化された復号化識別情報と前記アプリケーションプログラムを識別するための識別情報とに基づいて前記アプリケーションプログラムの正当性を判断するアプリケーションプログラム正当性判断手段と、
    更に、前記確認プログラム起動要求手段による起動要求に対して、前記確認プログラムが正常に起動された旨の通知がなされなかった場合に、前記記憶媒体正当性判断手段により該記憶媒体が正当でないと判断され、その後の処理を終了する第一の終了手段と、
    を備えることを特徴とする情報処理装置。
  2. 前記アプリケーションプログラム正当性判断手段が、前記登録手段により登録された前記暗号化識別情報と前記識別情報とに基づいて、前記アプリケーションプログラムが正当であると判断した場合、当該アプリケーションプログラムの起動処理又は起動権設定を行うことを特徴とする請求項1記載の情報処理装置。
  3. 前記実行制御手段は、
    前記アプリケーションプログラム正当性判断手段により、正当であると判断された場合に実行を制御することを特徴とする請求項2記載の情報処理装置。
  4. 前記実行制御手段によって制御されるのは、前記アプリケーションプログラムの起動または起動権の設定であることを特徴とする請求項2又は3記載の情報処理装置。
  5. 前記アプリケーションプログラムに格納されている、前記アプリケーションプログラムが所定の条件に従って作成されたプログラムファイルであることを識別するための識別コードに基づいて、前記アプリケーションプログラムが所定の条件に従って作成されたプログラムファイルであることを識別する識別手段を備えることを特徴とする請求項1乃至4のいずれか1項記載の情報処理装置。
  6. 前記識別手段による識別処理は、前記登録手段による登録処理よりも前に実行され、
    前記識別手段は、
    前記識別コードが前記記憶媒体に格納されているか否かを識別し、
    該識別コードが格納されていない場合には、前記登録手段による登録処理を行わないことを特徴とする請求項5記載の情報処理装置。
  7. 前記識別手段は、
    前記識別コードが前記記憶媒体に格納されているか否かを識別し、
    該識別コードが格納されていない場合には、前記アプリケーションプログラム正当性判断手段による正当性判断処理を行わないことを特徴とする請求項5または6記載の情報処理装置。
  8. 前記記憶媒体と、前記暗号化識別情報が格納されている暗号化識別情報格納ファイルと、の整合性を確認するための情報であって、暗号化識別情報格納ファイルに格納され、前記記憶媒体に係る固有のデータを含む整合性確認情報が所定のものであるか否かにより、前記記憶媒体と該記憶媒体の前記暗号化識別情報格納ファイルとの整合性を確認する整合性確認手段と、
    前記整合性確認手段によって前記記憶媒体と、該記憶媒体の前記暗号化識別情報格納ファイルとが整合しないと確認された場合に、前記登録処理または前記アプリケーションプログラム正当性判断手段による正当性判断処理を行わずに処理を終了する第二の終了手段を備え、
    前記整合性確認情報は、前記記憶媒体に固有の情報に基づいて作成されていることを特徴とする請求項1乃至7のいずれか一項に記載の情報処理装置。
  9. 前記記憶媒体に格納可能な前記アプリケーションプログラムの個数の上限値の情報であって、暗号化識別情報格納ファイルに格納されている上限値まで、前記登録手段は、暗号化された暗号化識別情報を該記憶媒体に登録することを特徴とする請求項1乃至8のいずれか一項に記載の情報処理装置。
  10. 前記登録手段は、前記アプリケーションプログラムの識別情報を登録するための暗号化識別情報格納ファイルに設けられた登録欄に、格納されたダミー情報に代えて、前記暗号化識別情報を登録することを特徴とする請求項1乃至9のいずれか一項に記載の情報処理装置。
  11. 当該記憶媒体に固有の情報は、当該記憶媒体のシリアルID、または当該記憶媒体のシリアルIDと、当該記憶媒体の正当性を確認するためのプログラムの設定ファイルの電子署名を書き込んだ認証ファイルとから生成したメッセージダイジェストであることを特徴とする請求項1乃至10のいずれか一項に記載の情報処理装置。
  12. 前記登録手段による前記アプリケーションプログラムの前記暗号化識別情報の登録処理が実行済か未実行かを確認するための登録済確認用データに基づいて、該暗号化識別情報が登録されているか否かを確認する確認手段を備え、
    前記確認手段によって前記登録処理が未実行と確認された場合に、前記識別情報暗号化手段により暗号化された前記暗号化識別情報を前記登録手段により登録し、前記復号鍵作成手段により前記暗号化識別情報の復号鍵を作成し、
    前記登録手段による登録処理が実行されると、前記登録済確認用データに前記暗号化識別情報の登録済を登録する登録済登録手段をさらに備えることを特徴とする請求項1乃至11のいずれか1項に記載の情報処理装置。
  13. 前記確認手段により前記登録処理が実行済と確認された場合に、前記暗号化識別情報の復号鍵を前記復号鍵作成手段より作成し、前記アプリケーションプログラムの正当性を判断することを特徴とする請求項12記載の情報処理装置。
  14. 前記確認手段は、前記登録済確認用データに基づいて前記登録手段による登録処理が未実行か、第一の登録手段による登録までが登録済か、第二の登録手段による登録までが登録済かを確認し、
    前記登録手段は、
    前記確認手段の確認に応じて、前記記憶媒体に固有の情報に基づいて暗号化された第一の暗号化識別情報を登録する第一の登録手段と、
    前記確認手段の確認に応じて、当該情報処理装置に固有の情報に基づいて暗号化された第二の暗号化識別情報を登録する第二の登録手段とから成り、
    前記復号鍵作成手段は、
    前記第一の登録手段による登録処理を行うときに、前記第一の暗号化識別情報を復号化するための前記記憶媒体に固有の情報に基づく復号鍵を作成する第一の作成手段と、
    前記第二の登録手段による登録処理を行うときに、前記第二の暗号化識別情報を復号化するための当該情報処理装置に固有の情報に基づく復号鍵を作成する第二の作成手段とから成り、
    前記実行制御手段による実行制御は、前記第二の暗号化識別情報を用いて行われることを特徴とする請求項12又は13記載の情報処理装置。
  15. 前記情報処理装置は画像形成装置であることを特徴とする請求項1乃至14記載の情報処理装置。
  16. プログラムを記憶する記憶装置を設け、
    前記実行制御手段は、正当性が判断されたアプリケーションプログラムを、前記記憶装置に記憶することを特徴とする請求項1乃至1記載の情報処理装置。
  17. 情報処理装置に処理を実行させるためのアプリケーションプログラムを前記情報処理装置に入力するための記憶媒体であって、
    当該アプリケーションプログラムを識別するための識別情報が格納されている前記アプリケーションプログラムのプログラムファイルを格納する第一の格納ファイルと、
    当該記憶媒体が正当であるか否かを判断するための確認プログラムを格納する第二の格納ファイルと、
    第一の格納ファイルに格納された前記識別情報が、当該記憶媒体に固有の情報をもとに暗号化されて登録される暗号化識別情報格納ファイルとを備え、
    前記確認プログラムは、前記情報処理装置に搭載されたとき、前記情報処理装置からの前記確認プログラムの起動要求に応じて起動し、起動後、当該確認プログラムが起動した旨を前記情報処理装置に通知し、その結果、該情報処理装置によって当該記憶媒体が正当であると判断され、
    前記暗号化識別情報格納ファイルには、前記情報処理装置によって当該記憶媒体が正当であると判断された場合に、前記識別情報が、前記情報処理装置によって当該記憶媒体に固有の情報に基づいて暗号化された暗号化識別情報が格納され、
    前記暗号化識別情報格納ファイルに格納された暗号化識別情報は、前記情報処理装置によって復号され、復号された暗号化識別情報と前記当該アプリケーションプログラムを識別するための識別情報とに基づいて前記アプリケーションプログラムの正当性が、前記情報処理装置によって判断されることを特徴とする記憶媒体。
  18. 前記第一の格納ファイルには、
    前記アプリケーションプログラムが所定の条件に従って作成されたプログラムファイルであることを識別するための識別コードが格納されることを特徴とする請求項17記載の記憶媒体。
  19. 前記暗号化識別情報格納ファイルには、
    前記記憶媒体と、該記憶媒体の暗号化識別情報格納ファイルとの整合性を確認するための前記整合性確認情報が格納されることを特徴とする請求項17又は18記載の記憶媒体。
  20. 前記暗号化識別情報格納ファイルには、
    格納可能な前記識別情報の個数の上限値が設定されていると共に、当該暗号化識別情報格納ファイルに格納されている前記識別情報の個数の値が格納されていることを特徴とする請求項17乃至19のいずれか1項に記載の記憶媒体。
  21. 前記暗号化識別情報格納ファイルに前記識別情報が格納される際には、前記識別情報を格納するための格納領域に前記識別情報の代わりに格納されている格納情報に替わり前記識別情報が格納される形で、前記暗号化識別情報格納ファイルに前記識別情報が格納されることを特徴とする請求項7乃至20のいずれか1項に記載の記憶媒体。
  22. 当該記憶媒体に固有の情報は、当該記憶媒体のシリアルID、または当該記憶媒体のシリアルIDと、前記確認プログラムの設定ファイルの電子署名を書き込んだ認証ファイルとから生成したメッセージダイジェストであることを特徴とする請求項17乃至21のいずれか1項に記載の記憶媒体。
  23. 前記暗号化識別情報格納ファイルには
    前記情報処理装置の前記登録手段による前記アプリケーションプログラムの前記暗号化識別情報の登録処理が実行済か未実行かを確認するための登録済確認用データが格納されることを特徴とする請求項17乃至22のいずれか1項記載の記憶媒体。
  24. 請求項17〜23のいずれか1項に記載の記憶媒体が使用されて入力された前記アプリケーションプログラムにより情報処理を実行する情報処理装置、にて実行される情報処理方法であって、
    前記記憶媒体内の前記プログラムファイルに格納された前記アプリケーションプログラムのIDを、当該記憶媒体に固有の情報又は当該情報処理装置に固有の情報で暗号化して当該記憶媒体内の前記IDファイルに格納するID格納段階を備えることを特徴とする情報処理方法。
  25. 記憶媒体に格納されたアプリケーションプログラムによる処理の実行制御を行う情報処理装置と、該情報処理装置に装着されて当該情報処理装置に情報処理を実行させるためのプログラムの記憶先として使用される記憶装置とからなるシステムであって、
    前記情報処理装置は、
    該記憶媒体に格納されている、該記憶媒体が正当であるか否かを判断するための確認プログラムの起動要求を行う確認プログラム起動要求手段と、
    前記確認プログラム起動要求手段による起動要求に対して、前記記憶媒体に格納されている確認プログラムから正常に起動された旨の通知がなされた場合に、該記憶媒体が正当であると判断する記憶媒体正当性判断手段と、
    該記憶媒体正当性判断手段により該記憶媒体が正当であると判断された場合に、該記憶媒体に格納される前記アプリケーションプログラムを識別するための識別情報を、該記憶媒体に固有の情報に基づいて暗号化する識別情報暗号化手段と、
    前記識別情報暗号化手段によって暗号化された暗号化識別情報を該記憶媒体に登録する登録手段と、
    該暗号化識別情報を復号化するための復号鍵を作成する復号鍵作成手段と、
    前記復号化手段により復号化された復号化識別情報と前記アプリケーションプログラムを識別するための識別情報とを照合し、両者が一致した場合に前記アプリケーションプログラムが正当であると判断し、両者が一致しない場合に前記アプリケーションプログラムが正当でないと判断するアプリケーションプログラム正当性判断手段と、
    更に、前記確認プログラム起動要求手段による起動要求に対して、前記確認プログラムが正常に起動された旨の通知がなされなかった場合に、前記記憶媒体正当性判断手段により該記憶媒体が正当でないと判断され、その後の処理を終了する第一の終了手段と、を備え、
    前記記憶装置は、
    当該アプリケーションプログラムを識別するための識別情報が格納されている前記アプリケーションプログラムのプログラムファイルを格納する第一の格納ファイルと、
    第一の格納ファイルに格納された前記識別情報が、当該記憶媒体に固有の情報又は前記画像形成装置に固有の情報をもとに暗号化されて登録される暗号化識別情報格納ファイルとを備えている
    ことを特徴とするシステム。
  26. 前記第一の格納ファイルには、
    前記アプリケーションプログラムが所定の条件に従って作成されたプログラムファイルであることを識別するための識別コードが格納されることを特徴とする請求項5記載のシステム。
  27. 前記暗号化識別情報格納ファイルには、
    格納可能な前記識別情報の個数の上限値が設定されていると共に、当該第二の格納ファイルに格納されている前記識別情報の個数の値が格納されていることを特徴とする請求項25又は26に記載のシステム。
  28. 前記暗号化識別情報格納ファイルに前記識別情報が格納される際には、前記識別情報を格納するための格納領域に前記識別情報の代わりに格納されている格納情報に替わり前記識別情報が格納される形で、前記第二の格納ファイルに前記識別情報が格納されることを特徴とする請求項25乃至27のいずれか1項に記載のシステム。
  29. 当該記憶装置に固有の情報は、当該記憶装置機体番号のチェックサムであることを特徴とする請求項25乃至28のいずれか1項に記載のシステム。
  30. 請求項24に記載の情報処理方法をコンピュータに実行させる情報処理プログラム。
JP2004230106A 2003-08-12 2004-08-06 記憶媒体、記憶装置、情報処理装置、情報処理方法、情報処理プログラム及び記録媒体 Expired - Lifetime JP4728611B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004230106A JP4728611B2 (ja) 2003-08-12 2004-08-06 記憶媒体、記憶装置、情報処理装置、情報処理方法、情報処理プログラム及び記録媒体
US10/915,335 US8209547B2 (en) 2003-08-12 2004-08-11 Recording medium, storage unit, information processing apparatus, information processing method, information processing program and computer readable medium
EP04254846A EP1507186B1 (en) 2003-08-12 2004-08-12 Unauthorized copy preventing device and method thereof, and program
CN200410100524.4A CN1611365A (zh) 2003-08-12 2004-08-12 记录介质、存储单元、信息处理装置、方法及程序

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
JP2003292015 2003-08-12
JP2003292014 2003-08-12
JP2003292013 2003-08-12
JP2003292013 2003-08-12
JP2003292015 2003-08-12
JP2003292016 2003-08-12
JP2003292012 2003-08-12
JP2003292012 2003-08-12
JP2003292014 2003-08-12
JP2003292016 2003-08-12
JP2004081476 2004-03-19
JP2004081476 2004-03-19
JP2004230106A JP4728611B2 (ja) 2003-08-12 2004-08-06 記憶媒体、記憶装置、情報処理装置、情報処理方法、情報処理プログラム及び記録媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010096199A Division JP5058293B2 (ja) 2003-08-12 2010-04-19 記憶媒体、記憶装置、情報処理装置、情報処理方法、システム及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2005301969A JP2005301969A (ja) 2005-10-27
JP4728611B2 true JP4728611B2 (ja) 2011-07-20

Family

ID=33569011

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004230106A Expired - Lifetime JP4728611B2 (ja) 2003-08-12 2004-08-06 記憶媒体、記憶装置、情報処理装置、情報処理方法、情報処理プログラム及び記録媒体

Country Status (4)

Country Link
US (1) US8209547B2 (ja)
EP (1) EP1507186B1 (ja)
JP (1) JP4728611B2 (ja)
CN (1) CN1611365A (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4478871B2 (ja) * 2004-05-19 2010-06-09 ソニー株式会社 コンテンツデータ再生装置、コンテンツデータ提供装置、コンテンツデータ再生方法、コンテンツデータ提供方法、コンテンツデータ再生プログラム及びコンテンツデータ提供プログラム
US20060039566A1 (en) * 2004-08-19 2006-02-23 Xerox Corporation System for installing software with encrypted client-server communication
JP4769515B2 (ja) 2004-09-07 2011-09-07 株式会社リコー アプリケーション実行方法、情報処理装置、画像形成装置、アプリケーション実行プログラム、記録媒体、及び情報処理システム
JP4575860B2 (ja) * 2004-10-21 2010-11-04 株式会社リコー 画像形成装置、インストール方法、インストールプログラム、及び記録媒体
JP4704233B2 (ja) * 2005-03-04 2011-06-15 株式会社リコー 情報処理装置及びその制御方法
US8488135B2 (en) * 2005-03-14 2013-07-16 Ricoh Company, Ltd. Easy modification to method of controlling applications in image forming apparatus
US8532304B2 (en) * 2005-04-04 2013-09-10 Nokia Corporation Administration of wireless local area networks
JP4791910B2 (ja) 2005-08-26 2011-10-12 株式会社リコー 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
US9003394B2 (en) 2007-07-10 2015-04-07 Ricoh Company, Ltd. Program determining apparatus and program determining method
US8887268B2 (en) * 2007-09-05 2014-11-11 Panasonic Intellectual Property Corporation Of America Electronic device, password control method, and program
JP2009238047A (ja) * 2008-03-28 2009-10-15 Toppan Printing Co Ltd インストーラプログラム、情報処理装置及び記録媒体
JP5468057B2 (ja) * 2011-12-19 2014-04-09 シャープ株式会社 電子機器システム及び電子機器
US9058498B2 (en) * 2012-07-12 2015-06-16 Oracle International Corporation Runtime environment management of secure communications on card computing devices
WO2015136972A1 (ja) * 2014-03-14 2015-09-17 オムロン株式会社 制御装置及び制御装置システム
US20170068822A1 (en) * 2015-09-03 2017-03-09 Bit Sphere Inc. Method for binding a software application's functionality to specific storage media
JP2018028842A (ja) 2016-08-19 2018-02-22 株式会社リコー 情報処理装置、情報処理方法、及び情報処理プログラム
JP6792312B2 (ja) * 2017-02-17 2020-11-25 三菱電機株式会社 外部記憶媒体のセキュリティ管理システム及び外部記憶媒体のセキュリティ管理方法
US10949289B1 (en) * 2018-12-28 2021-03-16 Virtuozzo International Gmbh System and method for maintaining data integrity of data on a storage device

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05257816A (ja) * 1992-03-16 1993-10-08 Fujitsu Ltd 電子化データ保護方式
JPH07244584A (ja) * 1994-03-02 1995-09-19 Matsushita Electric Ind Co Ltd ソフトウェア保護システム
JPH07287655A (ja) * 1994-04-18 1995-10-31 Ricoh Co Ltd 情報処理装置
JP2000322254A (ja) * 1999-05-07 2000-11-24 Sega Enterp Ltd 電子装置及びセキュリティチェック方法
JP2001203686A (ja) * 2000-01-21 2001-07-27 Sony Corp データ処理装置、データ処理方法およびデータ検証値付与方法、並びにプログラム提供媒体
JP2001229018A (ja) * 2000-02-16 2001-08-24 Ricoh Co Ltd プログラム実行制御装置
JP2003005859A (ja) * 2001-04-16 2003-01-08 Yuichi Sumiya プログラムやデータの管理方法とコンピュータ
JP2003039770A (ja) * 2001-07-27 2003-02-13 Canon Inc 画像処理装置およびその制御方法
JP2003087239A (ja) * 2001-09-06 2003-03-20 Sony Corp 通信システム、通信装置および方法、記録媒体、並びにプログラム
JP2003179707A (ja) * 2001-12-11 2003-06-27 Minolta Co Ltd 画像読取装置、画像読取方法、および画像読取システム
JP2003195758A (ja) * 2001-12-25 2003-07-09 Kenwood Corp データ処理装置、インタフェースボードおよびデータ秘匿方法
JP2003223329A (ja) * 2001-12-28 2003-08-08 Sk Teletech Co Ltd 移動通信端末実行用プログラムファイル及びプログラムファイル実行方法並びに移動通信携帯端末

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7010144B1 (en) * 1994-10-21 2006-03-07 Digimarc Corporation Associating data with images in imaging systems
JP3356230B2 (ja) 1994-01-20 2002-12-16 株式会社リコー セキュリティ機能付複写装置
JP3652723B2 (ja) 1994-10-06 2005-05-25 株式会社東芝 ネットワークプリントシステムとネットワークプリント方法
JPH09134330A (ja) 1995-11-07 1997-05-20 Fujitsu Ltd セキュリティ保護システム
US5857021A (en) 1995-11-07 1999-01-05 Fujitsu Ltd. Security system for protecting information stored in portable storage media
US5805699A (en) 1996-05-20 1998-09-08 Fujitsu Limited Software copying system
EP0863662B1 (en) * 1997-03-05 2004-09-29 Matsushita Electric Industrial Co., Ltd. Image processing apparatus
JPH10255394A (ja) 1997-03-13 1998-09-25 Sony Corp 記録媒体及びその記録再生機
IL124571A0 (en) 1998-05-21 1998-12-06 Miki Mullor Method of restricting software operation within a licensed limitation
JP4185609B2 (ja) 1998-12-22 2008-11-26 キヤノン株式会社 印刷装置及びコンピュータ読み取り可能な記憶媒体
WO2001015380A1 (fr) * 1999-08-20 2001-03-01 Sony Corporation Systeme et procede d'emission d'informations, lecteur et procede d'acces, support d'enregistrement d'informations, et dispositif et procede de production de supports d'enregistrement
US7188255B1 (en) * 1999-09-23 2007-03-06 Hewlett-Packard Development Company, L.P. Software delivery system
US6862583B1 (en) 1999-10-04 2005-03-01 Canon Kabushiki Kaisha Authenticated secure printing
EP1267515A3 (en) 2000-01-21 2004-04-07 Sony Computer Entertainment Inc. Method and apparatus for symmetric encryption/decryption of recorded data
JP3679349B2 (ja) 2000-07-05 2005-08-03 株式会社リコー 画像形成装置、画像形成方法、画像形成プログラムおよびアプリケーションプログラム
JP2002132456A (ja) * 2000-10-20 2002-05-10 Sony Corp 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム提供媒体
JP4690600B2 (ja) * 2001-08-23 2011-06-01 富士通株式会社 データ保護方法
JP4751542B2 (ja) 2001-08-30 2011-08-17 アンリツ株式会社 測定器
JP3863401B2 (ja) 2001-10-12 2006-12-27 株式会社東芝 ソフトウェア処理装置
JP3653073B2 (ja) 2001-10-22 2005-05-25 株式会社リコー 画像形成装置、利用者制限方法およびこの方法をコンピュータに実行させるプログラム
JP4422372B2 (ja) * 2001-10-23 2010-02-24 トヨタ自動車株式会社 地図データ処理装置
US20030145218A1 (en) 2002-01-31 2003-07-31 Xerox Corporation Encryption of image data in a digital copier
US20040021890A1 (en) 2002-03-25 2004-02-05 Takumi Hirai Image forming apparatus, information processing apparatus and the authentication method
EP1492265A4 (en) * 2002-03-29 2005-04-13 Matsushita Electric Ind Co Ltd DEVICE, METHOD AND PROGRAM FOR CONTENT PROCESSING AND CONTENT ACCUMULATION MEDIUM
US20030218765A1 (en) 2002-04-26 2003-11-27 Tsutomu Ohishi Apparatus for controlling launch of application and method
JP4365148B2 (ja) 2002-07-19 2009-11-18 株式会社リコー 画像形成装置及びラッピング処理方法並びにプログラム
JP4843187B2 (ja) 2002-07-22 2011-12-21 株式会社リコー 画像形成装置
EP1387268A3 (en) 2002-07-31 2005-03-02 Ricoh Company Image forming apparatus, information processing apparatus and version check method
JP4070693B2 (ja) 2002-09-13 2008-04-02 株式会社リコー 画像形成装置およびスキャンデータ処理方法
DE60330425D1 (de) 2002-09-13 2010-01-21 Ricoh Kk Bilderzeugungsgerät und Verfahren zur Kontrolle der Benutzung
JP2004127282A (ja) 2002-09-13 2004-04-22 Ricoh Co Ltd 画像形成装置および印刷処理方法
EP1398948B1 (en) 2002-09-13 2013-11-06 Ricoh Company, Ltd. Image forming apparatus, methods used therein and a computer readable storage medium

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05257816A (ja) * 1992-03-16 1993-10-08 Fujitsu Ltd 電子化データ保護方式
JPH07244584A (ja) * 1994-03-02 1995-09-19 Matsushita Electric Ind Co Ltd ソフトウェア保護システム
JPH07287655A (ja) * 1994-04-18 1995-10-31 Ricoh Co Ltd 情報処理装置
JP2000322254A (ja) * 1999-05-07 2000-11-24 Sega Enterp Ltd 電子装置及びセキュリティチェック方法
JP2001203686A (ja) * 2000-01-21 2001-07-27 Sony Corp データ処理装置、データ処理方法およびデータ検証値付与方法、並びにプログラム提供媒体
JP2001229018A (ja) * 2000-02-16 2001-08-24 Ricoh Co Ltd プログラム実行制御装置
JP2003005859A (ja) * 2001-04-16 2003-01-08 Yuichi Sumiya プログラムやデータの管理方法とコンピュータ
JP2003039770A (ja) * 2001-07-27 2003-02-13 Canon Inc 画像処理装置およびその制御方法
JP2003087239A (ja) * 2001-09-06 2003-03-20 Sony Corp 通信システム、通信装置および方法、記録媒体、並びにプログラム
JP2003179707A (ja) * 2001-12-11 2003-06-27 Minolta Co Ltd 画像読取装置、画像読取方法、および画像読取システム
JP2003195758A (ja) * 2001-12-25 2003-07-09 Kenwood Corp データ処理装置、インタフェースボードおよびデータ秘匿方法
JP2003223329A (ja) * 2001-12-28 2003-08-08 Sk Teletech Co Ltd 移動通信端末実行用プログラムファイル及びプログラムファイル実行方法並びに移動通信携帯端末

Also Published As

Publication number Publication date
EP1507186A3 (en) 2006-11-15
JP2005301969A (ja) 2005-10-27
EP1507186A2 (en) 2005-02-16
US8209547B2 (en) 2012-06-26
US20050071660A1 (en) 2005-03-31
EP1507186B1 (en) 2011-10-19
CN1611365A (zh) 2005-05-04

Similar Documents

Publication Publication Date Title
JP4676724B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体
JP5090790B2 (ja) 機器、ライセンス管理方法、ライセンス管理プログラム、及びライセンス管理システム
JP4728611B2 (ja) 記憶媒体、記憶装置、情報処理装置、情報処理方法、情報処理プログラム及び記録媒体
US20080046720A1 (en) Image processing system, image processing apparatus, and program management method
US7634481B2 (en) File creation method, server, computer terminal, recording medium, information processing apparatus, and program addition system
JP5527380B2 (ja) 機器、ライセンス管理システム、ライセンス管理方法、及びライセンス管理プログラム
JP4575860B2 (ja) 画像形成装置、インストール方法、インストールプログラム、及び記録媒体
JP5387706B2 (ja) 情報処理装置、情報処理方法及び記録媒体
JP5272602B2 (ja) 認証機能連携機器、認証機能連携システム及び認証機能連携プログラム
US20090132833A1 (en) Storage device, terminal device using the storage device, and method thereof
JP4485785B2 (ja) 電子データ処理システム及び電子データ処理方法
JP2004303209A (ja) 画像形成装置、プログラム更新方法、及び更新用記憶媒体
JP2009199236A (ja) 画像処理装置、認証パッケージインストール方法、認証パッケージインストールプログラム、及び記録媒体
JP4409992B2 (ja) 画像形成装置、プログラム更新方法、及び更新用記憶媒体
JP2008171041A (ja) 画像形成装置、画像形成装置の起動方法、制御装置及び拡張ユニットの起動方法
JP2009290709A (ja) 印刷システム、印刷装置、画像処理装置及び印刷システムの制御方法
JP4444641B2 (ja) 情報処理装置、画像形成装置、及び電子データ移動方法
JP2006338551A (ja) コンテンツ再生装置及びコンテンツ再生方法
JP4803601B2 (ja) 画像処理装置および画像形成装置
JP2018136920A (ja) 画像形成装置及びその制御方法
JP2007174314A (ja) 電子証明書管理方法および画像処理装置
JP2006146748A (ja) コンピュータ組込機器およびデータ受渡方法
JP2004287839A (ja) 情報処理装置,画像形成装置,プログラム追加方法
JP2008023937A (ja) 画像形成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110114

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110322

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110415

R150 Certificate of patent or registration of utility model

Ref document number: 4728611

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 3

EXPY Cancellation because of completion of term