IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シャンハイ ウェイリエン インフォメーション テクノロジー カンパニー リミテッドの特許一覧

特表2022-523595鍵を分割及び復元するための方法、プログラム製品、記憶媒体、並びにシステム
<>
  • 特表-鍵を分割及び復元するための方法、プログラム製品、記憶媒体、並びにシステム 図1
  • 特表-鍵を分割及び復元するための方法、プログラム製品、記憶媒体、並びにシステム 図2
  • 特表-鍵を分割及び復元するための方法、プログラム製品、記憶媒体、並びにシステム 図3
  • 特表-鍵を分割及び復元するための方法、プログラム製品、記憶媒体、並びにシステム 図4
  • 特表-鍵を分割及び復元するための方法、プログラム製品、記憶媒体、並びにシステム 図5
  • 特表-鍵を分割及び復元するための方法、プログラム製品、記憶媒体、並びにシステム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-04-25
(54)【発明の名称】鍵を分割及び復元するための方法、プログラム製品、記憶媒体、並びにシステム
(51)【国際特許分類】
   H04L 9/08 20060101AFI20220418BHJP
   G06F 21/62 20130101ALI20220418BHJP
   G06F 21/32 20130101ALI20220418BHJP
【FI】
H04L9/08 C
H04L9/08 E
G06F21/62
G06F21/32
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021553757
(86)(22)【出願日】2020-03-11
(85)【翻訳文提出日】2021-10-19
(86)【国際出願番号】 CN2020078801
(87)【国際公開番号】W WO2020182151
(87)【国際公開日】2020-09-17
(31)【優先権主張番号】201910179156.3
(32)【優先日】2019-03-11
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.SMALLTALK
(71)【出願人】
【識別番号】521404598
【氏名又は名称】シャンハイ ウェイリエン インフォメーション テクノロジー カンパニー リミテッド
(74)【代理人】
【識別番号】110000855
【氏名又は名称】特許業務法人浅村特許事務所
(72)【発明者】
【氏名】グ、ジャンリアン
(72)【発明者】
【氏名】マ、バンギャ
(57)【要約】
鍵を分割及び復元するための方法、記憶媒体、コンピュータ・プログラム製品、及び鍵管理システム170であって、ここにおいて、鍵管理システム170は、ユーザ・グループ中のユーザのユーザ機器を管理するために使用される管理デバイス110と、管理デバイス110に接続されたハードウェア・セキュリティ・モジュール160とを備える。鍵を分割するための方法は、ハードウェア・セキュリティ・モジュール160において、ユーザ・グループ中のユーザの数と、第1の所定の値とを得ること202と、ユーザ・グループ中の分割ユーザを除いて他のユーザのメッセージに基づいて、現在のトランザクションの処理権限に関連付けられたトランザクション・キーをランダムに生成すること204と、数がユーザと同じである複数のサブ鍵に、トランザクション・キーを分割することであって、ここにおいて、複数のサブ鍵中の各サブ鍵は、ユーザ・グループ中の1人のユーザに対応する、分割すること206と、それぞれ、複数のサブ鍵に対応するユーザの公開鍵を使用することによって、複数のサブ鍵を暗号化すること208とを備える。
【特許請求の範囲】
【請求項1】
鍵管理システムにおいてトランザクション・キーを分割するための方法であって、ここにおいて、前記鍵管理システムが、ユーザ・グループ中のユーザのユーザ・デバイスを管理するための管理デバイスと、前記管理デバイスに接続されたハードウェア・セキュリティ・モジュールとを備え、前記方法は、前記ハードウェア・セキュリティ・モジュールにおいて、
前記ユーザ・グループの前記ユーザの数と、第1の所定の値とを取得することであって、ここにおいて、前記第1の所定の値が、前記トランザクション・キーを復元するためのユーザの最小数を指し示し、前記ユーザ・グループが、前記トランザクション・キーを管理するように構成された、取得することと、
前記ユーザ・グループ中の、前記トランザクション・キーを分割するために決定された分割ユーザを除く他のユーザに関するメッセージに基づいて、トランザクションの処理権限に関連付けられた前記トランザクション・キーをランダムに生成することであって、ここにおいて、他のユーザに関する前記メッセージが、少なくとも、前記他のユーザの公開鍵を指し示す、生成することと、
前記ユーザの前記数と同じ数の複数のサブ鍵に、前記トランザクション・キーを分割することであって、ここにおいて、前記複数のサブ鍵中の各サブ鍵が、前記ユーザ・グループ中の1人のユーザに対応する、分割することと、
前記複数のサブ鍵に対応する前記ユーザの公開鍵を用いて、それぞれ、前記複数のサブ鍵を暗号化することと
を備える、方法。
【請求項2】
前記管理デバイスにおいて、前記ユーザ・グループ中の前記分割ユーザを指定又はランダムに決定することをさらに備える、請求項1に記載の方法。
【請求項3】
他のユーザに関する前記メッセージが、以下、すなわち、
前記他のユーザの公開鍵を検証するためのシグネチャ情報、
前記他のユーザの識別子、
前記他のユーザの組み合わせられたデータのハッシュ値のシグネチャ情報、及び
他のユーザに関する前記メッセージの有効期間
のうちの少なくとも1つをも指し示す、請求項1に記載の方法。
【請求項4】
前記トランザクションの処理権限に関連付けられた前記トランザクション・キーをランダムに生成することは、
前記他のユーザの前記公開鍵の前記シグネチャ情報に基づいて、前記他のユーザの前記公開鍵が、検証に合格したかどうかを決定することと、
前記他のユーザの前記公開鍵が、検証に合格したことに応答して、前記第1の所定の値と同じ数であり、分割多項式を構築するように構成された複数の乱数をランダムに生成することであって、ここにおいて、分割多項式を構築するように構成された前記複数の乱数が、前記トランザクション・キーを備える、生成することと
を備える、請求項3に記載の方法。
【請求項5】
他のユーザに関する前記メッセージが、前記管理デバイスの証明書をも指し示し、前記他のユーザの前記公開鍵の前記シグネチャ情報に基づいて、前記他のユーザの前記公開鍵が、検証に合格したかどうかを決定することは、
前記管理デバイスの前記証明書が、検証に合格したかどうかを決定することと、
前記管理デバイスの前記証明書が、検証に合格したと決定することに応答して、前記他のユーザの前記公開鍵の前記シグネチャ情報に基づいて、前記他のユーザの前記公開鍵が、検証に合格したかどうかを決定することと
をさらに備える、請求項4に記載の方法。
【請求項6】
前記ユーザの前記数と同じ数の複数のサブ鍵に、前記トランザクション・キーを分割することは、
前記ユーザ・グループの前記ユーザの前記数と、分割多項式を構築するように構成された前記複数の乱数とに基づいて、前記複数のサブ鍵を決定することであって、ここにおいて、各サブ鍵が、第1のサブ鍵コンポーネントと第2のサブ鍵コンポーネントとを備える、決定すること
を備える、請求項4に記載の方法。
【請求項7】
前記複数のサブ鍵に対応する前記ユーザの公開鍵を用いて、それぞれ、前記複数のサブ鍵を暗号化することが、
前記サブ鍵に対応する前記ユーザの前記公開鍵と、他のユーザに関する前記メッセージの有効期間とに基づいて、前記サブ鍵を暗号化すること
を備える、請求項1に記載の方法。
【請求項8】
前記管理デバイスにおいて、シグネチャ・データを生成するために、前記管理デバイスのプライベート鍵を用いて乱数に署名し、前記ユーザ・グループを形成するために決定されたグループ形成ユーザに、前記生成されたシグネチャ・データを送ることと、
前記グループ形成ユーザから、前記ユーザ・グループに関するビジネス情報と、前記ユーザ・デバイスの公開鍵と、前記グループ形成ユーザのユーザ・デバイスのプライベート鍵を用いて署名された前記シグネチャ・データとを受信することであって、ここにおいて、前記ビジネス情報が、少なくとも、前記ユーザ・グループの前記ユーザの前記数と、前記第1の所定の値とを備える、受信することと
をさらに備える、請求項1に記載の方法。
【請求項9】
鍵管理システムにおいてトランザクション・キーを復元するための方法であって、前記鍵管理システムが、ユーザ・グループ中のユーザのユーザ・デバイスを管理するための管理デバイスと、前記管理デバイスに接続されたハードウェア・セキュリティ・モジュールとを備え、前記方法は、前記ハードウェア・セキュリティ・モジュールにおいて、
前記トランザクション・キーを復元するための復元メッセージを取得することであって、ここにおいて、前記復元メッセージが、前記ユーザ・グループ中の、トランザクションに関して同意した検証されたユーザの数と、前記ユーザ・グループ中の、前記トランザクション・キーを復元するための復元ユーザであると決定されたユーザの識別子とを備え、ここにおいて、前記ユーザ・グループが、前記トランザクション・キーを管理するように構成された、取得することと、
前記検証されたユーザの前記数が、第1の所定の値よりも大きいか又はそれに等しいと決定することに応答して、前記検証されたユーザのサブ鍵に基づいて、前記トランザクション・キーを復元することであって、ここにおいて、前記検証されたユーザの前記サブ鍵が、事前に前記トランザクション・キーを分割することによって生成された、復元することと、
前記復元されたトランザクション・キーに基づいて、前記トランザクションに関するトランザクション要求に署名することと
を備える、方法。
【請求項10】
前記管理デバイスにおいて、前記ユーザ・グループ中の前記復元ユーザを指定又はランダムに決定することをさらに備える、請求項9に記載の方法。
【請求項11】
前記検証されたユーザの前記サブ鍵が、前記復元ユーザの公開鍵を用いて暗号化される、請求項9に記載の方法。
【請求項12】
前記検証されたユーザの前記サブ鍵、及び前記トランザクションに関連付けられた関連付け乱数が、前記復元ユーザの前記公開鍵とともに暗号化される、請求項11に記載の方法。
【請求項13】
前記復元メッセージが、以下、すなわち、
前記トランザクションに関連付けられた関連付け乱数、
前記復元ユーザの公開鍵を用いて暗号化された、前記検証されたユーザの前記サブ鍵及び前記関連付け乱数、
前記検証されたユーザのシグネチャ情報、
前記管理デバイスの証明書、及び
前記復元メッセージのハッシュ値のシグネチャ情報
のうちの少なくとも1つをも指し示す、請求項9に記載の方法。
【請求項14】
前記管理デバイスにおいて、
前記トランザクションについての要求を受信したことに応答して、前記ユーザ・グループの前記ユーザに、前記トランザクションに関して同意すべきかどうかを決定するためのトランザクション情報を送ることであって、ここにおいて、前記トランザクション情報が、少なくとも、前記トランザクションのトランザクション・コンテンツと、前記復元ユーザの識別子とを指し示す、送ることと、
前記ユーザ・グループ中の、前記トランザクションに関して同意した各検証されたユーザのサブ鍵を取得することであって、ここにおいて、前記検証されたユーザの前記サブ鍵が、前記復元ユーザの公開鍵を用いて暗号化される、取得することと、
前記トランザクションの条件が満たされたと決定することに応答して、前記ハードウェア・セキュリティ・モジュールに前記復元メッセージを送ることと
をさらに備える、請求項9に記載の方法。
【請求項15】
前記ユーザの前記ユーザ・デバイスは、各々、許可されたユーザの事前記憶された生物学的特性に基づいて、前記ユーザ・デバイスを操作する操作者が、前記ユーザ・デバイスの前記許可されたユーザであるかどうかを決定するように構成されたバイオメトリック・モジュールをさらに備える、請求項1又は9に記載の方法。
【請求項16】
非一時的コンピュータ可読記憶媒体上に有形に記憶され、機械実行可能命令を備える、コンピュータ・プログラム製品であって、ここにおいて、前記機械実行可能命令が、実行されたとき、機械に、請求項1から14までのいずれか一項に記載の方法のステップを実行させるように構成された、コンピュータ・プログラム製品。
【請求項17】
機械実行可能命令を記憶するコンピュータ可読記憶媒体であって、ここにおいて、前記機械実行可能命令が、実行されたとき、機械に、請求項1から14までのいずれか一項に記載の方法のステップを実行させるように構成された、コンピュータ可読記憶媒体。
【請求項18】
プロセッサと、メモリと、前記メモリに記憶されたコンピュータ・プログラムとを備える鍵管理システムであって、ここにおいて、前記コンピュータ・プログラムが、前記プロセッサによって実行されたとき、前記鍵管理システムに、請求項1から14までのいずれか一項に記載の方法のステップを実行させるように構成された、鍵管理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、鍵(キー)を管理するための方法及び製品に関し、より詳細には、鍵を分割及び復元するための方法、コンピュータ・プログラム製品、記憶媒体並びに鍵管理システムに関する。
【背景技術】
【0002】
公開鍵(パブリックキー)及びプライベート鍵(プライベートキー)は、暗号の非対称暗号化アルゴリズムからのものであり、ブロックチェーン技術の基礎である。公開鍵は公開され、プライベート鍵は、セキュアに保たれる必要がある。プライベート鍵は、乱数に基づいて生成され、公開鍵は、プライベート鍵からアルゴリズムによって導出される。
【0003】
公開鍵及びプライベート鍵のための2つの主要な使用シナリオがあり、一方は、公開鍵暗号化及びプライベート鍵解読であり、他方は、プライベート鍵シグネチャ及び公開鍵検証である。公開鍵暗号化及びプライベート鍵解読の場合、元のデータは、公開鍵を用いて暗号化され、元のデータは、対応するプライベート鍵を用いてのみ解読され得る。このようにして、元のデータは、盗まれることなしにネットワーク上で送信され得、プライバシーは、保護され得る。プライベート鍵シグネチャ及び公開鍵検証の場合、元のデータは、プライベート鍵を用いて署名され、シグネチャ・ストリングが、元のデータに一致するかどうかは、対応する公開鍵を用いてのみ検証され得る。プライベート鍵は、集中型会計システム(centralized accounting system)におけるパスワードと等価であり、資産の所有権のための引換券である。
【0004】
eコマース、資産分割(asset division)、及び資金管理など、多くのシナリオでは、複数のユーザが、被処理トランザクションに対して制御及び管理権限を有するように要求される。従来の権限管理方式では、セキュリティを改善し、鍵が、権限をもつ個人ユーザによって漏洩されることを防ぐ目的で、マルチ・シグネチャ方式が、通常、使用される。ブロックチェーン技術の分野では、マルチ・シグネチャは、それぞれ、権限をもつ複数のユーザによって、彼らのそれぞれのプライベート鍵を使用して、順番に、トランザクションに署名することと理解され得る。
【0005】
上記の従来の権限管理方式では、権限をもつ複数のユーザが、順番に、同じトランザクションに署名するか又はそれを許可するように要求され、これにより、トランザクション・プロセス全体をより冗長にする。加えて、権限をもつ各ユーザは、彼女又は彼自身の鍵を保持し、いずれかのユーザが、彼又は彼女の鍵を紛失するか、又は何らかの理由で鍵を使用することを拒否したとき、それは、トランザクションを遅延又は妨げ得る。その上、権限をもつユーザによって保持される鍵は、通常、ある時間期間の間不変であるので、鍵が破られ得る高い可能性がある。その上、鍵の管理がローカルに実施されるので、セキュリティは高くない。
【0006】
これに鑑みて、権限をもつ複数のユーザを伴う鍵制御及び管理を、よりセキュアで、使いやすいものにする、鍵を管理するための方式を構築することが必要である。
【発明の概要】
【課題を解決するための手段】
【0007】
本開示は、鍵の制御及び管理を、よりセキュアで、信頼でき、使用するのが便利なものにするように、鍵を管理するための方法及びデバイスを提供する。
【0008】
本開示の第1の態様によれば、鍵管理システムにおいてトランザクション・キーを分割するための方法が提供され、ここで、鍵管理システムは、ユーザ・グループ中のユーザのユーザ・デバイスを管理するための管理デバイスと、管理デバイスに接続されたハードウェア・セキュリティ・モジュールとを含み、方法は、ハードウェア・セキュリティ・モジュールにおいて、ユーザ・グループ中のユーザの数と、第1の所定の値とを取得することであって、ここで、第1の所定の値は、トランザクション・キーを復元するためのユーザの最小数を指し示し、ユーザは、トランザクション・キーを管理するように構成された、取得することと、ユーザ・グループ中の、トランザクション・キーを分割するために決定された分割ユーザ以外の他のユーザに関するメッセージに基づいて、このトランザクションの処理権限に関連付けられたトランザクション・キーをランダムに生成することであって、ここで、他のユーザに関するメッセージは、少なくとも、他のユーザの公開鍵を指し示す、生成することと、ユーザの数と同じ数の複数のサブ鍵に、トランザクション・キーを分割することであって、ここで、複数のサブ鍵中の各サブ鍵が、ユーザ・グループ中の1人のユーザに対応する、分割することと、それぞれ、複数のサブ鍵に対応するユーザの公開鍵を用いて、複数のサブ鍵を暗号化することとを含む。
【0009】
本開示の第2の態様によれば、鍵管理システムにおいてトランザクション・キーを復元するための方法が提供され、ここで、鍵管理システムは、ユーザ・グループ中のユーザのユーザ・デバイスを管理するための管理デバイスと、管理デバイスに接続されたハードウェア・セキュリティ・モジュールとを含み、ここで、方法は、ハードウェア・セキュリティ・モジュールにおいて、トランザクション・キーを復元するための復元メッセージを取得することであって、ここで、復元メッセージは、トランザクションに関して同意した、ユーザ・グループ中の検証されたユーザの数と、トランザクション・キーを復元するための復元ユーザであると決定された、ユーザ・グループ中のユーザの識別子とを含み、ここで、ユーザ・グループは、トランザクション・キーを管理するように構成された、取得することと、検証されたユーザの数が、第1の所定の値よりも大きいか又はそれに等しいという検証に応答して、検証されたユーザのサブ鍵に基づいて、トランザクション・キーを復元することであって、ここで、検証されたユーザのサブ鍵は、事前にトランザクション・キーを分割することによって生成された、復元することと、復元されたトランザクション・キーに基づいて、このトランザクションに関するトランザクション要求に署名することとを含む。
【0010】
本開示の第3の態様によれば、コンピュータ・プログラム製品も提供され、ここで、コンピュータ・プログラム製品は、非一時的コンピュータ可読記憶媒体上に有形に記憶され、機械実行可能命令を含み、機械実行可能命令は、実行されたとき、機械に、第1又は第2の態様の方法のステップを実行させるように構成される。
【0011】
本開示の第4の態様によれば、機械実行可能命令を記憶するコンピュータ可読記憶媒体も提供され、ここで、機械実行可能命令は、実行されたとき、機械に、第1又は第2の態様の方法のステップを実行させるように構成される。
【0012】
本開示の第5の態様によれば、プロセッサと、メモリと、メモリに記憶されたコンピュータ・プログラムとを含む鍵管理システムも提供され、ここで、コンピュータ・プログラムは、プロセッサによって実行されたとき、鍵管理システムに、第1又は第2の態様の方法のステップを実行することを行わせるように構成される。
【0013】
発明の概要は、簡略化された形態で概念の選択を紹介するために提供され、これは、以下の発明を実施するための形態においてさらに説明される。発明の概要は、本開示の重要な特徴又は主要な特徴を識別するものではなく、本開示の範囲を限定するものでもない。
【0014】
本開示の上記及び他の目的、特徴、及び利点が、添付の図面と組み合わせて、より詳細に本開示の例示的な実施例を説明することによって、より明らかになろう。本開示の例示的な実施例において、同じ参照番号は、概して、同じ構成要素を表す。
【図面の簡単な説明】
【0015】
図1】本開示の実施例による、鍵を管理するためのシステム100のアーキテクチャ図である。
図2】本開示の実施例による、トランザクション・キーを分割するための方法200のフローチャートである。
図3】本開示の実施例による、トランザクション・キーを復元するための方法300のフローチャートである。
図4】本開示の実施例による、ハードウェア・セキュリティ・デバイス130のブロック図である。
図5】本開示の実施例による、鍵を管理するための方法500のデータ・フロー図である。
図6】本開示の実施例を実装するための電子デバイス600を例示的に示すブロック図である。
【発明を実施するための形態】
【0016】
本開示の好ましい実施例が、添付の図面を参照しながら、以下でより詳細に説明される。本開示の好ましい実施例が、図面に示されているが、本開示は、様々な形態で実装され得、本明細書に記載される実施例によって限定されるべきではないことを理解されたい。代わりに、これらの実施例は、本開示が、周到で、完全なものになるように、及び本開示の範囲を当業者に十分に伝えるように提供される。
【0017】
このテキストにおいて使用される「含むこと」という用語及びそれの変形形態は、オープンエンドの包含(open-ended inclusion)、すなわち、「限定はしないが、含むこと」を意味する。特に明記されていない限り、場合によっては、「又は」という用語は、「及び/又は」を意味する。「に基づいて」という用語は、「に少なくとも部分的に基づいて」を意味する。「1つの例示的な実施例」及び「一実施例」という用語は、「少なくとも1つの例示的な実施例」を意味する。「別の実施例」という用語は、「少なくとももう1つの実施例」を意味する。「第1の」、「第2の」などという用語は、異なる物体を指すことも、同一の物体を指すこともある。他の明示的及び暗黙的定義が、以下で含まれ得る。異なる実施例における技術方式又は技術的特徴が、矛盾なしに互いと組み合わせられ得る。
【0018】
方法ステップが本明細書で説明される順序は、方法が、それらが提示される順序で実行されなければならないことを必ずしも意味するとは限らない。ステップの順序は、当業者(例えば、プログラマー)が、本稿を読んだ後に、技術ステップが、特定の順序で実施されるべきであると直接的に及び明らかに考える場合のみ、限定的な効果を有する。現代のコンピュータ・システムにおいて、方法ステップは、必要に応じて、並列に、又はテキストにおけるものとは異なる順序で実行され得る。
【0019】
上記で説明されたように、従来の権限管理方式では、ユーザによって保持される鍵は、長時間不変であり、トランザクション・キーは、常に、同じローカル・ユーザによってランダムに生成されるので、トランザクションが、容易に、破られるか又は漏洩され得る危険性がある。それゆえ、従来の権限管理方式の署名プロセスは、ローカルに実施され、これは、安全でも便利でもなく、システムの信頼性は低く、これは、権限の使用を伴ういくつかの不適切なアクションを容易に受ける。
【0020】
上記の課題及び他の潜在的な課題のうちの1つ又は複数を少なくとも部分的に解決するために、本開示の実例の実施例は、鍵を管理するための方式を提供する。
【0021】
方式の態様では、鍵管理システムにおいてトランザクション・キーを分割するための方法が提供される。鍵管理システムは、ユーザ・グループ中のユーザのユーザ・デバイスを管理するための管理デバイスと、管理デバイスに接続されたハードウェア・セキュリティ・モジュールとを含む。方法は、ハードウェア・セキュリティ・モジュールにおいて、ユーザ・グループ中のユーザの数と、第1の所定の値とを取得することであって、ここで、第1の所定の値は、トランザクション・キーを復元するためのユーザの最小数を指し示し、ユーザ・グループは、トランザクション・キーを管理するように構成された、取得することと、ユーザ・グループ中の、トランザクション・キーを分割するために決定された分割ユーザ以外の他のユーザに関するメッセージに基づいて、このトランザクションの処理権限に関連付けられたトランザクション・キーをランダムに生成することであって、ここで、他のユーザに関するメッセージは、少なくとも、他のユーザの公開鍵を指し示す、生成することと、ユーザの数と同じ数の複数のサブ鍵に、トランザクション・キーを分割することであって、ここで、複数のサブ鍵中の各サブ鍵が、ユーザ・グループ中の1人のユーザに対応する、分割することと、それぞれ、複数のサブ鍵に対応するユーザの公開鍵を用いて、複数のサブ鍵を暗号化することとを含む。方式の別の態様では、鍵管理システムにおいてトランザクション・キーを復元するための方法が提供される。方法は、ハードウェア・セキュリティ・モジュールにおいて、トランザクション・キーを復元するための復元メッセージを取得することであって、ここで、復元メッセージは、トランザクションに関して同意した、ユーザ・グループ中の検証されたユーザの数と、トランザクション・キーを復元するための復元ユーザであると決定された、ユーザ・グループ中のユーザの識別子とを含み、ここで、ユーザ・グループは、トランザクション・キーを管理するように構成された、取得することと、検証されたユーザの数が、第1の所定の値よりも大きいか又はそれに等しいという検証に応答して、検証されたユーザのサブ鍵に基づいて、トランザクション・キーを復元することであって、ここで、検証されたユーザのサブ鍵は、事前にトランザクション・キーを分割することによって生成された、復元することと、復元されたトランザクション・キーに基づいて、このトランザクションに関するトランザクション要求に署名することとを含む。
【0022】
本明細書では、トランザクションは、「ブロックチェーン・トランザクション」、すなわち、ブロックチェーン・ネットワークにおけるノードによって始動され、ブロックチェーン・ネットワーク全体のコンセンサス機構に基づいて、ブロックチェーン・ネットワーク全体の分散レッジャー(distributed ledger)に記録されるトランザクションを指す。
【0023】
上記の方式では、トランザクション・キーは、特定のハードウェア・セキュリティ・モジュールにおいてランダムに生成され、トランザクション・キーは、ユーザ・グループ中のユーザの数と同じ数の複数のサブ鍵に分割され、各サブ鍵は、サブ鍵に対応するユーザの公開鍵を用いて暗号化される。本開示の例示的な実施例によって提供される方式は、トランザクション・キーが不変である、又はトランザクション・キーが、常に、同じユーザによってランダムに生成されることにより、容易に破られるか又は漏洩されるという危険性を低減する。その上、サブ鍵をもつ単一のユーザが、トランザクション・キーを単独で復元することができないので、複数のユーザが、トランザクション・キーを復元するために、ともに作業する必要がある。それゆえ、同じユーザによるトランザクション・キーの復元及び使用によって引き起こされる危険性は低減され、トランザクション・キーのセキュリティは、さらに改善される。加えて、ユーザの最小数が、トランザクション・キーを復元するために設定され、そのため、個人ユーザが、(サブ鍵を紛失したか、又はサブ鍵を使用することを拒否するなど)問題を有するとき、トランザクション・キーは、他のユーザの協働を通して依然として復元及び使用され得、それにより、権限管理システムの信頼性及びロバストネスを改善する。加えて、複数の暗号化されたサブ鍵が、管理デバイスに送られ、管理デバイスは、ユーザ・グループ中の他のユーザが、動作を同期させることを必要とすることなしに、暗号化されたサブ鍵をキャッシュすることができる。その結果、複数のユーザの間でのトランザクション・キー分割及び配布の非同期処理が実現され得、これは、権限管理システムの利便性を改善する。加えて、鍵分割及び復元は、非ローカルに実施され、これは、鍵システムのセキュリティをさらに保証することができる。
【0024】
図1は、本開示の実施例による、鍵を管理するためのシステム100のアーキテクチャ図である。図1中に示されているように、システム100は、管理デバイス110と、ハードウェア・セキュリティ・モジュール(HSM:Hardware Security Module)160と、(ユーザ・デバイス120と総称されることがある)複数のユーザ・デバイス120-1、120-2、120-3、120-4~120-Nとを含む。複数のユーザ・デバイスは、たとえば、(ユーザ140と総称されることがある)複数のユーザ140-1、140-2、140-3、140-4~140Nに関連付けられる。ユーザ140-1~140-Nは、トランザクション又は資産処分(asset disposal)など、事項(matter)に関して共通権限を有し、したがって、彼らは、トランザクション・キーを管理するユーザ・グループを形成することができる。管理デバイス110及び複数のユーザ・デバイス120-1、120-2、120-3、120-4~120-Nは、ネットワーク150を介してデータ対話を実施する。管理デバイス110に関して、それは、限定はされないが、パーソナル・コンピュータ、サーバ又は他のコンピューティング・デバイスであり得る。ネットワーク150は、ワイヤード・ネットワーク又は様々なワイヤレス・ネットワークであり得る。
【0025】
ハードウェア・セキュリティ・モジュール160は、情報技術セキュリティ評価のための共通基準(Common Criteria for Information Technology Security Evaluation)、米国連邦情報処理標準(FIPS:Federal Information Processing Standard)140-2又は他の国際証明など、所定のセキュリティ証明規格を満たす、国際的に認識されたハードウェア・セキュリティ・モジュールであり得、(図中に示されていない)メモリと(図中に示されていない)プロセッサとを含む。本発明によるハードウェア・セキュリティ・モジュール160は、さらに、様々な暗号アルゴリズムに従って、トランザクション・キーとして使用されるべき鍵を生成し、トランザクション・キーを分割及び復元することが可能であるようにカスタマイズ及び開発される。これらの暗号アルゴリズムは、当技術分野でよく知られているアルゴリズムを使用することができ、本明細書では詳細に説明されない。
【0026】
管理デバイス110及びハードウェア・セキュリティ・モジュール160は、同じセキュリティ・ネットワーク・ドメイン中にあり、許可されたユーザのみが、管理デバイス110を介してハードウェア・セキュリティ・モジュール160にアクセスすることができる。ユーザ・デバイス120又は他の構成要素は、管理デバイス110を介してハードウェア・セキュリティ・モジュール160にアクセスすることができ、すなわち、管理デバイス110は、ハードウェア・セキュリティ・モジュール160にアクセスするためのゲートウェイと見なされ得る。他の実施例では、管理デバイス110及びハードウェア・セキュリティ・モジュール160は、物理的に分離され得、セキュリティ・リンクを介して接続されるが、管理デバイス110とハードウェア・セキュリティ・モジュール160との間の関係は、それに限定されず、ハードウェア・セキュリティ・モジュール160が、管理デバイス110の内部に設けられるか、又は管理デバイス110及びハードウェア・セキュリティ・モジュール160が、総合ハードウェアであるが、論理的に分離されることも可能である。本明細書では、説明を容易にするために、図1中に示されている管理デバイス110と、管理デバイス110に関連付けられたハードウェア・セキュリティ・デバイス160の組合せは、鍵管理システム170と呼ばれる。
【0027】
管理デバイス110は、ユーザ140のユーザ・デバイス120の初期化を実装するために、ユーザ・デバイス120と対話するように構成される。ユーザ・グループ中のグループ形成ユーザ、分割ユーザ、又は復元ユーザは、グループ形成ユーザが、トランザクション・キーを管理するためのユーザ・グループを作成し、ハードウェア・セキュリティ・モジュール160による分割によって生成されたサブ鍵をキャッシュ及び配布するのを助けるように、指定又はランダムに決定される。
【0028】
いくつかの実施例では、ユーザ・デバイスの登録要求に応答して、管理デバイス110は、ユーザ・デバイスが、検証に合格したかどうかを確認し、ユーザ・グループ全体が、ユーザ・グループ中の各ユーザのユーザ・デバイスが検証に合格したことを検証することによって、検証に合格したかどうかを確認する。いくつかの実施例では、管理デバイス110はまた、ユーザ・グループを作成するグループ形成ユーザから、ユーザ・グループ中のユーザの数と、トランザクション・キーを復元するためのユーザの最小数(すなわち、第1の決定された値)とを取得するように構成され得る。
【0029】
ハードウェア・セキュリティ・モジュール160は、トランザクション・キーを生成し、分割ユーザが、ユーザ・グループ中のユーザの数と同じ数の複数のサブ鍵に、トランザクション・キーを分割するのを助け、復元ユーザが、トランザクション・キーを復元するのを助けるように構成される。詳細には、ハードウェア・セキュリティ・モジュール160は、トランザクション・キーをランダムに生成し、複数のサブ鍵にトランザクション・キーを分割するために、トランザクション・キーを分割するための多項式を作成し、ユーザからの要求に応答して、複数のサブ鍵に基づいて、トランザクション・キーを復元するように構成され得る。管理デバイス110及びハードウェア・セキュリティ・モジュール160の機能は、本明細書の説明に限定されない。たとえば、ここで説明される機能に加えて、ハードウェア・セキュリティ・モジュール160の機能は、管理デバイス110の機能のうちの一部又は全部をも有することができ、すなわち、管理デバイス110及びハードウェア・セキュリティ・モジュール160は、一体化される。
【0030】
本明細書で使用される「非ローカル」は、以下のユーザ・デバイス120に対するものである。ユーザ140の観点からすると、ユーザ・デバイス120は、ローカル・デバイスと呼ばれることがあり、管理デバイス110及びハードウェア・セキュリティ・モジュール160は、非ローカル・デバイスと呼ばれることがあり、たとえば、クラウド・エンド又はサーバ・エンド・デバイスであり得る。ローカル・ユーザ・デバイスにおいてではなく、非ローカル・ハードウェア・セキュリティ・モジュール160においてトランザクション・キーを分割及び復元することによって、鍵が、無許可のサード・パーティによって盗まれないことが保証され得る。プラットフォーム・セキュリティ・アーキテクチャ(PSA:Platform Security Architecture)フレームワークが、ハードウェア・セキュリティ・モジュールのために使用され得る。プラットフォーム・セキュリティ・アーキテクチャ・フレームワークを使用するハードウェア・セキュリティ・モジュール(HSM)は、カスタマイズしやすく、理論的には破られ得ないので、それは、システム全体のセキュリティをさらに保証することができる。
【0031】
ユーザ・デバイス120-1、120-2、120-3、120-4~120-Nは、たとえば、限定はされないが、従来のモバイル・フォン、タブレット、パーソナル・コンピュータなどである。各ユーザ・デバイス120は、それに関連付けられたハードウェア・セキュリティ・デバイス130(130-1、130-2、130-3、130-4、又は130-Nなど)を有する。ハードウェア・セキュリティ・デバイス130は、たとえば、限定はされないが、たとえば、ユーザ・デバイス120にプラグ接続され、再生(play)され得るUSBキーである。ハードウェア・セキュリティ・デバイス130は、非対称暗号化のためのそれ自体の公開鍵Kとプライベート鍵Pのペアを作成し得る。本明細書では、ハードウェア・セキュリティ・デバイス130の公開鍵K及びプライベート鍵Pは、主に、対応するユーザ・デバイス120の識別情報認証のために使用される。たとえば、公開鍵Kは、システム100全体においてハードウェア・セキュリティ・デバイス130(又は対応するユーザ・デバイス120)の識別子として使用され得、プライベート鍵Pは、署名するために使用され、そのため、管理デバイス110(又は対応するハードウェア・セキュリティ・モジュール160)は、サイン検証を実施するために公開鍵Kを使用することができる。この場合、ハードウェア・セキュリティ・デバイス130の構造及び機能は、既存のUSBキーに類似する。
【0032】
加えて、他の実施例では、ハードウェア・セキュリティ・デバイス130は、(図中に示されていない)バイオメトリック・モジュールを用いて構成されたハードウェア・セキュリティ・デバイスである。この場合、バイオメトリック・モジュールは、指紋識別モジュール及び/又は虹彩識別モジュール及び/又は顔識別モジュールであり得る。バイオメトリック・モジュールを含むことによって、パスワードが、第三者に、彼ら自身によるハッキング又は漏洩により知られたとき、その人物の識別情報がさらに検証され得、それにより、より高いセキュリティを達成する。加えて、指紋識別モジュール及び/又は虹彩識別モジュール及び/又は顔識別モジュールが、バイオメトリック・モジュールとして例示されているが、バイオメトリック・モジュールの特定の実例は、バイオメトリクスが、識別のために使用され得る限り、それに限定されない。バイオメトリック・モジュールを使用することによって、ユーザの識別情報が、ローカルUSBキー・デバイスにおいてさらに検証され得、これは、ローカル・セキュリティをさらに保証する。
【0033】
説明の便宜上、図1中に示されている、各ユーザ・デバイス120と、ユーザ・デバイス120に関連付けられたハードウェア・セキュリティ・デバイス130の組合せも、本明細書で使用される場合、ユーザ・デバイス120と呼ばれる。加えて、異なるユーザ・デバイスは、それぞれ、異なるユーザに関連付けられたハードウェア・セキュリティ・デバイス130と、一般的なユーザ・デバイス120の組合せを指すこともある。
【0034】
しかしながら、本発明は、それに限定されない。本発明で説明されるユーザ・デバイス120はまた、別々に設計され、通信及び処理機能モジュールと、一般的なハードウェア・セキュリティ・デバイス130の統合であり得る。そのようなユーザ・デバイス120は、非対称暗号化のためのそれ自体のプライベート鍵K及び公開鍵Pを作成し、また、鍵及びトランザクション情報を交換するために、管理デバイス110及びハードウェア・セキュリティ・モジュール160との相互認証によって、相互信頼を確立することができる。加えて、ユーザ・デバイス120はまた、管理デバイス110によって指定されるか、又はユーザ・グループ中のグループ形成ユーザ、分割ユーザ、復元ユーザ、又は他のユーザとしてランダムに決定され得る。いくつかの実施例では、ユーザ・デバイス(たとえば、120-1)は、ユーザ・グループを形成するように構成されたグループ形成ユーザのユーザ・デバイスとして、管理デバイス110によってランダムに決定される。ユーザ・デバイス120-1は、ユーザ・グループのビジネス情報(たとえば、ユーザの数Nと、トランザクション・キーを復元するためにユーザによって指示されたユーザの最小数とを含む第1の所定の値M)を決定し、管理デバイス110にビジネス情報を送り得る。いくつかの実施例では、ユーザ・デバイス(たとえば、120-2)は、トランザクション・キーを分割するための分割ユーザのユーザ・デバイスとして、管理デバイス110によって指定又はランダムに決定される。いくつかの実施例では、ユーザ・デバイス(たとえば、120-3)は、トランザクション・キーを復元するための復元ユーザのユーザ・デバイスとして、管理デバイス110によって指定されるか、又はランダムに決定される。ユーザ・グループを形成するグループ形成ユーザ、トランザクション・キーを分割する分割ユーザ、及びトランザクション・キーを復元する復元ユーザの決定は、管理デバイス110によって指定又はランダムに決定される以外の方法によっても実施され得る。
【0035】
図2は、本開示の実施例による、トランザクション・キーを分割するための方法200のフローチャートである。図2において、様々なアクションが、たとえば、管理デバイス110とハードウェア・セキュリティ・モジュール160とを含む鍵管理システム170によって実施される。方法200は、鍵を分割する段階における様々なアクションを含む。加えて、示されていない追加のアクション及び/又は示されているアクションが省略され得、本開示の範囲は、この点について限定されない。
【0036】
ブロック202において、ユーザが、トランザクション・キーを分割するための分割ユーザとして決定されたことに応答して、ハードウェア・セキュリティ・モジュール160は、管理デバイス110から、ユーザ・グループ中のユーザの数Nと、第1の所定の値とを取得し、ここで、第1の所定の値は、トランザクション・キーを復元するためのユーザの最小数Mを指し示し、ユーザ・グループは、トランザクション・キーを管理するように構成される。ユーザ・グループ中のユーザの数N及び第1の所定の値は、複数のユーザのためのグループ形成をあらかじめ実施したグループ形成ユーザのユーザ・デバイス120によって、あらかじめ、管理デバイス110に送られ、管理デバイス110に記憶され得る。いくつかの実施例では、Mは、ユーザ・グループ中のユーザの数N未満である。いくつかの実施例では、グループ形成ユーザ及び分割ユーザは、管理デバイス110によって指定又はランダムに決定される。いくつかの実施例では、トランザクション・キーを分割するために使用される分割ユーザ、及びユーザ・グループを作成するために使用されるグループ形成ユーザは、同じユーザであることも、異なるユーザであることもある。いくつかの実施例では、ユーザ・デバイス120(より詳細には、ユーザ・デバイス120に関連付けられたハードウェア・セキュリティ・デバイス130)は、指紋識別モジュール及び/又は虹彩識別モジュール及び/又は顔識別モジュールであり得る、バイオメトリック・モジュールを含む。
【0037】
ブロック204において、ハードウェア・セキュリティ・モジュール160は、管理デバイス110からの他のユーザに関するメッセージに基づいて、このトランザクションの処理権限に関連付けられたトランザクション・キーをランダムに生成し、ここで、他のユーザに関するメッセージは、少なくとも、ユーザ・グループ中の分割ユーザ以外の他のユーザの公開鍵を指し示す。
【0038】
上記の方式では、ハードウェア・セキュリティ・モジュール160においてこのトランザクションの処理権限に関連付けられたトランザクション・キーをランダムに生成することによって、トランザクション・キーが、不変であるか又は繰り返し使用されることにより、容易に破られるという危険性は、低減され得る。加えて、許可されたユーザのみが、管理デバイス110を通してハードウェア・セキュリティ・モジュール160にアクセスすることができるので、ローカル・ユーザ・デバイスにおいてトランザクション・キーを生成することと比較して、トランザクション・キーを生成するこの方法は、セキュリティをさらに保証することができる。
【0039】
いくつかの実施例では、他のユーザに関連付けられたメッセージは、以下、すなわち、他のユーザの公開鍵を検証するためのシグネチャ情報、他のユーザの識別子、又は他のユーザと、他のユーザに関するメッセージの有効期間の組み合わせられたデータのハッシュ値のシグネチャ情報のうちの少なくとも1つをも指し示す。加えて、いくつかの実施例では、管理デバイス110からハードウェア・セキュリティ・モジュール160によって受信された他のユーザに関する情報は、管理デバイス110の証明書をも含む。この場合、ハードウェア・セキュリティ・モジュール160は、さらに、管理デバイス110の証明書を検証することによって、管理デバイス110の識別情報を確認し、管理デバイス110の証明書が検証に合格したときのみ、ブロック204における動作を実行することができる。
【0040】
他のユーザの組み合わせられたデータのハッシュ値のシグネチャ情報に関して、いくつかの実施例では、管理デバイス110は、最初に、ユーザ・グループ中の各他のユーザ・ハッシュについて、以下の組み合わせられたデータ、すなわち、ユーザ・グループ中の他のユーザの数のハッシュ値、他のユーザの公開鍵のハッシュ値、並びに他のユーザのユーザ・グループ・パスワードのシグネチャ・ハッシュ値(及び管理デバイス110の証明書の可能なハッシュ値)を計算し、次いで、組み合わせられたデータのハッシュ値に署名するために、管理デバイスのプライベート鍵を使用し、そのため、ハードウェア・セキュリティ・モジュール160は、他のユーザに関するメッセージ中のデータを検証する。上記の方式では、他のユーザに関するメッセージ中に、署名された他のユーザの組み合わせられたデータのハッシュ値を含めることによって、ハードウェア・セキュリティ・モジュール160は、他のユーザに関する受信されたメッセージのデータが改ざんされたかどうかを容易に検証することができる。
【0041】
トランザクション・キーをランダムに生成することに関して、いくつかの実施例では、それは、管理デバイス110の証明書が、検証に合格したと決定することに応答して、他のユーザの公開鍵のシグネチャ情報に基づいて、他のユーザの公開鍵が、検証に合格したかどうかを決定することと、他のユーザの公開鍵が、検証に合格したことに応答して、第1の所定の値と同じ数であり、分割多項式を構築するために使用される複数の乱数をランダムに生成することであって、ここで、乱数は、トランザクション・キーを含む、生成することとを含む。
【0042】
ブロック206において、ハードウェア・セキュリティ・モジュール160において、トランザクション・キーは、ユーザの数と同じ数の複数のサブ鍵に分割され、複数のサブ鍵中の各サブ鍵は、ユーザ・グループ中の1人のユーザに関連付けられる。いくつかの実施例では、複数のサブ鍵にトランザクション・キーを分割することは、ユーザ・グループ中のユーザの数と、分割多項式を構築するために使用される複数の乱数とに基づいて、複数のサブ鍵を決定することであって、ここで、各鍵は、第1のサブ鍵コンポーネントと第2のサブ鍵コンポーネントとを含む、決定することを含む。トランザクション・キーを分割するための多くのやり方がある。たとえば、鍵を分割するための多くの知られているアルゴリズムがある。いくつかの実施例では、トランザクション・キーは、以下の分割多項式(1)に基づいて、複数のサブ鍵に分割され得る。
Y=A+A*X+A*X+......+AN-1*XM-1 (1)
【0043】
上記の分割多項式において、Mは、トランザクション・キーを復元するためのユーザの最小数を表す。A、A...AM-1は、分割多項式を構築するために使用される乱数を表す。上記の乱数は、トランザクション・キーを復元するためのユーザの最小数Mと同じ数である、ハードウェア・セキュリティ・モジュール160によってランダムに生成された乱数である。たとえば、Aは、このトランザクションのために使用されるトランザクション・キーを表すことができる。A~AM-1及びMが決定されたとき、それらは、たとえば、ユーザ・グループ中のユーザの数と同じ数NのX~Xを決定するために、N個の(X、Y)ペアを構築するために使用され得る。N個の決定されたY値、たとえば、Y~Yが、分割多項式に基づいて得られ得る。多項式に基づいて決定されたN個の(X、Y)ペア、すなわち、(X、Y)、(X、Y)...(X、Y)は、N個の分割されたサブ鍵が、ユーザ・グループのN人のユーザに対応することを表す。分割多項式、ユーザ・グループ中のユーザの数N、トランザクション・キーを復元するためのユーザの最小数M、及びハードウェア・セキュリティ・モジュール160によってランダムに生成された乱数A~AM-1に基づいて、ハードウェア・セキュリティ・モジュール160は、ユーザ・グループ中のユーザの数と同じ数である、N個のサブ鍵(X、Y)、(X、Y)、...(X、Y)に、トランザクション・キーAを分割することができる。各サブ鍵(X、Y)は、第1のサブ鍵コンポーネントXと第2のサブ鍵コンポーネントYとを含む。上記の方式では、ランダムに生成されたトランザクション・キーAは、ハードウェア・セキュリティ・モジュール160によってユーザ・グループ中のユーザの数と同じ数の複数のサブ鍵に分けられ、これは、不変のトランザクション・キーにより容易に破られるという危険性を効果的に回避することがでるだけでなく、以下で説明されるように、サブ鍵をもつ単一のユーザは、トランザクション・キーを単独で復元することができず、最小数(M)のユーザが、トランザクション・キーを復元するために協力することができるのみであり、これにより、トランザクション・キーのセキュリティを著しく改善する。いくつかの実施例では、Mは、ユーザ・グループ中のユーザの数N未満であり得る。トランザクション・キーを復元するためのユーザの最小数Mを設定すること、及びM<Nとすることによって、本開示の例示的な実施例によって提案される、鍵を管理するための方式は、一部のユーザが問題を有するときでも、M人のユーザの協力を通してトランザクション・キーを復元するために、依然として使用され得、そのため、権限管理システムの信頼性は改善される。加えて、数を満たすことに加えて、条件は、1人又は何人かの特定のユーザが、M人のユーザ中に含まれなければならないことでもあり得る。ここでの条件は、実際のニーズに従って必要に応じて設定され得る。
【0044】
ブロック208において、ハードウェア・セキュリティ・モジュール160において、サブ鍵の各々は、サブ鍵に対応するユーザの公開鍵を使用して暗号化される。いくつかの実施例では、サブ鍵の各々に対応するユーザの公開鍵を用いて、サブ鍵を暗号化することは、サブ鍵に対応するユーザの公開鍵と、他のユーザに関するメッセージの有効期間とに基づいて、サブ鍵を暗号化することを含む。実施例では、各ユーザの公開鍵は、管理デバイス110又はハードウェア・セキュリティ・モジュール160に記憶され得る。上記の方式では、対応するサブ鍵を暗号化するために、対応するユーザの公開鍵を用いることで、各サブ鍵のセキュリティは改善される。他者が、暗号化されたサブ鍵を知る場合でも、彼らは、対応するユーザのプライベート鍵を得ることができないので、彼らは、サブ鍵を破ることが可能ではない。それゆえ、トランザクション・キーのセキュリティは、改善される。
【0045】
別の実施例では、ユーザの公開鍵は、管理デバイス110又はハードウェア・セキュリティ・モジュール160に記憶されないことがある。代わりに、それは、それが使用されるたびに、ユーザの識別子と、管理デバイス110(又はそれの所有者)の識別子とに基づいて、ハードウェア・セキュリティ・モジュール160によって、階層化された決定論的ルールに従って生成される。このようにして、セキュリティを保証する前提のもとに、各ユーザの公開鍵を管理するシステムの負担は、解消される。
【0046】
加えて、方法200は、ハードウェア・セキュリティ・モジュール160が、各暗号化されたサブ鍵を記憶するか、又は記憶のために管理デバイス110にそれを送るか、又は記憶のためにそれぞれ管理デバイス110を介してユーザ・グループ中の対応するユーザ・デバイスにそれを送ることをさらに含み得る。後者の2つの場合では、ハードウェア・セキュリティ・モジュール160は、分割によって生成されたサブ鍵を記憶しない。
【0047】
いくつかの実施例では、方法200は、ユーザ・デバイスが、初期化を実施するのを助けるための管理デバイス110をさらに含む。いくつかの実施例では、管理デバイス110は、シグネチャ・データを生成するために、乱数に署名するためにそれのプライベート鍵を使用し、ユーザ・グループを形成するためのグループ形成ユーザに、生成されたシグネチャ・データを送る。グループ形成ユーザのユーザ・デバイス120は、シグネチャ・データを検証し、シグネチャ・データは、検証が合格されたとき、ユーザ・デバイス120にあらかじめ設定されたプライベート鍵に基づいて署名される。加えて、いくつかの実施例では、管理デバイス110はまた、グループ形成ユーザのユーザ・デバイス120からのユーザ・グループに関するビジネス情報、ユーザ・デバイス120の公開鍵、及びユーザ・デバイス120のプライベート鍵によって署名されたシグネチャ・データを受信し、ここで、ビジネス情報は、少なくとも、ユーザ・グループ中のユーザの数と、第1の所定の値とを含む。上記の方式では、管理デバイス110のシグネチャ情報は、グループ形成ユーザのユーザ・デバイス120によって検証され、グループ形成ユーザのユーザ・デバイス120のプライベート鍵によって署名されたシグネチャ情報は、管理デバイス110によって検証され、これは、グループ形成ユーザのユーザ・デバイス120と、管理デバイス110との間の相互信頼を実現し、システム100全体のセキュリティを改善することができる。加えて、管理デバイス110に、ユーザ・グループのユーザの数Nと、第1の所定の値Mとを含むビジネス情報を送ることによって、管理デバイス110が、トランザクション・キーを分割及び復元するプロセスにおいて、ハードウェア・セキュリティ・モジュール160協力することを容易にするように。
【0048】
図3は、本開示の実施例による、トランザクション・キーを復元するための方法300のフローチャートである。図3において、様々なアクションが、たとえば、管理デバイス110とハードウェア・セキュリティ・モジュール160とを含む鍵管理システム170によって実施される。方法300は、鍵を復元する段階における様々なアクションを含み、示されていない追加のアクションをさらに含み得、及び/又は示されているアクションは省略され得、本開示の範囲は、この点について限定されない。
【0049】
ブロック302において、ハードウェア・セキュリティ・モジュール160は、トランザクション・キーを復元するための復元メッセージを、管理デバイス110から取得し、ここで、復元メッセージは、トランザクションに関して同意した、ユーザ・グループ中の検証されたユーザの数と、トランザクション・キーを復元するための復元ユーザであると決定された、ユーザ・グループ中のユーザの識別子とを含み、ユーザ・グループは、トランザクション・キーを管理するように構成される。いくつかの実施例では、復元ユーザは、ユーザ・グループから管理デバイス110によって指定又はランダムに決定される。いくつかの実施例では、復元メッセージは、以下、すなわち、このトランザクションに関連付けられた関連付け乱数、復元ユーザの公開鍵を用いて暗号化された検証されたユーザのサブ鍵及び関連付け乱数、検証されたユーザのシグネチャ情報、並びに復元メッセージのハッシュ値のシグネチャ情報のうちの少なくとも1つをも指し示す。加えて、いくつかの実施例では、復元メッセージは、管理デバイス110の証明書をも含み得る。この場合、ハードウェア・セキュリティ・モジュール160は、さらに、管理デバイス110の証明書を検証することによって、管理デバイス110の識別情報を確認し、管理デバイス110の証明書が検証に合格したときのみ、ブロック304における動作を実行することができる。
【0050】
ブロック304において、ハードウェア・セキュリティ・モジュール160は、検証されたユーザの数が、第1の所定の値よりも大きいか又はそれに等しいと決定することに応答して、検証されたユーザのサブ鍵に基づいて、トランザクション・キーを復元し、ここで、検証されたユーザのサブ鍵は、(たとえば、方法200のような方法を使用することによって)事前にトランザクション・キーを分割することによって生成された。いくつかの実施例では、ハードウェア・セキュリティ・モジュール160は、その中に記憶された検証されたユーザのサブ鍵、又は管理デバイス110から得られ、管理デバイス110に記憶された検証されたユーザのサブ鍵に基づいて、トランザクション・キーを復元する。他の実施例では、ハードウェア・セキュリティ・デバイス160は、管理デバイス110を介して各検証されたユーザによって送られたサブ鍵に基づいて、トランザクション・キーを復元する。この場合、検証されたユーザのサブ鍵は、復元ユーザの公開鍵を用いて暗号化され得る。いくつかの実施例では、検証されたユーザのサブ鍵は、復元ユーザの公開鍵を介して、トランザクションに関連付けられた関連付け乱数とともに暗号化される。上記の方式では、サブ鍵は、このトランザクションに関連付けられた関連付け乱数とともに暗号化され、そのため、サブ鍵は、このトランザクションのトランザクション・キーを復元するためにのみ使用され得、他のトランザクションのトランザクション・キーの復元のために再利用され得ない。
【0051】
いくつかの実施例では、トランザクション・キーは、限定はしないが、前述の分割多項式(1)に基づいて復元され得る。分割多項式(1)中の乱数の数がM、すなわち、少なくとも、検証されたユーザのM個のサブ鍵(X、Y)、(X、Y)、...(X、Y)を取得する場合、A~AM-1であるとすれば、トランザクション・キーAは、M個の乱数A~AM-1を解くことによって得られ得る。
【0052】
ブロック306において、このトランザクションに関するトランザクション要求が、復元されたトランザクション・キーに基づいて署名される。いくつかの実施例では、ハードウェア・セキュリティ・モジュール160は、管理デバイス110を介して復元ユーザのユーザ・デバイス120に、署名された現在のトランザクション要求を送り、そのため、復元ユーザのユーザ・デバイス120は、このトランザクションを実行するために、ブロックチェーンの(図中に示されていない)ノードに、トランザクション要求を解放(release)することができる。代替的に、ハードウェア・セキュリティ・モジュール160はまた、管理デバイス110を介してブロックチェーン(図示せず)のノードにトランザクション要求を直接解放又はブロードキャストし得る。上記の方式では、トランザクション・キーを復元するためのユーザの最小数(すなわち、第1の所定の値)を設定することによって、トランザクション・キーは、ユーザの数が、第1の所定の値よりも大きいか又はそれに等しいと決定することに応答して、復元ユーザのサブ鍵(又は検証されたユーザのサブ鍵とともに)に基づいて復元され、そのため、トランザクション・キーは、ユーザ・グループ中の何人かのユーザの協力に基づいて回復され得る。それゆえ、権限管理システムの信頼性及びロバストネスは改善され、それは、権限の使用を伴ういくつかの不適切なアクションに抵抗することができる。
【0053】
図4は、本開示の実施例による、ハードウェア・セキュリティ・デバイス130のブロック図である。
【0054】
ハードウェア・セキュリティ・デバイス130は、バイオメトリック・モジュールを用いて構成されたハードウェア・セキュリティ・デバイスであり、ユーザを識別するために使用される。ユーザの識別子を識別するプロセスは、2つのステップに分けられ、第1のステップは、このユーザの生物学的特性を識別するためのものであり、第2のステップは、生物学的特性に基づいて、このユーザが、許可されたユーザであるかどうかを決定するためのものである。
【0055】
バイオメトリック・モジュールは、指紋識別モジュール131及び/又は虹彩識別モジュール132及び/又は顔識別モジュール133であり得る。それの指紋識別方法に従って、指紋識別モジュール131は、光屈折及び反射の原理によって指紋を認識する光指紋モジュールと、キャパシタの値を変えることによって指紋を収集する容量性指紋モジュールと、線を検出するためにトレース無線周波数信号を使用する無線周波数指紋モジュールとに分けられ得る。虹彩識別モジュール132は、人間の眼の虹彩画像特徴を識別することができる。プロセスは、概して、虹彩画像取得ステップ、画像前処理ステップ、虹彩測位ステップ(虹彩と瞳孔との間の境界、及び虹彩と強膜との間の境界、及び虹彩と上下の眼瞼との間の境界を決定すること)、特徴抽出ステップ、並びに特徴マッチングステップを含む。顔識別モジュール133は、人顔識別モジュール、顔画像識別モジュール、顔面識別モジュールなどとも呼ばれ、非接触様式で識別物体の顔画像を得るための識別情報取得デバイスとして、汎用カメラを使用する。バイオメトリック・モジュールの実例は、ユーザのバイオメトリクスが識別され得る限り、ここの実例に限定されない。
【0056】
本発明のハードウェア・セキュリティ・デバイス130のバイオメトリック・モジュールを使用することによって、この操作者が、ハードウェア・セキュリティ・デバイス130の許可されたユーザであるかどうかがさらに決定され得る。たとえば、管理デバイス110の所有者など、プロバイダが、許可されたユーザにハードウェア・セキュリティ・デバイス130を提供した後、許可されたユーザは、ハードウェア・セキュリティ・デバイス130が初期化されるとき、ハードウェア・セキュリティ・デバイス130のバイオメトリクスを収集し、ハードウェア・セキュリティ・デバイス130にそれらを記録することができる。その後、操作者が、ハードウェア・セキュリティ・デバイス130を含むユーザ・デバイス120を操作するとき、操作者は、生物学的情報(例えば指紋、虹彩、顔など)を入力するように最初に要求され、バイオメトリック・モジュールは、操作者の生体特性を決定するために、入力された生体情報を識別し、操作者が、ハードウェア・セキュリティ・デバイス130の許可されたユーザであるかどうかを決定するために、それらを、ハードウェア・セキュリティ・デバイス130に記録された生体特性と比較する。ハードウェア・セキュリティ・デバイス130のバイオメトリック・モジュールは、操作者の識別情報を識別するために、単独で使用され得るか、又はそれは、操作者の識別情報を向上させるために、パスワードなど、他の方法と組み合わせられ得る。たとえば、ハードウェア・セキュリティ・デバイス130のバイオメトリック・モジュールは、図5中に示されている、ユーザ・デバイス504、506、及び508の初期化段階中に呼び出され得るか、又はハードウェア・セキュリティ・デバイス130のバイオメトリック・モジュールは、図5中に示されている、トランザクション・キーを分割し、及び/又はトランザクション・キーを復元する段階において呼び出され得るか、又は復元ユーザのユーザ・デバイスのバイオメトリック・モジュールは、トランザクションが、図5中に示されているプロセスの終わりに署名されるときに呼び出され得る。
【0057】
図5は、本開示の実施例による、鍵を管理するための方法500のデータ・フロー図である。図5において、様々なアクションは、たとえば、鍵管理システム502、グループ形成ユーザのユーザ・デバイス504、復元ユーザのユーザ・デバイス506、及び他のユーザのユーザ・デバイス508によって実装される。方法500は、(たとえば、グループ形成ユーザ初期化、他のユーザ初期化を含む)ユーザ・グループ形成、トランザクション・キー分割、及びトランザクション・キー復元段階を主に含む。方法500は、示されていない追加のアクションをさらに含み得、及び/又は示されているアクションは、省略され得、本開示の範囲は、この点について限定されないことを理解されたい。ここで、鍵管理システム502は、たとえば、図1と組み合わせて上記で説明された鍵管理システム170、すなわち、管理デバイス110とハードウェア・セキュリティ・デバイス160の組合せである。ユーザ・デバイス504、506、及び508は、たとえば、図1と組み合わせて説明されたユーザ・デバイス120であり得る。
【0058】
以下の実例は、ユーザ・グループのグループ形成段階のアクションを示す。ユーザ・グループのグループ形成段階は、グループ形成ユーザの初期化と、ユーザ・グループの他のユーザの初期化とを主に含む。
【0059】
以下の実例は、ユーザ・グループの初期化段階におけるグループ形成ユーザのアクションを示す。
【0060】
グループ形成ユーザのユーザ・デバイス504において、510において、グループ形成ユーザのプライベート鍵K1及び公開鍵P1が作成される。512において、ユーザ・グループのためのパスワードが作成される。514において、検証要求が、鍵管理システム502に送られる。グループ形成ユーザは、たとえば、(管理デバイス110など)鍵管理システム502によって指定された、又はユーザ・グループを形成するために使用されるとランダムに決定されたグループ形成ユーザである。
【0061】
鍵管理システム502において、516において、管理デバイス110のプライベート鍵KOが、グループ形成ユーザの認証のための生成された乱数R1に署名するために使用される。518において、シグネチャ・データが、グループ形成ユーザのユーザ・デバイス504に送られ、シグネチャ・データは、たとえば、乱数R1と、署名された乱数R1と、管理デバイス110の証明書とを含み、ここで、管理デバイス110の証明書は、たとえば、管理デバイス110の公開鍵POを含む。
【0062】
グループ形成ユーザのユーザ・デバイス504において、520において、鍵管理システム502からのシグネチャ・データが、検証に合格したと決定される。たとえば、管理デバイス110の受信された証明書及び管理デバイス110によって署名された乱数が、検証に合格したかどうかが決定される。522において、グループ形成ユーザのユーザ・デバイス504のプライベート鍵K1は、鍵管理システム502からのシグネチャ・データが、検証に合格したと決定することに応答して、乱数R1及びユーザ・グループのパスワードに署名するために使用される。524において、ユーザ・グループに関するビジネス情報、ユーザ・デバイス504の公開鍵P1、及びユーザ・デバイス504のプライベート鍵K1によって署名されたシグネチャ・データが、鍵管理システム502に送られ、ここで、サービス情報は、少なくとも、ユーザ・グループのユーザの数Nと第1の所定の値Mとを含む。
【0063】
鍵管理システム502において、526において、ユーザ・デバイス504の得られた公開鍵P1に基づいて、ユーザ・デバイス504のプライベート鍵K1によって署名された乱数R1が検証され、ユーザ・グループのパスワードがキャッシュされる。
【0064】
以下の実例は、初期化段階中のユーザ・グループの他のユーザのアクションを示す。
【0065】
いくつかの実施例では、グループ形成ユーザのユーザ・デバイス504は、様々なやり方で、ユーザ・グループの確立されたリンク及びユーザ・グループのパスワードを、ユーザ・グループの他のユーザに共有し得る。たとえば、グループ形成ユーザのユーザ・デバイス504は、ローカル・エリア・ネットワークを通して、ユーザ・グループのリンク及びユーザ・グループのパスワードを、ユーザ・グループ中の他のユーザに共有する。たとえば、他のユーザのユーザ・デバイス508は、グループ形成ユーザを除くユーザ・グループ中の任意のユーザのユーザ・デバイスである。
【0066】
他のユーザのユーザ・デバイス508において、530において、他のユーザのユーザ・デバイス508のプライベート鍵K2及び公開鍵P2が、作成される。532において、ユーザ・グループのリンク及びユーザ・グループのパスワードに基づいて、鍵管理システム502との接続が確立され、認証要求が、鍵管理システム502に送られる。
【0067】
鍵管理システム502において、534において、管理デバイス110は、以下のデータ、すなわち、管理デバイスの証明書のハッシュ値、グループ形成ユーザのユーザ・デバイス504の公開鍵P1のハッシュ値、並びに他のユーザを検証するために使用されるユーザ・グループ・パスワード値及び乱数R2に対するグループ形成ユーザのシグネチャのハッシュ値をマージする。536において、組み合わせられたデータのハッシュ値は、管理デバイス110のプライベート鍵KOを使用して署名される。538において、管理デバイス110は、他のユーザ・デバイス508に、管理デバイス110の証明書、グループ形成ユーザのユーザ・デバイス504の公開鍵P1、ユーザ・グループ・パスワード及び乱数R2のグループ形成ユーザのシグネチャ、並びに組み合わせられたデータのハッシュ値のシグネチャを送る。
【0068】
ユーザ・デバイス508において、540において、管理デバイス110が、認証に合格したかどうかが決定される。542において、グループ形成ユーザのユーザ・デバイス504の公開鍵P1が、検証されたかどうかが決定される。544において、ユーザ・デバイス508のプライベート鍵K2は、ユーザ・グループのパスワードに署名するために使用され、ユーザ・デバイス508のプライベート鍵K2は、乱数R2に署名するために使用される。546において、ユーザ・デバイス508の公開鍵P2、及びプライベート鍵K2を用いて署名されたシグネチャ・データが、鍵管理システム502に送られ、シグネチャ・データは、たとえば、プライベート鍵K2を用いて署名されたユーザ・グループ・パスワード及び乱数R2を含む。
【0069】
鍵管理システム502において、548において、管理デバイス110は、ユーザ・デバイス508の得られた公開鍵P2に基づいて、ユーザ・デバイス508のプライベート鍵K2によって署名された乱数R2を検証し、ユーザ・グループのパスワードをキャッシュする。550において、管理デバイス110は、ユーザ・グループ中のすべてのユーザに番号を付ける。
【0070】
以下の実例は、トランザクション・キー段階を分割する段階におけるアクションを示す。
【0071】
鍵管理システム502において、552において、管理デバイス110は、トランザクション・キーを分割するようにとの要求を受信したことに応答して、ユーザ・グループ中の、トランザクション・キーを分割するための分割ユーザをランダムに決定する。トランザクション・キーを分割するために使用される分割ユーザ、及びユーザ・グループを作成したグループ形成ユーザは、同じユーザであることも、異なるユーザであることもある。以下の実例では、彼らは、ユーザ・デバイス504である、同じユーザである。554において、管理デバイス110は、ユーザ・グループ中の各他のユーザのための以下の組み合わせられたデータのハッシュ値、すなわち、管理デバイス110の証明書のハッシュ値、ユーザ・グループ中の他のユーザの数のハッシュ値、他のユーザの公開鍵のハッシュ値、及びユーザ・グループ・パスワードに対する他のユーザのシグネチャのハッシュ値を計算する。556において、ハードウェア・セキュリティ・モジュール160は、管理デバイス110から、他のユーザに関するメッセージを取得し、他のユーザに関するメッセージは、少なくとも、分割ユーザを除くユーザ・グループ中の他のユーザの公開鍵を指し示す。いくつかの実施例では、他のユーザに関するメッセージは、以下、すなわち、管理デバイス110の証明書、他のユーザの公開鍵、ユーザ・グループ・パスワードに対する他のユーザのシグネチャ、組み合わせられたデータのハッシュ値のシグネチャ、及び他のユーザに関するメッセージの有効期間のうちの少なくとも1つをも指し示す。560において、ハードウェア・セキュリティ・モジュール160は、管理デバイス110の証明書が、検証に合格したと決定することに応答して、他のユーザの公開鍵のシグネチャ情報に基づいて、他のユーザの公開鍵が、検証に合格したかどうかを確認する。562において、ハードウェア・セキュリティ・モジュール160は、他のユーザの公開鍵が、検証に合格したことに応答して、トランザクション・キーを復元するためのユーザの最小数Mと同じ数である、乱数A~AM-1をランダムに生成する。Aは、トランザクションのトランザクション・キーを表す。564において、ハードウェア・セキュリティ・モジュール160は、トランザクション・キーを復元するためのユーザの最小数Mと、上述のランダムに生成された乱数A~AM-1とに基づいて、トランザクション・キーを分割するための多項式を構築する。566において、ハードウェア・セキュリティ・モジュール160は、ユーザ・グループ中のユーザの数と同じ数である、N個のサブ鍵(X、Y)、(X、X)...(X、Y)に、トランザクション・キーAを分割し、ここで、各サブ鍵は、ユーザ・グループ中の1人のユーザに対応する。568において、ハードウェア・セキュリティ・モジュール160は、各サブ鍵を、サブ鍵に対応するユーザの公開鍵及び有効期間に基づいて暗号化する。鍵管理システム502において、572において、管理デバイス110は、複数の暗号化されたサブ鍵(X、Y)、(X、X)...(X、Y)をキャッシュする。いくつかの実施例では、574において、管理デバイス110は、他のユーザのユーザ・デバイス508に通知し、たとえば、ユーザ・デバイス508は、対応するサブ鍵を受信するために、(USBキーなど)対応するハードウェア・セキュリティ・デバイス130を挿入するように通知され得る。576において、管理デバイス110は、サブ鍵を配布することを求める要求を、別のユーザ・デバイス508から受信したことに応答して、他のユーザのユーザ・デバイス508に、以下、すなわち、管理デバイス110の証明書、他のユーザの数、分割ユーザの公開鍵、ユーザ・デバイス508に対応するサブ鍵、有効期間、及び上記の組み合わせられたデータのハッシュ値シグネチャのうちの少なくとも1つを送る。上記の方式では、暗号化されたサブ鍵は、鍵管理システム502の管理デバイス110にキャッシュされ、対応するサブ鍵が、サブ鍵を配布することを求める、ユーザ・グループ中の他のユーザの要求に応答して送られ、それゆえ、トランザクション・キーの非同期分離及び配布が、達成され得る。ユーザ・グループ中の他のユーザの同期又はリアルタイム動作は必要とされず、それにより、権限管理システムの利便性を改善する。他のユーザのユーザ・デバイス508において、578において、管理デバイス110の証明書及び公開鍵が検証され、解読された対応するサブ鍵が記憶される。
【0072】
以下の実例は、トランザクション・キー段階を復元する段階におけるアクションを示す。
【0073】
鍵管理システム502において、580において、管理デバイス110は、ユーザ・グループ中の復元ユーザを指定又はランダムに決定する。582において、管理デバイス110は、トランザクションに関する要求を受信したことに応答して、トランザクションに関して同意すべきかどうかを確認するために、ユーザ・グループ中のユーザにトランザクション情報を送り、ここで、トランザクション情報は、少なくとも、トランザクションのトランザクション・コンテンツ及び復元ユーザの識別子を指し示す。584において、トランザクションに関して同意した、ユーザ・グループ中の各検証されたユーザのサブ鍵が取得され、ここで、検証されたユーザのサブ鍵は、復元ユーザの公開鍵を用いて署名される。ハードウェア・セキュリティ・モジュール160において、トランザクション・キーを復元するための復元メッセージが、管理デバイス110から取得される。復元メッセージは、以下、すなわち、検証されたユーザの数及び復元ユーザの識別子、管理デバイス110の証明書、トランザクション・データ、このトランザクションに関連付けられた関連付け乱数、復元ユーザの公開鍵を用いて署名された他のユーザのサブ鍵及び関連付け乱数、並びに復元メッセージを検証するために使用されるハッシュ値のうちの少なくとも1つを含む。588において、検証されたユーザの数が、第1の所定の値よりも大きいか又はそれに等しいと決定することに応答して、ハードウェア・セキュリティ・モジュール160は、検証されたユーザのサブ鍵に基づいて、トランザクション・キーを復元し、検証されたユーザのサブ鍵は、(トランザクション・キーを分割する段階において分割するなど)事前にトランザクション・キーを分割することによって生成された。590において、ハードウェア・セキュリティ・モジュール160は、トランザクションの実行のための決定されたトランザクション・キーに基づいて、トランザクションに関するトランザクション要求に署名する。上記の方法500を採用することによって、トランザクション・キーのセキュリティが著しく改善され得るだけでなく、トランザクション・キーは、一部のユーザが問題を有するとき、M人のユーザの協力を通して復元され得、それにより、権限管理システムの信頼性を改善する。
【0074】
加えて、トランザクション・キーは、分割され(ハードウェア・セキュリティ・モジュール160において)リモートで復元されるので、鍵が、分割され、ローカルに復元されるときに引き起こされ得るセキュリティ問題は、回避される。
【0075】
上記の図5のデータ・フロー方向では、ハードウェア・セキュリティ・モジュール160は、トランザクション・キーを生成、分割、及び復元することを担当し、管理デバイス110は、ユーザ初期化、ユーザ・グループ及びユーザ決定、サブ鍵キャッシング、並びに検証を担当する。しかしながら、上述のように、ハードウェア・セキュリティ・モジュール160は、管理デバイス110の機能のうちの一部又は全部を担うことができる。2つの機能を区別しない場合、その2つの組合せは、鍵管理システム502と呼ばれる。
【0076】
図6は、本開示の実施例を実装するための電子デバイス600を例示的に示すブロック図である。デバイス600は、図1及び図5中のユーザ・デバイス及び管理デバイスにおける1つ又は複数のホストを実装するために使用され得る。図中に示されているように、デバイス600は、読取り専用メモリ(ROM:read-only memory)602に記憶されたコンピュータ・プログラム命令、又は記憶ユニット608からランダム・アクセス・メモリ(RAM:random access memory)603にロードされたコンピュータ・プログラム命令に従って、様々な適切なアクション及び処理を実行する、中央処理ユニット(CPU:central processing unit)601を含む。RAM603に、デバイス600の動作のために必要とされる様々なプログラム及びデータも、記憶され得る。CPU601、ROM602、及びRAM603は、バス604を通して互いに接続される。入出力(I/O:input/output)インターフェース605も、バス604に接続される。
【0077】
デバイス600における複数の構成要素は、I/Oインターフェース605に接続され、キーボード又はマウスなどの入力ユニット606、様々なタイプのディスプレイ又はスピーカーなどの出力ユニット607、磁気ディスク又は光ディスクなどの記憶ユニット608、及びネットワーク・カード、モデム、又はワイヤレス通信トランシーバなどの通信ユニット609を含む。通信ユニット609は、デバイス600が、インターネット及び/又は様々な電気通信ネットワークなど、コンピュータ・ネットワークを通して他のデバイスと情報/データを交換することができるようにする。
【0078】
処理ユニット601は、上記で説明された様々な方法及びプロセスを実行し、たとえば、鍵を管理するための方法200、300、400、及び500を実行する。たとえば、いくつかの実施例では、方法200、300、400、及び500は、記憶ユニット608など、機械可読媒体に記憶されたコンピュータ・ソフトウェア・プログラムとして実装され得る。いくつかの実施例では、コンピュータ・プログラムのうちの一部又は全部は、ROM602及び/又は通信ユニット609を介してデバイス600上にロード及び/又はインストールされ得る。コンピュータ・プログラムが、RAM603にロードされ、CPU601によって実行されたとき、上記で説明された方法200、300、500の1つ又は複数の動作は、実行され得る。代替的に、他の実施例では、CPU601は、任意の他の好適な手段によって(たとえば、ファームウェアによって)、方法200、300、400、及び500の1つ又は複数のアクションを実施するように構成され得る。
【0079】
しかしながら、当業者は、本開示によるユーザ・デバイスが、通信及び処理機能モジュールと統合されたハードウェア・セキュリティ・デバイス130である場合、ユーザ・デバイスは、図6と組み合わせて上記で説明された1つ又は複数の構成要素を含まないことがあることを理解することができる。
【0080】
類似的に、図1~5と組み合わせて説明されたハードウェア・セキュリティ・モジュール160は、図6中に示されている電子デバイス600の構造の一部をも有し得る。たとえば、最も単純な場合では、ハードウェア・セキュリティ・モジュール160は、図6中に示されているプロセッサ601並びにメモリ602及び/又は603を含み得る。
【0081】
本開示は、方法、装置、システム、及び/又はコンピュータ・プログラム製品であり得る。コンピュータ・プログラム製品は、本開示の態様を実行するためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体を含み得る。
【0082】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用される命令を保ち、記憶することができる有形デバイスであり得る。コンピュータ可読記憶媒体は、たとえば、限定はされないが、電気ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、又は上記の任意の好適な組合せであり得る。コンピュータ可読記憶媒体のより具体的な実例(非網羅的リスト)は、ポータブル・コンピュータ・ディスク、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラマブル読取り専用メモリ(EPROM:erasable programmable read-only memory又はフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、可搬式のコンパクト・ディスク読取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル多用途ディスク(DVD:digital versatile disc)、メモリ・スティック、フロッピー(登録商標)・ディスク、パンチ・カード又は命令が記憶された溝における隆起構造などの機械的符号化デバイス(mechanical encoding device)、及び上記のうちのいずれかの適切な組合せを含む。本明細書で使用されるコンピュータ可読記憶媒体は、電波又は他の自由に伝搬する電磁波、導波路又は他の伝送媒体を通して送信される電磁波(たとえば、光ファイバー・ケーブルを通る光パルス)、或いは電線を通して送信される電気通信信号など、過渡信号自体と解釈されるべきではない。
【0083】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から、様々なコンピューティング/処理デバイスにダウンロードされるか、或いはインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、及び/又は無線ネットワークなど、ネットワークを介して、外部コンピュータ又は外部ストレージ・デバイスにダウンロードされ得る。ネットワークは、銅伝送ケーブル、光ファイバー送信、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、及び/又はエッジ・サーバを含み得る。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カード又はネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、各コンピューティング/処理デバイスにおけるコンピュータ可読記憶媒体に記憶するために、コンピュータ可読プログラム命令をフォワーディングする。
【0084】
本開示の動作を実施するためのコンピュータ・プログラム命令は、Smalltalk、C++などのオブジェクト指向プログラミング言語、及び「C」言語又は類似のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つ又は複数のプログラミング言語の任意の組合せで記述された、アセンブリ命令、命令セット・アーキテクチャ(ISA:instruction set architecture)命令、機械命令、機械関連命令(machine-related instruction)、マイクロコード、ファームウェア命令、状態設定データ、或いはソース・コード又はオブジェクト・コードであり得る。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で完全に、ユーザのコンピュータ上で部分的に実行されるか、ユーザのコンピュータ上で部分的に及びリモート・コンピュータ上で部分的に、スタンドアロン・ソフトウェア・パッケージとして実行されるか、或いはリモート・コンピュータ又はサーバ上で完全に実行され得る。リモート・コンピュータの場合、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN:local area network)又はワイド・エリア・ネットワーク(WAN:wide area network)を含む、任意の種類のネットワークを通してユーザのコンピュータに接続され得るか、或いはそれは、(インターネット・サービス・プロバイダを使用するインターネット接続など)外部コンピュータに接続され得る。いくつかの実施例では、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA:field programmable gate array)、又はプログラマブル論理アレイ(PLA:programmable logic array)など、電子回路が、コンピュータ可読プログラム命令の状態情報を使用することによってパーソナライズされる。電子回路は、本開示の様々な態様を実装するために、コンピュータ可読プログラム命令を実行することができる。
【0085】
本開示の様々な態様が、本開示の実施例による方法、デバイス(システム)及びコンピュータ・プログラム製品のフローチャート及び/又はブロック図を参照しながら本明細書で説明された。フローチャート及び/又はブロック図の各ブロック、並びにフローチャート及び/又はブロック図中のブロックの組合せが、コンピュータ可読プログラム命令によって実装され得ることを理解されたい。
【0086】
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ、又は他のプログラマブル・データ処理デバイスの処理ユニットに提供され得、それにより、これらの命令が、コンピュータ又は他のプログラマブル・データ処理デバイスの処理ユニットによって実行されたとき、フローチャート及び/又はブロック図中の1つ又は複数のブロックにおいて規定された機能/アクションを実装するデバイスを生成することを可能にするように、機械をもたらす。コンピュータ、プログラマブル・データ処理装置、及び/又は他のデバイスを、特定の様式で作動するようにするこれらのコンピュータ可読プログラム命令はまた、コンピュータ可読記憶媒体に記憶され得る。それゆえ、命令を記憶するコンピュータ可読媒体は、フローチャート及び/又はブロック図中の1つ又は複数のブロックにおいて規定された機能/アクションの様々な態様を実装するための命令を含む、製造物品を含む。
【0087】
コンピュータ可読プログラム命令はまた、一連の動作ステップが、コンピュータ実装プロセス(computer-implementing process)をもたらすために、コンピュータ、他のプログラマブル・データ処理デバイス、又は他のデバイス上で実施され得るように、コンピュータ、他のプログラマブル・データ処理デバイス、又は他のデバイス上にロードされ得る。その結果、コンピュータ、他のプログラマブル・データ処理デバイス、又は他のデバイス上で実行された命令は、フローチャート及び/又はブロック図中の1つ又は複数のブロックにおいて規定された機能/アクションを実装することができる。
【0088】
図中のフローチャート及びブロック図は、本開示の様々な実施例によるシステム、方法及びコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、及び動作を図示する。この点について、フローチャート又はブロック図中の各ブロックは、モジュール、プログラム・セグメント、又は命令の一部を表し得る。モジュール、プログラム・セグメント又は命令の一部は、定められた論理関数を実装するための1つ又は複数の実行可能な命令を含んでいる。いくつかの代替実装形態では、ブロックにおいてマークされた機能は、図面においてマークされたものとは異なる順序でも起こり得る。たとえば、2つの連続するブロックは、実際に、実質的に並列に実行され得、それらは、時には、関与する機能に応じて逆順で実行され得る。また、ブロック図及び/又はフローチャート中の各ブロック、並びにブロック図及び/又はフローチャート中のブロックの組合せは、規定された機能又はアクションを実施する専用ハードウェアベースのシステムによって実装され得るか、或いはそれは、専用ハードウェア及びコンピュータ命令の組合せを用いて実装され得ることに留意されたい。
【0089】
本開示の実施例が、上記で説明され、上記の説明は、例示的であって、網羅的ではなく、開示される実施例に限定されない。多くの変更形態及び変形形態が、説明された実施例の範囲及び趣旨から逸脱することなく、当業者に明らかであろう。本明細書で使用される用語は、マーケットにおける実施例、実際的適用例又は技術改善の原理を最も良く解説するように、或いは他の当業者が、本明細書で開示された実施例を理解することを可能にするように選択される。
【0090】
上記の説明は、本開示の随意の実施例にすぎず、本開示を限定するものではない。当業者にとって、本開示は、様々な変更形態及び変更を有し得る。本開示の趣旨及び原理内でなされるどんな変更形態、等価の置換、及び改善も、本開示の保護範囲中に含まれるものとする。
図1
図2
図3
図4
図5
図6
【国際調査報告】