(57)【要約】【課題】共通鍵暗号方式で通信を行う機器間で共通鍵を交換する方法であって、共通鍵の交換を簡易な処理で、かつ、安全に行うことのできる共通鍵交換方法、等を提供する。【解決手段】共通鍵暗号方式で通信を行う機器間で共通鍵データを交換する方法において、第一機器と第二機器それぞれに、インデックス情報を有する複数の固定鍵データが同一の内容で格納されている、固定鍵テーブルが備えられ、第一機器が、固定鍵テーブルから任意の数の任意の固定鍵データを選択して所定の演算処理により共通鍵データを生成し、当該生成した共通鍵データを保持する工程と、第一機器が、選択した固定鍵データが有するインデックス情報を第二機器に送信する工程と、第二機器が、送信されたインデックス情報に対応する固定鍵データを、固定鍵テーブルから取得し上記所定の演算処理により共通鍵データを生成し、当該生成した共通鍵データを保持する工程と、を有する。【選択図】    図３
2012147341.tif 000002
【特許請求の範囲】
【請求項１】
共通鍵暗号方式で通信を行う機器間で共通鍵データを交換する共通鍵交換方法であって、
前記機器である第一機器と第二機器のそれぞれに、インデックス情報を有する複数の固定鍵データが同一の内容で格納されている、固定鍵テーブルが備えられ、
前記第一機器が、前記固定鍵テーブルから任意の数の任意の前記インデックス情報または任意の前記固定鍵データを選択し、当該選択したインデックス情報に対応する固定鍵データまたは当該選択した固定鍵データに対して所定の演算処理を行って共通鍵データを生成し、当該生成した共通鍵データを保持する工程と、
前記第一機器が、前記選択したインデックス情報または前記選択した固定鍵データに対応するインデックス情報を前記第二機器に送信する工程と、
前記第二機器が、前記送信されたインデックス情報に対応する前記固定鍵データを、前記固定鍵テーブルから取得し、当該取得した固定鍵データに対して前記所定の演算処理を行って共通鍵データを生成し、当該生成した共通鍵データを保持する工程と、を有する
ことを特徴とする共通鍵交換方法。
【請求項２】
請求項１において、
前記第一機器は、前記所定の演算処理を、予め定められた複数の演算処理の中から任意に選択して決定し、当該決定した演算処理を識別するための情報を前記第二機器に送信し、
前記第二機器は、前記送信された識別情報に従って前記所定の演算処理を決定する
ことを特徴とする共通鍵交換方法。
【請求項３】
請求項１または請求項２において、
前記所定の演算処理には、前記固定鍵データ間でＸＯＲ演算を実行する過程が含まれる
ことを特徴とする共通鍵交換方法。
【請求項４】
請求項１ないし請求項３のいずれか１つにおいて、
前記所定の演算処理には、ハッシュ値を求める過程が含まれる
ことを特徴とする共通鍵交換方法。
【請求項５】
共通鍵暗号方式で通信を行う機器で共通鍵データを生成する共通鍵生成方法であって、
前記機器に、インデックス情報を有する複数の固定鍵データが格納されている、固定鍵テーブルが備えられ、
前記機器が、前記インデックス情報を選択し、前記インデックス情報に対応する前記固定鍵データを、前記固定鍵テーブルから取得し、前記取得した固定鍵データに対して所定の演算処理を行って共通鍵データを生成する
ことを特徴とする共通鍵生成方法。
【請求項６】
互いに共通鍵暗号方式で通信を行い、共通鍵データを交換する第一機器と第二機器からなる共通鍵交換システムであって、
前記第一機器と前記第二機器のそれぞれは、インデックス情報を有する複数の固定鍵データが同一の内容で格納される、固定鍵テーブルを備え、
前記第一機器は、前記固定鍵テーブルから任意の数の任意の前記インデックス情報または任意の前記固定鍵データを選択し、当該選択したインデックス情報に対応する固定鍵データまたは当該選択した固定鍵データに対して所定の演算処理を行って共通鍵データを生成し、当該生成した共通鍵データを保持し、
前記第一機器は、前記選択したインデックス情報または前記選択した固定鍵データに対応するインデックス情報を前記第二機器に送信し、
前記第二機器は、前記送信されたインデックス情報に対応する前記固定鍵データを、前記固定鍵テーブルから取得し、当該取得した固定鍵データに対して前記所定の演算処理を行って共通鍵データを生成し、当該生成した共通鍵データを保持する
ことを特徴とする共通鍵交換システム。
【請求項７】
他の機器と共通鍵暗号方式で通信を行い、当該他の機器と共通鍵データを交換する共通鍵交換装置であって、
インデックス情報を有する複数の固定鍵データが前記他の機器と同一の内容で格納されている固定鍵テーブルを備え、
前記共通鍵データの交換処理を始動する場合には、
前記固定鍵テーブルから任意の数の任意の前記インデックス情報または任意の前記固定鍵データを選択し、当該選択したインデックス情報に対応する固定鍵データまたは当該選択した固定鍵データに対して所定の演算処理を行って共通鍵データを生成し、当該生成した共通鍵データを保持し、前記選択したインデックス情報または前記選択した固定鍵データに対応するインデックス情報を前記他の機器に送信し、
前記共通鍵データの交換処理が前記他の機器で始動された場合には、
前記他の機器から送信される前記インデックス情報を受信して、当該インデックス情報に対応する前記固定鍵データを、前記固定鍵テーブルから取得し、当該取得した固定鍵データに対して所定の演算処理を行って共通鍵データを生成し、当該生成した共通鍵データを保持する
ことを特徴とする共通鍵交換装置。
【請求項８】
他の機器と共通鍵暗号方式で通信を行い、当該他の機器と共通鍵データを交換する共通鍵交換装置に、前記共通鍵データを交換する処理を実行させるプログラムであって、
前記共通鍵交換装置には、インデックス情報を有する複数の固定鍵データが前記他の機器と同一の内容で格納されている固定鍵テーブルが備えられ、
前記共通鍵データの交換処理を始動する場合には、
前記固定鍵テーブルから任意の数の任意の前記インデックス情報または任意の前記固定鍵データを選択し、当該選択したインデックス情報に対応する固定鍵データまたは当該選択した固定鍵データに対して所定の演算処理を行って共通鍵データを生成し、当該生成した共通鍵データを保持し、前記選択したインデックス情報または前記選択した固定鍵データに対応するインデックス情報を前記他の機器に送信する工程を前記共通鍵交換装置に実行させ、
前記共通鍵データの交換処理が前記他の機器で始動された場合には、
前記他の機器から送信される前記インデックス情報を受信して、当該インデックス情報に対応する前記固定鍵データを、前記固定鍵テーブルから取得し、当該取得した固定鍵データに対して所定の演算処理を行って共通鍵データを生成し、当該生成した共通鍵データを保持する工程を前記共通鍵交換装置に実行させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、共通鍵暗号方式で通信を行う機器間で共通鍵を交換する方法等に関し、特に、共通鍵の交換を簡易な処理で、かつ、安全に行うことのできる共通鍵交換方法等に関する。
【背景技術】
【０００２】
従来、ネットワークに接続された機器間で通信を行う際のセキュリティ確保の手段として暗号技術が用いられており、その方式として公開鍵暗号方式と共通鍵暗号方式が知られている。そのうち、公開鍵暗号方式は処理負荷が高いため、共通鍵暗号方式が広く普及し、通信相手の認証や通信データの暗号化に用いられている。
【０００３】
この共通鍵暗号方式では、通信を行う両機器で共通鍵を秘密に保持する必要があり、また、同じ共通鍵を使い続けると第三者に解読されてしまう虞があるため一定のタイミングで新たなものを生成して両機器で交換する必要がある。
【０００４】
この共通鍵の交換を安全に行う手法としてＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ鍵交換法（ＤＨ法）が知られている。
【０００５】
また、下記特許文献１、２には、同様の共通鍵に関して提案がなされている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−９４５４８号公報
【特許文献２】特開２０００−２７８２５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記ＤＨ法は複雑なアルゴリズムを伴うため、機器によっては過度な処理が要求される、という課題があり、また、上記特許文献１、２においても未だ処理が複雑である。
【０００８】
そこで、本発明の目的は、共通鍵暗号方式で通信を行う機器間で共通鍵を交換する方法であって、共通鍵の交換を簡易な処理で、かつ、安全に行うことのできる共通鍵交換方法、等を提供することである。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために、本発明の一つの側面は、共通鍵暗号方式で通信を行う機器間で共通鍵データを交換する共通鍵交換方法において、前記機器である第一機器と第二機器のそれぞれに、インデックス情報を有する複数の固定鍵データが同一の内容で格納される、固定鍵テーブルが備えられ、前記第一機器が、前記固定鍵テーブルから任意の数の任意の前記インデックス情報または任意の前記固定鍵データを選択し、当該選択した前記インデックス情報に対応する固定鍵データまたは当該選択した固定鍵データに対して所定の演算処理を行って共通鍵データを生成し、当該生成した共通鍵データを保持する工程と、前記第一機器が、前記選択した前記インデックス情報または前記選択した固定鍵データに対応するインデックス情報を前記第二機器に送信する工程と、前記第二機器が、前記送信されたインデックス情報に対応する前記固定鍵データを、前記固定鍵テーブルから取得し、当該取得した固定鍵データに対して前記所定の演算処理を行って共通鍵データを生成し、当該生成した共通鍵データを保持する工程と、を有する、ことである。
【００１０】
更に、上記の発明において、その好ましい態様は、前記第一機器は、前記所定の演算処理を、予め定められた複数の演算処理の中から任意に選択して決定し、当該決定した演算処理を識別するための情報を前記第二機器に送信し、前記第二機器は、前記送信された識別情報に従って前記所定の演算処理を決定する、ことを特徴とする。
【００１１】
更に、上記の発明において、一つの態様は、前記所定の演算処理には、前記固定鍵データ間でＸＯＲ演算を実行する過程が含まれる、ことを特徴とする。
【００１２】
更に、上記の発明において、一つの態様は、前記所定の演算処理には、ハッシュ値を求める過程が含まれる、ことを特徴とする。
【００１３】
上記の目的を達成するために、本発明の別の側面は、共通鍵暗号方式で通信を行う機器で共通鍵データを生成する共通鍵生成方法において、前記機器に、インデックス情報を有する複数の固定鍵データが格納されている、固定鍵テーブルが備えられ、前記機器が、前記インデックス情報を選択し、前記インデックス情報に対応する前記固定鍵データを、前記固定鍵テーブルから取得し、前記取得した固定鍵データに対して所定の演算処理を行って共通鍵データを生成する、ことである。
【００１４】
上記の目的を達成するために、本発明の別の側面は、互いに共通鍵暗号方式で通信を行い、共通鍵データを交換する第一機器と第二機器からなる共通鍵交換システムにおいて、前記第一機器と前記第二機器のそれぞれは、インデックス情報を有する複数の固定鍵データが同一の内容で格納される、固定鍵テーブルを備え、前記第一機器は、前記固定鍵テーブルから任意の数の任意の前記インデックス情報または任意の前記固定鍵データを選択し、当該選択した前記インデックス情報に対応する固定鍵データまたは当該選択した固定鍵データに対して所定の演算処理を行って共通鍵データを生成し、当該生成した共通鍵データを保持し、前記第一機器は、前記選択した前記インデックス情報または前記選択した固定鍵データに対応するインデックス情報を前記第二機器に送信し、前記第二機器は、前記送信されたインデックス情報に対応する前記固定鍵データを、前記固定鍵テーブルから取得し、当該取得した固定鍵データに対して前記所定の演算処理を行って共通鍵データを生成し、当該生成した共通鍵データを保持する、ことである。
【００１５】
上記の目的を達成するために、本発明の更に別の側面は、他の機器と共通鍵暗号方式で通信を行い、当該他の機器と共通鍵データを交換する共通鍵交換装置が、インデックス情報を有する複数の固定鍵データが前記他の機器と同一の内容で格納されている固定鍵テーブルを備え、前記共通鍵データの交換処理を始動する場合には、前記固定鍵テーブルから任意の数の任意の前記インデックス情報または任意の前記固定鍵データを選択し、当該選択した前記インデックス情報に対応する固定鍵データまたは当該選択した固定鍵データに対して所定の演算処理を行って共通鍵データを生成し、当該生成した共通鍵データを保持し、前記選択した前記インデックス情報または前記選択した固定鍵データに対応する前記インデックス情報を前記他の機器に送信し、前記共通鍵データの交換処理が前記他の機器で始動された場合には、前記他の機器から送信される前記インデックス情報を受信して、当該インデックス情報に対応する前記固定鍵データを、前記固定鍵テーブルから取得し、当該取得した固定鍵データに対して所定の演算処理を行って共通鍵データを生成し、当該生成した共通鍵データを保持する、ことである。
【００１６】
上記の目的を達成するために、本発明の更に別の側面は、他の機器と共通鍵暗号方式で通信を行い、当該他の機器と共通鍵データを交換する共通鍵交換装置に、前記共通鍵データを交換する処理を実行させるプログラムにおいて、前記共通鍵交換装置には、インデックス情報を有する複数の固定鍵データが前記他の機器と同一の内容で格納されている固定鍵テーブルが備えられ、前記共通鍵データの交換処理を始動する場合には、前記固定鍵テーブルから任意の数の任意の前記インデックス情報または任意の前記固定鍵データを選択し、当該選択した前記インデックス情報に対応する固定鍵データまたは当該選択した固定鍵データに対して所定の演算処理を行って共通鍵データを生成し、当該生成した共通鍵データを保持し、前記選択した前記インデックス情報または前記選択した固定鍵データに対応する前記インデックス情報を前記他の機器に送信する工程を前記共通鍵交換装置に実行させ、前記共通鍵データの交換処理が前記他の機器で始動された場合には、前記他の機器から送信される前記インデックス情報を受信して、当該インデックス情報に対応する前記固定鍵データを、前記固定鍵テーブルから取得し、当該取得した固定鍵データに対して所定の演算処理を行って共通鍵データを生成し、当該生成した共通鍵データを保持する工程を前記共通鍵交換装置に実行させる、ことである。
【００１７】
本発明の更なる目的及び、特徴は、以下に説明する発明の実施の形態から明らかになる。
【図面の簡単な説明】
【００１８】
【図１】本発明を適用した共通鍵交換システムの実施の形態例に係る構成図である。
【図２】固定キーテーブル１２、２２を例示した図である。
【図３】共通鍵交換処理の手順を例示したフローチャートである。
【図４】共通鍵交換処理の流れを説明するための図である。
【発明を実施するための形態】
【００１９】
以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００２０】
図１は、本発明を適用した共通鍵交換システムの実施の形態例に係る構成図である。本共通鍵交換システム１００は、ネットワーク３を介して共通鍵暗号方式で通信を行うホストコンピューター１とプリンター２から構成されている。両機器は、格納されている内容が同一の固定キーテーブル１２、２２をそれぞれに備えており、両機器間の暗号通信で使用する共通鍵を新たに交換する際には、一方の機器が、一方の機器に備えられた固定キーテーブルから、任意の数の任意の固定キーを選択して、所定の演算処理を加えることによって新たな共通鍵を生成すると共に、選択した固定キーのインデックス情報のみを他方の機器へ送信する。当該インデックス情報を受け取った他方の機器は、当該インデックス情報を用いて他方の機器に備えられた固定キーテーブルから同じ固定キーを取得し、同じ演算処理を加えることによって新たな共通鍵を生成する。これにより、本共通鍵交換システム１００では、安全な共通鍵の交換を比較的簡易な処理で実行することができる。
【００２１】
図１に示すように、本実施の形態例では、共通鍵暗号方式で通信を行う機器が、一例として、ホストコンピューター１とプリンター２であり、両機器間における管理情報などの通信に共通鍵暗号方式が用いられ、通信相手の認証や通信情報の暗号化に共通鍵が用いられる。そして、所定のタイミングで新たな共通鍵に更新するため、両機器間で共通鍵の交換処理がなされる。
【００２２】
ホストコンピューター１は、一般的なパーソナルコンピューター等で構成され、図示していないが、ＣＰＵ、ＲＡＭ、ＨＤＤ、通信インターフェース、表示装置、操作装置等を備える。当該ホストコンピューター１は、プリンター２に印刷指示を行うプリンター２のホスト装置として機能するが、上述のように、共通鍵を交換する機能を有する。
【００２３】
当該機能を司るのが、図１に示す共通鍵交換ツール１１であり、所定のタイミングでプリンター２との間で共通鍵交換処理を実行する。当該共通鍵交換ツール１１は、共通鍵交換処理を実行するためのプログラム、当該プログラムに従って処理を実行する上記ＣＰＵ、処理中のデータを保持する上記ＲＡＭ、当該プログラムが格納される上記ＨＤＤ等で構成される。また、当該プログラムは、ＣＤからインストールされる、あるいは、インターネット等を介して所定のサイトからダウンロードされる、ことにより備えられる。
【００２４】
図１に示すように、ホストコンピューター１は、固定キーテーブル１２を上記ＨＤＤに格納して備えている。当該固定キーテーブル１２は、共通鍵の交換時に新たな共通鍵を生成するために用いられる複数の固定キーを収めたデータテーブルであり、各固定キーには、それぞれに対応する、インデックス番号（インデックス情報、索引情報）が付けられている。また、当該固定キーテーブル１２は、プリンター２が格納して備えている固定キーテーブル２２と同じ内容である。すなわち、両テーブルの固定キーとそのインデックス番号は同じである。
【００２５】
図２は、当該固定キーテーブル１２、２２を例示した図である。図２に示す例では、１２８ｂｉt長のデータである固定キーが１６個収められているテーブルであり、上述したインデックス番号（「１」−「１６」）が、各固定キーにふられている。
【００２６】
また、ホストコンピューター１には、その時点で使用可能な共通鍵１３が上記ＨＤＤに保持されている。当該共通鍵１３が、プリンター２との通信で用いられる共通鍵であり、上記共通鍵交換処理によって随時更新される。この共通鍵１３は、通信を行う機器間で秘密に保持すべきデータであり、当然にしてプリンター２が保持する共通鍵２３と同じデータである。
【００２７】
次に、プリンター２は、上記ホストコンピューター１からの印刷指示に従って印刷を実行する機器であり、図１に示すように、コントローラー２１、印刷実行部２４などを備える。コントローラー２１は、機器全体を制御する部分であり、特に、上記印刷指示を受けた場合には、印刷データの処理、印刷実行部２４への印刷指示等を実行する。また、上述した共通鍵交換処理を実行する。なお、コントローラー２１は、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＮＶＲＡＭ、ＡＳＩＣ、ＨＤＤ等で構成され、上記共通鍵交換処理は、上記ＲＯＭに記憶されたプログラムと当該プログラムに従った上記ＣＰＵの動作によって実行される。
【００２８】
印刷実行部２４は、コントローラー２１の指示に従って印刷媒体に対して印刷処理を実行する部分である。
【００２９】
また、プリンター２は、上述の通り、ホストコンピューター１と同じ内容の固定キーテーブル２２と共通鍵２３を保持している。固定キーテーブル２２は、上記ＲＯＭ又は上記ＨＤＤに収められ、共通鍵２３は上記ＮＶＲＡＭに記憶される。
【００３０】
なお、固定キーテーブル１２、２２は、予め、ホストコンピューター１及びプリンター２に記憶される。
【００３１】
以上説明したような構成を有する本共通鍵交換システム１００では、上述のとおり、共通鍵の交換処理に特徴があり、以下、その具体的な内容について説明する。図３は、共通鍵交換処理の手順を例示したフローチャートである。なお、ここでは、ホストコンピューター１側で処理を始動する場合について説明する。
【００３２】
まず、ホストコンピューター１の共通鍵交換ツール１１は、共通鍵を交換するタイミングになると、共通鍵の生成に用いる、上記固定キーテーブル１２に収められる固定キーの数を決定し、その後、その数の固定キーを固定キーテーブル１２から選択する（ステップＳ１）。上記固定キーの数と上記選択する固定キーは、乱数などを用いて任意に決定する。なお、上記固定キーテーブル１２に収められている固定キーの数を決定した後、その数の固定キーに対応するインデックス番号を固定キーテーブル１２から選択することにより、そのインデックス番号に対応する固定キーを固定キーテーブル１２から選択するようにしてもよい。
【００３３】
図４は、当該共通鍵交換処理の流れを説明するための図である。図４の（ａ）は、ホストコンピューター１側での処理を示しており、ここに示す例では、図２に例示した固定キーテーブル１２から、インデックス番号［２］、［６］、［１３］の３つの固定キーが選択される。
【００３４】
なお、共通鍵を交換するタイミングになったとの判断は、前回の交換から一定時間が経過した場合、前回の交換から所定回数の通信を行った場合、操作者によって交換を指示された場合などに行なわれる。
【００３５】
次に、共通鍵交換ツール１１は、上記選択した固定キーを用いて、予め定められた手法により、新たな共通鍵を生成し、その時点で保持していた共通鍵１３に代わって当該生成した共通鍵を上記ＨＤＤに保持する（ステップＳ２）。
【００３６】
図４の例では、上記予め定められた手法が、一例として、ＸＯＲ（Ｅｘｃｌｕｓｉｖｅ  ＯＲ）を用いた演算であり、図に示すように、まず、選択されたインデックス番号［２］の固定キーのデータと、インデックス番号［６］の固定キーのデータ間で、ＸＯＲ演算を行い、その結果得られたデータと、インデックス番号［１３］の固定キーのデータ間で、再度ＸＯＲ演算を行い、その結果得られるデータを新たな共通鍵１３とする。なお、演算手法は、様々なものを採用することができ、例えば、上記選択された固定キーのデータをハッシュ値にし、そのデータを共通鍵１３とする、といった手法を用いることもできる。また、上記ＸＯＲ演算を行った後のデータをハッシュ値にし、そのデータを共通鍵１３とする、といった手法を用いることもできる。
【００３７】
次に、共通鍵交換ツール１１は、上記選択した固定キーの各インデックス番号のみをプリンター２へ送信する（ステップＳ３）。すなわち、固定キー自体は送信しない。図４の例では、図示されるように、選択された固定キーに対応するインデックス番号［２］、［６］、［１３］の情報がプリンター２へ送信される。
【００３８】
なお、上記共通鍵１３の生成処理（Ｓ２）とインデックス番号の送信処理（Ｓ３）は、順番が逆であっても構わない。
【００３９】
プリンター２のコントローラー２１は、上記送信されたインデックス情報を受信し、固定キーテーブル２２において、それらインデックス番号に対応して収められている固定キーを固定キーテーブル２２から取得する（ステップＳ４）。図４の例では、図４の（ｂ）にプリンター２側の処理について示され、インデックス番号［２］、［６］、［１３］にそれぞれ対応する固定キーが取得される。
【００４０】
その後、コントローラー２１は、上記取得した固定キーを用いて、予め定められた手法により、新たな共通鍵を生成し、その時点で保持していた共通鍵２３に代わって当該生成した共通鍵を上記ＮＶＲＡＭに保持する（ステップＳ５）。ここで用いられる、予め定められた手法は、上記ホストコンピューター１で共通鍵１３を生成した際に用いたものと同じである。従って、図４に示す例では、インデックス番号［２］、［６］、［１３］に対応する固定キーに対して、同様のＸＯＲ演算がなされ、共通鍵２３が生成される。
【００４１】
ここで生成された共通鍵２３は、ホストコンピューター１側で生成された共通鍵１３の場合と同じ固定キーと同じ手法を用いているので、共通鍵１３と同じデータとなる。
【００４２】
このようにして、新たな共通鍵の交換処理がなされ、以降、新たな共通鍵が生成されるまで、当該保持された共通鍵１３、２３がホストコンピューター１とプリンター２の間の通信に用いられる。そして、共通鍵を交換するタイミングに至れば、再度同様の処理がなされる。
【００４３】
なお、上述の実施形態では、共通鍵を生成する手法が１つに定められていたが、その手法が複数用意されており、ホストコンピューター１が共通鍵を生成する際に、その中から任意の一つを選択して用いるようにしてもよい。この場合には、選択された手法を識別するための情報を上記インデックス情報と共にプリンター２側へ送信し、プリンター２は、当該識別情報から対応する手法を決定して、その手法により共通鍵を生成する。
【００４４】
また、その具体例として、ホストコンピューター１とプリンター２が、固定キーテーブル１２、２２と同様に、共通の演算テーブルなるものを予め記憶しておいてもよい。この演算テーブルには、それぞれインデックス情報（識別情報）が付された、複数の演算手法が格納される。ホストコンピューター１は、当該演算テーブルの中から演算手法を選択して使用し、それに付されるインデックス情報をプリンター２へ送信する。プリンター２は、送信されたインデックス情報に対応する演算手法を、自らが保持する演算テーブルから取得して使用する。
【００４５】
また、上記実施形態では、２機器間における共通鍵の交換であったが、３以上の機器間においても同様に共通鍵の交換を行うことができる。この場合、通信を行う全ての機器が、共通の上記固定キーテーブルを保持し、交換処理を始動する機器は、選択したインデックス情報を他の全ての機器に送信し、当該送信を受けた機器では、上記プリンター２での処理と同様の処理を行う、ようにすることで共通鍵の交換を行うことができる。
【００４６】
また、上記実施形態では、ホストコンピューター１が交換処理を始動したが、プリンター２で交換処理を始動するようにしてもよい。この場合、ホストコンピューター１とプリンター２の処理を上述の内容と入れ替えて実施することになる。また、上述のように、３以上の機器間で交換処理をする場合には、どの機器が処理を始動しても構わない。すなわち、この場合には、どの機器も、上記ホストコンピューター１が行う処理と上記プリンター２が行う処理の両方を実行できる機能を備えている。
【００４７】
以上説明したように、本実施の形態例及びその変形に係る共通鍵交換システム１００では、共通鍵を交換する際に、新たな共通鍵を生成するためのデータ自身は通信されずに、それらのインデックス情報が通信されるので、各機器が保持する固定キーテーブルが秘密に保持される限り、安全な交換処理を行うことができる。また、交換処理は、上述のように、複雑なものではなく、各機器における処理負荷を抑えることができる。
【００４８】
また、上述のように、演算手法を複数用意することで、更に安全性が向上する。
【００４９】
なお、上記実施形態では、通信する機器がホストコンピューターとプリンターであったが、これらに限定されることなく、通信可能な機器に対して本発明を適用することができる。
【００５０】
本発明の保護範囲は、上記の実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
【符号の説明】
【００５１】
１  ホストコンピューター、  ２  プリンター、  ３  ネットワーク、  １１  共通鍵交換ツール、  １２  固定キーテーブル（固定鍵テーブル）、  １３  共通鍵、  ２１  コントローラー、  ２２  固定キーテーブル（固定鍵テーブル）、  ２３  共通鍵、  ２４  印刷実行部
【図１】
2012147341.tif 000003
【図２】
2012147341.tif 000004
【図３】
2012147341.tif 000005
【図４】
2012147341.tif 000006