(57)【要約】【課題】セキュリティモジュールを用いて生成した暗号文を、データを暗号化／復号する機能を所持していないコンピュータでも復号できるデータ授受システムを提供する。【解決手段】  データ暗号装置１は、暗号鍵を内部に秘匿に記憶し、データを暗号化する機能を備えたセキュリティモジュール１０の内部で、暗号化するデータである平文を定められたサイズのブロックに先頭から順に分割し、平文をブロック単位で暗号化する。データ復号装置２は、セキュリティモジュール１０で生成された暗号テーブルを記憶し、データ暗号装置１で生成された暗号文を平文と同じサイズのブロックに先頭から順に分割し、この暗号テーブルを参照して暗号文をブロック単位で復号することで、暗号文の平文を生成する。【選択図】図１
2008046164.tif 000002
【特許請求の範囲】
【請求項１】
データを授受するデータ授受方法であって、授受されるデータである平文を暗号化する第１の暗号鍵を、データを暗号化／復号する機能を備えたセキュリティモジュール用の第２の暗号鍵を用いて暗号化し、データを送信する側に設置される前記セキュリティモジュールに、暗号化した前記第１の暗号鍵を登録する暗号鍵登録工程と、前記セキュリティモジュールの内部で前記第１の暗号鍵を復号し、暗号化するデータである平文を定められたサイズのブロックに先頭から順に分割し、復号した前記第１の暗号鍵を用いて、前記平文をブロック単位で暗号化することで、前記平文の暗号文を生成し、データを受信する側に設置されるコンピュータに生成した前記暗号文を送信する暗号化工程と、前記セキュリティモジュールと同じ前記第１の暗号鍵を用いて生成された暗号テーブルを参照し、前記暗号文を前記平文と同じサイズのブロックに先頭から順に分割し、前記暗号文をブロック単位で復号することで、前記コンピュータが、受信した前記暗号文の前記平文を生成する復号工程とを含むことを特徴とするデータ授受方法。
【請求項２】
請求項１に記載のデータ授受方法であって、前記暗号鍵登録工程において、前記第１の暗号鍵に加え、文字の並び順の変更規則を記述した並び替えデータを前記第２の暗号鍵を用いて暗号化し、暗号化した前記並び替えデータを前記セキュリティモジュールに登録し、前記暗号化工程では、前記セキュリティモジュールの内部で、前記平文を暗号化する前に、文字の並び順の変更規則を記述した並び替えデータを利用して、前記平文に含まれる各々の文字の並び順を変更するスクランブル処理を実行し、前記復号工程では、前記コンピュータの内部で、前記暗号テーブルを利用して前記暗号文を復号した後に、前記並び替えデータを利用して、復号した前記暗号文に含まれる各々の並び順を、前記暗号化工程とは逆の手順で変更する逆スクランブル処理が実行されることを特徴とするデータ授受方法。
【請求項３】
コンピュータ間でデータを授受するデータ授受システムであって、送信するデータである平文を暗号化し暗号文を生成するデータ暗号装置と、前記データ暗号装置で生成した前記暗号文を復号し前記平文を生成するデータ復号装置とから、少なくとも構成され、前記データ暗号装置は、暗号鍵を内部に秘匿に記憶し、データを暗号化する機能を備えたセキュリティモジュールを備え、前記セキュリティモジュールは、暗号化するデータである平文を定められたサイズのブロックに先頭から順に分割し、前記平文をブロック単位で暗号化して、前記平文を暗号化したデータである暗号文を生成し、前記データ復号装置は、前記セキュリティモジュールと同じ前記暗号鍵を用いて生成された暗号テーブルを参照し、前記暗号文を前記平文と同じサイズのブロックに先頭から順に分割し、前記暗号文をブロック単位で復号することで、前記暗号文の前記平文を生成することを特徴とするデータ授受システム。
【請求項４】
請求項３に記載のデータ授受システムにおいて、前記データ暗号装置の前記セキュリティモジュールは、前記平文を暗号化する前に、文字の並び順の変更規則を記述した並び替えデータを利用して、前記平文に含まれる各々の文字の並び順を変更するスクランブル処理を実行し、前記データ復号装置は、前記暗号テーブルを利用して暗号文を復号した後に、前記並び替えデータを利用して、復号した暗号文に含まれる各々の並び順を、前記データ暗号装置とは逆の手順で変更する逆スクランブル処理を実行することを特徴とするデータ授受システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを暗号化して授受する技術分野に関し、更に詳しくは、データを復号するときに暗号鍵を利用しなくてすむシステム及び方法に関する。
【背景技術】
【０００２】
個人情報漏洩の問題を受けて、コンピュータやサーバ間で伝送されるデータを暗号化するケースが増えている。伝送されるデータを暗号化／復号する際は、暗号鍵を用いて、ある暗号アルゴリズムに従いデータを暗号化／復号することが一般的で、暗号鍵の管理を厳重に行いたい場合は、特許文献１で記述されているようなセキュリティモジュールが利用され、セキュリティモジュールが利用されて大量のデータは暗号化／復号される。
【特許文献１】特表２００６−５１２７９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、データを送信する相手によっては、データ復号機能を所持していないケースがあり、このようなケースでは、データ暗号機能で暗号化したデータを送信しても、データを受信した側でデータを復号することはできなかった。
【０００４】
そこで、本発明は、データ復号機能を所持していない相手であったとしても、データ暗号機能で暗号化したデータを授受することができるデータ授受方法、データ授受システム、データ暗号装置及びデータ復号装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決する第１の発明は、データを授受するデータ授受方法であって、
授受されるデータである平文を暗号化する第１の暗号鍵を、データを暗号化／復号する機能を備えたセキュリティモジュール用の第２の暗号鍵を用いて暗号化し、データを送信する側に設置される前記セキュリティモジュールに、暗号化した前記第１の暗号鍵を登録する暗号鍵登録工程と、前記セキュリティモジュールの内部で前記第１の暗号鍵を復号し、暗号化するデータである平文を定められたサイズのブロックに先頭から順に分割し、復号した前記第１の暗号鍵を用いて、前記平文をブロック単位で暗号化することで、前記平文の暗号文を生成し、データを受信する側に設置されるコンピュータに生成した前記暗号文を送信する暗号化工程と、前記セキュリティモジュールと同じ前記第１の暗号鍵を用いて生成された暗号テーブルを参照し、前記暗号文を前記平文と同じサイズのブロックに先頭から順に分割し、前記暗号文をブロック単位で復号することで、前記コンピュータが、受信した前記暗号文の前記平文を生成する復号工程とを含むことを特徴とする。
【０００６】
なお、第１の発明において、前記暗号鍵登録工程において、前記第１の暗号鍵に加え、文字の並び順の変更規則を記述した並び替えデータを前記第２の暗号鍵を用いて暗号化し、暗号化した前記並び替えデータを前記セキュリティモジュールに登録し、前記暗号化工程では、前記セキュリティモジュールの内部で、前記平文を暗号化する前に、文字の並び順の変更規則を記述した並び替えデータを利用して、前記平文に含まれる各々の文字の並び順を変更するスクランブル処理を実行し、前記復号工程では、前記コンピュータの内部で、前記暗号テーブルを利用して前記暗号文を復号した後に、前記並び替えデータを利用して、復号した前記暗号文に含まれる各々の並び順を、前記暗号化工程とは逆の手順で変更する逆スクランブル処理が実行されることが望ましい。
【０００７】
更に、第２の発明は、データを授受するデータ授受システムであって、授受されるデータである平文を暗号化し暗号文を生成するデータ暗号装置と、前記データ暗号装置で生成した前記暗号文を復号し前記平文を生成するデータ復号装置とから、少なくとも構成され、前記データ暗号装置は、暗号鍵を内部に秘匿に記憶し、データを暗号化する機能を備えたセキュリティモジュールを備え、前記セキュリティモジュールは、暗号化するデータである平文を定められたサイズのブロックに先頭から順に分割し、前記平文をブロック単位で暗号化して、前記平文を暗号化したデータである暗号文を生成し、前記データ復号装置は、前記セキュリティモジュールと同じ前記暗号鍵を用いて生成された暗号テーブルを参照し、前記暗号文を前記平文と同じサイズのブロックに先頭から順に分割し、前記暗号文をブロック単位で復号することで、前記暗号文の前記平文を生成することを特徴とする。
【０００８】
なお、第２の発明において、前記データ暗号装置の前記セキュリティモジュールは、前記平文を暗号化する前に、文字の並び順の変更規則を記述した並び替えデータを利用して、前記平文に含まれる各々の文字の並び順を変更するスクランブル処理を実行し、前記データ復号装置は、前記暗号テーブルを利用して暗号文を復号した後に、前記並び替えデータを利用して、復号した暗号文に含まれる各々の並び順を、前記データ暗号装置とは逆の手順で変更する逆スクランブル処理を実行することが望ましい。
【発明の効果】
【０００９】
上述した本発明によれば、暗号文を受信した側が暗号テーブルを所持しておけば、データ暗号機能で暗号化した暗号文を、データ復号機能を所持していなくとも復号できるようになる。
【００１０】
更に、平文を暗号化する前に、並び替えデータを用いて平文に含まれる文字それぞれの並び順を変更することで、暗号文から平文の解読がより困難になる。
【発明を実施するための最良の形態】
【００１１】
ここから、本発明について、図を参照しながら詳細に説明する。図１は、本発明に係るデータ授受方法が適用されたデータ授受システムを説明するための図である。
【００１２】
図１のデータ授受システムは、ＩＣカード４ａに記憶されるＰＩＮ(Personal Identification Number)の変更内容を平文とし、２台のコンピュータ間で平文を授受するデータ授受システムで、平文を暗号化し暗号文を生成するコンピュータであるデータ暗号装置１と、暗号文を復号するコンピュータであるデータ復号装置２とがネットワーク３を介して接続されている。
【００１３】
データ暗号装置１にはセキュリティモジュール１０が接続され、データ暗号装置１は、ＩＣカード端末４からＰＩＮ、ユーザのＩＤ番号および有効期限等のデータを平文として受信し、セキュリティモジュール１０を用いて、受信したこれらのデータを暗号化して、データ復号装置２に送信する。データ復号装置２は、データ暗号装置１から送信された暗号文を復号する。
【００１４】
図２は、図１で示したデータ授受システムのブロック図である。データ暗号装置１が有するセキュリティモジュール１０は、セキュリティモジュール１０の内部で秘匿に生成した公開鍵暗号方式の秘密鍵１０１（以下、ＳＭ秘密鍵）と、データ復号装置２へ送信する平文を暗号化するときに利用する共通鍵暗号方式の共通鍵１０２と、平文の文字の並び順を変更する規則が記述された並び替えデータ１０３が記憶されている。
【００１５】
なお、共通鍵１０２と並び替えデータ１０３とは、ＳＭ秘密鍵１０１の対になる公開鍵で暗号化された状態で、セキュリティモジュール１０に記憶され、セキュリティモジュール１０で利用されるときに、セキュリティモジュール１０の内部でＳＭ秘密鍵１０１を用いて復号される。
【００１６】
更に、セキュリティモジュール１０には、ＳＭ秘密鍵１０１、秘密鍵１０２及び並び替えデータ１０３を用いて、データ復号装置２に送信するデータを暗号化するデータ暗号部１００を備えている。なお、本実施の形態において、データ暗号部１００は、公開鍵暗号方式と共通鍵暗号方式の２つの暗号方式に対応している。
【００１７】
図２に示したように、データ復号装置２には、データ暗号装置１と同じ内容の並び替えデータ２１と、データ暗号装置１から送信された暗号文を復号するときに利用する暗号テーブル２２とが記憶され、並び替えデータ２１と暗号テーブル２２とを用いて、データ暗号装置１から送信された暗号文を復号するデータ復号部２０を備える。
【００１８】
通常、コンピュータ間で伝送される暗号文を復号するときは、セキュリティモジュール１０が利用され、セキュリティモジュール１０の内部で暗号文は暗号鍵を用いて復号されるが、図１に示したように、データを送信する相手によっては、セキュリティモジュール１０を所持していないケースがあり、このようなケースでは、セキュリティモジュール１０を用いてデータを暗号化して送信することはできない。
【００１９】
これに対し、本発明では、これ以降に述べる内容によって、セキュリティモジュール１０を利用することなく、セキュリティモジュール１０で暗号化されたデータを復号することができる。
【００２０】
なお、データ暗号装置１のデータ暗号部１００は、セキュリティモジュールにインストールされるプログラムで実現され、データ復号装置２のデータ復号部２０は、データ復号装置２にインストールされるプログラムで実現されている。
【００２１】
図３は、平文を暗号化する暗号化工程の手順を示した図で、この工程はデータ暗号装置１のセキュリティモジュール１０で実行される工程である。図３に示したように、データ暗号装置１のセキュリティモジュール１０で実行される暗号化工程では、まず、暗号化する平文をスクランブル処理し、スクランブル処理された平文を暗号化処理することで、平文の暗号文を生成する。
【００２２】
図４は、暗号化工程で最初に実行されるスクランブル処理を説明するための図である。図４で示したように、スクランブル処理とは、文字の並び順を変更する規則が記述された並び替えデータを利用し、平文に含まれるそれぞれの文字の並び順を変更する処理である。
【００２３】
図５は、スクランブル処理の一例を示した図である。文字の並び順を変更する方式は様々な方式で実現されるが、図５では、行列演算によって、平文の並び順を変更している。
【００２４】
図５（ａ）は行列演算の式を示し、図５（ａ）において、ｘは１列ｎ行（ｎは、平文に含まれる文字数）の行列で、この行列のi行目には、平文のi番目の文字が記述される。更に、図５（ａ）において、ｙは１列ｎ行（ｎは、平文に含まれる文字数）の行列で、この行列のi行目の文字は、スクランブル化した平文のi番目の文字に対応する。
【００２５】
更に、図５（ａ）において、Aは並び替えデータで、ここでは並び替えデータはｎ行ｎ列（ｎは、平文に含まれる文字数）の行列で、この行列の一例を図５（ｂ）に示す。図４（５）で図示した行列のi行目は、平文のi番目の文字の並び替えに関する情報を示し、  例えば、図４（ｂ）で示した行列Aにおいて、１行目では８列目の値が１になっているため、平文の１番目（先頭）の文字は、スクランブル処理によって８番目に配置することが示される。
【００２６】
図５で示した行列演算によって、図４に示したように、平文「1234991234100101」はスクランブル処理され、スクランブル化された平文、すなわち、文字の並べ順が変更された平文は「3094310114092211」になる。
【００２７】
図６は、暗号化処理を説明するための図である。図６で示したように、暗号化処理とは、スクランブル化された平文を事前に定められたサイズ（ここでは、４文字）のブロックに分割し、共通鍵を用いて平文をブロック単位で暗号化する処理を意味する。
【００２８】
本実施の形態では、４文字のブロックは２バイトの１６進数として扱われ、共通鍵１０２を用いて２バイトの数値は暗号化される。図４において「0x3094」(xは１６進表記)は「0x3DE3」に、「0x3101」は「0x161D」に、「0x1409」は「0x1E9A」そして「0x2211」は「0x8AD0」にそれぞれ暗号化される。
【００２９】
なお、上述したように、暗号化工程で平文を暗号化する共通鍵１０２は、ＳＭ秘密鍵１０１と対になる公開鍵によって暗号化された状態でセキュリティモジュール１０に記憶されている。
【００３０】
このため、暗号化工程を実行する際は、セキュリティモジュール１０のデータ暗号部は、公開鍵暗号方式を用いて、共通鍵１０２をＳＩＭ秘密鍵１０１で復号した後、共通暗号方式を用いて、復号した共通鍵１０２を用いてスクランブル化された平文を暗号化する。
【００３１】
データ暗号装置１で上述した暗号化工程が実行されることで、図３で示したように、平文「1234991234100101」は、スクランブル処理によって、文字の並び順が変更され「3094310114092211」に変換され、更に、図５で示したように、「3094310114092211」は、暗号化処理によって「3DE3161D1E9A8AD0」に暗号化され、データ暗号装置１からデータ復号装置２に送信される。
【００３２】
ここから、データ復号装置２で実行され、暗号文を復号し平文を生成する復号工程の内容について説明する。図７は、データ復号装置２のデータ復号部２０が実行する復号工程の手順を示した図である。図７に示したように、復号工程の手順では、まず、暗号文の復号処理し、更に、復号処理した暗号文を逆スクランブル処理することで、暗号文から平文を生成する。
【００３３】
一般的に暗号文を復号するとき、暗号鍵（ここでは、共通鍵１０２）が利用されるが、本発明では、暗号文を復号処理するときには、暗号鍵（ここでは、共通鍵１０２）の代わりに、暗号テーブル２２が利用される。暗号テーブル２２を利用して暗号文を復号することで、データ復号装置２は、データ暗号装置１のようにセキュリティモジュール１０を備える必要はなくなる。
【００３４】
図８は、暗号テーブル２２の一例を示した図である。図８の暗号テーブル２２は、セキュリティモジュール１０に記憶された共通鍵で２バイトの数値を暗号化したときの暗号化テーブル２２で、この暗号化テーブル２２の行は上位バイトの値で、列は下位バイトの値を示している。
【００３５】
図８の暗号テーブル２２に従えば、例えば、「0x0000」は「0xEA4F」に暗号化されることが示され、この暗号テーブルの中から暗号文に含まれる２バイトの数値である４文字を検索し、検索した箇所の上位バイトと下位バイトから復号したときの値が得られる。
【００３６】
例えば、暗号文の「0x3DE3」が暗号テーブルに記述されている箇所の上位バイトは「0x30」で、下位バイトは「０x14」であるため、セキュリティモジュール１０の共通鍵で、「0x3DE3」を復号したときの値は「0x3014」であることがわかる。
【００３７】
データ復号装置２は、暗号テーブル２２を参照し、暗号文に含まれる文字列を復号した文字列を特定することで、データ暗号装置１から受信した暗号文を、暗号鍵を利用することなく復号できる。この復号処理によって、例えば、図５で示した暗号文「3DE3161D1E9A8AD0」は、「3094310114092211」に復号される。
【００３８】
なお、この暗号テーブル２２は、データ暗号装置１のセキュリティモジュール１０を利用して生成するとよい。セキュリティモジュール１０を用いて、暗号テーブル２２を生成するときは、平文で利用される文字集合の定められた文字数の重複順列ごとに、共通鍵１０２を用いて暗号化すれば、暗号テーブル２２を生成することができる。
【００３９】
復号処理の後に実行される逆スクランブル処理とは、暗号化処理で実行されるスクランブル処理と逆の手順を行う処理である。逆スクランブル処理では、暗号化したときと同じ並び替えデータを利用し、スクランブル処理の逆の手順で、復号処理された暗号文のそれぞれの文字を並び替える。
【００４０】
例えば、図５で示した行列演算によってスクランブル処理する場合、データ復号装置２が有する並び替えデータ２１を、図５で示した行列Ａの逆行列とすることで、この逆行列に、復号処理された暗号文から生成される１列ｎ行（ｎは、平文に含まれる文字数）を乗算することで、逆スクランブル処理は実行され、暗号文の基となった平文が生成される。
【００４１】
上述したように、本発明によれば、セキュリティモジュール１０を用いて暗号化された暗号文は、並び替えデータと暗号テーブルさえ共有しておけば、データ復号機能を所持していない相手でも復号できるようになる。
【００４２】
なお、上述した暗号化工程が実行される前に、並び替えデータ１０３と共通鍵１０２をセキュリティモジュール１０に登録する暗号鍵登録工程が実行される。
【００４３】
この暗号鍵登録工程では、データ暗号装置１を所持する側が提供する暗号化ソフトなどを利用して、データ復号装置２を所持する側で、ＳＭ秘密鍵１０１と対になる公開鍵を用いて、並び替えデータ１０３と共通鍵１０２を暗号化し、暗号化したこれらのデータがセキュリティモジュール１０に登録される。
【００４４】
暗号鍵登録工程で実施されることで、データ復号装置２を所持する側で、並び替えデータ１０３と共通鍵１０２を暗号化するので、データ暗号装置１を所持する側では、並び替えデータ１０３と共通鍵１０２を解読することは困難になる。
【図面の簡単な説明】
【００４５】
【図１】データ授受システムを説明するための図。
【図２】データ授受システムのブロック図。
【図３】暗号化工程の手順を示した図。
【図４】スクランブル処理を説明するための図。
【図５】スクランブル処理の一例を示した図。
【図６】暗号化処理を説明するための図。
【図７】復号工程の手順を示した図。
【図８】暗号テーブルの一例を示した図。
【符号の説明】
【００４６】
１  データ暗号装置
１０  セキュリティモジュール
１００  データ復号部
１０１  ＳＭ秘密鍵、１０２  共通鍵、１０３  並び替えデータ
２  データ復号装置
２０  データ復号部
２１  並び替えデータ、２２  暗号テーブル
３  ネットワーク
４  ＩＣカード端末
【図１】
2008046164.tif 000003
【図２】
2008046164.tif 000004
【図３】
2008046164.tif 000005
【図４】
2008046164.tif 000006
【図５】
2008046164.tif 000007
【図６】
2008046164.tif 000008
【図７】
2008046164.tif 000009
【図８】
2008046164.tif 000010