(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-13
(45)【発行日】2024-03-22
(54)【発明の名称】鍵管理のための方法、ユーザ・デバイス、管理デバイス、記憶媒体及びコンピュータ・プログラム製品
(51)【国際特許分類】
H04L 9/08 20060101AFI20240314BHJP
【FI】
H04L9/08 A
H04L9/08 E
(21)【出願番号】P 2021517870
(86)(22)【出願日】2019-09-30
(86)【国際出願番号】 IB2019058292
(87)【国際公開番号】W WO2020065633
(87)【国際公開日】2020-04-02
【審査請求日】2022-09-29
(31)【優先権主張番号】201811161190.X
(32)【優先日】2018-09-30
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】521127044
【氏名又は名称】ヴェチェーン グローバル テクノロジーズ エス.エイ.アール.エル.
(74)【代理人】
【識別番号】110000855
【氏名又は名称】弁理士法人浅村特許事務所
(72)【発明者】
【氏名】チャン、レイ
(72)【発明者】
【氏名】マ、バンギャ
(72)【発明者】
【氏名】グ、チェンリャン
【審査官】中里 裕正
(56)【参考文献】
【文献】特開2000-039841(JP,A)
【文献】特開2008-097591(JP,A)
【文献】特開2008-103936(JP,A)
【文献】特開2009-055402(JP,A)
【文献】米国特許第05675649(US,A)
【文献】米国特許第06662299(US,B1)
【文献】米国特許出願公開第2015/0019870(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/08
(57)【特許請求の範囲】
【請求項1】
トランザクション鍵を分割するための1次ユーザのユーザ・デバイスにおいて、前記トランザクション鍵を管理するためのユーザのグループ中のユーザの数と、第1の所定の値とを取得するステップであって、前記第1の所定の値が、前記トランザクション鍵を復元するためのユーザの前記グループ中のユーザの最小数を示す、取得するステップと、
前記1次ユーザの前記ユーザ・デバイスで、ユーザの前記グループ中のさらなるユーザに関係する管理デバイスからのメッセージに基づいて、前記トランザクション鍵をランダムに生成するステップであって、前記トランザクション鍵が、現在のトランザクションのパーミッションを処理することに関連し、前記メッセージが、少なくとも、前記さらなるユーザの公開鍵を含む、生成するステップと、
前記1次ユーザの前記ユーザ・デバイスで、前記トランザクション鍵を複数のサブ鍵に分割するステップであって、サブ鍵の数が、ユーザの前記数と同じである、分割するステップと、
前記1次ユーザの前記ユーザ・デバイスで、前記複数のサブ鍵の各々を、所与のサブ鍵に関連するユーザの前記グループ中の前記ユーザのうちの対応するユーザの公開鍵で暗号化するステップと、
前記複数の暗号化されたサブ鍵を、前記1次ユーザの前記ユーザ・デバイスから前記管理デバイスに送るステップと
を含む、鍵管理の方法。
【請求項2】
前記1次ユーザが、前記管理デバイスによってユーザの前記グループから指定されるか又はランダムに決定される、請求項1に記載の方法。
【請求項3】
前記さらなるユーザに関係する前記管理デバイスからの前記メッセージが、
前記管理デバイスの証明、
前記さらなるユーザの前記公開鍵を検証するための署名情報、
前記さらなるユーザの識別情報、
前記さらなるユーザのマージされたデータのハッシュ値の署名情報、及び
前記メッセージの有効期間
のうちの少なくとも1つを示す、請求項1に記載の方法。
【請求項4】
前記トランザクション鍵をランダムに生成するステップは、
前記管理デバイスの前記証明が有効であると決定したことに応答して、前記さらなるユーザの前記公開鍵の前記署名情報に基づいて、前記さらなるユーザの前記公開鍵が有効であるかどうかを決定するステップと、
前記さらなるユーザの前記公開鍵が有効であることに応答して、分割多項式を構築するための複数の乱数をランダムに生成するステップであって、乱数の数が、前記第1の所定の値と同じであり、前記分割多項式を構築するための前記複数の乱数が、前記トランザクション鍵を含む、生成するステップと
を含む、請求項3に記載の方法。
【請求項5】
前記トランザクション鍵を前記複数のサブ鍵に分割するステップは、
ユーザの前記グループ中のユーザの前記数と、前記分割多項式を構築するための前記複数の乱数とに基づいて、前記複数のサブ鍵を決定するステップであって、前記複数のサブ鍵の各々が、第1のサブ鍵データと第2のサブ鍵データとを備える、決定するステップ
を含む、請求項4に記載の方法。
【請求項6】
前記暗号化するステップが、
前記サブ鍵に対応する前記ユーザの前記公開鍵と、前記さらなるユーザに関係する前記メッセージの有効期間とに基づいて、前記サブ鍵を暗号化するステップ
をさらに含む、請求項1に記載の方法。
【請求項7】
前記管理デバイスからの署名データが有効であると決定したことに応答して、前記ユーザ・デバイスにおいてプリセットされた秘密鍵に基づいて前記署名データに署名するステップであって、前記署名データが、少なくとも、前記管理デバイスによって署名された乱数を含む、署名するステップと、
ユーザが、ユーザの前記グループを編成するための編成1次ユーザとして決定されたことに応答して、前記管理デバイスに、ユーザの前記グループに関するグループ情報と、前記編成1次ユーザの前記ユーザ・デバイスの公開鍵と、前記編成1次ユーザの前記ユーザ・デバイスの秘密鍵で署名された前記署名データとを送るステップであって、前記グループ情報が、少なくとも、ユーザの前記グループ中のユーザの前記数と、前記第1の所定の値とを含む、送るステップと
をさらに含む、請求項1に記載の方法。
【請求項8】
前記ユーザ・デバイスが、処理ユニットをもつハードウェアUSB鍵を備える、請求項1に記載の方法。
【請求項9】
ユーザの前記グループからのユーザが、トランザクション鍵を復元するための復元ユーザとして決定されたことに応答して、前記復元ユーザのユーザ・デバイスにおいて、前記トランザクション鍵を復元するための管理デバイスからの復元メッセージを取得するステップであって、前記復元メッセージが、少なくとも、ユーザの前記グループ中の確認ユーザの数と、前記復元ユーザの識別情報とを示し、前記確認ユーザが、現在のトランザクションを承認する、取得するステップと、
確認ユーザの前記数が、第1の所定の値よりも大きいか又はそれに等しいと決定したことに応答して、前記管理デバイスから取得された前記確認ユーザのサブ鍵に基づいて前記トランザクション鍵を決定するステップであって、前記確認ユーザの前記サブ鍵が、事前に前記トランザクション鍵を分割することによって生成された、決定するステップと、
前記決定されたトランザクション鍵に基づいて、前記現在のトランザクションについてのトランザクション要求に署名するステップと
を
さらに含む、
請求項1に記載の方法。
【請求項10】
前記復元ユーザが、ユーザの前記グループから前記管理デバイスによって指定されるか又はランダムに決定される、請求項9に記載の方法。
【請求項11】
前記確認ユーザの前記サブ鍵が、前記確認ユーザによって前記管理デバイスに送られ、前記確認ユーザの前記サブ鍵が、前記復元ユーザの公開鍵で暗号化される、請求項9に記載の方法。
【請求項12】
前記確認ユーザの前記サブ鍵が、前記管理デバイスを介して取得された前記復元ユーザの前記公開鍵と、前記現在のトランザクションに関連する現在のトランザクション乱数とで、前記確認ユーザの前記ユーザ・デバイスにおいて暗号化された、請求項11に記載の方法。
【請求項13】
前記復元メッセージが、
前記現在のトランザクションに関連する現在のトランザクション乱数、
前記復元ユーザの公開鍵で署名された、前記確認ユーザの前記サブ鍵及び前記現在のトランザクション乱数、
前記確認ユーザの署名情報、
前記管理デバイスの証明、並びに
前記復元メッセージのハッシュ値の署名情報
のうちの少なくとも1つをさらに示す、請求項9に記載の方法。
【請求項14】
請求項1に記載の鍵管理の方法であって、ユーザ
のグループが、ユーザの前記グループを作成するための編成1次ユーザと、トランザクション鍵を分割するための1次ユーザとを含み、前記方法は、
管理デバイスにおいて、前記編成1次ユーザのユーザ・デバイスからユーザの前記グループに関するグループ情報を取得するステップであって、前記グループ情報が、少なくとも、ユーザの前記グループ中のユーザの数と、第1の所定の値とを示し、前記第1の所定の値が、トランザクション鍵を復元するためのユーザの最小数を示し、ユーザの前記グループが、前記トランザクション鍵を管理するために使用される、取得するステップと、
前記トランザクション鍵を分割するための前記1次ユーザのユーザ・デバイスにメッセージを送るステップであって、前記メッセージが、前記トランザクション鍵を分割するための前記1次ユーザ以外のユーザの前記グループ中の前記ユーザのうちの第1のユーザに関係し、前記メッセージが、少なくとも、前記ユーザのうちの前記第1のユーザの公開鍵を示す、送るステップと、
前記トランザクション鍵を分割するための前記1次ユーザからの複数のサブ鍵を取得するステップであって、サブ鍵の数が、ユーザの前記グループ中のユーザの前記数と同じであり、前記複数のサブ鍵が、前記トランザクション鍵をランダムに生成することと、次いで、前記トランザクション鍵を分割することとによって、前記トランザクション鍵を分割するための前記1次ユーザによって生成され、前記複数のサブ鍵が、それぞれのユーザの公開鍵で暗号化される、取得するステップと、
前記それぞれのユーザに送るために前記複数のサブ鍵をキャッシュするステップと
を
さらに含む、方法。
【請求項15】
ユーザの前記グループ中で、
前記編成1次ユーザと前記トランザクション鍵を分割するための前記1次ユーザとのうちの少なくとも1つ、及び
前記トランザクション鍵を復元するための復元ユーザ
のうちの少なくとも1つを指定するか又はランダムに決定するステップ
をさらに含む、請求項14に記載の方法。
【請求項16】
現在のトランザクションについての要求を受信したことに応答して、ユーザの前記グループのユーザに、前記現在のトランザクションが承認されるかどうかを決定するためのトランザクション情報を送るステップであって、前記トランザクション情報が、少なくとも、前記現在のトランザクションのトランザクション・コンテンツと、前記復元ユーザの識別情報とを示す、送るステップと、
ユーザの前記グループ中の各確認ユーザのサブ鍵を取得するステップであって、前記確認ユーザが、前記現在のトランザクションを承認し、前記確認ユーザの前記サブ鍵が、前記復元ユーザの公開鍵で署名される、取得するステップと、
前記現在のトランザクションについての条件が満たされると決定したことに応答して、前記復元ユーザに、前記トランザクション鍵を復元するための復元メッセージを送るステップと
をさらに含む、請求項15に記載の方法。
【請求項17】
ユーザの前記グループ中のユーザのユーザ・デバイスからの登録要求に応答して、前記ユーザ・デバイスに前記管理デバイスの署名データを送るステップであって、前記署名データが、少なくとも、前記管理デバイスによって署名された乱数を含む、送るステップと、
前記ユーザ・デバイスからの署名データに基づいて、前記ユーザ・デバイスが有効であるかどうかを決定するステップであって、前記署名データは、前記管理デバイスが有効であると決定したことに応答して、前記ユーザ・デバイスにおいてプリセットされた秘密鍵に基づいて、前記ユーザ・デバイスによって前記乱数に署名することによって生成される、決定するステップと、
ユーザの前記グループ中の各ユーザのユーザ・デバイスが有効であると決定したことに応答して、ユーザの前記グループが有効であると決定するステップと
をさらに含む、請求項14に記載の方法。
【請求項18】
前記ユーザ・デバイスが、処理ユニットをもつハードウェアUSB鍵を備える、請求項14に記載の方法。
【請求項19】
鍵管理のためのユーザ・デバイスであって、
1つ又は複数のコンピュータ・プログラムを記憶するように構成されたメモリと、
前記メモリに結合され、前記デバイスに請求項1から13までのいずれか一項に記載の方法を実施させるために前記1つ又は複数のコンピュータ・プログラムを実行するように構成された、処理ユニットと
を備える、ユーザ・デバイス。
【請求項20】
鍵管理のための管理デバイスであって、
1つ又は複数のコンピュータ・プログラムを記憶するように構成されたメモリと、
前記メモリに結合され、前記デバイスに請求項14から18までのいずれか一項に記載の方法を実施させるために前記1つ又は複数のコンピュータ・プログラムを実行するように構成された、処理ユニットと
を備える、管理デバイス。
【請求項21】
記憶された機械実行可能命令を備える非一時的コンピュータ可読記憶媒体であって、前記機械実行可能命令が、実行されたとき、機械に、請求項1から18までのいずれか一項に記載の方法のステップを実施させる、非一時的コンピュータ可読記憶媒体。
【請求項22】
非一時的コンピュータ可読媒体上に有形に記憶され、機械実行可能命令を備える、コンピュータ・プログラムであって、前記機械実行可能命令が、実行されたとき、機械に、請求項1から18までのいずれか一項に記載の方法のステップを実施させる、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、パーミッション管理のための方法及びデバイスに関し、より詳細には、鍵管理のための方法、ユーザ・デバイス、管理デバイス、非一時的コンピュータ可読記憶媒体及びコンピュータ・プログラム製品に関する。
【背景技術】
【0002】
eコマース、資産分離及び資金管理などのシナリオでは、複数のユーザが、しばしば、処理されるべきトランザクションにわたる統制及び管理パーミッションを有することを必要とされる。旧来のパーミッション管理方式では、セキュリティを改善し、パーミッションを所有する個人ユーザによって鍵が漏洩されることを防ぐために、複数の署名のソリューションが通常採用される。たとえば、パーミッションを所有する複数のユーザが、それらのそれぞれの鍵で同じトランザクションを暗号化するか又はそれに署名することを順番に行う。
【0003】
上記の旧来のパーミッション管理方式では、パーミッションを所有する複数のユーザが、順に同じトランザクションに署名するか又はそれを許可することを必要とされ、トランザクション・プロセス全体が幾分冗長であることを引き起こす。その上、パーミッションを借りているユーザの各々が、ユーザのそれぞれの鍵を有し、ユーザのいずれかが、何かの理由で、ユーザの鍵を失うか又はユーザの鍵を使用することを拒否するかのいずれかであるとき、トランザクションは、遅延又は停止され得る。さらに、パーミッションを所有するユーザによって保たれる鍵が、通常、ある時間期間の間一定であるので、これらの鍵が解読される確率が高い。
【0004】
これに鑑みて、パーミッションを所有する複数のユーザを伴う鍵統制及び管理が、よりセキュアになり、及び/又は使用するのにより容易になるように、鍵を管理するための方式を構築する必要がある。
【発明の概要】
【0005】
本開示は、鍵の統制及び管理が、よりセキュアで、信頼でき、使用するのに好都合にされるような、鍵管理のための方法及びデバイスを提供する。
【0006】
本開示の第1の態様によれば、鍵管理の方法が提供される。本方法は、ユーザが、トランザクション鍵を分割するための1次ユーザとして決定されたことに応答して、1次ユーザのユーザ・デバイスにおいて、ユーザのグループ中のユーザの数と、第1の所定の値とを取得するステップであって、第1の所定の値が、トランザクション鍵を復元するためのユーザの最小数を示し、ユーザのグループが、トランザクション鍵を管理するために使用される、取得するステップと、管理デバイスからのさらなるユーザに関係するメッセージに基づいて、現在のトランザクションの処理パーミッションに関連するトランザクション鍵をランダムに生成するステップであって、さらなるユーザに関係するメッセージが、少なくとも、ユーザのグループ中の1次ユーザとは異なるさらなるユーザの公開鍵を示す、生成するステップと、トランザクション鍵を複数のサブ鍵に分割するステップであって、サブ鍵の数が、ユーザの数と同じであり、複数のサブ鍵の各々が、ユーザのグループ中の1人のユーザに対応する、分割するステップと、複数の暗号化されたサブ鍵を管理デバイスに送るステップであって、複数の暗号化されたサブ鍵の各々が、サブ鍵に対応するユーザの公開鍵で暗号化される、送るステップとを含む。
【0007】
本開示の第2の態様によれば、鍵管理の方法がさらに提供される。本方法は、ユーザが、トランザクション鍵を復元するための復元ユーザとして決定されたことに応答して、復元ユーザのユーザ・デバイスにおいて、管理デバイスからトランザクション鍵を復元するための復元メッセージを取得するステップであって、復元メッセージが、少なくとも、ユーザのグループ中の確認ユーザの数と、復元ユーザの識別情報とを示し、確認ユーザが、現在のトランザクションを承認し、ユーザのグループが、トランザクション鍵を管理するために使用される、取得するステップと、確認ユーザの数が、第1の決定された値よりも大きいか又はそれに等しいと決定したことに応答して、管理デバイスから取得された確認ユーザのサブ鍵に基づいてトランザクション鍵を決定するステップであって、確認ユーザのサブ鍵が、事前にトランザクション鍵を分割することによって生成された、決定するステップと、決定されたトランザクション鍵に基づいて、現在のトランザクションについてのトランザクション要求に署名するステップとを含む。
【0008】
本開示の第3の態様によれば、鍵管理の方法がさらに提供される。本方法は、管理デバイスにおいて、ユーザのグループを作成するための編成1次ユーザのユーザ・デバイスからユーザのグループに関するグループ情報を取得するステップであって、グループ情報が、少なくとも、ユーザのグループ中のユーザの数と、第1の所定の値とを示し、第1の所定の値が、トランザクション鍵を復元するためのユーザの最小数を示し、ユーザのグループが、トランザクション鍵を管理するために使用される、取得するステップと、トランザクション鍵を分割するための1次ユーザのユーザ・デバイスにさらなるユーザに関係するメッセージを送るステップであって、メッセージが、少なくとも、ユーザのグループ中の1次ユーザとは異なるさらなるユーザの公開鍵を示すさらなるユーザに関係する、送るステップと、1次ユーザからの複数のサブ鍵を取得するステップであって、サブ鍵の数が、ユーザのグループ中のユーザの数と同じであり、複数のサブ鍵が、1次ユーザによってトランザクション鍵を分割することによって生成され、複数のサブ鍵が、それぞれのユーザの公開鍵で暗号化される、取得するステップと、それぞれのユーザに送られるべき複数のサブ鍵をキャッシュするステップとを含む。
【0009】
本開示の第4の態様では、鍵管理のためのユーザ・デバイスがさらに提供される。本ユーザ・デバイスは、1つ又は複数のコンピュータ・プログラムを記憶するように構成されたメモリと、メモリに結合され、本デバイスに本開示の第1及び第2の態様のいずれかに記載の方法を実施させるための1つ又は複数のコンピュータ・プログラムを実行するように構成された、処理ユニットとを備える。
【0010】
本開示の第5の態様では、鍵管理のための管理デバイスがさらに提供される。本管理デバイスは、1つ又は複数のコンピュータ・プログラムを記憶するように構成されたメモリと、メモリに結合され、本デバイスに本開示の第3の態様に記載の方法を実施させるための1つ又は複数のコンピュータ・プログラムを実行するように構成された、処理ユニットとを備える。
【0011】
本開示の第6の態様では、非一時的コンピュータ可読記憶媒体がさらに提示される。本非一時的コンピュータ可読記憶媒体は、記憶された機械実行可能命令を備え、機械実行可能命令が、実行されたとき、機械に、本開示の第1、第2及び第3の態様のいずれかに記載の方法を実施させる。
【0012】
本開示の第7の態様では、コンピュータ・プログラム製品がさらに提供される。本コンピュータ・プログラム製品は、非一時的コンピュータ可読媒体上に有形に記憶され、機械実行可能命令を備え、機械実行可能命は、実行されたとき、機械に、本開示の第1、第2及び第3の態様のいずれかに記載の方法を実施させる。
【0013】
本発明の概要は、発明を実施するための形態において以下でさらに説明される概念の選択を簡略化された形で紹介するために与えられる。本発明の概要は、本開示の主要な特徴又は本質的特徴を識別するものではなく、本開示の範囲を限定するために使用されるものでもない。
【0014】
添付の図面を参照しながら本開示の例示的な実施例の以下のより詳細な説明を通して、本開示の上記及び他の目的、特徴、及び利点がより明らかになり、同じ参照番号は、通常、本開示の例示的な実装形態における同じ構成要素を指す。
【図面の簡単な説明】
【0015】
【
図1】本開示の実施例による、鍵管理のための管理システム100のアーキテクチャ図である。
【
図2】本開示の実施例による、鍵管理の方法200のフローチャートである。
【
図3】本開示の実施例による、鍵管理の方法300のフローチャートである。
【
図4】本開示の実施例による、鍵管理の方法400のフローチャートである。
【
図5】本開示の実施例による、鍵管理の管理システム500のデータ・フロー図である。
【
図6】本開示の実施例を実装するために適用可能である電子デバイス600の概略ブロック図である。
【発明を実施するための形態】
【0016】
図全体にわたって、同じ又は対応する数字は、同じ又は対応する部分を指す。
【0017】
本開示の例示的な実装形態が、添付の図面を参照しながら本明細書で説明される。図面は、本開示のいくつかの例示的な実装形態を示すが、本開示は、様々な他のやり方で実装され得、本明細書で開示される実装形態に限定されないことを諒解されたい。むしろ、開示される実装形態は、本開示の範囲を当業者に示し、伝達するために提供される。
【0018】
本明細書で使用される「含む」という用語及びその変形態は、「限定はしないが、含む」を意味するオープンエンド用語として読まれるべきである。「又は」という用語は、文脈が別段に明確に示さない限り、「及び/又は」として読まれるべきである。「に基づいて」という用語は、「に少なくとも部分的に基づいて」として読まれるべきである。「1つの例示的な実装形態」及び「一実装形態」という用語は、「少なくとも1つの例示的な実装形態」として読まれるべきである。「さらなる実装形態」という用語は、「少なくともさらなる実装形態」として読まれるべきである。「第1の」、「第2の」などの用語は、同じ又は異なるオブジェクトを指すことがある。また、以下は、他の明示的及び暗黙的定義を含むことができる。
【0019】
上記で説明されたように、旧来のパーミッション管理方式では、ユーザによって保たれる鍵が、長い時間期間の間一定であり、複数のユーザが順にそれらのそれぞれの鍵で同じトランザクションに署名する必要があるので、ユーザのうちのいずれかで問題が起きた(たとえば、ユーザの鍵を失うか又はユーザの鍵を使用することを拒否する)場合、トランザクションがスムーズに進まないことになる。したがって、旧来のパーミッション管理方式の署名プロセスは、十分にはセキュアで好都合ではなく、その上、そのようなシステムの信頼性はむしろ低く、不適当なパーミッション使用の影響を受けやすい。
【0020】
上記及び他の潜在的問題のうちの1つ又は複数を少なくとも部分的に解決するために、本開示の実施例は、鍵管理方式を提案する。一実例では、ユーザが、トランザクション鍵を分割するための1次ユーザとして決定されたことに応答して、鍵管理の方法は、1次ユーザのユーザ・デバイスにおいて、ユーザのグループ中のユーザの数と、第1の所定の値とを取得するステップであって、第1の所定の値が、トランザクション鍵を復元するためのユーザの最小数を示し、ユーザのグループが、トランザクション鍵を管理するために使用される、取得するステップを含み得、本方法は、ユーザのグループ中のさらなるユーザに関係する管理デバイスからのメッセージに基づいて、現在のトランザクションのパーミッションを処理するためのトランザクション鍵をランダムに生成するステップであって、さらなるユーザに関係するメッセージが、少なくとも、ユーザのグループ中の1次ユーザとは異なるさらなるユーザの公開鍵を示す、生成するステップと、トランザクション鍵を複数のサブ鍵に分割するステップであって、サブ鍵の数が、ユーザの数と同じであり、複数のサブ鍵の各々が、ユーザのグループ中の1人のユーザに対応する、分割するステップと、複数の暗号化されたサブ鍵を管理デバイスに送るステップであって、複数の暗号化されたサブ鍵の各々が、サブ鍵に対応するユーザの公開鍵で暗号化される、送るステップとをさらに含み得る。
【0021】
上記の方式では、1次ユーザによってランダムに生成され、複数のサブ鍵に分割される、トランザクション鍵と、サブ鍵の数が、ユーザのグループ中のユーザの数と同じであることと、各サブ鍵が、サブ鍵の対応するユーザの公開鍵で暗号化されることとを通して、本開示の例示的な実施例によって提案される方式は、トランザクション鍵が一定のトランザクション鍵の場合のような解読を受けやすいという危険を低減するだけではない。その上、サブ鍵を有する単一のユーザが、単独でトランザクション鍵を復元することができず、トランザクション鍵は、複数のユーザとの共同によって復元され得るにすぎないので、鍵があまりに集中されるという危険が分散され、トランザクション鍵のセキュリティが改善される。さらに、トランザクション鍵を復元するためのユーザの最小数を設定することによって、個人ユーザで問題が起きた(たとえば、サブ鍵を失うか又はサブ鍵を使用することを拒否する)ときでも、トランザクション鍵は、さらなるユーザの共同によって、依然として復元され得、したがって、パーミッション管理システムの信頼性及びロバストネスが改善される。さらに、複数の暗号化されたサブ鍵を管理デバイスに送ることによって、管理デバイスは、ユーザのグループ中のさらなるユーザの同期動作なしに、暗号化されたサブ鍵をキャッシュし、複数のユーザの間のトランザクション鍵の非同期分割及び配信を可能にし、それにより、パーミッション管理システムの利便性を改善し得る。
【0022】
図1は、本開示の実施例による、鍵管理の例示的な管理システム100のアーキテクチャ図を示す。
図1に示されているように、管理システム100は、管理デバイス110と、(以下でユーザ・デバイス120と総称される)複数のユーザ・デバイス120-1、120-2、120-3、120-4~120-Nとを備え、複数のユーザ・デバイスは、たとえば、トランザクション鍵を管理する(以下でユーザ140と総称される)複数のユーザ140-1、140-2、140-3、140-4~140-Nに関連し、ユーザは、トランザクション鍵を管理するための端末デバイスとしてユーザ・デバイスを使用する。ユーザ140-1~140-Nは、トランザクションの実行又は資産の処分又は移転などの事柄にわたるパーミッションを一緒に所有し、したがって、そのような事柄を実行するためのパーミッションを提供するための鍵を管理するユーザのグループに編成し得る。管理デバイス110と、複数のユーザ・デバイス120-1、120-2、120-3、120-4~120-Nとは、ネットワーク150を介してデータ相互作用を実施する。
【0023】
管理デバイス110は、たとえば、限定はしないが、パーソナル・コンピュータ、サーバ又は他のコンピューティング・デバイスである。管理デバイス110は、各ユーザ140のユーザ・デバイス120の初期化を実装すること、ユーザのグループ中の1次ユーザ及び/又は復元ユーザを指定するか又はランダムに決定すること、編成1次ユーザがトランザクション鍵を管理するためのユーザのグループを編成することを支援すること、1次ユーザがトランザクション鍵を複数のサブ鍵に分割することを支援することであって、いくつかの実例では、サブ鍵の数がユーザのグループ中のユーザの数と同じである、支援すること、サブ鍵をキャッシュ及び配信すること、並びに復元ユーザがトランザクション鍵を復元するのを支援すること、のうちの1つ又は複数のために、ユーザ・デバイス120との相互作用を通して使用され得る。したがって、いくつかの実例では、トランザクション鍵を生成すること、トランザクション鍵をサブ鍵に分割すること、サブ鍵の記憶、及びサブ鍵からトランザクション鍵を復元すること、の機能のうちの1つ又は複数が、ユーザ・デバイス120及び/又はハードウェア・セキュリティ・デバイス130によって実施され、これは、管理デバイス110など、中央コンピューティング・デバイス上でそれらの機能のうちの1つ又は複数を実施することと比較して増加されたセキュリティを提供する。さらに、いくつかの実例では、トランザクション鍵は、管理デバイス110によって決して記憶されず、それにより、セキュリティを改善する。
【0024】
いくつかの実施例では、管理デバイス110は、ユーザ・デバイスの登録要求に応答して、ユーザ・デバイスが有効であるかどうかを決定し、さらに、ユーザのグループ中の各ユーザのユーザ・デバイスが有効であるかどうかを決定することによってユーザのグループ全体が有効であるかどうかを決定する。いくつかの実施例では、管理デバイス110は、1次ユーザから、ユーザのグループ中のユーザの数と、トランザクション鍵を復元するためのユーザの(いくつかの実例では、第1の所定の値とも呼ばれる)最小数とを取得することと、ランダムに選択され得る1次ユーザのユーザ・デバイスが、トランザクション鍵を分割することを支援することとを行うためにさらに使用され得、いくつかの実例では、分割することが多項式を構築することを含み得る。
【0025】
ユーザ・デバイス120-1、120-2、120-3、120-4~120Nは、非限定的な実例では、従来のセル・フォン、パーソナル・コンピュータなど、当技術分野で知られている様々なコンピューティング・デバイスのいずれかであり得る。各ユーザ・デバイス120は、対応するコンピューティング・デバイス120に通信可能に結合された関連するハードウェア・セキュリティ・デバイス130(たとえば、130-1、130-2、130-3、130-4又は130N)を含み得る。ハードウェア・セキュリティ・デバイス130は、非限定的な実例では、USB鍵であり、これは、たとえば、ユーザ・デバイス120に動作可能に接続され得る。いくつかの実例では、ハードウェア・セキュリティ・デバイス130は、トランザクション鍵を生成する、分割する及び/又は復元するために使用され得る。他の実例では、ユーザ・デバイス120は、トランザクション鍵を生成すること、分割すること及び/又は復元することのうちの1つ又は複数を実施し得る。
【0026】
いくつかの実施例では、ハードウェア・セキュリティ・デバイス130は、非対称暗号化のための公開鍵K及び秘密鍵Pのそれ自体の非対称暗号化鍵ペアを作成するように構成され得る。いくつかの実例では、ハードウェア・セキュリティ・デバイス130は、ユーザのグループのためのパスワードを作成すること、トランザクション鍵をランダムに生成すること、及び/又はトランザクション鍵を分割するための多項式を構築することなどを行うためにも使用され得る。一実例では、ハードウェア・セキュリティ・デバイス130は、本明細書で説明されるトランザクション鍵機能性をセキュアに及び自動で実施するためのハードウェア及びソフトウェアを含み得る。ハードウェア・セキュリティ・デバイス130は、ハードウェアベースの暗号化を組み込む(1つ又は複数の)セキュア・プロセッサ、並びにトランザクション鍵機能を実施するためのソフトウェア及びファームウェアを含んでいることなど、当技術分野で知られている様々なセキュリティ特徴のいずれかを含み得る。ハードウェア・セキュリティ・デバイス130は、MPU、CPU、コプロセッサ、及び暗号RAMを含むハードウェア・アーキテクチャを有し得る。一実例では、ハードウェア・セキュリティ・デバイス130は、ARM(登録商標)によって製造されたSecurCore(登録商標)SC300プロセッサを含む。ハードウェア・セキュリティ・デバイス130は、対応するユーザ・デバイス120へのワイヤード接続、たとえば、USBを介して電力供給され、ユーザ・デバイス120を介してネットワーク150上で通信するように構成され得る。
【0027】
以下の説明では、
図1に示されている、各ユーザ・デバイス120と、ユーザ・デバイス120に関連する対応するハードウェア・セキュリティ・デバイス130との組合せが、単にユーザ・デバイス120と呼ばれることもある。
【0028】
他の実例では、ユーザ・デバイス120は、汎用ハードウェア・セキュリティ・デバイス130をもつ別々に設計された通信機能モジュール及び処理機能モジュールの統合であり得る。そのようなユーザ・デバイス120は、鍵及びトランザクション情報を交換するために、非対称暗号化のためのそれ自体の公開鍵K及び秘密鍵Pを作成し、管理デバイス110との相互信用を、互いを検証することによって確立し得る。さらに、ユーザ・デバイス120のいずれかが、さらに、ユーザのグループ中の編成又は分割1次ユーザ、復元ユーザ又はさらなるユーザとして、管理デバイスによって指定されるか又はランダムに決定され得る。
【0029】
いくつかの実施例では、ユーザ・デバイス120のうちの1つが、ユーザのグループを編成するための1次ユーザ・デバイスとして管理デバイス110によってランダムに決定され得る。1次ユーザ・デバイスは、ユーザのグループについてのグループ情報、たとえば、ユーザの数N、及びトランザクション鍵を復元するために必要とされるユーザの最小数を示す第1の所定の値Mを決定するように構成され得、管理デバイス110にグループ情報を送るように構成され得る。
【0030】
いくつかの実施例では、ユーザ・デバイスのうちの1つが、トランザクション鍵を分割するためのユーザ・デバイスとして管理デバイス110によって指定されるか又はランダムに決定され得る。トランザクション鍵を分割するためのユーザ・デバイスは、現在のトランザクションのパーミッションを処理することに関連するトランザクション鍵をランダムに生成すること、トランザクション鍵を複数のサブ鍵に分割することであって、いくつかの実例では、サブ鍵の数が、管理デバイスからのグループ情報(たとえば、ユーザの数N及び第1の所定の値M)から決定され得る、ユーザのグループ中のユーザの数と同じである、分割すること、いくつかの実例では、ユーザ120のうちの対応するそれぞれのユーザの公開鍵で暗号化され得る、サブ鍵を管理デバイスに送ること、のうちの1つ又は複数を実施するように構成され得る。
【0031】
いくつかの実施例では、ユーザ・デバイスのうちの1つが、トランザクション鍵を復元するための復元ユーザのユーザ・デバイスとして管理デバイス110によって指定されるか又はランダムに決定され得る。復元ユーザ・デバイスは、(たとえば、現在のトランザクションを承認する確認ユーザの数と、復元ユーザの識別情報とを含む)復元メッセージを取得し、確認ユーザの数が、第1の所定の値よりも大きいか又はそれに等しいと決定した後に、現在のトランザクションのトランザクション要求に署名するために確認ユーザのサブ鍵に基づいてトランザクション鍵を復元し得る。
【0032】
図2は、本開示の実施例による、鍵管理の例示的な方法200のフローチャートを示す。
図2では、様々な行為が、鍵を管理するための1次ユーザのユーザ・デバイスによって実施される。方法200は、示されていない追加の行為をさらに含み、及び/又は示されている行為を省略し得、本開示の範囲はこの点について限定されない。
【0033】
ブロック202において、ユーザが、トランザクション鍵を分割するための1次ユーザとして決定されたことに応答して、1次ユーザのユーザ・デバイス120において、ユーザのグループ中のユーザの数Nと、第1の所定の値とを取得することであって、第1の所定の値が、トランザクション鍵を復元するためのユーザの最小数を示し、ユーザのグループが、トランザクション鍵を管理するために使用される、取得すること。いくつかの実施例では、Mは、ユーザのグループ中のユーザの数Nよりも小さい。いくつかの実施例では、1次ユーザは、たとえば、管理デバイスによってユーザのグループから指定されるか又はランダムに決定される。いくつかの実施例では、トランザクション鍵を分割するための1次ユーザと、ユーザのグループを作成するための編成1次ユーザとは、同じユーザであり得るか又は異なるユーザであり得る。いくつかの実施例では、ユーザ・デバイスは、処理ユニットをもつハードウェアUSB鍵を備える。
【0034】
ブロック204において、方法は、ユーザのグループ中のさらなるユーザに関係する管理デバイスからのメッセージに基づいて、現在のトランザクションのパーミッションを処理するためのトランザクション鍵をランダムに生成することを含み得、さらなるユーザに関係するメッセージは、少なくとも、さらなるユーザの公開鍵を示し、さらなるユーザは、トランザクション鍵を生成及び分割するための1次ユーザとは異なる。上記の方式では、1次ユーザのユーザ・デバイスにおいてトランザクションのパーミッションを処理するためのトランザクション鍵をランダムに生成することによって、トランザクション鍵が一定であるか又は繰り返し使用されることによる、トランザクション鍵が解読を受けやすいという危険を低減することが可能である。
【0035】
いくつかの実施例では、さらなるユーザに関係するメッセージは、管理デバイスの証明と、さらなるユーザの各々の公開鍵を検証するための署名情報と、さらなるユーザの識別情報と、さらなるユーザのマージされたデータのハッシュ値の署名情報と、さらなるユーザに関係するメッセージの有効期間とのうちの少なくとも1つをさらに示す。一実例では、トランザクション鍵を生成するようにとの各要求が、UTCタイム・スタンプなど、タイム・スタンプを含み得る。有効期間が満了した場合、ユーザ・デバイスは、トランザクション鍵を生成しないことになり、要求は再使用され得ない。さらなるユーザのマージされたデータのハッシュ値の署名情報に関して、いくつかの実施例では、管理デバイスは、第1に、ユーザのグループ中のさらなるユーザの各々の以下のマージされたデータ、すなわち、一意のIDのハッシュ及びトランザクション・データなど、管理デバイスの証明のハッシュ値と、ユーザのグループ中の各さらなるユーザの一意のIDのハッシュ値と、さらなるユーザの各々の公開鍵のハッシュ値と、さらなるユーザによって署名されるユーザのグループのパスワードについての署名のハッシュ値とをハッシュ計算する。次いで、マージされたデータのハッシュ値は、1次ユーザ・デバイスによってさらなるユーザに関係するメッセージ中の様々なデータを検証するために、管理デバイスの公開鍵で署名される。上記の方式では、さらなるユーザに関係するメッセージ中にさらなるユーザのマージされたデータの署名されたハッシュ値を含めることによって、さらなるユーザに関係する受信されたメッセージ中の様々なデータが改ざんされたか否かを検証することが1次ユーザにとって好都合にされる。
【0036】
いくつかの実例では、トランザクション鍵をランダムに生成するステップは、管理デバイスの証明が有効であることを確認したことに応答して、さらなるユーザの公開鍵の署名情報に基づいて、さらなるユーザの公開鍵が有効であるか否かを決定するステップと、さらなるユーザの公開鍵が有効であると決定したことに応答して、分割多項式(splitting polynomial)を構築するための複数の乱数をランダムに生成するステップであって、いくつかの実例では、乱数の数が、第1の所定の値と同じであり、分割多項式を構築するための複数の乱数が、トランザクション鍵を含み得る、生成するステップとを含み得る。
【0037】
ブロック206において、トランザクション鍵を複数のサブ鍵に分割することであって、サブ鍵の数が、ユーザの数と同じであり、複数のサブ鍵の各々が、ユーザのグループ中の1人のユーザに対応する、分割すること。いくつかの実施例では、トランザクション鍵を複数のサブ鍵に分割することは、ユーザのグループ中のユーザの数と、分割アルゴリズムを構築するための複数の乱数とに基づいて、複数のサブ鍵を決定することであって、各サブ鍵が、第1のサブ鍵データと第2のサブ鍵データとを備える、決定することを含む。
【0038】
トランザクション鍵を分割することに関して、様々な手法が採用され得る。たとえば、Shamirの秘密共有、Blakleyの方式、及び中国の剰余定理など、いくつかの暗号化秘密共有アルゴリズムのうちのいずれか1つが使用され得る。いくつかの実施例では、トランザクション鍵は、以下の例示的な分割多項式(1)に示されているように、Shamirの秘密共有方式の適用例に基づいて、複数のサブ鍵に分割され得る。
Y=A0+A1*X+A2*X2+......+AN-1*XM-1 (1)
【0039】
上記の分割多項式では、Mは、トランザクション鍵を復元するためのユーザの最小数を示す。A0、A1...AM-1は、分割アルゴリズムを構築するための乱数を示し、上記の乱数は、1次ユーザのユーザ・デバイスによってランダムに生成され、乱数の数は、トランザクション鍵を復元するためのユーザの最小数Mと同じである。たとえば、A0は、現在のトランザクションについてのトランザクション鍵を示し得る。A0~AM-1が決定されたとき、N個の(X,Y)ペアが構築され得、たとえば、X1~XNを決定し、その数は、ユーザの数Nと同じであり、N個の決定されたY値、たとえば、Y1~YNが、上記の分割多項式に基づいて取得され得る。多項式に基づいて決定されるN個の(X,Y)ペア、すなわち、(X1,Y1)、(X2,Y2)...(XN,YN)は、分割から生じるような、ユーザのグループ中のN人のユーザに対応するN個のサブ鍵を示す。上記の分割多項式、ユーザのグループ中のユーザの数N、トランザクション鍵を復元するためのユーザの最小数M並びに1次ユーザのユーザ・デバイスによってランダムに生成された乱数A0~AM-1に基づいて、トランザクション鍵A0は、N個のサブ鍵(X1,Y1)、(X2,Y2)...(XN,YN)に分割され得、サブ鍵の数は、ユーザのグループ中のユーザの数と同じである。各サブ鍵(X,Y)は、第1のサブ鍵データXと、第2のサブ鍵データYとを備える。
【0040】
上記の方式では、1次ユーザによってランダムに生成されるトランザクション鍵A0を、サブ鍵の数がユーザのグループ中のユーザの数と同じである、複数のサブ鍵に分割することによって、トランザクション鍵が、一定のトランザクション鍵を使用することにより解読を受けやすいという危険が効果的に回避され得る。その上、トランザクション鍵が、サブ鍵のうちの1つのみを所有する単一のユーザによって単独で復元され得ず、最小数(M)のユーザからの共同によってのみ復元され得るので、トランザクション鍵のセキュリティが著しく増加される。いくつかの実施例では、Mはまた、ユーザのグループ中のユーザの数Nよりも小さくなり得る。トランザクション鍵を復元するためのユーザの最小数Mに設定し、M<Nとすることによって、本開示の例示的な実施例によって提案されるような鍵管理のための方式は、問題が個人ユーザに起きたときでも、M人のユーザからの共同によってトランザクション鍵を復元することを可能にされる。したがって、パーミッション管理システムの信頼性が改善される。
【0041】
ブロック208において、複数の暗号化されたサブ鍵を管理デバイスに送信することであって、複数の暗号化されたサブ鍵の各々が、サブ鍵に対応するユーザの公開鍵で暗号化される、送信すること。いくつかの実施例では、複数の暗号化されたサブ鍵の各々が、サブ鍵に対応するユーザの公開鍵で暗号化されることは、サブ鍵に対応するユーザの公開鍵と、さらなるユーザに関係するメッセージの有効期間とでサブ鍵を暗号化することを含む。上記の方式では、対応するユーザの公開鍵によって暗号化されたサブ鍵を利用することによって、各サブ鍵のセキュリティが増加され、何らかの他の無許可の人が、暗号化されたサブ鍵へのアクセスを獲得した場合でも、その人は、対応するユーザの秘密鍵へのアクセスを有しない限り、サブ鍵を解読することが可能でないことになる。したがって、トランザクション鍵のセキュリティが増加される。さらに、暗号化されたサブ鍵が管理デバイスに送られるので、管理デバイスは、暗号化されたサブ鍵をキャッシュし得、サブ鍵を受信するためにユーザのグループ中のさらなるユーザの同期動作の必要がなく、したがって、トランザクション鍵の分割及び配信の非同期が達成される。
【0042】
いくつかの実施例では、方法200は、1次ユーザのユーザ・デバイスによって実施される初期化行為をさらに含む。たとえば、管理デバイスからの署名データが有効であると決定したことに応答して、1次ユーザのユーザ・デバイスは、ユーザ・デバイス中の秘密鍵、たとえば、ユーザ・デバイスのプリセットされた秘密鍵に基づいて署名データに署名し、署名データは、少なくとも、管理デバイスによって署名された乱数を含み、ユーザが、ユーザのグループを編成するための編成1次ユーザとして決定されたことに応答して、編成1次ユーザは、管理デバイスに、ユーザのグループに関するグループ情報、編成1次ユーザ・デバイスの公開鍵、並びに編成1次ユーザ・デバイスの秘密鍵で署名された署名データを送り、グループ情報は、少なくとも、ユーザのグループ中のユーザの数と、第1の所定の値とを含む。上記の方式では、管理デバイスの署名情報を検証することと、検証のために1次ユーザの編成1次ユーザ・デバイスの秘密鍵で署名された署名情報を管理デバイスに送ることとによって、1次ユーザのユーザ・デバイスと管理デバイスとの間の相互信用が達成され得、パーミッション管理システムのセキュリティが改善され得る。さらに、ユーザのグループ中のユーザの数Nと、第1の所定の値Mとを含むグループ情報を管理デバイスに送ることによって、管理デバイスは、トランザクション鍵を分割及び復元するプロセスを支援するために、N及びMを使用することができる。
【0043】
図3は、本開示の実施例による、鍵管理の方法300のフローチャートを示す。
図3では、様々な行為が、たとえば、鍵を管理するための復元ユーザのユーザ・デバイスによって実施される。方法300は、示されていない追加の行為をさらに含み、及び/又は示されている行為を省略し得、本開示の範囲はこの点について限定されない。
【0044】
ブロック302において、ユーザが、トランザクション鍵を復元するための復元ユーザとして決定されたことに応答して、復元ユーザのユーザ・デバイスにおいて、管理デバイスからトランザクション鍵を復元するための復元メッセージを取得することであって、復元メッセージが、少なくとも、ユーザのグループ中の確認ユーザの数と、復元ユーザの識別情報とを示し、確認ユーザが、現在のトランザクションを承認し、ユーザのグループが、トランザクション鍵を管理するために使用される、取得すること。いくつかの実施例では、復元ユーザは、ユーザのグループ中で管理デバイスによって指定されるか又はランダムに決定される。いくつかの実施例では、復元メッセージは、現在のトランザクションに関連する現在のトランザクション乱数、復元ユーザの公開鍵で署名された、確認ユーザのサブ鍵及び現在のトランザクション乱数、確認ユーザの署名情報、管理デバイスの証明、並びに復元メッセージのハッシュ値の署名情報のうちの少なくとも1つをさらに示す。
【0045】
ブロック304において、確認ユーザの数が、第1の所定の値よりも大きいか又はそれに等しいと決定したことに応答して、管理デバイスから取得された確認ユーザのサブ鍵に基づいてトランザクション鍵を決定することであって、確認ユーザのサブ鍵が、トランザクション鍵を分割することによって前に生成された、決定すること。いくつかの実施例では、確認ユーザのサブ鍵は、確認ユーザによって管理デバイスに送られ、いくつかの実例では、確認ユーザのサブ鍵は、復元ユーザの公開鍵で暗号化される。いくつかの実施例では、確認ユーザのサブ鍵が、復元ユーザの公開鍵で暗号化されることは、確認ユーザのユーザ・デバイスにおいて、たとえば、管理デバイスを介して取得された復元ユーザの公開鍵で、確認ユーザのサブ鍵及び現在のトランザクションに関連する現在のトランザクション乱数を暗号化することを含む。上記の方式では、現在のトランザクションに関連する現在のトランザクション乱数でサブ鍵を暗号化することによって、サブ鍵は、さらなるトランザクションのトランザクション鍵を復元するために繰り返し使用されるのではなく、現在のトランザクションのトランザクション鍵を復元するためにのみ使用され得る。
【0046】
一実例では、トランザクション鍵をランダムに生成した後に、トランザクション鍵は複数のトランザクションのために使用され得る。一実例では、現在のトランザクションについての要求を受信したことに応答して、管理デバイス、又はユーザ・デバイスのうちの1つ、たとえば、復元ユーザ・デバイスは、次いですべてのユーザ・デバイスに送信される、現在のトランザクション乱数を生成するように構成され得る。確認ユーザ・デバイスは、ユーザ・デバイス・サブ鍵のハッシュと、現在のトランザクション乱数とを計算することと、次いで、復元デバイスの公開鍵でハッシュ化値を暗号化することとによって、現在のトランザクション乱数でサブ鍵を暗号化するように構成され得る。たとえば、ユーザ・デバイス・サブ鍵と現在のトランザクション乱数とを連結することと、連結された値をハッシングすることと、次いで、ハッシュ計算の結果を暗号化することとによって。各確認デバイスは、次いで、復元デバイスの公開鍵で暗号化された各確認デバイスのサブ鍵、並びにサブ鍵の暗号化されたハッシュ及び現在のトランザクション乱数を送信する。復元デバイスは、確認ユーザ・デバイスから受信された暗号化されたデータを、復元ユーザ・デバイス秘密鍵で解読することと、各サブ鍵のハッシュ値及び現在のトランザクションについてのトランザクション鍵を同様に計算することと、次いで、ハッシュ計算を受信された値と比較することとを行うように構成され得る。復元ユーザ・デバイスは、次いで、比較が検証され、各確認ユーザが現在のトランザクションを承認したことを示す場合、現在のトランザクションについてのトランザクション鍵のみを復元するように構成され得る。
【0047】
いくつかの実例では、確認ユーザによって復元ユーザに送信された確認ユーザ・デバイスの暗号化されたサブ鍵は、タイム・スタンプを含む。復元ユーザ・デバイスは、復元ユーザ・デバイスが受信する各確認ユーザ・サブ鍵についてのタイム・スタンプが、トランザクション鍵復元を実施する、しきい値時間期間、たとえば、24時間内の時間を示す場合のみ、トランザクション鍵を復元するように構成され得る。
【0048】
いくつかの実施例では、トランザクション鍵は、上述の分割多項式(1)に基づいて復元され得る。分割多項式(1)における乱数の数がM、すなわち、A0~AM-1であることを考慮すると、トランザクション鍵A0は、M個の乱数A0~AM-1を解くことによって取得され得、少なくともM人の確認ユーザのサブ鍵(X1,Y1)、(X2,Y2)...(XM,YM)が取得される。
【0049】
ブロック306において、決定されたトランザクション鍵に基づいて、現在のトランザクションについてのトランザクション要求に署名すること。いくつかの実施例では、復元ユーザのユーザ・デバイスが、現在のトランザクションを実行するために、現在のトランザクションについての署名された要求を管理デバイスに送る。
【0050】
上記の方式では、トランザクション鍵を復元するためのユーザの最小数(すなわち、第1の所定の値)を設定することによって、及び確認ユーザの数が第1の所定の値よりも大きいか又はそれに等しいことに応答して、トランザクション鍵が、ユーザのグループ中のユーザのサブセットのみの共同に基づいて復元され得るように、復元ユーザのサブ鍵と確認ユーザのサブ鍵とに基づいて、トランザクション鍵を復元すること。したがって、パーミッション管理システムの信頼性及びロバストネスが改善され、上記で説明されたように、パーミッション管理システムが、パーミッション使用の何らかの不適当な挙動に耐えることを可能にする。
【0051】
図4は、本開示の実施例による、鍵管理の方法400のフローチャートを示す。
図4では、様々な行為が、たとえば、鍵を管理するための管理デバイス110によって実施される。方法400は、示されていない追加の行為をさらに含み、及び/又は示されている行為を省略し得、本開示の範囲はこの点について限定されない。
【0052】
ブロック402において、管理デバイスにおいて、ユーザのグループを作成するための編成1次ユーザのユーザ・デバイスからユーザのグループに関するグループ情報を取得することであって、グループ情報が、少なくとも、ユーザのグループ中のユーザの数と、第1の所定の値とを示し、第1の所定の値が、トランザクション鍵を復元するためのユーザの最小数を示し、ユーザのグループが、トランザクション鍵を管理するために使用される、取得すること。いくつかの実施例では、管理デバイスは、ユーザのグループ中で、1次ユーザと、トランザクション鍵を復元するための復元ユーザとのうちの少なくとも1人をランダムに決定する。いくつかの実施例では、1次ユーザは、ユーザのグループを作成するための編成1次ユーザであるだけでなく、トランザクション鍵を分割するための1次ユーザでもある。いくつかの実施例では、ユーザ・デバイスは、処理ユニットをもつハードウェアUSB鍵を備える。
【0053】
ブロック404において、トランザクション鍵を分割するための1次ユーザのユーザ・デバイスにさらなるユーザに関係するメッセージを送ることであって、さらなるユーザに関係するメッセージが、少なくとも、ユーザのグループ中の1次ユーザとは異なるさらなるユーザの公開鍵を示す、送ること。
【0054】
ユーザのグループが有効であることに関して、いくつかの実施例では、ユーザのグループ中のユーザのユーザ・デバイスからの登録要求に応答して、ユーザ・デバイスに管理デバイスの署名データを送ることであって、署名データが、少なくとも、管理デバイスによって署名された乱数を含む、送ることと、ユーザ・デバイスからの署名データに基づいて、ユーザ・デバイスが有効であるかどうかを決定することであって、署名データは、ユーザ・デバイスが秘密鍵で乱数に署名することによって生成され、いくつかの実例では、秘密鍵は、管理デバイスが有効であると決定したことに応答して、ユーザ・デバイスにおいてプリセットされる、決定することと、ユーザのグループ中の各ユーザのユーザ・デバイスが有効であると決定したことに応答して、ユーザのグループが有効であると決定することとが含まれる。いくつかの実施例では、ユーザ・デバイスは、処理ユニットをもつハードウェアUSB鍵を備える。上記の方式では、管理デバイスとユーザのグループ中の各ユーザのユーザ・デバイスとの相互検証によって、情報交換のセキュリティを増加させるために、ユーザのグループ中のユーザ・デバイスと、管理デバイスとの間の相互信用が達成され得る。
【0055】
ブロック406において、1次ユーザからの複数のサブ鍵を取得することであって、サブ鍵の数が、ユーザのグループ中のユーザの数と同じであり、複数のサブ鍵が、たとえば、1次ユーザによって、トランザクション鍵を分割することによって生成され、複数のサブ鍵が、たとえば、それぞれのユーザの公開鍵で暗号化される、取得すること。
【0056】
ブロック408において、それぞれのユーザに送られるべき複数のサブ鍵をキャッシュすること。上記の方式では、管理デバイスは、1次ユーザのユーザ・デバイスからの暗号化されたサブ鍵をキャッシュすることができるので、サブ鍵は、ユーザのグループ中の他のユーザによって実施される同期動作なしに受信され得、したがって、トランザクション鍵の非同期分割及び配信が達成され得る。
【0057】
いくつかの実施例では、方法400は、現在のトランザクションについての要求を受信したことに応答して、ユーザのグループ中のユーザに、現在のトランザクションが承認されるかどうかを決定するためのトランザクション情報を送ることであって、トランザクション情報が、少なくとも、現在のトランザクションのトランザクション・コンテンツと、復元ユーザの識別とを示す、送ることと、ユーザのグループ中の各確認ユーザのサブ鍵を取得することであって、確認ユーザが、現在のトランザクションを承認するユーザであり、確認ユーザのサブ鍵が、復元ユーザの公開鍵で署名されることによって暗号化される、取得することと、現在のトランザクションについての条件が満たされると決定したことに応答して、復元ユーザに、トランザクション鍵を復元するための復元メッセージを送ることとをさらに含む。上述の「現在のトランザクションについての条件が満たされること」は、たとえば、ユーザのグループ中の確認ユーザの数が、第1の所定の値よりも大きいか又はそれに等しく、確認ユーザが、現在のトランザクションを承認することであるか、或いは、現在のトランザクションに関するさらなるプリセットされた条件が満たされること、たとえば、現在のトランザクションのプリセットされた実行時間に達したことであり得る。いくつかの実施例では、確認ユーザのサブ鍵が、確認ユーザの公開鍵と、現在のトランザクションに関連する現在のトランザクション乱数とで暗号化される。上記の方式では、確認ユーザのサブ鍵と、現在のトランザクションに関連する現在のトランザクション乱数とが暗号化され、サブ鍵は、現在のトランザクションのトランザクション鍵を復元するためにのみ使用され得、したがって、パーミッション管理のセキュリティが増加される。
【0058】
図5は、本開示の実施例による、鍵管理の管理システム500のデータ・フロー図を示す。
図5では、たとえば、管理デバイス502、1次ユーザのユーザ・デバイス504、復元ユーザのユーザ・デバイス506、並びにさらなるユーザのユーザ・デバイス508によって様々な行為が実施される。方法500は、主に、(たとえば、編成1次ユーザの初期化、さらなるユーザの初期化を含む)ユーザのグループを編成する段階と、トランザクション鍵を分割する段階と、トランザクション鍵を復元する段階とを含む。方法500は、示されていない追加の行為をさらに含み、及び/又は示されている行為を省略し得、本開示の範囲はこの点について限定されないことを理解されたい。本明細書で説明されるように、管理デバイス502は、たとえば、
図1に関して説明された管理デバイス110であり得、ユーザ・デバイス504、506及び508は、たとえば、
図1に関して説明されたユーザ・デバイス120であり得る。
【0059】
ユーザのグループを編成する段階において実施される行為が、以下で実例として示される。ユーザのグループを編成する段階は、主に、編成1次ユーザの初期化の段階と、ユーザのグループ中のさらなるユーザの初期化の段階とを含む。
【0060】
ユーザのグループを編成する段階における1次ユーザの初期化における様々な行為が、以下で実例として示される。
【0061】
1次ユーザのユーザ・デバイス504において、510において、1次ユーザの秘密鍵K1と公開鍵P1とが作成される。512において、ユーザのグループについてのパスワードが作成される。514において、検証要求が管理デバイス502に送られる。1次ユーザは、たとえば、ユーザのグループを構築するための編成1次ユーザとして指定されるか又はランダムに決定される。
【0062】
管理デバイス502において、516において、1次ユーザの識別情報を検証するために管理デバイス502によって生成された乱数R1が、管理デバイスの秘密鍵KOを使用して署名される。518において、署名データが1次ユーザのユーザ・デバイス504に送られ、署名データは、たとえば、乱数R1、署名された乱数R1並びに管理デバイス502の証明を含み、管理デバイス502の証明は、たとえば、管理デバイス502の公開鍵POを含む。
【0063】
1次ユーザのユーザ・デバイス504において、520において、管理デバイス502からの署名データが有効であるかどうかが決定される。たとえば、署名された乱数R1を管理デバイス502の公開鍵POで解読することと、解読された乱数R1を、署名データ中で受信された乱数R1と比較することとによって、管理デバイス502の受信された証明と、管理デバイス502によって署名された受信された乱数とが有効であるかどうかが決定される。522において、管理デバイス502からの署名データが有効であると決定したことに応答して、乱数R1とユーザのグループのパスワードとが、1次ユーザのユーザ・デバイス504の秘密鍵K1を使用して署名される。524において、ユーザのグループに関するグループ情報、ユーザ・デバイス504の公開鍵P1並びにユーザ・デバイス504の秘密鍵K1で署名された署名データが、管理デバイス502に送られ、グループ情報は、少なくとも、ユーザのグループ中のユーザの数Nと、第1の所定の値Mとを含む。
【0064】
管理デバイス502において、526において、ユーザ・デバイスの秘密鍵K1で署名された乱数R1は、ユーザ・デバイス504の取得された公開鍵P1で検証され、ユーザのグループのパスワードはキャッシュされる。
【0065】
ユーザのグループを編成する段階におけるさらなるユーザの初期化における様々な行為が、以下で実例として示される。
【0066】
いくつかの実施例では、1次ユーザのユーザ・デバイス504は、様々な手段によって、ユーザの構築されたグループのリンク及びパスワードをユーザのグループ中のさらなるユーザと共有し得る。たとえば、1次ユーザのユーザ・デバイス504は、ローカル・エリア・ネットワークを通して、ユーザのグループのリンク及びパスワードをユーザのグループ中のさらなるユーザと共有する。たとえば、さらなるユーザのユーザ・デバイス508は、ユーザのグループ中の1次ユーザとは異なるさらなるユーザのユーザ・デバイスである。
【0067】
さらなるユーザのユーザ・デバイス508において、530において、さらなるユーザのユーザ・デバイス508の秘密鍵K2と公開鍵P2とが作成される。532において、ユーザのグループのリンク及びパスワードに基づいて、管理デバイス502との接続が確立され、検証要求が管理デバイス502に送られる。
【0068】
管理デバイス502において、534において、以下のデータ、すなわち、管理デバイスの証明のハッシュ値、1次ユーザのユーザ・デバイス504の公開鍵P1のハッシュ値、1次ユーザによるユーザのグループのパスワードについての署名のハッシュ値、並びにさらなるユーザの識別情報を検証するための乱数R2がマージされる。536において、管理デバイス502の秘密鍵KOを使用して、マージされたデータのハッシュ値が署名される。538において、管理デバイス502の証明、1次ユーザのユーザ・デバイス504の公開鍵P1、1次ユーザによるユーザのグループのパスワードについての署名及び乱数R2、及びマージされたデータのハッシュ値のための署名が、さらなるユーザのユーザ・デバイス508に送られる。
【0069】
ユーザ・デバイス508において、540において、管理デバイス502が有効であるかどうかが決定される。542において、1次ユーザのユーザ・デバイス504の公開鍵P1が有効であるかどうかが決定される。544において、ユーザのグループのパスワードは、ユーザ・デバイス508の秘密鍵K2を使用して署名され、乱数R2は、ユーザ・デバイス508の秘密鍵K2を使用して署名される。546において、ユーザ・デバイス508の公開鍵P2と、秘密鍵K2で署名された署名データとが、管理デバイスに送られ、署名データは、たとえば、ユーザのグループのパスワードと、秘密鍵K2で署名された乱数R2とを含む。
【0070】
管理デバイス502において、548において、ユーザ・デバイス508の秘密鍵K2で署名された乱数R2は、ユーザ・デバイス508の取得された公開鍵P2に基づいて検証され、ユーザのグループのパスワードはキャッシュされる。550において、ユーザのグループ中のすべてのユーザが番号付けされる。
【0071】
図示の実例に示されているように、トランザクション鍵を分割する例示的な方法が、管理デバイス502において、552において、トランザクション鍵を分割するようにとの要求を受信したことに応答して、トランザクション鍵を分割するための1次ユーザが、ユーザのグループからランダムに決定されることを含み得る。トランザクション鍵を分割するための1次ユーザと、ユーザのグループを作成するための編成1次ユーザとは、同じユーザ又は異なるユーザであり得る。以下の実例では、それらは、ユーザ・デバイス504における同じユーザである。554において、一実例では、ユーザのグループ中の各さらなるユーザについて、以下のマージされたデータ、すなわち、管理デバイス502の証明のハッシュ値、ユーザのグループ中のさらなるユーザの数のハッシュ値、さらなるユーザの公開鍵のハッシュ値、並びにさらなるユーザによって署名されるユーザのグループのパスワードについての署名のハッシュ値がハッシュ計算される。556において、さらなるユーザに関係するメッセージが、1次ユーザのユーザ・デバイス502に送られ、さらなるユーザに関係するメッセージは、少なくとも、ユーザのグループ中の1次ユーザとは異なるさらなるユーザの公開鍵を示す。
【0072】
いくつかの実施例では、さらなるユーザに関係するメッセージは、管理デバイス502の証明、さらなるユーザの公開鍵、さらなるユーザによるユーザのグループのパスワードについての署名、マージされたデータのハッシュ値の署名、並びにさらなるユーザに関係するメッセージの有効期間のうちの少なくとも1つをさらに示す。558において、ユーザのグループに関するグループ情報が、1次ユーザのユーザ・デバイス504に送られ、グループ情報は、少なくとも、ユーザのグループ中のユーザの数Nと、第1の所定の値Mとを含む。
【0073】
1次ユーザのユーザ・デバイス504において、560において、管理デバイス502の証明が有効であると決定したことに応答して、さらなるユーザの公開鍵の署名情報に基づいて、さらなるユーザの公開鍵が有効であるかどうかを決定すること。562において、さらなるユーザの公開鍵が有効であることに応答して、乱数A0~AM-1をランダムに生成することであって、乱数の数が、トランザクション鍵を復元するためのユーザの最小数Mと同じである、生成すること。A0は、現在のトランザクションについてのトランザクション鍵を示す。564において、トランザクション鍵を復元するためのユーザの最小数Mと、1次ユーザのユーザ・デバイス504によってランダムに生成された乱数A0~AM-1とに基づいて、トランザクション鍵を分割するための多項式を構築すること。566において、トランザクション鍵A0をN個のサブ鍵(X1,Y1)、(X2,Y2)...(XN,YN)に分割することであって、サブ鍵の数が、ユーザのグループ中のユーザの数と同じであり、各サブ鍵が、ユーザのグループ中の1人のユーザに対応する、分割すること。568において、ユーザ・デバイス504は、サブ鍵の対応するユーザの公開鍵と、有効期間とで各サブ鍵を暗号化する。570において、複数の暗号化されたサブ鍵が管理デバイス502に送られる。
【0074】
管理デバイス502において、572において、複数の暗号化されたサブ鍵(X1,Y1)、(X2,Y2)...(XN,YN)をキャッシュすること。いくつかの実施例では、574において、たとえば、対応するハードウェア・セキュリティ・デバイス(たとえば、USB鍵)130を挿入するように、さらなるユーザのユーザ・デバイス508に通知すること。576において、ユーザ・デバイス508から、サブ鍵を配信することについての要求を受信したことに応答して、さらなるユーザのユーザ・デバイス508に、管理デバイス502の証明、さらなるユーザの番号付け、1次ユーザの公開鍵、サブ鍵、有効期間、並びにマージされたデータのハッシュ値署名のうちの少なくとも1つを送ること。上記の方式では、管理デバイス502は、暗号化されたサブ鍵をキャッシュし、ユーザのグループ中のさらなるユーザにサブ鍵を配信することについての要求に応答して、対応するサブ鍵を送るので、トランザクション鍵の非同期分割及び配信が達成され得る。さらに、ユーザのグループ中のさらなるユーザの同期又はリアルタイム動作が必要とされず、したがって、パーミッション管理システムの利便性が改善される。
【0075】
さらなるユーザのユーザ・デバイス508において、578において、管理デバイス502の証明及び公開鍵が検証され、対応する解読されたサブ鍵が保存される。トランザクション鍵を復元する段階における様々な行為が
図5に示されており、以下で説明される。
【0076】
管理デバイス502において、580において、復元ユーザが、ユーザのグループ中で指定されるか又はランダムに決定される。582において、現在のトランザクションについての要求を受信したことに応答して、現在のトランザクションが承認されるかどうかを決定するために、ユーザのグループ中のユーザにトランザクション情報を送ることであって、トランザクション情報が、少なくとも、現在のトランザクションのトランザクション・コンテンツと、復元ユーザの識別とを示す、送ること。584において、ユーザのグループ中の各確認ユーザのサブ鍵を取得することであって、確認ユーザが、現在のトランザクションを承認し、確認ユーザのサブ鍵が、復元ユーザの公開鍵で署名される、取得すること。586において、現在のトランザクションについての条件が満たされる(たとえば、ユーザのグループ中の確認ユーザの数が、第1の所定の値よりも大きいか又はそれに等しく、確認ユーザが、現在のトランザクションを承認する)と決定したことに応答して、復元ユーザに、トランザクション鍵を復元するための復元メッセージを送ることであって、復元メッセージが、確認ユーザの数及び復元ユーザの識別情報、管理デバイスの証明、トランザクション・データ、現在のトランザクションに関連する現在のトランザクション乱数、復元ユーザの公開鍵で署名された現在のトランザクション乱数及びさらなるユーザのサブ鍵、並びに復元メッセージを検証するためのハッシュ値のうちの少なくとも1つを含む、送ること。
【0077】
復元ユーザのユーザ・デバイス506において、トランザクション鍵を復元するための復元メッセージが管理デバイスから取得された後に、588において、確認ユーザの数が、第1の所定の値よりも大きいか又はそれに等しいと決定したことに応答して、管理デバイスから取得された決定されたユーザのサブ鍵に基づいてトランザクション鍵を決定することであって、決定されたユーザのサブ鍵が、ステップ552~578に関して上記で説明された事前にトランザクション鍵を分割することによって生成された、決定すること。590において、決定されたトランザクション鍵で現在のトランザクションについてのトランザクション要求に署名することであって、それにより、現在のトランザクションを実行する、署名すること。
【0078】
上記の方法500の場合、個人ユーザに問題が起きたときでも、トランザクション鍵が、依然として、M人のユーザの共同を通して復元され得るので、トランザクション鍵のセキュリティが著しく改善され得るだけでなく、パーミッション管理システムの信頼性も改善され得る。
【0079】
図6は、本開示の実施例を実装するために適用可能である電子デバイス600の概略ブロック図を示す。デバイス600は、
図1及び
図5におけるユーザ・デバイス及び管理デバイス中で1つ又は複数のホストを実装するために使用され得る。示されているように、デバイス600は、中央プロセス・ユニット(CPU)601を含み、中央プロセス・ユニット(CPU)601は、読取り専用メモリ(ROM)602に記憶されたコンピュータ・プログラム命令又は記憶ユニット608からランダム・アクセス・メモリ(RAM)603中にロードされるコンピュータ・プログラム命令に基づいて、様々な好適な行為及び処理を実行することができる。RAM603はまた、デバイス600の動作によって必要とされるすべての種類のプログラム及びデータを記憶することができる。CPU601と、ROM602と、RAM603とは、バス604を介して互いに接続される。入出力(I/O)インターフェース605も、バス604に接続される。
【0080】
デバイス600における複数の構成要素が、キーボード、マウスなどの入力ユニット606と、出力ユニット607、たとえば、様々な種類のディスプレイ及びラウドスピーカーなどと、磁気ディスク及び光ディスクなどの記憶ユニット608と、ネットワーク・カード、モデム、ワイヤレス・トランシーバなどの通信ユニット609とを含む、I/Oインターフェース605に接続される。通信ユニット609は、デバイス600が、インターネットなどのコンピュータ・ネットワーク、及び/又は様々な電気通信ネットワークを介して、他のデバイスと情報/データを交換することを可能にする。
【0081】
鍵管理の方法200、300、400及び500など、上記で説明された各プロシージャ及び処理は、処理ユニット601によっても実行され得る。たとえば、いくつかの実装形態では、方法200、300、400及び500は、機械可読媒体、たとえば、記憶ユニット608に記憶されたコンピュータ・ソフトウェア・プログラムとして実装され得る。いくつかの実装形態では、コンピュータ・プログラムは、ROM602及び/又は通信ユニット609を介して部分的に又は完全にデバイス600にロード、及び/又は搭載され得る。コンピュータ・プログラムが、RAM603にロードされ、CPU601によって実行されたとき、上記で説明された方法200、300及び500の1つ又は複数の動作が実装され得る。代替的に、他の実装形態では、CPU601は、上記の方法200、300、400及び500の1つ又は複数の行為を実現するために、他の好適な様式でも構成され得る。
【0082】
しかしながら、当業者は、本開示で説明されるユーザ・デバイスが、通信機能モジュール及び処理機能モジュールと一体化されたハードウェア・セキュリティ・デバイス130である場合、ユーザ・デバイスは、
図6を参照しながら説明された1つ又は複数の構成要素を含まないことがあると理解し得る。
【0083】
本開示は、方法、デバイス、システム及び/又はコンピュータ・プログラム製品であり得る。コンピュータ・プログラム製品は、本開示の様々な態様を実行するためのコンピュータ可読プログラム命令が記憶される、コンピュータ可読記憶媒体を含むことができる。
【0084】
コンピュータ可読記憶媒体は、命令実行装置によって利用される命令を維持及び記憶する有形装置であり得る。コンピュータ可読記憶媒体は、限定はしないが、電気的記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス又は上記の任意の適切な組合せなどであり得る。コンピュータ可読記憶媒体のより具体的な実例(非網羅的リスト)は、ポータブル・コンピュータ・ディスク、ハードディスク、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラマブル読取り専用メモリ(EPROM又はフラッシュ)、スタティック・ランダムアクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピー・ディスク、機械的コーディング・デバイス、命令が記憶された穿孔カード、又はスロット中の投影、及び上記の任意の適切な組合せを含む。ここで利用されるコンピュータ可読記憶媒体は、電波又は自由に伝搬される電磁波、(光ファイバー・ケーブルを介した光パルスなどの)導波路又は他の伝送媒体を介して伝搬される電磁波、又は電線を介して伝搬される電気信号など、それ自体過渡信号として解釈されない。
【0085】
説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から各コンピューティング/処理デバイスにダウンロードされるか、或いは、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク及び/又はワイヤレス・ネットワークを介して、外部コンピュータ又は外部ストレージにダウンロードされ得る。ネットワークは、銅伝送ケーブル、光ファイバー送信、ワイヤレス送信、ルータ、ファイアウォール、スイッチ、ネットワーク・ゲート・コンピュータ及び/又はエッジ・サーバを含むことができる。各コンピューティング/処理デバイス中のネットワーク・アダプタ・カード又はネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、各コンピューティング/処理デバイスのコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令をフォワーディングする。
【0086】
本開示の動作を実行するためのコンピュータ・プログラム命令は、アセンブリ命令、命令セット・アーキテクチャ(ISA)の命令、機械命令、機械関係命令、マイクロコード、ファームウェア命令、状態設定データ、或いは1つ又は複数のプログラミング言語の任意の組合せで書き込まれたソース・コード又はターゲット・コードであり得、プログラミング言語は、オブジェクト指向プログラミング言語、たとえば、Smalltalk、C++など、及び「C」言語又は同様のプログラミング言語など、旧来のプロシージャ・プログラミング言語からなる。コンピュータ可読プログラム命令は、完全にユーザ・コンピュータ上に実装されるか、部分的にユーザ・コンピュータ上に実装されるか、独立したソフトウェア・パッケージとして実装されるか、部分的にユーザ・コンピュータ上に及び部分的にリモート・コンピュータ上に実装されるか、又は完全にリモート・コンピュータ又はサーバ上に実装され得る。リモート・コンピュータが関与する場合、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)とワイド・エリア・ネットワーク(WAN)とを含む任意のタイプのネットワークを介してユーザ・コンピュータに接続されるか、又は(たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して接続される)外部コンピュータに接続され得る。いくつかの実装形態では、電子回路、たとえば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)又はプログラマブル論理アレイ(PLA)をカスタマイズするために、コンピュータ可読プログラム命令の状態情報が使用される。電子回路は、本開示の様々な態様を実装するために、コンピュータ可読プログラム命令を実行することができる。
【0087】
本開示の様々な態様が、本開示の実装形態による方法、装置(システム)及びコンピュータ・プログラム製品のフローチャート及び/又はブロック図を参照しながらここで説明される。フローチャート及び/又はブロック図の各ブロック並びにフローチャート及び/又はブロック図における様々なブロックの組合せが、コンピュータ可読プログラム命令によって実装され得ることを理解されたい。
【0088】
コンピュータ可読プログラム命令は、機械を製造するために、汎用コンピュータ、専用コンピュータ又は他のプログラマブル・データ処理装置の処理ユニットに提供され得、その結果、命令は、コンピュータ又は他のプログラマブル・データ処理装置の処理ユニットによって実行されたとき、フローチャート及び/又はブロック図における1つ又は複数のブロックにおいて規定される機能/行為を実装するための装置を生成する。コンピュータ可読プログラム命令はまた、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラマブル・データ処理装置及び/又は他のデバイスに、特定の様式で動作させ得、その結果、命令が記憶されたコンピュータ可読媒体は、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて規定される機能/行為の様々な態様を実装するための命令を含む、製造品を含んでいる。
【0089】
コンピュータ可読プログラム命令はまた、コンピュータ実装プロシージャを生成するために、コンピュータ、他のプログラマブル・データ処理装置又は他のデバイス上で一連の動作ステップを実行するために、コンピュータ、他のプログラマブル・データ処理装置又は他のデバイスにロードされ得る。したがって、コンピュータ、他のプログラマブル・データ処理装置又は他のデバイス上で実行される命令は、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて規定される機能/行為を実装する。
【0090】
図面中のフローチャート及びブロック図は、本開示の複数の実装形態によるシステム、方法及びコンピュータ・プログラム製品によって実装され得るシステム・アーキテクチャ、機能及び動作を示す。この点について、フローチャート又はブロック図中の各ブロックは、モジュール、プログラム・セグメント又はコードの一部を表すことができ、モジール、及びプログラム・セグメント又はコードの一部は、規定された論理機能を実施するための1つ又は複数の実行可能命令を含む。いくつかの代替実装形態では、ブロックにおいて示される機能は、図面において示される順序とは異なる順序で行われることもあることに留意されたい。たとえば、2つの連続するブロックが、事実上、関与する機能に応じて並列に又は時々逆順で実行され得る。また、ブロック図及び/又はフローチャートにおける各ブロック、並びにブロック図及び/又はフローチャートにおけるブロックの組合せが、規定された機能又は行為を実行するための専用のハードウェアベースのシステムによって、或いは専用ハードウェアとコンピュータ命令との組合せによって実装され得ることに留意されたい。
【0091】
本開示の様々な実施例が、上記で説明されたが、上記の説明は、網羅的ではなく例示的なものにすぎず、本開示の実装形態に限定されない。説明された様々な実装形態の範囲及び趣旨から逸脱しない多くの修正及び改変が、当業者には明らかである。文章における用語の選択は、各実装形態の原理及び実際の適用例、並びに各実装形態によって市場において行われる技術的改善を最も良く説明することを目的とし、又は他の当業者が本開示の実装形態を理解することを可能にすることを目的とする。
【0092】
本開示の随意の実施例が上記で説明されたが、これらは、本開示を限定するものではない。当業者においては、本開示の様々な改変及び変更が行われ得る。本開示の趣旨及び原理内のいかなる修正、等価な置換及び改善も、その保護範囲に含まれるものとする。