(57)【要約】  コンピュータネットワークの第１のユーザから、ワンタイムパッド（ＯＴＰ）ハブによって、第１のユーザに関連付けられたＯＴＰで暗号化された通信を受信することであって、通信は第２のユーザを対象とする、受信することと、ハブによって、第２のユーザに関連付けられたＯＴＰで通信を暗号化することと、ハブによって、第１のユーザに関連付けられたＯＴＰで通信を復号化することと、通信を第２のユーザに配信することと、を含む、方法。【選択図】図１Ｂ
2021506023.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータネットワークの第１のユーザから、ワンタイムパッド（ＯＴＰ）ハブによって、前記第１のユーザに関連付けられたＯＴＰで暗号化された通信を受信することであって、前記通信は第２のユーザを対象とする、受信することと、
前記ハブによって、前記第２のユーザに関連付けられたＯＴＰで前記通信を暗号化することと、
前記ハブによって、前記第１のユーザに関連付けられたＯＴＰで前記通信を復号化することと、
前記第２のユーザに前記通信を配信することと、を含む、方法。
【請求項２】
前記第２のユーザは、前記第２のユーザに関連付けられたＯＴＰで前記通信をさらに復号化する、請求項１に記載の方法。
【請求項３】
前記ネットワークは、複数のユーザを含み、前記ユーザのそれぞれは、前記ユーザに関連付けられたＯＴＰのみを記憶する、請求項１に記載の方法。
【請求項４】
前記ハブは、前記複数のユーザのそれぞれに関連付けられたＯＴＰを記憶する、請求項３に記載の方法。
【請求項５】
コンピュータネットワークの第１のユーザから、一連のハブ内の第１のワンタイムパッド（ＯＴＰ）ハブによって、前記第１のユーザに関連付けられたＯＴＰで暗号化された通信を受信することであって、前記通信は第２のユーザを対象とする、受信することと、
前記第１のハブによって、第１のハブ間ＯＴＰで前記通信を暗号化することと、
前記第１のハブによって、前記第１のユーザに関連付けられたＯＴＰで前記通信を復号化することと、
前記一連の１つ以上の前記ハブを介して前記通信を転送することであって、前記ハブのペア間の前記転送のそれぞれは、
（ｉ）前記ペアに関連付けられたハブ間ＯＴＰで前記通信を暗号化することと、
（ｉｉ）以前の前記ペアに関連付けられたハブ間ＯＴＰで前記通信を復号化することと、を含む、転送することと、
前記一連のハブの最後によって、前記第２のユーザに関連付けられたＯＴＰで前記通信を暗号化することと、
前記一連のハブの前記最後によって、前記以前のペアに関連付けられた前記ハブ間ＯＴＰで前記通信を復号化することと、
前記第２のユーザに前記通信を伝送することと、を含む、方法。
【請求項６】
前記第２のユーザは、前記第２のユーザに関連付けられたＯＴＰで前記通信をさらに復号化する、請求項５に記載の方法。
【請求項７】
前記ネットワークは、Ｎ人の前記ユーザおよび複数の前記ハブを含む、請求項５に記載の方法。
【請求項８】
前記ユーザのそれぞれは、前記ユーザに関連付けられたＯＴＰのみを記憶する、請求項５に記載の方法。
【請求項９】
前記ハブのそれぞれは、１人のユーザと前記ユーザ全員の間に関連付けられたＯＴＰを記憶する、請求項５に記載の方法。
【請求項１０】
前記ユーザおよび前記ハブの少なくとも一部は、前記ハブのそれぞれおよびそれらに関連付けられたユーザによって記憶された前記ＯＴＰ間の前記関連付けを識別するルーティングテーブルを記憶する、請求項９に記載の方法。
【請求項１１】
前記受信、前記転送、および前記伝送の少なくとも一部が、少なくとも部分的に、前記ルーティングテーブルに基づく、請求項１０に記載の方法。
【請求項１２】
前記ルーティングテーブルは、ＯＴＰ使用メトリックを考慮に入れる、請求項１１に記載の方法。
【請求項１３】
前記ネットワークは、２つ以上のネットワークを含む、請求項５に記載の方法。
【請求項１４】
コンピュータネットワークの第１のユーザから、第１のワンタイムパッド（ＯＴＰ）ハブによって、前記第１のユーザに関連付けられたＯＴＰで暗号化された通信を受信することであって、前記通信は第２のユーザを対象とする、受信することと、
前記第１のハブによって、前記第２のユーザに関連付けられたＯＴＰで前記通信を暗号化することと、
前記第１のハブによって、前記通信を第２のハブに伝送することと、
前記第２のハブによって、前記第１のユーザに関連付けられたＯＴＰで前記通信を復号化することと、
前記通信を前記第２のユーザに伝送することと、を含む、方法。
【請求項１５】
前記第２のユーザは、前記第２のユーザに関連付けられたＯＴＰで前記通信をさらに復号化する、請求項１４に記載の方法。
【請求項１６】
前記ネットワークは、Ｎ人の前記ユーザおよび複数の前記ハブを含む、請求項１４に記載の方法。
【請求項１７】
前記ハブのそれぞれは、１人のユーザと前記ユーザ全員の間に関連付けられたＯＴＰを記憶する、請求項１４に記載の方法。
【請求項１８】
前記ユーザおよび前記ハブの少なくとも一部は、前記ハブのそれぞれおよびそれらに関連付けられた前記ユーザによって記憶された前記ＯＴＰ間の前記関連付けを識別するルーティングテーブルを記憶する、請求項１７に記載の方法。
【請求項１９】
前記受信および前記伝送のうちの少なくとも一部は、少なくとも部分的に、前記ルーティングテーブルに基づく、請求項１８に記載の方法。
【請求項２０】
前記ルーティングテーブルは、ＯＴＰ使用メトリックを考慮に入れる、請求項１９に記載の方法。
【請求項２１】
前記ユーザのそれぞれは、前記ユーザに関連付けられた第２のＯＴＰを記憶し、前記第２のＯＴＰは、前記ユーザの２段階ユーザ認証に関連して使用するように構成される、請求項１４に記載の方法。
【請求項２２】
前記第２のＯＴＰは、前記ユーザの２段階ユーザ認証に関連して使用するように構成される、請求項２１に記載の方法。
【請求項２３】
ユニバーサルハッシングに少なくとも部分的に基づくユーザ認証をさらに含む、請求項１４に記載の方法。
【請求項２４】
前記ＯＴＰの少なくとも一部は、誤りデータを使用してその少なくとも一部を上書きすることによって処分される、請求項１４に記載の方法。
【請求項２５】
前記ハブの少なくとも一部は、乱数生成器（ＲＮＧ）、および前記ユーザにＯＴＰを分配するように構成された自動預け払い機のうちの少なくとも１つをさらに含む、請求項１４に記載の方法。
【請求項２６】
前記ＯＴＰは、量子鍵分配（ＱＫＤ）通信、および物理的に安全な分配手段のうちの少なくとも１つを使用して自動預け払い機に分配される、請求項２４に記載の方法。
【請求項２７】
少なくとも１つのハードウェアプロセッサと、
プログラムコードが共に具体化された非一時的なコンピュータ可読記憶媒体であって、前記プログラムコードは、請求項１〜４のいずれか一項に記載の方法を実行するために前記少なくとも１つのハードウェアプロセッサによって実行可能である、非一時的なコンピュータ可読記憶媒体と、を備える、システム。
【請求項２８】
少なくとも１つのハードウェアプロセッサと、
プログラムコードが共に具体化された非一時的なコンピュータ可読記憶媒体であって、前記プログラムコードは、請求項５〜１３のいずれか一項に記載の方法を実行するために前記少なくとも１つのハードウェアプロセッサによって実行可能である、非一時的なコンピュータ可読記憶媒体と、を備える、システム。
【請求項２９】
少なくとも１つのハードウェアプロセッサと、
プログラムコードが共に具体化された非一時的なコンピュータ可読記憶媒体であって、前記プログラムコードは、請求項１４〜２６のいずれか一項に記載の方法を実行するために前記少なくとも１つのハードウェアプロセッサによって実行可能である、非一時的なコンピュータ可読記憶媒体と、を備える、システム。
【請求項３０】
プログラムコードが共に具体化された非一時的なコンピュータ可読記憶媒体であって、前記プログラムコードが、請求項１〜４のいずれか一項に記載の方法を実行するために少なくとも１つのハードウェアプロセッサによって実行可能である、非一時的なコンピュータ可読記憶媒体を備える、コンピュータプログラム製品。
【請求項３１】
プログラムコードが共に具体化された非一時的なコンピュータ可読記憶媒体であって、前記プログラムコードが、請求項５〜１３のいずれか一項に記載の方法を実行するために少なくとも１つのハードウェアプロセッサによって実行可能である、非一時的なコンピュータ可読記憶媒体を備える、コンピュータプログラム製品。
【請求項３２】
プログラムコードが共に具体化された非一時的なコンピュータ可読記憶媒体であって、前記プログラムコードが、請求項１４〜２６のいずれか一項に記載の方法を実行するために少なくとも１つのハードウェアプロセッサによって実行可能である、非一時的なコンピュータ可読記憶媒体を備える、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１７年１２月５日に提出された「Ｍｅｔｈｏｄｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｉｍｐｌｅｍｅｎｔｉｎｇ  Ａ  Ｐｅｒｆｅｃｔ  Ｓｅｃｕｒｉｔｙ  Ｎｅｔｗｏｒｋ  Ｕｓｉｎｇ  Ｏｎｅ−Ｔｉｍｅ  Ｐａｄｓ」と題する米国仮特許出願第６２／５９４，５５０号の優先権の利益を主張するものであり、その全体が参照によって本明細書に組み込まれる。
【背景技術】
【０００２】
本発明は、データ暗号化の分野に関する。
【０００３】
暗号法では、ワンタイムパッド（ＯＴＰ）は解読できない暗号化技術であるが、送信されるメッセージと同じサイズ以上のワンタイムの事前共有鍵を使用する必要がある。本技術では、平文はランダムな秘密鍵（ワンタイムパッドとも呼ばれる）とペアにされる。次に、平文の各ビットまたは文字は、いくつかの関数のうちの１つを使用して、パッドからの対応するビットまたは文字と組み合わせることによって暗号化される。
【０００４】
鍵が真にランダムで、全体または一部が再利用されず、秘密に保たれている場合、パッドのコピーなしに暗号文を解読することは、証明できるように数学的には不可能である。ＯＴＰ暗号化は、暗号化されたテキストに情報を追加せず、ランダムノイズのみを追加するため、完全な、解読できない暗号化方法を表す。
【０００５】
ただし、ワンタイムパッド暗号法は、いくつかの実装上の困難に直面している。まず、少なくともメッセージと同じ長さでなければならないＯＴＰ素材の安全な生成、交換、および処分を達成することは困難である。さらに、第三者によるパッドの傍受、コピー、またはフォレンジックリカバリの可能性は、方法の安全性を完全に危険にさらす。
【０００６】
関連技術の前述の例およびそれに関連する制限は、例示的であり、排他的ではないことが意図されている。関連技術の他の制限は、本明細書を読み、図面を検討すれば、当業者には明らかになるであろう。
【発明の概要】
【０００７】
以下の実施形態およびその態様は、範囲を限定するのではなく、典型的かつ例示的であることを意味するシステム、ツール、および方法と併せて説明および例示される。
【０００８】
一実施形態では、コンピュータネットワークの第１のユーザから、ワンタイムパッド（ＯＴＰ）ハブによって、第１のユーザに関連付けられたＯＴＰで暗号化された通信を受信することであって、その通信が第２のユーザを対象としている、受信することと、ハブによって、第２のユーザに関連付けられたＯＴＰで通信を暗号化することと、ハブによって、第１のユーザに関連付けられたＯＴＰで通信を復号化することと、通信を第２のユーザに配信することと、を含む方法が提供される。
【０００９】
一実施形態では、少なくとも１つのハードウェアプロセッサと、プログラムコードが共に具体化された非一時的なコンピュータ可読記憶媒体であって、プログラムコードが、本方法を実行するために少なくとも１つのハードウェアプロセッサによって実行可能である、非一時的なコンピュータ可読記憶媒体と、を備えるシステムも提供される。
【００１０】
一実施形態では、プログラムコードが共に具体化された非一時的なコンピュータ可読記憶媒体であって、プログラムコードが、本方法を実行する少なくとも１つのハードウェアプロセッサによって実行可能である、非一時的なコンピュータ可読記憶媒体を備えるコンピュータプログラム製品がさらに提供される。
【００１１】
いくつかの実施形態では、第２のユーザは、第２のユーザに関連付けられたＯＴＰで通信をさらに復号化する。
【００１２】
いくつかの実施形態では、ネットワークは、複数のユーザを含み、ユーザのそれぞれは、そのユーザに関連付けられたＯＴＰのみを記憶する。
【００１３】
いくつかの実施形態では、ハブは、複数のユーザのそれぞれに関連付けられたＯＴＰを記憶する。
【００１４】
一実施形態では、一連のハブ内の第１のワンタイムパッド（ＯＴＰ）ハブによって、コンピュータネットワークの第１のユーザから、第１のユーザに関連付けられたＯＴＰで暗号化された通信を受信することであって、その通信が第２のユーザを対象としている、受信することと、第１のハブによって、第１のハブ間ＯＴＰで通信を暗号化することと、第１のハブによって、第１のユーザに関連付けられたＯＴＰで通信を復号化することと、一連の１つ以上のハブを介して通信を転送することであって、ハブのペア間の各転送が、（ｉ）ペアに関連付けられたハブ間ＯＴＰで通信を暗号化すること、および（ｉｉ）以前のペアに関連付けられたハブ間ＯＴＰで通信を復号化すること、を含む、転送することと、一連のハブの最後によって、第２のユーザに関連付けられたＯＴＰで通信を暗号化することと、一連のハブの最後によって、以前のペアに関連付けられたハブ間ＯＴＰで通信を復号化することと、通信を第２のユーザに伝送することと、を含む方法が提供される。
【００１５】
一実施形態では、少なくとも１つのハードウェアプロセッサと、プログラムコードが共に具体化された非一時的なコンピュータ可読記憶媒体であって、プログラムコードが、本方法を実行するために少なくとも１つのハードウェアプロセッサによって実行可能である、非一時的なコンピュータ可読記憶媒体と、を備えるシステムも提供される。
【００１６】
一実施形態では、プログラムコードが共に具体化された非一時的なコンピュータ可読記憶媒体であって、プログラムコードが、本方法を実行する少なくとも１つのハードウェアプロセッサによって実行可能である、非一時的なコンピュータ可読記憶媒体を備えるコンピュータプログラム製品がさらに提供される。
【００１７】
いくつかの実施形態では、第２のユーザは、第２のユーザに関連付けられたＯＴＰで通信をさらに復号化する。
【００１８】
いくつかの実施形態では、ネットワークは、Ｎ人のユーザおよび複数のハブを含む。
【００１９】
いくつかの実施形態では、ユーザのそれぞれが、そのユーザに関連付けられたＯＴＰのみを記憶する。
【００２０】
いくつかの実施形態では、ハブのそれぞれは、一人のユーザとユーザ全員の間に関連付けられたＯＴＰを記憶する。
【００２１】
いくつかの実施形態では、ユーザおよびハブの少なくとも一部は、ハブのそれぞれおよびそれらに関連付けられたユーザによって記憶されるＯＴＰ間の関連付けを識別するルーティングテーブルを記憶する。
【００２２】
いくつかの実施形態では、受信、転送、および伝送の少なくとも一部は、少なくとも部分的に、ルーティングテーブルに基づく。
【００２３】
いくつかの実施形態では、ルーティングテーブルは、ＯＴＰ使用メトリックを考慮に入れる。
【００２４】
いくつかの実施形態では、ネットワークは、２つ以上のネットワークを含む。
【００２５】
一実施形態では、コンピュータネットワークの第１のユーザから、第１のワンタイムパッド（ＯＴＰ）ハブによって、第１のユーザに関連付けられたＯＴＰで暗号化された通信を受信することであって、その通信が第２のユーザを対象としている、受信することと、第１のハブによって、第２のユーザに関連付けられたＯＴＰで通信を暗号化することと、第１のハブによって、通信を第２のハブに伝送することと、第２のハブによって、第１のユーザに関連付けられたＯＴＰで通信を復号化することと、通信を第２のユーザに伝送することと、を含む方法が提供される。
【００２６】
一実施形態では、少なくとも１つのハードウェアプロセッサと、プログラムコードが共に具体化された非一時的なコンピュータ可読記憶媒体であって、プログラムコードが、本方法を実行するために少なくとも１つのハードウェアプロセッサによって実行可能である、非一時的なコンピュータ可読記憶媒体と、を備えるシステムも提供される。
【００２７】
一実施形態では、プログラムコードが共に具体化された非一時的なコンピュータ可読記憶媒体であって、プログラムコードが、本方法を実行する少なくとも１つのハードウェアプロセッサによって実行可能である、非一時的なコンピュータ可読記憶媒体を備えるコンピュータプログラム製品がさらに提供される。
【００２８】
いくつかの実施形態では、第２のユーザは、第２のユーザに関連付けられたＯＴＰで通信をさらに復号化する。
【００２９】
いくつかの実施形態では、ネットワークは、Ｎ人のユーザおよび複数のハブを含む。
【００３０】
いくつかの実施形態では、ハブのそれぞれは、一人のユーザとユーザ全員の間に関連付けられたＯＴＰを記憶する。
【００３１】
いくつかの実施形態では、ユーザおよびハブの少なくとも一部は、ハブのそれぞれおよびそれらに関連付けられたユーザによって記憶されるＯＴＰ間の関連付けを識別するルーティングテーブルを記憶する。
【００３２】
一部の実施形態では、受信および伝送の少なくとも一部は、少なくとも部分的にルーティングテーブルに基づく。
【００３３】
いくつかの実施形態では、ルーティングテーブルは、ＯＴＰ使用メトリックを考慮に入れる。
【００３４】
いくつかの実施形態では、ユーザのそれぞれは、そのユーザに関連付けられた第２のＯＴＰを記憶し、第２のＯＴＰは、ユーザの２段階ユーザ認証に関連して使用するように構成される。
【００３５】
いくつかの実施形態では、第２のＯＴＰは、ユーザの２段階ユーザ認証に関連して使用するように構成される。
【００３６】
いくつかの実施形態では、方法はさらに、システムおよびコンピュータプログラム製品の場合、少なくとも部分的にユニバーサルハッシングに基づくユーザ認証を提供するためにさらに実行可能である命令を含む。
【００３７】
いくつかの実施形態では、本発明のＯＴＰは、誤りデータを使用してその少なくとも一部を上書きすることによって処分される。
【００３８】
いくつかの実施形態では、ハブの少なくとも一部は、乱数生成器（ＲＮＧ）、およびユーザにＯＴＰを分配するように構成された自動預け払い機のうちの少なくとも１つをさらに含む。
【００３９】
いくつかの実施形態では、ＯＴＰは、量子鍵分配（ＱＫＤ）通信、および物理的に安全な分配手段のうちの少なくとも１つを使用して自動預け払い機に分配される。
【００４０】
上記の典型的な態様および実施形態に加えて、さらなる態様および実施形態は、図面を参照することによって、および以下の詳細な説明を検討することによって明らかになるであろう。
【図面の簡単な説明】
【００４１】
典型的な実施形態は、参照図面に例示されている。図面に示されている構成要素の寸法および特徴は、一般に、提示の便宜と明確さのために選択されており、必ずしも一定の縮尺で示されているわけではない。図面を以下に列挙する。
【図１Ａ】一実施形態による、典型的な集中型ＯＴＰ暗号化スキームを例示する。
【図１Ｂ】一実施形態による、ＯＴＰハブが２つ以上の物理デバイスに実装される典型的な集中型ＯＴＰ暗号化スキームを例示する。
【図１Ｃ】一実施形態による、２つ以上の別個のＯＴＰハブを備える典型的な集中型ＯＴＰ暗号化スキームを例示する。
【図２Ａ−２Ｂ】一実施形態による、複数のエンドユーザおよびＯＴＰハブを有するネットワークを例示する。
【図３】一実施形態による、ネットワーククラスタ間のメッセージングを例示する。
【発明を実施するための形態】
【００４２】
本明細書で開示されるのは、ワンタイムパッド（ＯＴＰ）暗号法を使用して、２人以上のユーザ間でメッセージを安全にルーティングするためのシステム、方法、およびコンピュータプログラム製品である。
【００４３】
上記のように、ＯＴＰ暗号法は通常、実用上の大きな困難に直面している。まず、絶対的な暗号法の安定性を提供するために、ＯＴＰは、真にランダムな暗号化鍵を持ち、暗号化されるメッセージとサイズが等しく、再利用されず、使用後すぐに適切に処分される必要がある。現在の乱数生成器は、ＯＴＰ暗号法で使用するのに十分な品質のランダムな鍵素材を生成できる。さらに、実際問題として、現代のコンピュータシステムは、必要な量のランダム鍵データを記憶し、取り扱うことができる。
【００４４】
ただし、ＯＴＰベースの暗号法システムの安全性は、第三者によるパッドの傍受とコピーによって方法の安全性が危険にさらされるため、引き続き安全なパッドの取り扱いと分配に依存している。この問題は、ネットワーク内の通信者の数が増えるとさらに悪化する。なぜなら、送信者／受信者の各ペアは、それらの２者間でのみ共有される固有のパッドを維持する必要があるからである。ネットワークユーザの数が増えると、必要な固有のパッドの数が２の累乗で増えるため、ある時点で、各ネットワーク構成要素が保持する必要のあるパッドの数を管理できなくなる。
【００４５】
したがって、いくつかの実施形態では、本発明は、ＯＴＰハブが複数のネットワークユーザ間で暗号化されたメッセージをルーティングすることを担う、集中型ＯＴＰ暗号化スキームを提供する。いくつかの実施形態では、本発明のＯＴＰ暗号化スキームは、モジュラ加算、単射もしくは１対１の変換関数であるテーブル交換グループ、および／または他の準同型関数もしくは準同型暗号化関数を使用して、平文の各ビットまたは文字をパッドからの対応するビットまたは文字と組み合わせることによって暗号化することを含む。
【００４６】
いくつかの典型的な実施形態では、本明細書に記載のＯＴＰ暗号化スキームは、ＯＴＰ暗号化ビデオ／オーディオ会議、電子メール交換、ファイル交換、多数制デジタル電話音声通信、ゲーミングなどを可能にするために、複数の送信者／受信者エンドユーザ間のＯＴＰ暗号化通信を可能にするように利用することができる。他の典型的な実施形態では、本明細書に記載のＯＴＰ暗号化スキームは、ＳＭＳ、インスタントメッセージなどのユニキャスト、マルチキャスト、およびブロードキャストメッセージを含むがこれらに限定されないプッシュおよびプルネットワーク通信技術を利用してメッセージを交換するために使用できる。さらに他の典型的な実施形態では、そのような通信は、有線および無線ネットワークを介して、ならびに任意の数および任意の種類のゲートウェイおよびプロキシを介して可能にされ得る。いくつかの実施形態では、様々な場所および地域に地理的に分散された任意の数のＯＴＰハブがあり得る。いくつかの実施形態では、任意の種類の通信チャネルは、開示された発明、例えば、エンドツーエンド通信トンネル、パブリッシュ／サブスクライブプロトコルベースの通信、ＴＣＰ／ＵＤＰベースの通信、および非ＴＣＰ通信を使用して、暗号化してもよい。開示された暗号化スキームは、ＴＬＳ／ＳＳＬなどの他のデータ保護技術に加えて使用することもできる。
【００４７】
いくつかの実施形態では、本発明のＯＴＰハブは、ハードウェアのみ、ソフトウェアのみ、またはハードウェアとソフトウェアの両方の組み合わせで実装されてもよい。例えば、ＯＴＰハブは、パーソナルコンピュータ、タブレット、スマートフォン、埋め込みデバイス、無線モジュールと結合された手持ち式デバイス、隠されたデバイス、電子回路を有するデバイスなどであり得る。いくつかの実施形態では、ＯＴＰハブは、１つ以上のハードウェアプロセッサ、および非一時的なコンピュータ可読記憶デバイスを含んでもよい。様々な実施形態では、ＯＴＰハブは、１つ以上の専用ハードウェアデバイス、１つ以上のソフトウェアモジュールを含んでもよく、かつ／または既存のデバイスへの追加もしくは拡張を形成してもよい。いくつかの実施形態では、１つ以上の専用ハードウェアデバイスは、異なる場所に配置されてもよい。ＯＴＰハブの記憶媒体は、１つ以上のハードウェアプロセッサを動作させるように構成されたソフトウェア命令または構成要素をその上で符号化していてもよい。いくつかの実施形態では、ソフトウェア構成要素は、一般的なシステムタスク（例えば、メモリ管理、記憶デバイス制御、電力管理など）を制御および管理するための様々なソフトウェア構成要素および／またはドライバを含み、様々なハードウェアとソフトウェア構成要素間の通信を容易にするオペレーティングシステムを含んでもよい。いくつかの実施形態では、プログラム命令は、例えば、暗号化／復号化モジュール、通信モジュール、およびユーザインターフェースモジュールを含み得る１つ以上のソフトウェアモジュールにセグメント化される。
【００４８】
いくつかの実施形態では、ＯＴＰハブは、ユーザの各ペア間の暗号化／復号化の仲介者として機能するように、各ネットワークエンドユーザのすべての固有のパッドのコピーを保持し、それにより各ユーザが潜在的な各受信者のために異なるパッドを保持する必要をなくす。いくつかの実施形態では、集中型ＯＴＰハブは、２つ以上の別個のハードウェアデバイスを含み、単一のハードウェアデバイスが、メッセージを復号化するのに必要なすべてのパッドを保持することはない。いくつかの実施形態では、本発明の集中型ＯＴＰ暗号化スキームは、各メッセージが、常にＯＴＰ暗号化の少なくとも１層の対象となり続けることを保証するように構成されてもよい。
【００４９】
いくつかの実施形態では、ＯＴＰハブは、ユーザの各ペア間の暗号化／復号化の仲介者として機能するように、各ネットワークエンドユーザのすべての固有のパッドのコピーを保持し、それにより各ユーザが潜在的な各受信者のために異なるパッドを保持する必要をなくす。
【００５０】
いくつかの実施形態では、ＯＴＰハブにおけるパッドの分配および保持を集中化することにより、本発明はまた、複数のパッドをエンドユーザに分配する必要性を回避し、それによって潜在的にパッドを敵意のある悪用にさらし、全体的なシステムの安全性を危うくすることを回避する。したがって、システム全体のパッドは、限られた数のＯＴＰハブにのみ分配する必要があり、これは、安全な電子的および／または物理的な分配によって取り扱われ得る。
【００５１】
いくつかの実施形態では、本発明は、ユーザのクラスタおよび１つ以上のＯＴＰハブを備えるネットワークであって、１つ以上のＯＴＰハブがネットワーク内のユーザの各ペア間でメッセージを安全にルーティングするように構成されている、ネットワークを提供する。いくつかの実施形態では、本発明のネットワークは、ハブの故障または誤動作の場合において冗長性を保証するために、各送信者／受信者ペア間に複数の可能な暗号化メッセージングルートを提供する。
【００５２】
いくつかの実施形態では、本発明は、リモートネットワーク内の１つ以上のユーザのクラスタ間でのメッセージの安全なルーティングをさらに提供する。
【００５３】
いくつかの実施形態では、本発明はさらに、ＯＴＰ使用メトリックおよび／または追加のルーティングパラメータの最小化に基づいて、複数のユーザおよび／またはネットワーク間のＯＴＰベースのメッセージルーティングを最適化することを提供する。
【００５４】
いくつかの実施形態では、本発明はさらに、乱数生成、メッセージ認証、エンドユーザへの安全なＯＴＰ鍵分配、および／または安全なＯＴＰ鍵処分のうちの１つ以上を提供する。
【００５５】
したがって、本発明の潜在的な利点は、安全なパッドの取り扱いおよび分配を保証しながら、ローカルおよび／またはリモートのマルチユーザ環境用に最適化された実用的な実世界のＯＴＰベースの暗号化スキームを提供することである。
【００５６】
図１Ａは、一実施形態による、典型的な集中型ＯＴＰ暗号化スキームを例示する。ＯＴＰハブＡは、各ネットワークユーザ、例えば、送信者１と受信者２に関連付けられた対応するパッドを保持する。ＯＴＰハブＡは、送信者パッドで暗号化された送信者１からのメッセージを受信する。次に、ＯＴＰハブＡは、受信者パッドでメッセージを暗号化し、送信者パッドを削除し、いずれの場合も、ハブＡが保持する対応するパッドを使用し、メッセージを受信者に伝送する。したがって、送信者１と受信者２は、各々がそれぞれのパッドの両方を保持する必要なく、ハブＡを介して通信できる。
【００５７】
いくつかの実施形態では、ＯＴＰハブＡは、最初にメッセージを受信者パッドで暗号化し、その時のみ、送信者パッドを削除するように構成され、メッセージがネットワーク構成要素によって非暗号化状態で保持されないことを保証するようにすることができる。
【００５８】
上記のように、いくつかの実施形態では、ＯＴＰハブＡなどの本発明のＯＴＰハブは、サーバ上に実装されてもよい。いくつかの実施形態では、そのようなサーバは、１つ以上の物理デバイス、ならびに／または２つ以上のハードウェアプロセッサおよび関連付けられた記憶媒体を有する分配システムを含んでもよい。いくつかの実施形態では、１つ以上のＯＴＰハブが単一のハードウェアデバイス上に実装されてもよく、かつ／または１つ以上のＯＴＰハブが２つ以上の別個のハードウェアデバイスとして実装されてもよく、どの単一のハードウェアデバイスもメッセージを復号化するために必要なすべてのパッドを保持しない。
【００５９】
図１Ｂは、ＯＴＰハブＡが２つ以上の別個のハードウェアデバイス、例えば、部分Ａ１および部分Ａ２に実装され、各部分がエンドユーザパッドの異なる組を保持する、典型的な集中型ＯＴＰ暗号化スキームを例示する。例えば、部分Ａ１は、送信者パッドで暗号化されたメッセージを受信し、受信者パッドでメッセージを暗号化することができる。次に、メッセージは第２の部分Ａ２に伝送され、そこで送信者パッドが削除され、メッセージは受信者パッドのみで受信者に伝送される。この構成では、メッセージの復号化に必要なすべてのパッドをどの単一の物理デバイスも保持しないため、安全性が向上する。さらに、上記のように、メッセージ自体は、別個のハードウェアデバイスを介して転送されるときに、少なくとも１つのパッドで常に暗号化されたままになる。
【００６０】
図１Ｃは、２つ以上の別個のＯＴＰハブを含む典型的な集中型ＯＴＰ暗号化スキームを例示する。この構成では、メッセージは複数のハブ、例えば、ハブＡおよびＢを介して、ルーティングされてもよい。各ハブ間ホップは、ハブ間パッドでメッセージを暗号化し、その後にのみ、以前のパッドを削除することを伴う。例えば、ハブＡからハブＢへのホップは、ＡＢペアに固有のハブ間パッドでメッセージを暗号化し、その後にのみ、送信者パッドを削除することを伴う。メッセージがチェーンの最後のハブ（この場合はハブＢ）に到達すると、メッセージは受信者パッドで暗号化され、その後、最新のハブ間パッドが削除される。
【００６１】
いくつかの実施形態では、Ｎ人のエンドユーザを含む集中型ＯＴＰ暗号化スキームは、それぞれが１人のユーザとＮ人のユーザの間に関連付けられた特定の組のエンドユーザパッドを備えた複数のＯＴＰハブを含んでもよい。マルチハブネットワークは、ユーザの各ペア間に複数のルーティング経路を提供することができ、従って、例えば、ハブの故障の場合において冗長性を提供し、かつ／または例えば、ハブパッド使用を最適化するための最良のルートの選択をもたらす。いくつかの実施形態では、１つ以上のルーティングアルゴリズムを実装して、適切なおよび／または最適化されたルートを選択してもよい。
【００６２】
図２Ａは、５人のエンドユーザ１〜５および５つのハブＡ〜Ｅを有するネットワークを例示する。各ハブには２つのパッドが設けられ、これは、いくつかのスキームに従って、例えば、循環シフト配置で、分配され得る。例えば、ハブＡにはユーザ１および２用のパッド、ハブＢにはユーザ２および３用、などであってもよい。したがって、例えばユーザ１からユーザ３にメッセージを送信する場合、ユーザ１は、例えば以下のように、いくつかの可能なルートを使用してメッセージを送信してもよい。
（ｉ）ユーザ１はハブＢにメッセージを送信することができ、ハブＢは、ユーザ３のパッドを適用してから、メッセージをハブＡに伝送し、ハブＡは、ユーザ１のパッドを削除して、ユーザ３にメッセージを伝送する。
（ｉｉ）ユーザ１は、ハブＣにメッセージを送信することができ、ハブＣは、ユーザ３のパッドを適用してから、ハブＥにメッセージを伝送し、ハブＥは、ユーザ１のパッドを削除して、メッセージをユーザ３に伝送する。
【００６３】
いくつかの実施形態では、同じパッドを保持する異なるハブを有することを回避するために、同じユーザのためのパッドを保持する２つ以上のハブに、ユーザのパッドの異なるバージョンが備えられてもよい。
【００６４】
図２Ｂは、図２Ａに示されているものと同様の、５人のエンドユーザ１〜５および５つのハブＡ〜Ｅを有するネットワークを例示する。しかしながら、この配置では、各ハブは３つのパッドを備えている。したがって、ユーザ１からユーザ３にメッセージを送信する場合、ユーザ１は、例えば、以下のように、より多くの可能なルートを使用してメッセージを送信してもよい。
（ｉ）ユーザ１はハブＢにメッセージを送信することができ、ハブＢは、ユーザ３のパッドを適用してから、メッセージをハブＡに伝送し、ハブＡは、ユーザ１のパッドを削除して、ユーザ３にメッセージを伝送する。
（ｉｉ）ユーザ１はハブＣにメッセージを送信することができ、ハブＣは、ユーザ３のパッドを適用してから、ハブＤにメッセージを伝送し、ハブＤは、ユーザ１のパッドを削除して、メッセージをユーザ３に伝送する。
（ｉｉｉ）ユーザ１はメッセージをハブＡに送信することができ、ハブＡは、ユーザ３のパッドを適用してから、ハブＥにメッセージを伝送し、ハブＥは、ユーザ１のパッドを削除して、メッセージをユーザ３に伝送する。
【００６５】
いくつかの実施形態では、ネットワーク内のハブの数および／またはハブごとのパッドの数を増やすことにより、ネットワーク内のルーティングオプションの冗長性が高まる。
【００６６】
いくつかの実施形態では、本発明の２つ以上の安全なネットワークは、各ネットワーク内の各ハブに共有パッドを提供することにより、ネットワーク間通信を提供してもよい。いくつかの実施形態では、ネットワーク内の各ハブは、複数のハブにわたる共有パッドの重複を回避するために、異なる共有パッドを保持してもよい。共有パッドは、ネットワーク間の接続性のために別個の専用のハブもしくは複数のハブ（例えば、冗長性の目的で）に記憶できるか、または通常のハブによって記憶できる。したがって、図３に例示するように、第１のネットワークからのメッセージは、第２のネットワークに安全にホップすることができる。したがって、例えば、メッセージは、ネットワークＩ内のユーザ３からネットワークＩＩ内のユーザ６にルーティングされてもよい。メッセージは最初にハブＡに送信することができ、そこでネットワーク間パッドがメッセージに適用され得る。次に、メッセージは、例えば、ハブＢに送信され、ユーザ３のパッドを削除することができる。ハブＢから、メッセージは、ユーザ６のパッドが適用され得るネットワークＩＩ内のハブＤにホップし、そこから、ネットワーク間パッドが削除され得るハブＥにホップすることができる。その後、メッセージはユーザ６に伝送され得る。
【００６７】
メッセージルーティングの最適化
いくつかの実施形態では、上述のように、本発明は、ネットワーク内の１つ以上のハブを介しておよび／または１つ以上のリモートネットワークを介して、送信者から受信者への複数のオプションのメッセージルートを備えた通信ネットワークレイアウトを提供する。いくつかの実施形態では、これは、例えば、ハブの故障の場合に冗長性を提供することができる。
【００６８】
いくつかの実施形態では、本発明は、限定はしないが、ＯＴＰ使用メトリックに基づくものを含む、指定された基準に従ってメッセージルーティングを最適化するようにさらに構成されてもよい。いくつかの実施形態では、ネットワーク帯域幅、ネットワーク記憶容量、ネットワーク遅延、ＯＴＰハブホップカウント、経路の実際の使用コスト、負荷、ＭＴＵ（最大伝送単位）、信頼性、および／または通信コストを含む、追加および／または他の最適化基準を使用してもよい。
【００６９】
ＯＴＰは枯渇リソースであるため、ハブ間（図２Ａ〜図２Ｂ）および／またはネットワーククラスター間（図３）でのすべての伝送には、１つ以上のＯＴＰの少なくとも一部の使用と枯渇が伴う。したがって、いくつかの実施形態では、最適化されたルート選択は、例えば、ハブおよび／またはネットワーククラスタ間のホップ数を最小化することにより、ルートに沿ったＯＴＰ使用を最低限にするように構成される。いくつかの実施形態では、本発明は、最小の総ＯＴＰ使用メトリックを有する、送信者から受信者へのルートを計算するように構成されてもよい。
【００７０】
背景として、コンピュータネットワークの文脈において、メッセージルーティングは、ネットワーク内または複数のネットワークにわたるトラフィックの経路を選択するプロセスである。パケット交換ネットワークでは、ルーティングは通常、さまざまなネットワーク宛先へのルートの記録を維持するルーティングテーブルに基づいてパケットを転送することを伴う。ルーティングテーブル、またはルーティング情報ベース（ＲＩＢ）は、ルータ、ネットワークにつながれたコンピュータ、またはサーバなどのネットワークノードに記憶されているデータテーブルであり、特定のネットワーク宛先へのルートと、距離、運用コスト、または遅延などの関連するメトリックを列挙する。ルーティングテーブルには、例えば、ネットワーク初期化中の手動エントリに基づいて、ルーティングプロトコルを使用して構築された、そのすぐ近くにあるネットワークのトポロジに関する情報が含まれている。例えば、ルーティングテーブルには、ネットワーク／次のホップの関連付けが含まれている場合があり、これにより、最終宛先への途中の「次のホップ」を表す特定のルータにパケットを送信することによって、特定のネットワーク宛先に最適に到達できることがルータに通知される。場合によっては、初期化中または動的ルーティングプロトコルを介して、１つ以上のリモートネットワークがルーティングテーブルに追加されることがある。
【００７１】
しかしながら、今回の場合では、ルーティング最適化メトリックに動的な枯渇リソースが伴うため、静的なルーティングテーブルに基づいてルーティング最適化を決定することはできない。したがって、いくつかの実施形態では、本発明の集中型暗号化スキームは、ルーティングテーブルを生成するように構成され得、ＯＴＰハブおよび／またはエンドユーザなどの各ネットワークノードは、それが接続できる他のすべてのネットワークノードに関する情報を収集するように構成され得る。いくつかの実施形態では、各ネットワークノードは、次いで、この情報をルーティングテーブルおよび／またはネットワークマップに独立して組み立てることができる。いくつかの実施形態では、これらの個々のルーティングテーブルに基づいて、各ネットワークノードは、距離ベクトルアルゴリズム（例えば、ベルマンフォードアルゴリズム、ダイクストラのアルゴリズム、ビタビアルゴリズム）、リスト短経路アルゴリズム、経路ベクトルプロトコルなどの、１つ以上の既知の最短経路アルゴリズムを使用して、それ自体から他のすべてのノードへの最小コスト経路を独立して決定することができる。その結果は、現在のノードをルートとするツリーグラフになり得、ルートから他のノードへのツリーを通る経路は、そのノードへの最小コスト経路になる。このツリーは、次いで、現在のノードから他のノードに到達するための最良の次のホップを指定するルーティングテーブルを構築する役割を果たす。
【００７２】
いくつかの実施形態では、本発明からの通信ネットワークは、ネットワークまたはその任意の部分におけるルーティングを管理するために使用され得る、集中型メッセージルーティング制御を提供し得る。そのような場合、１つ以上のネットワークノードによって決定されたＯＴＰ使用メトリックは、制御機能に通信され得、次いで、その制御機能がルーティング経路を決定し得る。
【００７３】
いくつかの実施形態では、最適化されたルートは、パッド使用マトリックのみに基づいて決定され得、ならびに／または帯域幅、ネットワーク遅延、ホップカウント、経路の実際の使用コスト、負荷、ＭＴＵ（最大伝送ユニット）、信頼性、および／もしくは通信コストを含むがこれらに限定されない複数のパラメータの組み合わせを表すことができる。
【００７４】
メッセージ認証
いくつかの実施形態では、本発明は、ネットワークにおけるエンドユーザの確実な識別および認証を提供する。
【００７５】
上記のように、ＯＴＰベースの暗号化スキームでは、エンドユーザのパッドが悪用され、および／または悪者によって複製され、次いで、ネットワークの実際のユーザになりすますために使用され得るため、ユーザ認証が重要になる。
【００７６】
ワンタイムパッド自体はメッセージ認証を提供せず、この認証の欠如は、実世界のアプリケーションで安全性の脅威をもたらす可能性がある。鍵ストリームを用いる単純なＸＯＲは、メッセージの整合性に潜在的な脆弱性を生み出し、これは、特に悪用が簡単である。例えば、特定の時点で「ジェーンと私と明日の午後３時３０分に会いましょう」という文字列がメッセージに含まれていることを知っている攻撃者は、ワンタイムパッドにアクセスせずに、その内容を「３時３０分の集合はキャンセルされたので、家にいてください」などの全く同じ長さの他の内容に置き換える可能性がある。
【００７７】
したがって、いくつかの実施形態では、本発明は、ユーザによって記憶され、例えば、元のユーザパッドが悪用された場合にユーザを認証および検証するために使用できるユーザ認証パッドを提供する。
【００７８】
例えば、ユーザが本発明のネットワークに参加するとき、ユーザは、例えば、メモリカードまたはディスクオンキーなどの、物理的携帯用メモリデバイス上に提供され得るプライマリ認証ワンタイムパッド（ＰＡＯＴＰ）を割り当てられ得る。ＰＡＯＴＰのコピーはまた、ネットワークの１つ以上の集中型ＯＴＰハブに保存され得、かつ／または２つ以上のＯＴＰハブの間で分割され得、その結果、各分割が他の部分と異なるようにする。ネットワーク内で初めて通信する場合、例えば、ＰＡＯＴＰの一部を最初の識別および認証に使用できる。最初の認証時に、ＰＡＯＴＰの使用済み部分は、その後、破棄され得る。次に、ユーザは、ネットワークを介した通常の進行中の通信で使用するためのランタイムパッドを受信することができる。その後、ＰＡＯＴＰは、ユーザの２段階認証に将来再び必要になり得る場合に備えて、ユーザが安全な場所に保存してもよい。
【００７９】
進行中のランタイムネットワーク通信中に、ランタイムパッドの一部を使用してユーザを識別できる。ただし、場合によっては、より強力な２段階の検証プロセスが必要になる。例えば、ユーザはランタイムユーザパッドを取り消すことを望むかもしれないし、または、ユーザは、例えば疑わしい活動の場合に、そのランタイムパッドを更新／交換するようにネットワークによって要求されるかもしれない。このような場合、ＰＯＴＰを使用してエンドユーザを認証できる。
【００８０】
いくつかの実施形態では、ユニバーサルハッシングを追加の認証メカニズムとして使用することもできる。ユニバーサルハッシングメカニズムは、任意の安全性限度までメッセージを認証する手法を提供する（つまり、ｐ＞０の場合、十分に大きなハッシュにより、計算上無制限の攻撃者でも偽造が成功する可能性はｐ未満になることが保証される）。ただし、ユニバーサルハッシングには、暗号化パッドからの追加のランダムデータを使用するという代償がある。
【００８１】
乱数生成
いくつかの実施形態では、本発明に関連して使用するためのＯＴＰは、ＯＴＰハブ内を含むがこれに限定されない複数の場所、または集中化された場所で生成することができる。
【００８２】
いくつかの実施形態では、ＯＴＰハブの１つ以上は、大量の真のランダムデータを生成することを担うデバイスおよび／または機能を備えることができる。いくつかの実施形態では、ランダムデータ生成は、例えば、熱雑音などの微視的現象、光電効果、他の量子現象、カオス力学、および／または他の任意の同様のプロセスに基づく、１つ以上の物理プロセスに基づくことができる。いくつかの実施形態では、本発明は、例えば、エントロピーおよび類似のテストを通じて、以下に説明するように生成されたランダムデータをテストすることを提供することができる。
【００８３】
ＯＴＰ配信用の自動預け払い機
いくつかの実施形態では、本発明は、自動預け払い機（ＡＴＭ）ならびに／またはエンドユーザへのＯＴＰの配信および分配のための同様のセーフボックスメカニズムなどの物理的分配ネットワークを利用することができる。例えば、そのようなＡＴＭは、ＯＴＰを含むディスクオンキーなどの外部メモリデバイスを分配することができる。いくつかの実施形態では、本発明のＡＴＭは、ＯＴＰを含むハードドライブを有し、ユーザによって提供される携帯型メモリデバイス（例えば、フラッシュドライブ）などの外部メモリデバイスに分配することができる。いくつかの実施形態では、本発明のＡＴＭは、適切なランダムデータ生成ハードウェアを使用してローカルでＯＴＰを生成するように構成でき、および／または、例えば、ＯＴＰハブを介して、外部で生成されたＯＴＰを備えることができる。ＡＴＭは、エンドユーザに分配されるＯＴＰに関するシステムのＯＴＰハブを更新することを担うこともできる。
【００８４】
いくつかの実施形態では、本発明の１つ以上のＯＴＰハブは、ＯＴＰ生成能力に加えて、ＡＴＭを含むことができる。このようなＯＴＰハブの各々は、独立型の物理的に安全なデバイスを形成することができ、このデバイスは、ＯＴＰを生成してエンドユーザに分配し、結果として得られるネットワークの暗号化されたトラフィックを取り扱う。したがって、１つ以上のそのようなデバイスを使用して、任意の所望の場所から集中型ＯＴＰ暗号化スキームを確立することが可能になる。
【００８５】
いくつかの実施形態では、本発明の独立型ＡＴＭは、エンドユーザに必要に応じてＯＴＰを分配するために、様々な所望の場所に配置されてもよい。次に、ＯＴＰは、ＡＴＭ内でローカルに、および／またはリモートで生成され、ＡＴＭに安全に配信され、その場所のエンドユーザにさらに分配され得る。ＡＴＭへのＯＴＰの安全な配信は、量子鍵分配（ＱＫＤ）通信、ならびに／または、例えば、安全な車両および／もしくはコンテナなどの物理的に安全な手段を通じて実行できる。エンドユーザは、次に、ＡＴＭにアクセスして、例えば、メモリデバイスをロードすることで、ＯＴＰを取得できる。ユーザに分配されると、ＯＴＰはシステムによってそのユーザに関連付けられたものとして示され、そのユーザにメッセージをルーティングするために使用され得る。
【００８６】
いくつかの実施形態では、ＯＴＰは、ＱＫＤ、ならびに／または安全な車両および／もしくはコンテナなどの物理的に安全な手段を通じて、ＯＴＰハブおよび／またはエンドユーザに直接配信されてもよい。
【００８７】
ＱＫＤは、量子通信を使用して、第三者が二者間のすべての通信を傍受できたとしても、第三者はその鍵について何も知らずに二者間で共有鍵を確立するプロセスである。したがって、ＱＫＤ鍵は、本システムの特定の定義された宛先にＯＴＰを配信するために使用され得る。
【００８８】
ＯＴＰの処分
上記のように、悪用を防ぐために、使用済みのＯＴＰは削除して処分する必要がある。いくつかの実施形態では、本発明のＯＴＰは、ＯＴＰのすべてまたは一部を誤りデータで上書きすることによって処分できる。
【００８９】
本発明は、システム、方法、および／またはコンピュータプログラム製品であってもよい。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体（または複数の媒体）を含み得る。
【００９０】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のために命令を保持および記憶することができる有形デバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、または前述の任意の適切な組み合わせであり得るが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、以下、すなわち、携帯型コンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能なプログラマブル読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、携帯型コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリスティック、フロッピーディスク、命令がその上に記録された機械的に符号化されたデバイス、および前述の任意の適切な組み合わせが含まれる。本明細書で使用される際、コンピュータ可読記憶媒体は、それ自体が、電波もしくは他の自由に伝播する電磁波、導波管もしくは他の伝送媒体を介して伝播する電磁波（例えば、光ファイバケーブルを通過する光パルス）、またはワイヤを介して伝送される電気信号などの、一時的な信号であると解釈されるべきではない。むしろ、コンピュータ可読記憶媒体は、非一時的（すなわち、不揮発性）媒体である。
【００９１】
本明細書で説明するコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング／処理デバイスに、またはネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、および／もしくはワイヤレスネットワークを介して、外部コンピュータもしくは外部記憶デバイスにダウンロードできる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、および／またはエッジサーバを含んでもよい。各コンピューティング／処理デバイス内のネットワークアダプタカードまたはネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング／処理デバイス内のコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
【００９２】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはＪａｖａ、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語などの従来の手続き型プログラミング言語、もしくは同様のプログラミング言語を含む、１つ以上のプログラミング言語の任意の組み合わせで記述された、ソースコードもしくはオブジェクトコードのいずれかであり得る。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、独立型のソフトウェアパッケージとして、部分的にユーザのコンピュータ上および部分的にリモートコンピュータ上で、または完全にリモートコンピュータもしくはサーバ上で、実行できる。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク（ＬＡＮ）もしくはワイドエリアネットワーク（ＷＡＮ）を含む任意の種類のネットワークを介してユーザのコンピュータに接続でき、または、接続は、外部コンピュータに（例えば、インターネットサービスプロバイダを使用したインターネット経由で）なされ得る。いくつかの実施形態では、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、またはプログラマブルロジックアレイ（ＰＬＡ）を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
【００９３】
本発明の態様は、本発明の実施形態による方法、装置（システム）、およびコンピュータプログラム製品のフローチャート図ならびに／またはブロック図を参照して本明細書で説明される。フローチャート図および／またはブロック図の各ブロック、ならびにフローチャート図および／またはブロック図内のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されよう。
【００９４】
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに提供されて、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行される命令がフローチャートおよび／またはブロック図のブロックもしくは複数のブロックで指定された機能／動作を実装するための手段を作成するように、機械を生成することができる。これらのコンピュータ可読プログラム命令はまた、コンピュータ、プログラマブルデータ処理装置、および／または他のデバイスが特定の手法で機能するように命令することができるコンピュータ可読記憶媒体内に記憶され得、命令をその中に記憶したコンピュータ可読記憶媒体が、フローチャートおよび／またはブロック図のブロックもしくは複数のブロックで指定された機能／動作の態様を実装する命令を含む製品を備えるようにする。
【００９５】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスにロードされ得、コンピュータ、他のプログラマブル装置または他のデバイス上で一連の動作ステップを実行させて、コンピュータ実装プロセスを生成することができ、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行される命令が、フローチャートおよび／またはブロック図のブロックもしくは複数のブロックで指定された機能／動作を実装するようにする。
【００９６】
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータプログラム製品の可能な実装のアーキテクチャ、機能、および動作を例示する。これに関して、フローチャートまたはブロック図内の各ブロックは、指定された論理機能（複数可）を実装するための１つ以上の実行可能な命令を含むモジュール、セグメント、または命令の一部を表すことができる。いくつかの代替実装では、ブロックに記載されている機能が、図面に記載されている順序とは異なる順序で発生する場合がある。例えば、連続して示されている２つのブロックは、実際には、実質的に同時に実行されてもよいし、複数のブロックは、場合によっては、関与する機能に応じて、逆の順序で実行されてもよい。ブロック図および／またはフローチャート図の各ブロック、ならびにブロック図および／またはフローチャート図のブロックの組み合わせは、指定された機能または動作を実行する専用ハードウェアベースのシステムによって実装できること、または専用ハードウェアとコンピュータ命令の組み合わせを実行できることにも留意されたい。
【００９７】
本発明の様々な実施形態の説明は、例示の目的で提示されているが、網羅的であること、または開示された実施形態に限定されることを意図するものではない。説明された実施形態の範囲および趣旨から逸脱することなく、多くの修正および変形が当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、実際の応用、もしくは市場で見られる技術に対する技術的改善を最もよく説明するために、または当業者以外の人がが本明細書で開示される実施形態を理解できるように選択されたものである。
【図１Ａ】
2021506023.tif 000003
【図１Ｂ】
2021506023.tif 000004
【図１Ｃ】
2021506023.tif 000005
【図２Ａ】
2021506023.tif 000006
【図２Ｂ】
2021506023.tif 000007
【図３】
2021506023.tif 000008
【国際調査報告】
2021506023.tif 000009
2021506023.tif 000010
2021506023.tif 000011
2021506023.tif 000012