(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明していく。
【0012】
図1はセキュリティ通信システムの一例の構成図である。
図1のセキュリティ通信システム1は画像形成装置10と外部装置11とがインターネットやLAN等のネットワーク12を介して接続されている。
【0013】
なお、画像形成装置10及び外部装置11は、セキュリティ通信を行う装置の一例である。例えば画像形成装置10はプリンタ装置、スキャナ装置、複合機などの装置であってもよい。外部装置11はPC、サーバ装置、携帯端末などの装置であってもよい。
【0014】
また、
図1のセキュリティ通信システム1では1つの画像形成装置10及び外部装置11を示しているが、複数であってもよい。さらに、
図1のセキュリティ通信システム1は画像形成装置10と外部装置11との間でのセキュリティ通信の他、2つの画像形成装置10の間でのセキュリティ通信、又は、2つの外部装置11の間でのセキュリティ通信であってもよい。
【0015】
図2は画像形成装置の一例のハードウェア構成図である。
図2の画像形成装置10は撮像部21、印刷部22、ファクシミリ制御部23、CPU24、ASIC25、RAM26、ROM27、HDD28、NIC(Network Interface Card)29、オペレーションパネル30がシステムバス31を介して接続されている。
【0016】
撮像部21は読取原稿から画像を読み取る装置である。印刷部22は印刷用紙に画像を印刷する装置である。ファクシミリ制御部23はファクシミリ制御用の装置である。CPU24は種々の情報処理用の集積回路である。ASIC25は種々の画像処理用の集積回路である。RAM26は画像形成装置10内のメモリ(揮発性メモリ)である。ROM27は画像形成装置10内のメモリ(不揮発性メモリ)である。
【0017】
HDD28は画像形成装置10内のストレージである。NIC29は画像形成装置10のネットワークインタフェースとなる通信装置である。オペレーションパネル30は画像形成装置10のユーザインタフェースとなる操作表示装置である。
【0018】
本実施例の鍵ペア管理プログラム、その他のアプリケーションやオペレーティングシステムなどのプログラムは、ROM27やHDD28に格納されている。なお、以下に示す実施例の各種処理は特に明記しない限り、CPU24がROM27やHDD28に格納されたプログラムに従い、RAM26を使用して実行、処理される。
【0019】
図3は外部装置の一例のハードウェア構成図である。外部装置11は例えば
図3に示すようなハードウェア構成のPCにより実現される。PC40はバス49で相互に接続されている入力装置41、出力装置42、記録媒体読取装置43、補助記憶装置44、主記憶装置45、演算処理装置46及びインタフェース装置47を含む。
【0020】
入力装置41はキーボードやマウス等である。入力装置41は各種信号を入力するために用いられる。出力装置42はディスプレイ装置等である。出力装置42は各種ウインドウやデータ等を表示するために用いられる。インタフェース装置47は、モデム,LANカード等である。インタフェース装置47はインターネットやLANなどのネットワーク12に接続するために用いられる。
【0021】
外部装置11に搭載される鍵ペア管理プログラムは、PC40を制御する各種プログラムの少なくとも一部である。鍵ペア管理プログラムは例えば記録媒体48の配布やネットワーク12等からのダウンロードなどによって提供される。
【0022】
記録媒体48はCD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【0023】
鍵ペア管理プログラムを記録した記録媒体48が記録媒体読取装置43にセットされることにより、鍵ペア管理プログラムは記録媒体48から記録媒体読取装置43を介して補助記憶装置44にインストールされる。ネットワーク12等からダウンロードされた鍵ペア管理プログラムはインタフェース装置47を介して補助記憶装置44にインストールされる。
【0024】
補助記憶装置44は鍵ペア管理プログラム、必要なファイル、データ等を格納する。主記憶装置45は鍵ペア管理プログラムの起動時に、補助記憶装置44から鍵ペア管理プログラムを読み出して格納する。そして、演算処理装置46は主記憶装置45に格納された鍵ペア管理プログラムに従って、各種処理を実現している。
【0025】
以下では画像形成装置10の鍵ペア管理プログラムに従った各種処理を説明する。外部装置11の鍵ペア管理プログラムに従った各種処理については、画像形成装置10と同様であるため、説明を省略する。
【0026】
図4は画像形成装置の一例のブロック図である。
図4は画像形成装置10における鍵ペアのキャッシュ方式を示している。なお、
図4のブロック図は本実施例の鍵ペア管理プログラムの処理の説明に不要なブロックを適宜省略している。
【0027】
画像形成装置10は、作成鍵指定部51、鍵キャッシュ管理部52、鍵キャッシュ作成部53、鍵キャッシュ読出し部54、鍵キャッシュ記憶部55、データ送受信部56、暗号処理部57を有する。
【0028】
鍵キャッシュ記憶部55は鍵キャッシュ領域を記憶する。鍵キャッシュ領域には通常の電源投入時、セキュリティ通信で使用される可能性がある全ての種別(通信プロトコルや鍵長など)の鍵ペアが保存されている。
【0029】
作成鍵指定部51は、セキュリティ通信で使用する公開鍵暗号方式の鍵ペアの種別を指定する。鍵キャッシュ管理部52は、鍵キャッシュ領域に保存されている鍵ペアの管理を行う。鍵キャッシュ管理部52は、作成鍵指定部51で指定された種別の鍵ペアを鍵キャッシュ領域から選択するコントロールを行う。また、鍵キャッシュ管理部52は作成して鍵キャッシュ領域に保存する鍵ペアの種別のコントロールを行う。
【0030】
鍵キャッシュ作成部53は鍵キャッシュ管理部52のコントロールにより鍵ペアの作成及び鍵キャッシュ領域への鍵ペアの保存を行う。鍵キャッシュ読出し部54は鍵キャッシュ管理部52のコントロールにより鍵キャッシュ領域から鍵ペアの読み出しを行う。
【0031】
データ送受信部56は外部装置11とセキュリティ通信を実行できる。暗号処理部57はデータ送受信部56が外部装置11とセキュリティ通信を実行する際、セキュリティ通信で必要な通信相手の認証及び暗号処理を行う。なお、暗号処理部57は通信相手の認証及び暗号処理に使用する鍵ペアを鍵キャッシュ管理部52から取得する。
【0032】
図5は鍵キャッシュ領域を含む鍵ペア領域の一例を示すイメージ図である。鍵ペア領域60は現在有効である鍵ペアを保存する有効鍵ペア領域61と、使用が想定される鍵ペア群を予め保存しておく鍵キャッシュ領域62とを含む。鍵キャッシュ領域62には鍵ペアの種別ごとに作成中情報63が付加されている。
図5の作成中情報63は鍵ペアが作成済みであることを「有」又は鍵ペアが未作成であることを「無」で示している。作成中情報63は更に鍵ペアが作成中であることを示すようにしてもよい。
【0033】
図6は画像形成装置の電源投入時の処理手順を示す一例のフローチャートである。画像形成装置10の電源が投入されると、ステップS1において、鍵キャッシュ管理部52は起動され、鍵ペア領域60の管理を開始する。ステップS2において、鍵キャッシュ管理部52は鍵キャッシュ領域62に予め保存しておく鍵ペアの作成状況を作成中情報63により判定する。
【0034】
ステップS3において、鍵キャッシュ管理部52は鍵キャッシュ領域62に予め保存しておく鍵ペアに、未作成の鍵ペアが存在するか否かを判定する。未作成の鍵ペアが存在すれば、ステップS4において、鍵キャッシュ管理部52は鍵キャッシュ作成部53をコントロールし、未作成の鍵ペアを非同期で作成する。ステップS4の処理の後、画像形成装置10はステップS5において通常処理を行う。
【0035】
なお、ステップS3において、未作成の鍵ペアが存在しなければ、画像形成装置10はステップS4の処理を行わず、ステップS5において通常処理を行う。未作成の鍵ペアの作成を非同期で行うため、未作成の鍵ペアの作成以外の画像形成装置10の通常処理は未作成の鍵ペアの作成を待たずに実行できる。未作成の鍵ペアの作成は非同期で実行されるため、画像形成装置10の通常処理の実行中に完了する。
【0036】
図7は鍵ペア選択時の処理手順を示す一例のフローチャートである。ステップS11において、画像形成装置10の操作者(ユーザ)は画像形成装置10のオペレーションパネル(入力画面)30からセキュリティ通信で使用する鍵ペアの種別を入力する。
【0037】
また、ステップS12において、作成鍵指定部51はユーザから入力された鍵ペアの種別をチェックする。通常のセキュリティ通信で使用不可又は推奨されない鍵長や公開鍵暗号方式のアルゴリズムが指定された場合、作成鍵指定部51は不正な鍵ペア(不正鍵)が指定されたと判断してステップS11の処理に戻り、再度、ユーザに鍵ペアの種別を入力させる。
【0038】
通常のセキュリティ通信で使用不可又は推奨されない鍵長や公開鍵暗号方式のアルゴリズムが指定されなければ、作成鍵指定部51は選択可能な鍵ペア(選択可鍵)が指定されたと判断してステップS13の処理を行う。鍵キャッシュ管理部52はステップS13において、使用する種別の鍵ペア(ステップS11で指定された鍵ペア)を鍵キャッシュ領域62から有効鍵ペア領域61に移動する。ステップS14において、鍵キャッシュ管理部52は有効鍵ペア領域61に移動した鍵ペアを非同期で再作成し、鍵キャッシュ領域62に保存する。
【0039】
図8は鍵ペア領域の状態遷移の一例を表したイメージ図である。
図8は使用する鍵ペアの種別として「鍵種1」が選択されたときの鍵ペア領域60の状態遷移を一例として表している。ステップS21において、鍵キャッシュ管理部52はユーザが選択した種別の鍵ペア「鍵種1」を鍵キャッシュ領域62から有効鍵ペア領域61に移動する。
【0040】
ステップS22において、鍵キャッシュ管理部52は鍵キャッシュ領域62から有効鍵ペア領域61に移動した鍵ペア「鍵種1」を鍵キャッシュ領域62から一旦削除する。ステップS23において、鍵キャッシュ管理部52は鍵キャッシュ領域62から一旦削除した鍵ペア「鍵種1」を非同期で再作成し、鍵キャッシュ領域62に保存する。
【0041】
図9は、有効鍵を使用したセキュリティ通信の処理手順を示す一例のフローチャートである。なお、有効鍵とは有効鍵ペア領域61に保存されている鍵ペアである。ステップS31において、鍵キャッシュ管理部52は有効鍵の存在チェックを行う。
【0042】
鍵キャッシュ管理部52は有効鍵が有れば、ステップS33において、有効鍵を暗号処理部57に送信する。暗号処理部57は有効鍵をセキュリティ通信に適用する。ステップS34において、データ送受信部56及び暗号処理部57は有効鍵を用いて外部装置11とセキュリティ通信を実行する。
【0043】
なお、ステップS31において有効鍵が無ければ、ステップS32において、作成鍵指定部51はユーザに画像形成装置10のオペレーションパネル30からセキュリティ通信で使用する鍵ペアの種別を入力させる。鍵キャッシュ管理部52はユーザから入力された鍵ペアの種別を鍵キャッシュ領域62から有効鍵ペア領域61に移動する。
【0044】
ステップS33において、鍵キャッシュ管理部52は有効鍵が有るので、ステップS33において、有効鍵を暗号処理部57に送信する。暗号処理部57は有効鍵をセキュリティ通信に適用する。ステップS34において、データ送受信部56及び暗号処理部57は有効鍵を用いて外部装置11とセキュリティ通信を実行する。
【0045】
図10は、デジタル証明書を使用したSSL/TLS通信の処理手順を示した一例のフローチャートである。SSL/TLS通信に必要なデジタル証明書の作成には有効鍵の鍵ペアを使用する。デジタル証明書を使用したSSL/TLS通信は通信相手の認証の一例である。
【0046】
ステップS41において、鍵キャッシュ管理部52は有効鍵のチェックを行う。ここで言う有効鍵のチェックとは、有効鍵が存在し、且つ、有効鍵の鍵種がデジタル証明書の鍵種と合致するか否かのチェックである。
【0047】
鍵キャッシュ管理部52は有効鍵が存在し、且つ、有効鍵の鍵種がデジタル証明書の鍵種と合致すれば、ステップS43において、有効鍵を暗号処理部57に送信する。暗号処理部57は有効鍵に含まれる公開鍵をデジタル証明書の公開鍵に適用する。
【0048】
なお、鍵キャッシュ管理部52は有効鍵が存在しないか、又は、有効鍵の鍵種がデジタル証明書の鍵種と合致しなければ、ステップS42において、作成鍵指定部51はユーザに鍵キャッシュ領域62から有効鍵を選択させる。その後、鍵キャッシュ管理部52はステップS43において、有効鍵を暗号処理部57に送信する。暗号処理部57は有効鍵に含まれる公開鍵をデジタル証明書の公開鍵に適用する。暗号処理部57は有効鍵の鍵ペアに含まれる公開鍵をデジタル証明書に設定し、署名前デジタル証明書を作成する。
【0049】
ステップS44において、暗号処理部57はセキュリティポリシーに基づいて、署名前デジタル証明書の有効期限を設定する。ステップS45において、暗号処理部57は認証局(CA)によって署名前デジタル証明書にデジタル署名を付加してデジタル証明書を作成する。
【0050】
なお、外部認証局を使用する場合は、デジタル署名の作成に外部認証局が保持する秘密鍵を使用する。自らが認証局としてデジタル署名を付加する場合は、有効鍵の鍵ペアに含まれる秘密鍵を使用する。
【0051】
ステップS46において、暗号処理部57は作成したデジタル証明書をSSL/TLS通信に適用する。ステップS47において、データ送受信部56及び暗号処理部57は作成したデジタル証明書を使用してSSL/TLS通信を実行する。
【0052】
(まとめ)
本実施例によれば、使用が予想される公開鍵暗号方式の鍵ペアを鍵長及び公開鍵暗号方式のアルゴリズム毎に予め鍵キャッシュ領域62に保存しておくことで、セキュリティ通信を開始する直前に、鍵ペアを作成する必要が無くなり、セキュリティ通信の開始までの待ち時間を短縮できる。
【0053】
本実施例によれば、使用が見込まれる公開鍵暗号方式の鍵ペアを鍵長及び公開鍵暗号方式のアルゴリズム毎に予め鍵キャッシュ領域62に保存しておき、セキュリティ通信で必要となった時点で、該当する鍵ペアを鍵キャッシュ領域63から選択するので、鍵ペアの作成を待たずにセキュリティ通信が可能になる。選択した鍵キャッシュ領域62の鍵ペアは自動で非同期に再作成が行われるので、次回以降、同じ鍵ペアが必要となった場合でも該当する鍵ペアを鍵キャッシュ領域63から選択できる。したがって、本実施例によれば鍵ペアの作成を待たずにセキュリティ通信が可能になる。
【0054】
本実施例によれば、SSL/TLS通信のようにセキュリティ通信にデジタル証明書の作成が必要な場合であっても、デジタル証明書の作成に必要な鍵ペアを鍵キャッシュ領域62から選択できるため、鍵ペアの作成を待たずにデジタル証明書を作成できる。
【0055】
また、本実施例によれば、鍵キャッシュ領域62に保存する鍵ペアは、有効期限の設定されたデジタル証明書の形式として保持するものではないため、鍵キャッシュ領域62に保存する鍵ペアについて有効期限を考慮しなくてもよい。
【0056】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、特許請求の範囲に記載した記憶手段は鍵キャッシュ記憶部55に相当する。管理手段は鍵キャッシュ管理部52に相当する。通信手段はデータ送受信部56、暗号処理部57に相当する。また、第1の領域は鍵キャッシュ領域62に相当する。第2の領域は有効鍵ペア領域61に相当する。