(57)【要約】【課題】少なくとも三者間で情報をやり取りする場合に利用可能な、セキュアなデータ通信のための暗号化および復号化のためのシステムおよび方法を提供する。【解決手段】本システムは、ネットワーク接続されている第１〜第３のコンピュータ間で所定の情報を暗号化して送受信する。第１のコンピュータは、予め定められた情報から変換アルゴリズムに従って生成した変換後情報と、所定のアルゴリズムで生成したチェックデジットとからスクランブルコードを生成する。第２のコンピュータは、少なくともスクランブルコード、本人識別情報、および購入金額の値を第３のコンピュータに送信する。第３のコンピュータは、逆変換アルゴリズムに従ってスクランブルコードを解読し、所定の判定を行う。この判定は、チェックデジットおよび本人識別情報が一致するか、および購入金額が利用可能金額以下であるかを判定して行われる。【選択図】図６
2011049681.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク経由で相互接続されている第１、第２、および第３のコンピュータ間で予め定められた情報を暗号化して送受信するシステムであって、
第１のコンピュータは、
第２のコンピュータからの要求に応答して、前記予め定められた情報を所定の順序で配列し、変換前情報を生成する手段と、
前記変換前情報に基づいて第１のチェックデジットを算出する手段と、
ｎが整数である、ｎ個の変換アルゴリズムを格納する変換アルゴリズム格納手段と、
前記変換アルゴリズム格納手段から一つの変換アルゴリズムを読み出す手段と、
変換アルゴリズムを読み出せた場合に、該変換アルゴリズムにしたがって前記変換前情報から変換後情報を生成する変換手段と、
前記変換アルゴリズム格納手段からｎ個の変換アルゴリズムを全て読み出すまで、前記読み出す手段と、前記変換手段とを繰り返し動作させる手段であって、生成された変換後情報が次の繰り返し動作時に変換前情報として扱われ、前記ｎ個の変換アルゴリズムによる変換がすべて終わった段階で生成される変換後情報に第１のチェックデジットを付加してスクランブルコードを生成する手段と、
前記スクランブルコードを第２のコンピュータに送信する手段と
を備え、
第２のコンピュータは、
少なくとも前記スクランブルコード、本人識別情報、および購入金額の値を含む購入申込データを第３のコンピュータに送信する手段
を備え、
第３のコンピュータは、
第２のコンピュータから受信した前記スクランブルコードのうち前記第１のチェックデジット以外のデータを抽出し、第２の変換前情報を生成する手段と、
ｎが整数である、ｎ個の逆変換アルゴリズムを格納する逆変換アルゴリズム格納手段であって、該逆変換アルゴリズムは前記変換アルゴリズムと１対１に対応付けられる、逆変換アルゴリズム格納手段と、
前記逆変換アルゴリズム格納手段から一つの逆変換アルゴリズムを読み出す手段と、
逆変換アルゴリズムを読み出せた場合に、該逆変換アルゴリズムにしたがって前記第２の変換前情報から第２の変換後情報を生成する逆変換手段と、
前記逆変換アルゴリズム格納手段からｎ個の逆変換アルゴリズムを全て読み出すまで、前記読み出す手段と、前記逆変換手段とを繰り返し動作させる手段であって、生成された第２の変換後情報が次の繰り返し動作時に第２の変換前情報として扱われる、手段と、
最終的に生成された第２の変換後情報に基づいて第２のチェックデジットを算出する手段と、
判定手段であって、
前記第１のチェックデジットと前記第２のチェックデジットとが一致するか否かを判定し、
前記最終的に生成された第２の変換後情報に含まれる本人識別情報と第２のコンピュータから受信した本人識別情報とが一致するか否かを判定し、
第２のコンピュータから受信した購入金額の値が、前記最終的に生成された第２の変換後情報に含まれる申込条件を示す値以下であるか否かを判定する、
判定手段と
を備えたことを特徴するシステム。
【請求項２】
前記第１のコンピュータは、
前記予め定められた情報を所定の順序で配列するための第１のフォーマットデータ、および前記スクランブルコードに対応付けられる第２のフォーマットデータを格納する第１のフォーマット格納手段
をさらに備え、
前記第３のコンピュータは、
前記最終的に生成された第２の変換後情報に対応付けられる第３のフォーマットデータ、および前記スクランブルコードに対応付けられる前記第２のフォーマットデータを格納する第２のフォーマット格納手段
をさらに備えたことを特徴とする請求項１に記載のシステム。
【請求項３】
１対１に対応付けられる前記変換アルゴリズムと前記逆変換アルゴリズムは、
前記変換アルゴリズムによって第１のデータシーケンスが第２のデータシーケンスに変換され、
前記逆変換アルゴリズムによって前記第２のデータシーケンスが前記第１のデータシーケンスに変換される、
ことを特徴とする請求項１または２に記載のシステム。
【請求項４】
ネットワーク経由で相互接続されている第１、第２、および第３のコンピュータ間で予め定められた情報を暗号化して送受信する方法であって、
第１のコンピュータが、
第２のコンピュータからの要求に応答して、前記予め定められた情報を所定の順序で配列し、変換前情報を生成するステップと、
前記変換前情報に基づいて第１のチェックデジットを算出するステップと、
ｎが整数である、ｎ個の変換アルゴリズムを格納する変換アルゴリズム格納手段から一つの変換アルゴリズムを読み出すステップと、
変換アルゴリズムを読み出せた場合に、該変換アルゴリズムにしたがって前記変換前情報から変換後情報を生成する変換ステップと、
前記変換アルゴリズム格納手段からｎ個の変換アルゴリズムを全て読み出すまで、前記読み出すステップと、前記変換ステップとを繰り返し動作させるステップであって、生成された変換後情報が次の繰り返し動作時に変換前情報として扱われ、前記ｎ個の変換アルゴリズムによる変換がすべて終わった段階で生成される変換後情報に第１のチェックデジットを付加してスクランブルコードを生成するステップと、
前記スクランブルコードを第２のコンピュータに送信するステップと
を実行し、
第２のコンピュータが、
少なくとも前記スクランブルコード、本人識別情報、および購入金額の値を含む購入申込データを第３のコンピュータに送信するステップ
を実行し、
第３のコンピュータが、
第２のコンピュータから受信した前記スクランブルコードのうち前記第１のチェックデジット以外のデータを抽出し、第２の変換前情報を生成するステップと、
ｎが整数である、ｎ個の逆変換アルゴリズムを格納する逆変換アルゴリズム格納手段から一つの逆変換アルゴリズムを読み出すステップであって、該逆変換アルゴリズムは前記変換アルゴリズムと１対１に対応付けられる、ステップと、
逆変換アルゴリズムを読み出せた場合に、該逆変換アルゴリズムにしたがって前記第２の変換前情報から第２の変換後情報を生成する逆変換ステップと、
前記逆変換アルゴリズム格納手段からｎ個の逆変換アルゴリズムを全て読み出すまで、前記読み出すステップと、前記逆変換ステップとを繰り返し動作させるステップであって、生成された第２の変換後情報が次の繰り返し動作時に第２の変換前情報として扱われる、ステップと、
最終的に生成された第２の変換後情報に基づいて第２のチェックデジットを算出するステップと、
判定ステップであって、
前記第１のチェックデジットと前記第２のチェックデジットとが一致するか否かを判定し、
前記最終的に生成された第２の変換後情報に含まれる本人識別情報と第２のコンピュータから受信した本人識別情報とが一致するか否かを判定し、
第２のコンピュータから受信した購入金額の値が、前記最終的に生成された第２の変換後情報に含まれる申込条件を示す値以下であるか否かを判定する、
判定ステップと
を実行する
ことを特徴する方法。
【請求項５】
前記第１のコンピュータは、
前記予め定められた情報を所定の順序で配列するための第１のフォーマットデータ、および前記スクランブルコードに対応付けられる第２のフォーマットデータを格納する第１のフォーマット格納手段
をさらに備え、
前記第３のコンピュータは、
前記最終的に生成された第２の変換後情報に対応付けられる第３のフォーマットデータ、および前記スクランブルコードに対応付けられる前記第２のフォーマットデータを格納する第２のフォーマット格納手段
をさらに備えたことを特徴とする請求項４に記載の方法。
【請求項６】
１対１に対応付けられる前記変換アルゴリズムと前記逆変換アルゴリズムは、
前記変換アルゴリズムによって第１のデータシーケンスが第２のデータシーケンスに変換され、
前記逆変換アルゴリズムによって前記第２のデータシーケンスが前記第１のデータシーケンスに変換される、
ことを特徴とする請求項４または５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュアなデータ通信のための暗号化および復号化のためのシステムおよび方法に関する。より詳細には、本発明は、購入者本人を確認するための暗号化された情報を送信し、受信側でその情報を復号化することによって、セキュアなデータ通信を実現するシステムおよび方法に関する。
【背景技術】
【０００２】
近年、インターネットなどのネットワークを利用して各種契約・決済を行う取引形態である電子商取引が広まっている。このうち、企業・消費者間の取引は「ＢｔｏＣ（Business to Consumer）」と呼ばれているが、消費者から企業に対しては個人のプライバシーに関わる情報やクレジットカード番号など、第三者に情報漏えいが起こった場合に被害の大きい情報がやり取りされている。かかる場合のセキュリティ対策として、各種暗号技術が採用されている。
各種暗号技術としては、例えば、対称暗号、メッセージ認証コード、公開鍵暗号、デジタル署名、擬似乱数生成器、ＳＳＬ／ＴＬＳなどが従来から知られている（非特許文献１参照）。このうち、ＳＳＬ／ＴＬＳは、インターネット上で情報を暗号化して送受信するプロトコルの一つであり、最も利用頻度の高い暗号技術である。なお、ＳＳＬ／ＴＬＳは、公開鍵暗号や秘密鍵暗号、デジタル証明書、ハッシュ関数などのセキュリティ技術を組み合わせ、データの盗聴や改ざん、なりすましを防ぐためのプロトコルである。
【０００３】
一方、金融機関が提供する預金商品の一つに、所定の用途に使用する場合に所定の特典が受けられる提携特典付預金などがある。このような預金商品で得られる特典が付与されて当該金融機関の提携企業からサービスの提供を受ける場合、契約者、当該金融機関、当該提携企業の間で情報のやり取りをしなければならない。このような情報のやり取りにおいても、第三者への情報漏えいを防止する必要があり、ネットワーク上で情報をやり取りする場合には上記のようなセキュリティ技術を採用することが必須となる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】結城  浩著、「新版  暗号技術入門」ソフトバンククリエイティブ株式会社、2008年11月、p.48-368
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記のセキュリティ技術を使用したとしても、必要な情報を全て関係者間で送受信した場合には、暗号が解読されて情報が漏えいする虞がある。このため、必要な情報を関係者間で全てやり取りしなくても、関係者がやり取りした情報をもとに必要な情報を導き出せるような仕組みが求められており、また、関係者間でやり取りする情報が仮に漏えいしたとしても、漏えいした情報だけでは全く意味をなさないようにする仕組みも求められている。
【０００６】
本発明は、このような問題に鑑みてなされたもので、少なくとも三者間で情報をやり取りする場合に従来のセキュリティ技術と併せて利用可能な、セキュアなデータ通信のための暗号化および復号化のためのシステムおよびそのための方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明に係るシステムは、ネットワーク経由で相互接続されている第１、第２、および第３のコンピュータ間で予め定められた情報を暗号化して送受信するシステムであって、第１のコンピュータは、第２のコンピュータからの要求に応答して、前記予め定められた情報を所定の順序で配列し、変換前情報を生成する手段と、前記変換前情報に基づいて第１のチェックデジットを算出する手段と、ｎが整数である、ｎ個の変換アルゴリズムを格納する変換アルゴリズム格納手段と、前記変換アルゴリズム格納手段から一つの変換アルゴリズムを読み出す手段と、変換アルゴリズムを読み出せた場合に、該変換アルゴリズムにしたがって前記変換前情報から変換後情報を生成する変換手段と、前記変換アルゴリズム格納手段からｎ個の変換アルゴリズムを全て読み出すまで、前記読み出す手段と、前記変換手段とを繰り返し動作させる手段であって、生成された変換後情報が次の繰り返し動作時に変換前情報として扱われ、前記ｎ個の変換アルゴリズムによる変換がすべて終わった段階で生成される変換後情報に第１のチェックデジットを付加してスクランブルコードを生成する手段と、前記スクランブルコードを第２のコンピュータに送信する手段を備え、第２のコンピュータは、少なくとも前記スクランブルコード、本人識別情報、および購入金額の値を含む購入申込データを第３のコンピュータに送信する手段を備え、第３のコンピュータは、第２のコンピュータから受信した前記スクランブルコードのうち前記第１のチェックデジット以外のデータを抽出し、第２の変換前情報を生成する手段と、ｎが整数である、ｎ個の逆変換アルゴリズムを格納する逆変換アルゴリズム格納手段であって、該逆変換アルゴリズムは前記変換アルゴリズムと１対１に対応付けられる、逆変換アルゴリズム格納手段と、前記逆変換アルゴリズム格納手段から一つの逆変換アルゴリズムを読み出す手段と、逆変換アルゴリズムを読み出せた場合に、該逆変換アルゴリズムにしたがって前記第２の変換前情報から第２の変換後情報を生成する逆変換手段と、前記逆変換アルゴリズム格納手段からｎ個の逆変換アルゴリズムを全て読み出すまで、前記読み出す手段と、前記逆変換手段とを繰り返し動作させる手段であって、生成された第２の変換後情報が次の繰り返し動作時に第２の変換前情報として扱われる、手段と、最終的に生成された第２の変換後情報に基づいて第２のチェックデジットを算出する手段と、判定手段であって、前記第１のチェックデジットと前記第２のチェックデジットとが一致するか否かを判定し、前記最終的に生成された第２の変換後情報に含まれる本人識別情報と第２のコンピュータから受信した本人識別情報とが一致するか否かを判定し、第２のコンピュータから受信した購入金額の値が、前記最終的に生成された第２の変換後情報に含まれる申込条件を示す値以下であるか否かを判定する、判定手段とを備えたことを特徴する。
【０００８】
また、本発明に係る方法は、ネットワーク経由で相互接続されている第１、第２、および第３のコンピュータ間で予め定められた情報を暗号化して送受信する方法であって、第１のコンピュータが、第２のコンピュータからの要求に応答して、前記予め定められた情報を所定の順序で配列し、変換前情報を生成するステップと、前記変換前情報に基づいて第１のチェックデジットを算出するステップと、ｎが整数である、ｎ個の変換アルゴリズムを格納する変換アルゴリズム格納手段から一つの変換アルゴリズムを読み出すステップと、変換アルゴリズムを読み出せた場合に、該変換アルゴリズムにしたがって前記変換前情報から変換後情報を生成する変換ステップと、前記変換アルゴリズム格納手段からｎ個の変換アルゴリズムを全て読み出すまで、前記読み出すステップと、前記変換ステップとを繰り返し動作させるステップであって、生成された変換後情報が次の繰り返し動作時に変換前情報として扱われ、前記ｎ個の変換アルゴリズムによる変換がすべて終わった段階で生成される変換後情報に第１のチェックデジットを付加してスクランブルコードを生成するステップと、前記スクランブルコードを第２のコンピュータに送信するステップを実行し、第２のコンピュータが、少なくとも前記スクランブルコード、本人識別情報、および購入金額の値を含む購入申込データを第３のコンピュータに送信するステップを実行し、第３のコンピュータが、第２のコンピュータから受信した前記スクランブルコードのうち前記第１のチェックデジット以外のデータを抽出し、第２の変換前情報を生成するステップと、ｎが整数である、ｎ個の逆変換アルゴリズムを格納する逆変換アルゴリズム格納手段から一つの逆変換アルゴリズムを読み出すステップであって、該逆変換アルゴリズムは前記変換アルゴリズムと１対１に対応付けられる、ステップと、逆変換アルゴリズムを読み出せた場合に、該逆変換アルゴリズムにしたがって前記第２の変換前情報から第２の変換後情報を生成する逆変換ステップと、前記逆変換アルゴリズム格納手段からｎ個の逆変換アルゴリズムを全て読み出すまで、前記読み出すステップと、前記逆変換ステップとを繰り返し動作させるステップであって、生成された第２の変換後情報が次の繰り返し動作時に第２の変換前情報として扱われる、ステップと、最終的に生成された第２の変換後情報に基づいて第２のチェックデジットを算出するステップと、判定ステップであって、前記第１のチェックデジットと前記第２のチェックデジットとが一致するか否かを判定し、前記最終的に生成された第２の変換後情報に含まれる本人識別情報と第２のコンピュータから受信した本人識別情報とが一致するか否かを判定し、第２のコンピュータから受信した購入金額の値が、前記最終的に生成された第２の変換後情報に含まれる申込条件を示す値以下であるか否かを判定する、判定ステップとを実行することを特徴する。
【発明の効果】
【０００９】
本発明は、少なくとも三者間で情報をやり取りする場合に従来のセキュリティ技術と併せて利用可能な、セキュアなデータ通信のための暗号化および復号化のためのシステムおよびそのための方法を提供できる。
【図面の簡単な説明】
【００１０】
【図１】本発明に係る、顧客Ａ、銀行Ｂ、提携企業Ｃの三者間で行われるデータ処理およびデータのやり取りの概念を示す全体図である。
【図２】本発明に係る生成システムのハードウェア構成を示す図である。
【図３】本発明に係る解読システムのハードウェア構成を示す図である。
【図４】本発明に係る生成システムの機能ブロックの構成を示す図である。
【図５】本発明に係る解読システムの機能ブロックの構成を示す図である。
【図６】本発明に係る暗号化の処理フローを示す図である。
【図７】本発明に係る復号化の処理フローを示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について詳細に説明する。以下の説明では、本発明を理解しやすくするため、顧客Ａ、銀行Ｂ、提携企業Ｃの三者を登場させ、顧客Ａが、銀行Ｂが提供する提携特典付預金を、特典が付与されて提携企業Ｃによって提供されるサービスを購入するために使用するケースを用いて説明する。
【００１２】
また、提携企業Ｃが顧客Ａに提供するサービスは必ずしも全ての処理がネットワーク上で完結するものばかりではない。そのため、顧客Ａ、銀行Ｂ、提携企業Ｃの三者間で行われるデータのやり取りは全てがネットワーク上でやり取りされるわけではなく、一部に郵送などの手段が含まれることもある。しかしながら、本発明の要旨となる部分は、すべてコンピュータによって実行されることに留意されたい。
【００１３】
なお、本明細書において使用する「スクランブルコード」とは、所定の英数字データに対して予め定められたアルゴリズムにしたがってデータの置換および並べ替えを所定の回数行った結果生成される意味の無い英数字データ、つまり、「スクランブルされたデータ（scrambled data）」のことをいう。異なる所定の英数字データから同一のスクランブルコードを生成することは非常に困難であるため、本発明では、スクランブルコードを顧客Ａ、銀行Ｂ、提携企業Ｃの三者間で送受信される、適切にサービスを受けるための識別子として説明する。
【００１４】
図１は、顧客Ａ、銀行Ｂ、提携企業Ｃの三者間で行われるデータ処理およびデータのやり取りの概念を示す全体図である。この全体図の流れを説明すると図１の（１）〜（４）の順番で手続きが進んでいく。  
（１）まず、顧客Ａは銀行Ｂが提供する提携特典付預金の申し込みをする。この申し込みの際に、顧客Ａは当該金融機関の提携企業を選択する。また、提携企業Ｃのサービスを将来的に利用するため、提携企業Ｃが顧客Ａの指定する口座から購入代金を引き落とすための口座振替契約もあわせて締結する。銀行Ｂは、この段階で顧客Ａの本人識別情報、申込条件、提携企業などの情報を勘定系システム１１０に登録しておく。  
（２）所定の期間経過（例えば、預金の満期到来）後、顧客Ａは銀行Ｂに対して提携特典付預金の解約申し込みを行う。銀行Ｂでは解約に必要な手続きをするとともに、予め定められたアルゴリズムに従ってスクランブルコードを生成して顧客Ａに通知する。この通知はインターネットバンキングのサービスなどネットワーク経由で行うことができる。  
（３）顧客Ａは通知されたスクランブルコードとともに所定の情報（例えば、購入する商品またはサービスの名前、購入金額、本人識別情報）を顧客Ａが選択した提携企業（提携企業Ｃ）に対して送信する。顧客Ａは提携企業Ｃが提供するウェブサイトを利用して情報を入力・送信することもできる。  
（４）提携企業Ｃは顧客Ａから受け取ったスクランブルコードを予め定められたアルゴリズムに従って解読する。このアルゴリズムは銀行Ｂと提携企業Ｃの間で予め定められたものであり、両者がそれぞれ当該アルゴリズムの情報を保有している。提携企業Ｃは、解読結果に基づいて銀行Ｂに対して口座引き落としの手続きをするとともに、顧客Ａに対してサービスを提供する。
【００１５】
図２は、本発明に係るスクランブルコード生成システム１００のハードウェア構成を示す図である。生成システム１００は、その内部に制御部１０１、主記憶部１０２、補助記憶部１０３、入力部１０４、および出力部１０５を有する。各構成要素はバスなどで相互に接続されており、制御部１０１によって各構成要素１０２〜１０５は統括して制御される。また、生成システム１００は、インターフェース（Ｉ／Ｆ）１０６およびネットワーク１０７経由で勘定系システム１１０と接続されている。
【００１６】
制御部１０１は、中央処理装置（ＣＰＵ）とも呼ばれ、各構成要素１０２〜１０５の制御やデータの演算を行い、また、補助記憶部１０３に格納されている各種プログラムを主記憶部１０２に読み出して実行する。主記憶部１０２は、メインメモリとも呼ばれ、勘定系システム１１０から受信した各種データ、並びにコンピュータ実行可能な命令および当該命令による演算処理後のデータなどを記憶する。補助記憶部１０３は、ハードディスク（ＨＤＤ）などに代表される記憶装置であり、データやプログラムを長期的に保存する。
【００１７】
入力部１０４は、ネットワーク１０７経由で勘定系システム１１０から受信したデータを、生成システム１００に入力する。入力されたデータは主記憶部１０２に一時的に記憶される。また、入力部１０４は、システムオペレータより各種コマンドや入力データ（各種マスタ、テーブルなど）を受け付けるインターフェース（入力画面などのアプリケーションプログラム）を提供する。また、出力部１０５は、生成システム１００によって生成されるスクランブルコードを勘定系システム１１０に送信し、生成システム１００によって処理されたデータを表示する表示画面も提供する。
【００１８】
勘定系システム１１０は、銀行Ｂが提供する提携特典付預金に関するデータを保持している。図１で説明したように顧客Ａから解約申込を受け付けると、勘定系システム１１０は顧客Ａの提携特典付預金に関するデータを生成システム１００に送信する。送信されるデータは、後述するように生成システム１００においてスクランブルコードを生成するための元情報として使用される。なお、元情報のフォーマット情報は、後述するようにデータフォーマット４１１、５１１に格納されている。
【００１９】
図３は、本発明に係るスクランブルコード解読システム２００のハードウェア構成を示す図である。解読システム２００は、その内部に制御部２０１、主記憶部２０２、補助記憶部２０３、入力部２０４、および出力部２０５を有する。図２同様、各構成要素はバスなどで相互に接続されており、制御部２０１によって各構成要素２０２〜２０５は統括して制御される。また、解読システム２００は、インターフェース（Ｉ／Ｆ）２０６およびネットワーク２０７経由で外部と接続されている。ネットワーク２０７は、インターネットなどの公衆回線や特定の企業との間で開設した専用回線とすることができる。
【００２０】
図２同様、制御部２０１は、中央処理装置（ＣＰＵ）とも呼ばれ、各構成要素２０２〜２０５の制御やデータの演算を行い、また、補助記憶部２０３に格納されている各種プログラムを主記憶部２０２に読み出して実行する。主記憶部２０２は、メインメモリとも呼ばれ、外部から受信した各種データ、並びにコンピュータ実行可能な命令および当該命令による演算処理後のデータなどを記憶する。補助記憶部２０３は、ハードディスク（ＨＤＤ）などに代表される記憶装置であり、データやプログラムを長期的に保存する。
【００２１】
入力部２０４は、ネットワーク２０７経由で外部から受信したデータ（例えば、銀行Ｂから受信する各種フォーマットデータ）を、解読システム２００に入力する。入力されたデータは主記憶部２０２に一時的に記憶される。また、入力部２０４は、システムオペレータより各種コマンドや入力データ（各種マスタ、テーブルなど）を受け付けるインターフェース（入力画面などのアプリケーションプログラム）を提供する。また、出力部２０５は、解読システム２００によって処理されたデータを表示する表示画面も提供する。
【００２２】
図４は、本発明に係る生成システム１００の機能ブロックの構成を示す図である。図４に示すように、生成システム１００は、データ受信部４０１、チェックデジット生成部４０２、変換部４０３、出力部４０４、変換アルゴリズムマスタ４１０、およびデータフォーマット４１１を備える。
【００２３】
データ受信部４０１は、解約申込された顧客Ａの提携特典付預金に係るデータをスクランブルコードを生成するための元情報として勘定系システム１１０から受信する。当該元情報は、少なくとも、
（１）本人識別情報
（２）申込条件
（３）提携企業コード
を含む。
【００２４】
申込条件としては、顧客Ａが提携企業Ｃのサービスを購入する際に閾値として使用される金額情報（例えば、利用可能金額）、サービスを受けることができる期限を示す日付情報など所定の条件を任意に定めておくことができる。提携企業コードは顧客Ａが提携特典付預金の申込をする際に自動的に定まる。
【００２５】
データ受信部４０１は、少なくとも上記（１）〜（３）を含む元情報を読み込む。本実施形態では、読み込まれたデータは英数字データからなるシーケンスとなるが、記号（例えば、＃や＆など）を含めることも可能である。なお、この段階で生成されたシーケンスに対し所定の演算処理を行うことも可能である。
【００２６】
チェックデジット生成部４０２は、解読システム２００において復元したデータのシーケンスが正しいか否かを検証するためのチェックデジットを生成する。チェックデジット自体は上記元情報から所定のアルゴリズムにしたがって生成することができ、特定のアルゴリズムに限定されることはない。また、チェックデジットは、検証用として使用できればよいので、その桁数なども限定されることはない。なお、後述するように、生成システム１００および解読システム２００は、同一のチェックデジット算出用のアルゴリズムを使用する。
【００２７】
変換アルゴリズムマスタ４１０は、本発明に係る生成システム１００において使用される変換アルゴリズムを提携企業別に格納するマスタである。本発明において、各提携企業はｎ個（ｎは整数）の変換アルゴリズムを使用することができる。このため、変換アルゴリズムマスタ４１０は、提携企業Ｃについてはｎ個の変換アルゴリズムを格納する。また、このｎ個の変換アルゴリズムは使用される順番が予め定められているものとする。なお、提携企業ごとに使用する変換アルゴリズムの数およびアルゴリズム自体が変わりうることは理解されよう。
【００２８】
変換部４０３は、変換アルゴリズムマスタ４１０から提携企業Ｃが使用する変換アルゴリズムを一つずつ順番に読み出し、入力データを読み出した変換アルゴリズムにしたがって変換して出力データを生成する。また、変換部４０３は、提携企業Ｃがｎ個の変換パターンを使用する場合、次の変換アルゴリズムを変換アルゴリズムマスタ４１０から読み出し、生成した出力データを入力データとしてさらに変換する処理を行う。このように、変換部４０３は、それぞれの提携企業が予め定めたｎ個の変換アルゴリズムをすべて使用して変換処理を行っていく。
【００２９】
変換部４０３は、最終的に生成された出力コードにチェックデジットを所定の位置に付加することによってスクランブルコードを生成する。スクランブルコードにおけるチェックデジットの位置は提携企業Ｃごとに予め定めてあり、その位置はデータフォーマット４１１に格納されているフォーマット情報によって知ることができる。
【００３０】
なお、変換アルゴリズムは、元情報である英数字のシーケンスの各々の文字を所定の文字に置換したり、各々の文字の順番を入れ替えたり、特定のルールにしたがって変換したりするためのアルゴリズムであり、一つ一つのアルゴリズム自体は周知のものである。
【００３１】
出力部４０４は、生成されたスクランブルコードを勘定系システム１１０に送信するとともに、顧客Ａに対して通知する。勘定系システム１１０に送信されたスクランブルコードは顧客Ａの提携特典付預金の口座データに関連付けて記憶される。
【００３２】
データフォーマット４１１は、スクランブルコードを生成するための元情報、即ち、勘定系システム１１０から受信する提携特典付預金に係るデータのフォーマット情報と、生成システム１００によって生成されるスクランブルコードのフォーマット情報とを格納するデータベースである。スクランブルコード自体はそのまま見ても特に意味のある英数字データのシーケンスではないが、これらのフォーマット情報によって、元情報およびスクランブルコードのうちのどの位置にある情報がどのような情報を示すのかを把握することが可能となる。
【００３３】
図５は、本発明に係る解読システム２００の機能ブロックの構成を示す図である。図５に示すように、解読システム２００は、受信・抽出部５０１、逆変換部５０２、チェックデジット計算部５０３、判定部５０４、出力部５０５、逆変換アルゴリズムマスタ５１０、およびデータフォーマット５１１を備える。
【００３４】
受信・抽出部５０１は、解読システム２００が外部から受信したスクランブルコードを受信して、チェックデジット以外のスクランブルコードを抽出する。スクランブルコードにおけるチェックデジットの位置は、提携企業Ｃごとに予め定めてあり、そのフォーマット情報はデータフォーマット５１１に格納されている。
【００３５】
逆変換アルゴリズムマスタ５１０は、本発明に係る解読システム２００において使用される逆変換アルゴリズムを格納するマスタである。本発明においては、提携企業Ｃはｎ個（ｎは整数）の逆変換アルゴリズムを使用することができる。この逆変換アルゴリズムは、変換アルゴリズムマスタ４１０に格納されている変換アルゴリズムと対応付けられるものであり、ある変換アルゴリズムによって変換された英数字データを元に戻すために使用される。例えば、変換アルゴリズムマスタ４１０のある変換アルゴリズムがデータＡをデータＢに変換する場合に、逆変換アルゴリズムマスタ５１０の対応付けられる逆変換アルゴリズムはデータＢをデータＡに変換する。なお、変換アルゴリズムマスタ４１０は、提携企業毎の変換パターンを格納するが、逆変換アルゴリズムマスタ５１０は当該提携企業が使用する変換パターンのみ格納する。
【００３６】
逆変換部５０２は、逆変換アルゴリズムマスタ５１０から一つずつ逆変換アルゴリズムを読み出し、受信・抽出部５０１によって抽出されたチェックデジット以外のスクランブルコードに対して当該逆変換アルゴリズムにしたがって逆変換処理を行う。ここで、逆変換アルゴリズムマスタ５１０から読み出す順番は、変換部４０３によって読み出された変換アルゴリズムとは逆の順序となることに留意されたい。例えば、変換部４０３が変換アルゴリズムをａ→ｂ→・・・→ｎの順序で変換処理を行った場合、逆変換部５０２は逆変換アルゴリズムｎ´→・・・→ｂ´→ａ´の順序で逆変換処理を行う。上述したように、変換アルゴリズムａは逆変換アルゴリズムａ´に対応付けられている。
【００３７】
逆変換部５０２は、逆変換アルゴリズムマスタ５１０に格納されている全ての逆変換アルゴリズムを用いて逆変換処理を行う。この結果、生成システム１００がスクランブルコードを生成するのに使用した元情報と同じ英数字データが最終データとして得られるはずである。
【００３８】
チェックデジット計算部５０３は、逆変換部５０２によって生成された最終データに基づいてチェックデジットを計算する。チェックデジット計算用のアルゴリズムは、生成システム１００において使用されたものと同じアルゴリズムである。
【００３９】
判定部５０４は、逆変換部５０２によって生成された最終データとチェックデジット計算部５０３によって計算されたチェックデジットに基づいて、顧客Ａからの申込が所定の要件を満たすか否かを判定する。以下、所定の要件の一例を説明する。
【００４０】
判定部５０４は、スクランブルコードの所定の位置のチェックデジットとチェックデジット計算部５０３によって計算されたチェックデジットが同一か否かを判定する。スクランブルコードに含まれるチェックデジットの位置は、データフォーマット５１１に格納されているフォーマット情報によって知ることができる。この判定は、逆変換部５０２によって生成された最終データが、生成システム１００が元々処理した元情報に等しいか否かを判定するために行う。
【００４１】
また、判定部５０４は、顧客Ａから受信した購入金額の情報と逆変換部５０２によって生成された最終データの所定の位置に含まれる金額情報（例えば、利用可能額）との大小比較を行い、顧客Ａが提携企業Ｃのサービスを購入可能か否か判定する。
【００４２】
また、判定部５０４は、顧客Ａから受信した本人識別情報と、逆変換部５０２によって生成された最終データの所定の位置に含まれる本人識別情報とを比較し、顧客Ａが本人であるか否かを判定する。最終データの含まれる本人識別情報の位置は、データフォーマット５１１に格納されているフォーマット情報によって知ることができる。
【００４３】
出力部５０５は、判定部５０４によって顧客Ａからのサービスの購入申込が所定の条件を満たすと判定された場合に、銀行Ｂに対して口座引き落とし要求を行う。なお、この口座引き落とし要求が正常に完了したことを提携企業Ｃが確認した後、顧客Ａが申し込んだサービスの提供が行われることになる。
【００４４】
データフォーマット５１１は、銀行Ｂから受信したスクランブルコードを生成するための元情報、即ち、提携特典付預金に係るデータのフォーマット情報と、スクランブルコードのフォーマット情報とを格納するデータベースである。上述したように、当該元情報と逆変換部５０２によって生成される最終データは同じフォーマットとなるはずである。格納されているフォーマット情報は、データフォーマット４１１に格納されている当該提携企業用のフォーマット情報と一致している。なお、データフォーマット４１１は、銀行Ｂ内の生成システム１００が有しているため提携企業ごとにフォーマット情報が格納されているのに対し、データフォーマット５１１は、提携企業Ｃ内の解読システム２００が有しているため当該提携企業Ｃのフォーマット情報だけが格納されている点で異なる。
【００４５】
図６は、本発明に係る暗号化（スクランブルコードの生成）を詳細に説明するための処理フロー図である。暗号化の処理は、銀行Ｂ内のスクランブルコード生成システム１００において実施される。
【００４６】
本発明に係る生成システム１００よって生成されるスクランブルコードの元情報は、少なくとも
（１）本人識別情報
（２）申込条件
（３）提携企業コード
を含んでいる。以下、スクランブルコードを生成する処理を詳細に説明する。
【００４７】
ステップＳ６０１において、データ受信部４０１は、勘定系システム１１０から予め受信してある元情報のデータを読み込む。読み込まれたデータは、データフォーマット４１１に格納されている元情報のフォーマットにしたがって並べられ、英数字データのシーケンスとなる。なお、この段階で生成されたシーケンスに対し所定の演算処理を行うことも可能である。
【００４８】
ステップＳ６０２において、チェックデジット生成部４０２は、英数字データのシーケンスに基づいて復元した数値の並びの正しさを検証するためのチェックデジットを生成する。上述したように、チェックデジット自体は元情報から所定のアルゴリズムにしたがって生成することができる。また、チェックデジットは、検証用として使用できればよいので、その桁数なども限定されることはない。
【００４９】
ステップＳ６０３において、変換部４０３は、変換アルゴリズムマスタ４１０から提携企業Ｃの変換アルゴリズムを予め定められた順番にしたがって読み出す。どの企業の変換アルゴリズムを読み出すかは、英数字データのシーケンスの所定の位置に格納されている提携企業コードの情報に基づく。変換アルゴリズムが読み出せた場合はステップＳ６０４に処理が進み、読み出せなかった場合はステップＳ６０５に処理が進む。
【００５０】
ステップＳ６０４において、変換部４０３はステップＳ６０３で読み出した変換アルゴリズムを用いて入力データ（最初の変換処理時は、上記英数字データのシーケンス）に対して変換処理を行い、出力データが生成される。その後、ステップＳ６０３に処理が戻り、再び変換アルゴリズムを読み出せた場合は、当該出力データが入力データとなり変換部４０３変換処理を繰り返し行う。
【００５１】
ステップＳ６０５において、変換部４０３は最終的に生成された出力データにステップＳ６０２で生成されたチェックデジットを付加することにより、スクランブルコードを生成する。チェックデジットを付加する位置はデータフォーマット４１１に格納されているスクランブルコードのフォーマット情報によって予め定まっている。
【００５２】
最後に、ステップＳ６０６において、出力部４０４は生成されたスクランブルコードを顧客Ａにネットワーク経由で送信するととともに、勘定系システム１１０に送信する。勘定系システム１１０は受信したスクランブルコードを顧客Ａの提携特典付預金の口座データに関連付けてハードディスクなどの記憶媒体に記憶しておく。なお、スクランブルコードを顧客Ａに通知する手段は特に限定されない。
【００５３】
図７は、本発明に係る復号化（スクランブルコードの解読）を詳細に説明するための処理フロー図である。復号化の処理は、提携企業Ｃ内のスクランブルコード解読システム２００において実施される。
【００５４】
ステップＳ７０１において、解読システム２００は顧客Ａからネットワーク経由で顧客Ａが購入を希望する特定のサービスの情報（購入金額情報含む）および本人識別情報とともにスクランブルコードを受信する。かかる場合、提携企業Ｃが開設するウェブサイトのサービス経由で受信することも可能である。
【００５５】
ステップＳ７０２において、受信・抽出部５０１は受信したスクランブルコードのうちチェックデジット以外のデータを抽出する。スクランブルコードにおけるチェックデジットの位置は、データフォーマット５１１に格納されているスクランブルコードのフォーマット情報に基づく。
【００５６】
ステップＳ７０３において、逆変換部５０２は逆変換アルゴリズムマスタ５１０から逆変換アルゴリズムを読み出す。上述したように、変換アルゴリズムマスタ４１０および逆変換アルゴリズムマスタ５１０に格納されている変換アルゴリズムおよび逆変換アルゴリズムはそれぞれ対応付けられており、それぞれ読み出される順番も定まっている。逆変換アルゴリズムを読み出せた場合にはステップＳ７０４に処理が進み、読み出せなかった場合にはステップＳ７０５に処理が進む。
【００５７】
ステップＳ７０４において、逆変換部５０２は、入力データ（最初の逆変換処理時はステップＳ７０２において抽出されたデータ）に対して、読み出した逆変換アルゴリズムにしたがって変換処理を行い、出力データを生成する。その後、ステップＳ７０３に処理が戻り、再び逆変換アルゴリズムを読み出せた場合は、ステップＳ７０４において逆変換部５０２は、当該出力データを入力データとして逆変換処理を行う。
【００５８】
ステップＳ７０５において、チェックデジット計算部５０５は、ステップＳ７０４において最終的に生成された出力データを元にしてチェックデジットを計算する。チェックデジットは最終的に生成された出力データが間違いないか否かを検証するために使用される。また、チェックデジットを計算するアルゴリズムは、生成システム１００において使用されるアルゴリズムと共通である。
【００５９】
ステップＳ７０６において、判定部５０４は、ステップＳ７０４において最終的に生成された出力データに含まれる情報が所定の要件を満たすか否かを判定する。なお、当該出力データは、スクランブルコードを生成した元情報と同一であると想定されるので、データフォーマット５１１に格納されているフォーマット情報にしたがってそれぞれの情報の位置を特定する。以下、このステップで行われる判定について詳細に説明する。
【００６０】
判定部５０４は、当該出力データに含まれている本人識別情報と、顧客Ａからネットワーク経由で受信した本人識別情報とが一致するか否か判定する。この判定は、顧客Ａが確かに本人であることを確認するために行われる。上述したように、銀行Ｂにある生成システム１００によって生成されるスクランブルコードは、その元情報として本人識別情報を含んでいる。そして、顧客Ａは、提携企業Ｃに対してサービスの購入申込をする際、本人識別情報を送信している。したがって、両者を比較して一致している場合には顧客Ａが銀行Ｂによって提供される提携特典付預金の契約者であることを確認することができる。
【００６１】
また、判定部５０４は、ステップＳ７０５で計算したチェックデジットと、ステップＳ７０１で受信したスクランブルコードに含まれるチェックデジットとが一致するか否かを判定する。上述したように、スクランブルコードに含まれるチェックデジットは、生成システム１００によって生成されたものである。生成システム１００および解読システム２００は、同一のチェックデジット算出アルゴリズムを使用しているので、スクランブルコードが途中で改ざんされていない限りは、両者は一致するはずである。一致する場合には、当該出力データとシステム１００においてスクランブルコードを生成した元データとが同一であることが確認できる。
【００６２】
また、判定部５０４は、顧客Ａからネットワーク経由で受信した購入金額情報と当該出力データに含まれている金額情報（例えば、利用可能額）とを比較する。そして、判定部５０４は、購入金額が利用可能額以下であるか否かを判定する。金額情報が当該出力データのうちのどのデータに該当するかは、データフォーマット５１１に格納されているフォーマット情報から得ることができる。顧客Ａが送信した購入金額の値が当該出力データに含まれている金額情報以下である場合には、顧客Ａは提携企業Ｃからサービスを購入することができることとなる。一方、購入金額の値の方が大きくなってしまう場合には顧客Ａは提携企業Ｃからサービスを購入することができない。
【００６３】
さらに、判定部５０４は、当該出力データに含まれている日付情報が予め定められた期間内に存在するか否かを判定する。この判定は、顧客Ａが銀行Ｂにおいて提携特典付預金を解約してから所定の期間内に提携企業Ｃでサービス購入の申込をしたか否かを判定するために行う。
【００６４】
なお、上記で説明した判定部５０４が行う判定処理の内容については、これ以外の要件を課すこともできる。すなわち、スクランブルコードを生成する元情報と顧客Ａが提携企業Ｃに送信する情報を任意に選択することによって新たに要件を課すこともできる。これらの一連の判定処理で全ての要件を満たす場合にはステップＳ７０８に処理が進み、一つでも満たさない場合にはステップＳ７０７に処理が進む。
【００６５】
ステップＳ７０７では、解読システム２００は、顧客Ａからのサービスの購入申込データとともに要件を満たさなかった要件を出力部５０５によってリスト出力し、顧客Ａにエラー発生の事実としてネットワーク経由で通知する。
【００６６】
ステップＳ７０８では、提携企業Ｃは銀行Ｂに対してオンラインで購入金額の口座引き落とし要求を送信する。口座引き落としが確認できた後、提携企業Ｃは顧客Ａに対してサービスの提供を行うことができる。
【００６７】
以上、例示的な実施形態を参照しながら本発明の原理を説明したが、本発明の要旨を逸脱することなく、構成および細部において変更する様々な実施形態を実現可能であることを当業者は理解するだろう。
【産業上の利用可能性】
【００６８】
本発明は、少なくとも三者間で情報をやり取りする場合に従来のセキュリティ技術と併せて利用可能な、セキュアなデータ通信のための暗号化および復号化のためのシステムおよびそのための方法に利用することができる。
【符号の説明】
【００６９】
１０１、２０１  制御部
１０２、２０２  主記憶部
１０３、２０３  補助記憶部
１０４、２０４  入力部
１０５、２０５  出力部
１０６、２０６  インターフェース（Ｉ／Ｆ）
１０７、２０７  ネットワーク
１１０  勘定系システム
４０１  データ受信部
４０２  チェックデジット生成部
４０３  変換部
４０４、５０５  出力部
４１０  変換アルゴリズムマスタ
４１１、５１１  データフォーマット
５０１  受信・抽出部
５０２  逆変換部
５０３  チェックデジット計算部
５０４  判定部
５１０  逆変換アルゴリズムマスタ
【図１】
2011049681.tif 000003
【図２】
2011049681.tif 000004
【図３】
2011049681.tif 000005
【図４】
2011049681.tif 000006
【図５】
2011049681.tif 000007
【図６】
2011049681.tif 000008
【図７】
2011049681.tif 000009