(57)【要約】  本開示は、鍵管理のための方法及びデバイスを提供する。一実例では、鍵管理の方法は、ユーザ・デバイスにおいて、ユーザのグループ中のユーザの数と、トランザクション鍵を復元するためのユーザの最小数とを取得するステップと、トランザクション鍵をランダムに生成するステップと、トランザクション鍵を複数のサブ鍵に分割するステップであって、サブ鍵の数が、ユーザの数と同じである、分割するステップと、複数のサブ鍵を管理デバイスに送るステップであって、複数のサブ鍵の各々が、サブ鍵に対応するユーザの公開鍵で暗号化される、送るステップとを含む。
2022501971.tif 000002
【特許請求の範囲】
【請求項１】
トランザクション鍵を分割するための１次ユーザのユーザ・デバイスにおいて、前記トランザクション鍵を管理するためのユーザのグループ中のユーザの数と、第１の所定の値とを取得するステップであって、前記第１の所定の値が、前記トランザクション鍵を復元するためのユーザの前記グループ中のユーザの最小数を示す、取得するステップと、
ユーザの前記グループ中のさらなるユーザに関係する管理デバイスからのメッセージに基づいて、前記トランザクション鍵をランダムに生成するステップであって、前記トランザクション鍵が、現在のトランザクションのパーミッションを処理することに関連し、前記メッセージが、少なくとも、前記さらなるユーザの公開鍵を含む、生成するステップと、
前記トランザクション鍵を複数のサブ鍵に分割するステップであって、サブ鍵の数が、ユーザの前記数と同じである、分割するステップと、
前記複数のサブ鍵の各々を、所与のサブ鍵に関連するユーザの前記グループ中の前記ユーザのうちの対応するユーザの公開鍵で暗号化するステップと、
前記複数の暗号化されたサブ鍵を前記管理デバイスに送るステップと
を含む、鍵管理の方法。
【請求項２】
前記１次ユーザが、前記管理デバイスによってユーザの前記グループから指定されるか又はランダムに決定される、請求項１に記載の方法。
【請求項３】
前記さらなるユーザに関係する前記管理デバイスからの前記メッセージが、
前記管理デバイスの証明、
前記さらなるユーザの前記公開鍵を検証するための署名情報、
前記さらなるユーザの識別情報、
前記さらなるユーザのマージされたデータのハッシュ値の署名情報、及び
前記メッセージの有効期間
のうちの少なくとも１つを示す、請求項１に記載の方法。
【請求項４】
前記トランザクション鍵をランダムに生成するステップは、
前記管理デバイスの前記証明が有効であると決定したことに応答して、前記さらなるユーザの前記公開鍵の前記署名情報に基づいて、前記さらなるユーザの前記公開鍵が有効であるかどうかを決定するステップと、
前記さらなるユーザの前記公開鍵が有効であることに応答して、分割多項式を構築するための複数の乱数をランダムに生成するステップであって、乱数の数が、前記第１の所定の値と同じであり、前記分割多項式を構築するための前記複数の乱数が、前記トランザクション鍵を含む、生成するステップと
を含む、請求項３に記載の方法。
【請求項５】
前記トランザクション鍵を前記複数のサブ鍵に分割するステップは、
ユーザの前記グループ中のユーザの前記数と、前記分割多項式を構築するための前記複数の乱数とに基づいて、前記複数のサブ鍵を決定するステップであって、前記複数のサブ鍵の各々が、第１のサブ鍵データと第２のサブ鍵データとを備える、決定するステップ
を含む、請求項４に記載の方法。
【請求項６】
前記暗号化するステップが、
前記サブ鍵に対応する前記ユーザの前記公開鍵と、前記さらなるユーザに関係する前記メッセージの有効期間とに基づいて、前記サブ鍵を暗号化するステップ
をさらに含む、請求項１に記載の方法。
【請求項７】
前記管理デバイスからの署名データが有効であると決定したことに応答して、前記ユーザ・デバイスにおいてプリセットされた秘密鍵に基づいて前記署名データに署名するステップであって、前記署名データが、少なくとも、前記管理デバイスによって署名された乱数を含む、署名するステップと、
ユーザが、ユーザの前記グループを編成するための編成１次ユーザとして決定されたことに応答して、前記管理デバイスに、ユーザの前記グループに関するグループ情報と、前記編成１次ユーザの前記ユーザ・デバイスの公開鍵と、前記編成１次ユーザの前記ユーザ・デバイスの秘密鍵で署名された前記署名データとを送るステップであって、前記グループ情報が、少なくとも、ユーザの前記グループ中のユーザの前記数と、前記第１の所定の値とを含む、送るステップと
をさらに含む、請求項１に記載の方法。
【請求項８】
前記ユーザ・デバイスが、処理ユニットをもつハードウェアＵＳＢ鍵を備える、請求項１に記載の方法。
【請求項９】
ユーザのグループの間の鍵管理の方法であって、
ユーザの前記グループからのユーザが、トランザクション鍵を復元するための復元ユーザとして決定されたことに応答して、前記復元ユーザのユーザ・デバイスにおいて、前記トランザクション鍵を復元するための管理デバイスからの復元メッセージを取得するステップであって、前記復元メッセージが、少なくとも、ユーザの前記グループ中の確認ユーザの数と、前記復元ユーザの識別情報とを示し、前記確認ユーザが、現在のトランザクションを承認する、取得するステップと、
確認ユーザの前記数が、第１の所定の値よりも大きいか又はそれに等しいと決定したことに応答して、前記管理デバイスから取得された前記確認ユーザのサブ鍵に基づいて前記トランザクション鍵を決定するステップであって、前記確認ユーザの前記サブ鍵が、事前に前記トランザクション鍵を分割することによって生成された、決定するステップと、
前記決定されたトランザクション鍵に基づいて、前記現在のトランザクションについてのトランザクション要求に署名するステップと
を含む、方法。
【請求項１０】
前記復元ユーザが、ユーザの前記グループから前記管理デバイスによって指定されるか又はランダムに決定される、請求項９に記載の方法。
【請求項１１】
前記確認ユーザの前記サブ鍵が、前記確認ユーザによって前記管理デバイスに送られ、前記確認ユーザの前記サブ鍵が、前記復元ユーザの公開鍵で暗号化される、請求項９に記載の方法。
【請求項１２】
前記確認ユーザの前記サブ鍵が、前記管理デバイスを介して取得された前記復元ユーザの前記公開鍵と、前記現在のトランザクションに関連する現在のトランザクション乱数とで、前記確認ユーザの前記ユーザ・デバイスにおいて暗号化された、請求項１１に記載の方法。
【請求項１３】
前記復元メッセージが、
前記現在のトランザクションに関連する現在のトランザクション乱数、
前記復元ユーザの公開鍵で署名された、前記確認ユーザの前記サブ鍵及び前記現在のトランザクション乱数、
前記確認ユーザの署名情報、
前記管理デバイスの証明、並びに
前記復元メッセージのハッシュ値の署名情報
のうちの少なくとも１つをさらに示す、請求項９に記載の方法。
【請求項１４】
ユーザのグループを伴う鍵管理の方法であって、ユーザの前記グループが、ユーザの前記グループを作成するための編成１次ユーザと、トランザクション鍵を分割するための１次ユーザとを含み、前記方法は、
管理デバイスにおいて、前記編成１次ユーザのユーザ・デバイスからユーザの前記グループに関するグループ情報を取得するステップであって、前記グループ情報が、少なくとも、ユーザの前記グループ中のユーザの数と、第１の所定の値とを示し、前記第１の所定の値が、トランザクション鍵を復元するためのユーザの最小数を示し、ユーザの前記グループが、前記トランザクション鍵を管理するために使用される、取得するステップと、
前記トランザクション鍵を分割するための前記１次ユーザのユーザ・デバイスにメッセージを送るステップであって、前記メッセージが、前記トランザクション鍵を分割するための前記１次ユーザ以外のユーザの前記グループ中の前記ユーザのうちの第１のユーザに関係し、前記メッセージが、少なくとも、前記ユーザのうちの前記第１のユーザの公開鍵を示す、送るステップと、
前記トランザクション鍵を分割するための前記１次ユーザからの複数のサブ鍵を取得するステップであって、サブ鍵の数が、ユーザの前記グループ中のユーザの前記数と同じであり、前記複数のサブ鍵が、前記トランザクション鍵をランダムに生成することと、次いで、前記トランザクション鍵を分割することとによって、前記トランザクション鍵を分割するための前記１次ユーザによって生成され、前記複数のサブ鍵が、それぞれのユーザの公開鍵で暗号化される、取得するステップと、
前記それぞれのユーザに送るために前記複数のサブ鍵をキャッシュするステップと
を含む、方法。
【請求項１５】
ユーザの前記グループ中で、
前記編成１次ユーザと前記トランザクション鍵を分割するための前記１次ユーザとのうちの少なくとも１つ、及び
前記トランザクション鍵を復元するための復元ユーザ
のうちの少なくとも１つを指定するか又はランダムに決定するステップ
をさらに含む、請求項１４に記載の方法。
【請求項１６】
現在のトランザクションについての要求を受信したことに応答して、ユーザの前記グループのユーザに、前記現在のトランザクションが承認されるかどうかを決定するためのトランザクション情報を送るステップであって、前記トランザクション情報が、少なくとも、前記現在のトランザクションのトランザクション・コンテンツと、前記復元ユーザの識別情報とを示す、送るステップと、
ユーザの前記グループ中の各確認ユーザのサブ鍵を取得するステップであって、前記確認ユーザが、前記現在のトランザクションを承認し、前記確認ユーザの前記サブ鍵が、前記復元ユーザの公開鍵で署名される、取得するステップと、
前記現在のトランザクションについての条件が満たされると決定したことに応答して、前記復元ユーザに、前記トランザクション鍵を復元するための復元メッセージを送るステップと
をさらに含む、請求項１５に記載の方法。
【請求項１７】
ユーザの前記グループ中のユーザのユーザ・デバイスからの登録要求に応答して、前記ユーザ・デバイスに前記管理デバイスの署名データを送るステップであって、前記署名データが、少なくとも、前記管理デバイスによって署名された乱数を含む、送るステップと、
前記ユーザ・デバイスからの署名データに基づいて、前記ユーザ・デバイスが有効であるかどうかを決定するステップであって、前記署名データは、前記管理デバイスが有効であると決定したことに応答して、前記ユーザ・デバイスにおいてプリセットされた秘密鍵に基づいて、前記ユーザ・デバイスによって前記乱数に署名することによって生成される、決定するステップと、
ユーザの前記グループ中の各ユーザのユーザ・デバイスが有効であると決定したことに応答して、ユーザの前記グループが有効であると決定するステップと
をさらに含む、請求項１４に記載の方法。
【請求項１８】
前記ユーザ・デバイスが、処理ユニットをもつハードウェアＵＳＢ鍵を備える、請求項１４に記載の方法。
【請求項１９】
鍵管理のためのユーザ・デバイスであって、
１つ又は複数のコンピュータ・プログラムを記憶するように構成されたメモリと、
前記メモリに結合され、前記デバイスに請求項１から１３までのいずれか一項に記載の方法を実施させるために前記１つ又は複数のコンピュータ・プログラムを実行するように構成された、処理ユニットと
を備える、ユーザ・デバイス。
【請求項２０】
鍵管理のための管理デバイスであって、
１つ又は複数のコンピュータ・プログラムを記憶するように構成されたメモリと、
前記メモリに結合され、前記デバイスに請求項１４から１８までのいずれか一項に記載の方法を実施させるために前記１つ又は複数のコンピュータ・プログラムを実行するように構成された、処理ユニットと
を備える、管理デバイス。
【請求項２１】
記憶された機械実行可能命令を備える非一時的コンピュータ可読記憶媒体であって、前記機械実行可能命令が、実行されたとき、機械に、請求項１から１８までのいずれか一項に記載の方法のステップを実施させる、非一時的コンピュータ可読記憶媒体。
【請求項２２】
非一時的コンピュータ可読媒体上に有形に記憶され、機械実行可能命令を備える、コンピュータ・プログラム製品であって、前記機械実行可能命令が、実行されたとき、機械に、請求項１から１８までのいずれか一項に記載の方法のステップを実施させる、コンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、パーミッション管理のための方法及びデバイスに関し、より詳細には、鍵管理のための方法、ユーザ・デバイス、管理デバイス、非一時的コンピュータ可読記憶媒体及びコンピュータ・プログラム製品に関する。
【背景技術】
【０００２】
ｅコマース、資産分離及び資金管理などのシナリオでは、複数のユーザが、しばしば、処理されるべきトランザクションにわたる統制及び管理パーミッションを有することを必要とされる。旧来のパーミッション管理方式では、セキュリティを改善し、パーミッションを所有する個人ユーザによって鍵が漏洩されることを防ぐために、複数の署名のソリューションが通常採用される。たとえば、パーミッションを所有する複数のユーザが、それらのそれぞれの鍵で同じトランザクションを暗号化するか又はそれに署名することを順番に行う。
【０００３】
上記の旧来のパーミッション管理方式では、パーミッションを所有する複数のユーザが、順に同じトランザクションに署名するか又はそれを許可することを必要とされ、トランザクション・プロセス全体が幾分冗長であることを引き起こす。その上、パーミッションを借りているユーザの各々が、ユーザのそれぞれの鍵を有し、ユーザのいずれかが、何かの理由で、ユーザの鍵を失うか又はユーザの鍵を使用することを拒否するかのいずれかであるとき、トランザクションは、遅延又は停止され得る。さらに、パーミッションを所有するユーザによって保たれる鍵が、通常、ある時間期間の間一定であるので、これらの鍵が解読される確率が高い。
【０００４】
これに鑑みて、パーミッションを所有する複数のユーザを伴う鍵統制及び管理が、よりセキュアになり、及び／又は使用するのにより容易になるように、鍵を管理するための方式を構築する必要がある。
【発明の概要】
【０００５】
本開示は、鍵の統制及び管理が、よりセキュアで、信頼でき、使用するのに好都合にされるような、鍵管理のための方法及びデバイスを提供する。
【０００６】
本開示の第１の態様によれば、鍵管理の方法が提供される。本方法は、ユーザが、トランザクション鍵を分割するための１次ユーザとして決定されたことに応答して、１次ユーザのユーザ・デバイスにおいて、ユーザのグループ中のユーザの数と、第１の所定の値とを取得するステップであって、第１の所定の値が、トランザクション鍵を復元するためのユーザの最小数を示し、ユーザのグループが、トランザクション鍵を管理するために使用される、取得するステップと、管理デバイスからのさらなるユーザに関係するメッセージに基づいて、現在のトランザクションの処理パーミッションに関連するトランザクション鍵をランダムに生成するステップであって、さらなるユーザに関係するメッセージが、少なくとも、ユーザのグループ中の１次ユーザとは異なるさらなるユーザの公開鍵を示す、生成するステップと、トランザクション鍵を複数のサブ鍵に分割するステップであって、サブ鍵の数が、ユーザの数と同じであり、複数のサブ鍵の各々が、ユーザのグループ中の１人のユーザに対応する、分割するステップと、複数の暗号化されたサブ鍵を管理デバイスに送るステップであって、複数の暗号化されたサブ鍵の各々が、サブ鍵に対応するユーザの公開鍵で暗号化される、送るステップとを含む。
【０００７】
本開示の第２の態様によれば、鍵管理の方法がさらに提供される。本方法は、ユーザが、トランザクション鍵を復元するための復元ユーザとして決定されたことに応答して、復元ユーザのユーザ・デバイスにおいて、管理デバイスからトランザクション鍵を復元するための復元メッセージを取得するステップであって、復元メッセージが、少なくとも、ユーザのグループ中の確認ユーザの数と、復元ユーザの識別情報とを示し、確認ユーザが、現在のトランザクションを承認し、ユーザのグループが、トランザクション鍵を管理するために使用される、取得するステップと、確認ユーザの数が、第１の決定された値よりも大きいか又はそれに等しいと決定したことに応答して、管理デバイスから取得された確認ユーザのサブ鍵に基づいてトランザクション鍵を決定するステップであって、確認ユーザのサブ鍵が、事前にトランザクション鍵を分割することによって生成された、決定するステップと、決定されたトランザクション鍵に基づいて、現在のトランザクションについてのトランザクション要求に署名するステップとを含む。
【０００８】
本開示の第３の態様によれば、鍵管理の方法がさらに提供される。本方法は、管理デバイスにおいて、ユーザのグループを作成するための編成１次ユーザのユーザ・デバイスからユーザのグループに関するグループ情報を取得するステップであって、グループ情報が、少なくとも、ユーザのグループ中のユーザの数と、第１の所定の値とを示し、第１の所定の値が、トランザクション鍵を復元するためのユーザの最小数を示し、ユーザのグループが、トランザクション鍵を管理するために使用される、取得するステップと、トランザクション鍵を分割するための１次ユーザのユーザ・デバイスにさらなるユーザに関係するメッセージを送るステップであって、メッセージが、少なくとも、ユーザのグループ中の１次ユーザとは異なるさらなるユーザの公開鍵を示すさらなるユーザに関係する、送るステップと、１次ユーザからの複数のサブ鍵を取得するステップであって、サブ鍵の数が、ユーザのグループ中のユーザの数と同じであり、複数のサブ鍵が、１次ユーザによってトランザクション鍵を分割することによって生成され、複数のサブ鍵が、それぞれのユーザの公開鍵で暗号化される、取得するステップと、それぞれのユーザに送られるべき複数のサブ鍵をキャッシュするステップとを含む。
【０００９】
本開示の第４の態様では、鍵管理のためのユーザ・デバイスがさらに提供される。本ユーザ・デバイスは、１つ又は複数のコンピュータ・プログラムを記憶するように構成されたメモリと、メモリに結合され、本デバイスに本開示の第１及び第２の態様のいずれかに記載の方法を実施させるための１つ又は複数のコンピュータ・プログラムを実行するように構成された、処理ユニットとを備える。
【００１０】
本開示の第５の態様では、鍵管理のための管理デバイスがさらに提供される。本管理デバイスは、１つ又は複数のコンピュータ・プログラムを記憶するように構成されたメモリと、メモリに結合され、本デバイスに本開示の第３の態様に記載の方法を実施させるための１つ又は複数のコンピュータ・プログラムを実行するように構成された、処理ユニットとを備える。
【００１１】
本開示の第６の態様では、非一時的コンピュータ可読記憶媒体がさらに提示される。本非一時的コンピュータ可読記憶媒体は、記憶された機械実行可能命令を備え、機械実行可能命令が、実行されたとき、機械に、本開示の第１、第２及び第３の態様のいずれかに記載の方法を実施させる。
【００１２】
本開示の第７の態様では、コンピュータ・プログラム製品がさらに提供される。本コンピュータ・プログラム製品は、非一時的コンピュータ可読媒体上に有形に記憶され、機械実行可能命令を備え、機械実行可能命は、実行されたとき、機械に、本開示の第１、第２及び第３の態様のいずれかに記載の方法を実施させる。
【００１３】
本発明の概要は、発明を実施するための形態において以下でさらに説明される概念の選択を簡略化された形で紹介するために与えられる。本発明の概要は、本開示の主要な特徴又は本質的特徴を識別するものではなく、本開示の範囲を限定するために使用されるものでもない。
【００１４】
添付の図面を参照しながら本開示の例示的な実施例の以下のより詳細な説明を通して、本開示の上記及び他の目的、特徴、及び利点がより明らかになり、同じ参照番号は、通常、本開示の例示的な実装形態における同じ構成要素を指す。
【図面の簡単な説明】
【００１５】
【図１】本開示の実施例による、鍵管理のための管理システム１００のアーキテクチャ図である。
【図２】本開示の実施例による、鍵管理の方法２００のフローチャートである。
【図３】本開示の実施例による、鍵管理の方法３００のフローチャートである。
【図４】本開示の実施例による、鍵管理の方法４００のフローチャートである。
【図５】本開示の実施例による、鍵管理の管理システム５００のデータ・フロー図である。
【図６】本開示の実施例を実装するために適用可能である電子デバイス６００の概略ブロック図である。
【発明を実施するための形態】
【００１６】
図全体にわたって、同じ又は対応する数字は、同じ又は対応する部分を指す。
【００１７】
本開示の例示的な実装形態が、添付の図面を参照しながら本明細書で説明される。図面は、本開示のいくつかの例示的な実装形態を示すが、本開示は、様々な他のやり方で実装され得、本明細書で開示される実装形態に限定されないことを諒解されたい。むしろ、開示される実装形態は、本開示の範囲を当業者に示し、伝達するために提供される。
【００１８】
本明細書で使用される「含む」という用語及びその変形態は、「限定はしないが、含む」を意味するオープンエンド用語として読まれるべきである。「又は」という用語は、文脈が別段に明確に示さない限り、「及び／又は」として読まれるべきである。「に基づいて」という用語は、「に少なくとも部分的に基づいて」として読まれるべきである。「１つの例示的な実装形態」及び「一実装形態」という用語は、「少なくとも１つの例示的な実装形態」として読まれるべきである。「さらなる実装形態」という用語は、「少なくともさらなる実装形態」として読まれるべきである。「第１の」、「第２の」などの用語は、同じ又は異なるオブジェクトを指すことがある。また、以下は、他の明示的及び暗黙的定義を含むことができる。
【００１９】
上記で説明されたように、旧来のパーミッション管理方式では、ユーザによって保たれる鍵が、長い時間期間の間一定であり、複数のユーザが順にそれらのそれぞれの鍵で同じトランザクションに署名する必要があるので、ユーザのうちのいずれかで問題が起きた（たとえば、ユーザの鍵を失うか又はユーザの鍵を使用することを拒否する）場合、トランザクションがスムーズに進まないことになる。したがって、旧来のパーミッション管理方式の署名プロセスは、十分にはセキュアで好都合ではなく、その上、そのようなシステムの信頼性はむしろ低く、不適当なパーミッション使用の影響を受けやすい。
【００２０】
上記及び他の潜在的問題のうちの１つ又は複数を少なくとも部分的に解決するために、本開示の実施例は、鍵管理方式を提案する。一実例では、ユーザが、トランザクション鍵を分割するための１次ユーザとして決定されたことに応答して、鍵管理の方法は、１次ユーザのユーザ・デバイスにおいて、ユーザのグループ中のユーザの数と、第１の所定の値とを取得するステップであって、第１の所定の値が、トランザクション鍵を復元するためのユーザの最小数を示し、ユーザのグループが、トランザクション鍵を管理するために使用される、取得するステップを含み得、本方法は、ユーザのグループ中のさらなるユーザに関係する管理デバイスからのメッセージに基づいて、現在のトランザクションのパーミッションを処理するためのトランザクション鍵をランダムに生成するステップであって、さらなるユーザに関係するメッセージが、少なくとも、ユーザのグループ中の１次ユーザとは異なるさらなるユーザの公開鍵を示す、生成するステップと、トランザクション鍵を複数のサブ鍵に分割するステップであって、サブ鍵の数が、ユーザの数と同じであり、複数のサブ鍵の各々が、ユーザのグループ中の１人のユーザに対応する、分割するステップと、複数の暗号化されたサブ鍵を管理デバイスに送るステップであって、複数の暗号化されたサブ鍵の各々が、サブ鍵に対応するユーザの公開鍵で暗号化される、送るステップとをさらに含み得る。
【００２１】
上記の方式では、１次ユーザによってランダムに生成され、複数のサブ鍵に分割される、トランザクション鍵と、サブ鍵の数が、ユーザのグループ中のユーザの数と同じであることと、各サブ鍵が、サブ鍵の対応するユーザの公開鍵で暗号化されることとを通して、本開示の例示的な実施例によって提案される方式は、トランザクション鍵が一定のトランザクション鍵の場合のような解読を受けやすいという危険を低減するだけではない。その上、サブ鍵を有する単一のユーザが、単独でトランザクション鍵を復元することができず、トランザクション鍵は、複数のユーザとの共同によって復元され得るにすぎないので、鍵があまりに集中されるという危険が分散され、トランザクション鍵のセキュリティが改善される。さらに、トランザクション鍵を復元するためのユーザの最小数を設定することによって、個人ユーザで問題が起きた（たとえば、サブ鍵を失うか又はサブ鍵を使用することを拒否する）ときでも、トランザクション鍵は、さらなるユーザの共同によって、依然として復元され得、したがって、パーミッション管理システムの信頼性及びロバストネスが改善される。さらに、複数の暗号化されたサブ鍵を管理デバイスに送ることによって、管理デバイスは、ユーザのグループ中のさらなるユーザの同期動作なしに、暗号化されたサブ鍵をキャッシュし、複数のユーザの間のトランザクション鍵の非同期分割及び配信を可能にし、それにより、パーミッション管理システムの利便性を改善し得る。
【００２２】
図１は、本開示の実施例による、鍵管理の例示的な管理システム１００のアーキテクチャ図を示す。図１に示されているように、管理システム１００は、管理デバイス１１０と、（以下でユーザ・デバイス１２０と総称される）複数のユーザ・デバイス１２０−１、１２０−２、１２０−３、１２０−４〜１２０−Ｎとを備え、複数のユーザ・デバイスは、たとえば、トランザクション鍵を管理する（以下でユーザ１４０と総称される）複数のユーザ１４０−１、１４０−２、１４０−３、１４０−４〜１４０−Ｎに関連し、ユーザは、トランザクション鍵を管理するための端末デバイスとしてユーザ・デバイスを使用する。ユーザ１４０−１〜１４０−Ｎは、トランザクションの実行又は資産の処分又は移転などの事柄にわたるパーミッションを一緒に所有し、したがって、そのような事柄を実行するためのパーミッションを提供するための鍵を管理するユーザのグループに編成し得る。管理デバイス１１０と、複数のユーザ・デバイス１２０−１、１２０−２、１２０−３、１２０−４〜１２０−Ｎとは、ネットワーク１５０を介してデータ相互作用を実施する。
【００２３】
管理デバイス１１０は、たとえば、限定はしないが、パーソナル・コンピュータ、サーバ又は他のコンピューティング・デバイスである。管理デバイス１１０は、各ユーザ１４０のユーザ・デバイス１２０の初期化を実装すること、ユーザのグループ中の１次ユーザ及び／又は復元ユーザを指定するか又はランダムに決定すること、編成１次ユーザがトランザクション鍵を管理するためのユーザのグループを編成することを支援すること、１次ユーザがトランザクション鍵を複数のサブ鍵に分割することを支援することであって、いくつかの実例では、サブ鍵の数がユーザのグループ中のユーザの数と同じである、支援すること、サブ鍵をキャッシュ及び配信すること、並びに復元ユーザがトランザクション鍵を復元するのを支援すること、のうちの１つ又は複数のために、ユーザ・デバイス１２０との相互作用を通して使用され得る。したがって、いくつかの実例では、トランザクション鍵を生成すること、トランザクション鍵をサブ鍵に分割すること、サブ鍵の記憶、及びサブ鍵からトランザクション鍵を復元すること、の機能のうちの１つ又は複数が、ユーザ・デバイス１２０及び／又はハードウェア・セキュリティ・デバイス１３０によって実施され、これは、管理デバイス１１０など、中央コンピューティング・デバイス上でそれらの機能のうちの１つ又は複数を実施することと比較して増加されたセキュリティを提供する。さらに、いくつかの実例では、トランザクション鍵は、管理デバイス１１０によって決して記憶されず、それにより、セキュリティを改善する。
【００２４】
いくつかの実施例では、管理デバイス１１０は、ユーザ・デバイスの登録要求に応答して、ユーザ・デバイスが有効であるかどうかを決定し、さらに、ユーザのグループ中の各ユーザのユーザ・デバイスが有効であるかどうかを決定することによってユーザのグループ全体が有効であるかどうかを決定する。いくつかの実施例では、管理デバイス１１０は、１次ユーザから、ユーザのグループ中のユーザの数と、トランザクション鍵を復元するためのユーザの（いくつかの実例では、第１の所定の値とも呼ばれる）最小数とを取得することと、ランダムに選択され得る１次ユーザのユーザ・デバイスが、トランザクション鍵を分割することを支援することとを行うためにさらに使用され得、いくつかの実例では、分割することが多項式を構築することを含み得る。
【００２５】
ユーザ・デバイス１２０−１、１２０−２、１２０−３、１２０−４〜１２０Ｎは、非限定的な実例では、従来のセル・フォン、パーソナル・コンピュータなど、当技術分野で知られている様々なコンピューティング・デバイスのいずれかであり得る。各ユーザ・デバイス１２０は、対応するコンピューティング・デバイス１２０に通信可能に結合された関連するハードウェア・セキュリティ・デバイス１３０（たとえば、１３０−１、１３０−２、１３０−３、１３０−４又は１３０Ｎ）を含み得る。ハードウェア・セキュリティ・デバイス１３０は、非限定的な実例では、ＵＳＢ鍵であり、これは、たとえば、ユーザ・デバイス１２０に動作可能に接続され得る。いくつかの実例では、ハードウェア・セキュリティ・デバイス１３０は、トランザクション鍵を生成する、分割する及び／又は復元するために使用され得る。他の実例では、ユーザ・デバイス１２０は、トランザクション鍵を生成すること、分割すること及び／又は復元することのうちの１つ又は複数を実施し得る。
【００２６】
いくつかの実施例では、ハードウェア・セキュリティ・デバイス１３０は、非対称暗号化のための公開鍵Ｋ及び秘密鍵Ｐのそれ自体の非対称暗号化鍵ペアを作成するように構成され得る。いくつかの実例では、ハードウェア・セキュリティ・デバイス１３０は、ユーザのグループのためのパスワードを作成すること、トランザクション鍵をランダムに生成すること、及び／又はトランザクション鍵を分割するための多項式を構築することなどを行うためにも使用され得る。一実例では、ハードウェア・セキュリティ・デバイス１３０は、本明細書で説明されるトランザクション鍵機能性をセキュアに及び自動で実施するためのハードウェア及びソフトウェアを含み得る。ハードウェア・セキュリティ・デバイス１３０は、ハードウェアベースの暗号化を組み込む（１つ又は複数の）セキュア・プロセッサ、並びにトランザクション鍵機能を実施するためのソフトウェア及びファームウェアを含んでいることなど、当技術分野で知られている様々なセキュリティ特徴のいずれかを含み得る。ハードウェア・セキュリティ・デバイス１３０は、ＭＰＵ、ＣＰＵ、コプロセッサ、及び暗号ＲＡＭを含むハードウェア・アーキテクチャを有し得る。一実例では、ハードウェア・セキュリティ・デバイス１３０は、ＡＲＭ（登録商標）によって製造されたＳｅｃｕｒＣｏｒｅ（登録商標）ＳＣ３００プロセッサを含む。ハードウェア・セキュリティ・デバイス１３０は、対応するユーザ・デバイス１２０へのワイヤード接続、たとえば、ＵＳＢを介して電力供給され、ユーザ・デバイス１２０を介してネットワーク１５０上で通信するように構成され得る。
【００２７】
以下の説明では、図１に示されている、各ユーザ・デバイス１２０と、ユーザ・デバイス１２０に関連する対応するハードウェア・セキュリティ・デバイス１３０との組合せが、単にユーザ・デバイス１２０と呼ばれることもある。
【００２８】
他の実例では、ユーザ・デバイス１２０は、汎用ハードウェア・セキュリティ・デバイス１３０をもつ別々に設計された通信機能モジュール及び処理機能モジュールの統合であり得る。そのようなユーザ・デバイス１２０は、鍵及びトランザクション情報を交換するために、非対称暗号化のためのそれ自体の公開鍵Ｋ及び秘密鍵Ｐを作成し、管理デバイス１１０との相互信用を、互いを検証することによって確立し得る。さらに、ユーザ・デバイス１２０のいずれかが、さらに、ユーザのグループ中の編成又は分割１次ユーザ、復元ユーザ又はさらなるユーザとして、管理デバイスによって指定されるか又はランダムに決定され得る。
【００２９】
いくつかの実施例では、ユーザ・デバイス１２０のうちの１つが、ユーザのグループを編成するための１次ユーザ・デバイスとして管理デバイス１１０によってランダムに決定され得る。１次ユーザ・デバイスは、ユーザのグループについてのグループ情報、たとえば、ユーザの数Ｎ、及びトランザクション鍵を復元するために必要とされるユーザの最小数を示す第１の所定の値Ｍを決定するように構成され得、管理デバイス１１０にグループ情報を送るように構成され得る。
【００３０】
いくつかの実施例では、ユーザ・デバイスのうちの１つが、トランザクション鍵を分割するためのユーザ・デバイスとして管理デバイス１１０によって指定されるか又はランダムに決定され得る。トランザクション鍵を分割するためのユーザ・デバイスは、現在のトランザクションのパーミッションを処理することに関連するトランザクション鍵をランダムに生成すること、トランザクション鍵を複数のサブ鍵に分割することであって、いくつかの実例では、サブ鍵の数が、管理デバイスからのグループ情報（たとえば、ユーザの数Ｎ及び第１の所定の値Ｍ）から決定され得る、ユーザのグループ中のユーザの数と同じである、分割すること、いくつかの実例では、ユーザ１２０のうちの対応するそれぞれのユーザの公開鍵で暗号化され得る、サブ鍵を管理デバイスに送ること、のうちの１つ又は複数を実施するように構成され得る。
【００３１】
いくつかの実施例では、ユーザ・デバイスのうちの１つが、トランザクション鍵を復元するための復元ユーザのユーザ・デバイスとして管理デバイス１１０によって指定されるか又はランダムに決定され得る。復元ユーザ・デバイスは、（たとえば、現在のトランザクションを承認する確認ユーザの数と、復元ユーザの識別情報とを含む）復元メッセージを取得し、確認ユーザの数が、第１の所定の値よりも大きいか又はそれに等しいと決定した後に、現在のトランザクションのトランザクション要求に署名するために確認ユーザのサブ鍵に基づいてトランザクション鍵を復元し得る。
【００３２】
図２は、本開示の実施例による、鍵管理の例示的な方法２００のフローチャートを示す。図２では、様々な行為が、鍵を管理するための１次ユーザのユーザ・デバイスによって実施される。方法２００は、示されていない追加の行為をさらに含み、及び／又は示されている行為を省略し得、本開示の範囲はこの点について限定されない。
【００３３】
ブロック２０２において、ユーザが、トランザクション鍵を分割するための１次ユーザとして決定されたことに応答して、１次ユーザのユーザ・デバイス１２０において、ユーザのグループ中のユーザの数Ｎと、第１の所定の値とを取得することであって、第１の所定の値が、トランザクション鍵を復元するためのユーザの最小数を示し、ユーザのグループが、トランザクション鍵を管理するために使用される、取得すること。いくつかの実施例では、Ｍは、ユーザのグループ中のユーザの数Ｎよりも小さい。いくつかの実施例では、１次ユーザは、たとえば、管理デバイスによってユーザのグループから指定されるか又はランダムに決定される。いくつかの実施例では、トランザクション鍵を分割するための１次ユーザと、ユーザのグループを作成するための編成１次ユーザとは、同じユーザであり得るか又は異なるユーザであり得る。いくつかの実施例では、ユーザ・デバイスは、処理ユニットをもつハードウェアＵＳＢ鍵を備える。
【００３４】
ブロック２０４において、方法は、ユーザのグループ中のさらなるユーザに関係する管理デバイスからのメッセージに基づいて、現在のトランザクションのパーミッションを処理するためのトランザクション鍵をランダムに生成することを含み得、さらなるユーザに関係するメッセージは、少なくとも、さらなるユーザの公開鍵を示し、さらなるユーザは、トランザクション鍵を生成及び分割するための１次ユーザとは異なる。上記の方式では、１次ユーザのユーザ・デバイスにおいてトランザクションのパーミッションを処理するためのトランザクション鍵をランダムに生成することによって、トランザクション鍵が一定であるか又は繰り返し使用されることによる、トランザクション鍵が解読を受けやすいという危険を低減することが可能である。
【００３５】
いくつかの実施例では、さらなるユーザに関係するメッセージは、管理デバイスの証明と、さらなるユーザの各々の公開鍵を検証するための署名情報と、さらなるユーザの識別情報と、さらなるユーザのマージされたデータのハッシュ値の署名情報と、さらなるユーザに関係するメッセージの有効期間とのうちの少なくとも１つをさらに示す。一実例では、トランザクション鍵を生成するようにとの各要求が、ＵＴＣタイム・スタンプなど、タイム・スタンプを含み得る。有効期間が満了した場合、ユーザ・デバイスは、トランザクション鍵を生成しないことになり、要求は再使用され得ない。さらなるユーザのマージされたデータのハッシュ値の署名情報に関して、いくつかの実施例では、管理デバイスは、第１に、ユーザのグループ中のさらなるユーザの各々の以下のマージされたデータ、すなわち、一意のＩＤのハッシュ及びトランザクション・データなど、管理デバイスの証明のハッシュ値と、ユーザのグループ中の各さらなるユーザの一意のＩＤのハッシュ値と、さらなるユーザの各々の公開鍵のハッシュ値と、さらなるユーザによって署名されるユーザのグループのパスワードについての署名のハッシュ値とをハッシュ計算する。次いで、マージされたデータのハッシュ値は、１次ユーザ・デバイスによってさらなるユーザに関係するメッセージ中の様々なデータを検証するために、管理デバイスの公開鍵で署名される。上記の方式では、さらなるユーザに関係するメッセージ中にさらなるユーザのマージされたデータの署名されたハッシュ値を含めることによって、さらなるユーザに関係する受信されたメッセージ中の様々なデータが改ざんされたか否かを検証することが１次ユーザにとって好都合にされる。
【００３６】
いくつかの実例では、トランザクション鍵をランダムに生成するステップは、管理デバイスの証明が有効であることを確認したことに応答して、さらなるユーザの公開鍵の署名情報に基づいて、さらなるユーザの公開鍵が有効であるか否かを決定するステップと、さらなるユーザの公開鍵が有効であると決定したことに応答して、分割多項式（ｓｐｌｉｔｔｉｎｇ  ｐｏｌｙｎｏｍｉａｌ）を構築するための複数の乱数をランダムに生成するステップであって、いくつかの実例では、乱数の数が、第１の所定の値と同じであり、分割多項式を構築するための複数の乱数が、トランザクション鍵を含み得る、生成するステップとを含み得る。
【００３７】
ブロック２０６において、トランザクション鍵を複数のサブ鍵に分割することであって、サブ鍵の数が、ユーザの数と同じであり、複数のサブ鍵の各々が、ユーザのグループ中の１人のユーザに対応する、分割すること。いくつかの実施例では、トランザクション鍵を複数のサブ鍵に分割することは、ユーザのグループ中のユーザの数と、分割アルゴリズムを構築するための複数の乱数とに基づいて、複数のサブ鍵を決定することであって、各サブ鍵が、第１のサブ鍵データと第２のサブ鍵データとを備える、決定することを含む。
【００３８】
トランザクション鍵を分割することに関して、様々な手法が採用され得る。たとえば、Ｓｈａｍｉｒの秘密共有、Ｂｌａｋｌｅｙの方式、及び中国の剰余定理など、いくつかの暗号化秘密共有アルゴリズムのうちのいずれか１つが使用され得る。いくつかの実施例では、トランザクション鍵は、以下の例示的な分割多項式（１）に示されているように、Ｓｈａｍｉｒの秘密共有方式の適用例に基づいて、複数のサブ鍵に分割され得る。
Ｙ＝Ａ０＋Ａ１＊Ｘ＋Ａ２＊Ｘ２＋．．．．．．＋ＡＮ−１＊ＸＭ−１  （１）
【００３９】
上記の分割多項式では、Ｍは、トランザクション鍵を復元するためのユーザの最小数を示す。Ａ０、Ａ１．．．ＡＭ−１は、分割アルゴリズムを構築するための乱数を示し、上記の乱数は、１次ユーザのユーザ・デバイスによってランダムに生成され、乱数の数は、トランザクション鍵を復元するためのユーザの最小数Ｍと同じである。たとえば、Ａ０は、現在のトランザクションについてのトランザクション鍵を示し得る。Ａ０〜ＡＭ−１が決定されたとき、Ｎ個の（Ｘ，Ｙ）ペアが構築され得、たとえば、Ｘ１〜ＸＮを決定し、その数は、ユーザの数Ｎと同じであり、Ｎ個の決定されたＹ値、たとえば、Ｙ１〜ＹＮが、上記の分割多項式に基づいて取得され得る。多項式に基づいて決定されるＮ個の（Ｘ，Ｙ）ペア、すなわち、（Ｘ１，Ｙ１）、（Ｘ２，Ｙ２）．．．（ＸＮ，ＹＮ）は、分割から生じるような、ユーザのグループ中のＮ人のユーザに対応するＮ個のサブ鍵を示す。上記の分割多項式、ユーザのグループ中のユーザの数Ｎ、トランザクション鍵を復元するためのユーザの最小数Ｍ並びに１次ユーザのユーザ・デバイスによってランダムに生成された乱数Ａ０〜ＡＭ−１に基づいて、トランザクション鍵Ａ０は、Ｎ個のサブ鍵（Ｘ１，Ｙ１）、（Ｘ２，Ｙ２）．．．（ＸＮ，ＹＮ）に分割され得、サブ鍵の数は、ユーザのグループ中のユーザの数と同じである。各サブ鍵（Ｘ，Ｙ）は、第１のサブ鍵データＸと、第２のサブ鍵データＹとを備える。
【００４０】
上記の方式では、１次ユーザによってランダムに生成されるトランザクション鍵Ａ０を、サブ鍵の数がユーザのグループ中のユーザの数と同じである、複数のサブ鍵に分割することによって、トランザクション鍵が、一定のトランザクション鍵を使用することにより解読を受けやすいという危険が効果的に回避され得る。その上、トランザクション鍵が、サブ鍵のうちの１つのみを所有する単一のユーザによって単独で復元され得ず、最小数（Ｍ）のユーザからの共同によってのみ復元され得るので、トランザクション鍵のセキュリティが著しく増加される。いくつかの実施例では、Ｍはまた、ユーザのグループ中のユーザの数Ｎよりも小さくなり得る。トランザクション鍵を復元するためのユーザの最小数Ｍに設定し、Ｍ＜Ｎとすることによって、本開示の例示的な実施例によって提案されるような鍵管理のための方式は、問題が個人ユーザに起きたときでも、Ｍ人のユーザからの共同によってトランザクション鍵を復元することを可能にされる。したがって、パーミッション管理システムの信頼性が改善される。
【００４１】
ブロック２０８において、複数の暗号化されたサブ鍵を管理デバイスに送信することであって、複数の暗号化されたサブ鍵の各々が、サブ鍵に対応するユーザの公開鍵で暗号化される、送信すること。いくつかの実施例では、複数の暗号化されたサブ鍵の各々が、サブ鍵に対応するユーザの公開鍵で暗号化されることは、サブ鍵に対応するユーザの公開鍵と、さらなるユーザに関係するメッセージの有効期間とでサブ鍵を暗号化することを含む。上記の方式では、対応するユーザの公開鍵によって暗号化されたサブ鍵を利用することによって、各サブ鍵のセキュリティが増加され、何らかの他の無許可の人が、暗号化されたサブ鍵へのアクセスを獲得した場合でも、その人は、対応するユーザの秘密鍵へのアクセスを有しない限り、サブ鍵を解読することが可能でないことになる。したがって、トランザクション鍵のセキュリティが増加される。さらに、暗号化されたサブ鍵が管理デバイスに送られるので、管理デバイスは、暗号化されたサブ鍵をキャッシュし得、サブ鍵を受信するためにユーザのグループ中のさらなるユーザの同期動作の必要がなく、したがって、トランザクション鍵の分割及び配信の非同期が達成される。
【００４２】
いくつかの実施例では、方法２００は、１次ユーザのユーザ・デバイスによって実施される初期化行為をさらに含む。たとえば、管理デバイスからの署名データが有効であると決定したことに応答して、１次ユーザのユーザ・デバイスは、ユーザ・デバイス中の秘密鍵、たとえば、ユーザ・デバイスのプリセットされた秘密鍵に基づいて署名データに署名し、署名データは、少なくとも、管理デバイスによって署名された乱数を含み、ユーザが、ユーザのグループを編成するための編成１次ユーザとして決定されたことに応答して、編成１次ユーザは、管理デバイスに、ユーザのグループに関するグループ情報、編成１次ユーザ・デバイスの公開鍵、並びに編成１次ユーザ・デバイスの秘密鍵で署名された署名データを送り、グループ情報は、少なくとも、ユーザのグループ中のユーザの数と、第１の所定の値とを含む。上記の方式では、管理デバイスの署名情報を検証することと、検証のために１次ユーザの編成１次ユーザ・デバイスの秘密鍵で署名された署名情報を管理デバイスに送ることとによって、１次ユーザのユーザ・デバイスと管理デバイスとの間の相互信用が達成され得、パーミッション管理システムのセキュリティが改善され得る。さらに、ユーザのグループ中のユーザの数Ｎと、第１の所定の値Ｍとを含むグループ情報を管理デバイスに送ることによって、管理デバイスは、トランザクション鍵を分割及び復元するプロセスを支援するために、Ｎ及びＭを使用することができる。
【００４３】
図３は、本開示の実施例による、鍵管理の方法３００のフローチャートを示す。図３では、様々な行為が、たとえば、鍵を管理するための復元ユーザのユーザ・デバイスによって実施される。方法３００は、示されていない追加の行為をさらに含み、及び／又は示されている行為を省略し得、本開示の範囲はこの点について限定されない。
【００４４】
ブロック３０２において、ユーザが、トランザクション鍵を復元するための復元ユーザとして決定されたことに応答して、復元ユーザのユーザ・デバイスにおいて、管理デバイスからトランザクション鍵を復元するための復元メッセージを取得することであって、復元メッセージが、少なくとも、ユーザのグループ中の確認ユーザの数と、復元ユーザの識別情報とを示し、確認ユーザが、現在のトランザクションを承認し、ユーザのグループが、トランザクション鍵を管理するために使用される、取得すること。いくつかの実施例では、復元ユーザは、ユーザのグループ中で管理デバイスによって指定されるか又はランダムに決定される。いくつかの実施例では、復元メッセージは、現在のトランザクションに関連する現在のトランザクション乱数、復元ユーザの公開鍵で署名された、確認ユーザのサブ鍵及び現在のトランザクション乱数、確認ユーザの署名情報、管理デバイスの証明、並びに復元メッセージのハッシュ値の署名情報のうちの少なくとも１つをさらに示す。
【００４５】
ブロック３０４において、確認ユーザの数が、第１の所定の値よりも大きいか又はそれに等しいと決定したことに応答して、管理デバイスから取得された確認ユーザのサブ鍵に基づいてトランザクション鍵を決定することであって、確認ユーザのサブ鍵が、トランザクション鍵を分割することによって前に生成された、決定すること。いくつかの実施例では、確認ユーザのサブ鍵は、確認ユーザによって管理デバイスに送られ、いくつかの実例では、確認ユーザのサブ鍵は、復元ユーザの公開鍵で暗号化される。いくつかの実施例では、確認ユーザのサブ鍵が、復元ユーザの公開鍵で暗号化されることは、確認ユーザのユーザ・デバイスにおいて、たとえば、管理デバイスを介して取得された復元ユーザの公開鍵で、確認ユーザのサブ鍵及び現在のトランザクションに関連する現在のトランザクション乱数を暗号化することを含む。上記の方式では、現在のトランザクションに関連する現在のトランザクション乱数でサブ鍵を暗号化することによって、サブ鍵は、さらなるトランザクションのトランザクション鍵を復元するために繰り返し使用されるのではなく、現在のトランザクションのトランザクション鍵を復元するためにのみ使用され得る。
【００４６】
一実例では、トランザクション鍵をランダムに生成した後に、トランザクション鍵は複数のトランザクションのために使用され得る。一実例では、現在のトランザクションについての要求を受信したことに応答して、管理デバイス、又はユーザ・デバイスのうちの１つ、たとえば、復元ユーザ・デバイスは、次いですべてのユーザ・デバイスに送信される、現在のトランザクション乱数を生成するように構成され得る。確認ユーザ・デバイスは、ユーザ・デバイス・サブ鍵のハッシュと、現在のトランザクション乱数とを計算することと、次いで、復元デバイスの公開鍵でハッシュ化値を暗号化することとによって、現在のトランザクション乱数でサブ鍵を暗号化するように構成され得る。たとえば、ユーザ・デバイス・サブ鍵と現在のトランザクション乱数とを連結することと、連結された値をハッシングすることと、次いで、ハッシュ計算の結果を暗号化することとによって。各確認デバイスは、次いで、復元デバイスの公開鍵で暗号化された各確認デバイスのサブ鍵、並びにサブ鍵の暗号化されたハッシュ及び現在のトランザクション乱数を送信する。復元デバイスは、確認ユーザ・デバイスから受信された暗号化されたデータを、復元ユーザ・デバイス秘密鍵で解読することと、各サブ鍵のハッシュ値及び現在のトランザクションについてのトランザクション鍵を同様に計算することと、次いで、ハッシュ計算を受信された値と比較することとを行うように構成され得る。復元ユーザ・デバイスは、次いで、比較が検証され、各確認ユーザが現在のトランザクションを承認したことを示す場合、現在のトランザクションについてのトランザクション鍵のみを復元するように構成され得る。
【００４７】
いくつかの実例では、確認ユーザによって復元ユーザに送信された確認ユーザ・デバイスの暗号化されたサブ鍵は、タイム・スタンプを含む。復元ユーザ・デバイスは、復元ユーザ・デバイスが受信する各確認ユーザ・サブ鍵についてのタイム・スタンプが、トランザクション鍵復元を実施する、しきい値時間期間、たとえば、２４時間内の時間を示す場合のみ、トランザクション鍵を復元するように構成され得る。
【００４８】
いくつかの実施例では、トランザクション鍵は、上述の分割多項式（１）に基づいて復元され得る。分割多項式（１）における乱数の数がＭ、すなわち、Ａ０〜ＡＭ−１であることを考慮すると、トランザクション鍵Ａ０は、Ｍ個の乱数Ａ０〜ＡＭ−１を解くことによって取得され得、少なくともＭ人の確認ユーザのサブ鍵（Ｘ１，Ｙ１）、（Ｘ２，Ｙ２）．．．（ＸＭ，ＹＭ）が取得される。
【００４９】
ブロック３０６において、決定されたトランザクション鍵に基づいて、現在のトランザクションについてのトランザクション要求に署名すること。いくつかの実施例では、復元ユーザのユーザ・デバイスが、現在のトランザクションを実行するために、現在のトランザクションについての署名された要求を管理デバイスに送る。
【００５０】
上記の方式では、トランザクション鍵を復元するためのユーザの最小数（すなわち、第１の所定の値）を設定することによって、及び確認ユーザの数が第１の所定の値よりも大きいか又はそれに等しいことに応答して、トランザクション鍵が、ユーザのグループ中のユーザのサブセットのみの共同に基づいて復元され得るように、復元ユーザのサブ鍵と確認ユーザのサブ鍵とに基づいて、トランザクション鍵を復元すること。したがって、パーミッション管理システムの信頼性及びロバストネスが改善され、上記で説明されたように、パーミッション管理システムが、パーミッション使用の何らかの不適当な挙動に耐えることを可能にする。
【００５１】
図４は、本開示の実施例による、鍵管理の方法４００のフローチャートを示す。図４では、様々な行為が、たとえば、鍵を管理するための管理デバイス１１０によって実施される。方法４００は、示されていない追加の行為をさらに含み、及び／又は示されている行為を省略し得、本開示の範囲はこの点について限定されない。
【００５２】
ブロック４０２において、管理デバイスにおいて、ユーザのグループを作成するための編成１次ユーザのユーザ・デバイスからユーザのグループに関するグループ情報を取得することであって、グループ情報が、少なくとも、ユーザのグループ中のユーザの数と、第１の所定の値とを示し、第１の所定の値が、トランザクション鍵を復元するためのユーザの最小数を示し、ユーザのグループが、トランザクション鍵を管理するために使用される、取得すること。いくつかの実施例では、管理デバイスは、ユーザのグループ中で、１次ユーザと、トランザクション鍵を復元するための復元ユーザとのうちの少なくとも１人をランダムに決定する。いくつかの実施例では、１次ユーザは、ユーザのグループを作成するための編成１次ユーザであるだけでなく、トランザクション鍵を分割するための１次ユーザでもある。いくつかの実施例では、ユーザ・デバイスは、処理ユニットをもつハードウェアＵＳＢ鍵を備える。
【００５３】
ブロック４０４において、トランザクション鍵を分割するための１次ユーザのユーザ・デバイスにさらなるユーザに関係するメッセージを送ることであって、さらなるユーザに関係するメッセージが、少なくとも、ユーザのグループ中の１次ユーザとは異なるさらなるユーザの公開鍵を示す、送ること。
【００５４】
ユーザのグループが有効であることに関して、いくつかの実施例では、ユーザのグループ中のユーザのユーザ・デバイスからの登録要求に応答して、ユーザ・デバイスに管理デバイスの署名データを送ることであって、署名データが、少なくとも、管理デバイスによって署名された乱数を含む、送ることと、ユーザ・デバイスからの署名データに基づいて、ユーザ・デバイスが有効であるかどうかを決定することであって、署名データは、ユーザ・デバイスが秘密鍵で乱数に署名することによって生成され、いくつかの実例では、秘密鍵は、管理デバイスが有効であると決定したことに応答して、ユーザ・デバイスにおいてプリセットされる、決定することと、ユーザのグループ中の各ユーザのユーザ・デバイスが有効であると決定したことに応答して、ユーザのグループが有効であると決定することとが含まれる。いくつかの実施例では、ユーザ・デバイスは、処理ユニットをもつハードウェアＵＳＢ鍵を備える。上記の方式では、管理デバイスとユーザのグループ中の各ユーザのユーザ・デバイスとの相互検証によって、情報交換のセキュリティを増加させるために、ユーザのグループ中のユーザ・デバイスと、管理デバイスとの間の相互信用が達成され得る。
【００５５】
ブロック４０６において、１次ユーザからの複数のサブ鍵を取得することであって、サブ鍵の数が、ユーザのグループ中のユーザの数と同じであり、複数のサブ鍵が、たとえば、１次ユーザによって、トランザクション鍵を分割することによって生成され、複数のサブ鍵が、たとえば、それぞれのユーザの公開鍵で暗号化される、取得すること。
【００５６】
ブロック４０８において、それぞれのユーザに送られるべき複数のサブ鍵をキャッシュすること。上記の方式では、管理デバイスは、１次ユーザのユーザ・デバイスからの暗号化されたサブ鍵をキャッシュすることができるので、サブ鍵は、ユーザのグループ中の他のユーザによって実施される同期動作なしに受信され得、したがって、トランザクション鍵の非同期分割及び配信が達成され得る。
【００５７】
いくつかの実施例では、方法４００は、現在のトランザクションについての要求を受信したことに応答して、ユーザのグループ中のユーザに、現在のトランザクションが承認されるかどうかを決定するためのトランザクション情報を送ることであって、トランザクション情報が、少なくとも、現在のトランザクションのトランザクション・コンテンツと、復元ユーザの識別とを示す、送ることと、ユーザのグループ中の各確認ユーザのサブ鍵を取得することであって、確認ユーザが、現在のトランザクションを承認するユーザであり、確認ユーザのサブ鍵が、復元ユーザの公開鍵で署名されることによって暗号化される、取得することと、現在のトランザクションについての条件が満たされると決定したことに応答して、復元ユーザに、トランザクション鍵を復元するための復元メッセージを送ることとをさらに含む。上述の「現在のトランザクションについての条件が満たされること」は、たとえば、ユーザのグループ中の確認ユーザの数が、第１の所定の値よりも大きいか又はそれに等しく、確認ユーザが、現在のトランザクションを承認することであるか、或いは、現在のトランザクションに関するさらなるプリセットされた条件が満たされること、たとえば、現在のトランザクションのプリセットされた実行時間に達したことであり得る。いくつかの実施例では、確認ユーザのサブ鍵が、確認ユーザの公開鍵と、現在のトランザクションに関連する現在のトランザクション乱数とで暗号化される。上記の方式では、確認ユーザのサブ鍵と、現在のトランザクションに関連する現在のトランザクション乱数とが暗号化され、サブ鍵は、現在のトランザクションのトランザクション鍵を復元するためにのみ使用され得、したがって、パーミッション管理のセキュリティが増加される。
【００５８】
図５は、本開示の実施例による、鍵管理の管理システム５００のデータ・フロー図を示す。図５では、たとえば、管理デバイス５０２、１次ユーザのユーザ・デバイス５０４、復元ユーザのユーザ・デバイス５０６、並びにさらなるユーザのユーザ・デバイス５０８によって様々な行為が実施される。方法５００は、主に、（たとえば、編成１次ユーザの初期化、さらなるユーザの初期化を含む）ユーザのグループを編成する段階と、トランザクション鍵を分割する段階と、トランザクション鍵を復元する段階とを含む。方法５００は、示されていない追加の行為をさらに含み、及び／又は示されている行為を省略し得、本開示の範囲はこの点について限定されないことを理解されたい。本明細書で説明されるように、管理デバイス５０２は、たとえば、図１に関して説明された管理デバイス１１０であり得、ユーザ・デバイス５０４、５０６及び５０８は、たとえば、図１に関して説明されたユーザ・デバイス１２０であり得る。
【００５９】
ユーザのグループを編成する段階において実施される行為が、以下で実例として示される。ユーザのグループを編成する段階は、主に、編成１次ユーザの初期化の段階と、ユーザのグループ中のさらなるユーザの初期化の段階とを含む。
【００６０】
ユーザのグループを編成する段階における１次ユーザの初期化における様々な行為が、以下で実例として示される。
【００６１】
１次ユーザのユーザ・デバイス５０４において、５１０において、１次ユーザの秘密鍵Ｋ１と公開鍵Ｐ１とが作成される。５１２において、ユーザのグループについてのパスワードが作成される。５１４において、検証要求が管理デバイス５０２に送られる。１次ユーザは、たとえば、ユーザのグループを構築するための編成１次ユーザとして指定されるか又はランダムに決定される。
【００６２】
管理デバイス５０２において、５１６において、１次ユーザの識別情報を検証するために管理デバイス５０２によって生成された乱数Ｒ１が、管理デバイスの秘密鍵ＫＯを使用して署名される。５１８において、署名データが１次ユーザのユーザ・デバイス５０４に送られ、署名データは、たとえば、乱数Ｒ１、署名された乱数Ｒ１並びに管理デバイス５０２の証明を含み、管理デバイス５０２の証明は、たとえば、管理デバイス５０２の公開鍵ＰＯを含む。
【００６３】
１次ユーザのユーザ・デバイス５０４において、５２０において、管理デバイス５０２からの署名データが有効であるかどうかが決定される。たとえば、署名された乱数Ｒ１を管理デバイス５０２の公開鍵ＰＯで解読することと、解読された乱数Ｒ１を、署名データ中で受信された乱数Ｒ１と比較することとによって、管理デバイス５０２の受信された証明と、管理デバイス５０２によって署名された受信された乱数とが有効であるかどうかが決定される。５２２において、管理デバイス５０２からの署名データが有効であると決定したことに応答して、乱数Ｒ１とユーザのグループのパスワードとが、１次ユーザのユーザ・デバイス５０４の秘密鍵Ｋ１を使用して署名される。５２４において、ユーザのグループに関するグループ情報、ユーザ・デバイス５０４の公開鍵Ｐ１並びにユーザ・デバイス５０４の秘密鍵Ｋ１で署名された署名データが、管理デバイス５０２に送られ、グループ情報は、少なくとも、ユーザのグループ中のユーザの数Ｎと、第１の所定の値Ｍとを含む。
【００６４】
管理デバイス５０２において、５２６において、ユーザ・デバイスの秘密鍵Ｋ１で署名された乱数Ｒ１は、ユーザ・デバイス５０４の取得された公開鍵Ｐ１で検証され、ユーザのグループのパスワードはキャッシュされる。
【００６５】
ユーザのグループを編成する段階におけるさらなるユーザの初期化における様々な行為が、以下で実例として示される。
【００６６】
いくつかの実施例では、１次ユーザのユーザ・デバイス５０４は、様々な手段によって、ユーザの構築されたグループのリンク及びパスワードをユーザのグループ中のさらなるユーザと共有し得る。たとえば、１次ユーザのユーザ・デバイス５０４は、ローカル・エリア・ネットワークを通して、ユーザのグループのリンク及びパスワードをユーザのグループ中のさらなるユーザと共有する。たとえば、さらなるユーザのユーザ・デバイス５０８は、ユーザのグループ中の１次ユーザとは異なるさらなるユーザのユーザ・デバイスである。
【００６７】
さらなるユーザのユーザ・デバイス５０８において、５３０において、さらなるユーザのユーザ・デバイス５０８の秘密鍵Ｋ２と公開鍵Ｐ２とが作成される。５３２において、ユーザのグループのリンク及びパスワードに基づいて、管理デバイス５０２との接続が確立され、検証要求が管理デバイス５０２に送られる。
【００６８】
管理デバイス５０２において、５３４において、以下のデータ、すなわち、管理デバイスの証明のハッシュ値、１次ユーザのユーザ・デバイス５０４の公開鍵Ｐ１のハッシュ値、１次ユーザによるユーザのグループのパスワードについての署名のハッシュ値、並びにさらなるユーザの識別情報を検証するための乱数Ｒ２がマージされる。５３６において、管理デバイス５０２の秘密鍵ＫＯを使用して、マージされたデータのハッシュ値が署名される。５３８において、管理デバイス５０２の証明、１次ユーザのユーザ・デバイス５０４の公開鍵Ｐ１、１次ユーザによるユーザのグループのパスワードについての署名及び乱数Ｒ２、及びマージされたデータのハッシュ値のための署名が、さらなるユーザのユーザ・デバイス５０８に送られる。
【００６９】
ユーザ・デバイス５０８において、５４０において、管理デバイス５０２が有効であるかどうかが決定される。５４２において、１次ユーザのユーザ・デバイス５０４の公開鍵Ｐ１が有効であるかどうかが決定される。５４４において、ユーザのグループのパスワードは、ユーザ・デバイス５０８の秘密鍵Ｋ２を使用して署名され、乱数Ｒ２は、ユーザ・デバイス５０８の秘密鍵Ｋ２を使用して署名される。５４６において、ユーザ・デバイス５０８の公開鍵Ｐ２と、秘密鍵Ｋ２で署名された署名データとが、管理デバイスに送られ、署名データは、たとえば、ユーザのグループのパスワードと、秘密鍵Ｋ２で署名された乱数Ｒ２とを含む。
【００７０】
管理デバイス５０２において、５４８において、ユーザ・デバイス５０８の秘密鍵Ｋ２で署名された乱数Ｒ２は、ユーザ・デバイス５０８の取得された公開鍵Ｐ２に基づいて検証され、ユーザのグループのパスワードはキャッシュされる。５５０において、ユーザのグループ中のすべてのユーザが番号付けされる。
【００７１】
図示の実例に示されているように、トランザクション鍵を分割する例示的な方法が、管理デバイス５０２において、５５２において、トランザクション鍵を分割するようにとの要求を受信したことに応答して、トランザクション鍵を分割するための１次ユーザが、ユーザのグループからランダムに決定されることを含み得る。トランザクション鍵を分割するための１次ユーザと、ユーザのグループを作成するための編成１次ユーザとは、同じユーザ又は異なるユーザであり得る。以下の実例では、それらは、ユーザ・デバイス５０４における同じユーザである。５５４において、一実例では、ユーザのグループ中の各さらなるユーザについて、以下のマージされたデータ、すなわち、管理デバイス５０２の証明のハッシュ値、ユーザのグループ中のさらなるユーザの数のハッシュ値、さらなるユーザの公開鍵のハッシュ値、並びにさらなるユーザによって署名されるユーザのグループのパスワードについての署名のハッシュ値がハッシュ計算される。５５６において、さらなるユーザに関係するメッセージが、１次ユーザのユーザ・デバイス５０２に送られ、さらなるユーザに関係するメッセージは、少なくとも、ユーザのグループ中の１次ユーザとは異なるさらなるユーザの公開鍵を示す。
【００７２】
いくつかの実施例では、さらなるユーザに関係するメッセージは、管理デバイス５０２の証明、さらなるユーザの公開鍵、さらなるユーザによるユーザのグループのパスワードについての署名、マージされたデータのハッシュ値の署名、並びにさらなるユーザに関係するメッセージの有効期間のうちの少なくとも１つをさらに示す。５５８において、ユーザのグループに関するグループ情報が、１次ユーザのユーザ・デバイス５０４に送られ、グループ情報は、少なくとも、ユーザのグループ中のユーザの数Ｎと、第１の所定の値Ｍとを含む。
【００７３】
１次ユーザのユーザ・デバイス５０４において、５６０において、管理デバイス５０２の証明が有効であると決定したことに応答して、さらなるユーザの公開鍵の署名情報に基づいて、さらなるユーザの公開鍵が有効であるかどうかを決定すること。５６２において、さらなるユーザの公開鍵が有効であることに応答して、乱数Ａ０〜ＡＭ−１をランダムに生成することであって、乱数の数が、トランザクション鍵を復元するためのユーザの最小数Ｍと同じである、生成すること。Ａ０は、現在のトランザクションについてのトランザクション鍵を示す。５６４において、トランザクション鍵を復元するためのユーザの最小数Ｍと、１次ユーザのユーザ・デバイス５０４によってランダムに生成された乱数Ａ０〜ＡＭ−１とに基づいて、トランザクション鍵を分割するための多項式を構築すること。５６６において、トランザクション鍵Ａ０をＮ個のサブ鍵（Ｘ１，Ｙ１）、（Ｘ２，Ｙ２）．．．（ＸＮ，ＹＮ）に分割することであって、サブ鍵の数が、ユーザのグループ中のユーザの数と同じであり、各サブ鍵が、ユーザのグループ中の１人のユーザに対応する、分割すること。５６８において、ユーザ・デバイス５０４は、サブ鍵の対応するユーザの公開鍵と、有効期間とで各サブ鍵を暗号化する。５７０において、複数の暗号化されたサブ鍵が管理デバイス５０２に送られる。
【００７４】
管理デバイス５０２において、５７２において、複数の暗号化されたサブ鍵（Ｘ１，Ｙ１）、（Ｘ２，Ｙ２）．．．（ＸＮ，ＹＮ）をキャッシュすること。いくつかの実施例では、５７４において、たとえば、対応するハードウェア・セキュリティ・デバイス（たとえば、ＵＳＢ鍵）１３０を挿入するように、さらなるユーザのユーザ・デバイス５０８に通知すること。５７６において、ユーザ・デバイス５０８から、サブ鍵を配信することについての要求を受信したことに応答して、さらなるユーザのユーザ・デバイス５０８に、管理デバイス５０２の証明、さらなるユーザの番号付け、１次ユーザの公開鍵、サブ鍵、有効期間、並びにマージされたデータのハッシュ値署名のうちの少なくとも１つを送ること。上記の方式では、管理デバイス５０２は、暗号化されたサブ鍵をキャッシュし、ユーザのグループ中のさらなるユーザにサブ鍵を配信することについての要求に応答して、対応するサブ鍵を送るので、トランザクション鍵の非同期分割及び配信が達成され得る。さらに、ユーザのグループ中のさらなるユーザの同期又はリアルタイム動作が必要とされず、したがって、パーミッション管理システムの利便性が改善される。
【００７５】
さらなるユーザのユーザ・デバイス５０８において、５７８において、管理デバイス５０２の証明及び公開鍵が検証され、対応する解読されたサブ鍵が保存される。トランザクション鍵を復元する段階における様々な行為が図５に示されており、以下で説明される。
【００７６】
管理デバイス５０２において、５８０において、復元ユーザが、ユーザのグループ中で指定されるか又はランダムに決定される。５８２において、現在のトランザクションについての要求を受信したことに応答して、現在のトランザクションが承認されるかどうかを決定するために、ユーザのグループ中のユーザにトランザクション情報を送ることであって、トランザクション情報が、少なくとも、現在のトランザクションのトランザクション・コンテンツと、復元ユーザの識別とを示す、送ること。５８４において、ユーザのグループ中の各確認ユーザのサブ鍵を取得することであって、確認ユーザが、現在のトランザクションを承認し、確認ユーザのサブ鍵が、復元ユーザの公開鍵で署名される、取得すること。５８６において、現在のトランザクションについての条件が満たされる（たとえば、ユーザのグループ中の確認ユーザの数が、第１の所定の値よりも大きいか又はそれに等しく、確認ユーザが、現在のトランザクションを承認する）と決定したことに応答して、復元ユーザに、トランザクション鍵を復元するための復元メッセージを送ることであって、復元メッセージが、確認ユーザの数及び復元ユーザの識別情報、管理デバイスの証明、トランザクション・データ、現在のトランザクションに関連する現在のトランザクション乱数、復元ユーザの公開鍵で署名された現在のトランザクション乱数及びさらなるユーザのサブ鍵、並びに復元メッセージを検証するためのハッシュ値のうちの少なくとも１つを含む、送ること。
【００７７】
復元ユーザのユーザ・デバイス５０６において、トランザクション鍵を復元するための復元メッセージが管理デバイスから取得された後に、５８８において、確認ユーザの数が、第１の所定の値よりも大きいか又はそれに等しいと決定したことに応答して、管理デバイスから取得された決定されたユーザのサブ鍵に基づいてトランザクション鍵を決定することであって、決定されたユーザのサブ鍵が、ステップ５５２〜５７８に関して上記で説明された事前にトランザクション鍵を分割することによって生成された、決定すること。５９０において、決定されたトランザクション鍵で現在のトランザクションについてのトランザクション要求に署名することであって、それにより、現在のトランザクションを実行する、署名すること。
【００７８】
上記の方法５００の場合、個人ユーザに問題が起きたときでも、トランザクション鍵が、依然として、Ｍ人のユーザの共同を通して復元され得るので、トランザクション鍵のセキュリティが著しく改善され得るだけでなく、パーミッション管理システムの信頼性も改善され得る。
【００７９】
図６は、本開示の実施例を実装するために適用可能である電子デバイス６００の概略ブロック図を示す。デバイス６００は、図１及び図５におけるユーザ・デバイス及び管理デバイス中で１つ又は複数のホストを実装するために使用され得る。示されているように、デバイス６００は、中央プロセス・ユニット（ＣＰＵ）６０１を含み、中央プロセス・ユニット（ＣＰＵ）６０１は、読取り専用メモリ（ＲＯＭ）６０２に記憶されたコンピュータ・プログラム命令又は記憶ユニット６０８からランダム・アクセス・メモリ（ＲＡＭ）６０３中にロードされるコンピュータ・プログラム命令に基づいて、様々な好適な行為及び処理を実行することができる。ＲＡＭ６０３はまた、デバイス６００の動作によって必要とされるすべての種類のプログラム及びデータを記憶することができる。ＣＰＵ６０１と、ＲＯＭ６０２と、ＲＡＭ６０３とは、バス６０４を介して互いに接続される。入出力（Ｉ／Ｏ）インターフェース６０５も、バス６０４に接続される。
【００８０】
デバイス６００における複数の構成要素が、キーボード、マウスなどの入力ユニット６０６と、出力ユニット６０７、たとえば、様々な種類のディスプレイ及びラウドスピーカーなどと、磁気ディスク及び光ディスクなどの記憶ユニット６０８と、ネットワーク・カード、モデム、ワイヤレス・トランシーバなどの通信ユニット６０９とを含む、Ｉ／Ｏインターフェース６０５に接続される。通信ユニット６０９は、デバイス６００が、インターネットなどのコンピュータ・ネットワーク、及び／又は様々な電気通信ネットワークを介して、他のデバイスと情報／データを交換することを可能にする。
【００８１】
鍵管理の方法２００、３００、４００及び５００など、上記で説明された各プロシージャ及び処理は、処理ユニット６０１によっても実行され得る。たとえば、いくつかの実装形態では、方法２００、３００、４００及び５００は、機械可読媒体、たとえば、記憶ユニット６０８に記憶されたコンピュータ・ソフトウェア・プログラムとして実装され得る。いくつかの実装形態では、コンピュータ・プログラムは、ＲＯＭ６０２及び／又は通信ユニット６０９を介して部分的に又は完全にデバイス６００にロード、及び／又は搭載され得る。コンピュータ・プログラムが、ＲＡＭ６０３にロードされ、ＣＰＵ６０１によって実行されたとき、上記で説明された方法２００、３００及び５００の１つ又は複数の動作が実装され得る。代替的に、他の実装形態では、ＣＰＵ６０１は、上記の方法２００、３００、４００及び５００の１つ又は複数の行為を実現するために、他の好適な様式でも構成され得る。
【００８２】
しかしながら、当業者は、本開示で説明されるユーザ・デバイスが、通信機能モジュール及び処理機能モジュールと一体化されたハードウェア・セキュリティ・デバイス１３０である場合、ユーザ・デバイスは、図６を参照しながら説明された１つ又は複数の構成要素を含まないことがあると理解し得る。
【００８３】
本開示は、方法、デバイス、システム及び／又はコンピュータ・プログラム製品であり得る。コンピュータ・プログラム製品は、本開示の様々な態様を実行するためのコンピュータ可読プログラム命令が記憶される、コンピュータ可読記憶媒体を含むことができる。
【００８４】
コンピュータ可読記憶媒体は、命令実行装置によって利用される命令を維持及び記憶する有形装置であり得る。コンピュータ可読記憶媒体は、限定はしないが、電気的記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス又は上記の任意の適切な組合せなどであり得る。コンピュータ可読記憶媒体のより具体的な実例（非網羅的リスト）は、ポータブル・コンピュータ・ディスク、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読取り専用メモリ（ＥＰＲＯＭ又はフラッシュ）、スタティック・ランダムアクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、フロッピー・ディスク、機械的コーディング・デバイス、命令が記憶された穿孔カード、又はスロット中の投影、及び上記の任意の適切な組合せを含む。ここで利用されるコンピュータ可読記憶媒体は、電波又は自由に伝搬される電磁波、（光ファイバー・ケーブルを介した光パルスなどの）導波路又は他の伝送媒体を介して伝搬される電磁波、又は電線を介して伝搬される電気信号など、それ自体過渡信号として解釈されない。
【００８５】
説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から各コンピューティング／処理デバイスにダウンロードされるか、或いは、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク及び／又はワイヤレス・ネットワークを介して、外部コンピュータ又は外部ストレージにダウンロードされ得る。ネットワークは、銅伝送ケーブル、光ファイバー送信、ワイヤレス送信、ルータ、ファイアウォール、スイッチ、ネットワーク・ゲート・コンピュータ及び／又はエッジ・サーバを含むことができる。各コンピューティング／処理デバイス中のネットワーク・アダプタ・カード又はネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、各コンピューティング／処理デバイスのコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令をフォワーディングする。
【００８６】
本開示の動作を実行するためのコンピュータ・プログラム命令は、アセンブリ命令、命令セット・アーキテクチャ（ＩＳＡ）の命令、機械命令、機械関係命令、マイクロコード、ファームウェア命令、状態設定データ、或いは１つ又は複数のプログラミング言語の任意の組合せで書き込まれたソース・コード又はターゲット・コードであり得、プログラミング言語は、オブジェクト指向プログラミング言語、たとえば、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋など、及び「Ｃ」言語又は同様のプログラミング言語など、旧来のプロシージャ・プログラミング言語からなる。コンピュータ可読プログラム命令は、完全にユーザ・コンピュータ上に実装されるか、部分的にユーザ・コンピュータ上に実装されるか、独立したソフトウェア・パッケージとして実装されるか、部分的にユーザ・コンピュータ上に及び部分的にリモート・コンピュータ上に実装されるか、又は完全にリモート・コンピュータ又はサーバ上に実装され得る。リモート・コンピュータが関与する場合、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）とワイド・エリア・ネットワーク（ＷＡＮ）とを含む任意のタイプのネットワークを介してユーザ・コンピュータに接続されるか、又は（たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して接続される）外部コンピュータに接続され得る。いくつかの実装形態では、電子回路、たとえば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）又はプログラマブル論理アレイ（ＰＬＡ）をカスタマイズするために、コンピュータ可読プログラム命令の状態情報が使用される。電子回路は、本開示の様々な態様を実装するために、コンピュータ可読プログラム命令を実行することができる。
【００８７】
本開示の様々な態様が、本開示の実装形態による方法、装置（システム）及びコンピュータ・プログラム製品のフローチャート及び／又はブロック図を参照しながらここで説明される。フローチャート及び／又はブロック図の各ブロック並びにフローチャート及び／又はブロック図における様々なブロックの組合せが、コンピュータ可読プログラム命令によって実装され得ることを理解されたい。
【００８８】
コンピュータ可読プログラム命令は、機械を製造するために、汎用コンピュータ、専用コンピュータ又は他のプログラマブル・データ処理装置の処理ユニットに提供され得、その結果、命令は、コンピュータ又は他のプログラマブル・データ処理装置の処理ユニットによって実行されたとき、フローチャート及び／又はブロック図における１つ又は複数のブロックにおいて規定される機能／行為を実装するための装置を生成する。コンピュータ可読プログラム命令はまた、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラマブル・データ処理装置及び／又は他のデバイスに、特定の様式で動作させ得、その結果、命令が記憶されたコンピュータ可読媒体は、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて規定される機能／行為の様々な態様を実装するための命令を含む、製造品を含んでいる。
【００８９】
コンピュータ可読プログラム命令はまた、コンピュータ実装プロシージャを生成するために、コンピュータ、他のプログラマブル・データ処理装置又は他のデバイス上で一連の動作ステップを実行するために、コンピュータ、他のプログラマブル・データ処理装置又は他のデバイスにロードされ得る。したがって、コンピュータ、他のプログラマブル・データ処理装置又は他のデバイス上で実行される命令は、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて規定される機能／行為を実装する。
【００９０】
図面中のフローチャート及びブロック図は、本開示の複数の実装形態によるシステム、方法及びコンピュータ・プログラム製品によって実装され得るシステム・アーキテクチャ、機能及び動作を示す。この点について、フローチャート又はブロック図中の各ブロックは、モジュール、プログラム・セグメント又はコードの一部を表すことができ、モジール、及びプログラム・セグメント又はコードの一部は、規定された論理機能を実施するための１つ又は複数の実行可能命令を含む。いくつかの代替実装形態では、ブロックにおいて示される機能は、図面において示される順序とは異なる順序で行われることもあることに留意されたい。たとえば、２つの連続するブロックが、事実上、関与する機能に応じて並列に又は時々逆順で実行され得る。また、ブロック図及び／又はフローチャートにおける各ブロック、並びにブロック図及び／又はフローチャートにおけるブロックの組合せが、規定された機能又は行為を実行するための専用のハードウェアベースのシステムによって、或いは専用ハードウェアとコンピュータ命令との組合せによって実装され得ることに留意されたい。
【００９１】
本開示の様々な実施例が、上記で説明されたが、上記の説明は、網羅的ではなく例示的なものにすぎず、本開示の実装形態に限定されない。説明された様々な実装形態の範囲及び趣旨から逸脱しない多くの修正及び改変が、当業者には明らかである。文章における用語の選択は、各実装形態の原理及び実際の適用例、並びに各実装形態によって市場において行われる技術的改善を最も良く説明することを目的とし、又は他の当業者が本開示の実装形態を理解することを可能にすることを目的とする。
【００９２】
本開示の随意の実施例が上記で説明されたが、これらは、本開示を限定するものではない。当業者においては、本開示の様々な改変及び変更が行われ得る。本開示の趣旨及び原理内のいかなる修正、等価な置換及び改善も、その保護範囲に含まれるものとする。
【図１】
2022501971.tif 000003
【図２】
2022501971.tif 000004
【図３】
2022501971.tif 000005
【図４】
2022501971.tif 000006
【図５】
2022501971.tif 000007
【図６】
2022501971.tif 000008
【国際調査報告】
2022501971.tif 000009
2022501971.tif 000010
2022501971.tif 000011
2022501971.tif 000012
2022501971.tif 000013