(57)【要約】【課題】  全てのユーザに対して有効にする機能の範囲を、容易に変更できるようにしながら、意図しない機能の不正な利用を防止できるようにする。【解決手段】  複数の機能を提供するアプリケーション１６０を有するデバイスにおいて、その各機能の有効／無効を管理する機能管理モジュール１０２と、その管理に利用するデジタル証明書１３１を記憶する証明書記憶部１３０とを設け、証明書記憶部１３０に有効なデジタル証明書１３１が記憶されている場合にアプリケーション１６０が提供する機能を有効にすると共に、有効なデジタル証明書が有効期限が設定されていないもののみであった場合には、アプリケーション１６０が提供する機能の一部のみを有効にするようにする。この場合において、デジタル証明書１３１に有効にすべき機能を示す情報を記載しておき、各機能の有効／無効を、その情報に基づいて制御するようにするとよい。【選択図】        図３
2006059141.tif 000002
【特許請求の範囲】
【請求項１】
複数の機能を提供する機能提供手段と、
該手段が提供する各機能の有効／無効を管理する機能管理手段と、
前記機能提供手段が提供する機能のうち有効にすべき機能を示す許可機能情報を含むデジタル証明書を記憶する証明書記憶手段とを設け、
前記機能管理手段に、前記証明書記憶手段に記憶している有効なデジタル証明書中の許可機能情報に従って前記機能提供手段が提供する機能の有効／無効を管理する手段を設けたことを特徴とするデバイス。
【請求項２】
請求項１記載のデバイスにおける機能管理方法であって、
有効期限が設定されていないデジタル証明書に、前記許可機能情報として、前記機能提供手段が提供する機能の一部を記載して前記デバイスの証明書記憶手段に記憶させ、
前記証明書記憶手段が記憶している有効なデジタル証明書が、前記有効期限が設定されていないデジタル証明書のみであった場合に、前記機能管理手段により、前記機能提供手段が提供する機能の一部のみを有効にさせるようにしたことを特徴とする機能管理方法。
【請求項３】
コンピュータを、
複数の機能を提供する機能提供手段と、
該手段が提供する各機能の有効／無効を管理する機能管理手段と、
前記機能提供手段が提供する機能のうち有効にすべき機能を示す許可機能情報を含むデジタル証明書を記憶する証明書記憶手段として機能させるためのプログラムを含み、
前記機能管理手段に、前記証明書記憶手段に記憶している有効なデジタル証明書中の許可機能情報に従って前記機能提供手段が提供する機能の有効／無効を管理する機能を設けたことを特徴とするプログラム。
【請求項４】
請求項３記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の機能を提供可能なデバイスに関し、特に、各機能の有効／無効を管理する方式に特徴を有するデバイス、このようなデバイスにおいて各機能の有効／無効を管理する機能管理方法、コンピュータを上記のデバイスとして機能させるためのプログラム、およびこのようなプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来から、複数の機能を提供可能なデバイスにおいて、全部又は一部の機能を当初は提供しないように設定しておき、ユーザが正規ユーザであることを示して登録を行ったり、所定の料金を支払って購入した解除キー等を使用したりした場合に初めて、全ての機能が利用できるようにする制御を行うようにすることが知られている。
このような技術に関連する文献としては、例えば特許文献１及び特許文献２が挙げられる。
【特許文献１】特開２００１−３３７７３２号公報
【特許文献２】特開２００３−２９６２８１号公報
【０００３】
特許文献１には、コンピュータのソフトウェアに認定ＩＤ獲得機能、利用状況照会機能、利用期間獲得機能などの機能を持つ認証ソフトを組み込み、ユーザがそのソフトウェアを使用しようとした場合、インターネットを介して所定の利用認証サーバにアクセスして認証を受けた場合に、所定期間だけそのソフトウェアを使用できるようにする技術が記載されている。
また、特許文献２には、ユーザが、サービス提供サーバが提供するサービスを利用しようとした場合に、所定の料金の支払いを確認した上でライセンスサーバからサービス提供サーバの証明書と対応する認証局証明書を発行するようにし、サービス提供サーバから送付される証明書に対応する認証局証明書が存在する場合のみ、サーバへのアクセスを許可してサービスを利用させるようにする技術が記載されている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来においては、ユーザが認証を受けたり解除キーを使用したりする前の、デバイスの出荷時の状態で利用できる機能の範囲を、流動的に定めることが難しいという問題があった。すなわち、流動的に定めることを可能とする場合、レジスタの値の変更等により利用できる機能の範囲を変更できるようにすることが考えられるが、このようにすると、不正にレジスタを改変された場合に、認証や解除キーなしでも全ての機能を利用できる状態にされてしまう恐れがあるためである。
【０００５】
この発明は、このような問題を解決するためになされたものであり、複数の機能を提供可能なデバイスにおいて各機能の有効／無効を管理する場合に、全てのユーザに対して有効にする機能の範囲を、容易に変更できるようにしながら、意図しない機能の不正な利用を防止できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するため、この発明のデバイスには、複数の機能を提供する機能提供手段と、その手段が提供する各機能の有効／無効を管理する機能管理手段と、上記機能提供手段が提供する機能のうち有効にすべき機能を示す許可機能情報を含むデジタル証明書を記憶する証明書記憶手段とを設け、上記機能管理手段に、上記証明書記憶手段に記憶している有効なデジタル証明書中の許可機能情報に従って上記機能提供手段が提供する機能の有効／無効を管理する手段を設けている。
【０００７】
また、この発明の機能管理方法は、上記のようなデバイスにおける機能管理方法であって、有効期限が設定されていないデジタル証明書に、上記許可機能情報として、上記機能提供手段が提供する機能の一部を記載して上記デバイスの証明書記憶手段に記憶させ、上記証明書記憶手段が記憶している有効なデジタル証明書が、上記有効期限が設定されていないデジタル証明書のみであった場合に、上記機能管理手段により、上記機能提供手段が提供する機能の一部のみを有効にさせるようにしたものである。
【０００８】
また、この発明のプログラムは、コンピュータを、複数の機能を提供する機能提供手段と、その手段が提供する各機能の有効／無効を管理する機能管理手段と、上記機能提供手段が提供する機能のうち有効にすべき機能を示す許可機能情報を含むデジタル証明書を記憶する証明書記憶手段として機能させるためのプログラムを含み、上記機能管理手段に、上記証明書記憶手段に記憶している有効なデジタル証明書中の許可機能情報に従って上記機能提供手段が提供する機能の有効／無効を管理する機能を設けたプログラムである。
また、この発明の記録媒体は、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【０００９】
以上のようなこの発明のデバイス又は機能管理方法によれば、複数の機能を提供可能なデバイスにおいて各機能の有効／無効を管理する場合に、全てのユーザに対して有効にする機能の範囲を、容易に変更できるようにしながら、意図しない機能の不正な利用を防止できるようにすることができる。
また、この発明のプログラムによれば、コンピュータを上記のデバイスとして機能させてその特徴を実現し、同様な効果を得ることができる。
この発明の記録媒体によれば、上記のプログラムを記憶していないコンピュータにそのプログラムを読み出させて実行させ、上記の効果を得ることができる。
【発明を実施するための最良の形態】
【００１０】
以下、この発明を実施するための最良の形態について、図面を参照して説明する。
まず、この発明のデバイスの実施形態であるデジタル複合機（ＭＦＰ）の構成について説明する。図１は、そのＭＦＰの構成を示すブロック図である。
このＭＦＰ１０は、図１に示すように、ＣＰＵ１１，ＲＯＭ１２，ＲＡＭ１３，タイマ１４，オペポートＩ／Ｆ（インタフェース）１５，ＨＤＤ（ハードディスクドライブ）Ｉ／Ｆ１７，ＮＶＲＡＭ（不揮発性ＲＡＭ）１９，フラッシュＲＯＭ２０，ネットワーク通信制御部２１，外部メディアＩ／Ｆ２２，スキャナＩ／Ｆ２３，プロッタＩ／Ｆ２５，符号化復号化処理部２７，キャラクタジェネレータ２８，ＧＳＴＮ（General Switched Telephone Network：公衆回線）通信制御部２９を備え、これらがシステムバス３１によって接続されている。
また、オペポートＩ／Ｆ１５には操作パネル１６が、ＨＤＤＩ／Ｆ１７にはＨＤＤ１８が、スキャナＩ／Ｆ２３にはスキャナエンジン２４が、プロッタＩ／Ｆ２５にはプロッタエンジン２６が、ＧＳＴＮ通信制御部２９には網制御部３０がそれぞれ接続されている。
【００１１】
ＣＰＵ１１は、ＭＦＰ１０全体を統括制御する制御手段であり、ＲＯＭ１２やＨＤＤ１８あるいはＮＶＲＡＭ１９等に記録された種々のプログラムを実行することにより、ＭＦＰ１０全体の動作を制御すると共にこの実施形態の特徴に係る種々の機能を実現する。
ＲＯＭ１２は、不揮発性の記憶手段であり、ＣＰＵ１１が実行するプログラムや、固定的なパラメータ等を記憶する。ＲＯＭ１２を書き換え可能な記憶手段として構成し、これらのデータをアップデートできるようにしてもよい。
【００１２】
ＲＡＭ１３は、一時的に使用するデータを記憶したり、ＣＰＵ１１のワークメモリとして使用したりする記憶手段である。
タイマ１４は、時間を計測する計時手段であり、装置の電源ＯＮ／ＯＦＦによらず、時間の計測を継続する。ＣＰＵ１１は、このタイマから現在の日時の情報を取得することができる。
オペポートＩ／Ｆ１５は、操作パネル１６をシステムバス３１と接続するためのインタフェースである。そして、操作パネル１６は、表示部と操作部を備え、ＣＰＵ１１からの制御に従って種々のメッセージを表示したり、ユーザからの操作を受け付けたりする機能を有する。
【００１３】
ＨＤＤＩ／Ｆ１７は、ＨＤＤ１８をシステムバスと接続するためのインタフェースである。そして、ＨＤＤ１８は、書き換え可能な不揮発性の記憶手段であり、ＣＰＵ１１が実行するプログラムや、スキャナエンジン２４が読み取った画像のデータ等を記憶する。
ＮＶＲＡＭ１９及びフラッシュＲＯＭ２０も、書き換え可能な不揮発性の記憶手段であり、装置の電源がＯＦＦされた後でも保持しておく必要があるパラメータの値等を記憶する。また、後述するようにＭＦＰ１０における機能の有効／無効の管理に使用するデジタル証明書も、これらの記憶手段に記憶する。
【００１４】
ネットワーク通信制御部２１は、ＭＦＰ１０をネットワークに接続するためのインタフェース及び通信制御に必要な回路等を含むユニットであり、例えばイーサネット（登録商標）方式の通信を行うためのインタフェースである。そして、ネットワークを介して他の装置と通信を行う場合、このネットワーク通信制御部２１とＣＰＵ１１とが通信手段として機能する。なお、ネットワークは、イーサネット（登録商標）、無線ＬＡＮ（ローカルエリアネットワーク）、ＩＥＥＥ（Institute of Electrical and Electronic Engineers）１３９４等、有線、無線を問わず種々の方式のものが使用可能である。
外部メディアＩ／Ｆ２２は、ＳＤ（Secure Digital）カード、コンパクトフラッシュ（登録商標）、メモリスティック、ＲＯＭ−ＤＩＭＭ（Dual Inline Memory Module）等の外部メディア（記録媒体）を、物理的、ハードウェア的にＭＦＰ１０に接続するためのインタフェースである。
【００１５】
スキャナＩ／Ｆ２３は、スキャナエンジン２４をシステムバス３１に接続し、ＣＰＵ１１から制御できるようにするためのＩ／Ｆであり、スキャナエンジン２４は、原稿の画像を画像データとして読み取る画像読取手段である。
また、プロッタＩ／Ｆ２５は、プロッタエンジン２６をシステムバス３１に接続し、ＣＰＵ１１から制御できるようにするためのＩ／Ｆであり、プロッタエンジン２６は、画像データに基づいて用紙に画像を形成する画像形成手段である。
【００１６】
符号化復号化処理部２７は、ＭＨ（モディファイドハフマン），ＭＲ（モディファイドリード），ＭＭＲ（モディファイドＭＲ），ＪＢＩＧ（Joint Bi-level Image experts Group），ＪＰＥＧ（Joint Photographic Experts Group）等の種々の画像符号化方式に従って画像データの符号化と復号化を行うユニットである。
キャラクタジェネレータ２８は、文字データをその文字を示す画像のデータに変換するためのユニットである。
ＧＳＴＮ通信制御部２９は、モデム通信やファクシミリ通信を行うために公衆回線を利用した通信の制御を行うユニットであり、網制御部３０は、公衆回線とＭＦＰ１０との間での電気的なインタフェースをとるためのユニットである。
【００１７】
このＭＦＰ１０は、以上のような構成を有し、ＣＰＵ１１が所要の制御プログラムを実行して各部を制御することにより、プリンタ、スキャナ、コピー機、ファクシミリ通信装置等の種々の機能を実現することができる画像処理装置である。
なお、このＭＦＰ１０を、これらの機能を全て実現できるように構成することは必須ではない。例えば、プリンタとしてのみ機能させればよい場合には、スキャナＩ／Ｆ２３，スキャナエンジン２４，ＧＳＴＮ通信制御部２９，網制御部３０は不要である。
また、ネットワーク通信制御部２１を設けず、ＧＳＴＮ通信制御部２９のみで外部との通信を行うようにすることも考えられるし、外部装置との間で通信を行う手段を一切設けなくてもよい。また、図示したもの以外に各部に個別にＣＰＵ，ＲＯＭ，ＲＡＭ，ＮＶＲＡＭ，フラッシュＲＯＭ等を設ける場合もあるし、ＬＳＩ等を設ける場合もある。逆に、フラッシュＲＯＭ２０を設けないような場合も考えられる。
【００１８】
次に、図２に、図１に示したようなＭＦＰ１０をユーザが使用する場合の使用環境の例を示す。
図１に示したようなＭＦＰは、ネットワークを介した通信を行う機能を備えていることが多いので、図２に示すように、ユーザ側環境においては、ＰＣ（パーソナルコンピュータ）４１やネットワーク対応のプリンタ４２等と共にＬＡＮ４４に接続されて使用されることが考えられる。この場合、ＬＡＮ４４に接続されている各装置間でのデータの授受が可能であるのはもちろんのこと、ＬＡＮ４４がルータ４３等を介してインターネット６０に接続されていれば、インターネット６０を介したデータの授受も可能である。
【００１９】
また、ＭＦＰ１０を提供するメーカーは、ＭＦＰ１０で使用する各種消耗品を提供したり、定期的なメンテナンスや異常が発生した場合の修理のためにサービス要員を派遣したりするためのサービスセンタを設けることが多いが、このようなサービスセンタにサーバ装置５１を設け、ユーザ側環境のＭＦＰ１０との間でデータの授受を可能とすることも考えられる。このようなシステム構成とすることにより、ＭＦＰ１０に異常が発生した場合に自動的にその旨をサービスセンタに通知させたり、消耗品がなくなりそうになった場合に自動であるいはユーザがＭＦＰ１０を操作してサービスセンタに注文できるようにする等の対応が可能になる。
図２に示す例では、サービスセンタには、後述するデジタル証明書を発行するＣＡ（認証局）５２も設け、ネットワーク５３によってサーバ装置５１と通信可能としている。
なお、この図に示した構成は一例に過ぎず、図示したＭＦＰ１０を図示した装置と通信可能な状態で運用することは必須ではなく、通信可能とする場合も、使用する通信経路は、有線・無線を問わず、任意の通信経路でよい。
【００２０】
次に、図３に、ＭＦＰ１０の機能構成のうち、この実施形態の特徴に係る部分を示す。なお、以下の説明において、説明を簡単にするため、ＣＰＵがソフトウェアを実行することによって実現される機能について、ソフトウェアがその機能を有する、あるいはソフトウェアによってその機能が実現される、等の表現を用いることもある。
この図に示すとおり、ＭＦＰ１０は、この実施形態の特徴に関連する機能を実現するためのソフトウェアとして、認証モジュール１００，タイマ制御モジュール１１０，セキュリティ情報アクセスライブラリ１２０，主制御モジュール１４０，ネットワーク制御モジュール１５０，各種のアプリケーション１６０を有する。また、符号１３０で示すのは、機能の有効／無効の制御や認証処理に使用するためのデジタル証明書及びその関連情報を記憶する証明書記憶手段である証明書記憶部である。なお、これらの各モジュール間を結ぶ矢印は、各モジュールに係るプロセス間でデータのやり取りがあることを示すものであり、バス等を設けていることを意味するものではない。
【００２１】
この中で、認証モジュール１００は、デジタル証明書を用いた機能の有効／無効の制御や認証処理に関する制御を行うためのモジュールである。
タイマ制御モジュール１１０は、タイマ１４の動作を制御するためのモジュールであり、ここではタイマ１４を用いてデジタル証明書の期限切れを監視するために使用される。
セキュリティ情報アクセスライブラリ１２０は、証明書記憶部１３０に記憶されているデジタル証明書１３１やその関連情報である署名確認用公開鍵１３２を読み出すためのモジュールである。証明書記憶部１３０に記憶されている情報は、強固に秘匿する必要がある情報であり、メモリダンプ等により容易に読み出されてしまうとセキュリティ上問題があるため、ここではこのような専用のアクセス用モジュールを利用してのみ読み書きを行うようにしている。このようにすれば、セキュリティ情報アクセスライブラリ１２０の機能によりデータの分散や暗号化等を行ってセキュリティの強化を図ることが可能である。
【００２２】
証明書記憶部１３０は、デジタル証明書１３１やその関連情報である署名確認用公開鍵１３２を記憶するための記憶部であり、ハードウェアとしてはＮＶＲＡＭ１９やフラッシュＲＯＭ２０等に設けることができる。
そして、デジタル証明書１３１はここでは、ＭＦＰ１０における各機能の有効／無効の制御に使用する証明書と、ＳＳＬ（Secure Socket Layer）方式の認証処理に使用する公開鍵証明書とを含む。これらを兼ねるようなデジタル証明書を用いるようにしてもよいし、各目的について複数のデジタル証明書１３１を記憶させておく場合も有りうる。
【００２３】
また、署名確認用公開鍵１３２は、デジタル証明書１３１にデジタル署名を付す際に使用した私有鍵と対応する公開鍵であり、この署名確認用公開鍵１３２を用いてデジタル署名を復号化し、証明書の記載内容と比較することにより、デジタル証明書の正当性（適切な会社や機関等が発行したものであり、かつ、改竄を受けたり破損したりしていないこと）を確認することができる。署名確認用公開鍵１３２にも、自分自身を用いて正当性を確認可能なデジタル署名を付し、デジタル証明書形式とするようにしてもよい。
【００２４】
主制御モジュール１４０は、図３には示していないモジュールも含め、各モジュールによる処理の進行を全体的に管理するためのモジュールであり、各モジュール間における情報や指示の伝達を仲介したり、各モジュールにリソースの割り当てを行ったりする機能を有する。
ネットワーク制御モジュール１５０は、ネットワーク通信制御部２１を駆動してネットワークを介した外部装置との通信を行うためのモジュールである。
【００２５】
アプリケーション１６０は、ＭＦＰ１０のハードウェア資源を利用して、プリンタ、スキャナ、コピー機、ファクシミリ通信装置等の種々の機能を提供するためのモジュールであり、ＣＰＵ１１は、このアプリケーション１６０を実行することにより、機能提供手段として機能する。また、アプリケーション１６０は、プリンタ、スキャナ、コピー機、ファクシミリ通信装置といった機能の単位ごとに設けられるが、機能の有効／無効を制御する際には、このアプリケーション１６０の単位で行っても、より細かい単位で行っても、また複数のアプリケーション１６０をまとめた単位で行ってもよい。
【００２６】
また、認証モジュール１００は、より詳細には、証明書ステータス判定モジュール１０１，機能管理モジュール１０２，データ送受信モジュール１０３，ＳＳＬ処理モジュール１０４，暗号化復号化モジュール１０５を有する。
そして、証明書ステータス判定モジュール１０１は、証明書記憶部１３０から読み出したデジタル証明書１３１の正当性の確認や、有効期限の有無及び有効期限内か否かの確認等を行う機能を提供するモジュールである。なお、デジタル証明書１３１の有効期限が到来したか否かの確認は、装置の起動時には証明書を読み出して直接参照して行うようにすればよいが、その後は、例えば、タイマ制御モジュール１１０に、証明書の有効期限になったら通知するようタイマをセットさせ、その後通知の有無を監視することによって行うことができる。
【００２７】
機能管理モジュール１０２は、アプリケーション１６０によって提供され得る各機能の有効／無効を制御する機能を提供するモジュールであり、有効にする機能を主制御モジュール１４０に通知し、その内容に沿ってアプリケーション１６０の起動や動作を制御させる機能も有する。そして、有効にする機能の種類は、デジタル証明書１３１に記載されている「有効にする機能」の情報と、証明書ステータス判定モジュール１０１による証明書の正当性及び有効期限に関する判定結果の情報に基づいて定めるようにしている。
データ送受信モジュール１０３は、認証モジュール１００内の各モジュールに係るプロセスと、それ以外の各モジュールに係るプロセスとの間でのデータの授受を仲介する機能を提供するモジュールである。なお、上記の証明書ステータス判定モジュール１０１とタイマ制御モジュール１１０との間のように、このデータ送受信モジュール１０３を介さずに認証モジュール１００の内部と外部との間でデータの授受を行う場合もある。
【００２８】
ＳＳＬ処理モジュール１０４は、ＭＦＰ１０がネットワークを介して外部装置と通信を行う際に、ＳＳＬによる認証処理を行う機能を提供するためのモジュールである。そして、このＳＳＬによる認証処理に使用する公開鍵証明書は、証明書記憶部１３０に記憶しているデジタル証明書１３１のうちのいずれかである。
暗号化復号化モジュール１０５は、ＳＳＬ処理モジュールによる認証処理や、証明書ステータス判定モジュール１０１によるデジタル証明書の正当性確認の際に使用する、公開鍵や私有鍵を用いたデータの暗号化及び復号化の機能を提供するモジュールである。
このＭＦＰ１０においては、以上のような各モジュールを設けることにより、証明書記憶部１３０に記憶しているデジタル証明書１３１の記載内容に基づき、アプリケーション１６０によって提供される機能の有効／無効を制御することができる。
【００２９】
次に、このような機能を実現するために図３に示した各モジュールが実行する処理の内容について、具体的に説明する。
まず、図４に、機能の有効／無効の制御に使用するデジタル証明書１３１の記載内容の例を示す。
この図に示すように、デジタル証明書１３１には、「有効にする機能」，「証明書の有効期限」，「発行者」，「デジタル署名」の情報が含まれている。
【００３０】
そして、「有効にする機能」の情報は、その情報を含むデジタル証明書１３１が有効な状態（正当性を確認でき、かつ有効期間内である状態）で記憶されている場合に有効にしてよい機能を示すものであり、許可機能情報に該当する。また、有効にしてよい機能は、「モノクロ印刷」，「カラーコピー」等、機能の名称で指定してもよいし、所定のコードや、機能を提供するためのアプリケーション１６０の種類で指定してもよい。
【００３１】
「証明書の有効期限」の情報は、デジタル証明書１３１の有効期限を示すものであり、期限の日付で表現したり、有効期間の開始日時と終了日時によって表現したりすることが考えられる。そして、証明書に有効期限を設定しないようにする場合もあるが、この場合は、有効期限の情報として何も記載しないようにしてもよい。
また、デジタル証明書のフォーマット上の要請から、有効期限を記載する必要がある場合もあるが、このような場合でも、有効期限をＭＦＰ１０の想定耐用年数よりも極めて長い期間、例えば４０年後や５０年後等とすることにより、実質的に有効期限が設定されていないデジタル証明書とすることができる。この明細書においては、このように実質的に装置の動作中には期限が到来しないような有効期限が記載されている場合、有効期限が設定されていないと考えるものとする。
「発行者」の情報は、デジタル証明書１３１を発行した会社や機関等の名称を示すものである。
【００３２】
また、「デジタル署名」は、デジタル証明書１３１のうち「デジタル署名」以外の部分を、デジタル証明書１３１を発行したＣＡの署名用の私有鍵で暗号化した情報である。そして、その署名に使用した私有鍵と対応する公開鍵（署名確認用公開鍵１３２）を取得しておき、その公開鍵でデジタル署名を復号化してそれ以外の部分と比較することにより、デジタル署名の正当性を確認することができる。デジタル証明書１３１が改竄されていたり、破損していたりすると、これらの情報が一致しないと考えられるためである。
なお、デジタル署名を付す際に、署名の対象データに対して、ハッシュ処理等のデータ処理を施した上で署名用の私有鍵で暗号化するようにしてもよい。
【００３３】
また、デジタル証明書１３１に、図４に示したもの以外の情報を含んでいてもよいことはもちろんである。例えば、機能の有効／無効の制御に使用するデジタル証明書とＳＳＬによる認証処理に利用する公開鍵証明書とを兼用とする場合には、デジタル証明書１３１には公開鍵の情報も含む。また、デジタル証明書１３１に、ＭＦＰ１０のシリアル番号等の識別情報を記載し、シリアル番号が一致する特定の装置でのみ使用できる証明書とすることも考えられる。また、機能の有効／無効の制御に使用するデジタル証明書と、ＳＳＬによる認証処理に使用するデジタル証明書とを区別するためのフラグを設けることも考えられる。
【００３４】
次に、図５に、図４に示したフォーマットに従ったデジタル証明書の例を簡単に示す。
（ａ）は、モノクロ印刷とモノクロコピーの機能を有効にする旨が記載された、有効期限の設定されていないデジタル証明書の例である。
（ｂ）は、カラー印刷とカラーコピーの機能を有効にする旨が記載された、有効期限の設定されていないデジタル証明書の例である。
（ｃ）は、カラー印刷の機能を有効にする旨が記載された、有効期限が２００５年３月３１日に設定されているデジタル証明書の例である。
そして、ここに示した各デジタル証明書は、いずれもＡＡＡ社によって発行されたものである。
【００３５】
また、ＭＦＰ１０においては、起動時に、証明書記憶部１３０に記憶している各デジタル証明書１３１の内容を確認するようにしている。そして、正当性を確認できかつ有効期間内のデジタル証明書を有効なものと認識し、各アプリケーション１６０が提供する機能のうち、有効なデジタル証明書の「有効にする機能」の項目に記載された機能のみを有効に、すなわちユーザに提供するようにしている。
【００３６】
次に、図６のフローチャートに、このような機能を実現するためにＭＦＰ１０のＣＰＵ１１が起動時に実行する処理を示す。
この処理は、ＭＦＰ１０の起動処理の一部を示すものであり、ＣＰＵ１１が図３に示した各モジュールに係るプログラムやその他必要なプログラムを実行することにより行うものである。ただし、上記の機能に関係しない部分の図示は省略している。また、図６のステップＳ１１の時点では、アプリケーション１６０を除く各モジュールの起動は完了しているものとする。
【００３７】
そしてＣＰＵ１１は、図６に示す処理において、まずステップＳ１１で、証明書ステータス判定モジュール１０１により、証明書記憶部１３０に記憶しているデジタル証明書１３１の正当性と有効期限を確認する。なお、ここで確認の対象とするのは機能の有効／無効の制御に使用するデジタル証明書のみであり、有効／無効の制御に使用しないものとの区別は、例えば「有効にする機能」の情報の有無により行うことができる。
このうち、正当性の確認は、署名確認用公開鍵１３２を用いてデジタル証明書１３１が破損したり改竄されたりしていないことを確認すると共に、デジタル証明書１３１中の「発行者」の情報を確認して適切な発行者が発行したものであることを確認することによって行うことができる。なお、適切な発行者としては、ＭＦＰ１０を製造したメーカー自身や、そのメーカーが定めてＭＦＰ１０に設定した発行者等が考えられる。
【００３８】
また、有効期限については、デジタル証明書中の「証明書の有効期限」の情報を参照し、タイマ１４が供給する現在日時の情報と比較することにより確認することができる。なおこのとき、デジタル証明書１３１に有効期限が設定されているか否かも確認するものとする。また、タイマ１４による情報が必ずしも信頼できない場合には、外部の信頼できる計時手段から情報を取得するようにしてもよい。
【００３９】
そして、ステップＳ１２では、有効期限なしの正当なデジタル証明書があったか否か判断する。
そして、あれば、ステップＳ１３で、発見した有効期限なしのデジタル証明書中の「有効にする機能」の情報に基づいて、有効にすべき機能のアプリケーションを起動し、次のステップＳ１４に進む。ここで、この起動処理の際には、証明書ステータス判定モジュール１０１が証明書の情報を機能管理モジュール１０２に渡し、機能管理モジュール１０２がその情報から起動すべきアプリケーションを選定して主制御モジュール１４０に通知し、主制御モジュール１４０がその通知に従って起動処理を行うようにしている。また、ステップＳ１２で複数の証明書があれば、ステップＳ１３の処理は各証明書毎に行う。ただし、複数の証明書に同じ機能が記載されていたとしても、その機能に係るアプリケーションを重複して起動することはない。
一方、ステップＳ１２で有効期限なしの正当なデジタル証明書がなければ、そのままステップＳ１４に進む。
【００４０】
また、ステップＳ１４では、有効期限がありかつ有効期間内の正当なデジタル証明書があったか否か判断する。
そして、あれば、ステップＳ１５で、タイマ制御モジュール１１０にタイマをセットさせて発見したデジタル証明書の有効期間の監視を開始させる。この監視の内容としては、有効期限が来た時点でタイマ１４からタイマ制御ジュール１１０を介して証明書ステータス判定モジュール１０１にその旨を通知させるようにすればよい。
【００４１】
そして、次のステップＳ１６では、発見した有効期限ありのデジタル証明書中の「有効にする機能」の情報に基づいて、有効にすべき機能のアプリケーションを起動し、以降の処理に進む。ここで、この起動処理の手順は、ステップＳ１３の場合と同様である。また、ステップＳ１４で複数の証明書があった場合には、ステップＳ１５及びＳ１６の処理は各証明書毎に行う。この場合も、複数の証明書に同じ機能が記載されていたり、ステップＳ１３で起動済みの機能が記載されていたりしたとしても、その機能に係るアプリケーションを重複して起動することはない。
【００４２】
一方、ステップＳ１４で有効期限がありかつ有効期間内の正当なデジタル証明書がなければ、そのままステップＳ１６の後の処理に進む。
なお、この処理をそのまま実行するとすると、証明書記憶部１３０に記憶されているデジタル証明書１３１が何らかの理由で全て破損等した場合に、全ての機能が使用できなくなってしまうことになる。そこで、このような場合でも何らかの機能を有効にしてよい場合には、有効なデジタル証明書の有無に関わらず有効にする機能を用意するようにしてもよい。
【００４３】
次に、図７に、図６のステップＳ１５で監視を開始させた有効期限が到来した場合にＣＰＵ１１が実行する処理のフローチャートを示す。このフローチャートにおける各処理も、ＣＰＵ１１が図３に示した各モジュールに係るプログラムやその他必要なプログラムを実行することにより行うものである。
この処理は、タイマ制御モジュール１１０がタイマ１４によりデジタル証明書１３１の有効期限の到来を検知すると開始され、まずステップＳ２１でタイマ制御モジュール１１０が証明書ステータス判定モジュール１０１にその旨を通知する。
そして、証明書ステータス判定モジュール１０１はこの通知を受け取ると次のステップＳ２２で主制御モジュール１４０にシステムの再起動を要求する。
【００４４】
そして、主制御モジュール１４０は、この要求を受けると、ステップＳ２３で適当なアプリケーションに証明書の有効期限が来たためＭＦＰ１０を再起動する旨を示す再起動情報をプリントアウトさせ、ステップＳ２４でシステムを再起動して処理を終了する。
なお、ステップＳ２３及びＳ２４の処理は、ＭＦＰ１０が画像形成や画像読み取り等の、途中で中断すると不都合のあるジョブを実行中であれば、そのジョブの完了まで待ってから行うようにするとよい。また、ステップＳ２３の処理は、ユーザに装置が突然再起動した理由を示したり、期限が到来した証明書の更新を勧めたりするために行うものであり、ＭＦＰ１０が画像形成手段を持たない場合には行わなくてもよい。また、フローチャートではステップＳ２４の後に「ＥＮＤ」を記載しているが、実際にはこの処理はステップＳ２４での再起動時に中断される。
【００４５】
そして、再起動時には再度図６のフローチャートに示した起動処理が実行されるが、この時点では、有効期限の到来を検知したデジタル証明書については、既に有効期間内のものでなくなっているため、ステップＳ１５及びＳ１６での処理対象にならず、その証明書に記載されていた機能は有効にされないことになる。
以上の図６及び図７に示した処理においては、ＣＰＵ１１が機能管理手段として機能する。また、以上の処理を行うことにより、ＭＦＰ１０に、有効なデジタル証明書の「有効にする機能」の項目に記載された機能のみを提供させるようにすることができる。
【００４６】
次に、図８に、新たなデジタル証明書の追加を行う場合にＣＰＵが実行する処理のフローチャートを示す。なお、このフローチャートには、新たな証明書が正常に取得される場合の処理を示し、不具合が発生したり処理を中断したりする場合に関する処理は図示を省略している。
ＣＰＵ１１は、ユーザが新しいデジタル証明書の追加を行うモードを選択すると、図８のフローチャートに示す処理を開始する。
【００４７】
そして、まずステップＳ３１で、ＭＦＰ１０が、インターネットによりサービスセンタに接続する環境があるか否かを判断する。ここで、「接続する環境がある」とは、単にアクセス可能というだけでなく、ユーザ及び／又は装置がサービスセンタに登録され、ＭＦＰ１０からサービスセンタに対して商品やサービスの発注が可能になっている状態を指すものとする。
【００４８】
そして、ステップＳ３１でＹＥＳであれば、ステップＳ３２に進み、操作パネル１６に証明書購入ボタンを表示する。この時、証明書の内容を説明するメッセージ等を表示してよいことももちろんである。
その後、ステップＳ３３でユーザが証明書購入ボタンを押下するまで待機し、押下すると、ステップＳ３４でサービスセンタにアクセスし、新たなデジタル証明書をダウンロードして取得する。
【００４９】
図９に、この際の通信のシーケンスを示す。
この図に示すとおり、図８のステップＳ３４においては、ＭＦＰ１０はまずサービスセンタのサーバ装置５１に証明書発行申請を送信する（Ｓ１０１）。そして、サーバ装置５１は、その申請内容を確認し、適当なものであると判断すると（Ｓ１０２）、ＣＡ５２に証明書発行要求を送信し（Ｓ１０３）、ＣＡ５２はこれに応じてデジタル証明書（有効期限が設定されているものであれば、もちろん有効期間内のもの）を発行してサーバ装置５１に返す（Ｓ１０４）。そして、サーバ装置５１がＣＡ５２から受け取ったデジタル証明書をＭＦＰ１０に返す（Ｓ１０５）、という処理が実行される。
【００５０】
図８の説明に戻る。
ステップＳ３４で証明書が取得できると、処理はステップＳ３８に進み、ＣＰＵ１１が取得した証明書を証明書記憶部１３０に記憶させると共に、ステップＳ３９でシステムを再起動させて処理を終了する。その後の処理は、図７のステップＳ２４の場合と同様であるが、再起動後の起動処理においては、新たに記憶させたデジタル証明書も有効な証明書として取り扱われることになる。
【００５１】
一方、ステップＳ３１でＮＯの場合、ユーザはＭＦＰ１０から新たな証明書を発注することができないため、別の手段で予め証明書を購入しておくことになる。そしてこの場合、証明書はフラッシュメモリやＳＤカード等のメディアに記録されてユーザに届けられる。
従って、ＣＰＵが実行する処理としては、ステップＳ３５でそのメディアを外部メディアＩ／Ｆ２２にセットするよう要求するメッセージを操作パネル１６に表示させ、ステップＳ３６でメディアがセットされるまで待機し、セットされたらステップＳ３７でそのメディアから新たなデジタル証明書を読み出して取得する処理となる。その後の処理は、上記のネットワーク経由の取得の場合と同様である。
【００５２】
以上のような処理を行うことにより、デジタル証明書の有効期限が切れたり、切れそうになったりした場合に、新たな（有効期限が後の）デジタル証明書を記憶させ、引き続きその証明書に記載された機能が使用可能な状態を保つことができる。なお、この処理は、デジタル証明書を新規に記憶させる場合にも適用できるし、新たに記憶させるデジタル証明書が、有効期限の設定されていないものである場合も考えられる。また、有効／無効の制御に使用するデジタル証明書を記憶させる際には、既に記憶されている他の証明書をそのまま残した上で追加するようにすることが好ましい。
【００５３】
以上でこの実施形態のＭＦＰ１０の動作の説明を終了するが、この実施形態において、有効期限がないデジタル証明書に記載された機能は、ＭＦＰ１０に常に提供させる機能、有効期限があるデジタル証明書に記載された機能は、ＭＦＰ１０に所定期間だけ提供させる機能と位置付けることができる。
従って、有効期限がないデジタル証明書をＭＦＰ１０の製造時に証明書記憶部１３０に書き込んでおくようにすれば、そこに記載された機能を、ユーザが特に認証を受けたり料金を支払ったりしなくても初期状態で使用することができる機能として指定することができると言える。この場合において、「有効にする機能」の種類は、アプリケーション１６０により提供される機能の中から自由に選択して記載することが容易にできる一方、デジタル証明書中に記載するようにしているため、記載した後の改竄は極めて困難である。
【００５４】
従って、全てのユーザに対して有効にする機能の範囲を、容易に変更できるようにしながら、意図しない機能の不正な利用を防止できるようにすることができると言える。また、有効期限がないデジタル証明書を用いていることから、装置が長期間放置されたような場合でも、その間にデジタル証明書の有効期限が切れて機能が使用できない状態になってしまうようなこともない。
【００５５】
また、ユーザが認証を受けたり料金を支払ったりした場合に、所定の有効期限を設定し、追加的に使用を許可する機能を記載したデジタル証明書をユーザに渡して設定させるようにすれば、期間を限ってユーザに追加的な機能の使用を許可することができる。この場合であっても、有効期間や機能の種類の情報は、デジタル証明書内に記載されているため、改竄は困難であるから、許可した期間を過ぎたにも関わらず機能の使用を継続されたり、許可していない機能まで使用されたりしてしまうといった事態を防止することができる。
【００５６】
そして、このような位置付けから、有効期限の設定されていないデジタル証明書においては、「有効にする機能」として、装置が提供可能な機能の一部のみを記載し、有効な証明書が有効期限の設定されていないもののみであった場合には、装置の一部の機能のみを有効にするようにすることが、上述した実施形態の順当な適用方法であると考えられるし、上述した処理により、ＭＦＰ１０のＣＰＵ１１をこのような制御を行う手段として機能させることも可能である。
【００５７】
なお、ＭＦＰの場合、装置の出荷時には、最低限の一部の機能として、モノクロ印刷、モノクロコピー、モノクロスキャン等の機能を「有効にする機能」とした有効期限のないデジタル証明書を記憶させておき、この状態では一部の機能のみ利用できる状態にしておくようにするとよい。そして、ユーザが認証を受けたり料金を支払ったりした場合に、追加的な機能として「カラー印刷」、「カラーコピー」、「カラースキャン」、「スキャンtoメール」等の機能を「有効にする機能」とした有効期限のあるデジタル証明書を提供して記憶させるようにするとよい。
【００５８】
デバイスのリース契約がなされる場合に、適正な使用期間が守られなかったり、不正な機器の横流しが行われたりすることがあるという問題がある。しかし、上記のような対応を行うことにより、初めにユーザを確認した後で有効期限のあるデジタル証明書を記憶させて全ての機能を使用できる状態とすることができる一方、所定期間経過後は、基本的な一部の機能しか使用できない状態とすることができるため、デバイスの価値が減じ、実質的に無断での使用期間の延長や横流しを困難にすることができる。一方で、正規に契約を更新してデジタル証明書も有効期限が後のものに更新すれば、追加的な機能も使用可能な状態で装置の使用を継続させることができる。
【００５９】
なお、変形例として、デジタル証明書には「有効にする機能」の情報を記載せず、有効にする機能を、有効な証明書の種類に応じてＭＦＰ１０側で定めるようにしてもよい。この場合、例えば、機能の有効／無効の制御に利用する証明書のうち確認時点で有効なものの中に、有効期間が設定されているものが含まれていた場合に全ての機能を有効にし、また、有効期間が設定されていないもののみが含まれていた場合には一部の基本的な機能のみを有効にすることが考えられる。このようにしても、上記のような、所定期間経過後は基本的な一部の機能しか使用できない状態とするような動作を実現することができる。
【００６０】
なお、以上の実施形態においてはＭＦＰを例として説明したが、この発明は、複数の機能を提供し、デジタル証明書の記憶と参照が可能なデバイスであれば、どのようなデバイスにも適用可能であることはもちろんである。適用対象としては、例えば、プリンタ，ＦＡＸ装置，デジタル複写機，スキャナ装置等の画像処理装置のほか、汎用コンピュータ，ネットワーク家電，自動販売機，医療機器，電源装置，空調システム，ガス・水道・電気等の計量システム，自動車，航空機等の種々の電子装置が考えられる。
なお、デジタル証明書は、工場でＲＯＭに焼き付けたり、メディアから読み出させたりして設定することが可能であるから、外部装置との間で通信する機能を有することも、必須ではない。また、デジタル証明書に「有効にする機能」として記載する事項を、装置の特性に合わせて自由に定めてよいことはもちろんである。その他、データの構成等について適宜変更してよいことも、もちろんである。
【００６１】
また、この発明によるプログラムは、コンピュータを、上述したＭＦＰ１０のようなデバイスとして機能させるためのプログラムであり、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
このようなプログラムは、はじめからコンピュータに備えるＲＯＭあるいはＨＤＤ等の記憶手段に格納しておいてもよいが、記録媒体であるＣＤ−ＲＯＭあるいはフレキシブルディスク，ＳＲＡＭ，ＥＥＰＲＯＭ，メモリカード等の不揮発性記録媒体（メモリ）に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータにインストールしてＣＰＵに実行させるか、ＣＰＵにそのメモリからこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
【産業上の利用可能性】
【００６２】
以上説明してきたように、この発明のデバイス、機能管理方法、プログラム又は記録媒体によれば、複数の機能を提供可能なデバイスにおいて各機能の有効／無効を管理する場合に、全てのユーザに対して有効にする機能の範囲を、容易に変更できるようにしながら、意図しない機能の不正な利用を防止できるようにすることができる。
従って、この発明を利用することにより、高いセキュリティと利便性を両立したデバイスを構成することができる。
【図面の簡単な説明】
【００６３】
【図１】この発明のデバイスの実施形態であるＭＦＰの構成を示すブロック図である。
【図２】そのＭＦＰをユーザが使用する場合の使用環境の例を示す図である。
【図３】そのＭＦＰの機能構成のうち、実施形態の特徴に係る部分を示す図である。
【図４】そのＭＦＰにおいて機能の有効／無効の制御に使用するデジタル証明書の記載内容の例を示す図である。
【図５】図４に示したフォーマットに従ったデジタル証明書の例を簡単に示す図である。
【図６】図１に示したＭＦＰのＣＰＵが起動時に実行する処理のうち、実施形態の特徴に係る部分の処理を示すフローチャートである。
【図７】同じくデジタル証明書の有効期限が到来した場合にＣＰＵが実行する処理を示すフローチャートである。
【図８】同じく新たなデジタル証明書の追加を行う場合にＣＰＵが実行する処理を示すフローチャートである。
【図９】図１に示したＭＦＰがサービスセンタにアクセスし、新たなデジタル証明書をダウンロードして取得する際の処理シーケンスを示す図である。
【符号の説明】
【００６４】
１０：ＭＦＰ、１１：ＣＰＵ、１２：ＲＯＭ、１３：ＲＡＭ、１４：タイマ、
１５：オペポートＩ／Ｆ、１６：操作パネル、１７：ＨＤＤＩ／Ｆ、１８：ＨＤＤ、
１９：ＮＶＲＡＭ、２０：フラッシュＲＯＭ、２１：ネットワーク通信制御部、
２２：外部メディアＩ／Ｆ、２３：スキャナＩ／Ｆ、２４：スキャナエンジン、
２５：プロッタＩ／Ｆ、２６：プロッタエンジン、５１：サーバ装置、５２：ＣＡ、
６０：インターネット、１００：認証モジュール、
１０１：証明書ステータス判定モジュール、１０２：機能管理モジュール、
１０３：データ送受信モジュール、１０４：ＳＳＬ処理モジュール、
１０５：暗号化復号化モジュール、１１０：タイマ制御モジュール、
１２０：セキュリティ情報アクセスライブラリ、１３０：証明書記憶部、
１３１：デジタル証明書、１３２：署名確認用公開鍵、１４０：主制御モジュール、
１５０：ネットワーク制御モジュール、１６０：アプリケーション
【図１】
2006059141.tif 000003
【図２】
2006059141.tif 000004
【図３】
2006059141.tif 000005
【図４】
2006059141.tif 000006
【図５】
2006059141.tif 000007
【図６】
2006059141.tif 000008
【図７】
2006059141.tif 000009
【図８】
2006059141.tif 000010
【図９】
2006059141.tif 000011