(57)【要約】【課題】  ＩＶを用いたＣＢＣモード等によって暗号化されたデータ（暗号化データ）を送受信する際に、通信リソースを有効に利用する装置、及び、データ送受信方法を提供する。【解決手段】  初期化ベクトルを用いて所定のデータを暗号化し、暗号化された所定のデータを所定の装置に送信する装置が、初期化ベクトルを生成するための第１の初期化ベクトル生成情報を所定の装置に送信する初期化ベクトル生成情報送信手段と、所定の装置に送信した第１の初期化ベクトル生成情報に基づいて、初期化ベクトルを生成する初期化ベクトル生成手段と、初期化ベクトル生成手段によって生成された初期化ベクトルを用いて、所定のデータを暗号化する暗号化手段とを具備する。【選択図】  図２
2005167635.tif 000002
【特許請求の範囲】
【請求項１】
初期化ベクトルを用いて所定のデータを暗号化し、暗号化された前記所定のデータを所定の装置に送信する装置であって、
前記初期化ベクトルを生成するための第１の初期化ベクトル生成情報を前記所定の装置に送信する初期化ベクトル生成情報送信手段と、
前記所定の装置に送信した前記第１の初期化ベクトル生成情報に基づいて、前記初期化ベクトルを生成する初期化ベクトル生成手段と、
前記初期化ベクトル生成手段によって生成された前記初期化ベクトルを用いて、前記所定のデータを暗号化する暗号化手段とを具備することを特徴とする装置。
【請求項２】
前記初期化ベクトル生成手段は、前記所定の装置に送信した前記第１の初期化ベクトル生成情報と、前記所定のデータを識別するための順序番号とに基づいて、前記初期化ベクトルを生成することを特徴とする請求項１に記載の装置。
【請求項３】
前記初期化ベクトルを生成するための第２の初期化ベクトル生成情報を前記所定の装置から受信する初期化ベクトル生成情報受信手段を具備し、
前記初期化ベクトル生成手段は、前記所定の装置に送信した前記第１の初期化ベクトル生成情報と、前記所定の装置から受信した前記第２の初期化ベクトル生成情報とに基づいて、前記初期化ベクトルを生成することを特徴とする請求項１又は請求項２に記載の装置。
【請求項４】
初期化ベクトルを用いて所定のデータを暗号化し、暗号化された前記所定のデータを所定の装置に送信する装置であって、
前記初期化ベクトルを生成するための第１の初期化ベクトル生成情報を前記所定の装置から受信する初期化ベクトル生成情報受信手段と、
前記所定の装置から受信した前記第１の初期化ベクトル生成情報に基づいて、前記初期化ベクトルを生成する初期化ベクトル生成手段と、
前記初期化ベクトル生成手段によって生成された前記初期化ベクトルを用いて、前記所定のデータを暗号化する暗号化手段とを具備することを特徴とする装置。
【請求項５】
前記初期化ベクトル生成手段は、前記所定の装置から受信した前記第１の初期化ベクトル生成情報と、前記所定のデータを識別するための順序番号とに基づいて、前記初期化ベクトルを生成することを特徴とする請求項４に記載の装置。
【請求項６】
前記初期化ベクトルを生成するための第２の初期化ベクトル生成情報を前記所定の装置に送信する初期化ベクトル生成情報送信手段を具備し、
前記初期化ベクトル生成手段は、前記所定の装置から受信した前記第１の初期化ベクトル生成情報と、前記所定の装置に送信した前記第２の初期化ベクトル生成情報とに基づいて、前記初期化ベクトルを生成することを特徴とする請求項４又は請求項５に記載の装置。
【請求項７】
初期化ベクトルを用いて暗号化された所定のデータを所定の装置から受信する装置であって、
前記初期化ベクトルを生成するための第１の初期化ベクトル生成情報を前記所定の装置から受信する初期化ベクトル生成情報受信手段と、
前記所定の装置から受信した前記第１の初期化ベクトル生成情報に基づいて、前記初期化ベクトルを生成する初期化ベクトル生成手段と、
前記初期化ベクトル生成手段によって生成された前記初期化ベクトルに基づいて、前記所定の装置によって暗号化された前記所定のデータを復号化する復号化手段とを具備することを特徴とする装置。
【請求項８】
前記初期化ベクトル生成手段は、前記所定の装置から受信した前記第１の初期化ベクトル生成情報と、前記所定の装置によって暗号化された前記所定のデータに付加され、暗号化された該所定のデータを識別するための順序番号とに基づいて、前記初期化ベクトルを生成することを特徴とする請求項７に記載の装置。
【請求項９】
前記初期化ベクトルを生成するための第２の初期化ベクトル生成情報を前記所定の装置に送信する初期化ベクトル生成情報送信手段を具備し、
前記初期化ベクトル生成手段は、前記所定の装置から受信した前記第１の初期化ベクトル生成情報と、前記所定の装置に送信した前記第２の初期化ベクトル生成情報とに基づいて、前記初期化ベクトルを生成することを特徴とする請求項７又は請求項８に記載の装置。
【請求項１０】
初期化ベクトルを用いて暗号化された所定のデータを所定の装置から受信する装置であって、
前記初期化ベクトルを生成するための第１の初期化ベクトル生成情報を前記所定の装置に送信する初期化ベクトル生成情報送信手段と、
前記所定の装置に送信した前記第１の初期化ベクトル生成情報に基づいて、前記初期化ベクトルを生成する初期化ベクトル生成手段と、
前記初期化ベクトル生成手段によって生成された前記初期化ベクトルに基づいて、前記所定の装置によって暗号化された前記所定のデータを復号化する復号化手段とを具備することを特徴とする装置。
【請求項１１】
前記初期化ベクトル生成手段は、前記所定の装置に送信した前記第１の初期化ベクトル生成情報と、前記所定の装置によって暗号化された前記所定のデータに付加され、暗号化された該所定のデータを識別するための順序番号とに基づいて、前記初期化ベクトルを生成することを特徴とする請求項１０に記載の装置。
【請求項１２】
前記初期化ベクトルを生成するための第２の初期化ベクトル生成情報を前記所定の装置から受信する初期化ベクトル生成情報受信手段を具備し、
前記初期化ベクトル生成手段は、前記所定の装置に送信した前記第１の初期化ベクトル生成情報と、前記所定の装置から受信した前記第２の初期化ベクトル生成情報とに基づいて、前記初期化ベクトルを生成することを特徴とする請求項１０又は請求項１１に記載の装置。
【請求項１３】
初期化ベクトルを用いて暗号化された所定のデータを送信側装置から受信側装置に送信するデータ送受信方法であって、
前記送信側装置が、前記初期化ベクトルを生成するための初期化ベクトル生成情報を前記受信側装置に送信するステップと、
前記送信側装置が、前記初期化ベクトル生成情報に基づいて、前記初期化ベクトルを生成するステップと、
前記送信側装置が、前記初期化ベクトル生成情報に基づいて生成された前記初期化ベクトルを用いて、前記所定のデータを暗号化するステップと、
前記受信側装置が、前記送信側装置から受信した前記初期化ベクトル生成情報に基づいて、前記初期化ベクトルを生成するステップと、
前記受信側装置が、前記送信側装置によって暗号化された前記所定のデータを、前記初期化ベクトルを用いて復号化するステップとを具備することを特徴とするデータ送受信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
初期化ベクトルを用いて暗号化された所定のデータを送受信する装置、及び、データ送受信方法。
【背景技術】
【０００２】
従来、送信側から受信側にデータを送信する場合に、送信側が暗号鍵（対称鍵又は非対称鍵）によってデータを暗号化し、暗号化されたデータ（以下、暗号化データ）を受信側に送信する方法が知られている。また、受信側は、暗号化データを、暗号鍵（対称鍵又は非対称鍵）によって復号化する。なお、受信側は、暗号鍵や復号化の方法（暗号化の方法）を送信側と共有している必要がある。
【０００３】
一方、暗号鍵によって暗号化された同一のデータは、同一の暗号化データとなり、暗号化データを構成する各ブロック（暗号化する際における１単位）が同一となるため、同一のブロックが第３者（攻撃者）によって繰り返し盗聴されると、暗号鍵や復号化の方法（暗号化の方法）が第３者（攻撃者）によって推測される危険性がある。例えば、Ｗｅｂ上における複数のショッピングサイトで同一のパスワードが利用され、かつ、該パスワードが同一の暗号鍵によって暗号化されている場合には、パスワードが第３者（攻撃者）によって推測されてしまう危険性がある。
【０００４】
これに対し、暗号鍵や復号化の方法（暗号化の方法）が第３者（攻撃者）によって推測される危険性を低くする方法として、送信側が初期化ベクトル（Initialization Vector（以下、ＩＶ））を用いてデータを暗号化し、該ＩＶと暗号化データとを含むメッセージを送信する方法が知られている（例えば、非特許文献１）。
【０００５】
この方法によれば、送信側が、ＩＶ（ランダムな値）を用いたＣＢＣモード等によってデータを暗号化し、該ＩＶと暗号化データとを含むメッセージを受信側に送信することにより、メッセージに含まれる暗号化データを構成する各ブロック（暗号化する際における１単位）が同一となることを防止することができる。
【０００６】
また、暗号化データ毎に異なる順序番号を暗号化データに付加することによって、リプレイアタックを防止する方法が知られている。ここで、リプレイアタックとは、第３者（攻撃者）が盗聴した暗号化データを受信側に複数回送信することである。例えば、リプレイアタックの具体例としては、送信側が銀行（受信側）に振込を行うために送信した暗号化データを含むメッセージを第３者（攻撃者）が盗聴し、第３者（攻撃者）が該メッセージを銀行（受信側）に複数回送信することが挙げられる。すなわち、送信側の意図していない振込が複数回行われてしまう。
【０００７】
この方法によれば、受信側が、既に受信した順序番号が付加された暗号化データを無効なものとみなすため、リプレイアタックを防止することができる。
【０００８】
以下において、上述のＩＶ及び順序番号を用いてデータを送受信する方法について、図面を参照ながら説明する。図９は、送信側装置から受信側装置に暗号化データと順序番号とを含むメッセージを送信する従来技術を示す図である。
【０００９】
同図に示すように、送信側装置３００は、送信データ３１０（＝受信データ４１０）を受信側装置４００に送信する。具体的には、送信側装置３００は、暗号鍵３２０及びＩＶ３３０を用いたＣＢＣモード等により、送信データ３１０を暗号化することによって、暗号化送信データ３４０を生成する。また、送信側装置３００は、生成した暗号化送信データ３４０に、暗号化に用いたＩＶ３３０を付加するとともに、暗号化送信データ３４０を識別するための順序番号３５０を付加し、送信メッセージ３６０を生成する。さらに、送信側装置３００は、生成した送信メッセージ３６０を受信側装置４００に送信する。
【００１０】
一方、受信側装置４００は、送信側装置３００によって送信された送信メッセージ３６０（＝受信メッセージ４６０）を受信し、受信した受信メッセージ４６０からＩＶ４３０（＝ＩＶ３３０）及び順序番号４５０（＝順序番号３５０）を特定する。このとき、受信側装置４００は、順序番号４５０が不正なもの（既に受信した順序番号と同一）である場合には、受信メッセージ４６０を無効なものとみなすことによって、リプレイアタックを防止する。
【００１１】
また、受信側装置４００は、順序番号４５０が正当なものである場合には、暗号鍵４２０と受信メッセージ４６０から特定したＩＶ４３０とを用いたＣＢＣモード等によって、暗号化受信データ４４０（＝暗号化送信データ３４０を復号化する。これにより、受信側装置４００は、受信データ４１０（＝送信データ３１０）を取得する。
【非特許文献１】小早川知昭著、西田晴彦監修、「ＩＰｓｅｃ徹底入門：、翔泳社、2002年8月
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上述のＩＶを利用した方法では、送信側が、ＩＶを用いたＣＢＣモード等によって暗号化したデータ（暗号化データ）に、暗号化に用いたＩＶを付加し、暗号化データとＩＶとを含むメッセージを受信側に送信するため、データのみを暗号化して送信する場合に比べ、ＩＶの分だけ通信リソースが減少するという問題があった。
【００１３】
そこで、本発明は上述の問題を解決するためになされたものであり、ＩＶを用いたＣＢＣモード等によって暗号化されたデータ（暗号化データ）を送受信する際に、通信リソースを有効に利用することができる装置、及び、データ送受信方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の第１の特徴は、初期化ベクトルを用いて所定のデータを暗号化し、暗号化された所定のデータを所定の装置に送信する装置が、初期化ベクトルを生成するための第１の初期化ベクトル生成情報を所定の装置に送信する初期化ベクトル生成情報送信手段と、所定の装置に送信した第１の初期化ベクトル生成情報に基づいて、初期化ベクトルを生成する初期化ベクトル生成手段と、初期化ベクトル生成手段によって生成された初期化ベクトルを用いて、所定のデータを暗号化する暗号化手段とを具備することを要旨とする。
【００１５】
かかる特徴によれば、装置が、初期ベクトルを生成するための第１の初期化ベクトル生成情報を所定の装置に予め送信することによって、初期化ベクトルを所定の装置と共有することにより、装置は、暗号化に用いた初期化ベクトルを、暗号化された所定のデータに付加することなく、暗号化された所定のデータを所定の装置に送信することができる。すなわち、初期化ベクトルを所定のデータに付加する必要がないため、装置は、通信リソースを有効に利用することができる。
【００１６】
本発明の第１の特徴において、初期化ベクトル生成手段が、所定の装置に送信した第１の初期化ベクトル生成情報と、所定のデータを識別するための順序番号とに基づいて、初期化ベクトルを生成することが好ましい。
【００１７】
本発明の第１の特徴において、装置が、初期化ベクトルを生成するための第２の初期化ベクトル生成情報を所定の装置から受信する初期化ベクトル生成情報受信手段を具備し、初期化ベクトル生成手段が、所定の装置に送信した第１の初期化ベクトル生成情報と、所定の装置から受信した第２の初期化ベクトル生成情報とに基づいて、初期化ベクトルを生成することが好ましい。
【００１８】
本発明の第２の特徴は、初期化ベクトルを用いて所定のデータを暗号化し、暗号化された所定のデータを所定の装置に送信する装置が、初期化ベクトルを生成するための第１の初期化ベクトル生成情報を所定の装置から受信する初期化ベクトル生成情報受信手段と、所定の装置から受信した第１の初期化ベクトル生成情報に基づいて、初期化ベクトルを生成する初期化ベクトル生成手段と、初期化ベクトル生成手段によって生成された初期化ベクトルを用いて、所定のデータを暗号化する暗号化手段とを具備することを要旨とする。
【００１９】
かかる特徴によれば、装置が、初期ベクトルを生成するための第１の初期化ベクトル生成情報を所定の装置から予め受信することによって、初期化ベクトルを所定の装置と共有することにより、装置は、暗号化に用いた初期化ベクトルを、暗号化された所定のデータに付加することなく、暗号化された所定のデータを所定の装置に送信することができる。すなわち、初期化ベクトルを所定のデータに付加する必要がないため、装置は、通信リソースを有効に利用することができる。
【００２０】
本発明の第２の特徴において、初期化ベクトル生成手段が、所定の装置から受信した第１の初期化ベクトル生成情報と、所定のデータを識別するための順序番号とに基づいて、初期化ベクトルを生成することが好ましい。
【００２１】
本発明の第２の特徴において、装置が、初期化ベクトルを生成するための第２の初期化ベクトル生成情報を所定の装置に送信する初期化ベクトル生成情報送信手段を具備し、初期化ベクトル生成手段が、所定の装置から受信した第１の初期化ベクトル生成情報と、所定の装置に送信した第２の初期化ベクトル生成情報とに基づいて、初期化ベクトルを生成することが好ましい。
【００２２】
本発明の第３の特徴は、初期化ベクトルを用いて所定のデータを所定の装置から受信する装置が、初期化ベクトルを生成するための第１の初期化ベクトル生成情報を所定の装置から受信する初期化ベクトル生成情報受信手段と、所定の装置から受信した第１の初期化ベクトル生成情報に基づいて、初期化ベクトルを生成する初期化ベクトル生成手段と、初期化ベクトル生成手段によって生成された初期化ベクトルに基づいて、所定の装置によって暗号化された所定のデータを復号化する復号化手段とを具備することを要旨とする。
【００２３】
かかる特徴によれば、装置が、初期化ベクトルを生成するための第１の初期化ベクトル生成情報を所定の装置から予め受信することによって、初期化ベクトルを所定の装置と共有することにより、装置は、暗号化に用いた初期化ベクトルが、暗号化された所定のデータに付加されていなくても、暗号化された所定のデータを復号化することができる。すなわち、初期化ベクトルを所定のデータに付加する必要がないため、装置は、通信リソースを有効に利用することができる。
【００２４】
本発明の第３の特徴において、初期化ベクトル生成手段が、所定の装置から受信した第１の初期化ベクトル生成情報と、暗号化された所定のデータに付加され、暗号化された該所定のデータを識別するための順序番号とに基づいて、初期化ベクトルを生成することが好ましい。
【００２５】
本発明の第３の特徴において、装置が、初期化ベクトルを生成するための第２の初期化ベクトル生成情報を所定の装置に送信する初期化ベクトル生成情報送信手段を具備し、初期化ベクトル生成手段が、所定の装置から受信した第１の初期化ベクトル生成情報と、所定の装置に送信した第２の初期化ベクトル生成情報とに基づいて、初期化ベクトルを生成することが好ましい。
【００２６】
本発明の第４の特徴は、初期化ベクトルを用いて暗号化された所定のデータを所定の装置から受信する装置が、初期化ベクトルを生成するための第１の初期化ベクトル生成情報を所定の装置に送信する初期化ベクトル生成情報送信手段と、所定の装置に送信した第１の初期化ベクトル生成情報に基づいて、初期化ベクトルを生成する初期化ベクトル生成手段と、初期化ベクトル生成手段によって生成された初期化ベクトルに基づいて、所定の装置によって暗号化された所定のデータを復号化する復号化手段とを具備することを要旨とする。
【００２７】
かかる特徴によれば、装置が、初期化ベクトルを生成するための第１の初期化ベクトル生成情報を所定の装置に予め送信することによって、初期化ベクトルを所定の装置と共有することにより、装置は、暗号化に用いた初期化ベクトルが、暗号化された所定のデータに付加されていなくても、暗号化された所定のデータを復号化することができる。すなわち、初期化ベクトルを所定のデータに付加する必要がないため、装置は、通信リソースを有効に利用することができる。
【００２８】
本発明の第４の特徴において、初期化ベクトル生成手段が、所定の装置に送信した第１の初期化ベクトル生成情報と、所定の装置によって暗号化された所定のデータに付加され、暗号化された該所定のデータを識別するための順序番号とに基づいて、初期化ベクトルを生成することが好ましい。
【００２９】
本発明の第４の特徴において、装置が、初期化ベクトルを生成するための第２の初期化ベクトル生成情報を所定の装置から受信する初期化ベクトル生成情報受信手段を具備し、初期化ベクトル生成手段が、所定の装置に送信した第１の初期化ベクトル生成情報と、所定の装置から受信した第２の初期化ベクトル生成情報とに基づいて、初期化ベクトルを生成することが好ましい。
【００３０】
本発明の第５の特徴は、初期化ベクトルを用いて暗号化された所定のデータを送信側装置から受信側装置に送信するデータ送受信方法が、送信側装置が、初期化ベクトルを生成するための初期化ベクトル生成情報を受信側装置に送信するステップと、送信側装置が、初期化ベクトル生成情報に基づいて、初期化ベクトルを生成するステップと、送信側装置が、初期化ベクトル生成情報に基づいて生成された初期化ベクトルを用いて、所定のデータを暗号化するステップと、受信側装置が、送信側装置から受信した初期化ベクトル生成情報に基づいて、初期化ベクトルを生成するステップと、受信側装置が、送信側装置によって暗号化された所定のデータを、初期化ベクトルを用いて復号化するステップとを具備することを要旨とする。
【発明の効果】
【００３１】
本発明によれば、ＩＶを用いたＣＢＣモード等によって暗号化されたデータ（暗号化データ）を送受信する際に、通信リソースを有効に利用する装置、及び、データ送受信方法を提供することができる。
【発明を実施するための最良の形態】
【００３２】
（本発明の一実施形態に係る装置の構成）
以下において、本発明の一実施形態に係る装置の構成について、図面を参照しながら説明する。図１は、本発明の一実施形態に係る装置が適用される環境を示す図である。
【００３３】
同図に示すように、第１装置１００は、ネットワーク２５０を介して第２装置２００と接続されている。また、第１装置１００及び第２装置２００は、例えば、携帯電話、携帯情報端末（ＰＤＡ）、ＰＣ、ルータ、ゲートウェイ、プロキシサーバ等であり、所定のデータを送受信する装置である。また、ネットワーク２５０は、例えば、電話網、インターネット網、無線ＬＡＮ等のネットワークである。
【００３４】
具体的には、第１装置１００及び第２装置２００の構成は、以下に示す通りである。なお、本実施形態において、第１装置１００及び第２装置２００は、同様の構成を有するため、第１装置１００を例に説明する。図２は、本発明の一実施形態における第１装置１００の構成を示す図である。
【００３５】
同図に示すように、第１装置１００は、通信部１０１と、鍵関連情報生成部１０２と、ＩＶ鍵生成部１０３と、ＩＶ生成部１０４と、暗号化・復号化部１０５と、メッセージ生成部１０６とを具備する。
【００３６】
通信部１０１は、第２装置２００との通信インターフェースであり、第２装置２００と所定のデータを送受信するものである。
【００３７】
なお、本実施形態において、通信部１０１は、初期化ベクトル（ＩＶ）を生成するための初期化ベクトル生成情報（鍵関連情報）を所定の装置第２装置２００に送信する初期化ベクトル生成情報送信手段、及び、初期化ベクトル（ＩＶ）を生成するための初期化ベクトル生成情報（鍵関連情報）を所定の装置第２装置２００から受信する初期化ベクトル生成情報受信手段を構成する。
【００３８】
鍵関連情報生成部１０２は、暗号化（又は、復号化）に用いるＩＶを生成するためのＩＶ鍵を生成する際に必要な情報（以下、鍵関連情報）を生成する。具体的には、鍵関連情報とは、ＩＶ鍵を生成する際に用いるランダムなビット列（以下、ランダム値）、ＩＶ鍵を生成する際に用いる所定のアルゴリズム（以下、ＩＶ鍵生成アルゴリズム）、ＩＶ鍵の有効期間、ＩＶ鍵に基づいて生成されたＩＶを用いて暗号化可能なデータ量（以下、有効データ量）などの情報である。
【００３９】
ＩＶ鍵生成部１０３は、鍵関連情報生成部１０２によって生成された鍵関連情報に含まれるランダム値及びＩＶ鍵生成アルゴリズムに基づいてＩＶ鍵を生成する。また、ＩＶ鍵生成部１０３は、鍵関連情報生成部１０２によって生成された鍵関連情報に含まれるＩＶ鍵の有効期間に基づいて、生成したＩＶ鍵が有効であるか否かを判断する。
【００４０】
なお、ＩＶ鍵生成部１０３は、第２装置２００から受信した鍵関連情報に含まれるランダム値及びＩＶ鍵生成アルゴリズムに基づいてＩＶ鍵を生成してもよい。また、ＩＶ鍵生成部１０３は、鍵関連情報生成部１０２によって生成された鍵関連情報に含まれるランダム値及びＩＶ鍵生成アルゴリズムに基づいて生成した値と、第２装置２００から受信した鍵関連情報に含まれるランダム値及びＩＶ鍵生成アルゴリズムに基づいて生成した値との２項演算（論理積（ＡＮＤ）や論理和（ＯＲ）や排他的論理和（ＸＯＲ）等）によって、ＩＶ鍵を生成してもよい。
【００４１】
ＩＶ生成部１０４は、第２装置２００に送信するデータ（又は、第２装置２００から受信したデータ）に付加された順序番号と、ＩＶ鍵生成部１０３によって生成されたＩＶ鍵とに基づいてＩＶを生成する。具体的には、ＩＶ生成部１０４は、順序番号とＩＶ鍵との２項演算（論理積（ＡＮＤ）や論理和（ＯＲ）や排他的論理和（ＸＯＲ）等）によってＩＶを生成する。また、ＩＶ生成部１０４は、順序番号とＩＶ鍵とに基づいてＩＶを生成する際に、Ｈａｓｈ関数を用いてもよい。
【００４２】
ここで、順序番号は、第２装置２００に送信するデータ（又は、第２装置２００から受信したデータ）を識別するための情報であり、データの送信（又は、データの受信）毎に１ずつ増加する情報である。なお、順序番号は、データの送信（又は、データの受信）毎に１ずつ減少する情報であってもよく、データの送信（又は、データの受信）毎に所定の法則（ランダム値とのＡＮＤ（論理積）やＯＲ（論理和）やＸＯＲ（排他的論理和）、所定のハッシュ関数等）に従って変化する情報であってもよい。
【００４３】
なお、ＩＶ生成部１０４は、鍵関連情報に含まれるランダム値等に基づいて、直接ＩＶを生成するように構成されていてもよい。
【００４４】
本実施形態において、ＩＶ鍵生成部１０３及びＩＶ生成部１０４は、初期化ベクトル（ＩＶ）を生成するための初期化ベクトル生成情報（鍵関連情報）に基づいて、初期化ベクトル（ＩＶ）を生成する初期化ベクトル生成手段を構成する。
【００４５】
暗号化・復号化部１０５は、ＩＶ生成部１０４によって生成されたＩＶを用いて、送信するデータの暗号化及び受信したデータの復号化を行うものである。具体的には、図３及び図４を参照しながら説明する。
【００４６】
まず、ＩＶ生成部１０４によって生成されたＩＶを用いてデータを暗号化する方法について説明する。図３は、ＩＶを用いてデータを暗号化する方法を示す図である。
【００４７】
同図に示すように、暗号化・復号化部１０５は、ブロック１〜ブロック４によって構成される平文データ（以下、送信データ）をブロック毎に暗号化することによって、暗号化データ（以下、送信暗号化データ）を生成する。
【００４８】
具体的には、暗号化・復号化部１０５は、鍵関連情報に基づいて生成されたＩＶ鍵及び順序番号に基づいてＩＶ生成部１０４が生成したＩＶと、平文ブロック１とのＸＯＲによって得られた値を、所定の暗号鍵（対称鍵や非対称鍵）によって暗号化することによって、暗号化ブロック１を生成する。なお、暗号化の方法は、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）やＲＳＡ（Ｒｉｖｅｓｔ  Ｓｈａｍｉｒ  Ａｄｌｅｍａｎ）などである。
【００４９】
暗号化・復号化部１０５は、生成された暗号化ブロック１と平文ブロック２とのＸＯＲによって得られた値を所定の暗号化方法によって暗号化することによって、暗号化ブロック２を生成する。
【００５０】
同様に、暗号化・復号化部１０５は、平文ブロック３〜平文ブロック４を暗号化することによって、暗号化ブロック３〜暗号化ブロック４を生成する。
【００５１】
このようにして、暗号化・復号化部１０５は、送信データを暗号化することによって、暗号化送信データを生成する。
【００５２】
なお、本実施形態においては、ＩＶを用いた暗号化の方法として、暗号ブロック連鎖モード（Ｃｉｐｈｅｒ  Ｂｌｏｃｋ  Ｃｈａｉｎｉｎｇ  ｍｏｄｅ）を例に説明したが、これに限定されるものではなく、ＩＶを用いた暗号化の方法であればよい（例えば、暗号フィードバックモード（Ｃｉｐｈｅｒ  Ｆｅｅｄｂａｃｋ  ｍｏｄｅ）、出力フィードバックモード（Ｏｕｔｐｕｔ  Ｆｅｅｄｂａｃｋ  ｍｏｄｅ）等）。
【００５３】
次に、ＩＶ生成部１０４によって生成されたＩＶを用いてデータを復号化する方法について説明する。図４は、ＩＶを用いてデータを復号化する方法を示す図である。
【００５４】
同図に示すように、暗号化・復号化部１０５は、暗号化ブロック１〜暗号化ブロック４によって構成される暗号化データ（以下、暗号化受信データ）を復号化することによって、平文データ（以下、受信データ）を生成する。
【００５５】
具体的には、暗号化・復号化部１０５は、暗号化ブロック１を所定の暗号鍵（対称鍵や非対称鍵）によって復号化した値と、鍵関連情報に基づいて生成されたＩＶ鍵及び順序番号に基づいてＩＶ生成部１０４が生成したＩＶとのＸＯＲによって、平文ブロック１を生成する。
【００５６】
また、暗号化・復号化部１０５は、暗号化ブロック２を所定の暗号鍵（対称鍵や非対称鍵）によって復号化した値と暗号化ブロック１とのＸＯＲによって、平文ブロック２を生成する。
【００５７】
同様に、暗号化・復号化部１０５は、暗号化ブロック３〜暗号化ブロック４を復号化することによって、平文ブロック３〜平文ブロック４を生成する。
【００５８】
このようにして、暗号化・復号化部１０５は、暗号化受信データを復号化することによって、受信データを生成する。
【００５９】
メッセージ生成部１０６は、暗号化・復号化部１０５によって暗号化されたデータ（暗号化送信データ）に順序番号を付加し、暗号化送信データと順序番号とを含む送信メッセージを生成する。なお、順序番号は、送信データの暗号化に用いたＩＶを生成する際に用いた順序番号であるものとする。
【００６０】
（本発明の一実施形態に係る装置の動作）
以下において、本発明の一実施形態に係る装置の動作について、図面を参照しながら説明する。図５は、本発明の一実施形態に係る装置の動作を示す図である。なお、以下においては、第１装置１００がデータの送信側、第２装置２００がデータの受信側であるものとして説明する。
【００６１】
同図に示すように、第１装置１００は、暗号化送信データに付加される順序番号及び鍵関連情報から生成されるＩＶ鍵に基づいてＩＶを生成し、生成されたＩＶと暗号鍵とを用いて送信データを暗号化することによって、暗号化送信データを生成する。また、第１装置１００は、生成された暗号化送信データに順序番号を付加して、暗号化送信データと順序番号とを含む送信メッセージを第２装置２００に送信する。
【００６２】
一方、第２装置２００は、受信メッセージ（＝送信メッセージ）に含まれる順序番号及び鍵関連情報から生成されるＩＶ鍵に基づいてＩＶを生成し、生成されたＩＶと暗号鍵とを用いて暗号化受信データを復号化することによって、受信データを生成する。
【００６３】
以下、図６を参照しながら、具体的に説明する。図６は、本発明の一実施形態に係る装置の動作を示すシーケンス図である。
【００６４】
なお、以下において、第２装置２００の通信部２０１及び鍵関連情報生成部２０２及びＩＶ鍵生成部２０３及びＩＶ生成部２０４及び暗号化・復号化部２０５及びメッセージ生成部２０６は、第１装置１００の通信部１０１及び鍵関連情報生成部１０２及びＩＶ鍵生成部１０３及びＩＶ生成部１０４及びメッセージ生成部１０６及び暗号化・復号化部１０５と同様の機能を具備するものとする。
【００６５】
ステップ１０ａにおいて、第１装置１００の通信部１０１は、鍵関連情報生成部１０２によって生成された鍵関連情報（ランダム値及びＩＶ鍵生成アルゴリズム等）を送信し、ステップ１０ｂにおいて、第２装置２００の通信部２０１は、該鍵関連情報を受信する。
【００６６】
ステップ１１において、第１装置１００のＩＶ鍵生成部１０３は、鍵関連情報に含まれるランダム値及びＩＶ鍵生成アルゴリズムに基づいて、ＩＶ鍵を生成する。
【００６７】
ステップ１２において、第１装置１００のＩＶ鍵生成部１０３は、ステップ１１で生成されたＩＶ鍵と送信暗号化データに付加される順序番号とに基づいて、ＩＶを生成する。
【００６８】
ステップ１３において、第１装置１００のＩＶ生成部１０４は、ステップ１２で生成されたＩＶと暗号鍵とを用いて送信データを暗号化することによって、暗号化送信データを生成する。
【００６９】
ステップ１４において、第２装置２００のＩＶ鍵生成部２０３は、第１装置１００から受信した鍵関連情報に含まれるランダム値及びＩＶ鍵生成アルゴリズムに基づいて、ＩＶ鍵を生成する。すなわち、第２装置２００及び第１装置１００は、ＩＶ鍵を共有する。
【００７０】
ステップ１５ａにおいて、第１装置１００のメッセージ生成部１０６は、ステップ１３で生成された暗号化送信データと、ステップ１２でＩＶを生成するために用いた順序番号とを含む送信メッセージを生成し、第１装置１００の通信部１０１は、生成された送信メッセージを送信する。ステップ１５ｂにおいて、第２装置２００の通信部２０１は、送信メッセージ（＝受信メッセージ）を受信する。
【００７１】
ステップ１６において、第２装置２００のＩＶ生成部２０４は、受信メッセージに含まれる順序番号と、ステップ１４で生成されたＩＶ鍵とに基づいてＩＶを生成する。
【００７２】
ステップ１７において、第２装置２００の暗号化・復号化部２０５は、ステップ１６で生成されたＩＶと暗号鍵とを用いて、受信メッセージに含まれる受信暗号化データ（＝送信暗号化データ）を復号化することによって、受信データ（＝送信データ）を生成する。
【００７３】
（本発明の一実施形態に係る装置の作用及び効果）
本実施形態に係る第１装置１００及び第２装置２００によれば、ＩＶ鍵を生成するための鍵関連情報を第１装置１００が予め送信することによって、第１装置１００及び第２装置２００は、ＩＶ鍵を共有することができる。すなわち、第１装置１００及び第２装置２００は、送信メッセージ（＝受信メッセージ）に含まれる順序番号と第１装置１００及び第２装置２００によって共有されたＩＶ鍵とに基づいて生成されるＩＶを共有することができる。
【００７４】
これにより、第１装置１００は、暗号化データにＩＶを付加することなく、暗号化データを含む送信メッセージを送信することができる。また、第２装置２００は、受信メッセージにＩＶが付加されていなくても、受信メッセージに含まれる暗号化受信データを復号化することができる。
【００７５】
（変更例１）
以下において、本発明の一変更例に係る装置の動きについて、図面を参照しながら説明する。なお、以下においては、上述の実施形態との相違点のみについて説明する。
【００７６】
図７は、本変更例に係る装置の動きを示す図である。同図に示すように、ステップ２０ａにおいて、第２装置２００の通信部２０１は、鍵関連情報生成部２０２によって生成された鍵関連情報（ランダム値及びＩＶ鍵生成アルゴリズム等）を送信し、ステップ２０ｂにおいて、第１装置１００の通信部１０１は、該鍵関連情報を受信する。
【００７７】
ステップ２１において、第１装置１００のＩＶ鍵生成部１０３は、第２装置２００から受信した鍵関連情報に含まれるランダム値及びＩＶ鍵生成アルゴリズムに基づいて、ＩＶ鍵を生成する。
【００７８】
ステップ２２及びステップ２３において、第１装置１００のＩＶ生成部１０４及び暗号化・復号化部１０５は、上述のステップ１２及びステップ１３における処理と同様の処理を行う。
【００７９】
ステップ２４において、第２装置２００のＩＶ鍵生成部２０３は、第１装置１００に送信した鍵関連情報に含まれるランダム値及びＩＶ鍵生成アルゴリズムに基づいて、ＩＶ鍵を生成する。すなわち、第２装置２００及び第１装置１００は、ＩＶ鍵を共有する。
【００８０】
ステップ２５ａにおいて、第１装置１００の通信部１０１は、上述のステップ１５ａにおける処理と同様の処理を行う。
【００８１】
ステップ２５ｂ〜ステップ２７において、第２装置２００の通信部２０１及びＩＶ生成部２０４及び暗号化・復号化部２０５は、上述のステップ１５ｂ〜ステップ１７における処理と同様の処理を行う。
【００８２】
本変更例に係る第１装置１００及び第２装置２００によれば、ＩＶ鍵を生成するための鍵関連情報を第２装置２００が予め送信することによって、第１装置１００及び第２装置２００は、ＩＶ鍵を共有することができる。すなわち、第１装置１００及び第２装置２００は、送信メッセージ（＝受信メッセージ）に含まれる順序番号と第１装置１００及び第２装置２００によって共有されたＩＶ鍵とに基づいて生成されるＩＶを共有することができる。
【００８３】
これにより、第１装置１００は、暗号化データにＩＶを付加することなく、暗号化データを含む送信メッセージを送信することができる。また、第２装置２００は、受信メッセージにＩＶが付加されていなくても、受信メッセージに含まれる暗号化受信データを復号化することができる。
【００８４】
（変更例２）
以下において、本発明の一変更例に係る装置の動きについて、図面を参照しながら説明する。なお、以下においては、上述の実施形態との相違点のみについて説明する。
【００８５】
図８は、本変更例に係る装置の動きを示す図である。同図に示すように、ステップ３０−１ａにおいて、第１装置１００の通信部１０１は、鍵関連情報生成部１０２によって生成された鍵関連情報ａ（ランダム値及びＩＶ鍵生成アルゴリズム等）を送信し、ステップ３０−１ｂにおいて、第２装置２００の通信部２０１は、該鍵関連情報を受信する。
【００８６】
ステップ３０−２ａにおいて、第２装置２００の通信部２０１は、鍵関連情報生成部２０２によって生成された鍵関連情報ｂ（ランダム値及びＩＶ鍵生成アルゴリズム等）を送信し、ステップ３０−２ｂにおいて、第１装置１００の通信部１０１は、該鍵関連情報を受信する。
【００８７】
ステップ３１において、第１装置１００のＩＶ鍵生成部１０３は、鍵関連情報生成部１０２によって生成された鍵関連情報ａに含まれるランダム値及びＩＶ鍵生成アルゴリズムに基づいて生成した値と、第２装置２００から受信した鍵関連情報に含まれるランダム値及びＩＶ鍵生成アルゴリズムに基づいて生成した値との２項演算（論理積（ＡＮＤ）や論理和（ＯＲ）や排他的論理和（ＸＯＲ）等）によって、ＩＶ鍵を生成する。
【００８８】
ステップ３２及びステップ３３において、第１装置１００のＩＶ生成部１０４及び暗号化・復号化部１０５は、上述のステップ１２及びステップ１３における処理と同様の処理を行う。
【００８９】
ステップ３４において、第２装置２００のＩＶ鍵生成部２０３は、鍵関連情報生成部２０２によって生成された鍵関連情報に含まれるランダム値及びＩＶ鍵生成アルゴリズムに基づいて生成した値と、第１装置１００から受信した鍵関連情報に含まれるランダム値及びＩＶ鍵生成アルゴリズムに基づいて生成した値との２項演算（論理積（ＡＮＤ）や論理和（ＯＲ）や排他的論理和（ＸＯＲ）等）によって、ＩＶ鍵を生成する。
【００９０】
ステップ３５ａにおいて、第１装置１００の通信部１０１は、上述のステップ１５ａにおける処理と同様の処理を行う。
【００９１】
ステップ３５ｂ〜ステップ３７において、第２装置２００の通信部２０１及びＩＶ生成部２０４及び暗号化・復号化部２０５は、上述のステップ１５ｂ〜ステップ１７における処理と同様の処理を行う。
【００９２】
本変更例に係る第１装置１００及び第２装置２００によれば、ＩＶ鍵を生成するための鍵関連情報を第１装置１００及び第２装置２００が相互に予め送信することによって、第１装置１００及び第２装置２００は、ＩＶ鍵を共有することができる。すなわち、第１装置１００及び第２装置２００は、送信メッセージ（＝受信メッセージ）に含まれる順序番号と、第１装置１００及び第２装置２００によって共有されたＩＶ鍵とに基づいて生成されるＩＶを共有することができる。
【００９３】
これにより、第１装置１００は、暗号化データにＩＶを付加することなく、暗号化データを含む送信メッセージを送信することができる。また、第２装置２００は、受信メッセージにＩＶが付加されていなくても、受信メッセージに含まれる暗号化受信データを復号化することができる。
【図面の簡単な説明】
【００９４】
【図１】本実施形態に係る第１装置１００及び第２装置２００が設置される環境を示す図である。
【図２】本実施形態に係る第１装置１００の構成を示すブロック図である。
【図３】本実施形態に係る暗号化・復号化部１０５による暗号化の方法を示す図である。
【図４】本実施形態に係る暗号化・復号化部１０５による暗号化の方法を示す図である。
【図５】本実施形態に係る第１装置１００の動きを示す図である（その１）。
【図６】本実施形態に係る第１装置１００の動きを示す図である（その２）。
【図７】変更例１に係る第１装置１００の動きを示す図である。
【図８】変更例２に係る第１装置１００の動きを示す図である。
【図９】送信側装置が受信側装置にメッセージを送信する際における従来技術を示す図である。
【符号の説明】
【００９５】
１００・・・第１装置、１０１・・・通信部、１０２・・・鍵関連情報生成部、１０３・・・ＩＶ鍵生成部、１０４・・・ＩＶ生成部、１０５・・・暗号化・復号化部、１０６・・・メッセージ生成部、２００・・・第２装置、２０１・・・通信部、２０２・・・鍵関連情報生成部、２０３・・・ＩＶ鍵生成部、２０４・・・ＩＶ生成部、２０５・・・暗号化・復号化部、２０６・・・メッセージ生成部、２５０・・・ネットワーク、３００・・・送信側装置、３１０・・・送信データ、３２０・・・暗号鍵、３３０・・・ＩＶ、３４０・・・暗号化送信データ、３５０・・・順序番号、３６０・・・送信メッセージ、４００・・・受信側装置、４１０・・・受信データ、４２０・・・暗号鍵、４３０・・・ＩＶ、４４０・・・暗号化受信データ、４５０・・・順序番号、４６０・・・受信メッセージ
【図１】
2005167635.tif 000003
【図２】
2005167635.tif 000004
【図３】
2005167635.tif 000005
【図４】
2005167635.tif 000006
【図５】
2005167635.tif 000007
【図６】
2005167635.tif 000008
【図７】
2005167635.tif 000009
【図８】
2005167635.tif 000010
【図９】
2005167635.tif 000011