(57)【特許請求の範囲】
【請求項１】
サーバ側装置が、択一的に選択される複数の情報の組を複数用意し、該各組毎に異なる暗号方法により、上記複数の情報を暗号化する手順と、
サーバ側装置が、上記各組の中から特定の情報をクライアント側装置にて選択させるために、前記各情報に対応した選択肢を含む表示情報を用意すると共に、該示情報の各選択肢に上記暗号化された複数の情報を関連づけする手順と、
サーバ側装置が、上記暗号化された複数の情報を上記表示情報と共に、上記クライアント側装置に送信する手順と、
上記クライアント側装置が、受信した上記表示情報に基づいて特定の情報を受信者に選択させるための選択肢を表示する手順と、
上記クライアント側装置を受信者が操作することによって選択された選択肢に関連づけられた上記暗号化情報を、上記クライアント側装置が上記サーバ側装置に向けて送信する手順と、
サーバ側装置が上記暗号化情報を受信し、各組が属する暗号方法に対応する復号方法によりそれぞれ復号化する手順と、を備えたことを特徴とする暗号通信方法。
【請求項２】
上記暗号方法及び上記復号方法が、情報のビット列と乱数ビット列を各ビット毎に排他的論理和演算するストリーム暗号方式によるものである請求項１に記載の暗号通信方法。
【請求項３】
サーバ側装置には、択一的に選択される複数の情報の組を複数用意し、該各組毎に異なる暗号方法により、上記複数の情報を暗号化する暗号化手段と、
上記各組の中から特定の情報をクライアント側装置にて選択させるために、前記各情報に対応した選択肢を含む表示情報を用意すると共に、該表示情報の各選択肢に上記暗号化された複数の情報を関連づけする表示情報生成手段と、
上記暗号化された複数の情報を、上記表示情報と共に、上記クライアント側装置に送信する送信手段と、を備え、
上記クライアント側装置には、受信した上記表示情報に基づいて特定の情報を受信者に選択させるための選択肢を表示する表示手段と、
上記クライアント側装置を受信者が操作することによって選択された選択肢に関連づけられた上記暗号化情報を、上記クライアント側装置が上記サーバ側装置に向けて送信する送信手段と、を備え、
サーバ側装置には、上記暗号化情報を受信する受信手段と、
受信した暗号化情報を各組が属する暗号方法に対応する復号方法によりそれぞれ復号化する復号化手段と、を更に備えたことを特徴とする暗号通信装置。
【請求項４】
上記暗号方法及び上記復号方法が、情報のビット列と乱数ビット列を各ビット毎に排他的論理和演算するストリーム暗号方式によるものである請求項３に記載の暗号通信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク通信における通信データを秘匿するための暗号通信方法及び装置に関する。
【０００２】
【従来の技術】
今日、インターネットなどの公開されたコンピュータネットワーク上でデータ通信が広く行われている。このようなネットワーク環境において、データの受信者が、発信者からのデータに含まれる複数の選択肢の中から特定のものを選び出し、発信者に対し回答するというデータ通信形式がある。例えば、会員制の自動車教習所や英会話教室などにおいて、主催者から送信されたスケジュール表を会員が見て、その中から特定の時間を選び出して時間予約を行なう例がある。このような公開されたネットワーク上でデータ通信を行う場合、通信されるデータのセキュリティを確保する必要がある。このネットワーク上でのデータの秘匿性を確保するための方法としては、データの暗号化技術が広く利用されている。暗号化は例えば、暗号鍵となる乱数ビット列を生成し、この乱数ビット列と暗号化の対象となるデータ（平文データ）のビット列を、各ビット毎に排他的論理和演算する、ストリーム暗号方式などにより行なわれる。この暗号化は、受信者（クライアント）側にて暗号化機能を持たない通信システムでは、送信者（サーバ側）で行われる。
【０００３】
例えばインターネットを利用した自動車教習の予約システムを例にとって説明すると、教習所側のサーバでは会員側のクライアントからの要求に応じて、平文データの暗号化及びその送信を行う。暗号化される平文データは、会員にて択一的に選択される予約可能な日時や教習内容等に対応したデータである。このような平文データの暗号化時点において、サーバ側では、複数の平文データのうちどの平文データが会員に選択されるデータであるかを事前に知ることができないため、個々の平文データが同じ暗号鍵にて暗号化される。すなわち１つの乱数ビット列が生成され、この乱数ビット列と個々の平文データとの排他的論理和が計算されて、この計算結果が暗号データとしてクライアントに送信される。そして会員にて予約したい時間帯が選択されると、選択内容に対応する暗号データがサーバに返信され、この暗号データが、先の暗号化に用いた乱数ビット列との排他的論理和を取ることによって復号化される。そして、この復号化された平文データに基づいて予約データの更新が行われて、予約が成立する。
【０００４】
【発明が解決しようとする課題】
このような従来の暗号通信においては、複数の平文データが単に同じ暗号鍵で暗号化されていたので、同じ暗号鍵で暗号化した複数の暗号データが不正に傍受される可能性がある。このような複数の暗号データが入手された場合には、これら複数の暗号データの排他的論理和を計算することにより、元の平文データを類推しやすくなる。また、送信された暗号データの数からも平文データを類推しやすくなる。従って、複数の平文データを同じ暗号鍵で暗号化する従来の暗号通信においては、暗号強度が低下するという問題点があった。
【０００５】
本発明の目的は、受信者側で任意に選択される複数のデータを送信者側にて暗号化する際、暗号強度を低下させない暗号通信方法及び装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するため本発明の暗号通信方法は、サーバ側装置が、択一的に選択される複数の情報の組を複数用意し、該各組毎に異なる暗号方法により、上記複数の情報を暗号化する手順と、サーバ側装置が、上記各組の中から特定の情報をクライアント側装置にて選択させるために、前記各情報に対応した選択肢を含む表示情報を用意すると共に、該示情報の各選択肢に上記暗号化された複数の情報を関連づけする手順と、サーバ側装置が、上記暗号化された複数の情報を上記表示情報と共に、上記クライアント側装置に送信する手順と、上記クライアント側装置が、受信した上記表示情報に基づいて特定の情報を受信者に選択させるための選択肢を表示する手順と、上記クライアント側装置を受信者が操作することによって選択された選択肢に関連づけられた上記暗号化情報を、上記クライアント側装置が上記サーバ側装置に向けて送信する手順と、サーバ側装置が上記暗号化情報を受信し、各組が属する暗号方法に対応する復号方法によりそれぞれ復号化する手順と、を備えて構成される。
【０００８】
この場合に、上記暗号方法及び上記復号方法が、情報のビット列と乱数ビット列を各ビット毎に排他的論理和演算するストリーム暗号方式によるものとすることができる。
【０００９】
本発明の暗号通信装置は、サーバ側装置には、択一的に選択される複数の情報の組を複数用意し、該各組毎に異なる暗号方法により、上記複数の情報を暗号化する暗号化手段と、上記各組の中から特定の情報をクライアント側装置にて選択させるために、前記各情報に対応した選択肢を含む表示情報を用意すると共に、該表示情報の各選択肢に上記暗号化された複数の情報を関連づけする表示情報生成手段と、上記暗号化された複数の情報を、上記表示情報と共に、上記クライアント側装置に送信する送信手段と、を備え、上記クライアント側装置には、受信した上記表示情報に基づいて特定の情報を受信者に選択させるための選択肢を表示する表示手段と、上記クライアント側装置を受信者が操作することによって選択された選択肢に関連づけられた上記暗号化情報を、上記クライアント側装置が上記サーバ側装置に向けて送信する送信手段と、を備え、サーバ側装置には、上記暗号化情報を受信する受信手段と、受信した暗号化情報を各組が属する暗号方法に対応する復号方法によりそれぞれ復号化する復号化手段と、を更に備えて構成される。
【００１１】
この場合に、上記暗号方法及び上記復号方法が、情報のビット列と乱数ビット列を各ビット毎に排他的論理和演算するストリーム暗号方式によるものとすることができる。
【００１２】
【発明の実施の形態】
以下、図示した一実施形態に基いて本発明を詳細に説明する。以下では、インターネットを利用した自動車教習の予約システムを例にとって説明するが、本発明はあらゆる形式の通信ネットワークによる任意の内容のデータ通信に利用することができる。また本発明の実現に際し利用される暗号方法は、第三者に秘密にされる暗号鍵を少なくともデータの送信者が保持するあらゆる方法のものでよく、例えば第三者に暗号鍵が公開されない秘密鍵暗号においては、情報のビット単位で暗号化を行うストリーム暗号、ＤＥＳ暗号やＦＥＡＬ暗号のように複数ビットにて構成されるブロック毎に暗号化を行うブロック暗号のいずれを採用してもよい。
【００１３】
図１は本実施形態における暗号通信システムの全体構成を示すブロック図、図２は図１のシステムにおける通信手順を示すシーケンスチャート、図３はサーバ側での暗号化処理における各データの流れを示す図、図４はサーバ側での復号化処理における各データの流れを示す図である。本実施形態は概略的に、サーバ側での複数のデータを暗号化する際、データの組毎に異なる暗号方法にて暗号化を行うものである。
【００１４】
図１において、教習所（送信者）側に配置された暗号通信装置としてのサーバ１と、会員（受信者）側に設けたクライアント１０とが、インターネット２０を介して通信可能に接続されている。サーバ１には、平文データや予約データ及び暗号鍵を記憶する記憶部２、平文データの暗号化に用いる暗号鍵の生成を行う暗号鍵生成部３、平文データの暗号化を行う平文データ暗号化部４、ページデータを記述するページデータ記述部５、各種データの送受信を行う送受信部６、暗号化された平文データの復号化を行う平文データ復号化部７が備えられている。またクライアント１０には、各種データの送受信を行う送受信部１１、及びページデータの表示を行う表示部１２が備えられている。これらサーバ１及びクライアント１０は、汎用又は専用のコンピュータにて構成することができ、またその内部で実現される上記各構成要素は、ＣＰＵ及びこのＣＰＵ上で動作するプログラムでこれを構成することができる。
【００１５】
次に、このようなシステムにおいてクライアント１０が自動車教習の予約を行う場合の手順について、図１と共に図２を参照しつつ説明する。まずクライアント１０は、表示部１２に表示されたブラウザ上で予約システムの初期画面を開き、予め付与されているＩＤを入力してログインを行う（ステップＳ１）。このＩＤを受信したサーバ１は、このＩＤが正当なものである場合にはログインを承認し（ステップＳ２）、クライアント１０に送信するデータの暗号化等を行う（ステップＳ４〜Ｓ６）。
【００１６】
ここで暗号化されるデータは、クライアント側で表示する教習予約用ページの記述に関連付けられたデータであって、会員により選択される予約可能な日時や教習内容等に対応した複数のデータである。以下では、この暗号前のデータを平文データと呼ぶ。複数の平文データは、会員により択一的に選択される複数のデータの組を複数含んでいる。例えば、日曜日〜土曜日の各日（これが各組に相応する）のそれぞれに複数の教習時間帯（これが各組内のデータに対応した記述）が設定されており、各日について択一的に１つの教習時間帯を選択させる場合、各教習時間帯に対応する平文データは、各曜日毎に組み分けされ、そのデータ構造の状態を維持したまま記憶部２に記憶されている。図３においては、６つの平文データが、「ｒ01」、「ｒ11、ｒ12」、「ｒ21」、「ｒ31、ｒ32」のように組み合わされて４つの組が構成されている。このように各組を構成する平文データには、各組毎に択一的に平文データが会員に選択され、必要に応じて「選択なし」という平文データを含めることができる。
【００１７】
このように構成された平文データの暗号化のため、これに先だって暗号鍵生成部３では、各組に対してそれぞれ異なる乱数ビット列が生成される（ステップＳ３）。本実施形態において暗号に際しては乱数ビット列を用いたストリーム暗号方式が採用される。この複数種類の乱数ビット列の生成は、フィードバックシフトレジスタの初期値として、異なる暗号鍵を設定することによって行う。図３においては、異なる乱数ビット列「ｘ0」、「ｘ1」、「ｘ2」、「ｘ3」がそれぞれ各組に割り当てられている。もっとも、本発明の実施に際しては、ストリーム暗号方式以外の他の暗号方式を用いて、データの暗号化を実施することができる。  平文データ暗号化部４においては、記憶部２に記憶された平文データに対して、暗号鍵生成部３にて生成された乱数ビット列を用いて暗号化が行われ、暗号化された平文データ（暗号データ）が作成される（ステップＳ４）。ここで用いられるストリーム暗号では、各組の平文データのビット列と、各組毎に割り当てられた乱数ビット列がビット単位で排他的論理和演算される。ここで、同じ組の複数の平文データに対しては、この組に割り当てられた乱数ビット列を用いて暗号化が行われる（図３の暗号データ参照）。この暗号化に使用された複数の乱数ビット列は、記憶部２に記憶される。
【００１８】
次に、ページデータ記述部５においてクライアントにて表示するための予約用のページが記述される（ステップＳ５）。ページデータには、上記各暗号データに対応した記述ないしは機構が含まれる。該記述ないしは機構は、会員が各日毎に、複数の教習時間帯の中から一つを選択できるようにするものである。プルダウンメニュー、ラジオボタンなどのプログラムモジュールやＨＴＭＬ(Hyper Text Markup Language)記述に従うコードによって、このような記述ないしは機構を実現することができることは当業者であれば明らかであろう。このページのデータは、前記暗号データと共に、送受信部７を介してインターネット２０経由でクライアント１０に送信される（ステップＳ６）。
【００１９】
クライアント１０側では、ページデータが送受信部１１を介して受信されると（ステップＳ７）、このページデータが教習予約用のページとして表示部１２に表示される（ステップＳ８）。そして会員が、表示された教習予約用ページを見て予約したい日時等を選択する（ステップＳ９）。この選択は上述のように、各組について必ず１つのデータを選択するように行われる。この選択が行われると、選択されたデータに対応する暗号データが、送受信部１１を介してサーバ１に送信される（ステップＳ１０）。図４に、先の６つの暗号データのうち、各組毎に１つの暗号データが返信された様子を示す。
【００２０】
サーバ１では、暗号データが送受信部６にて受信されると（ステップＳ１１）、
この暗号データに対し、記憶部２にて記憶した暗号鍵を用いて復号化が行われる（ステップＳ１２）。すなわち暗号鍵である複数の乱数ビット列が記憶部２から呼び出され、これら複数の乱数ビット列と、返信された暗号データとの排他的論理和が取られる。ここでは、各組毎に必ず１つの平文データが会員にて選択され返信されているため、返信された暗号データの数が暗号化時の乱数ビット列と対応しており、過不足なく復号化を行うことができる。図４においては、４つの暗号データと、その暗号化に用いられた対応する乱数ビット列との間で排他的論理和演算がそれぞれ実行され、平文データが復号化された様子が概念的に示されている。そして、この平文データに基づいて記憶部２の予約データの更新が行われて（ステップＳ１３）、予約が成立する。
【００２１】
このような暗号化通信によれば、各組の情報が異なる方法にて暗号化されているため、暗号データが傍受されても平文データを推測することが困難である。また受信者から返信される暗号データの数が一定であるため、傍受者がこのデータ数から内容を推測することが困難である。
【００２２】
以上、本発明の一実施形態を図面に沿って説明した。しかしながら本発明は前記実施形態に示した事項に限定されず、特許請求の範囲の記載に基いてその変更、改良等が可能であることは明らかである。暗号化は、各組毎に異なる暗号方法にて行われるものであればよく、上記のように異なる乱数ビット列を用いるストリーム暗号方式以外の暗号方法を採用することもできる。
【００２３】
【発明の効果】
以上の如く本発明によれば、送受される複数の暗号データは、異なる暗号方法によって暗号化されているので、平文データの推測が困難となり、暗号強度を低下させることがない。また受信者から返信されるデータ数が一定であるため、その数から平文データを推測されることが困難となる。
【図面の簡単な説明】
【図１】本発明の一実施形態における暗号通信システムの全体構成を示すブロック図である。
【図２】図１のシステムにおける通信手順を示すシーケンスチャートである。
【図３】サーバ側での暗号化処理における各データの流れを示す概念図である。
【図４】サーバ側での復号化処理における各データの流れを示す概念図である。
【符号の説明】
１  サーバ
２  記憶部
３  暗号鍵生成部
４  平文データ暗号化部
５  ページデータ記述部
６、１１  送受信部
７  平文データ復号化部
１０  クライアント
１２  表示部
２０  インターネット
【図１】
0004447084.tif 000002
【図２】
0004447084.tif 000003
【図３】
0004447084.tif 000004
【図４】
0004447084.tif 000005