(57)【要約】【課題】記録媒体の不正使用を防止することができる記録媒体読取装置、画像形成装置、記録媒体及びプログラムを提供する。【解決手段】画像形成装置１０００において、記録媒体読取部１１００の読み取り対象のメモリカードに、所定のプログラムと、前記所定のプログラムをハッシュ関数によるハッシュ値（圧縮コード）を用いて圧縮処理し、さらに「秘密鍵」で暗号化した「要約暗号化情報」とが記録され、かつ、前記要約暗号化情報を「公開鍵」で復号化した「第１の要約記録情報」と、前記所定のプログラムを新たにハッシュ値を用いて圧縮処理した「第２の要約記録情報」とが一致する場合に、ＣＰＵ１０１１が前記所定のプログラムを実行し、一致しない場合には、ＣＰＵ１０１１が前記所定のプログラムを実行しないように構成する。【選択図】        図１
2004334392.tif 000002
【特許請求の範囲】
【請求項１】
読み取り対象の記録媒体から、所定のプログラム、前記所定のプログラムを要約化及び暗号化した要約暗号化情報を含む記録情報を読み取る読取手段と、前記要約暗号化情報を復号化した第１の要約化情報と、前記所定のプログラムを新たに要約化した第２の要約化情報とが一致する場合に、前記所定のプログラムを実行し、一致しない場合には、前記所定のプログラムを実行しないように制御する制御手段とを備えたことを特徴とする記録媒体読取装置。
【請求項２】
読み取り対象の記録媒体から、前記記録媒体を識別するための記録媒体識別情報、所定のプログラム、前記所定のプログラムと前記記録媒体識別情報とを要約化及び暗号化した要約暗号化情報を含む記録情報を読み取る読取手段と、前記要約暗号化情報を復号化した第１の要約化情報と、前記所定のプログラムと前記記録媒体識別情報とを新たに要約化した第２の要約化情報とが一致する場合に、前記所定のプログラムを実行し、一致しない場合には、前記所定のプログラムを実行しないように制御する制御手段とを備えたことを特徴とする記録媒体読取装置。
【請求項３】
読み取り対象の記録媒体から、前記記録媒体を識別するための記録媒体識別情報を含む記録情報を読み取る読取手段と、前記記録情報により前記記録媒体が正当であると判断した場合に、前記記録情報に含まれる所定のプログラムを実行し、正当でないと判断した場合には前記記録情報に含まれる所定のプログラムを実行しないように制御する制御手段とを備えた記録媒体読取装置であって、
前記記録情報に、前記記録媒体読取装置で有効なプログラム一覧情報、前記プログラム一覧情報と前記記録媒体識別情報とを要約化及び暗号化した有効要約暗号化情報、前記所定のプログラム、前記所定のプログラムと前記所定のプログラムの管理情報とを要約化及び暗号化した管理要約暗号化情報が含まれていて、前記有効要約暗号化情報を復号化した第１の要約化情報と、前記プログラム一覧情報と前記記録媒体識別情報とを新たに要約化した第２の要約化情報とが一致し、かつ、前記管理要約暗号化情報を復号化した第３の要約化情報と、前記所定のプログラムと前記所定のプログラムの管理情報とを新たに要約化した第４の要約化情報とが一致した場合に、前記制御手段は、前記記録媒体が正当であると判断するようにしたことを特徴とする記録媒体読取装置。
【請求項４】
前記制御手段が、予め設定された非対称鍵のうちの公開鍵により前記有効要約暗号化情報及び前記管理要約暗号化情報を復号化するようにしたことを特徴とする請求項３に記載の記録媒体読取装置。
【請求項５】
記録媒体を読み取る記録媒体読取手段と、前記記録媒体から読み取ったプログラムを用いて画像形成動作を制御する制御手段と、前記制御手段の制御で画像を形成する画像形成手段とを備えた画像形成装置であって、
前記記録媒体読取手段及び前記制御手段の一部として、請求項１乃至４のいずれかに記載の記録媒体読取装置を用いたことを特徴とする画像形成装置。
【請求項６】
コンピュータに、読み取り対象の記録媒体から、所定のプログラム、前記所定のプログラムを要約化及び暗号化した要約暗号化情報を含む記録情報を読み取る第１のステップと、第１のステップで取得された前記要約暗号化情報を復号化して第１の要約化情報を取得する第２のステップと、第１のステップで取得された前記所定のプログラムを新たに要約化して第２の要約化情報を取得する第３のステップと、第２のステップで取得された第１の要約化情報と、第３のステップで取得された第２の要約化情報とが一致するか否かを判断する第４のステップと、第４のステップで、第１の要約化情報と第２の要約化情報とが一致すると判断された場合に、前記所定のプログラムを設定して実行する第５のステップと、第４のステップで、第１の要約化情報と第２の要約化情報とが一致しないと判断された場合に、前記所定のプログラムを設定しないようにする第６のステップとを実行させるためのプログラム。
【請求項７】
コンピュータに、読み取り対象の記録媒体から、前記記録媒体を識別するための記録媒体識別情報、所定のプログラム、前記所定のプログラム及び前記記録媒体識別情報を要約化及び暗号化した要約暗号化情報を含む記録情報を読み取る第１のステップと、第１のステップで取得された前記要約暗号化情報を復号化して第１の要約化情報を取得する第２のステップと、第１のステップで取得された前記所定のプログラム及び前記記録媒体識別情報を新たに要約化して第２の要約化情報を取得する第３のステップと、第２のステップで取得された第１の要約化情報と、第３のステップで取得された第２の要約化情報とが一致するか否かを判断する第４のステップと、第４のステップで、第１の要約化情報と第２の要約化情報とが一致すると判断された場合に、前記所定のプログラムを設定して実行する第５のステップと、第４のステップで、第１の要約化情報と第２の要約化情報とが一致しないと判断された場合に、前記所定のプログラムを設定しないようにする第６のステップとを実行させるためのプログラム。
【請求項８】
コンピュータに、読み取り対象の記録媒体から、前記記録媒体を識別するための記録媒体識別情報を読み取る第１のステップと、前記記録媒体から、予め使用が許可されたプログラムを示すプログラム一覧情報を読み取り、前記プログラム一覧情報と前記記録媒体識別情報とを新たに要約化して要約化情報を取得する第２のステップと、前記記録媒体から、前記プログラム一覧情報と前記記録媒体識別情報とが予め要約化及び暗号化された要約暗号化情報を読み取り、前記要約暗号化情報を復号化して要約化情報を取得する第３のステップと、第２のステップで取得された要約化情報と、第３のステップで取得された要約化情報とが一致するか否かを判断する第４のステップと、第４のステップで双方の要約化情報が一致すると判断された場合に、前記記録媒体から所定のプログラム及び前記所定のプログラムの管理情報を読み出し、前記所定のプログラムと前記所定のプログラムの管理情報とを新たに要約化して要約化情報を取得する第５のステップと、前記記録媒体から、前記所定のプログラムと前記所定のプログラムの管理情報とが予め要約化及び暗号化された要約暗号化情報を読み取り、前記要約暗号化情報を復号化して要約化情報を取得する第６のステップと、第５のステップで取得された要約化情報と、第６のステップで取得された要約化情報とが一致するか否かを判断する第７のステップと、第７のステップで、双方の要約化情報が一致すると判断された場合に、前記所定のプログラムを設定して実行する第８のステップと、第７のステップで、双方の要約化情報が一致しないと判断された場合に、前記所定のプログラムを設定しないようにする第９のステップとを実行させるためのプログラム。
【請求項９】
請求項６乃至８のいずれかに記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリカード等の記録媒体から、プログラム及びこのプログラムが参照するデータを読み取る記録媒体読取装置、画像形成装置、記録媒体及びプログラムに関するものである。
【０００２】
【従来の技術】
メモリカード等の記録媒体は、パーソナルコンピュータ用に普及している汎用のオペレーティングシステムによって容易に読み取り可能なファイルシステムを採用し、記録媒体に記録されたプログラム及びプログラムが参照するデータを容易に複製できるようにしているために、不正コピー等による記録媒体の不正使用を防止することが難しかった。
【０００３】
そこで、従来の記録媒体（ここでは、メモリカード）は、「保護コード」、「保護ルーチン」、読み取り対象の「アプリケーションプログラム」を記録しており、前記保護コードと、前記保護ルーチン内の「比較コード」とが一致する場合のみ、前記アプリケーションプログラムが実行されるようにしている（例えば、特許文献１を参照）。
【０００４】
また、電子署名の作成要求がある前に、事前計算部が事前計算を実行し、事後計算部が、電子署名の作成要求があったときに事前計算結果に対して事後計算を施しているものもある（例えば、特許文献２を参照）。
【０００５】
また、従来の記録媒体及び記録媒体読取装置は、記録媒体（ここでは、メモリカード）から記録媒体読取装置（ここでは、メモリカード・リーダライタ）に対して固有鍵を暗号化して伝送し、前記記録媒体と前記記録媒体読取装置とは、それぞれ前記固有鍵を用いて相手装置の正当性を認証し、共に正当であると認証された場合に、前記記録媒体読取装置が、前記固有鍵を用いてディジタル著作物を暗号化して前記記録媒体へ転送するか、又は前記記録媒体が、前記記録媒体読取装置から暗号化されて転送されたディジタル著作物を、前記固有鍵を用いて復号するようにしている（例えば、特許文献３を参照）。
【０００６】
また、従来の記録媒体読取装置（ここでは、ＭＤデッキ）は、演算部が、記録媒体（ここでは、ＭＤ）に記録されているコンテンツデータの一部によりハッシュ値を演算し、演算結果を入出力部から情報処理装置（ここでは、パーソナルコンピュータ）に送信し、前記情報処理装置が、前記ハッシュ値と予め保持しているハッシュ値とを比較することにより、前記記録媒体に記録されたコンテンツを識別し、識別結果により前記コンテンツの入出力を管理しているものもある（例えば、特許文献４を参照）。
【０００７】
なお、外部から記録媒体読取装置（ここでは、保存装置）のプログラム終了要求を受け取ると、保存装置内の記録媒体に記録された、電子データの改竄検知情報を算定するための装置暗号鍵及び装置復号鍵を読み出し、保存装置内のマスター暗号鍵により前記装置暗号鍵及び前記装置復号鍵を暗号化し、暗号化した前記装置暗号鍵及び前記装置復号鍵を前記記録媒体に記録してプログラムを終了することにより、前記記録媒体に保存した電子データの原本性を保証しているものもある（例えば、特許文献５を参照）。ここでは、前記記録媒体の識別情報と、前記記録媒体のデータリストに対するメッセージ認証子のペア、並びに属性情報を前記保存装置内に記憶し、前記記録媒体が不正に交換されないように管理している。
【０００８】
【特許文献１】
特開平６‐２５９２４８号公報（図５）
【０００９】
【特許文献２】
特開２００１‐２５５８１６号公報（図１、図２）
【００１０】
【特許文献３】
特開２０００−３０７５６７号公報（図４、図５、図９）
【００１１】
【特許文献４】
特開２００２‐２８８０４１号公報（図９、図１０）
【００１２】
【特許文献５】
特開２００１‐１４７８９８号公報（図４）
【００１３】
【発明が解決しようとする課題】
しかしながら、「特許文献１」、「特許文献２」のような従来の記録媒体では、記録媒体読取装置側で記録媒体の不正使用を防止する点については配慮がなされていなかった。また、「特許文献３」のような従来の記録媒体読取装置では、記録媒体からの固有鍵によって記録媒体の正当性を判断し、前記記録媒体に対してディジタル著作物を送信しているために、前記ディジタル著作物自体の正当性を判断して不正使用を防止する点については配慮がなされていなかった。また、「特許文献４」のような従来の記録媒体読取装置では、情報処理装置側にコンテンツの一部のハッシュ値を送り、情報処理装置での比較結果に応じてコンテンツを削除又は入力しているために、記録媒体読取装置の識別情報を利用してコンテンツの入出力を制御する点については配慮がなされていなかった。また、「特許文献５」のような従来の記録媒体読取装置は、原本データの原本性を保証して記録媒体に保存するものであるために、記録媒体の記録情報に応じて前記記録情報の読み取り及び前記記録情報の設定を行う点については配慮がなされていなかった。
【００１４】
本発明は、このような課題を解決するためになされたもので、記録媒体の不正使用を防止することができる記録媒体読取装置、画像形成装置、記録媒体及びプログラムを提供するものである。
【００１５】
【課題を解決するための手段】
請求項１に係る本発明の記録媒体読取装置は、読み取り対象の記録媒体から、所定のプログラム、前記所定のプログラムを要約化及び暗号化した要約暗号化情報を含む記録情報を読み取る読取手段と、前記要約暗号化情報を復号化した第１の要約化情報と、前記所定のプログラムを新たに要約化した第２の要約化情報とが一致する場合に、前記所定のプログラムを実行し、一致しない場合には、前記所定のプログラムを実行しないように制御する制御手段とを備えた構成を有している。
【００１６】
請求項２に係る本発明の記録媒体読取装置は、読み取り対象の記録媒体から、前記記録媒体を識別するための記録媒体識別情報、所定のプログラム、前記所定のプログラムと前記記録媒体識別情報とを要約化及び暗号化した要約暗号化情報を含む記録情報を読み取る読取手段と、前記要約暗号化情報を復号化した第１の要約化情報と、前記所定のプログラムと前記記録媒体識別情報とを新たに要約化した第２の要約化情報とが一致する場合に、前記所定のプログラムを実行し、一致しない場合には、前記所定のプログラムを実行しないように制御する制御手段とを備えた構成を有している。
【００１７】
請求項３に係る本発明の記録媒体読取装置は、読み取り対象の記録媒体から、前記記録媒体を識別するための記録媒体識別情報を含む記録情報を読み取る読取手段と、前記記録情報により前記記録媒体が正当であると判断した場合に、前記記録情報に含まれる所定のプログラムを実行し、正当でないと判断した場合には前記記録情報に含まれる所定のプログラムを実行しないように制御する制御手段とを備えた記録媒体読取装置であって、前記記録情報に、前記記録媒体読取装置で有効なプログラム一覧情報、前記プログラム一覧情報と前記記録媒体識別情報とを要約化及び暗号化した有効要約暗号化情報、前記所定のプログラム、前記所定のプログラムと前記所定のプログラムの管理情報とを要約化及び暗号化した管理要約暗号化情報が含まれていて、前記有効要約暗号化情報を復号化した第１の要約化情報と、前記プログラム一覧情報と前記記録媒体識別情報とを新たに要約化した第２の要約化情報とが一致し、かつ、前記管理要約暗号化情報を復号化した第３の要約化情報と、前記所定のプログラムと前記所定のプログラムの管理情報とを新たに要約化した第４の要約化情報とが一致した場合に、前記制御手段は、前記記録媒体が正当であると判断するようにした構成を有している。
【００１８】
請求項４に係る本発明の記録媒体読取装置は、請求項３において、前記制御手段が、予め設定された非対称鍵のうちの公開鍵により前記有効要約暗号化情報及び前記管理要約暗号化情報を復号化するようにした構成を有している。
【００１９】
請求項５に係る本発明の画像形成装置は、記録媒体を読み取る記録媒体読取手段と、前記記録媒体から読み取ったプログラムを用いて画像形成動作を制御する制御手段と、前記制御手段の制御で画像を形成する画像形成手段とを備えた画像形成装置であって、前記記録媒体読取手段及び前記制御手段の一部として、請求項１乃至４のいずれかに記載の記録媒体読取装置を用いた構成を有している。
【００２０】
請求項６に係る本発明のプログラムは、コンピュータに、読み取り対象の記録媒体から、所定のプログラム、前記所定のプログラムを要約化及び暗号化した要約暗号化情報を含む記録情報を読み取る第１のステップと、第１のステップで取得された前記要約暗号化情報を復号化して第１の要約化情報を取得する第２のステップと、第１のステップで取得された前記所定のプログラムを新たに要約化して第２の要約化情報を取得する第３のステップと、第２のステップで取得された第１の要約化情報と、第３のステップで取得された第２の要約化情報とが一致するか否かを判断する第４のステップと、第４のステップで、第１の要約化情報と第２の要約化情報とが一致すると判断された場合に、前記所定のプログラムを設定して実行する第５のステップと、第４のステップで、第１の要約化情報と第２の要約化情報とが一致しないと判断された場合に、前記所定のプログラムを設定しないようにする第６のステップとを実行させている。
【００２１】
請求項７に係る本発明のプログラムは、コンピュータに、読み取り対象の記録媒体から、前記記録媒体を識別するための記録媒体識別情報、所定のプログラム、前記所定のプログラム及び前記記録媒体識別情報を要約化及び暗号化した要約暗号化情報を含む記録情報を読み取る第１のステップと、第１のステップで取得された前記要約暗号化情報を復号化して第１の要約化情報を取得する第２のステップと、第１のステップで取得された前記所定のプログラム及び前記記録媒体識別情報を新たに要約化して第２の要約化情報を取得する第３のステップと、第２のステップで取得された第１の要約化情報と、第３のステップで取得された第２の要約化情報とが一致するか否かを判断する第４のステップと、第４のステップで、第１の要約化情報と第２の要約化情報とが一致すると判断された場合に、前記所定のプログラムを設定して実行する第５のステップと、第４のステップで、第１の要約化情報と第２の要約化情報とが一致しないと判断された場合に、前記所定のプログラムを設定しないようにする第６のステップとを実行させている。
【００２２】
請求項８に係る本発明のプログラムは、コンピュータに、読み取り対象の記録媒体から、前記記録媒体を識別するための記録媒体識別情報を読み取る第１のステップと、前記記録媒体から、予め使用が許可されたプログラムを示すプログラム一覧情報を読み取り、前記プログラム一覧情報と前記記録媒体識別情報とを新たに要約化して要約化情報を取得する第２のステップと、前記記録媒体から、前記プログラム一覧情報と前記記録媒体識別情報とが予め要約化及び暗号化された要約暗号化情報を読み取り、前記要約暗号化情報を復号化して要約化情報を取得する第３のステップと、第２のステップで取得された要約化情報と、第３のステップで取得された要約化情報とが一致するか否かを判断する第４のステップと、第４のステップで双方の要約化情報が一致すると判断された場合に、前記記録媒体から所定のプログラム及び前記所定のプログラムの管理情報を読み出し、前記所定のプログラムと前記所定のプログラムの管理情報とを新たに要約化して要約化情報を取得する第５のステップと、前記記録媒体から、前記所定のプログラムと前記所定のプログラムの管理情報とが予め要約化及び暗号化された要約暗号化情報を読み取り、前記要約暗号化情報を復号化して要約化情報を取得する第６のステップと、第５のステップで取得された要約化情報と、第６のステップで取得された要約化情報とが一致するか否かを判断する第７のステップと、第７のステップで、双方の要約化情報が一致すると判断された場合に、前記所定のプログラムを設定して実行する第８のステップと、第７のステップで、双方の要約化情報が一致しないと判断された場合に、前記所定のプログラムを設定しないようにする第９のステップとを実行させている。
【００２３】
請求項９に係る本発明の記録媒体は、請求項６乃至８のいずれかに記載のプログラムを記録している。
【００２４】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を用いて説明する。
［第１の実施形態］
図１は、本発明の第１の実施形態に係る画像形成装置１０００の構成を示す。
【００２５】
画像形成装置１０００は、システムバス１０を介して接続された、中央処理装置（以下「ＣＰＵ」という）１０１１と、ＣＰＵ１０１１（「記録媒体読取手段」、「制御手段」に含まれる）によって実行されるプログラム（本実施形態の「記録媒体読取機能」を実現するためのプログラムを含む）等を格納するＲＯＭ１０１２と、ＲＯＭ１０１２に記憶されたプログラムを一時的に格納すると共にプログラムが使用するデータを一時的に記憶するランダム・アクセス・メモリ（以下「ＲＡＭ」という）１０１３と、原稿から画像を読み込むスキャナ１０１４と、スキャナ１０１４によって読み込まれた画像データを保存するハードディスク１０１５と、スキャナ１０１４によって読み込まれた画像データに基づいて画像を転写紙に転写するプロッタ１０１６（「画像形成手段」に含まれる）と、ＣＰＵ１０１１と装置各部とを同期させるためのタイミングをカウントするタイマ１０１７と、画像形成装置１０００の駆動条件、装置状態、及び入力条件などの各種情報を表示すると共に利用者による機能選択などの選択入力や設定入力等の入力操作と行うためのタッチパネル付きディスプレイ機器（ＬＣＤ）よりなる操作表示部１０１８と、画像形成装置１０００の設定データを保存する不揮発性メモリ１０１９と、ネットワークを介してコンピュータ装置（図示せず）からプリントコマンド等の制御情報を送受信するネットワークインタフェース１０２０と、メモリカード１００に記録された記録媒体識別情報、システムプログラム、アプリケーションプログラム、ファームウェアを構成するプログラム、及びこれらプログラムが参照するデータ等を読み取る記録媒体読取部１１００（「記録媒体読取手段」、「制御手段」に含まれる）とを備える。
【００２６】
また、不揮発性メモリ１０１９の許可媒体情報記憶領域４１０（図２に示す）には、画像形成装置１０００での使用が許可された複数のメモリカードの「記録媒体識別情報＃１、＃２、＃３、＃４・・・」を示す「許可媒体情報」が記憶されている。また、不揮発性メモリ１０１９の更新媒体識別情報記憶領域４２０（図２に示す）には、更新された複数の記録媒体識別情報によって構成される「更新媒体識別情報＃１ａ、＃２ａ、＃３ａ、＃４ａ・・・」が記憶されている。さらに、不揮発性メモリ１０１９の所定領域には、後述する「復号化処理」に用いる「公開鍵」が保持されている。
【００２７】
また、記録媒体読取部１１００は、エイシック（ＡＳＩＣ：Ａｐｐｌｉｃａｔｉｏｎ    Ｓｐｅｃｉｆｉｅｄ    ＩＣ）を有するカードインタフェースであって、メモリカード１００（図３に示す）の処理部とコネクタで接続され、メモリカード１００に対してコマンドを生成して送出し、メモリカード１００からの応答をＣＰＵ１０１１に送出するものである。また、記録媒体読取部１１００には、メモリカード１００を装着及び接続するための装着部（前記コネクタに相当する）と、メモリカード１００との間で信号を送受及び処理する処理部と、信号等の処理に必要な情報を記憶する記憶部とを有している。
【００２８】
なお、画像形成装置１０００は、複写機を構成するほかに、コンピュータ装置からネットワークインタフェース１０２０を介して画像データを受け取ってプロッタ１０１６によって画像を転写紙に転写するプリンタ装置、スキャナ１０１４によって読み込まれた画像データをコンピュータ装置にネットワークインタフェース１０２０を介して送信するスキャナ装置、または、前述した複写機、プリンタ装置、及びスキャナ装置を構成する複合機を構成するようにしてもよい。
【００２９】
図３は、本発明の実施の形態に係るメモリカードの構成を示すブロック図である。
【００３０】
メモリカード１００は、制御回路１０１と、リード・オンリー・メモリ（以下「ＲＯＭ」という）１０２と、フラッシュメモリ１０３とを備えている。フラッシュメモリ１０３には、プログラムやデータ等を表す記録情報が記録されている。ＲＯＭ１０２には、メモリカード１００を識別するための記録媒体識別情報と、メモリカード１００の製造日時等のメモリカード１００に関する情報とが予め記憶されている。制御回路１０１は、ＲＯＭ１０２およびフラッシュメモリ１０３に記憶された情報の送受信やアクセス制御を行うように構成されている。
【００３１】
ここで、前記記録媒体識別情報は、例えば、メモリカード１００固有の「シリアルＩＤ」である。また、前記記録情報には、システムプログラム、アプリケーションプログラム、あるいはファームウェアの実体である「バイナリデータ」と、このバイナリデータに対してハッシュ関数によるハッシュ値（圧縮コード）を用いて圧縮処理を施し、得られたメッセージダイジェスト（ＭＤ）に対し、さらに「秘密鍵」による暗号化処理を施して得られた「要約暗号情報（「電子署名」又は「メッセージ認証子（ＭＡＣ）」に相当する）」とからなる「記録情報ファイル」が含まれる。
【００３２】
図４は、本実施形態に係る画像形成装置１０００の動作を示すフローチャートである。この動作は、ＣＰＵ１０１１（コンピュータに含まれる）に、図４に示すステップを実行させることで実現するものである。
【００３３】
まず、ＣＰＵ１０１１は、画像形成装置１０００の電源が投入されたとき、オペレーティングシステム（以下「ＯＳ」という）を起動し（Ｓ１０１）、初期化ルーチンを実行する（Ｓ１０２）。
【００３４】
次いで、ＣＰＵ１０１１は、記録媒体読取部１１００にメモリカード１００が装着されたか否かを判断する（Ｓ１０３）。この判断が「あり」の場合はＳ１０４に移り、「なし」の場合には何らの処理も行わず、「コマンド入力待ち状態」となる。
【００３５】
Ｓ１０４では、記録媒体読取部１１００に指示してメモリカード１００を読み取らせ、記録媒体読取部１１００がメモリカード１００から読み取った情報と、不揮発性メモリ１０１９に記憶された情報とにより、メモリカード１００に記憶されたアプリケーションプログラム等の実行の可否を判断する。この判断が「ＯＫ」の場合はＳ１０５に移り、「ＮＧ」の場合にはＳ１０３に移る。
【００３６】
Ｓ１０５では、メモリカード１００に記憶された前記記録情報ファイルのアプリケーション等を実行する。
【００３７】
図５は、図４のＳ１０４の詳細を示すフローチャートである。
【００３８】
まず、ＣＰＵ１０１１は、記録媒体読取部１１００にメモリカード１００の記録媒体識別情報を読み取らせる（Ｓ２０１）。
【００３９】
次いで、ＣＰＵ１０１１は、不揮発性メモリ１０１９の許可媒体情報記憶領域４１０から前記許可媒体情報を取得する（Ｓ２０２）。
【００４０】
次いで、ＣＰＵ１０１１は、Ｓ２０２で取得した前記許可媒体情報に、Ｓ２０１で取得したメモリカード１００の記録媒体識別情報が含まれているか否かを判断する（Ｓ２０３）。この判断が「ＹＥＳ」の場合はＳ２０４に移り、「ＮＯ」の場合にはＳ２１０に移る。
【００４１】
Ｓ２０４では、ＣＰＵ１０１１から記録媒体読取部１１００に対して「読取制御信号」を送出し、記録媒体読取部１１００にメモリカード１００の前記記録情報を読み取らせる。ここでは、前記記録情報ファイルから、システムプログラム、アプリケーションプログラム、あるいはファームウェアの実体である「バイナリデータ」を読み取らせる。読み取られた前記記録情報は、ＲＡＭ１０１３へ送られて格納される。
【００４２】
次いで、ＣＰＵ１０１１は、記録媒体読取部１１００にメモリカード１００の前記要約暗号情報を読み取らせる（Ｓ２０５）。前記要約暗号情報は、前記バイナリデータに対してハッシュ関数によるハッシュ値（圧縮コード）を用いて圧縮処理を施し、得られたメッセージダイジェスト（ＭＤ）に対して、さらに「秘密鍵」による暗号化処理を施して得られたものである。ここで、読み取られた前記要約暗号情報は、ＲＡＭ１０１３へ送られて格納される。
【００４３】
次いで、ＣＰＵ１０１１は、Ｓ２０５で取得した前記要約暗号情報を復号化する（Ｓ２０６）。ここでは、前記要約暗号情報に対し、予め不揮発性メモリ１０１９に保持するか、あるいはメモリカード１００から取得した「公開鍵」による復号化処理を施す。この復号化処理により、前記バイナリデータに対してハッシュ関数によるハッシュ値（圧縮コード）を用いて圧縮処理を施したメッセージダイジェスト「ＭＤ１」が取得される。
【００４４】
次いで、ＣＰＵ１０１１は、Ｓ２０４で取得した前記バイナリデータを要約化する（Ｓ２０７）。ここでは、前記バイナリデータに対してハッシュ関数によるハッシュ値（圧縮コード）を用いて圧縮処理を施し、メッセージダイジェスト「ＭＤ２」を取得する。
【００４５】
次いで、ＣＰＵ１０１１は、Ｓ２０６で取得したメッセージダイジェスト「ＭＤ１」と、Ｓ２０７で取得したメッセージダイジェスト「ＭＤ２」とが等しいか否かを判断する（Ｓ２０８）。この判断が「ＹＥＳ」の場合はＳ１０５に移り、「ＮＯ」の場合にはＳ２０９に移る。
【００４６】
Ｓ２０９では、前記バイナリデータを廃棄して無効化する。次いで、ＣＰＵ１０１１は、操作表示部１０１８に対して「表示制御信号」を送出し、操作表示部１０１８に「メモリカード１００が不正使用された旨」を表示させ、処理を終了してメモリカード１００の使用を禁止する（Ｓ２１０）。なお、Ｓ２０３の判断が「ＮＯ」の場合についても、Ｓ２１０で、ＣＰＵ１０１１から操作表示部１０１８に対して「表示制御信号」を送出し、操作表示部１０１８に「メモリカード１００が不正使用された旨」を表示させ、処理を終了する。ここで、使用が許可されていないメモリカード１００に記録されたプログラム（前記バイナリデータに相当する）は、記録媒体読取部１１００によって読み取られないために、ＣＰＵ１０１１によって実行されることはない。
【００４７】
ここでは、Ｓ２０４、Ｓ２０５が、請求項６に記載の「第１のステップ」に含まれる。Ｓ２０６が、請求項６に記載の「第２のステップ」に含まれる。Ｓ２０７が、請求項６に記載の「第３のステップ」に含まれる。Ｓ２０８が、請求項６に記載の「第４のステップ」に含まれる。Ｓ１０５が、請求項６に記載の「第５のステップ」に含まれる。Ｓ２０９、Ｓ２１０が、請求項６に記載の「第６のステップ」に含まれる。
【００４８】
以上のように、本発明の第１の実施形態に係る画像形成装置１０００（「記録媒体読取装置」に含まれる）は、読み取り対象のメモリカード１００（「記録媒体」に含まれる）から、メモリカード１００を識別するための記録媒体識別情報を含む記録情報を読み取る記録媒体読取部１１００（「読取手段」、「記録媒体読取手段」に含まれる）と、使用が許可された記録媒体の記録媒体識別情報を表す許可媒体情報を記憶する不揮発性メモリ１０１９の許可媒体情報記憶領域４００（許可媒体情報記憶手段）と、前記許可媒体情報に前記記録媒体識別情報が含まれる場合に、前記記録情報を読み取るように記録媒体読取部１１００を制御するＣＰＵ１０１１（「記録媒体読取手段」、「制御手段」に含まれる）とを備え、
前記記録情報に、所定のプログラム、前記所定のプログラムをハッシュ関数によるハッシュ値（圧縮コード）を用いて圧縮処理（「要約化」に含まれる）し、さらに「秘密鍵」で暗号化した電子署名（「要約暗号化情報」に含まれる）が含まれていて、前記電子署名を「公開鍵」で復号化した要約記録情報（「第１の要約化情報」に含まれる）と、前記所定のプログラムを新たにハッシュ関数によるハッシュ値（圧縮コード）を用いて圧縮処理した要約記録情報（「第２の要約化情報」に含まれる）とが一致する場合に、ＣＰＵ１０１１が前記所定のプログラムを実行し、一致しない場合には、ＣＰＵ１０１１が前記所定のプログラムを実行しないようにしているので、予め画像形成装置１０００で使用が許可されたメモリカード１００の識別情報を装置側の不揮発性メモリ１０１９に記録しておくことにより、画像形成装置１０００で使用できるメモリカードを限定できる。また、画像形成装置１０００は電子署名による正当性の認証に対応しているので、メモリカード１００に記録された記録情報を改竄されても、電子署名を利用して改竄された不正な記録情報を無効化することができる。また、画像形成装置１０００側では、非対称鍵のうちの「公開鍵」により暗号化、復号化を行っているので、「秘密鍵」が不正に取得及び開示されることを防止できる。よって、画像形成装置１０００におけるファームウェアやソフトウェアの不正使用を防止し、メモリカード１００のデータ改竄を防止できる。
【００４９】
なお、上述した実施形態では予め画像形成装置１０００で使用が許可されたメモリカードの識別情報（記録媒体識別情報）を不揮発性メモリ１０１９に登録するようにした場合について説明したが、本発明はこのほかに、画像形成装置１０００が前記記録媒体識別情報を管理せず、後述する第３の実施形態を適用して、図５に示すＳ２０４からＳ２１０までの手順により、メモリカードの正当性を判断するようにしても同様の効果が得られるものである。この場合、画像形成装置（図１の１０００に相当する）に、読み取り対象の記録媒体（図３の１００に相当する）から、所定のプログラム、前記所定のプログラムを要約化及び暗号化した要約暗号化情報（前記「電子署名」に相当する）を含む記録情報を読み取る読取手段（図１の１１００に相当する）と、前記要約暗号化情報を復号化した第１の要約化情報（前記「要約記録情報」に相当する）と、前記所定のプログラムを新たに要約化した第２の要約化情報（前記「要約記録情報」に相当する）とが一致する場合に、前記所定のプログラムを実行し、一致しない場合には、前記所定のプログラムを実行しないように制御する制御手段（図１の１０１１に相当する）とを備えた構成とする。この構成が、請求項１に係る本発明の一実施形態となる。ここでは、例えば、メモリカード１００と画像形成装置１０００とが１対１に対応する必要はなくなるために、メモリカード１００の移動、更新、増加などが容易となるという効果も得られる。また、画像形成装置１０００の配置変更、仕様変更などにも柔軟に対応できる。
【００５０】
また、上述した実施形態では記録媒体読取部１１００の部品として「ＡＳＩＣ」を用いた場合について説明したが、本発明はこのほかに、メモリカード１００が着脱可能に装着される「外付けの記録媒体装着装置」と「ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）」等の通信規格に準拠した情報の送受信を行う「記録媒体装着装置インタフェース回路」を備え、外付けの記録媒体装着装置と接続されたケーブルを介してメモリカード１００に記録された情報の送受信を行うようにしても同様の効果が得られるものである。
【００５１】
また、上述した実施形態では不揮発性メモリ１０１９に、前記許可媒体情報及び前記更新媒体識別情報を記憶した場合について説明したが、本発明はこのほかに、前記許可媒体情報及び前記更新媒体識別情報を記録媒体読取部１１００に記憶するようにしても同様の効果が得られるものである。
【００５２】
また、上述した実施形態ではメモリカード１００として、「前記記録情報の書き込みを恒久的に禁止する状態に設定できるもの」を用いるか、あるいは「前記記録情報の書き込みを恒久的に禁止する状態に設定できないもの」を用いるかを限定しない場合について説明したが、記録情報の書き込みを恒久的に禁止する状態に設定できるメモリカード１００を用いた場合には、図５のＳ２１０で不正使用があった旨を表示すると共に、記録媒体読取部１１００によってメモリカード１００に対する記録情報の書き込みを恒久的に禁止する状態に設定するようにしてもよい。
【００５３】
また、上述した実施形態ではＣＰＵ１０１１が図４、図５のステップを実行することで、前述した「記録媒体読取機能」を実現した場合について説明したが、本発明はこのほかに、記録媒体読取部１１００の処理部等が図４、図５のステップを実行するようにしても同様の効果が得られるものである。
【００５４】
また、上述した実施形態ではＲＯＭ１０１２に前述した「記録媒体読取機能」を実現するためのプログラム等を記憶した場合について説明したが、本発明はこのほかに、コンピュータ読み取り可能なＣＤ‐ＲＯＭ等の記録媒体を装着して駆動する「媒体駆動部」を設け、この媒体駆動部に、前記記録媒体読取機能を実現するためのプログラムやデータ等を記録したＣＤ‐ＲＯＭ等を装着して読み込み、ＲＡＭ１０１３へ格納するようにしても同様の効果が得られるものである。なお、前記ＣＤ‐ＲＯＭの他に、半導体媒体（例えば、ＲＯＭ、ＩＣメモリカードなど）、光媒体（例えば、ディジタル・バーサタイル・ディスク（ＤＶＤ）、光磁気ディスク（ＭＯ）、ミニディスク（ＭＤ）、書き込み可能なＣＤ（ＣＤ‐Ｒ）など）、磁気媒体（例えば、磁気テープ、フレキシブルディスク（ＦＤ）など）などを用いてもよい。また、前記プログラムやデータ等が半導体の記録媒体に記録されている場合には、直接、ＲＡＭ１０１３ヘロードされ、実行されることとなる。なお、ＲＡＭ１０１３へロードされた前記プログラムを実行することにより、本実施形態の記録媒体読取機能が実現されるだけでなく、前記プログラムの指示に基づき、オペレーティングシステムなどが実際の処理の一部または全部を行い、その処理によって前記記録媒体読取機能が実現されるようにした場合も本発明に含まれる。あるいは、ネットワークからネットワークインタフェース１０２０を介して前記記録媒体読取機能を実現するためのプログラムやデータ等を受信し、ＲＡＭ１０１３へ格納するようにしてもよい。
【００５５】
［第２の実施形態］
本発明の第２の実施形態に係る画像形成装置は、第１の実施形態と概ね同様の構成を有しているために、図１、図２、図３を用いると共に同一構成には同一符号を付与して説明を省略する。また、前記画像形成装置の動作は、使用許可チェック（図５のＳ２０１からＳ２１０まで）を除き、第１の実施形態と概ね同様であるために、図４を用いると共に説明を簡略にする。
【００５６】
本実施形態のメモリカード１００において、ＲＯＭ１０２には、メモリカード１００を識別するための記録媒体識別情報（例えば、「シリアルＩＤ」等）と、メモリカード１００の製造日時等のメモリカード１００に関する情報とが予め記憶されている。フラッシュメモリ１０３には、システムプログラム、アプリケーションプログラム、あるいはファームウェアの実体である「バイナリデータ」と、このバイナリデータ及び前記記録媒体識別情報に対してハッシュ関数によるハッシュ値（圧縮コード）を用いて圧縮処理を施し、得られたメッセージダイジェスト（ＭＤ）に対し、さらに「秘密鍵」による暗号化処理を施して得られた「要約暗号情報（「電子署名」又は「メッセージ認証子（ＭＡＣ）」に相当する）」とからなる「記録情報ファイル」が記憶されている。この点が第１の実施形態と相違している。
【００５７】
図６は、図４のＳ１０４の詳細を示すフローチャートである。本発明の第２の実施形態に係る使用許可チェック動作は、ＣＰＵ１０１１（コンピュータに含まれる）に、図６に示すステップを実行させることで実現される。
【００５８】
まず、ＣＰＵ１０１１は、記録媒体読取部１１００にメモリカード１００の記録媒体識別情報を読み取らせる（Ｓ３０１）。
【００５９】
次いで、ＣＰＵ１０１１は、不揮発性メモリ１０１９の許可媒体情報記憶領域４１０から前記許可媒体情報を取得する（Ｓ３０２）。
【００６０】
次いで、ＣＰＵ１０１１は、Ｓ２０２で取得した前記許可媒体情報に、Ｓ２０１で取得したメモリカード１００の記録媒体識別情報が含まれているか否かを判断する（Ｓ３０３）。この判断が「ＹＥＳ」の場合はＳ３０４に移り、「ＮＯ」の場合にはＳ３１０に移る。
【００６１】
Ｓ３０４では、ＣＰＵ１０１１から記録媒体読取部１１００に対して「読取制御信号」を送出し、記録媒体読取部１１００にメモリカード１００の前記記録情報を読み取らせる。ここでは、前記記録情報ファイルから、システムプログラム、アプリケーションプログラム、あるいはファームウェアの実体である「バイナリデータ」を読み取らせる。読み取られた前記記録情報は、ＲＡＭ１０１３へ送られて格納される。
【００６２】
次いで、ＣＰＵ１０１１は、記録媒体読取部１１００にメモリカード１００の前記要約暗号情報を読み取らせる（Ｓ３０５）。前記要約暗号情報は、前記バイナリデータ及び前記記録媒体識別情報に対してハッシュ関数によるハッシュ値（圧縮コード）を用いて圧縮処理を施し、得られたメッセージダイジェスト（ＭＤ）に対して、さらに「秘密鍵」による暗号化処理を施して得られたものである。ここで読み取られた前記要約暗号情報は、ＲＡＭ１０１３へ送られて格納される。
【００６３】
次いで、ＣＰＵ１０１１は、Ｓ３０５で取得した前記要約暗号情報を復号化する（Ｓ３０６）。ここでは、前記要約暗号情報に対し、予め不揮発性メモリ１０１９に保持するか、あるいはメモリカード１００から取得した「公開鍵」による復号化処理を施す。この復号化処理により、前記バイナリデータ及び前記記録媒体識別情報に対してハッシュ関数によるハッシュ値（圧縮コード）を用いて圧縮処理を施したメッセージダイジェスト「ＭＤ１」が取得される。
【００６４】
次いで、ＣＰＵ１０１１は、Ｓ３０４で取得した前記バイナリデータと、Ｓ３０１で取得した前記記録媒体識別情報とを要約化する（Ｓ３０７）。ここでは、前記バイナリデータ及び前記記録媒体識別情報に対してハッシュ関数によるハッシュ値（圧縮コード）を用いて圧縮処理を施し、メッセージダイジェスト「ＭＤ２」を取得する。
【００６５】
次いで、ＣＰＵ１０１１は、Ｓ３０６で取得したメッセージダイジェスト「ＭＤ１」と、Ｓ３０７で取得したメッセージダイジェスト「ＭＤ２」とが等しいか否かを判断する（Ｓ３０８）。この判断が「ＹＥＳ」の場合はＳ１０５に移り、「ＮＯ」の場合にはＳ３０９に移る。
【００６６】
Ｓ３０９では、前記バイナリデータを廃棄して無効化する。次いで、ＣＰＵ１０１１は、操作表示部１０１８に対して「表示制御信号」を送出し、操作表示部１０１８に「メモリカード１００が不正使用された旨」を表示させ、処理を終了してメモリカード１００の使用を禁止する（Ｓ３１０）。なお、Ｓ３０３の判断が「ＮＯ」の場合についても、Ｓ３１０で、ＣＰＵ１０１１から操作表示部１０１８に対して「表示制御信号」を送出し、操作表示部１０１８に「メモリカード１００が不正使用された旨」を表示させ、処理を終了する。ここで、使用が許可されていないメモリカード１００に記録されたプログラム（前記バイナリデータに相当する）は、記録媒体読取部１１００によって読み取られないために、ＣＰＵ１０１１によって実行されることはない。
【００６７】
ここでは、Ｓ３０１、Ｓ３０４、Ｓ３０５が、請求項７に記載の「第１のステップ」に含まれる。Ｓ３０６が、請求項７に記載の「第２のステップ」に含まれる。Ｓ３０７が、請求項７に記載の「第３のステップ」に含まれる。Ｓ３０８が、請求項７に記載の「第４のステップ」に含まれる。Ｓ１０５が、請求項７に記載の「第５のステップ」に含まれる。Ｓ３０９、Ｓ３１０が、請求項７に記載の「第６のステップ」に含まれる。
【００６８】
以上のように、本発明の第２の実施形態に係る画像形成装置１０００（「記録媒体読取装置」に含まれる）は、読み取り対象のメモリカード１００（「記録媒体」に含まれる）から、メモリカード１００を識別するための記録媒体識別情報を含む記録情報を読み取る記録媒体読取部１１００（「読取手段」、「記録媒体読取手段」に含まれる）と、使用が許可された記録媒体の記録媒体識別情報を表す許可媒体情報を記憶する不揮発性メモリ１０１９の許可媒体情報記憶領域４００（許可媒体情報記憶手段）と、前記許可媒体情報に前記記録媒体識別情報が含まれる場合に、前記記録情報を読み取るように記録媒体読取部１１００を制御するＣＰＵ１０１１（「記録媒体読取手段」、「制御手段」に含まれる）とを備え、
メモリカード１００の記録情報に、所定のプログラム、前記所定のプログラムとメモリカード１００の記録媒体識別情報とをハッシュ関数によるハッシュ値（圧縮コード）を用いて圧縮処理（「要約化」に含まれる）し、さらに「秘密鍵」で暗号化した電子署名（「要約暗号化情報」に含まれる）が含まれていて、前記電子署名を復号化した要約記録情報（「第１の要約化情報」に含まれる）と、前記所定のプログラムと前記記録媒体識別情報とを新たにハッシュ関数によるハッシュ値（圧縮コード）を用いて圧縮処理した要約記録情報（「第２の要約化情報」に含まれる）とが一致する場合に、ＣＰＵ１０１１が前記所定のプログラムを実行し、一致しない場合には、ＣＰＵ１０１１が前記所定のプログラムを実行しないようにしているので、電子署名にメモリカード１００の識別情報を含めることによって、画像形成装置１０００で使用できるプログラムなどの記録情報を限定できる。また、画像形成装置１０００側では、非対称鍵のうちの「公開鍵」により暗号化、復号化を行っているので、「秘密鍵」が不正に取得及び開示されることを防止できる。よって、メモリカードの記録情報の不正コピーを防止することができる。
【００６９】
なお、上述した実施形態では予め画像形成装置１０００で使用が許可されたメモリカードの識別情報（記録媒体識別情報）を不揮発性メモリ１０１９に登録するようにした場合について説明したが、本発明はこのほかに、画像形成装置１０００が前記記録媒体識別情報を管理せず、後述する第３の実施形態を適用して、図５に示すＳ３０１及びＳ３０４からＳ３１０までの手順により、メモリカードの正当性を判断するようにしても同様の効果が得られるものである。この場合、画像形成装置（図１の１０００に相当する）に、読み取り対象の記録媒体（図３の１００に相当する）から、前記記録媒体を識別するための記録媒体識別情報、所定のプログラム、前記所定のプログラムと前記記録媒体識別情報とを要約化及び暗号化した要約暗号化情報（「電子署名」に相当する）を含む記録情報を読み取る読取手段（図１の１１００に相当する）と、前記要約暗号化情報を復号化した第１の要約化情報（「要約記録情報」に相当する）と、前記所定のプログラムと前記記録媒体識別情報とを新たに要約化した第２の要約化情報（「要約記録情報」に相当する）とが一致する場合に、前記所定のプログラムを実行し、一致しない場合には、前記所定のプログラムを実行しないように制御する制御手段（図１の１０１１に相当する）とを備えた構成とする。この構成が、請求項２に係る発明の一実施形態となる。ここでは、例えばメモリカード１００と画像形成装置１０００とが１対１に対応する必要はなくなるために、メモリカード１００の移動、更新、増加などが容易となるという効果も得られる。また、画像形成装置１０００の配置変更、仕様変更などにも柔軟に対応できる。
【００７０】
また、上述した実施形態では記録媒体読取部１１００の部品として「ＡＳＩＣ」を用いた場合について説明したが、本発明はこのほかに、メモリカード１００が着脱可能に装着される「外付けの記録媒体装着装置」と「ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）」等の通信規格に準拠した情報の送受信を行う「記録媒体装着装置インタフェース回路」を備え、外付けの記録媒体装着装置と接続されたケーブルを介してメモリカード１００に記録された情報の送受信を行うようにしても同様の効果が得られるものである。
【００７１】
また、上述した実施形態では不揮発性メモリ１０１９に、前記許可媒体情報及び前記更新媒体識別情報を記憶した場合について説明したが、本発明はこのほかに、前記許可媒体情報及び前記更新媒体識別情報を記録媒体読取部１１００に記憶するようにしても同様の効果が得られるものである。
【００７２】
また、上述した実施形態ではメモリカード１００として、「前記記録情報の書き込みを恒久的に禁止する状態に設定できるもの」を用いるか、あるいは「前記記録情報の書き込みを恒久的に禁止する状態に設定できないもの」を用いるかを限定しない場合について説明したが、記録情報の書き込みを恒久的に禁止する状態に設定できるメモリカード１００を用いた場合には、図６のＳ３１０で不正使用があった旨を表示すると共に、記録媒体読取部１１００によってメモリカード１００に対する記録情報の書き込みを恒久的に禁止する状態に設定するようにしてもよい。
【００７３】
また、上述した実施形態ではＣＰＵ１０１１が図４、図６のステップを実行することで、前述した「記録媒体読取機能」を実現した場合について説明したが、本発明はこのほかに、記録媒体読取部１１００の処理部等が図４、図６のステップを実行するようにしても同様の効果が得られるものである。
【００７４】
また、上述した実施形態ではＲＯＭ１０１２に前述した「記録媒体読取機能」を実現するためのプログラム等を記憶した場合について説明したが、本発明はこのほかに、コンピュータ読み取り可能なＣＤ‐ＲＯＭ等の記録媒体を装着して駆動する「媒体駆動部」を設け、この媒体駆動部に、前記記録媒体読取機能を実現するためのプログラムやデータ等を記録したＣＤ‐ＲＯＭ等を装着して読み込み、ＲＡＭ１０１３へ格納するようにしても同様の効果が得られるものである。なお、前記ＣＤ‐ＲＯＭの他に、半導体媒体（例えば、ＲＯＭ、ＩＣメモリカードなど）、光媒体（例えば、ディジタル・バーサタイル・ディスク（ＤＶＤ）、光磁気ディスク（ＭＯ）、ミニディスク（ＭＤ）、書き込み可能なＣＤ（ＣＤ‐Ｒ）など）、磁気媒体（例えば、磁気テープ、フレキシブルディスク（ＦＤ）など）などを用いてもよい。また、前記プログラムやデータ等が半導体の記録媒体に記録されている場合には、直接、ＲＡＭ１０１３ヘロードされ、実行されることとなる。なお、ＲＡＭ１０１３へロードされた前記プログラムを実行することにより、本実施形態の記録媒体読取機能が実現されるだけでなく、前記プログラムの指示に基づき、オペレーティングシステムなどが実際の処理の一部または全部を行い、その処理によって前記記録媒体読取機能が実現されるようにした場合も本発明に含まれる。あるいは、ネットワークからネットワークインタフェース１０２０を介して前記記録媒体読取機能を実現するためのプログラムやデータ等を受信し、ＲＡＭ１０１３へ格納するようにしてもよい。
【００７５】
［第３の実施形態］
本発明の第３の実施形態に係る画像形成装置は、第１の実施形態と概ね同様の構成を有しているために、図１、図２、図３を用いると共に同一構成には同一符号を付与して説明を省略する。
【００７６】
図７は、本発明の第３の実施形態に係るメモリカードの記録情報を示す。
【００７７】
本実施形態のメモリカード１００において、ＲＯＭ１０２には、メモリカード１００を識別するための記録媒体識別情報（例えば、「シリアルＩＤ」等）と、メモリカード１００の製造日時等のメモリカード１００に関する情報とが予め記憶されている。フラッシュメモリ１０３には、システムプログラム、アプリケーションプログラム、あるいはファームウェアの実体に関する「プログラムファイル（図７（ｂ）に示す）」と、画像形成装置１０００での使用許可に関する「ライセンスファイル（図７（ａ）に示す）」とが含まれる。「プログラムファイル」には、システムプログラム、アプリケーションプログラム、あるいはファームウェアの実体である「バイナリデータ（ここでは、「ａｐｌ．ｂｉｎ」）」と、前記システムプログラム、アプリケーションプログラム、あるいはファームウェアを適用可能な機種を示す「機種情報（ここでは、「ａｐｌ．ｔｙｐ」）」と、前記バイナリデータ及び前記機種情報に対してハッシュ関数によるハッシュ値（圧縮コード）を用いて圧縮処理を施し、得られたメッセージダイジェスト（ＭＤ）に対して、さらに「秘密鍵」による暗号化処理を施して得られた「電子署名（ここでは、「ａｐｌ．ｍａｃ」）」とが含まれる。「ライセンスファイル」には、画像形成装置１０００で有効なシステムプログラム、アプリケーションプログラム、あるいはファームウェアを示す「有効アプリ一覧（ここでは、「ａｐｌ．ｃｎｆ」）」と、この有効アプリ一覧及び前記記録媒体識別情報に対してハッシュ関数によるハッシュ値（圧縮コード）を用いて圧縮処理を施し、得られたメッセージダイジェスト（ＭＤ）に対して、さらに「秘密鍵」による暗号化処理を施して得られた「電子署名（ここでは、「ａｐｌ．ｌｉｃ」）」とが含まれる。
【００７８】
図８は、本実施形態に係る画像形成装置１０００の動作を示すフローチャートである。この動作は、ＣＰＵ１０１１（コンピュータに含まれる）に、図８に示すステップを実行させることで実現するものである。
【００７９】
まず、ＣＰＵ１０１１は、画像形成装置１０００の電源が投入されたとき、ＯＳを起動し（Ｓ４０１）、初期化ルーチンを実行する（Ｓ４０２）。
【００８０】
次いで、ＣＰＵ１０１１は、記録媒体読取部１１００にメモリカード１００が装着されたか否かを判断する（Ｓ４０３）。この判断が「あり」の場合はＳ４０４に移り、「なし」の場合には何らの処理も行わず、「コマンド入力待ち状態」となる。
【００８１】
Ｓ４０４では、記録媒体読取部１１００に指示してメモリカード１００を読み取らせ、記録媒体読取部１１００がメモリカード１００から読み取った情報により、メモリカード１００に記憶されたアプリケーションプログラム等の実行の可否を判断する。この判断が「ＯＫ」の場合はＳ４０５に移り、「ＮＧ」の場合にはＳ４０３に移る。
【００８２】
Ｓ４０５では、メモリカード１００に記憶された前記ライセンスファイル及び前記プログラムファイルの設定を実行する。
【００８３】
図９は、図８のＳ４０４の詳細を示すフローチャートである。
【００８４】
まず、ＣＰＵ１０１１は、記録媒体読取部１１００にメモリカード１００を読み取らせ、前記ライセンスファイルが存在するか否かを判断する（Ｓ５０１）。この判断が「ＹＥＳ」の場合はＳ５０２に移り、「ＮＯ」の場合には処理をＳ４０３に移る。
【００８５】
Ｓ５０２では、メモリカード１００のＲＯＭ１０２から前記記録媒体識別情報（ここでは、「シリアルＩＤ」）を取得する。
【００８６】
次いで、ＣＰＵ１０１１は、Ｓ５０２で取得した前記記録媒体識別情報、及び前記有効アプリ一覧（ここでは、「ａｐｌ．ｃｎｆ」）に対し、新たにハッシュ関数によるハッシュ値（圧縮コード）を用いて圧縮処理を施して第１のメッセージダイジェスト「ＭＤ１」を取得する（Ｓ５０３）。
【００８７】
次いで、ＣＰＵ１０１１は、前記ライセンスファイルに含まれる前記電子署名（ここでは、「ａｐｌ．ｌｉｃ」）に対し、予め不揮発性メモリ１０１９に保持するか、あるいはメモリカード１００から取得した「公開鍵」による復号化処理を施す（Ｓ５０４）。この復号化処理により、前記有効アプリ一覧及び前記記録媒体識別情報に対してハッシュ関数によるハッシュ値（圧縮コード）を用いて圧縮処理を施して取得された第２のメッセージダイジェスト「ＭＤ２」が取得される。
【００８８】
次いで、ＣＰＵ１０１１は、Ｓ５０３で新たに作成して取得した第１のメッセージダイジェスト「ＭＤ１」と、Ｓ５０４で取得した第２のメッセージダイジェスト「ＭＤ２」とが等しいか否かを判断する（Ｓ５０５）。この判断が「ＹＥＳ」の場合はＳ５０６に移り、「ＮＯ」の場合にはＳ４０３に移る。Ｓ５０６では、前記ライセンスファイルの設定を実行する。
【００８９】
次いで、ＣＰＵ１０１１は、記録媒体読取部１１００にメモリカード１００を読み取らせ、前記プログラムファイルが存在するか否かを判断する（Ｓ５０７）。この判断が「ＹＥＳ」の場合はＳ５０８に移り、「ＮＯ」の場合には処理をＳ５１２に移る。
【００９０】
Ｓ５０８では、前記プログラムファイルの前記バイナリデータ（ここでは、「ａｐｌ．ｂｉｎ」）、及び前記機種情報（ここでは、「ａｐｌ．ｔｙｐ」）に対し、新たにハッシュ関数によるハッシュ値（圧縮コード）を用いて圧縮処理を施して第３のメッセージダイジェスト「ＭＤ３」を取得する。
【００９１】
次いで、ＣＰＵ１０１１は、前記プログラムファイルに含まれる前記電子署名（ここでは、「ａｐｌ．ｍａｃ」）に対し、予め不揮発性メモリ１０１９に保持するか、あるいはメモリカード１００から取得した「公開鍵」による復号化処理を施す（Ｓ５０９）。この復号化処理により、前記有効アプリ一覧及び前記記録媒体識別情報に対してハッシュ関数によるハッシュ値（圧縮コード）を用いて圧縮処理を施して取得された第４のメッセージダイジェスト「ＭＤ４」が取得される。
【００９２】
次いで、ＣＰＵ１０１１は、Ｓ５０８で新たに作成して取得した第３のメッセージダイジェスト「ＭＤ３」と、Ｓ５０９で取得した第４のメッセージダイジェスト「ＭＤ４」とが等しいか否かを判断する（Ｓ５１０）。この判断が「ＹＥＳ」の場合はＳ５１１に移り、「ＮＯ」の場合にはＳ５１２に移る。
【００９３】
Ｓ５１１では、前記プログラムファイルの設定を実行する。また、Ｓ５１２では、次のプログラムファイルがあるか否かを判断する。この判断が「あり」の場合はＳ５０７に移り、「ＮＯ」の場合にはＳ４０３に移る。Ｓ５１０の判断が「ＮＯ」の場合に、使用が許可されていないメモリカード１００に記録されたプログラム（前記バイナリデータに相当する）は、記録媒体読取部１１００によって読み取られないために、ＣＰＵ１０１１によって実行されることはない。
【００９４】
ここでは、Ｓ５０２が、請求項８に記載の「第１のステップ」に含まれる。Ｓ５０３が、請求項８に記載の「第２のステップ」に含まれる。Ｓ５０４が、請求項８に記載の「第３のステップ」に含まれる。Ｓ５０５が、請求項８に記載の「第４のステップ」に含まれる。Ｓ５０８が、請求項８に記載の「第５のステップ」に含まれる。Ｓ５０９が、請求項８に記載の「第６のステップ」に含まれる。Ｓ５１０が、請求項８に記載の「第７のステップ」に含まれる。Ｓ５１１が、請求項８に記載の「第８のステップ」に含まれる。Ｓ４０３、Ｓ５１２が、請求項８に記載の「第９のステップ」に含まれる。
【００９５】
以上のように、本発明の第３の実施形態に係る画像形成装置１０００（「記録媒体読取装置」に含まれる）は、読み取り対象のメモリカード１００（「記録媒体」に含まれる）から、メモリカード１００を識別するための「シリアルＩＤ（「記録媒体識別情報」に含まれる）」、前記プログラムファイル、前記ライセンスファイル（「記録情報」に含まれる）を読み取る記録媒体読取部１１００（「読取手段」に含まれる）と、前記記録情報によりメモリカード１００が正当であると判断した場合に、前記記録情報に含まれる所定のプログラムを実行し、正当でないと判断した場合には前記記録情報に含まれる所定のプログラムを実行しないように制御するＣＰＵ１０１１（「制御手段」に含まれる）とを備え、
前記ライセンスファイルに、画像形成装置１０００で有効な有効アプリ一覧（「プログラム一覧情報」に含まれる）、前記有効アプリ一覧と前記シリアルＩＤとをハッシュ関数によるハッシュ値（圧縮コード）を用いて圧縮処理（「要約化」に含まれる）し、さらに「秘密鍵」で暗号化した電子署名（「要約暗号化情報」に含まれる）が含まれ、前記プログラムファイルに、前記バイナリデータ（「所定のプログラム」に含まれる）、前記バイナリデータと「機種情報（「所定のプログラムの管理情報」に含まれる）」とをハッシュ関数によるハッシュ値（圧縮コード）を用いて圧縮処理（「要約化」に含まれる）し、さらに「秘密鍵」で暗号化した電子署名（「要約暗号化情報」に含まれる）が含まれていて、前記ライセンスファイルの電子署名を復号化した「ＭＤ２（「第１の要約化情報」に含まれる）」と、前記有効アプリ一覧と前記シリアルＩＤとをハッシュ関数によるハッシュ値（圧縮コード）を用いて圧縮処理した「ＭＤ１（「第２の要約化情報」に含まれる）」とが一致し、かつ、前記プログラムファイルの電子署名を復号化した「ＭＤ４（「第３の要約化情報」に含まれる）」と、前記バイナリデータと前記機種情報とをハッシュ関数によるハッシュ値（圧縮コード）を用いて圧縮処理した「ＭＤ３（「第４の要約化情報」に含まれる）」とが一致した場合に、ＣＰＵ１０１１は、メモリカード１００が正当であると判断するようにしているので、前記ライセンスファイル、前記プログラムファイルの情報により、画像形成装置１０００でのメモリカードの記録情報の使用許可を与えることによって、画像形成装置１０００で使用できるメモリカード１００を限定できる。よって、画像形成装置１０００におけるファームウェアやソフトウェアの不正使用を防止することができる。
【００９６】
さらに、上述した実施形態では、メモリカード１００と画像形成装置１０００とが１対１に対応する必要はなくなるために、メモリカード１００の移動、更新、増加などが容易となるという効果も得られる。また、画像形成装置１０００の配置変更、仕様変更などにも柔軟に対応できる。また、画像形成装置１０００側では、非対称鍵のうちの「公開鍵」により暗号化、復号化を行っているので、「秘密鍵」が不正に取得及び開示されることを防止できる。
【００９７】
なお、上述した実施形態では記録媒体読取部１１００の部品として「ＡＳＩＣ」を用いた場合について説明したが、本発明はこのほかに、メモリカード１００が着脱可能に装着される「外付けの記録媒体装着装置」と「ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）」等の通信規格に準拠した情報の送受信を行う「記録媒体装着装置インタフェース回路」を備え、外付けの記録媒体装着装置と接続されたケーブルを介してメモリカード１００に記録された情報の送受信を行うようにしても同様の効果が得られるものである。
【００９８】
また、上述した実施形態において、メモリカード１００として記録情報の書き込みを恒久的に禁止する状態に設定できるものを用いた場合には、図９のＳ５０５の「ＮＯ」、Ｓ５１０の「ＮＯ」で不正使用があった旨を表示すると共に、記録媒体読取部１１００によって、メモリカード１００に対する記録情報の書き込みを恒久的に禁止する状態に設定するようにしても同様の効果が得られるものである。
【００９９】
また、上述した実施形態ではＣＰＵ１０１１が図８、図９のステップを実行することで、前述した「記録媒体読取機能」を実現した場合について説明したが、本発明はこのほかに、記録媒体読取部１１００の処理部等が図８、図９のステップを実行するようにしても同様の効果が得られるものである。
【０１００】
また、上述した実施形態ではＲＯＭ１０１２に前述した「記録媒体読取機能」を実現するためのプログラム等を記憶した場合について説明したが、本発明はこのほかに、コンピュータ読み取り可能なＣＤ‐ＲＯＭ等の記録媒体を装着して駆動する「媒体駆動部」を設け、この媒体駆動部に、前記記録媒体読取機能を実現するためのプログラムやデータ等を記録したＣＤ‐ＲＯＭ等を装着して読み込み、ＲＡＭ１０１３へ格納するようにしても同様の効果が得られるものである。なお、前記ＣＤ‐ＲＯＭの他に、半導体媒体（例えば、ＲＯＭ、ＩＣメモリカードなど）、光媒体（例えば、ディジタル・バーサタイル・ディスク（ＤＶＤ）、光磁気ディスク（ＭＯ）、ミニディスク（ＭＤ）、書き込み可能なＣＤ（ＣＤ‐Ｒ）など）、磁気媒体（例えば、磁気テープ、フレキシブルディスク（ＦＤ）など）などを用いてもよい。また、前記プログラムやデータ等が半導体の記録媒体に記録されている場合には、直接、ＲＡＭ１０１３ヘロードされ、実行されることとなる。なお、ＲＡＭ１０１３へロードされた前記プログラムを実行することにより、本実施形態の記録媒体読取機能が実現されるだけでなく、前記プログラムの指示に基づき、オペレーティングシステムなどが実際の処理の一部または全部を行い、その処理によって前記記録媒体読取機能が実現されるようにした場合も本発明に含まれる。あるいは、ネットワークからネットワークインタフェース１０２０を介して前記記録媒体読取機能を実現するためのプログラムやデータ等を受信し、ＲＡＭ１０１３へ格納するようにしてもよい。
【０１０１】
【発明の効果】
以上説明したように、本発明は読み取り対象の記録媒体（「メモリカード」を含む）に、所定のプログラムと、前記所定のプログラムを要約化（「圧縮処理」を含む）し、さらに暗号化した要約暗号化情報（「電子署名」を含む）とが記録され、かつ、前記要約暗号化情報を復号化した第１の要約化情報（「メッセージダイジェスト」を含む）と、前記所定のプログラムを新たに要約化した第２の要約化情報（「メッセージダイジェスト」を含む）とが一致する場合に、制御手段（「ＣＰＵ」を含む）が前記所定のプログラムを実行し、一致しない場合には、前記所定のプログラムを実行しないようにすることにより、記録媒体の不正使用を防止するという優れた効果を有する記録媒体読取装置を提供することができるものである。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係る画像形成装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態に係る不揮発性メモリの記憶領域を示す図である。
【図３】本発明の第１の実施形態に係るメモリカードの構成を示すブロック図である。
【図４】本発明の第１の実施形態に係る画像形成装置の動作を示すフローチャートである。
【図５】図４のＳ１０４の詳細を示すフローチャートである。
【図６】本発明の第２の実施形態に係る画像形成装置の動作を示すフローチャートである。
【図７】本発明の第３の実施形態に係るメモリカードの記録情報（ファイル構成）を示す図である。
【図８】本発明の第３の実施形態に係る画像形成装置の動作を示すフローチャートである。
【図９】図８のＳ４０４の詳細を示すフローチャートである。
【符号の説明】
１００  メモリカード
１０１  制御回路
１０２  ＲＯＭ
１０３  フラッシュメモリ
１０００  画像読取装置
１０１１  ＣＰＵ
１０１２  ＲＯＭ
１０１３  ＲＡＭ
１０１４  スキャナ
１０１５  ハードディスク
１０１６  プロッタ
１０１７  タイマ
１０１８  操作表示部
１０１９  不揮発性メモリ
１１００  記録媒体読取部
１０２０  ネットワークインタフェース
【図１】
2004334392.tif 000003
【図２】
2004334392.tif 000004
【図３】
2004334392.tif 000005
【図４】
2004334392.tif 000006
【図５】
2004334392.tif 000007
【図６】
2004334392.tif 000008
【図７】
2004334392.tif 000009
【図８】
2004334392.tif 000010
【図９】
2004334392.tif 000011