(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-06
(54)【発明の名称】ユーザ生体認証による分散型ID
(51)【国際特許分類】
G06F 21/32 20130101AFI20240730BHJP
G06F 21/62 20130101ALI20240730BHJP
H04L 9/32 20060101ALI20240730BHJP
【FI】
G06F21/32
G06F21/62
H04L9/32 100D
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024502509
(86)(22)【出願日】2022-06-01
(85)【翻訳文提出日】2024-01-16
(86)【国際出願番号】 US2022031721
(87)【国際公開番号】W WO2023003638
(87)【国際公開日】2023-01-26
(32)【優先日】2021-07-22
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】502303739
【氏名又は名称】オラクル・インターナショナル・コーポレイション
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】マヌエル-デバドス,ジョンソン
(57)【要約】
ユーザ生体認証による分散型IDのためのシステム、方法、および他の実施形態が本明細書に提示される。一実施形態では、方法は、コンピューティング装置によるクラウドサービスプロバイダのリソースへのアクセス要求に応答して、生体認証秘密キーの要求をユーザに関連付けられたモバイル装置に送信するステップと、生体認証秘密キーの受信に応答して、ユーザおよびモバイル装置に関連付けられたブロックチェーンに対する検証のために生体認証秘密キーをサブミットするステップと、検証の結果の記録をブロックチェーンに追加するステップと、(i)記録が検証は失敗したことを示している場合はアクセスを拒否し、(ii)記録が検証は成功したことを示している場合はアクセスを許可することにより、ブロックチェーン内の記録に基づいてクラウドサービスプロバイダのリソースへのアクセスを制御するステップと、を含む。
【特許請求の範囲】
【請求項1】
コンピュータによって実行される方法であって、
コンピューティング装置によるクラウドサービスプロバイダのリソースへのアクセス要求に応答して、生体認証秘密キーの要求をユーザに関連付けられたモバイル装置に送信するステップと、
前記生体認証秘密キーの受信に応答して、前記ユーザおよび前記モバイル装置に関連付けられたブロックチェーンに対する検証のために前記生体認証秘密キーをサブミットするステップと、
前記検証の結果の記録をブロックチェーンに追加するステップと、
(i)前記記録が検証は失敗したことを示している場合はアクセスを拒否し、(ii)前記記録が検証は成功したことを示している場合はアクセスを許可することにより、前記ブロックチェーン内の前記記録に基づいて前記クラウドサービスプロバイダの前記リソースへのアクセスを制御するステップと、を含む、方法。
【請求項2】
前記ブロックチェーンは、前記クラウドサービスプロバイダおよび1つまたは複数の他のクラウドサービスプロバイダの各々によって維持され、(i)前記記録が検証は失敗したことを示す場合、前記他のクラウドサービスプロバイダのリソースへのアクセスを拒否し、(ii)前記記録が検証は成功したことを示す場合、前記他のクラウドサービスプロバイダの前記リソースへのアクセスを許可することにより、前記ブロックチェーン内の前記記録に基づいて前記他のクラウドリソースプロバイダの前記リソースへのアクセスを制御するステップをさらに含む、請求項1に記載のコンピュータによって実行される方法。
【請求項3】
前記ユーザに前記モバイル装置を使用して生体認証座標を入力するよう促すことと、
前記モバイル装置の生体認証入力装置から前記生体認証座標を受け取ることと、
前記モバイル装置によって前記生体認証座標から前記生体認証秘密キーを生成することとにより、前記生体認証秘密キーを生成するステップと、
前記ユーザと前記モバイル装置に関連付けられた前記ブロックチェーン内の初期記録ブロックとして含めるために前記生体認証秘密キーをサブミットすることにより、前記ユーザを登録するステップと、をさらに含む、請求項1または2に記載のコンピュータによって実行される方法。
【請求項4】
前記記録は、検証が失敗したことを示し、
前記記録に続いてサブミットされた後続の生体認証キーの検証を失敗させるステップと、
前記ユーザに前記クラウドサービスプロバイダの前記リソースへのアクセスが許可される前に、前記ユーザと前記モバイル装置に関連付けられた新しいブロックチェーンを作成するために前記ユーザの再登録を要求するステップと、をさらに含む、請求項1、請求項2、または請求項3に記載のコンピュータによって実行される方法。
【請求項5】
前記生体認証秘密キーは、指紋生体認証座標、顔生体認証座標、および網膜生体認証座標のうちの1つまたは複数から生成される、請求項1、請求項2、請求項3、または請求項4に記載のコンピュータによって実行される方法。
【請求項6】
コンピュータ実行可能な命令が記憶された非一時的なコンピュータ可読媒体であって、前記命令は、コンピュータの少なくともプロセッサによって実行されると、前記コンピュータに、
コンピューティング装置によるクラウドサービスプロバイダのリソースへのアクセス要求に応答して、生体認証秘密キーの要求をユーザに関連付けられたモバイル装置に送信することと、
前記生体認証秘密キーの受信に応答して、前記ユーザおよび前記モバイル装置に関連付けられたブロックチェーンに対する検証のために前記生体認証秘密キーをサブミットすることと、
前記検証の結果の記録を前記ブロックチェーンに追加することと、
(i)前記記録が検証は失敗したことを示している場合はアクセスを拒否し、(ii)前記記録が検証は成功したことを示している場合はアクセスを許可することにより、前記ブロックチェーン内の前記記録に基づいて前記クラウドサービスプロバイダの前記リソースへのアクセスを制御することとを行なわせる、非一時的なコンピュータ可読媒体。
【請求項7】
前記ブロックチェーンは、前記クラウドサービスプロバイダおよび1つまたは複数の他のクラウドサービスプロバイダの各々によって維持され、前記命令は、さらに前記コンピュータに、(i)前記記録が検証は失敗したことを示す場合、前記他のクラウドサービスプロバイダのリソースへのアクセスを拒否すること、(ii)前記記録が検証は成功したことを示す場合、前記他のクラウドサービスプロバイダの前記リソースへのアクセスを許可することにより、前記ブロックチェーン内の前記記録に基づいて、前記他のクラウドリソースプロバイダの前記リソースへのアクセスを制御することを行なわせる、請求項6に記載の非一時的なコンピュータ可読媒体。
【請求項8】
前記命令は、前記ユーザを登録するための命令を含み、前記命令は、前記コンピュータにさらに、
前記ユーザに前記モバイル装置を使用して生体認証座標を入力するよう促すことと、
前記モバイル装置によって前記生体認証座標から前記生体認証秘密キーを生成することと、
前記ユーザと前記モバイル装置に関連付けられた前記ブロックチェーンの初期記録ブロックとして含めるために、前記生体認証秘密キーをサブミットすることとを行なわせる、請求項6または請求項7に記載の非一時的なコンピュータ可読媒体。
【請求項9】
前記命令は、前記生体認証秘密キーを生成するための命令を含み、前記命令は、前記コンピュータにさらに、
前記ユーザに前記モバイル装置を使用して生体認証座標を入力するよう促すことと、
前記モバイル装置の生体認証入力装置から前記生体認証座標を受け取ることと、
前記モバイル装置によって前記生体認証座標から前記生体認証秘密キーを生成することとを行なわせ、
前記生体認証秘密キーは、Advanced Encryption Standard(AES)キーまたはRivest-Shamir-Adleman(RSA)キーである、請求項6または請求項7に記載の非一時的なコンピュータ可読媒体。
【請求項10】
フェデレーションIDプロバイダがピアとして機能し、前記生体認証秘密キーの前記検証を実行し、前記IDプロバイダ内で維持される前記ブロックチェーンに結果の前記記録を追加し、前記記録を前記クラウドサービスプロバイダおよび前記他のクラウドサービスプロバイダに伝播して、前記クラウドサービスプロバイダおよび前記他のクラウドサービスプロバイダによって維持される前記ブロックチェーンのコピーに含める、請求項6、請求項7、請求項8、または請求項9に記載の非一時的なコンピュータ可読媒体。
【請求項11】
コンピューティングシステムであって、
プロセッサと、
前記プロセッサに動作可能に接続されたメモリと、
前記プロセッサおよびメモリに動作可能に接続されてコンピュータ実行可能命令を記憶している非一時的なコンピュータ可読媒体と、を備え、前記命令は、コンピュータの少なくともプロセッサによって実行されると、前記コンピューティングシステムに、
コンピューティング装置によるクラウドサービスプロバイダのリソースへのアクセス要求に応答して、生体認証秘密キーの要求をユーザに関連付けられたモバイル装置に送信することと、
前記生体認証秘密キーの受信に応答して、前記ユーザおよび前記モバイル装置に関連付けられたブロックチェーンに対する検証のために前記生体認証秘密キーをサブミットすることと、
前記検証の結果の記録を前記ブロックチェーンに追加することと、
(i)前記記録が検証は失敗したことを示している場合はアクセスを拒否し、(ii)前記記録が検証は成功したことを示している場合はアクセスを許可することにより、前記ブロックチェーン内の前記記録に基づいて、前記クラウドサービスプロバイダの前記リソースへのアクセスを制御する、コンピューティングシステム。
【請求項12】
前記ブロックチェーンは、前記クラウドサービスプロバイダおよび1つまたは複数の他のクラウドサービスプロバイダの各々によって維持され、前記命令により、前記コンピューティングシステムはさらに、(i)前記記録が検証は失敗したことを示す場合、前記他のクラウドサービスプロバイダのリソースへのアクセスを拒否し、(ii)前記記録が検証は成功したことを示す場合、前記他のクラウドサービスプロバイダの前記リソースへのアクセスを許可することにより、前記ブロックチェーン内の前記記録に基づいて前記他のクラウドリソースプロバイダの前記リソースへのアクセスを制御する、請求項11に記載のコンピューティングシステム。
【請求項13】
前記命令は、前記ユーザを登録するための命令を含み、当該命令は、前記コンピューティングシステムにさらに、
前記ユーザに前記モバイル装置を使用して生体認証座標を入力するよう促すことと、
前記モバイル装置によって前記生体認証座標から前記生体認証秘密キーを生成することと、
前記ユーザと前記モバイル装置に関連付けられた前記ブロックチェーンの初期記録ブロックとして含めるために、前記生体認証秘密キーをサブミットすることとを行なわせる、請求項11または請求項12に記載のコンピューティングシステム。
【請求項14】
前記命令は、前記生体認証秘密キーを生成するための命令を含み、当該命令は、前記コンピューティングシステムにさらに、
前記ユーザに前記モバイル装置を使用して生体認証座標を入力するよう促すことと、
前記モバイル装置の生体認証入力装置から前記生体認証座標を受け取ることと、
前記モバイル装置によって前記生体認証座標から前記生体認証秘密キーを生成することとを行なわせる、請求項11または請求項12に記載のコンピューティングシステム。
【請求項15】
前記命令は、前記コンピューティングシステムにさらに、
前記ブロックチェーンを前記クラウドサービスプロバイダのキーストアに記憶することと、
前記生体認証秘密キーの前記検証を実行することと、
前記結果の前記記録を前記キーストアの前記ブロックチェーンに追加することと、
他のクラウドサービスプロバイダのキーストアに保持されている前記ブロックチェーンのコピーに含めるために、前記記録を前記他のクラウドサービスプロバイダに伝播することとを行わせる、請求項11、請求項12、請求項13、または請求項14に記載のコンピューティングシステム。
【発明の詳細な説明】
【背景技術】
【0001】
背景
多要素認証(MFA)は、2つ以上の「要素」を認証者に提示した後にのみ、ユーザが安全なコンピューティングシステムまたはアプリケーションへのアクセスを許可される認証方法である。要素とは、ユーザのIDを確認する証拠の項目であり、例えば、知識要素-ユーザのみが知っているもの、所有要素-ユーザだけが持つもの、または固有の要素-ユーザだけがそうであるもの、場所要素-ユーザのみがいる場所、またはユーザに固有に関連付けられたその他の要素などである。所有要素の1つの形式は、認証者のみが知っているシードからワンタイムパスワードまたはパスコードを生成するトークン装置である。このパスワードは秘密キーであり得る。トークン装置は、認証要素として安全なコンピューティングシステムに後で提供するための、ワンタイムパスワードをユーザに(例えば、LCDまたはLED7セグメントアレイなどのディスプレイ上で)提示する切断されたトークン装置、または(ii)認証要素として安全なコンピューティングシステムに後で提供するための、安全なコンピューティングシステムにアクセスするために(例えばUSBまたは無線インターフェイス経由で)ユーザが使用しているコンピューティングシステムにワンタイムパスワードを直接提示する接続されたトークン装置のいずれかであり得る。トークン装置の重大な欠点の1つは、ユーザが安全なコンピューティングシステムにアクセスする必要があるときに、トークン装置を常に携帯できるとは限らないことである。さらに悪いことに、トークン装置が損傷するか故障し、ユーザが安全なコンピューティングシステムにアクセスできなくなる可能性がある。また、トークン装置がユーザから盗まれる可能性があり、悪意のあるユーザが安全なコンピューティングシステムにアクセスできるようになる可能性がある。さらに、ユーザが安全なコンピューティングシステムにアクセスしようとする前に、ユーザのIDを検証するためのパスワードを生成するシステムは、パスワードの生成とアクセス試行の間に、悪意のあるユーザがパスワードを傍受して使用する機会を与えるため、セキュリティが低下する。
【発明の概要】
【課題を解決するための手段】
【0002】
概要
一実施形態では、以下を含むコンピュータによって実行される方法が提供され、コンピューティング装置によるクラウドサービスプロバイダのリソースへのアクセス要求に応答して、生体認証秘密キーの要求をユーザに関連付けられたモバイル装置に送信するステップと、生体認証秘密キーの受信に応答して、ユーザおよびモバイル装置に関連付けられたブロックチェーンに対する検証のために生体認証秘密キーをサブミットするステップと、検証の結果の記録をブロックチェーンに追加するステップと、ブロックチェーン内の記録に基づいて、(i)記録が検証は失敗したことを示す場合はアクセスを拒否し、(ii)記録が検証は成功したことを示す場合はアクセスを許可することにより、クラウドサービスプロバイダのリソースへのアクセスを制御するステップと、を含む。
【0003】
一実施形態では、ブロックチェーンは、クラウドサービスプロバイダおよび1つまたは複数の他のクラウドサービスプロバイダの各々によって維持され、コンピュータによって実行される方法は、(i)記録が検証は失敗したことを示す場合、他のクラウドサービスプロバイダのリソースへのアクセスを拒否し、(ii)記録が検証は成功したことを示す場合、他のクラウドサービスプロバイダのリソースへのアクセスを許可することによりブロックチェーン内の記録に基づいて他のクラウドリソースプロバイダのリソースへのアクセスを制御するステップをさらに含む、コンピュータによって実行される方法。
【0004】
一実施形態では、コンピュータによって実行される方法は、さらに、ユーザにモバイル装置を使用して生体認証座標を入力するよう促し、モバイル装置の生体認証入力装置から生体認証座標を受け取り、モバイル装置によって生体認証座標から生体認証秘密キーを生成することにより、生体認証秘密キーを生成するステップと、ユーザとモバイル装置に関連付けられたブロックチェーン内の初期記録ブロックとして含めるために生体認証秘密キーをサブミットすることにより、ユーザを登録するステップと、を含む。
【0005】
一実施形態では、記録が検証は失敗したことを示し、コンピュータによって実行される方法は、記録に続いてサブミットされた後続の生体認証キーの検証を失敗させるステップと、ユーザにクラウドサービスプロバイダのリソースへのアクセスが許可される前に、ユーザとモバイル装置に関連付けられた新しいブロックチェーンを作成するためにユーザの再登録を要求するステップと、をさらに含む、コンピュータによって実行される方法。
【0006】
一実施形態では、生体認証秘密キーは、指紋生体認証座標、顔生体認証座標、および網膜生体認証座標のうちの1つまたは複数から生成される、コンピュータによって実行される方法。
【0007】
一実施形態では、コンピュータの少なくともプロセッサによって実行されると、コンピュータに以下を行わせるコンピュータ実行可能命令を記憶した非一時的なコンピュータ可読媒体が提供され、コンピューティング装置によるクラウドサービスプロバイダのリソースへのアクセス要求に応答して、生体認証秘密キーの要求をユーザに関連付けられたモバイル装置に送信し、生体認証秘密キーの受信に応答して、ユーザおよびモバイル装置に関連付けられたブロックチェーンに対する検証のために生体認証秘密キーをサブミットし、検証の結果の記録をブロックチェーンに追加し、ブロックチェーン内の記録に基づいて、(i)記録が検証は失敗したことを示す場合はアクセスを拒否し、(ii)記録が検証は成功したことを示す場合はアクセスを許可することにより、クラウドサービスプロバイダのリソースへのアクセスを制御する。
【0008】
一実施形態では、ブロックチェーンは、クラウドサービスプロバイダおよび1つまたは複数の他のクラウドサービスプロバイダの各々によって維持され、さらに、この命令により、コンピュータは、(i)記録が検証は失敗したことを示す場合、他のクラウドサービスプロバイダのリソースへのアクセスを拒否し、(ii)記録が検証は成功したことを示す場合、他のクラウドサービスプロバイダのリソースへのアクセスを許可するにより、ブロックチェーン内の記録に基づいて他のクラウドリソースプロバイダのリソースへのアクセスを制御する、非一時的なコンピュータ可読媒体。
【0009】
一実施形態では、この命令には、ユーザを登録するための命令が含まれており、これによりコンピュータはさらに次のことを実行し、ユーザにモバイル装置を使用して生体認証座標を入力するよう促し、モバイル装置によって生体認証座標から生体認証秘密キーを生成し、ユーザとモバイル装置に関連付けられたブロックチェーンの初期記録ブロックとして含めるために、生体認証秘密キーをサブミットする、非一時的なコンピュータ可読媒体。
【0010】
一実施形態では、この命令には、生体認証秘密キーを生成するための命令が含まれており、これによりコンピュータはさらに次のことを実行し、ユーザにモバイル装置を使用して生体認証座標を入力するよう促し、モバイル装置の生体認証入力装置から生体認証座標を受け取り、モバイル装置によって生体認証座標から生体認証秘密キーを生成し、生体認証秘密キーは、Advanced Encryption Standard(AES)キーまたはRivest-Shamir-Adleman(RSA)キーである、非一時的なコンピュータ可読媒体。
【0011】
一実施形態では、フェデレーションIDプロバイダがピアとして機能し、生体認証秘密キーの検証を実行し、IDプロバイダ内で維持されるブロックチェーンに結果の記録を追加し、クラウドサービスプロバイダおよび他のクラウドサービスプロバイダが維持するブロックチェーンのコピーに含めるために、記録をクラウドサービスプロバイダおよび他のクラウドサービスプロバイダに伝播する、非一時的なコンピュータ可読媒体。
【0012】
一実施形態では、以下を含むコンピューティングシステムが提供され、プロセッサと、プロセッサに動作可能に接続されたメモリと、プロセッサおよびメモリに動作可能に接続され、コンピュータの少なくともプロセッサによって実行されると、コンピュータシステムに以下を行わせるコンピュータ実行可能命令を記憶する非一時的なコンピュータ可読媒体と、を含み、コンピューティング装置によるクラウドサービスプロバイダのリソースへのアクセス要求に応答して、生体認証秘密キーの要求をユーザに関連付けられたモバイル装置に送信し、生体認証秘密キーの受信に応答して、ユーザおよびモバイル装置に関連付けられたブロックチェーンに対する検証のために生体認証秘密キーをサブミットし、検証の結果の記録をブロックチェーンに追加し、ブロックチェーン内の記録に基づいて、(i)記録が検証は失敗したことを示す場合はアクセスを拒否し、(ii)記録が検証は成功したことを示す場合はアクセスを許可することにより、クラウドサービスプロバイダのリソースへのアクセスを制御する。
【0013】
一実施形態では、ブロックチェーンは、クラウドサービスプロバイダおよび1つまたは複数の他のクラウドサービスプロバイダの各々によって維持され、この命令により、コンピューティングシステムはさらに、(i)記録が検証は失敗したことを示す場合、他のクラウドサービスプロバイダのリソースへのアクセスを拒否し(ii)記録が検証は成功したことを示す場合、他のクラウドサービスプロバイダのリソースへのアクセスを許可することによりブロックチェーン内の記録に基づいて他のクラウドリソースプロバイダのリソースへのアクセスを制御する、コンピューティングシステム。
【0014】
一実施形態では、この命令には、ユーザを登録するための命令が含まれており、これによりコンピューティングシステムはさらに次のことを実行し、ユーザにモバイル装置を使用して生体認証座標を入力するよう促し、モバイル装置によって生体認証座標から生体認証秘密キーを生成し、ユーザとモバイル装置に関連付けられたブロックチェーンの初期記録ブロックとして含めるために、生体認証秘密キーをサブミットする、コンピューティングシステム。
【0015】
一実施形態では、この命令には、コンピューティングシステムにさらに次のことを行わせる生体認証秘密キーを生成するための命令が含まれ、ユーザにモバイル装置を使用して生体認証座標を入力するよう促し、モバイル装置の生体認証入力装置から生体認証座標を受け取り、モバイル装置によって生体認証座標から生体認証秘密キーを生成する、コンピューティングシステム。
【0016】
一実施形態では、この命令により、コンピューティングシステムはさらに次のことを実行し、ブロックチェーンをクラウドサービスプロバイダのキーストアに記憶し、生体認証秘密キーの検証を実行し、結果の記録をキーストアのブロックチェーンに追加し、他のクラウドサービスプロバイダのキーストアに保持されているブロックチェーンのコピーに含めるために、記録を他のクラウドサービスプロバイダに伝播する、コンピューティングシステム。
【0017】
本明細書に組み込まれ、その一部を構成する添付図面は、本開示のさまざまなシステム、方法、および他の実施形態を示す。図中に示される要素境界(例えば、ボックス、ボックスのグループ、または他の形状)は、境界の一実施形態を表すことが理解されるであろう。いくつかの実施形態では、1つの要素が複数の要素として実装されてもよく、または複数の要素が1つの要素として実装されてもよい。いくつかの実施形態では、別の要素の内部コンポーネントとして示されている要素は、外部コンポーネントとして実現することができ、その逆も同様である。さらに、要素は正確な縮尺で描かれていない場合がある。
【図面の簡単な説明】
【0018】
【
図1】ユーザ生体認証による分散型IDの提供に関連するコンピューティングシステムの一実施形態を示す図である。
【
図2】ユーザ生体認証による分散型IDの提供に関連する方法の一実施形態を示す図である。
【
図3】ユーザ生体認証による分散型IDの提供に関連する生体認証秘密キー生成方法の一実施形態を示す図である。
【
図4】ユーザ生体認証による分散型IDの提供に関連する侵害されたユーザIDの再登録を強制するための方法の一実施形態を示す図である。
【
図5】本明細書で説明されるユーザ生体認証による分散型IDの提供に関連するシステムおよび方法のうちの1つまたは複数、および/または同等物を用いて構成および/またはプログラムされる例示的なモバイル装置を示す。
【
図6】本明細書に記載されるユーザ生体認証による分散型IDの提供に関連する1つまたは複数の例示的なシステムおよび方法、および/または同等物を備えた専用コンピューティング装置として構成および/またはプログラムされる例示的なコンピューティングシステムを示す。
【発明を実施するための形態】
【0019】
詳細な説明
本明細書では、ユーザの生体認証を用いて分散型IDを提供するシステムおよび方法について説明する。一実施形態では、ユーザ生体認証による分散型IDのシステムおよび方法は、指紋、顔または網膜走査座標などのユーザの生体認証座標を使用してパスワード(秘密キー)を生成するフェデレーション信頼プラットフォームを形成することによって、上述の所有要素パスワード生成の欠点を克服する。本明細書で説明するシステムおよび方法は、クラウドプロバイダ間の分散型IDプロバイダが人間の生体認証を使用して多要素認証を提供する必要性を満たす。
【0020】
一実施形態では、フェデレーション信頼プラットフォームは、クラウドシステムなどの安全なコンピューティングシステムにアクセスするために使用され、フェデレーション信頼関係を通じてクラウドプロバイダ間のより緊密な統合を確立する。一実施形態では、ユーザの生体認証特徴(例えば、カメラ、専用の指紋スキャナ、専用の網膜スキャナ、網膜画像を撮影するように構成されたカメラ、または他の感知装置であるが、本明細書ではまとめて生体認証入力装置と呼ぶ)を観察できる入力装置を備えたユーザコンピューティング装置は、ユーザの生体認証座標に基づいて秘密キーを生成する所有要素トークン装置として機能するようにソフトウェアによって構成される。
【0021】
一実施形態では、本明細書に記載されるシステムおよび方法は、アプリストアによって提供され、生体認証入力装置を備えたモバイル装置などのユーザコンピューティング装置にダウンロード可能なモバイルアプリケーションなどのアプリケーションを含む。モバイルアプリケーションは、インストールされると、本明細書で説明するように、トークン装置として機能するようにユーザコンピューティング装置を構成する。ユーザは、アプリケーションを使用した初期登録動作でシステムに追加される。システムはユーザに、アプリケーションを使用して拇印、指紋、または目の網膜走査座標を提供するよう要求する。ユーザはアプリケーションを開き、親指または指を指紋スキャナに置くか、網膜スキャナまたはカメラ(モバイル装置のカメラなど)の前に目を置くことで、自分のIDを登録する。アプリはユーザの指紋または目の網膜座標を読み取り、秘密キーを生成する。
【0022】
登録後、ユーザがクラウドプラットフォームやクラウドサービスプロバイダなどの安全なコンピューティングシステムにアクセスしようとすると、安全なコンピューティングシステムは、ユーザ要求を、本明細書で説明されるシステムおよび方法に従って構成されるフェデレーション信頼プラットフォームのサーバにリダイレクトする。フェデレーション信頼プラットフォームは、ユーザにカメラの前に目を置くか、アプリケーションを使用して指紋を走査して、秘密キーに対して検証するように促す。秘密キーが検証されると、許可する要求がクラウドプロバイダに送信される。
【0023】
ブロックチェーンは、暗号的にリンクされた記録またはブロックの増大するリストである。ブロックには通常、トランザクションデータ、タイムスタンプ、および前のブロックの整合性を確認するチェーン内の以前のブロックの暗号化ハッシュが含まれる。ブロックチェーンを使用すると、複数のクラウドプロバイダ間のユーザトランザクションを記録するための共有デジタル台帳を実現できる。ユーザトランザクションが実行され検証されると、そのトランザクションはブロックチェーンの最後に追加され、ブロックチェーンはすべての有効なトランザクションの不変の履歴になる。
【0024】
一実施形態では、本明細書に記載のシステムおよび方法は、クラウドプロバイダと本明細書に記載のフェデレーション信頼プラットフォームとの間にブロックチェーンネットワークを作成する。一実施形態では、本明細書で説明されるフェデレーション信頼プラットフォームは、分散型認証局(CA)においてマスターとして機能し、複数のクラウドプロバイダがスレーブとして機能する。各スレーブクラウドプロバイダは、ブロックチェーンネットワーク内のピアとして追加される。各スレーブクラウドプロバイダは、マスターから信頼のルート証明書を取得し、それをクラウドプロバイダのキーストアに記憶する。スレーブ(さまざまなクラウドプロバイダ)は、マスター(本明細書で説明するフェデレーション信頼プラットフォーム)からの信頼のルート証明書のみを必要とする。マスターは、ビジネスネットワーク内でより緊密な信頼関係を確立するために、各スレーブクラウドプロバイダからの信頼のルート証明書とアドレスを必要とする。マスターのフェデレーション信頼プラットフォームは、ネットワーク構成ファイルとポリシーファイルをロードし、そのポリシーをスレーブクラウドプロバイダに共有して、ブロックチェーンへの部分IDブロックのロードを受け取る。分散CAが開始されると、各クラウドプロバイダのキーストアシステムに記憶される秘密キーが配布される。一実施形態では、秘密キーはシャード(秘密キーの一部)として配布され、その一部を秘密キーの再構築に使用することができる。例えば、アマゾンウェブサービス(AWS)クラウドプロバイダでは、秘密キーの記憶にキー管理サービス(KMS)キーストアが使用される。または、別の例では、Microsoft Azureクラウドプロバイダでは、秘密キーを記憶するためにKeyvaultキーストアが使用される。さらに別の例では、Oracle Cloud Infrastructure(OCI)で、Java(登録商標)キーストア(JKS)を使用して秘密キーが記憶される。次に、マスターフェデレーション信頼プラットフォームは、CA公開キーを証明書署名要求(CSR)としてラップし、ラップされたキーを部分IDブロックに追加して、ブロックチェーンの初期ブロックまたはジェネシスブロックを形成する。次に、マスターフェデレーション信頼プラットフォームは、各クラウドプロバイダに中間認証局(ICA)をプロビジョニングする。各クラウドプロバイダはICAキーペアを生成し、ICA秘密キーはクラウドプロバイダノードのキーストアに記憶され、公開キーはCSRとしてラップされ、「帯域外」で、またはプライマリネットワーク(またはネットワークチャネル)とは別のネットワーク(またはネットワークチャネル)上で、マスターフェデレーション信頼プラットフォームと共有される。次に、マスターフェデレーション信頼プラットフォームは、各クラウドプロバイダのIDユーザカウントをプロビジョニングし、モバイルアプリケーションを使用して生体認証IDキーを生成する。CSRとしてラップされた公開キーは、帯域外でマスター(フェデレーション信頼プラットフォームなど)と共有される。マスターは、システムスマートコントラクト(自己実行コントラクトとも呼ばれ、契約条項が、契約条件が満たされたときに実行されるコードとして記述されている)を呼び出して、クラウドプロバイダのICACSRの各々を登録し、証明書を再構築、出力する。
【0025】
マスターは、システムコントラクトをさらに呼び出して、管理者CSRの各々を登録し、証明書を出力する。マスターは証明書を部分IDブロックに追加する。各クラウドプロバイダの各IDユーザは、クラウドピアノードの公開キー/秘密キーのペアを作成する。したがって、秘密キーがノードキーストアに追加され、公開キーがCSRとしてラップされ、各IDユーザがピアノードを追加するためのシステムスマートコントラクトを呼び出す。機能呼び出しは、呼び出し元のクラウドプロバイダのICAによって(例えば、モバイルアプリからの)ユーザIDキーを使用して署名され、ピア証明書が形成される。呼び出し元のクラウドプロバイダは、ピア証明書をマスターフェデレーション信頼プロバイダに送信して、ブロックチェーンのIDブロックに挿入する。IDブロックは最終的に処理され、スレーブに送信される。このユーザID(ユーザとモバイル装置の組み合わせ)のブロックチェーンネットワークがアクティブになった。
【0026】
いくつかのシナリオでは、(例えば、
図1の分散型(およびブロックチェーンベースの)生体認証IDコンポーネント125を参照して示されおよび説明されたように)IDソリューションを提供するために、個別のブロックチェーンシステムが各クラウドプロバイダに展開されてもよい。各ブロックチェーンシステムは、クラウドプロバイダ、企業、および企業IDプロバイダの間にビジネスネットワークアーカイブ(ブロックチェーンネットワーク)を作成し得る。別の実施形態では、マルチクラウドIDは、クラウドプロバイダの各々において区別可能なブロックチェーンシステムを組み合わせた相互動作可能なブロックチェーンアーキテクチャによって提供され得る。このような相互動作可能なブロックチェーンアーキテクチャでは、各ブロックチェーンシステムが分散データ台帳を表し、クラウドIDトランザクションの実行は、結合された複数のブロックチェーンシステムにまたがる場合があり、1つのブロックチェーンに記録されたデータは、意味的に互換性のある方法で、別のおそらく外部トランザクションから到達可能で検証可能である。
【0027】
他の実施形態では、ブロックチェーンシステムと連動するモバイルアプリケーションがダウンロード用に提供されてもよい。例えば、ブロックチェーンシステムのユーザは、アプリストアからモバイルアプリケーションをダウンロードする。ユーザをシステムに登録する際、本発明はユーザに、モバイルアプリを使用して指紋、顔、または目の網膜走査座標などの生体認証情報を提供するよう要求する。ユーザはアプリを開き、画面上に指を置くか、モバイル装置のカメラ付近の前に顔や目を見せることで、自分のIDを登録する。アプリはユーザの指紋または目の網膜座標を読み取り、秘密キーを生成し、秘密キーを使用してブロックチェーンプラットフォームに登録する。ユーザがクラウドプラットフォームにアクセスすると、クラウドプラットフォームはユーザの要求をブロックチェーンプラットフォームにリダイレクトしてユーザIDを検証し、ユーザはモバイルアプリを開いて指紋、顔、または網膜走査座標を提供してブロックチェーンプラットフォームで認証する。モバイルアプリケーションによるプロンプトに応答して、ブロックチェーンプラットフォームにより記憶されているユーザの秘密キーに対して検証するために、ユーザの指紋、顔、網膜、またはその他の生体認証識別子をモバイル装置に提示する。生体認証識別子が指紋である場合、ユーザは自分の指紋を指紋リーダーに置き、検証のために指紋を読み取る。生体認証識別子が顔の場合、ユーザはカメラの前に自分の顔を置き、検証のために顔を記録する。生体認証識別子が網膜の場合、ユーザは目をカメラの前(および近く)に置き、検証のために網膜を記録する。ブロックチェーンプラットフォームは、ユーザの指紋または網膜走査を検証することでユーザのIDと、指紋または網膜走査に基づいて生成された秘密キーを比較する。秘密キーが検証されると、ブロックチェーンプラットフォームはその要求をクラウドプロバイダに送信して許可する。
【0028】
本明細書に記載または請求される動作または機能は、人間の精神によって実行されるものではない。人間の心の中であらゆる動作や機能が実行できるという解釈は、本開示と矛盾し、反する。
【0029】
-例示的な環境-
図1は、ユーザ生体認証による分散型IDの提供に関連するコンピューティングシステム100の一実施形態を示す。
【0030】
一実施形態では、システム100は、ネットワーク115(インターネット、その他の適切な通信ネットワーク、またはネットワークの組み合わせなど)によって企業ネットワーク120に接続されたクラウドサービスプロバイダ1 105からクラウドサービスプロバイダn 110などの複数のクラウドサービスプロバイダと、生体認証トークン装置として構成されたモバイル装置125とを含む。任意選択で、専用のフェデレーションIDプロバイダ130も、ネットワーク115を介してクラウドサービスプロバイダ105、110、企業ネットワーク120、およびモバイル装置125に接続されてもよい。一実施形態では、クラウドサービスプロバイダ105、110は、Oracle(登録商標)クラウドインフラストラクチャ(OCI)、アマゾンウェブサービス(AWS)、Microsoft Azure、Google Cloud、Alibaba Cloud、IBM Cloud、Salesforce、SAP、Rackspace Cloud、VMWare、または、本明細書に示され説明されるような、ユーザ生体認証を伴う分散型ユーザIDを提供するための方法を実行するように構成された他のクラウドコンピューティングシステムであってもよい。上に列挙したようなクラウドコンピューティングシステムは各々、本明細書に記載されるシステムおよび方法によって可能になるユーザ生体認証に基づく多要素認証を備えた分散フェデレーションIDを提供するために、分散型IDをユーザ生体認証システムと結合するように構成することによって改善され得る。これにより、さまざまなクラウドプロバイダが、ユーザの生体認証に基づいて共通のフェデレーションIDサービスを共有できるようになる。一実施形態では、クラウドサービスプロバイダ105、110は、分散型生体認証IDコンポーネント135、他のクラウドサービスコンポーネント140、データストア145、およびウェブインターフェイスサーバ150を含むさまざまなシステムおよびコンポーネントを含む。
【0031】
一実施形態では、分散型生体認証IDコンポーネント135(および任意の専用フェデレーションIDプロバイダ130)は、ユーザ生体認証による分散型IDの提供に関連して本明細書に記載される方法、機能、および特徴を実現するように構成された1つまたは複数のコンポーネントを含む。分散型生体認証IDコンポーネント135は、本明細書に記載されるシステムおよび方法に従って、クラウドプロバイダをブロックチェーンピアとして登録するための信頼情報を生成、通信、評価するように構成された信頼コンポーネント153、クラウドサービスプロバイダのリソースへのアクセス要求に関連付けられた生体認証キーを解析し、検査し、ブロックチェーン160に含めることを承認または拒否するように構成されているバリデータ155を含んでもよい。信頼コンポーネント153は、中間認証局(ICA)を含むことができる。ブロックチェーン160は、データ構造データストア145として記憶され得る。
【0032】
ブロックチェーン160は、ブロックと呼ばれる記録データ構造から構成される分散型デジタル台帳の一形態である。ブロックチェーンでは、各ブロックは、直前のブロックを最初のブロックまたは「ジェネシス」ブロックに戻す暗号化ハッシュによって、ブロックチェーンの直前のブロックに順番にリンクされる。ブロックは、正常に「検証」されたとき、またはブロックチェーンへのブロックの包含を管理するスマートコントラクトのルールを満たすことが確認されたときに、バリデータ(バリデータ155など)によって自動的にブロックチェーンに追加される。検証ルールはブロックチェーンのアプリケーションによって異なる。ブロックチェーン内のブロックを遡って変更できるには、ブロックチェーン内の後続のすべてのブロックも変更する必要があるため、ブロックチェーンは改ざん明示的である。ブロックチェーンは公にすることができ、参加や検証にアクセス制限はない。または秘密であり、参加と検証は適切な許可を持つエンティティに限定される。ブロックチェーンは、ネットワークを介して接続された参加ピアコンピューティングシステムによって維持され、各ピアによってブロックチェーンのコピーが記憶される。
【0033】
一実施形態では、クラウドサービスプロバイダ1 105からクラウドサービスプロバイダn 110までおよび専用フェデレーションIDプロバイダ130の各々は、フェデレーションIDグループ165のメンバーである。クラウドサービスプロバイダ1 105からクラウドサービスプロバイダn 110までおよび専用フェデレーションIDプロバイダ130の各々は、本明細書に記載されるシステムおよび方法に従ってブロックチェーンピアとして動作するように、分散型生体認証IDコンポーネント135によって構成される。一実施形態では、ブロックチェーン160内の各個々のブロックチェーンは各々、本明細書に示され説明されるように、特定の2要素のユーザとモバイル装置の組み合わせに対するクラウドコンピューティングサービス認可アクティビティを表すように構成される。例えば、ブロックチェーン内のジェネシスブロックは、適切な生体認証秘密キーの提示を条件とする認証を表すように構成され、ブロックチェーン内の後続のブロックは、アクセス要求と、アクセス要求とともに提示された生体認証秘密キーの検証の成功または失敗を表すように構成されている。バリデータ155は、本明細書に示され説明されるように、アクセス要求とともに提示された生体認証秘密キーが有効であるかどうかを決定するためのスマートコントラクトルールを含めて実行し、提示された秘密キーの有効性または無効性を示すブロックをブロックチェーンに追加するように構成されている。
【0034】
一実施形態では、フェデレーションIDプロバイダ130は、複数のクラウドサービスプロバイダを、ブロックチェーンを使用して分散型でIDを管理するフェデレーションIDグループ165に統合するように構成される。一実施形態では、フェデレーションIDプロバイダ130は、フェデレーションIDグループ165内のクラウドサービスプロバイダから離れたスタンドアロンシステムである。一実施形態では、フェデレーションIDプロバイダ130は、フェデレーションIDグループ165内のクラウドサービスプロバイダのうちの1つの一部である。本明細書に示されて説明されるように、フェデレーションIDプロバイダは、バリデータ155およびブロックチェーン160と、クラウドサービスプロバイダをフェデレーションIDグループ内のピアとして登録するように構成されたクラウドサービスプロバイダ登録コンポーネント161、およびクラウドサービスプロバイダにアクセスするためのユーザIDを登録するように構成されたユーザ登録コンポーネント163も含むことができる。一実施形態では、フェデレーションIDグループ165は秘密または許可されたブロックチェーンを実現するため、フェデレーションIDプロバイダ130は、ブロックチェーンピア(クラウドサービスプロバイダ)の初期登録およびユーザIDの初期登録を管理する。登録後、ピアは各ユーザIDのアクセストランザクションのブロックチェーンを維持する。
【0035】
一実施形態では、生体認証トークンアプリケーション127がモバイル装置125にインストールされる。生体認証トークンアプリケーション127は、ユーザの多要素認証所有要素、つまりユーザからの生体認証入力に基づいてユーザに固有の秘密キーを生成するトークン装置として動作するようにモバイル装置125を構成する。一実施形態では、生体認証トークンアプリケーション127は、モバイル装置125の指紋走査ハードウェアから走査された指紋192を受け取り、それらを走査された指紋192を記述する数学的座標に変換するように構成された指紋座標生成器191を含む。一実施形態では、生体認証トークンアプリケーション127の網膜座標生成器193は、モバイル装置125のカメラまたは専用網膜スキャナから網膜194の画像を受け取り、それらを撮像された網膜194を記述する数学的座標に変換するように構成されている。一実施形態では、生体認証トークンアプリケーション127は、モバイル装置125のカメラから顔196の画像を受け取り、それらを走査された顔196を記述する数学的座標に変換するように構成された顔座標生成器195を含む。一実施形態では、モバイル装置125は、指紋座標生成器191、網膜座標生成器193、および顔座標生成器195のうちの1つだけを有する。一実施形態では、モバイル装置は、指紋座標生成器191、網膜座標生成器193、および顔座標生成器195のうちの1つ以上を有する。一実施形態では、生体認証トークンアプリケーション127は、指紋座標生成器191、網膜座標生成器193、および顔座標生成器195のうちの少なくとも1つによって生成された生体認証座標を取得し、その座標を秘密キートークンに変換するように構成された生体認証秘密キー生成器197を含む。生体認証トークンアプリケーション127は、例えばモバイル装置125によって受信された秘密キーの要求に応じて、モバイル装置125に、生成された生体認証秘密キーを、ネットワーク115を介してバリデータ155またはユーザ登録コンポーネント163に送信させることができる。
【0036】
クラウドサービスプロバイダ1 105からクラウドサービスプロバイダn 110まで、専用フェデレーションIDプロバイダ130、モバイル装置125、およびコンピューティング装置180のコンポーネントの各々は、コンポーネントが実行すると説明されている機能を実行するように論理によって構成される。一実施形態では、コンポーネントは各々、そのような実行のために特別に構成された1つまたは複数のコンピューティング装置によって実行される1つまたは複数のソフトウェアモジュールのセットとして実現され得る。一実施形態では、クラウドサービスプロバイダ1 105からクラウドサービスプロバイダn 110および専用フェデレーションIDプロバイダ130のコンポーネントは、データネットワークによって相互接続された1つまたは複数のハードウェアコンピューティング装置またはホスト上に実現される。例えば、クラウドサービスプロバイダ1 105からクラウドサービスプロバイダn 110および専用フェデレーションIDプロバイダ130のコンポーネントは、1つまたは複数のコンピューティングハードウェア形状のネットワーク接続されたコンピューティング装置によって実行され得、中央処理装置(CPU)または汎用形状、高密度入出力(I/O)形状、グラフィックスプロセッシングユニット(GPU)形状、および高性能コンピューティング(HPC)形状などである。一実施形態では、クラウドサービスプロバイダ1 105からクラウドサービスプロバイダn 110および専用フェデレーションIDプロバイダ130のコンポーネントは各々、1つまたは複数の専用コンピューティング装置によって実現される。一実施形態では、クラウドサービスプロバイダ1 105からクラウドサービスプロバイダn 110および専用フェデレーションIDプロバイダ130の各々のいくつかまたはすべてのコンポーネントは、
図1では個別のユニットとして表されているが、共通(または共有)コンピューティング装置によって実現される。一実施形態では、クラウドサービスプロバイダ1 105からクラウドサービスプロバイダn 110および専用フェデレーションIDプロバイダ130のコンポーネントは、複数のコンピューティング装置にわたって実現され得る。一実施形態では、クラウドサービスプロバイダ1 105からクラウドサービスプロバイダn 110までおよび専用フェデレーションIDプロバイダ130の各々は、クラウドインフラストラクチャ上のサービスとして実現され得る。一実施形態では、クラウドサービスプロバイダ1 105からクラウドサービスプロバイダn 110および専用フェデレーションIDプロバイダ130が、各々は、例えばサービスとしてのインフラストラクチャ(IAAS)、サービスとしてのプラットフォーム(PAAS)、またはサービスとしてのソフトウェア(SAAS)アーキテクチャなど、専用のサードパーティによってホストされ得る。
【0037】
一実施形態では、コンピューティングシステム100のコンポーネントは、電子メッセージまたは電子信号によって相互通信する。これらの電子メッセージまたは電子信号は、例えばアプリケーションプログラミングインターフェイス(API)呼び出しなど、コンポーネントの特徴またはデータにアクセスする機能または手順への呼び出しとして構成できる。一実施形態では、これらの電子メッセージまたは電子信号は、伝送制御プロトコル/インターネットプロトコル(TCP/IP)または他のコンピュータネットワーキングプロトコルと互換性のあるフォーマットでホスト間で送信される。コンピューティングシステム100は、(i)別のコンポーネントにコマンドまたは要求を発行するための電子メッセージまたは信号を生成または構成し、(ii)メッセージまたは信号をコンピューティングシステム100の他のコンポーネントに送信し、(iii)受信した電子メッセージまたは電子信号の内容を解析して、コンポーネントが実行できるコマンドまたは要求を識別することができ、コマンドの識別に応じて、コンポーネントはコマンドまたは要求を自動的に遂行または実行する。
【0038】
API呼び出しには、データベースに対するクエリが含まれ得る。クエリは、データベースと互換性のあるクエリ言語で作成および実行でき、クエリ言語と互換性のあるランタイム環境で実行できる。
【0039】
一実施形態では、データストア145は、非一時的なコンピュータ可読媒体内の情報またはデータの1つまたは複数の集合を、例えば1つまたは複数のデータ構造として構造化記憶および検索するためのコンピューティングスタックである。一実施形態では、データストア145は、ブロックチェーンデータを記憶および提供するように構成されたブロックチェーン160データベース、またはクラウドサービスプロバイダによって使用される他の情報を記憶および提供するように構成された他のデータベースを含む、1つまたは複数のデータベースを含む。一実施形態では、ブロックチェーン160は、各クラウドサービスプロバイダ105~110のキーストア内に維持される。JKS、KMSキーストア、Keyvaultキーストアなどのキーストアは、クラウドサービスプロバイダのセキュリティ証明書のリポジトリである。一実施形態では、アクセス試行のブロックチェーン160は、クラウドサービスプロバイダのキーストアに記憶され、随時更新され、あるいは維持され得る。一実施形態では、本明細書で使用されるデータベースはOracle(登録商標)データベースである。いくつかの例示的な構成では、データストア160は、1つまたは複数のOracle(登録商標)Exadataコンピューティング形状、ネットワーク接続ストレージ(NAS)装置、および/または他の専用サーバ装置を使用して実現され得る。
【0040】
企業ネットワーク115は、企業または他の企業に関連付けることができる。説明を簡単かつ明確にするために、企業ネットワーク115は、動作可能に相互接続された1つまたは複数のパーソナルコンピュータ145またはサーバ150(コンピューティング装置180など)によって表される。各パーソナルコンピュータ145は一般に、ビジネスに関連する従業員または請負業者などの特定のエンドユーザ専用であるが、そのような専用は必須ではない。パーソナルコンピュータ145およびリモートは、例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、モバイル装置(スマートフォン、タブレットコンピュータ、携帯電話、またはその他のハンドヘルドポータブルコンピューティング装置など)、または、有線または無線接続を通じて企業ネットワーク120またはネットワーク115に接続する能力を有する他の装置であってもよい。
【0041】
企業ネットワーク120内のコンピューティング装置(コンピューティング装置180など)は、フェデレーションIDグループ165内の複数のクラウドサービスプロバイダを利用するクラウド接続アプリケーション185を含むことができる。クラウド接続アプリケーション185は、インターネット115(または別の適切な通信ネットワークまたはネットワークの組み合わせ)を介してクラウドサービスプロバイダn 110を介してクラウドサービスプロバイダ1 105とインターフェイスすることができる。一実施形態では、リモートコンピューティングシステム(企業ネットワーク115のシステムなど)は、ウェブインターフェイスサーバ150などのウェブインターフェイスを介して、クラウドサービスプロバイダ1 105からクラウドサービスプロバイダn 110、および専用フェデレーションIDプロバイダ130によって提供される情報またはアプリケーションにアクセスすることができる。一実施形態では、リモートコンピューティングシステムは、ウェブインターフェイスサーバ150に要求を送信し、ウェブインターフェイスサーバ150から応答を受信することができる。一例では、情報またはアプリケーションへのアクセスは、コンピューティング装置180上で実行されるウェブブラウザ、または企業ネットワーク120の他のコンピュータの使用を通じて達成され得る。ウェブブラウザは、クラウド接続アプリケーション185のクラウドサービスへのアクセスを要求するためのグラフィカルユーザインターフェイスを表示するように構成され得、本明細書に示し説明するように、モバイル装置125を使用してアクセス要求に関連して生体認証秘密キーを生成するための命令を表示する。一例では、ウェブインターフェイスサーバ150とコンピューティング装置180の間で通信が交換され得、例えば、データ交換形式としてJavaScript(登録商標)オブジェクト表記(JSON)を使用したリモート表現状態転送(REST)要求、またはXMLサーバとの間の単純なオブジェクトアクセスプロトコル(SOAP)要求の形式を取り得る。
【0042】
―分散型生体認証IDアクセス制御の方法例―
一実施形態では、本明細書に記載されるコンピュータによって実行される方法の各ステップは、1つまたは複数のコンピューティング装置のプロセッサ(
図6を参照して示されて説明されるプロセッサ610など)によって実行され得、(i)メモリ(
図6を参照して示されて説明されるメモリ615および/または他のコンピューティング装置コンポーネントなど)にアクセスし、(ii)システムに方法のステップを実行させる論理(
図6を参照して示されて説明される分散型生体認証ユーザID論理630など)を用いて構成される。例えば、プロセッサは、本明細書に記載されるコンピュータによって実行される方法のステップを実行するために、メモリにアクセスし、メモリに読み書きする。これらのステップには、(i)必要な情報を取得すること、(ii)データを計算、決定、生成、分類、またはその他の方法で作成すること、および(iii)計算、決定、生成、分類、またはその他の方法で作成されたデータを後で使用するために記憶することが含まれ得る。ストレージまたは記憶への言及は、(
図6を参照して示されて説明されるコンピューティング装置605またはリモートコンピュータ665のメモリ615、ストレージ/ディスク635、あるいは
図1を参照して示されて説明されるデータストア145のように)コンピューティング装置のメモリまたはストレージ/ディスク内のデータ構造としてのストレージを示す。
【0043】
一実施形態では、方法の後続の各ステップは、前のステップが後続のステップの開始に少なくとも必要な程度まで実行されたことを示す、受信された信号または取得された記憶データの解析に応答して自動的に開始される。一般に、受信した信号または取得された記憶データは、前のステップの完了を示す。
【0044】
図2は、ユーザ生体認証による分散型IDの提供に関連する方法200の一実施形態を示す。一実施形態では、方法200のステップは、(
図1を参照して示されて説明される)分散型生体認証IDコンポーネント135によって実行される。一実施形態では、分散型生体認証IDコンポーネント135は、分散型生体認証ユーザID論理630を用いて構成された専用コンピューティング装置(コンピューティング装置605など)である。一実施形態では、分散型生体認証IDコンポーネント135は、論理630で構成された専用コンピューティング装置のモジュールである。一実施形態では、以前はコンピューティング装置によって実行することができなかった、フェデレーションIDシステムのメンバーにわたる生体多要素認証が方法200のステップによって可能になる。さらに、このシステムは、フェデレーションIDシステムのメンバー全体でリアルタイムの生体認証多要素認証を可能にし、生体認証秘密キーはアクセス要求時にのみ生成されるため、セキュリティが強化され、悪意のある当事者が生体認証秘密キーを傍受する機会がなくなる。
【0045】
方法200は、ネットワークを介して信号を受信すること、または、以下のことを示す記憶されたデータを解析することに応答するなど、さまざまなトリガに基づいて自動的に開始され得、(i)システム100のユーザ(または管理者)が方法200を開始し、(ii)方法200は、定義された時刻または時間間隔で開始されるようにスケジュールされ、(iii)システム100のユーザ(または管理者)が、クラウドサービスプロバイダ(クラウドサービスプロバイダ105など)のリソースにアクセスする要求を開始した、または、(iv)クラウドサービスプロバイダのリソースにアクセスする要求がクラウドクライアント(コンピューティング装置180など)から受信された。方法200は、受信した信号または取得された記憶データを解析し、信号または記憶データが方法200を開始すべきことを示していると決定することに応答して、開始ブロック205で開始する。処理はプロセスブロック210に進む。
【0046】
プロセスブロック210で、コンピューティング装置によるクラウドサービスプロバイダのリソースへのアクセス要求に応答して、プロセッサは、生体認証秘密キーの要求をユーザに関連付けられたモバイル装置に送信する。
【0047】
一実施形態では、クラウドサービスプロバイダ(クラウドサービスプロバイダ1 105など)は、ユーザに関連付けられたログイン要求を受信し、それが許可されると、そのユーザに関連付けられたコンピューティング装置(コンピューティング装置180など)が、ユーザが提供する1つまたは複数のコンピューティングサービスを利用できる。クラウドサービスプロバイダは、ログイン要求が承認されアクセスが許可される前に、生体認証秘密キーの追加の認証要素を要求するように、分散型生体認証IDコンポーネント(分散型生体認証IDコンポーネント135など)によって構成される。クラウドサービスプロバイダは、例えば、ユーザに関連付けられたアクセス要求のブロックチェーン(ブロックチェーン160に記憶されたブロックチェーンなど)のジェネシスブロックから識別子を読み取ることによって、ユーザに関連付けられたモバイル装置の識別子を検索する。例えば、識別子は、電話番号、ネットワークアドレス、媒体クセス制御(MAC)アドレス、モバイル識別番号(MIN)、またはモバイル装置を一意に識別し、モバイル装置への情報のルーティングを可能にする他の識別子であってもよい。クラウドサービスプロバイダは、生体認証秘密キーの要求(モバイル装置上のアプリケーションに生体認証秘密キーの生成を開始させるように構成されたメッセージ)を生成する。一実施形態では、メッセージには、モバイル装置へのルーティング情報およびモバイル装置上のアプリケーションへのAPI要求が含まれる。次に、クラウドサービスプロバイダは、ネットワーク(ネットワーク115など)を介して要求メッセージをモバイル装置に送信し、モバイル装置に生体認証秘密キーを生成するプロセスを開始させる。次に、クラウドサービスプロバイダは、モバイル装置からの生体認証秘密キーを含むメッセージを待つ。
【0048】
このようにプロセッサが、コンピューティング装置によるクラウドサービスプロバイダのリソースへのアクセス要求に応じて、ユーザに関連付けられたモバイル装置への生体認証秘密キーの要求の送信を完了すると、プロセスブロック210での処理が完了し、処理はプロセスブロック215に進む。
【0049】
プロセスブロック215で、生体認証秘密キーの受信に応答して、プロセッサは、ユーザおよびモバイル装置に関連付けられたブロックチェーンに対する検証のために生体認証秘密キーをサブミットする。
【0050】
一実施形態では、クラウドサービスプロバイダはモバイル装置からメッセージを受信し、それを解析して生体認証秘密キーを識別する。一実施形態では、メッセージには、生体認証秘密キーを含むX.509証明書が含まれる。一例では、生体認証秘密キーがX.509証明書の署名として使用される。クラウドサービスプロバイダは、メッセージから生体認証秘密キーを抽出する。次に、クラウドサービスプロバイダは、生体認証秘密キーを検証するためのバリデータ(バリデータ155など)への要求(API要求など)を生成する。クラウドサービスプロバイダは、生体認証秘密キーとともに(または生体認証秘密キーを含めて)検証要求をバリデータに提示する。
【0051】
プロセッサが、生体認証秘密キーの受信に応答して、ユーザおよびモバイル装置に関連付けられたブロックチェーンに対する検証のための生体認証秘密キーのサブミットを完了すると、プロセスブロック215の処理が完了し、処理はプロセスブロック220に続く。
【0052】
プロセスブロック220で、プロセッサは検証の結果の記録をブロックチェーンに追加する。
【0053】
一実施形態では、バリデータは、ユーザに関連付けられたアクセス要求のブロックチェーン記録に対する評価によって、生体認証秘密キーがアクセス要求を認証するかどうかを評価するように構成される。一実施形態では、バリデータは、この決定を行うためのスマートコントラクトまたは自動ルールを含む。一実施形態では、バリデータは、ブロックチェーンのジェネシスブロックから最初の生体認証キーを取得する。最初の生体認証キーは、ユーザのIDとモバイル装置の最初の登録時にユーザの生体認証座標から生成された。バリデータは、バリデータに提示された生体認証秘密キーを最初の生体認証キーと比較して、それらが一致するかどうかを決定する。一実施形態では、最初の生体認証キーは、本明細書に記載のシステムおよび方法の非対称キーアーキテクチャにおける公開キーである。一実施形態では、最初の生体認証キーは、本明細書で説明されるシステムおよび方法の対称キーアーキテクチャにおける秘密キーである。
【0054】
一実施形態では、生体認証秘密キーと最初の生体認証キーが一致すると、バリデータは、このアクセス要求が承認され、検証が成功したことを示すブロック(または記録)をブロックチェーンに追加し、生体認証秘密キーと最初の生体認証キーが一致しない生体認証では、バリデータは、このアクセス要求が承認されておらず、検証が失敗したことを示すブロック(または記録)をブロックチェーンに追加する。これにより、検証の結果がブロックチェーンに記録される。バリデータは、検証プロセスが完了したことを通知する。
【0055】
一実施形態では、バリデータはまた、
図4および本明細書の方法を参照してさらに詳しく説明するように、ブロックチェーンが現在のアクセス要求が承認されているかどうかを決定するときに、前のアクセス要求が承認されなかったことを示すかどうかを評価する。例えば、ブロックチェーン内の以前のアクセス要求が承認されなかった場合、バリデータは、モバイル装置が侵害された可能性があるため、ブロックチェーンに追加される後続のアクセス要求すべてが承認されない(検証が失敗した)と決定し得る。
【0056】
このようにプロセッサが検証の結果の記録をブロックチェーンに追加することを完了すると、プロセスブロック220での処理が完了し、処理はプロセスブロック225に続く。
【0057】
プロセスブロック225で、プロセッサは、(i)記録が検証は失敗したことを示している場合はアクセスを拒否し、(ii)記録が検証は成功したことを示している場合はアクセスを許可することにより、ブロックチェーン内の記録に基づいてクラウドサービスプロバイダのリソースへのアクセスを制御する。
【0058】
一実施形態では、クラウドサービスプロバイダは、アクセス要求を提示した(ログインを試みた)ユーザに関連付けられたブロックチェーンの最新のブロックまたは最後のブロックを取得し、これを解析して、検証が成功したか(アクセス要求が承認されていることを示す)、または失敗したか(アクセス要求が承認されていないことを示し)を決定する。検証が成功した場合、クラウドサービスプロバイダはアクセス要求を許可し、ログイン試行の正常な完了を許可し、コンピューティング装置がクラウドサービスプロバイダのリソースまたはサービスにアクセスして使用できるようにする。検証が成功した場合、クラウドサービスプロバイダはアクセス要求を拒否してログイン試行を終了し、コンピューティング装置がクラウドサービスプロバイダのリソースやサービスにアクセスしたり、それらを利用したりすることを防ぐ。
【0059】
このようにプロセッサが、(i)記録が検証は失敗したことを示す場合はアクセスを拒否し、(ii)記録が検証は成功したことを示す場合はアクセスを許可することにより、ブロックチェーン内の記録に基づいてクラウドサービスプロバイダのリソースへのアクセス制御を完了すると、プロセスブロック225での処理が完了し、処理は終了ブロック230に続き、プロセス200が終了する。
【0060】
-フェデレーション例-
一実施形態では、クラウドサービスプロバイダは、他のクラウドサービスプロバイダと結合して、フェデレーションIDプロバイダ130によって提供されるログインプロセスおよび認証プロセスを共有し、フェデレーションIDグループ165を形成する。フェデレーションIDグループ165では、ブロックチェーンは、クラウドサービスプロバイダおよび1つまたは複数の他のクラウドサービスプロバイダの各々によって維持される。これにより、単一の検証プロセスが、ブロックチェーン内の最新の(最新の)記録に基づいてフェデレーションIDグループ165内のすべてのクラウドサービスプロバイダのリソースへのアクセスを管理することが可能になる。他のクラウドリソースプロバイダのリソースへのアクセスは、(i)記録が検証は失敗したことを示す場合、他のクラウドサービスプロバイダのリソースへのアクセスを拒否し、(ii)記録が検証は成功したことを示す場合、他のクラウドサービスプロバイダのリソースへのアクセスを許可することにより、ブロックチェーン内の記録に基づいて制御される。
【0061】
一実施形態では、フェデレーションIDプロバイダ130に属するものとして説明される特徴および機能は、専用のIDプロバイダシステムを持たないクラウドサービスプロバイダの分散型生体認証IDコンポーネント135によって実行される。これはフェデレーションIDグループ165のピアツーピア構成であり、認証、場合によってはユーザ登録がクラウドサービスプロバイダ(クラウドサービスプロバイダ1 105など)によって実行され得る。ここで、認証トランザクションは、分散型生体認証IDコンポーネント135を使用してクラウドサービスプロバイダによって内部的に処理され、検証結果は、フェデレーションIDグループ165内の他のピアクラウドサービスプロバイダに伝播される。この構成では、クラウドサービスプロバイダがピアとして機能し、生体認証秘密キーの検証を実行し、結果の記録をクラウドサービスプロバイダ内で維持されるブロックチェーンに追加し、他のクラウドサービスプロバイダが維持するブロックチェーンのコピーに含めるために、記録を他のクラウドサービスプロバイダに伝播する。
【0062】
一実施形態では、フェデレーションIDプロバイダ130に属するものとして説明された特徴および機能は、(
図1に示すように)専用のフェデレーションIDプロバイダによって実行される。これはフェデレーションIDグループ165のマスター/スレーブ構成であり、登録と認証はフェデレーションIDプロバイダ130によってのみ実行される。信頼するクラウドサービスプロバイダは、すべての認証トランザクションをフェデレーションIDプロバイダ130にリダイレクトし、フェデレーションIDプロバイダ130によって実行される検証に依存する。この構成では、クラウドサービスプロバイダとは別の個別または専用のフェデレーションIDプロバイダがピアとして機能し、生体認証秘密キーの検証を実行し、IDプロバイダ内で維持されるブロックチェーンに結果の記録を追加し、クラウドサービスプロバイダおよび他のクラウドサービスプロバイダが維持するブロックチェーンのコピーに含めるために、記録をクラウドサービスプロバイダおよび他のクラウドサービスプロバイダに伝播する。
【0063】
信頼コンポーネント153は、どのクラウドサービスプロバイダおよび/またはフェデレーションIDプロバイダがローカルブロックチェーンを更新するように承認されているかに関する情報を維持する。一実施形態では、これには、フェデレーションIDグループ165のメンバーであるすべてのクラウドサービスプロバイダのリストが含まれる。フェデレーションIDグループ165の新しいメンバーの追加は、CSP登録コンポーネント161によって制御される。一実施形態では、CSP161は、まだフェデレーションIDグループ165の一部ではない新しいクラウドサービスプロバイダからフェデレーションIDグループ165に参加するための申請を受け取り、申請で提供された資格情報を評価し、その資格情報がフェデレーションIDグループ165に参加するための条件を満たしている場合、新しいクラウドサービスプロバイダが認められ、新しいクラウドサービスプロバイダのIDは、フェデレーションIDグループ165内のすべてのクラウドサービスプロバイダの信頼コンポーネント153に追加される。
【0064】
―生体認証秘密キーの生成方法例―
図3は、ユーザ生体認証による分散型IDの提供に関連する生体認証秘密キー生成のための方法300の一実施形態を示す。一実施形態では、方法300のステップは、
図1を参照して示されて説明されるように特別に構成されたモバイル装置125によって実行される。一実施形態では、モバイル装置125は、分散型生体認証ユーザID論理505を用いて構成された専用コンピューティング装置(モバイル装置500など)である。一実施形態では、指紋座標生成器191、網膜座標生成器193、顔座標生成器195、および生体認証秘密キー生成器197は、分散型生体認証ユーザID論理505を用いて構成された専用コンピューティング装置(モバイル装置500など)のモジュールである。
【0065】
方法300は、ネットワークを介して信号を受信すること、または、(i)システム100のユーザ(または管理者)が方法300を開始したこと、(ii)方法300は、定義された時刻または時間間隔で開始されるようにスケジュールされていること、(iii)モバイル装置125が、ユーザのIDを使用したクラウドサービスプロバイダ(クラウドサービスプロバイダ105など)のリソースへのアクセス要求により、システム100のユーザ(または管理者)の生体認証秘密キーの要求を受信したこと、または、(iv)モバイル装置125が、ユーザのIDをフェデレーションIDプロバイダ130に登録する要求により、システム100のユーザ(または管理者)の生体認証秘密キーの要求を受信したことを示す記憶されたデータを解析することに応答して、のように、さまざまなトリガに基づいて自動的に開始され得る。方法300は、受信した信号または取得された記憶データを解析し、信号または記憶データが方法300を開始すべきことを示していると判定したことに応答して、開始ブロック305で開始する。処理は、プロセスブロック310に続く。
【0066】
プロセスブロック310で、プロセッサは、モバイル装置を使用して自分の生体認証座標を入力するようにユーザに促す。
【0067】
一実施形態では、生体認証トークンアプリケーション127などの生体認証トークンアプリケーションは、モバイル装置125などのモバイル装置にインストールされる。一実施形態では、生体認証トークンアプリケーションは、ユーザの生体認証キーの要求をリッスンしている。一実施形態では、生体認証トークンアプリケーションは、要求の受信に応答して起動される。要求を受信すると、モバイル装置は、ユーザに自分の生体認証座標を入力するよう、聴覚、触覚、および/または視覚的に促す。例えば、モバイル装置は、生体認証座標の要求が可聴プロンプトとして受信されたことを示す音を発し得る。例えば、モバイル装置は、生体認証座標の要求が触覚プロンプトとして受信されたことを示す方法で振動し得る。例えば、モバイル装置は、グラフィカルユーザインターフェイス(GUI)を表示したり、視覚的なプロンプトとしてインジケータライトを点灯したりすることができる。一実施形態では、GUIは、モバイル装置にインストールされた生体認証トークンアプリケーションのGUIである。一実施形態では、GUIは、ユーザの生体認証キーの要求が受信されたことを示し、ユーザに自分の生体認証座標を提供するよう指示する命令を表示する。一実施形態では、生体認証座標が指紋座標である場合、命令は、モバイル装置の指紋センサ上に自分の指紋を置くようにユーザに指示する。一実施形態では、生体認証座標は網膜座標であり、命令は、モバイル装置のカメラの前に目を置くようにユーザに指示し、例えば、カメラがユーザの目の瞳孔を通して網膜を撮像できるように、カメラに近い位置に置かれる。一実施形態では、生体認証座標が顔座標である場合、命令は、モバイル装置のカメラの前、例えばカメラがユーザの顔を撮像できる位置に顔を置くようにユーザに指示する。
【0068】
このようにして、プロセッサが、モバイル装置を用いてユーザの生体認証座標を入力するようユーザに促すことを完了すると、プロセスブロック310での処理が完了し、処理はプロセスブロック315に続く。
【0069】
プロセスブロック315で、プロセッサは、モバイル装置の生体認証入力装置から生体認証座標を受け取る。
【0070】
一実施形態では、モバイル装置の生体認証センサ(指紋スキャナ、網膜スキャナ、またはカメラ)は、ユーザの生体認証入力を、例えばデータ画像または他のデータ構造として捕捉する。次に、モバイル装置上の生体認証トークンアプリは、画像または他のデータ構造からのデータを、生体認証入力を表すグラフ上の一連の座標(本明細書では生体認証座標とも呼ぶ)に変換する。一実施形態では、生体認証入力が指紋である場合、指紋座標は、指紋座標生成器191などの指紋座標生成器によって生成される。一実施形態では、指紋座標生成器は、指紋画像内の交差、コア、分岐、尾根端、デルタ、細孔、ループ、または渦巻きなどの指紋特徴の相対位置を識別し、これらの特徴の座標をグラフ上に記録して、指紋の座標を形成する。一実施形態では、生体認証入力が網膜画像である場合、網膜座標は、網膜座標生成器193などの網膜座標生成器によって生成される。一実施形態では、網膜座標発生器は、目の網膜内の血管の枝の位置などの網膜特徴の相対位置を識別する。一実施形態では、生体認証入力が顔画像である場合、顔座標は、顔座標生成器195などの顔座標生成器によって生成される。一実施形態では、顔座標生成器は、目、鼻、口、耳、または他の顔の特徴の位置などの顔の特徴の相対位置を識別する。一実施形態では、特徴(指紋、網膜、顔、その他)の位置は、そのような特徴の位置を正確に識別するように訓練された機械学習(ML)モデルによって実行される。生体認証座標が生成されると、後続の処理のためにデータ構造として記憶される。一実施形態では、複数のタイプの生体認証入力が捕捉され、セキュリティを強化するために座標に変換される。例えば、網膜座標と指紋座標の両方が捕捉され得る。
【0071】
このようにプロセッサがモバイル装置の生体認証入力装置からの生体認証座標の受け取りを完了すると、プロセスブロック315の処理が完了し、処理はプロセスブロック320に続く。
【0072】
プロセスブロック320で、プロセッサは、モバイル装置によって生体認証座標から生体認証秘密キーを生成する。
【0073】
一実施形態では、生体認証秘密キー生成器197などの生体認証秘密キー生成器が生体認証秘密キーを生成する。生体認証座標はストレージから取得される。生体認証座標は処理されて、その座標から生体認証秘密キーが生成される。一実施形態では、生体認証座標は秘密キーを生成するためのシードとして使用される。例えば、(i)生体認証座標のバイナリ表現、(ii)生体認証座標の16進表現、(iii)生体認証座標のASCII文字列、(iv)生体認証座標のUnicode文字列、または、(v)生体認証座標の他の表現がキー生成モジュールへのシードとして提供される。キー生成モジュールは、HyperCryptやPuTTYキー生成器などのさまざまなキー生成ソフトウェアを実現できる。一実施形態では、キー生成モジュールはシードを受け取り、システムが非対称キーを生体認証秘密キーとして使用するように構成されている公開キー/秘密キーのペアを返す。例えば、キー生成モジュールは、Rivest-Shamir-Adleman(RSA)アルゴリズムを使用して公開キー/秘密キーのペアを生成できる。その他の許容可能な非対称キーアルゴリズムには、Diffie-Hellman、デジタル署名アルゴリズム(DSA)、El Gamal、楕円曲線Diffie-Hellman、楕円曲線DSA、その他の楕円曲線暗号アルゴリズム、Paillier暗号システム、Cramer-Shoup、YAKを含む。一実施形態では、キー生成モジュールはシードを受け取り、システムが対称キーを生体認証秘密キーとして使用するように構成されている秘密キーを返す。例えば、キー生成モジュールは、Advanced Encryption Standard(AES)アルゴリズムを使用して秘密キーを生成し得る。他の許容可能な対称キーアルゴリズムには、Blowfish、Camellia、CAST5、ChaCha20、DES、3DES、Kuznyechik、RC4、Safer、Salsa20、Serpent、Skipjack、およびTwofishが含まれ得る。生体認証座標を使用して秘密キーの生成をシードする他の方法も、本開示によって考慮される。このようにして、生体認証秘密キーは、指紋生体認証座標、顔生体認証座標、および網膜生体認証座標のうちの1つまたは複数から生成される。生体認証アプリケーションは、新しく生成された生体認証秘密キーをメッセージにラップして、フェデレーションIDグループの要求側エンティティに送信する。一実施形態では、メッセージはX.509証明書であり、生体認証秘密キーは署名フィールドなどの証明書のフィールドに挿入される。
【0074】
このようにプロセッサがモバイル装置による生体認証座標から生体認証秘密キーの生成を完了すると、プロセスブロック320の処理が完了し、処理は終了ブロック325に進み、そこでプロセス300が終了する。
【0075】
一実施形態では、生体認証座標からの生体認証秘密キーの生成は、初期登録プロセスの一部として実行される。一実施形態では、本明細書に示し説明するように、モバイル装置とユーザの生体認証座標の組み合わせが、多要素認証のための所有要素トークンとして登録される。一実施形態では、ユーザは、クラウドサービスプロバイダ(CSP1 105など)のリソースにアクセスするためにログインを試みる。ログイン試行に応じて、クラウドサービスプロバイダは、クラウドサービスプロバイダの分散型生体認証IDコンポーネント(分散型生体認証IDコンポーネント135など)内のブロックチェーン(ブロックチェーン160など)にクエリを実行する。(i)ユーザとモバイル装置の組み合わせに対して確立されたブロックチェーンが存在しないこと、(ii)ユーザとモバイル装置の組み合わせに対して確立されたブロックチェーンに、以前の検証試行が失敗したことを示すブロック(記録)が含まれていることのいずれかの発見に応じて、クラウドサービスプロバイダは、ログイン要求をフェデレーションIDプロバイダ(フェデレーションIDプロバイダ130など)のユーザ登録コンポーネント(ユーザ登録コンポーネント163など)にリダイレクトして、登録プロセスを完了する。ユーザ登録コンポーネントは、ユーザのモバイル装置への生体認証トークンアプリ(生体認証トークンアプリ127など)のダウンロードおよびインストールを含む、登録プロセスを完了するためのプロンプトをユーザに提示する。インストールに続いて、ユーザは生体認証トークンアプリケーションを使用して初めて生体認証秘密キーを生成し、初期登録プロセスの一部としてプロセス300を実行して、ユーザとモバイル装置のペアを生体認証トークン装置として承認する。生体認証トークンアプリは、生体認証キー(X.509証明書ラッパー内)をユーザ登録コンポーネントに送信する。
【0076】
一実施形態では、ユーザの登録は、ユーザおよびモバイル装置に関連付けられたブロックチェーン内の初期記録ブロックとして含めるための生体認証秘密キーをサブミットすることによって継続される。ユーザ登録コンポーネントは、生体認証トークンアプリからメッセージ内の生体認証キーを受信し、メッセージを解析してキーを抽出する。ユーザ登録コンポーネントは、特にモバイル装置を使用したユーザの多要素認証試行を記録するために、新しいブロックチェーンの初期ブロックまたはジェネシスブロックにキーを追加する。ユーザ登録コンポーネントは、フェデレーションIDプロバイダ130のブロックチェーンリポジトリ160に新しいブロックチェーンを追加する。フェデレーションIDプロバイダは、フェデレーションIDグループ165内のすべてのクラウドサービスプロバイダのブロックチェーンリポジトリ160に新しいブロックチェーンを伝播する。
【0077】
-侵害されたIDの再登録を強制する方法の例-
図4は、ユーザ生体認証による分散型IDの提供に関連する侵害されたユーザIDの再登録を強制するための方法400の一実施形態を示す。一実施形態では、方法400のステップは、(
図1を参照して示されて説明されるように)分散型生体認証IDコンポーネント135およびフェデレーションIDプロバイダ130によって実行される。一実施形態では、フェデレーションIDプロバイダ130は、分散型生体認証ユーザID論理630を用いて構成された専用コンピューティング装置(コンピューティング装置605など)である。一実施形態では、フェデレーションIDプロバイダ130は、論理630で構成された専用コンピューティング装置のモジュールである。
【0078】
方法400は、ネットワークを介して信号を受信すること、または、以下のことを示す記憶データを解析することに応答するなど、さまざまなトリガに基づいて自動的に開始され得、(i)システム100のユーザ(または管理者)が方法400を開始し、(ii)方法400は、定義された時刻または時間間隔で開始されるようにスケジュールされ、(iii)クラウドコンピューティングプロバイダのリソースにアクセスする現在の要求の一部としてモバイル装置から受信した生体認証秘密キーの検証が失敗し、(iv)クラウドコンピューティングプロバイダのリソースにアクセスするための以前の要求の一部としてモバイル装置から受信した以前の生体認証秘密キーの事前検証が失敗し、または(v)ブロックチェーンに含まれる検証の結果の記録(ブロック)は、検証が失敗したことを示す。方法400は、受信した信号または取得された記憶データを解析し、信号または記憶データが方法400を開始すべきことを示していると決定することに応答して、開始ブロック405で開始する。処理はプロセスブロック410に続く。
【0079】
プロセスブロック410で、プロセッサは、記録に続いてサブミットされた後続の生体認証キーの検証を失敗させる。
【0080】
一実施形態では、バリデータ155によって実行される後続の生体認証キーの検証プロセス中に、クラウドサービスプロバイダは、ユーザとモバイル装置の組み合わせのブロックチェーンにアクセスする。クラウドサービスプロバイダは、ブロックチェーン(例えば、ブロックチェーンの最新ブロック)を解析して、ユーザの以前の生体認証キーを検証する以前の試みが失敗したかどうかを決定する。以前の生体認証キーを検証する以前の試みの失敗が検出された場合、後続の生体認証キーがブロックチェーンのジェネシスブロックで提供されたユーザの生体認証キーと一致する場合でも、後続の生体認証キーの検証プロセスも失敗する。バリデータ155は、ユーザとモバイル装置の組み合わせに対するブロックチェーン内の以前の検証が失敗した場合、そのユーザとモバイル装置の組み合わせの検証は失敗するというルールを含む。介在する検証の失敗は、モバイル装置が侵害された可能性があることを示しており、ユーザとモバイル装置の組み合わせを再登録する必要があることを示している。
【0081】
このようにプロセッサが、記録に続いてサブミットされた後続の生体認証キーの検証を失敗させることを完了すると、プロセスブロック410の処理は完了し、処理はプロセスブロック415に続く。
【0082】
プロセスブロック415で、プロセッサは、クラウドサービスプロバイダのリソースへのアクセスがユーザに許可される前に、ユーザとモバイル装置に関連付けられた新しいブロックチェーンを作成するためにユーザの再登録を要求する。
【0083】
一実施形態では、検証に失敗した後にフェデレーションIDグループ内のクラウドサービスプロバイダのリソースにアクセスしようとする試みに応答して、クラウドサービスプロバイダはユーザに(i)例えば生体認証トークンアプリ127のGUIにおいて、生成され、モバイル装置125のディスプレイ上でユーザに提示され、または(ii)コンピューティング装置180のディスプレイ上、例えばクラウド接続アプリケーション185のうちの1つまたは複数のGUIにおいて生成され、ユーザに提示されるいずれかのメッセージを表示する。このメッセージは、例えば、モバイル装置の登録が期限切れになったか、キャンセルされたか、または有効でなくなったことを示し、クラウドサービスプロバイダのリソースへのアクセスが許可される前にユーザがモバイル装置を再登録する必要があることを示し得る。メッセージにはさらに、再登録のステップが示されたり、再登録プロセスを開始するためのリンクが含まれたりし得る。
【0084】
プロセッサがこのように、クラウドサービスプロバイダのリソースへのアクセスがユーザに許可される前に、ユーザとモバイル装置に関連付けられた新しいブロックチェーンを作成するためのユーザの再登録の要求が完了すると、プロセスブロック415での処理が完了し、処理は終了ブロック420に進み、そこでプロセス400が終了する。
【0085】
-選択された実施形態-
一実施形態では、コンピュータによって実行される方法は、コンピューティング装置によるクラウドサービスプロバイダのリソースへのアクセス要求に応答して、生体認証秘密キーの要求をユーザに関連付けられたモバイル装置に送信するステップと、生体認証秘密キーの受信に応答して、ユーザおよびモバイル装置に関連付けられたブロックチェーンに対する検証のために生体認証秘密キーをサブミットするステップと、検証の結果の記録をブロックチェーンに追加するステップと、ブロックチェーン内の記録に基づいて、(i)記録が検証は失敗したことを示す場合はアクセスを拒否し、(ii)記録が検証は成功したことを示す場合はアクセスを許可することにより、クラウドサービスプロバイダのリソースへのアクセスを制御するステップと、を含む。一実施形態では、ブロックチェーンは、クラウドサービスプロバイダおよび1つまたは複数の他のクラウドサービスプロバイダの各々によって維持され、コンピュータによって実行される方法は、(i)記録が検証に失敗したことを示している場合、他のクラウドサービスプロバイダのリソースへのアクセスを拒否し、(ii)記録は検証が成功したことを示す場合、他のクラウドサービスプロバイダのリソースへのアクセスを許可することにより、ブロックチェーン内の記録に基づいて他のクラウドリソースプロバイダのリソースへのアクセスを制御するステップを含む。コンピュータによって実行される方法の一実施形態では、生体認証秘密キーの生成には、モバイル装置を使用して自分の生体認証座標を入力するようユーザに促すステップと、モバイル装置の生体認証入力装置から生体認証座標を受け取るステップと、モバイル装置によって生体認証座標から生体認証秘密キーを生成するステップと、を含む。一実施形態では、この方法は、ユーザおよびモバイル装置に関連付けられたブロックチェーン内の初期記録ブロックとして含めるために生体認証秘密キーをサブミットすることによってユーザを登録することをさらに含む。一実施形態では、記録は検証が失敗したことを示し、コンピュータによって実行される方法はさらに、記録の後にサブミットされた後続の生体認証キーの検証を失敗させることと、ユーザにクラウドサービスプロバイダのリソースへのアクセスが許可される前に、ユーザとモバイル装置に関連付けられた新しいブロックチェーンを作成するためにユーザの再登録を要求するステップと、を含む。コンピュータによって実行される方法の一実施形態では、生体認証秘密キーは、Advanced Encryption Standard(AES)またはRivest-Shamir-Adleman(RSA)である。コンピュータによって実行される方法の一実施形態では、生体認証秘密キーは、指紋の生体認証座標、顔の生体認証座標、および網膜の生体認証座標のうちの1つまたは複数から生成される。コンピュータによって実行される方法の一実施形態では、クラウドサービスプロバイダはピアとして機能し、生体認証秘密キーの検証を実行し、結果の記録をクラウドサービスプロバイダ内で維持されるブロックチェーンに追加し、他のクラウドサービスプロバイダが維持するブロックチェーンのコピーに含めるために、記録を他のクラウドサービスプロバイダに伝播する。コンピュータによって実行される方法の一実施形態では、フェデレーションIDプロバイダはピアとして機能し、生体認証秘密キーの検証を実行し、結果の記録をIDプロバイダ内で維持されるブロックチェーンに追加し、クラウドサービスプロバイダおよび他のクラウドサービスプロバイダが維持するブロックチェーンのコピーに含めるために、記録をクラウドサービスプロバイダおよび他のクラウドサービスプロバイダに伝播する。コンピュータによって実行される方法の一実施形態では、ブロックチェーンはクラウドサービスプロバイダのキーストア内に維持される。一実施形態では、コンピュータ可読命令は、必要に応じてコンピュータの他のコンポーネントと協働してコンピュータのプロセッサによって実行されると、コンピュータに方法を実行させる非一時的なコンピュータ可読媒体に記憶される。一実施形態では、コンピューティングシステムは、プロセッサ、メモリ、およびコンピューティングシステムによって実行されるとコンピュータに方法を実行させるコンピュータ可読命令を記憶するコンピュータ可読媒体を含む。
【0086】
-ソフトウェアモジュールの実施形態-
一般に、ソフトウェア命令は、CPUまたはGPUリソースにアクセスするなど、メモリにアクセスする1つまたは複数の適切にプログラムされたプロセッサによって実行されるように設計される。これらのソフトウェア命令には、例えば、コンピュータ実行可能コードおよびコンピュータ実行可能コードにコンパイルされ得るソースコードが含まれ得る。これらのソフトウェア命令には、スクリプト言語などの解釈されたプログラミング言語で書かれた命令も含まれ得る。
【0087】
複雑なシステムでは、そのような命令はプログラムモジュールに配置され、そのような各モジュールが特定のタスク、プロセス、機能、または動作を実行することができる。モジュールのセット全体は、システムのメインプログラム、オペレーティングシステム(OS)、またはその他の形態の組織プラットフォームによって、その動作において制御または調整され得る。
【0088】
一実施形態では、本明細書に記載されるコンポーネントのうちの1つまたは複数は、非一時的なコンピュータ可読媒体に記憶されたモジュールとして構成される。モジュールは、メモリまたはストレージにアクセスする少なくともプロセッサによって実行されると、コンピューティング装置に本明細書で説明する対応する機能を実行させる、記憶されたソフトウェア命令を用いて構成される。
【0089】
-クラウドまたは企業の実施例-
一実施形態では、本システム(システム100など)は、ネットワーク(ネットワーク115など)を介して各々と通信する、企業に関連付けられた他のクライアントコンピューティング装置(企業ネットワーク120のクライアント装置170、175、および180など)によって、アクセスおよび使用のためのコンピューティングアプリケーションまたは分散コンピューティングアプリケーションの集合(フェデレーションIDグループ165のプロバイダ105、110、130など)を含むコンピューティング/データ処理システムを含む。アプリケーションおよびコンピューティングシステムは、クラウドベースのネットワークコンピューティングシステム、サービスとしてのインフラストラクチャ(IAAS)、サービスとしてのプラットフォーム(PAAS)、またはサービスとしてのソフトウェア(SAAS)アーキテクチャ、またはその他のタイプのネットワークコンピューティングソリューションで動作するか、それらとして実現されるように構成できる。一実施形態では、本システムは、本明細書に開示される機能のうちの少なくとも1つまたは複数と、その機能にアクセスして動作するためのグラフィカルユーザインターフェイスとを提供する。
【0090】
―モバイル装置の実施形態―
次に
図5を参照すると、本明細書で説明されるシステムおよび方法のうちの1つまたは複数、および/または同等物を用いて構成および/またはプログラムされる例示的なモバイル装置500を示す。一例では、モバイル装置500は、
図1から4を参照して示され説明された論理、システム、および方法と同様の、ユーザ生体認証による分散型IDの提供を容易にするように構成された分散型生体認証ユーザID論理505を含み得る。モバイル装置500は、セルラー通信ネットワークを通じて情報を受信または送信するためのセルラーアンテナ510を含み得る。例示的な実施形態は、
図5において520で一般的に識別される信号処理回路および/または制御回路を実現することができる。いくつかの実装形態では、モバイル装置500は、マイク530、オーディオ出力540を含み、例えば、スピーカおよび/またはオーディオ出力ジャック、ディスプレイ550、および/またはキーパッド、ポインティング装置、タッチスクリーン、音声作動および/または他の入力装置などの入力装置560などである。一実施形態では、入力装置560は、光学式指紋スキャナ、容量性指紋スキャナ、または超音波指紋スキャナなどの、指紋を受け取るための指紋スキャナ562も含む。一実施形態では、入力装置560は、網膜を撮像すること、または顔を撮像することができるカメラ564も含む。一実施形態では、入力装置560は専用の網膜スキャナ(図示しない)も含む。モバイル装置500内の信号処理および/または制御回路520および/または他の回路(図示しない)は、データを処理し、符号化および/または暗号化を実行し、計算を実行し、データをフォーマットし、および/または他の携帯電話機能を実行することができる。
【0091】
モバイル装置500は、例えばHDDおよび/またはDVDを含む光および/または磁気記憶装置などにデータを不揮発的に記憶する大容量データ記憶装置570と通信することができる。HDDは、1つまたは複数のプラッタを有する磁気HDD、またはソリッドステートドライブ(SSD)であってもよい。モバイル装置500は、RAM、ROM、フラッシュメモリなどの低遅延不揮発性メモリ、および/または他の適切な電子データストレージなどのメモリ580に接続することができる。モバイル装置500は、WLANネットワークインターフェイス590を介して無線ローカルエリアネットワーク(WLAN)との接続をサポートすることもできる。モバイル装置500は、WLANを通じて情報を受信または送信するためのWLANアンテナ595を含み得る。この例示的な実施形態では、例示的なシステムおよび方法は、このWLANネットワークインターフェイス590を使用して実現され得るが、他の構成も可能である。
【0092】
-コンピューティング装置の実施形態-
図6は、本明細書に記載される例示的なシステムおよび方法、および/または同等物のうちの1つまたは複数を備えた専用コンピューティング装置として構成および/またはプログラムされる例示的なコンピューティングシステム600を示す。例示的なコンピューティング装置は、プロセッサ610、メモリ615、およびバス625によって動作可能に接続された入出力ポート620を含むコンピュータ605であり得る。一例では、コンピュータ605は、
図1~4を参照して示されて説明された論理、システム、および方法と同様の、ユーザ生体認証による分散型IDの提供を容易にするように構成された分散型生体認証ユーザID論理630を含んでもよい。別の例では、分散型生体認証ユーザID論理630は、ハードウェア、命令が記憶された非一時的なコンピュータ可読媒体、ファームウェア、および/またはそれらの組み合わせで実現され得る。分散型生体認証ユーザID論理630は、バス625に接続されたハードウェアコンポーネントとして示されているが、他の実施形態では、分散型生体認証ユーザID論理630は、プロセッサ610内に実装され、メモリ615に記憶され、または、コンピュータ可読媒体637上のディスク635に記憶され得ることを理解されたい。
【0093】
一実施形態では、分散型生体認証ユーザID論理630またはコンピューティングシステム600は、記載された動作を実行するための手段(構造:ハードウェア、非一時的なコンピュータ可読媒体、ファームウェアなど)である。いくつかの実施形態では、コンピューティング装置は、クラウドコンピューティングシステムで動作するサーバ、サービスとしてのソフトウェア(SaaS)アーキテクチャで構成されたサーバ、スマートフォン、ラップトップ、タブレットコンピューティング装置などであり得る。
【0094】
この手段は、例えば、本明細書に図示され説明されるように、ユーザ生体認証による分散型IDの提供を実行するようにプログラムされたASICとして実現され得る。この手段はまた、メモリ615に一時的に記憶され、次いでプロセッサ610によって実行されるデータ640としてコンピュータ605に提示される、記憶されたコンピュータ実行可能命令として実現されてもよい。
【0095】
分散型生体認証ユーザID論理630は、ユーザ生体認証による分散型IDの提供を実行するための手段(例えば、ハードウェア、実行可能命令を記憶する非一時的なコンピュータ可読媒体、ファームウェア)を提供することもできる。
【0096】
コンピュータ605の例示的な構成を一般的に説明すると、プロセッサ610は、デュアルマイクロプロセッサおよび他のマルチプロセッサキテクチャを含むさまざまな多様なプロセッサであってよい。メモリ615は、揮発性メモリおよび/または不揮発性メモリを含み得る。不揮発性メモリには、例えば、ROM、PROM、EPROM、EEPROMなどが含まれ得る。揮発性メモリには、例えば、RAM、SRAM、DRAMなどが含まれる。ストレージディスク635は、例えば入出力(I/O)インターフェイス(例えばカードまたは装置)645および入出力ポート620を介してコンピュータ605に動作可能に接続され得、これらは、少なくとも入出力(I/O)コントローラ647によって制御される。ディスク635は、例えば、磁気ディスクドライブ、ソリッドステートディスクドライブ、フロッピー(登録商標)ディスクドライブ、テープドライブ、Zipドライブ、フラッシュメモリカード、メモリスティックなどであってもよい。さらに、ディスク635は、CD-ROMドライブ、CD-Rドライブ、CD-RWドライブ、DVDROMなどであってもよい。メモリ615は、例えば、1つまたは複数のデータ構造としてフォーマットされたプロセス650および/またはデータ640を記憶することができる。ディスク635および/またはメモリ615は、コンピュータ605のリソースを制御および割り当てるオペレーティングシステムを記憶することができる。コンピュータ605は、入出力(I/O)コントローラ647、I/Oインターフェイス645および入出力ポート620を介して、入出力(I/O)装置と対話し、制御し、および/または制御されることができる。入出力装置には、1つまたは複数のディスプレイ670、プリンタ672(インクジェット、レーザ、または3Dプリンタなど)、およびオーディオ出力装置674(スピーカまたはヘッドフォンなど)、テキスト入力装置680(キーボードなど)、ポインティングおよび選択装置682(マウス、トラックボール、タッチパッド、タッチスクリーン、ジョイスティック、ポインティングスティック、スタイラスマウスなど)、オーディオ入力装置684(マイクなど)、ビデオ入力装置686(ビデオカメラや静止画カメラなど)、ビデオカード(図示しない)、ディスク635、ネットワーク装置655、指紋スキャナ690、モノのインターネットセンサ(図示しない)などが含まれる。入出力ポート620は、例えば、シリアルポート、パラレルポート、USBポートを含むことができる。
【0097】
コンピュータ605は、ネットワーク環境で動作することができ、したがって、I/Oインターフェイス645および/またはI/Oポート620を介してネットワーク装置655に接続され得る。ネットワーク装置655を介して、コンピュータ605はネットワーク660と対話することができる。ネットワーク660を介して、コンピュータ605は、リモートコンピュータ665、リモートモバイル装置、または自律走行車690などのリモートコンピュータ制御可能なハードウェアに論理的に接続され得る。コンピュータ605が対話できるネットワークには、LAN、WAN、および他のネットワークが含まれ得るが、これらに限定されない。
【0098】
―定義とその他の実施形態―
別の実施形態では、説明された方法および/またはその同等物は、コンピュータ実行可能命令を用いて実行され得る。したがって、一実施形態では、非一時的なコンピュータ読み取り可能/記憶媒体は、機械によって実行されると、機械(および/または関連コンポーネント)に方法を実行させるアルゴリズム/実行可能アプリケーションの記憶されたコンピュータ実行可能命令で構成される。機械の例には、プロセッサ、コンピュータ、クラウドコンピューティングシステムで動作するサーバ、サービスとしてのソフトウェア(SaaS)アーキテクチャで構成されたサーバ、スマートフォンなどが含まれるが、これらに限定されない。一実施形態では、コンピューティング装置は、開示された方法のいずれかを実行するように構成された1つまたは複数の実行可能なアルゴリズムを用いて実現される。
【0099】
1つまたは複数の実施形態では、開示された方法またはその同等物は、以下のいずれかによって実行され、この方法を実行するように構成されたコンピュータハードウェアと、または、非一時的なコンピュータ可読媒体に記憶されたモジュールに組み込まれたコンピュータ命令であり、命令は、コンピューティング装置の少なくともプロセッサによって実行されるときに方法を実行するように構成された実行可能アルゴリズムとして構成される。
【0100】
説明を簡単にするために、図に示される方法論はアルゴリズムの一連のブロックとして示され説明されるが、方法論はブロックの順序によって限定されないことを理解されたい。一部のブロックは、図示および説明されたものとは異なる順序で、および/または他のブロックと同時に発生する可能性がある。さらに、例示的な方法論を実現するために、図示されたブロックのすべてよりも少ないブロックが使用されてもよい。ブロックは、複数の動作/コンポーネントに結合または分離できる。さらに、追加および/または代替の方法論では、ブロックには示されていない追加の動作を採用することができる。
【0101】
以下には、本明細書で使用される選択された用語の定義が含まれる。定義には、用語の範囲内にあり、実行に使用できるコンポーネントのさまざまな例および/または形式が含まれている。これらの例は、限定することを意図したものではない。用語の単数形と複数形の両方が定義内に含まれ得る。
【0102】
「一実施形態」、「実施形態」、「一例」、「例」などへの言及は、そのように記載された実施形態または例が、特定の特徴、構造、特性、特質、要素、または制限を含み得ることを示し、しかし、すべての実施形態または例が、その特定の特徴、構造、特性、特質、要素、または制限を必ずしも含むわけではない。さらに、「一実施形態において」という語句の繰り返しの使用は、同じ実施形態を指し得るが、必ずしも同じ実施形態を指すわけではない。
【0103】
AES:高度な暗号化規格。
API:アプリケーションプログラミングインターフェイス。
【0104】
ASIC:特定用途向け集積回路。
AWS:アマゾンウェブサービス
CA:認証局。
【0105】
CD:コンパクトディスク。
CD-R:記録可能なCD。
【0106】
CD-RW:書き換え可能なCD。
CPU:中央処理装置。
【0107】
CSR:証明書署名要求。
DVD:デジタル多用途ディスクおよび/またはデジタルビデオディスク。
【0108】
GPU:グラフィックス処理装置。
HDD:ハードディスクドライブ。
【0109】
HTTP:ハイパーテキスト転送プロトコル。
I/O:入力/出力。
【0110】
IAAS:サービスとしてのインフラストラクチャ。
ICA:中間認証局。
【0111】
JKS:Javaキーストア。
JSON:JavaScriptオブジェクト表記。
【0112】
KMS:キー管理サービス。
LAN:ローカルエリアネットワーク。
【0113】
WLAN:無線LAN。
MAC:媒体クセス制御。
【0114】
MIN:モバイル識別番号。
ML:機械学習。
【0115】
NAS:ネットワーク接続ストレージ。
OCI:オラクルクラウドインフラストラクチャ。
【0116】
OS:オペレーティングシステム。
PAAS:サービスとしてのプラットフォーム
RAM:ランダムアクセスメモリ。
【0117】
DRAM:ダイナミックRAM。
SRAM:同期型RAM。
【0118】
REST:表現状態転送。
ROM:読み取り専用メモリ。
【0119】
PROM:プログラマブルROM。
EPROM:消去可能なPROM。
【0120】
EEPROM:電気的に消去可能なPROM。
RSA:Rivest-Shamir-Adleman。
【0121】
SAAS:サービスとしてのソフトウェア。
SOAP:単純なオブジェクトアクセスプロトコル。
【0122】
SQL:構造化クエリ言語。
SSD:ソリッドステートドライブ。
【0123】
TCP/IP:伝送制御プロトコル/インターネットプロトコル
USB:ユニバーサルシリアルバス。
【0124】
XML:拡張可能なマークアップ言語。
WAN:広域ネットワーク。
【0125】
本明細書で使用される「データ構造」は、メモリ、記憶装置、または他のコンピュータ化されたシステムに記憶されるコンピューティングシステム内のデータの組織である。データ構造は、例えば、データフィールド、データファイル、データ配列、データ記録、データベース、データテーブル、グラフ、ツリー、リンクリストなどのうちのいずれか1つであり得る。データ構造は、他の多くのデータ構造から形成され、それらを含み得る(例えば、データベースには多くのデータ記録が含まれる)。他の実施形態によれば、データ構造の他の例も同様に可能である。
【0126】
本明細書で使用される「コンピュータ可読媒体」または「コンピュータ記憶媒体」は、実行時に開示された機能のうちの1つまたは複数を実行するように構成された命令および/またはデータを記憶する非一時的な媒体を指す。いくつかの実施形態では、データは命令として機能することができる。コンピュータ可読媒体は、不揮発性媒体および揮発性媒体を含むがこれらに限定されない形態をとることができる。不揮発性媒体には、例えば、光ディスク、磁気ディスクなどが含まれ得る。揮発性媒体には、例えば、半導体メモリ、ダイナミックメモリなどが含まれ得る。コンピュータ可読媒体の一般的な形式には、限定されないが、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、その他の磁気媒体、特定用途向け集積回路(ASIC)、プログラマブル論理装置、コンパクトディスク(CD)、他の光学媒体、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、メモリチップまたはカード、メモリスティック、ソリッドステートストレージ装置(SSD)、フラッシュドライブ、およびコンピュータ、プロセッサ、またはその他の電子装置が機能できるその他の媒体が含まれ得る。各タイプの媒体は、一実施形態での実現のために選択された場合、開示および/または請求された機能のうちの1つまたは複数を実行するように構成されたアルゴリズムの記憶された命令を含むことができる。
【0127】
本明細書で使用される「論理」とは、コンピュータまたは電気ハードウェア、実行可能なアプリケーションまたはプログラムモジュールの命令が記憶された非一時的な媒体、および/またはこれらの組み合わせで実現されるコンポーネントを表し、本明細書に開示される機能または動作のいずれかを実行し、および/または別の論理、方法、および/またはシステムからの機能または動作を本明細書に開示されるように実行させる。同等の論理には、ファームウェア、アルゴリズムでプログラムされたマイクロプロセッサ、個別論理(例えば、ASIC)、少なくとも1つの回路、アナログ回路、デジタル回路、プログラムされた論理装置、アルゴリズムの命令を含むメモリ装置などが含まれ得、それらのいずれも、開示された機能のうちの1つまたは複数を実行するように構成され得る。一実施形態では、論理は、開示された機能のうちの1つまたは複数を実行するように構成された1つまたは複数のゲート、ゲートの組み合わせ、または他の回路コンポーネントを含み得る。複数の論理が記述されている場合、複数の論理を1つの論理に組み込むことができる場合がある。同様に、単一の論理が記述されている場合、その単一の論理を複数の論理間で分散できる場合がある。一実施形態では、これらの論理のうちの1つまたは複数は、開示および/または請求された機能の実行に関連付けられた対応する構造である。どのタイプの論理を実装するかは、必要なシステム条件または仕様に基づいて選択できる。例えば、高速化を考慮する場合は、機能を実現するためにハードウェアが選択される。低コストを考慮する場合は、記憶された命令/実行可能アプリケーションが機能を実現するために選択される。
【0128】
「動作可能な接続」、またはエンティティが「動作可能に接続される」接続は、信号、物理的通信、および/または論理的通信が送信および/または受信され得る接続である。動作可能な接続には、物理インターフェイス、電気インターフェイス、および/またはデータインターフェイスが含まれ得る。動作可能な接続には、動作可能な制御を可能にするのに十分なインターフェイスおよび/または接続の異なる組み合わせが含まれ得る。例えば、2つのエンティティを動作可能に接続して、直接、または1つまたは複数の中間エンティティ(例えば、プロセッサ、オペレーティングシステム、論理、非一時的なコンピュータ可読媒体)を介して信号を通信することができる。論理的および/または物理的な通信チャネルを使用して、動作可能な接続を作成できる。
【0129】
本明細書で使用される「ユーザ」には、1人または複数の人、コンピュータもしくは他の装置、またはこれらの組み合わせが含まれるが、これらに限定されない。
【0130】
開示された実施形態をかなり詳細に図示し説明してきたが、添付の特許請求の範囲をそのような詳細に限定したり、いかなる形でも制限したりすることは意図していない。もちろん、主題のさまざまな側面を説明する目的で、コンポーネントまたは方法論の考えられるすべての組み合わせを説明することは不可能である。したがって、本開示は、図示され説明された特定の詳細または例示的な実施例に限定されない。したがって、本開示は、添付の特許請求の範囲に含まれる変更、修正、および変形を包含することを意図している。
【0131】
「含む」または「含んでいる」という用語が詳細な説明または特許請求の範囲で使用される限り、この用語は、特許請求の範囲において移行用語として使用される場合に解釈されるため、「含む」という用語と同様に包括的であることが意図されている。
【0132】
詳細な説明または特許請求の範囲において「または」という用語が使用される範囲において(例えば、AまたはB)、それは「AまたはBまたは両方」を意味することが意図される。出願人が「AまたはBのみで両方ではない」ことを示す意図がある場合は、「AまたはBのみで両方ではない」という表現が使用される。したがって、本明細書における「または」という用語の使用は包括的な使用であり、排他的な使用ではない。
【国際調査報告】