(57)【要約】      （修正有）【課題】第三者に共通鍵を知られるリスクが低く、知られたとしても局所的な被害に留める。【解決手段】インデックス付の暗号キーテーブルを格納する暗号キー格納部と、機器固有の暗号鍵を予め格納する自己固有キー格納部と、相手側機器の固有キーを格納する外部固有キー格納部と、自己固有キーを相手側機器に提供し、相手側機器から固有キーを受領して格納する暗号キー共有処理部と、暗号キーテーブルの１以上の共通鍵と自己固有キー格納部または格納された固有キーとを使用して暗号化データを生成する暗号化部と、共通鍵のインデックスと暗号化データとを送信する送信部と、相手側機器で受信する受信部と、復号鍵取得部は受信したインデックスで前記暗号キー格納部を参照して共通鍵を取得し、外部固有キー格納部または前記自己固有キー格納部を参照して固有キーを取得し取得された共通鍵、固有キーで受信した暗号化データを復号化する復号化部とを備える。【選択図】図４
2015033082.tif 000002
【特許請求の範囲】
【請求項１】
暗号処理に用いる複数の共通鍵をインデックス付の暗号キーテーブルとして格納する暗号キー格納部と、
機器に固有の暗号鍵を自己の固有キーとして予め格納する自己固有キー格納部と、
相手側機器の固有キーを受領したとき、受領した固有キーを格納する外部固有キー格納部と、
自己固有キー格納部に格納された固有キーを相手側機器に提供しまたは相手側機器から固有キーを受領して外部固有キー格納部に格納する暗号キー共有処理部と、
前記暗号キー格納部に格納された暗号キーテーブルの１以上の共通鍵と前記自己固有キー格納部または前記外部固有キー格納部に格納された固有キーとを送信すべきデータに適用して暗号化し暗号化データを生成する暗号化部と、
暗号化に用いられた共通鍵のインデックスと前記暗号化データとを相手側機器へ送信する送信部と、
相手側機器で暗号化に用いられた共通鍵のインデックスと暗号化データとを相手側機器から受信する受信部と、
前記暗号キー格納部に格納された暗号キーテーブルの１以上の共通鍵と前記自己固有キー格納部または前記外部固有キー格納部に格納された固有キーとを取得する復号鍵取得部と、
取得された共通鍵および固有キーを適用して受信した暗号化データを復号化する復号化部とを備え、
前記復号鍵取得部は、受信したインデックスで前記暗号キー格納部を参照して共通鍵を取得し、前記外部固有キー格納部または前記自己固有キー格納部を参照して固有キーを取得することを特徴とする暗号処理装置。
【請求項２】
前記暗号化部は、前記暗号キー共有処理部が自己の固有キーを相手側機器に提供している場合は前記自己固有キー格納部に格納された固有キーを適用し、相手側機器の固有キーを受領して前記外部固有キー格納部に格納しているときは受領した固有キーを適用し、
前記復号鍵取得部は、相手側機器の固有キーを受領して前記外部固有キー格納部に格納しているときは受領した固有キーを取得し、前記暗号キー共有処理部が自己の固有キーを相手側機器に提供している場合は自己固有キー格納部に格納された固有キーを取得する請求項１に記載の暗号処理装置。
【請求項３】
前記暗号化部は、暗号キーテーブル内の一部かつ複数の共通鍵を暗号化に用い、暗号化に用いた共通鍵のインデックスを暗号化データの送信前にまたは暗号化データの送信と共に前記送信部に提供し、暗号化データを送信するにつれて暗号化に用いる共通鍵を変更する請求項１または２に記載の暗号処理装置。
【請求項４】
暗号キー共有の指示を受付ける指示受領部をさらに備え、
前記暗号キー共有処理部は、受付けた指示に応答して前記自己固有キー格納部に格納された固有キーを相手側機器に提供する請求項１〜３の何れか一つに記載の暗号処理装置。
【請求項５】
前記暗号キー共有処理部は、前記指示受領部が受付けた指示または相手側機器からの要求に応答して前記暗号キー格納部に格納された暗号キーテーブルを相手側機器に提供し、相手側機器から固有キーを受領したが前記暗号キー格納部に暗号キーテーブルが格納されていないとき、相手側機器に暗号キーテーブルを要求する請求項４に記載の暗号処理装置。
【請求項６】
少なくとも送信側機器および受信側機器からなり、
前記送信側機器は、
暗号処理に用いる複数の共通鍵をインデックス付の暗号キーテーブルとして格納する第１暗号キー格納部と、
機器に固有の暗号鍵を自己の固有キーとして予め格納する自己固有キー格納部と、
自己固有キー格納部に格納された固有キーを受信側機器に提供する第１暗号キー共有処理部と、
前記暗号キー格納部に格納された暗号キーテーブルの１以上の共通鍵と自己の固有キーとを送信すべきデータに適用して暗号化し暗号化データを生成する暗号化部と、
暗号化に用いられた共通鍵のインデックスと前記暗号化データとを受信側機器へ送信する送信部とを備え、
前記受信側機器は、
送信側機器と同じ暗号キーテーブルを格納する第２暗号キー格納部と、
送信側機器の固有キーを受領したとき、受領した固有キーを格納する外部固有キー格納部と、
送信側機器から固有キーを受領して外部固有キー格納部に格納する第２暗号キー共有処理部と、
送信側機器で暗号化に用いられた共通鍵のインデックスと暗号化データとを送信側機器から受信する受信部と、
前記暗号キー格納部に格納された暗号キーテーブルの１以上の共通鍵と送信側機器の固有キーとを取得する復号鍵取得部と、
取得された共通鍵および固有キーを適用して受信した暗号化データを復号化する復号化部とを備え、
前記暗号化部は、前記自己固有キー格納部に格納され第１暗号キー共有処理部が受信側機器に提供した固有キーを暗号化に適用し、
前記復号鍵取得部は、受信したインデックスで前記暗号キー格納部に格納された暗号キーテーブルを参照して共通鍵を取得し、第２暗号キー共有処理部が外部固有キー格納部に格納した固有キーを取得することを特徴とする暗号処理システム。
【請求項７】
少なくとも送信側機器および受信側機器からなり、
前記送信側機器は、
暗号処理に用いる複数の共通鍵をインデックス付の暗号キーテーブルとして格納する第１暗号キー格納部と、
受信側機器の固有キーを受領したとき、受領した固有キーを格納する外部固有キー格納部と、
受信側機器から固有キーを受領して外部固有キー格納部に格納する第１暗号キー共有処理部と、
前記暗号キー格納部に格納された暗号キーテーブルの１以上の共通鍵と受信側機器の固有キーとを送信すべきデータに適用して暗号化し暗号化データを生成する暗号化部と、
暗号化に用いられた共通鍵のインデックスと前記暗号化データとを受信側機器へ送信する送信部とを備え、
前記受信側機器は、
送信側機器と同じ暗号キーテーブルを格納する第２暗号キー格納部と、
機器に固有の暗号鍵を自己の固有キーとして予め格納する自己固有キー格納部と、
自己固有キー格納部に格納された固有キーを送信側機器に提供する第２暗号キー共有処理部と、
送信側機器で暗号化に用いられた共通鍵のインデックスと暗号化データとを送信側機器から受信する受信部と、
前記暗号キー格納部に格納された暗号キーテーブルの１以上の共通鍵と自己の固有キーとを取得する復号鍵取得部と、
取得された共通鍵および固有キーを適用して受信した暗号化データを復号化する復号化部とを備え、
前記暗号化部は、第１暗号キー共有処理部が外部固有キー格納部に格納した固有キーを暗号化に適用し、
前記復号鍵取得部は、受信したインデックスで前記暗号キー格納部に格納された暗号キーテーブルを参照して共通鍵を取得し、前記自己固有キー格納部に格納され第２暗号キー共有処理部が送信側機器に提供した固有キーを取得することを特徴とする暗号処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、暗号処理装置および暗号処理システムに関し、より詳細には複数の共通鍵を用いて暗号化および復号化を行う暗号処理装置および暗号処理システムに関する。
【背景技術】
【０００２】
第三者に傍受される可能性のある無線通信やインターネット通信においては、送信すべきデータを暗号化したうえで相手側機器に送信することで、第三者に通信の内容が漏れないようにしている。データの暗号化には大別して公開鍵方式と共通鍵方式とが知られている。この発明に関連するのは共通鍵方式である。
【０００３】
公開鍵方式は、受信側が公開鍵と秘密鍵を生成し、公開鍵は送信側が使用できるように公開し、受信側は秘密鍵を秘密裏に管理する。送信側は公開鍵を用いて暗号化処理をしたデータを送信し、受信側は秘密鍵を用いて受信データを復号化する。この方式は受信側が秘密鍵を秘密管理すれば第三者に通信の内容が漏れない。
【０００４】
これに対して共通鍵方式は、暗号鍵と呼ばれるデータを送信側および受信側の双方が第三者に知られないように共有し、その暗号鍵を使って暗号化や復号化を行う。共通鍵方式では、通信の相手先ごとに共有する共通鍵を決定しておく必要がある。なお、異なる相手に対し異なる共通鍵を用いてもよいし同じ共通鍵を用いてもよい。
【０００５】
一般に、共通鍵方式は公開鍵方式に比べて処理が軽く高速通信に向いている。ただし、暗号鍵を共有するためには例えば送信側から受信側へ暗号鍵を知らせる必要がある。そして、両者が暗号鍵を秘密管理する必要がある。不特定の相手とデータを送受するには公開鍵方式を用いるのが通常であるが、特定の相手とデータを送受する場合はいまでも共通鍵方式を採用することが多い。特定の相手とは、例えば同一企業の拠点間通信であったり、１以上の店舗の売り上げを管理するＰＯＳシステムにおける店舗内あるいは店舗間の通信であったりする。
【０００６】
共通鍵の秘密管理をより確実にするために、複数の暗号鍵容易しておき、暗号化処理に用いる暗号鍵を切換える手法が提案されている（例えば、特許文献１参照）。
【０００７】
特許文献１によれば、キーデータ（暗号鍵）を複数用意しておき、送信側および受信側のメモリに複数のキーデータからなるデータテーブルを記憶させておく。更に、通信開始時に送信側および受信側の一方は、暗号化処理に用いるキーデータを決定し、該キーデータがデータテーブルの何処にあるのかを示す位置データ（インデックス）を他方へ送信する。位置データを受信した他方は、受信した位置データを用いてデータテーブルからキーデータを選択する。その後、一連の通信が終了するまで、送信側および受信側の双方は、同じキーデータを用いた暗号化処理を行なう。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平９−１３４４１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
共通鍵方式は、第三者に知られることなく暗号鍵を知らせるために、暗号鍵は暗号化されたデータを通信する経路と別の経路または転送方法で相手側に転送する必要がある。また、一旦決めた暗号鍵を変更する場合は送信側と受信側で同期して変更する必要があり、変更は容易でない。
また、暗号キーを変更せずに長期間使い続けると暗号を解析される恐れがある。
【００１０】
特許文献１では、複数の暗号鍵が登録されたデータテーブルを参照するための位置データをやりとりすることで、暗号鍵自体はやりとりしないようにしている。しかし、一時に使用する暗号鍵は１つであるので、解読されやすい面がある。また、仮に暗号鍵が第三者に解読されたとすると、同じデータテーブルを用いた他の機器との通信も解読されてしまう。例えば、機器Ａと機器Ｂの通信に使用する暗号鍵のデータテーブルと同じものが、機器Ｃと機器Ｄの通信にも使用されている場合、機器Ａと機器Ｂの通信に用いる暗号鍵が解読されると、機器Ｃと機器Ｄの通信も解読されてしまう。
【００１１】
この発明は、以上のような事情を考慮してなされたものであって、第三者に共通鍵を知られるリスクが低く、仮に知られたとしても局所的な被害に留めることのできる暗号化処理の手法を提供するものである。
【課題を解決するための手段】
【００１２】
この発明は、暗号処理に用いる複数の共通鍵をインデックス付の暗号キーテーブルとして格納する暗号キー格納部と、機器に固有の暗号鍵を自己の固有キーとして予め格納する自己固有キー格納部と、相手側機器の固有キーを受領したとき、受領した固有キーを格納する外部固有キー格納部と、自己固有キー格納部に格納された固有キーを相手側機器に提供しまたは相手側機器から固有キーを受領して外部固有キー格納部に格納する暗号キー共有処理部と、前記暗号キー格納部に格納された暗号キーテーブルの１以上の共通鍵と前記自己固有キー格納部または前記外部固有キー格納部に格納された固有キーとを送信すべきデータに適用して暗号化し暗号化データを生成する暗号化部と、暗号化に用いられた共通鍵のインデックスと前記暗号化データとを相手側機器へ送信する送信部と、相手側機器で暗号化に用いられた共通鍵のインデックスと暗号化データとを相手側機器から受信する受信部と、前記暗号キー格納部に格納された暗号キーテーブルの１以上の共通鍵と前記自己固有キー格納部または前記外部固有キー格納部に格納された固有キーとを取得する復号鍵取得部と、取得された共通鍵および固有キーを適用して受信した暗号化データを復号化する復号化部とを備え、前記復号鍵取得部は、受信したインデックスで前記暗号キー格納部を参照して共通鍵を取得し、前記外部固有キー格納部または前記自己固有キー格納部を参照して固有キーを取得することを特徴とする暗号処理装置を提供する。
【００１３】
また、異なる観点からこの発明は、少なくとも送信側機器および受信側機器からなり、前記送信側機器は、暗号処理に用いる複数の共通鍵をインデックス付の暗号キーテーブルとして格納する第１暗号キー格納部と、機器に固有の暗号鍵を自己の固有キーとして予め格納する自己固有キー格納部と、自己固有キー格納部に格納された固有キーを受信側機器に提供する第１暗号キー共有処理部と、前記暗号キー格納部に格納された暗号キーテーブルの１以上の共通鍵と自己の固有キーとを送信すべきデータに適用して暗号化し暗号化データを生成する暗号化部と、暗号化に用いられた共通鍵のインデックスと前記暗号化データとを受信側機器へ送信する送信部とを備え、前記受信側機器は、送信側機器と同じ暗号キーテーブルを格納する第２暗号キー格納部と、送信側機器の固有キーを受領したとき、受領した固有キーを格納する外部固有キー格納部と、送信側機器から固有キーを受領して外部固有キー格納部に格納する第２暗号キー共有処理部と、送信側機器で暗号化に用いられた共通鍵のインデックスと暗号化データとを送信側機器から受信する受信部と、前記暗号キー格納部に格納された暗号キーテーブルの１以上の共通鍵と送信側機器の固有キーとを取得する復号鍵取得部と、取得された共通鍵および固有キーを適用して受信した暗号化データを復号化する復号化部とを備え、前記暗号化部は、前記自己固有キー格納部に格納され第１暗号キー共有処理部が受信側機器に提供した固有キーを暗号化に適用し、前記復号鍵取得部は、受信したインデックスで前記暗号キー格納部に格納された暗号キーテーブルを参照して共通鍵を取得し、第２暗号キー共有処理部が外部固有キー格納部に格納した固有キーを取得することを特徴とする暗号処理システムを提供する。
【００１４】
またこの発明は、少なくとも送信側機器および受信側機器からなり、前記送信側機器は、暗号処理に用いる複数の共通鍵をインデックス付の暗号キーテーブルとして格納する第１暗号キー格納部と、受信側機器の固有キーを受領したとき、受領した固有キーを格納する外部固有キー格納部と、受信側機器から固有キーを受領して外部固有キー格納部に格納する第１暗号キー共有処理部と、前記暗号キー格納部に格納された暗号キーテーブルの１以上の共通鍵と受信側機器の固有キーとを送信すべきデータに適用して暗号化し暗号化データを生成する暗号化部と、暗号化に用いられた共通鍵のインデックスと前記暗号化データとを受信側機器へ送信する送信部とを備え、前記受信側機器は、送信側機器と同じ暗号キーテーブルを格納する第２暗号キー格納部と、機器に固有の暗号鍵を自己の固有キーとして予め格納する自己固有キー格納部と、自己固有キー格納部に格納された固有キーを送信側機器に提供する第２暗号キー共有処理部と、送信側機器で暗号化に用いられた共通鍵のインデックスと暗号化データとを送信側機器から受信する受信部と、前記暗号キー格納部に格納された暗号キーテーブルの１以上の共通鍵と自己の固有キーとを取得する復号鍵取得部と、取得された共通鍵および固有キーを適用して受信した暗号化データを復号化する復号化部とを備え、前記暗号化部は、第１暗号キー共有処理部が外部固有キー格納部に格納した固有キーを暗号化に適用し、前記復号鍵取得部は、受信したインデックスで前記暗号キー格納部に格納された暗号キーテーブルを参照して共通鍵を取得し、前記自己固有キー格納部に格納され第２暗号キー共有処理部が送信側機器に提供した固有キーを取得することを特徴とする暗号処理システムを提供する。
【発明の効果】
【００１５】
この発明の暗号処理装置において、暗号化部は、第１暗号キー共有処理部が外部固有キー格納部に格納した固有キーを暗号化に適用し、復号鍵取得部は、受信したインデックスで前記暗号キー格納部に格納された暗号キーテーブルを参照して共通鍵を取得し、前記自己固有キー格納部に格納され第２暗号キー共有処理部が送信側機器に提供した固有キーを取得するので、共通鍵自身を相手側機器に送ることがなく、しかもインデックスを変えると暗号化および復号化に用いる共通鍵を変えることができる。よって、第三者に通信の内容を知られるリスクが低い。相手側機器は、暗号データの送信前にまたは暗号化データの送信と共に送信されるインデックスを用いて暗号キーテーブルを参照し復号化することができる。さらに、共通鍵だけでなく固有キーを用いて暗号化しているので、万一、第三者に暗号キーテーブルが知られたとしても他の固有キーを用いた通信の秘密は守られ、局所的な被害に留めることができる。
この発明の暗号処理システムも同様の効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】この発明の暗号処理装置の構成例を示すブロック図である。
【図２】実施の形態１における暗号化通信の構成を示す説明図である。
【図３】実施の形態１において送信側の暗号処理装置が平文データを送信するときの状態を示す説明図である。
【図４】実施の形態１において送信側が３ＤＥＳの暗号化処理を行う過程を示す説明図である。
【図５】実施の形態１において暗号データを通信する前の、受信側の受信暗号キーインデックス記憶部の一例を示す説明図である。
【図６】実施の形態１において受信側が３ＤＥＳの復号化処理を行う過程を示す説明図である。
【図７】実施の形態１において送信側の中央処理部が実行する処理を示すフローチャートである。
【図８】実施の形態１において受信側の中央処理部が実行する処理を示すフローチャートである。
【図９】実施の形態５において送信側の暗号処理装置が平文データを送信するときの状態を示す説明図である。
【図１０】実施の形態５において送信側が暗号化処理を行う過程を示す説明図である。
【図１１】実施の形態５において暗号データを通信する前の、受信側の受信暗号キーインデックス記憶部の一例を示す説明図である。
【図１２】実施の形態５において受信側が復号化処理を行う過程を示す説明図である。
【図１３】実施の形態５において送信側の中央処理部が実行する処理を示すフローチャートである。
【図１４】実施の形態５において受信側の中央処理部が実行する処理を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、図面を用いてこの発明をさらに詳述する。なお、以下の説明は、すべての点で例示であって、この発明を限定するものと解されるべきではない。
≪暗号処理装置の構成≫
【００１８】
図１は、この発明の暗号処理装置の構成例を示すブロック図である。暗号処理装置は、例えば、携帯通信端末や無線通信のアクセスポイント等の情報機器に搭載される。前記携帯通信端末は、一般の消費者が使用するスマートフォン、タブレット端末あるいはパーソナルコンピュータ等の情報処理機器でもよいが、業務用のＰＯＳシステムに用いられる専用端末であってもよい。あるいは、汎用のスマートフォン、タブレット端末あるいはパーソナルコンピュータに特定用途向けのアプリケーションを実装したものでもよい。
【００１９】
図１に示すように、この発明の暗号処理装置１１は、中央処理部１００、主記憶部２００、暗号キー格納部３００、指示受領部５００、通信部６００、外部固有キー格納部７００およびプログラム格納部８００を備える。なお、図１の各ブロックのカッコ内の数字はそのブロックの符号を示す。
【００２０】
中央処理部１００は、暗号化、復号化および通信に係る処理を実行するコンピュータである。また例えばこの暗号処理装置がＰＯＳ端末に搭載される場合、中央処理部１００は、暗号処理装置としての処理だけでなくＰＯＳ端末として他の処理を実行するものであってもよい。
【００２１】
主記憶２００は、中央処理部１００が実行する制御プログラムや暗号化処理に用いるデータを記憶する記憶装置である。ハードウェアとしては、ＤＤＲ３ＳＤＲＡＭをはじめとする各種ＲＡＭが適用可能である。暗号化処理に用いるデータとしては、第三者にもわかる暗号化前および復号化後の平文データやその平文データを暗号化した暗号データ、暗号化および復号化に用いる暗号キーのデータテーブルを参照するインデックスや機器固有の暗号キーである固有キーなどがある。ただし、暗号キーのデータテーブルである暗号キーテーブル３１０を格納する暗号キー格納部３００、自己に固有の暗号キーを格納する自己固有キー格納部４００および相手側機器の固有キーを受領したときに格納する外部固有キー格納部７００は、主記憶部２００と別に用意されている。なお、平文データの内容は文であってもよいがこれに限定されず数値、画像、音声等、通信可能なあらゆるデータを含む。
主記憶部２００は、図１に示すように以下の記憶領域を有している。
【００２２】
制御プログラム記憶部２１０は、プログラム格納部８００から転送され中央処理装置１００が実行する制御プログラムを格納する（図１に制御プログラム記憶部２１０として示す）。その制御プログラムは、例えば送信すべき平文データが格納された記憶領域（図１に送信平文記憶部２２０として示す）内の平文データを暗号化して暗号データを出力する暗号化部１２０の処理に係るプログラムである。なお、暗号化した平文データを格納する記憶領域を送信暗号文記憶部２３０として示している。さらに、制御プログラム記憶部２１０は、前記暗号データを送信相手に送信する送信部６１０の制御、暗号キーテーブル３１０を通信の相手側機器と共有する暗号キー共有処理部１１０としての機能、暗号データを受信する受信部６２０の制御、受信した暗号データの復号化用暗号キーを取得する復号鍵取得部１３０としての機能、取得した暗号キーを用いて暗号データを復号化する復号化部１４０としての機能に係る制御プログラムを格納する。なお、相手側機器から受信した暗号データを格納する記憶領域を受信暗号文記憶部２５０とし、その暗号データを復号化した平文データを格納する記憶領域を受信平文記憶部２４０として示している。
また、送信暗号キーインデックス記憶部２６０は、送信すべき平文データの暗号処理に使われる暗号キーテーブルの複数のインデックスを記憶している。
受信暗号キーインデックス記憶部２７０は、受信データの暗号処理に使われる暗号キーテーブルのインデックスを複数記憶している。
【００２３】
続いて、暗号キー格納部３００について説明する。暗号キー格納部３００は、暗号キーテーブル３１０を格納する。ハードウェアとしては、例えばＥＥＰＲＯＭ、フラッシュＲＯＭなどの不揮発性メモリやハードディスク装置が適用可能である。図１で、暗号キーテーブルは、ｍ個の暗号キー（ｍは２以上の自然数）がそれぞれ参照用に固有のインデックスを付されてなるデータテーブルである。暗号処理装置１１は、すべての相手側機器に対して一つの暗号キーテーブル３１０を用いて通信する。ｍが大きいほど適用される暗号キーのバリエーションが多いのでセキュリティーの面で好まし反面、暗号キーテーブル３１０の容量が大きくなる。異なる相手側機器に対して使用する暗号キーを異ならせることが極めて好ましい。
【００２４】
自己固有キー格納部４００は、機器固有の暗号キーである固有キーを格納する。即ち、暗号処理装置１１に固有の暗号キーである。例えば工場で生産されるときに、それぞれの機器で異なる固有キーがそれぞれの暗号処理装置１１の自己固有キー格納部４００に書き込まれる。書込みは、例えば、第三者が傍受できないように電磁シールドされた部屋で無線によるデータ転送を行う。あるいは、無線通信を使わず、有線やメモリカードでデータ転送を行う。
自己固有キー格納部４００のハードウェアとしては、例えばＥＥＰＲＯＭ、フラッシュＲＯＭなどの不揮発性メモリやハードディスク装置が適用可能である。
【００２５】
指示受領部５００は、操作者や外部の機器が暗号処理装置１１に与える指示送信指示や暗号キー共有の指示などを受付ける。具体例としては、ユーザからの操作を受付けるタッチパネルやキーなどであってもよい。また、例えばこの暗号処理装置がＰＯＳ端末に搭載される場合、暗号処理に関する指示を受付けるだけでなくＰＯＳ端末としての入力を受付けてもよい。また、指示受領部５００は、外部の機器と通信して暗号キー共有の指示などの指示を受付けるものであってもよい。
【００２６】
通信部６００は、外部の機器と通信する回路である。通信の形態は無線、有線、公衆、専用線を問わない。通信部は、送信部６１０と受信部６２０を含む。なお、通信の相手側機器は、図１と同じ構成、仕様の通信部を有するものとする。
【００２７】
外部固有キー格納部７００は、相手側機器から受領した固有キーを格納する。複数の相手側機器から固有キーを受領することがあるので、外部固有キー格納部７００は複数の固有キーを格納し得る。
外部固有キーは、例えば工場で１セットの通信端末等として生産されるときに、異なる機器の固有キーがそれぞれの外部固有キー格納部７００に書き込まれる。書込みは、例えば、第三者が傍受できないように電磁シールドされた部屋で無線によるデータ転送を行う。あるいは、無線通信を使わず、有線やメモリカードでデータ転送を行う。また、工場出荷後に、ユーザあるいはサービスエンジニアが、有線やメモリカードでデータ転送を行ってもよい。
外部固有キー格納部７００のハードウェアとしては、例えばＥＥＰＲＯＭ、フラッシュＲＯＭなどの不揮発性メモリやハードディスク装置が適用可能である。
【００２８】
プログラム格納部８００は、中央処理部１００実行すべき制御プログラムを予め格納する。この実施形態では、電源投入後の初期化処理でプログラム格納部８００に格納された制御プログラムの全部または一部は、より高速アクセス可能な制御プログラム記憶部２１０に転送され、中央処理部１００により実行される。ハードウェアとしては、例えばＲＯＭ、フラッシュＲＯＭやハードディスク装置などが適用可能である。
【００２９】
（実施の形態１）
【００３０】
この実施形態では、３つの共通鍵を用いて暗号化および復号化を行う３ＤＥＳ（Data Encryption Standard）暗号化方式を例に、この発明の暗号処理装置、暗号処理システムによる暗号化通信の手順を説明する。
【００３１】
３ＤＥＳは、その元になったＤＥＳの処理を３回繰り返すことにより暗号強度を高めた方式であって、それぞれの回で異なる鍵を使用することもあるが、２つの異なる鍵を使用することもある。暗号化のサブプロセスとして暗号化→復号化→暗号化の処理を行い、復号化はそれと逆の復号化→暗号化→復号化のサブプロセスを実行する。
【００３２】
図２は、この実施形態における暗号化通信の構成を示す説明図である。図２に示すように、送信側の暗号処理装置１１Ｔは、図１の構成を有する暗号化処理装置であり、受信側の暗号処理装置１１Ｒも図１の構成を有する暗号化処理装置である。即ち、図１の構成を有する２台の暗号化処理装置の間で暗号化通信が行われる。これは、この発明の暗号化処理システムに対応している。
【００３３】
図３は、この実施形態において送信側の暗号処理装置１１Ｔが平文データを送信するときの状態を示す説明図である。図３に示す各ブロックの符号は図１に対応する番号の後に送信側機器であることを示す添え字のＴを付したものである。主記憶部２００Ｔの送信平文記憶部２２０Ｔには、送信すべき平文データの一例として、文字列“I want you, I need you, I love you”が格納されている。さらに、送信暗号キーインデックス記憶部２６０Ｔに１〜ｋのｋ個の数値が格納されている。また、暗号キー格納部３００Ｔには、ｍ個の暗号キーを有する暗号キーテーブル３１０Ｔが格納されている。さらに、自己固有キー格納部４００Ｔには、自己の固有キーが予め格納されている。なお、外部固有キー格納部７００Ｔは、受信側の暗号処理装置１１Ｒの固有キーを受領している場合にその固有キーを格納している。
例えば１セットの暗号処理装置１１が生産されるときに、異なる機器の固有キーがそれぞれの外部固有キー格納部７００に書き込まれたり、事後的にユーザやサービスエンジニアが外部の機器の固有キーを外部固有キー格納部７００に書き込んだりする。書込みは、例えば、第三者が傍受できないように電磁シールドされた部屋で無線通信により行われ、あるいは、有線やメモリカードで行われる。
【００３４】
図４は、この実施形態において送信側が３ＤＥＳの暗号化処理を行う過程を示す説明図である。前述のように、３ＤＥＳは暗号化のサブプロセスとして暗号化→復号化→暗号化の３回の処理を行うところ、図４（ａ）、（ｂ）、（ｃ）はそれぞれ、１回目、２回目、３回目の処理の後に送信暗号文記憶部２３０Ｔに格納されるデータの一例を示している。
【００３５】
１回目の処理で、送信側の暗号処理装置１１Ｔの送信暗号キーインデックス記憶部２６０Ｔの１番目のインデックスが「１１」である（図３参照）。よって、送信平文記憶部２２０Ｔに格納された平文データが暗号キーテーブル３１０Ｔの１１番目の暗号キーで暗号化され、送信暗号文記憶部２３０Ｔに格納される。
【００３６】
２回目の処理で、送信暗号文記憶部２３０Ｔの内容が、さらに自己固有キー格納部４００Ｔに格納された固有キーで復号化されて、再び送信暗号文記憶部２３０Ｔに格納される。
【００３７】
３回目の処理で、送信暗号キーインデックス記憶部２６０Ｔの２番目のインデックスが「２１」である（図３参照）。よって、送信暗号文記憶部２３０Ｔに格納された暗号データが暗号キーテーブル３１０Ｔの２１番目の暗号キーで暗号化され、再び送信暗号文記憶部２３０Ｔに格納される。
【００３８】
図５は、この実施形態において暗号データを通信する前に、受信側の暗号処理装置１１Ｒが送信側の暗号処理装置１１Ｔから受信して受信暗号キーインデックス記憶部２７０Ｒに格納される暗号キーインデックスの一例を示す説明図である。この受信によって、送信側の暗号処理装置１１Ｔの送信暗号キーインデックス記憶部２６０Ｔに格納される暗号キーインデックスと受信暗号キーインデックス記憶部２７０Ｒに格納される暗号キーインデックスが一致する。
【００３９】
図６は、この実施形態において受信側が３ＤＥＳの復号化処理を行う過程を示す説明図である。前述のように、復号化のサブプロセスは暗号化の逆で、復号化→暗号化→復号化の３回の処理を行う。図６（ａ）、（ｂ）はそれぞれ、１回目、２回目の処理の後に受信暗号文記憶部２３０Ｒに格納されるデータの一例を示している。図６（ｃ）は、３回目の処理の後に受信平文記憶部２４０Ｒに格納されるデータの一例を示している。そして、これらのデータは、図４（ｃ）、（ｂ）、（ａ）のデータに対応している。
【００４０】
１回目の処理で、受信側の暗号処理装置１１Ｒの受信暗号キーインデックス記憶部２７０Ｒの２番目のインデックスが「２１」である（図５参照）。よって、受信暗号文記憶部２５０Ｒに格納された暗号データが暗号キーテーブル３１０Ｒの２１番目の暗号キーで復号化され、受信暗号文記憶部２５０Ｒに再度格納される。
【００４１】
２回目の処理で、受信暗号文記憶部２５０Ｒの内容が、さらに外部固有キー格納部７００Ｒに格納された固有キーで暗号化されて、再び受信暗号文記憶部２５０Ｒに格納される。なお、外部固有キー格納部７００Ｒには、前もって送信側の暗号処理装置１１Ｔの固有キーが提供されて格納されているものとする。
【００４２】
３回目の処理で、受信暗号キーインデックス記憶部２７０Ｒの１番目のインデックスが「１１」である（図５参照）。よって、受信暗号文記憶部２５０Ｒに格納された暗号データが暗号キーテーブル３１０Ｒの１１番目の暗号キーで復号化され、受信平文記憶部２４０Ｒに格納される。
≪フローチャート≫
【００４３】
図７および図８は、この実施形態において中央処理部１００が実行する処理の流れを示すフローチャートである。図７は、この実施形態において送信側の暗号処理装置１１Ｔの中央処理部１００Ｔが実行する処理を示している。図８は、この実施形態において受信側の暗号処理装置１１Ｒの中央処理部１００Ｒが実行する処理を示している。以下、フローチャートに沿って処理を説明する。
【００４４】
図７で、送信側の中央処理部１００Ｔは、マルチタスク環境下で実行される送信処理のタスクとして、指示受領部５００が送信指示を受付けるのを待って（ステップＳ１１）待機する（ステップＳ１１のＮｏのループ）。
【００４５】
送信指示を受付けたら（ステップＳ１１のＹｅｓ）、中央処理部１００Ｔは、送信暗号キーインデックス記憶部２６０Ｔの内容を受信側へ送信する（ステップＳ１３）。
【００４６】
続いて中央処理部１００Ｔは、１回目の暗号化のサブプロセスを実行する。即ち、送信暗号キーインデックス記憶部の１番目の内容が示す暗号キーテーブルの暗号キーで送信平文記憶部２２０Ｔの内容を暗号化して送信暗号文記憶部２３０Ｔに格納する（ステップＳ１５、図４（ａ）に対応）。
【００４７】
さらに、２回目の暗号化のサブプロセスを実行する。即ち、自己固有キー格納部４００に格納された自己の固有キーで送信暗号文記憶部２３０Ｔの内容を復号化し、再び送信暗号文記憶部２３０Ｔに格納する（ステップＳ１７、図４（ｂ）に対応）。
【００４８】
最後に、３回目の暗号化のサブプロセスを実行する。即ち、送信暗号キーインデックス記憶部２６０Ｔの２番目の内容が示す暗号キーテーブルの暗号キーで送信暗号文記憶部２３０Ｔの内容を暗号化して再び送信暗号文記憶部２３０Ｔに格納する（ステップＳ１９）。
そして、受信側の暗号処理装置１１Ｒへ送信暗号文記憶部２３０Ｔの暗号データを送信する（ステップＳ２１）。
その後、ルーチンはステップＳ１１へ戻り、次の送信の指示を待つ。以上が、送信側の中央処理部１００Ｔの処理である。
続いて、受信側の中央処理部１００Ｒが実行する処理を説明する。
【００４９】
図８で、受信側の中央処理部１００Ｒは、マルチタスク環境下で実行される送信処理のタスクとして、送信側の暗号処理装置１１Ｔから暗号キーインデックスが送られてくるのを待って（ステップＳ３１）待機する（ステップＳ３１のＮｏのループ）。
【００５０】
暗号キーインデックスを受信したら（ステップＳ３１のＹｅｓ）、中央処理部１００Ｒは、受信した暗号キーインデックスを受信暗号キーインデックス記憶部２７０Ｒに格納する。
その後、中央処理部１００Ｒは、送信側から暗号データが送られてくるのを待って（ステップＳ３５）待機する（ステップＳ３５のＮｏのループ）。
暗号データを受信したら、受信した暗号データを受信暗号文記憶部２５０Ｒに格納する（ステップＳ３７、図６（ａ）に対応）。
【００５１】
続いて中央処理部１００Ｔは、１回目の復号化のサブプロセスを実行する。即ち、受信暗号キーインデックス記憶部２７０Ｒの２番目の内容が示す暗号キーテーブルの暗号キーで受信暗号文記憶部２５０Ｒの内容を復号化して受信暗号文記憶部２５０Ｒに再び格納する（ステップＳ３９、図６（ｂ）に対応）。
【００５２】
さらに、２回目の復号化のサブプロセスを実行する。即ち、外部固有キー格納部７００に前もって格納された送信側の暗号処理装置１１Ｔの固有キーで受信暗号文記憶部２５０Ｒの内容を暗号化し、再び受信暗号文記憶部２５０Ｒに格納する（ステップＳ４１、図６（ｃ）に対応）。
【００５３】
最後に、３回目の暗号化のサブプロセスを実行する。即ち、受信暗号キーインデックス記憶部２７０Ｒの１番目の内容が示す暗号キーテーブルの暗号キーで受信暗号文記憶部２５０Ｒの内容を暗号化して受信平文記憶部２４０Ｒに格納する（ステップＳ４３、図６（ｄ）に対応）。
その後、ルーチンはステップＳ３１へ戻り、次の暗号キーインデックスの受信を待つ。以上が、受信側の中央処理部１００Ｒの処理である。
【００５４】
（実施の形態２）
【００５５】
実施の形態１では、暗号化および復号化の第１回目のサブプロセスと第３回目のサブプロセスとで異なる暗号キー、即ちインデックスを用いたが、同じ暗号キーを用いてもよい。ただし、３ＤＥＳの第１回目のサブプロセスと第２回目のサブプロセスは異なる暗号キーを用いる。
（実施の形態３）
【００５６】
実施の形態１では、暗号データと共に暗号キーインデックスを送信し、暗号キーインデックスを参照する毎に、何番目のインデックスを用いるかをインクリメントしている。例えば、送信暗号キーインデックス記憶部２６０Ｔの第１回目の参照の際は、第１番目に登録されているインデックス「１１」を用い、第２回目の参照の際は、第２番目に登録されているインデックス「２１」を用い、以下、順次参照先をシフトさせていく態様である。これに代えて、インデックスの「１１」や「２１」を暗号データと共に送信するようにしてもよい。そのようにしても、暗号キーをやりとりするのではないから通信の安全は確保される。
（実施の形態４）
【００５７】
実施の形態３では暗号データを送信する毎に異なるインデックスを送信する態様を考えているが、さらなる変形例として、時間の経過や通信回数あるいは通信量が予め定められた基準に達したらインデックスを変更する態様も考えられる。その場合、前回とインデックスの変更がなければ前回と同じインデックスを暗号データと共にまたは暗号データと前後して送信してもよいが、通信量が増えて無駄とも考えられる。そこで、インデックスを変更するまでは既に送信されたインデックスを用いて暗号化処理を行うようにしてもよい。これに対応して相手側は、既に受信したインデックスを用いて復号化処理を行う。初回の通信でインデックスを送信し、その後はインデックスを変更する時期がきたら、新たなインデックスを送信する態様である。
（実施の形態５）
【００５８】
実施の形態１は、３ＤＥＳ暗号化方式を例としている。しかし、この発明は３ＤＥＳに限定されるものでなく、暗号化、復号化に複数の共通鍵を用いる暗号化通信であれば適用可能である。この実施形態では、３ＤＥＳと異なる暗号化方式の一例として、暗号キーテーブルの一部の暗号キーとしてｎ個の暗号キーを用い、さらに１つの固有キーを用いる態
様を説明する。
図９は、この実施形態において送信側の暗号処理装置が平文データを送信するときの状態を示す説明図である。
図１０は、この実施形態において送信側が暗号化処理を行う過程を示す説明図である。
図１１は、この実施形態において暗号データを通信する前の、受信側の受信暗号キーインデックス記憶部の一例を示す説明図である。
図１２は、この実施形態において受信側が復号化処理を行う過程を示す説明図である。
以下、図９〜１２を参照して、実施の形態１と同様と異なる点を中心に説明する。
図９は、実施の形態１に係る図３と対応するので自明であり説明は省略する。
【００５９】
図１０は、実施の形態１に係る図４に対応するものである。図１０（ａ）は暗号キーインデックスの１番目のインデックス「１１」を用い、暗号キーテーブル３１０Ｔの１１番目の暗号キーで暗号化することを示している。図１０（ｂ）は、暗号キーインデックスの２番目のインデックス「２１」を用い、暗号キーテーブル３１０Ｔの２１番目の暗号キーで暗号化することを示している。以下、ｎ回目間まで同様の処理を繰り返す。図１０（ｃ）は、暗号キーインデックスのｎ番目のインデックス「３」を用い、暗号キーテーブル３１０Ｔの３番目の暗号キーで暗号化することを示している。図１０（ｄ）は、自己の固有キーを用いて暗号化することを示している。
図１１は、実施の形態１に係る図５に対応するので自明であり説明は省略する。
【００６０】
図１２は、実施の形態１に係る図６に対応するものである。また、図１０に示す暗号化処理と逆の復号化の処理を示す。図１２（ａ）は、受信した暗号データを示している。図１２（ｂ）は、送信側の固有キーを用いて復号化することを示している。図１２（ｃ）は、暗号キーインデックスのｎ番目のインデックス「３」を取得し、暗号キーテーブル３１０Ｔの３番目の暗号キーで復号化することを示している。図１２（ｄ）は、暗号キーインデックスの２番目のインデックス「２１」を取得し、暗号キーテーブル３１０Ｔの２１番目の暗号キーで復号化することを示している。図１２（ｅ）は、暗号キーインデックスの１番目のインデックス「１１」を取得し、暗号キーテーブル３１０Ｔの１１番目の暗号キーで復号化することを示している。
【００６１】
図１３は、この実施形態において送信側の中央処理部が実行する処理を示すフローチャートである。ステップＳ５５は、図１０（ａ）に対応し、ステップＳ５７は図１０（ｂ）に対応し、ステップＳ６１は、図１０（ｃ）に対応し、ステップＳ６３は、図１０（ｄ）に対応する。
【００６２】
図１４は、この実施形態において受信側の中央処理部が実行する処理を示すフローチャートである。ステップＳ７３は、図１１に対応し、ステップＳ７７、Ｓ７９、Ｓ８１、Ｓ９１およびＳ９３は、それぞれ図１２（ａ）、（ｂ）、（ｃ）、（ｄ）および（ｅ）にそれぞれ対応する。
（その他の変形例）
【００６３】
実施の形態５では、１〜ｎ回目の暗号化は暗号キーテーブルの暗号キーを用いた後ｎ＋１回目に固有キーで暗号化する例を説明したが、固有キーは何番目に用いてもよい。（実施の形態６）
さらに、通信側と受信側が固有キーを互いに提供したうえで、両者の固有キーをいずれも用いる態様も考えられる。（実施の形態７）
【００６４】
以上に述べたように、
【００６５】
（ｉ）この発明による暗号処理装置は、暗号処理に用いる複数の共通鍵をインデックス付の暗号キーテーブルとして格納する暗号キー格納部と、機器に固有の暗号鍵を自己の固有キーとして予め格納する自己固有キー格納部と、相手側機器の固有キーを受領したとき、受領した固有キーを格納する外部固有キー格納部と、自己固有キー格納部に格納された固有キーを相手側機器に提供しまたは相手側機器から固有キーを受領して外部固有キー格納部に格納する暗号キー共有処理部と、前記暗号キー格納部に格納された暗号キーテーブルの１以上の共通鍵と前記自己固有キー格納部または前記外部固有キー格納部に格納された固有キーとを送信すべきデータに適用して暗号化し暗号化データを生成する暗号化部と、暗号化に用いられた共通鍵のインデックスと前記暗号化データとを相手側機器へ送信する送信部と、相手側機器で暗号化に用いられた共通鍵のインデックスと暗号化データとを相手側機器から受信する受信部と、前記暗号キー格納部に格納された暗号キーテーブルの１以上の共通鍵と前記自己固有キー格納部または前記外部固有キー格納部に格納された固有キーとを取得する復号鍵取得部と、取得された共通鍵および固有キーを適用して受信した暗号化データを復号化する復号化部とを備え、前記復号鍵取得部は、受信したインデックスで前記暗号キー格納部を参照して共通鍵を取得し、前記外部固有キー格納部または前記自己固有キー格納部を参照して固有キーを取得することを特徴とする。
【００６６】
この発明において、相手側機器は、外部の機器である。相手側機器が自機器と同様の構成を有し同じ暗号キーテーブルを暗号キー格納部に格納していると考えれば、この発明の暗号処理の理解が容易になるであろう。
【００６７】
また、暗号キーテーブルは、複数の共通鍵が登録されたデータテーブルであって、各共通鍵には、参照用にそのデータテーブル中の位置を示す固有のインデックスが付されている。インデックスを用いてデータテーブルを参照することによりそのインデックスが示す共通鍵が取得できる。
【００６８】
固有キーは、それぞれの機器に固有の暗号鍵である。よって、自己の固有キーと相手側機器の固有キーとは異なる。なお、この発明では暗号キーテーブルに登録された共通鍵と区別し易いように便宜上「固有キー」と読んでいるが、暗号処理上は固有キーも共通鍵として用いられている。
【００６９】
この発明における暗号キー共有処理部は、前述の実施形態において中央処理部が予め定められた制御プログラムを実行することによりその機能が実現される。暗号キー共有処理部が、少なくとも自己の固有キーを相手側機器に提供するかまたは相手側機器の固有キーを受領して相手側機器と１つの固有キーを共有すれば、暗号化通信を行うことができる。また、相手側機器と固有キーを交換して２つの固有キーを共有してもよいが、その場合は送信側が自己の固有キーを用いて暗号化し受信側は送信側から受領した固有キーを用いて復号化するか、その逆にするかを予めルール決めしておく。
【００７０】
また、暗号化部、復号鍵取得部、復号化部は、前述の実施形態において中央処理部が予め定められた制御プログラムを実行することによりその機能が実現される。ただし、これらの機能がハードウェアで実現されてもよく、専用の処理部を用いて実現されてもよい。
【００７１】
さらに、この発明の好ましい態様について説明する。
【００７２】
（ii）前記暗号化部は、前記暗号キー共有処理部が自己の固有キーを相手側機器に提供している場合は前記自己固有キー格納部に格納された固有キーを適用し、相手側機器の固有キーを受領して前記外部固有キー格納部に格納しているときは受領した固有キーを適用し、前記復号鍵取得部は、相手側機器の固有キーを受領して前記外部固有キー格納部に格納しているときは受領した固有キーを取得し、前記暗号キー共有処理部が自己の固有キーを相手側機器に提供している場合は自己固有キー格納部に格納された固有キーを取得してもよい。
このようにすれば、暗号化を行う送信側と復号化を行う受信側とが共通の固有キーを用いて暗号化通信を行うことができる。
【００７３】
（iii）前記暗号化部は、暗号キーテーブル内の一部かつ複数の共通鍵を暗号化に用い、暗号化に用いた共通鍵のインデックスを暗号化データの送信前にまたは暗号化データの送信と共に前記送信部に提供し、暗号化データを送信するにつれて暗号化に用いる共通鍵を変更してもよい。
【００７４】
このようにすれば、送信するにつれてインデックスを変更して共通鍵を変更することができるので、第三者に通信の内容が解読されるリスクをより軽減することができる。
【００７５】
ここで、通信するにつれて選択を変更する態様としては、時間の経過に伴ってインデックスを変更することや、通信量あるいは通信回数に伴ってインデックスを変更することが考えられる。ただし、これらの態様に限定するものではない。
【００７６】
（iv）暗号キー共有の指示を受付ける指示受領部をさらに備え、前記暗号キー共有処理部は、受付けた指示に応答して前記自己固有キー格納部に格納された固有キーを相手側機器に提供してもよい。
【００７７】
このようにすれば、指示受領部が受付けた指示に応答して自己の固有キーを相手側機器に提供し暗号化通信の暗号キーとして用いることができる。また、指示に応答して自己の固有キーを相手側機器に提供したことを記憶しておくことにより、以後の相手側機器との通信の際に、自己の固有キーを用いた暗号化または復号化が可能であると判断できる。
指示受領部は、ユーザからの操作を受付けるタッチパネルやキーなどであってもよく、相手側機器や外部の機器と通信して指示を受領するものであってもよい。
【００７８】
（ｖ）前記暗号キー共有処理部は、前記指示受領部が受付けた指示または相手側機器からの要求に応答して前記暗号キー格納部に格納された暗号キーテーブルを相手側機器に提供し、相手側機器から固有キーを受領したが前記暗号キー格納部に暗号キーテーブルが格納されていないとき、相手側機器に暗号キーテーブルを要求してもよい。
【００７９】
このようにすれば、相手側機器と固有キーを相手側機器と共有する際に、暗号キーテーブルを相手側機器に提供しあるいは相手側機器から暗号キーテーブルを受領して共有することができる。
この発明の好ましい態様には、上述した複数の態様のうちの何れかを組み合わせたものも含まれる。
【００８０】
また、この発明による暗号処理システムは、
【００８１】
（vi）少なくとも送信側機器および受信側機器からなり、前記送信側機器は、暗号処理に用いる複数の共通鍵をインデックス付の暗号キーテーブルとして格納する第１暗号キー格納部と、機器に固有の暗号鍵を自己の固有キーとして予め格納する自己固有キー格納部と、自己固有キー格納部に格納された固有キーを受信側機器に提供する第１暗号キー共有処理部と、前記暗号キー格納部に格納された暗号キーテーブルの１以上の共通鍵と自己の固有キーとを送信すべきデータに適用して暗号化し暗号化データを生成する暗号化部と、暗号化に用いられた共通鍵のインデックスと前記暗号化データとを受信側機器へ送信する送信部とを備え、前記受信側機器は、送信側機器と同じ暗号キーテーブルを格納する第２暗号キー格納部と、送信側機器の固有キーを受領したとき、受領した固有キーを格納する外部固有キー格納部と、送信側機器から固有キーを受領して外部固有キー格納部に格納する第２暗号キー共有処理部と、送信側機器で暗号化に用いられた共通鍵のインデックスと暗号化データとを送信側機器から受信する受信部と、前記暗号キー格納部に格納された暗号キーテーブルの１以上の共通鍵と送信側機器の固有キーとを取得する復号鍵取得部と、取得された共通鍵および固有キーを適用して受信した暗号化データを復号化する復号化部とを備え、前記暗号化部は、前記自己固有キー格納部に格納され第１暗号キー共有処理部が受信側機器に提供した固有キーを暗号化に適用し、前記復号鍵取得部は、受信したインデックスで前記暗号キー格納部に格納された暗号キーテーブルを参照して共通鍵を取得し、第２暗号キー共有処理部が外部固有キー格納部に格納した固有キーを取得することを特徴とする。
異なる態様によれば、
【００８２】
（vii）少なくとも送信側機器および受信側機器からなり、前記送信側機器は、暗号処理に用いる複数の共通鍵をインデックス付の暗号キーテーブルとして格納する第１暗号キー格納部と、受信側機器の固有キーを受領したとき、受領した固有キーを格納する外部固有キー格納部と、受信側機器から固有キーを受領して外部固有キー格納部に格納する第１暗号キー共有処理部と、前記暗号キー格納部に格納された暗号キーテーブルの１以上の共通鍵と受信側機器の固有キーとを送信すべきデータに適用して暗号化し暗号化データを生成する暗号化部と、暗号化に用いられた共通鍵のインデックスと前記暗号化データとを受信側機器へ送信する送信部とを備え、前記受信側機器は、送信側機器と同じ暗号キーテーブルを格納する第２暗号キー格納部と、機器に固有の暗号鍵を自己の固有キーとして予め格納する自己固有キー格納部と、自己固有キー格納部に格納された固有キーを送信側機器に提供する第２暗号キー共有処理部と、送信側機器で暗号化に用いられた共通鍵のインデックスと暗号化データとを送信側機器から受信する受信部と、前記暗号キー格納部に格納された暗号キーテーブルの１以上の共通鍵と自己の固有キーとを取得する復号鍵取得部と、取得された共通鍵および固有キーを適用して受信した暗号化データを復号化する復号化部とを備え、前記暗号化部は、第１暗号キー共有処理部が外部固有キー格納部に格納した固有キーを暗号化に適用し、前記復号鍵取得部は、受信したインデックスで前記暗号キー格納部に格納された暗号キーテーブルを参照して共通鍵を取得し、前記自己固有キー格納部に格納され第２暗号キー共有処理部が送信側機器に提供した固有キーを取得することを特徴とする。
この発明の暗号処理システムに、上述した好ましい態様の何れかを組み合わせたものもこの発明の範囲に含まれる。
【００８３】
前述した実施の形態の他にも、この発明について種々の変形例があり得る。それらの変形例は、この発明の範囲に属さないと解されるべきものではない。この発明には、請求の範囲と均等の意味および前記範囲内でのすべての変形とが含まれるべきである。
【符号の説明】
【００８４】
１１、１１Ｔ、１１Ｒ：暗号処理装置、    １００、１００Ｔ、１００Ｒ：中央処理部、    １１０：暗号キー共有処理部、    １２０：暗号化部、    １３０：復号鍵取得部、    １４０：復号化部、    ２００：主記憶部、    ２１０：制御プログラム記憶部、    ２２０、２２０Ｔ：送信平文記憶部、    ２３０、２３０Ｔ：送信暗号文記憶部、    ２４０、２４０Ｒ：受信平文記憶部、    ２５０、２５０Ｒ：受信暗号文記憶部、    ２６０、２６０Ｔ：送信暗号キーインデックス記憶部、    ２７０、２７０Ｒ：受信暗号キーインデックス記憶部、    ３００、３００Ｔ：暗号キー格納部、    ３１０、３１０Ｔ、３１０Ｒ：暗号キーテーブル、    ４００、４００Ｔ：自己固有キー格納部、    ５００：指示受領部、    ６００：通信部、    ６１０：送信部、    ６２０：受信部、    ７００、７００Ｔ、７００Ｒ：外部固有キー格納部、    ８００：プログラム格納部
【図１】
2015033082.tif 000003
【図２】
2015033082.tif 000004
【図３】
2015033082.tif 000005
【図４】
2015033082.tif 000006
【図５】
2015033082.tif 000007
【図６】
2015033082.tif 000008
【図７】
2015033082.tif 000009
【図８】
2015033082.tif 000010
【図９】
2015033082.tif 000011
【図１０】
2015033082.tif 000012
【図１１】
2015033082.tif 000013
【図１２】
2015033082.tif 000014
【図１３】
2015033082.tif 000015
【図１４】
2015033082.tif 000016