(58)【調査した分野】(Int.Cl.,DB名)
前記複数のピクセルからの前記ピクセルの第3のサブセットが、前記第1のサブセットおよび前記第2のサブセットにも属し、前記第2のサブセットが前記第1のサブセットにも属する、請求項1に記載の方法。
複数のセンシング環境に対する前記ピクセルの第3のサブセットの各々に関連付けられた前記情報を受信することによって、前記複数のピクセルからの前記ピクセルの第3のサブセットからの各ピクセルに対するピクセル識別子値を決定するステップをさらに備える、請求項1に記載の方法。
前記第1の識別子と前記第2の識別子の両方が前記センサと関連付けられると判定するために、前記第1の識別子と前記第2の識別子を比較することが、前記プロセッサがさらに、
前記第1の識別子と前記第2の識別子との間の距離を求め、
前記距離が閾値よりも短い場合、前記第1の識別子と前記第2の識別子の両方が前記センサと関連付けられると判定する
ように構成されることを含む、請求項9に記載のデバイス。
前記複数のピクセルからの前記ピクセルの第3のサブセットが、前記第1のサブセットおよび前記第2のサブセットにも属し、前記第2のサブセットが前記第1のサブセットにも属する、請求項9に記載のデバイス。
複数のセンシング環境に対する前記ピクセルの第3のサブセットの各々に関連付けられた前記情報を受信することによって、前記複数のピクセルからの前記ピクセルの第3のサブセットからの各ピクセルに対するピクセル識別子値を決定するステップをさらに含む、請求項9に記載のデバイス。
前記第1の識別子と前記第2の識別子の両方が前記センサと関連付けられると判定するために、前記第1の識別子と前記第2の識別子を比較することが、前記プロセッサがさらに、
前記第1の識別子と前記第2の識別子との間の距離を求め、
前記距離が閾値よりも短い場合、前記第1の識別子と前記第2の識別子の両方が前記センサと関連付けられると判定する
ための命令を備える、請求項14に記載の非一時的コンピュータ可読記憶媒体。
前記複数のピクセルからの前記ピクセルの第3のサブセットが、前記第1のサブセットおよび前記第2のサブセットにも属し、前記第2のサブセットが前記第1のサブセットにも属する、請求項14に記載の非一時的コンピュータ可読記憶媒体。
複数のセンシング環境に対する前記ピクセルの第3のサブセットの各々に関連付けられた前記情報を受信することによって、前記複数のピクセルからの前記ピクセルの第3のサブセットからの各ピクセルに対するピクセル識別子値を決定するステップをさらに含む、請求項14に記載の非一時的コンピュータ可読記憶媒体。
【発明を実施するための形態】
【0027】
ここで、本明細書の一部を形成する添付の図面に関連して、いくつかの例示的な実施形態が説明される。本開示の1つまたは複数の態様が実装され得る特定の実施形態が以下で説明されるが、本開示の範囲または添付の特許請求の範囲の趣旨から逸脱することなく、他の実施形態が使用されることがあり、種々の修正が行われることがある。
【0028】
本明細書で説明される技法は、センサの識別子を生成するための方法、システム、および装置を提供する。センサは物理的な入力を検出し、いくつかの例では物理的な入力を電気的または光学的な出力に変換する。電気的な出力は、種々の方法でセンサを収容するデバイスによって使用され得る。センサのいくつかの例には、慣性センサ、撮像センサ、化学センサ、生体センサ、超音波センサなどがあり得る。超音波センサは、無線波または音波からのエコーを解釈することによって動作することができる。たとえば、超音波センサは、高周波の音波を生成し、センサによって受信されるエコーを評価することができる。いくつかの実装形態では、超音波センサは、信号の送信とエコーの受信との間の時間間隔を計算して、入射面までの距離を求める。いくつかの例では、超音波センサは、環境からの周辺信号を検出することによって、受動モードでも動作することができる。超音波センサの1つの適用例には、ユーザを認証するためにユーザの指紋を検出することがあり得る。
【0029】
いくつかの実施形態では、センサの識別子は、センサを一意に(または許容可能な程度の範囲内で一意に)識別するビットの列を指し得る。いくつかの例では、センサを一意に識別することは、認証プロセスのセキュリティを向上させ、または補強し得る。いくつかの例では、センサを一意に識別することは、システム、リモートサーバ、クラウド、アプリケーション、およびプログラムがセキュリティを向上させることを可能にし、また、セキュリティ違反の事例において鑑識を可能にし得る。たとえば、いくつかの例では、特定のセンサを使用してユーザの指紋が得られたことを確認することが、バックエンドシステムのために有用であり得る。
【0030】
いくつかの現在の解決法は、いくつかの例では、センサに刻印される固定された識別子を提供する。しかしながら、これらの識別子は、柔軟性がなく、実装するのが高価であり、偽装、隠匿、変更、または盗難されることがある。本明細書で説明される技法は、センサを識別するための費用対効果があり安定した方法を提供する。
【0031】
本発明のいくつかの実施形態では、技法は、センサの固有の特性を使用してセンサの識別子を生成するための方法を説明する。説明される技法は、コントラストの変動、入力信号の変動、およびセンサ特性の漸次的な変化に対して安定している、センサからの空間的な、時間的な、および包括的な情報を使用して、費用対効果のある方式で識別子を生成することを可能にする。さらに、本明細書で説明される技法は、センサが欠陥と劣化を有する例においても、センサの識別子を使用することを可能にする。
【0032】
一実施形態では、説明される技法は、センサにおける変動を使用して識別子を生成する。
図1は、1つまたは複数のピクセルを備える例示的なセンサ100を示す。いくつかの例では、「ピクセル」は「ピクセル回路」とも呼ばれることがあり、本発明の範囲から逸脱することなく交換可能に使用され得る。ピクセルは、センサ内のサブセンシングユニットであり得る。
図1では、センサ100の図示はセンサ中の64(8×8)個のピクセルを表している。様々な実装形態において、センサおよびピクセルの形状、ピクセルの数、およびピクセル間の離隔は、本発明の範囲から逸脱することなく大きく変動し得る。ピクセルブロック102は、64個のピクセルのグリッドからの2つの例示的なピクセルを表している。
【0033】
図2は、
図1に示されるピクセル200の例を示す。センサの各ピクセルは、センシングが可能であってよく、1つまたは複数のトランジスタ、ダイオード、および抵抗を使用して構築されてよい。ピクセルの例は、薄膜トランジスタ(TFT)ピクセル回路である。いくつかの実装形態では、超音波センサは複数のTFTピクセル回路を使用し得る。
【0034】
1つの例示的な実装形態では、ピクセルは、交流(AC)信号202と直流(DC)信号204とを受け取り得る。いくつかの実装形態では、ピクセル200は、AC信号202だけを受け取ることがあり、DC信号204だけを受け取ることがあり、AC信号202とDC信号204の両方を受け取ることがあり、または信号をまったく受け取らないことがある。超音波センサでは、電流はセンサ内部で波を励振するために使用され得る。超音波センサは、センサによって受信されるエコーを感知することができる。いくつかの実装形態では、超音波センサは、信号の送信とエコーの受信との間の時間間隔を計算して、入射面までの距離を求める。いくつかの例では、超音波センサは、ほとんどまたはまったく電流がなくても動作し、環境からの周辺信号を検出することによって、受動モードで動作することができる。
【0035】
出力信号206は、センサによって実行されるセンシングの結果を示し得る。たとえば、出力信号206は、電流を特定の電圧において出力することができる。いくつかの例では、出力信号206は、出力信号206の電流および/または電圧レベルに基づいて、アナログデジタルコンバータ(ADC)回路を使用してさらにデジタル化され得る、アナログ信号として解釈され得る。ADCの例は、
図4においてより詳細に説明される。いくつかの態様では、様々なピクセルのための出力信号206は、同じAC信号202、DC信号204、またはピクセル中の固有の差異が原因の刺激(たとえば、指の存在または不在)に対して変動し得る。
【0036】
本発明の実施形態は、センサの識別子を生成する際に、センサからの個々のピクセルと関連付けられる変動を使用する。いくつかの実施形態では、検出される変動は、センサの識別子を生成する際に、センサの一部および/またはセンサ全体の変動に対して測定される。相対的な測定を使用することで、センサを一意に識別するための能力を失うことなく、センサの漸次的な変化を、さらにはセンサに対する小さな損傷(すなわち、故障したピクセル)を許容する。
【0037】
個々のピクセルのセンシングにおける変動は、種々の理由でもたらされ得る。たとえば、変動は、トランジスタ、ダイオード、および抵抗のようないくつかの異なるコンポーネントを含む回路の製造プロセスを通じてもたらされ得る。製造時に、非理想的な製造プロセスが原因で、各ピクセル回路またはピクセル回路のグループは、センサの別のピクセル回路またはピクセルのグループとは異なり得る。
【0038】
同様に、センサの構築において使用される材料の連続するまたは連続しない領域にわたる様々な材料における変動は、各ピクセルまたはピクセルのグループのセンシング能力にも影響を与え得る。たとえば、
図3は、超音波センサ300のレイアウトの例示的な表現を示す。
図3からの超音波センサ300は、TFTピクセルおよび様々な接着剤、空気の間隙、金属層、ガラス層などを備えるTFT基板306を使用して構築される。これらの層の各々が、連続する領域にわたって調査されると変動を意図せずに有し(または「有することがあり」)、各ピクセルまたはピクセルのグループのセンシング能力に変動をもたらし得る。加えて、低コストの製造プロセスでは、材料の一部に気泡があることがあり、これも、影響を受けるピクセルの信号検出能力に変動をもたらす。本発明の実施形態において説明されるように、ピクセルのセンシングにおけるそのような変動は、入力信号302の応答(すなわち、出力信号304)の変動をもたらすことがあり、センサの識別子を生成する際に使用されることがある。
【0039】
図4は、センサのためのアナログからデジタルへの変換プロセスを示す、アナログデジタルコンバータ(ADC)400の例示的な表現を示す。
図4に示されるブロックは、例示的なADC400のコンポーネントのいくつかを表し得るが、本発明の実施形態はそのような表現により限定されない。アナログからデジタルへのプロセスは、各ピクセルまたはピクセルのグループに対していくらかの変動ももたらし得る。たとえば、アナログからデジタルへの変換プロセスは、同じ回路を通るいくつかのピクセルからのセンサ出力アナログ信号402(すなわち、出力信号206)を処理し、デジタル信号410を生成することができる。いくつかの実施形態では、同じ回路または特定用途向け集積回路(ASIC)が、複数のピクセルのためのADCプロセスにおいて使用され得る。一実装形態では、マルチプレクサ(すなわち、MUX)404は、適切なピクセル回路から信号を選択するために使用され得る。MUX404において信号を選択するプロセス自体が、ピクセルの最終的なセンシング能力に変動をもたらし得る。たとえば、選択信号とMUX404中の信号との間のクロスノイズは、選択される信号に基づいて変動し得る。さらに、各ピクセルからの信号は、信号を検出する際の変動につながる他の信号と比較して、わずかに異なる経路を有し得る。フィルタ406のための回路およびA/D408のコンポーネントも、さらなる変動をもたらし得る。本発明の実施形態において説明されるように、ピクセルのセンシングにおけるそのような変動は、センサの識別子を生成する際に使用され得る。
【0040】
上で説明される例示的な変動は、同じセンサに対しては経時的に比較的よく安定している。しかしながら、変動は、同じ製造プロセスを使用して生産された他の表面的には理想的なセンサとも、異なることがある。言い換えると、各センサは固有のピクセル変動を有する。
【0041】
本発明の実施形態は、各ピクセルまたはピクセルのグループに対するそのような検出された変動を使用して、識別子を生成するための方法を提供する。1つの例示的な実施形態では、超音波センサが論じられ得る。しかしながら、本発明の実施形態は超音波センサに限定されず、様々な他のセンサとともに使用され得る。
【0042】
図5は、本発明の1つまたは複数の実施形態による、センサの識別子を生成するための方法を実行するための流れ図を示す。1つまたは複数の態様によれば、
図5に示される流れ
図500において説明される方法および/または方法ステップのいずれかおよび/またはすべてが、モバイルデバイスのようなコンピューティングデバイスによって実施され得る。そのようなコンピューティングデバイスの例示的な、しかし非限定的なコンポーネントが、
図14においてより詳細に説明される。一実施形態では、
図5に関して以下で説明される方法ステップの1つまたは複数は、プロセッサ1410または別のプロセッサのような、モバイルデバイスのプロセッサまたは特定用途向け集積回路(ASIC)によって実施される。加えて、または代替的に、本明細書で説明される方法および/または方法ステップのいずれかおよび/またはすべては、メモリ1435、記憶装置1425、または別のコンピュータ可読媒体のような、コンピュータ可読媒体に記憶されているコンピュータ可読命令などのコンピュータ可読命令において実施され得る。
【0043】
いくつかの実施形態では、複数のビットは、他のピクセルおよび様々なセンシング環境に対する、各ピクセルと関連付けられる変動を表すために使用され得る。いくつかの例では、各ビットは、同じピクセルと関連付けられる異なるセンシング環境を表し得る。ピクセルのばらつきの表現の信頼性は、より多数のセンシング環境にわたってピクセルのばらつきを決定することによって向上し得る。
【0044】
例示を目的に、超音波センサを使用する例示的な設定において、3つの異なるセンシング環境が選択され得る。超音波センサの第1の例示的なセンシング環境(BG1)では、トーンバースト生成器が無効にされた状態で通常のDCバイアスが使用され得る。超音波センサの第2の例示的なセンシング環境(BG2)では、トーンバースト生成器が有効にされた状態で通常のDCバイアスが使用され得る。超音波センサの第3の例示的なセンシング環境(BG3)では、トーンバースト生成器が無効にされた状態で0.1Vだけずらされた通常のDCバイアスが使用され得る。一実装形態では、超音波指紋センサでは、超音波センサ上に指が存在しなくてもセンシングが実行され得る。
【0045】
センシング環境は、センサのタイプに基づいて選択され得る。たとえば、カメラでは、センシング環境は、光なしのセンシング、白色光によるセンシング、および赤色光によるセンシングを含み得る。
【0046】
ブロック502において、コンピューティングデバイスのコンポーネントは、少なくとも1つのセンシング環境についての、センサの複数のピクセルからの各ピクセルに対するセンシングされた情報にアクセスすることができる。センシングされた情報は、特定のセンシング環境に置かれているセンサに対して検出された、アナログ信号またはデジタル信号を指し得る。いくつかの他の実施形態では、方法は、センサのスキャンを実行し、上で説明されたセンシング環境の各々に対するセンシングされた情報にアクセスして、異なるセンシング環境のもとでの各ピクセルに対する測定結果を決定する。
【0047】
いくつかの実施形態では、複数の繰り返しにわたって収集されたデータを正規化するために、同じピクセルのための同じセンシング環境に対する複数のスキャンが実行され得る。複数のスキャンを実行することで、データの信頼性を向上させることができる。データの正規化は、複数の繰り返し(N
1、N
2、およびN
3)にわたる単純平均または中央値の計算を使用して実行され得る。以下は、3つの異なるセンシング環境(BG1、BG2、およびBG3)に対する、センサのピクセルの絶対的な測定値の3つのデータセット(A
BG1、A
BG2、およびA
BG3)をそれぞれ表す例示的な等式である。
【0049】
ブロック504において、コンピューティングデバイスのコンポーネントは、センサの複数のピクセルの第1のサブセットからの各ピクセルに対するセンシングされた情報を使用して、複数のピクセルの第1のサブセットに対するセンシングされた情報の変動を表す第1の分散を求めることができる。
図6A、
図6B、および
図6Cのブロック602、610、および616はそれぞれ、第1のサブセットに含まれるピクセルの例示的なサブセットを表す。
【0050】
一実装形態では、第1のサブセットは、センサのピクセルのすべてに対するセンシングされた情報を備える包括的なサブセットを指し得る。そのような状況では、第1の分散は包括的な分散と呼ばれ得る。第1のサブセットのそのような実装形態は、
図6Aのブロック602によって示されてよく、ここで第1のサブセットはセンサのピクセルのすべてを含む。しかしながら、
図6Bおよび
図6Cに関して以下でさらに詳細に説明されるように、いくつかの実装形態では、第1のサブセットはセンサのピクセルのすべてを備えないことがある。
【0051】
いくつかの態様では、データセットA
BG1は、
図1に表されるセンサ100の各ピクセルを表す64個の異なるデータ点を含み得る。第1のサブセットが包括的なサブセットを表し、第1の分散が包括的な分散を指す一例では、平均および標準偏差(μ
1、σ
1)、(μ
2、σ
2)、および(μ
3、σ
3)は、それぞれのセンシング環境(BG1、BG2、およびBG3)におけるセンサの包括的なばらつきを表すために使用され得る各データセット(A
BG1、A
BG2、およびA
BG3)に対して計算され得る。
【0052】
図7を簡単に参照すると、
図7は、センサの複数のスキャンに対する平均と標準偏差を生成するための例示的なプロセスを示す。たとえば、複数(N
1回)のスキャンが、あるセンシング環境のための複数のピクセルと関連付けられる単一のデータセット(A
BG1)を生成するために実行され平均され得る。データセットはさらに、ピクセルの第1のサブセットのばらつき(包括的な分散、ここで第1のサブセットはセンサのすべてのピクセルを含む)を表すために、平均および標準偏差を生成するように処理され得る。
【0053】
ブロック506において、コンピューティングデバイスのコンポーネントは、センサの複数のピクセルの第2のサブセットからの各ピクセルに対するセンシングされた情報を使用して、複数のピクセルの第2のサブセットに対するセンシングされた情報の変動を表す第2の分散を求めることができ、複数のピクセルの第1のサブセットは複数のピクセルの第2のサブセットとは異なる。
図6A、
図6B、および
図6Cのブロック604、612、および618はそれぞれ、第2のサブセットに含まれるピクセルの例示的なサブセットを表す。
【0054】
いくつかの実装形態では、第2のサブセットに含まれるピクセルは、センサに結合されるコンピューティングデバイスからの識別子を要求することができる、リモートサーバのようなリモートコンピューティングデバイスによって決定される。いくつかの他の実装形態では、コンピューティングデバイスは、第2のサブセットに含まれるべき複数のピクセル(またはピクセルの位置/領域)を選択することができる。いくつかの実装形態では、第2のサブセットに含まれるピクセルは、センサまたはADCコンバータの設計に基づいて決定され得る。たとえば、一実装形態では、複数のピクセル回路によって共有される送信チャネルに基づいて、Mビットが第2のサブセットに対して選択され得る。
【0055】
ブロック504と同様に、第2の分散は、それらのピクセルに対するセンシングされた情報を使用して、センサのある領域(第2のサブセット)に対して決定され得る。複数の分散を求めることは、ブロック508において、識別子を生成する目的で任意の特定のピクセルの比較を行うための複数の点をコンピューティングデバイスに与え得る。少なくとも一実装形態では、すべてのM個のピクセルが、第2の平均および第2の標準偏差
【0061】
を計算するために一緒にグループ化され得る。
【0062】
図8を簡単に参照すると、
図8は
図7と同様のプロセスを示し、ここで方法はセンサ全体のサブセットである領域に対する平均および標準偏差を生成する。たとえば、長方形のボックス802によって
図8において示されるような小さな領域が、センシング環境のための複数のピクセルと関連付けられるデータセットから第2のサブセット(A
BG1)として選択され得る。データセットはさらに、局所的な領域と関連付けられるばらつき(局所的なばらつき)を表すために平均および標準偏差を生成するように処理され得る。いくつかの例では、識別子は、ピクセルの第2のサブセットからの情報を使用して生成され得る。そのような例では、ピクセルの第2のサブセットは局所的なサブセットと呼ばれることがあり、第2の分散は局所的な分散と呼ばれることがある。
【0063】
ブロック508において、コンピューティングデバイスのコンポーネントは、複数のピクセルの第3のサブセットからの各ピクセルに対するセンシングされた情報を第1の分散および第2の分散と比較することによって、複数のピクセルの第3のサブセットからの各ピクセルに対するピクセル識別子値を決定することができる。
図6A、
図6B、および
図6Cのブロック606、614、および620はそれぞれ、第3のサブセットに含まれるピクセルの例示的なサブセットを表す。一実装形態では、ピクセル識別子値は、複数のピクセルの第3のサブセットからの各ピクセルに対するビットの列であってよく、識別子を生成する際に使用されてよい。
【0064】
たとえば、一実装形態では、コンピューティングデバイスは、ピクセルの測定結果を、各センシング環境に対する第1の分散および第2の分散と比較することができる。一実装形態では、絶対的な測定結果、または、第1の(または第2の)測定結果に対するピクセルのセンシングされた情報が、(平均および標準偏差に基づいて)許容可能な範囲内に入る場合、0という値がそのセンシング環境のためのピクセルに対して割り当てられてよく、またその逆であってよい。上の例示的な設定は、各ピクセルの相対的なばらつきを表す6ビットの情報を生み出す。それは、現在のピクセルの相対性が測定される際の比較対象である、3つのセンシング環境(BG1、BG2、およびBG3)とピクセルの2つのグループ(第1のサブセットおよび第2のサブセット)があるからである。以下の式は、各ピクセルのばらつきを表す6ビットのピクセル識別子値の例示的な生成を表す。α、β、γ、
【0070】
は、平均または中央値からの許容可能なばらつきの範囲を調整するために使用され得る変数である。
A
BG1(x, y)∈[μ
1 -ασ
1,μ
1 +ασ
1]である場合、最初のビット=0である。
それ以外の場合、2番目のビット=1である。
A
BG2(x, y)∈[μ
2 -βσ
2,μ
2 +βσ
2]である場合、2番目のビット=0である。
それ以外の場合、2番目のビット=1である。
A
BG3(x, y)∈[μ
3 -γσ
3,μ
3 +γσ
3]である場合、3番目のビット=0である。
それ以外の場合、3番目のビット=1である。
【0072】
である場合、4番目のビット=0である。
それ以外の場合、4番目のビット=1である。
【0074】
である場合、5番目のビット=0である。
それ以外の場合、5番目のビット=1である。
【0076】
である場合、6番目のビット=0である。
それ以外の場合、6番目のビット=1である。
【0077】
ブロック510において、コンピューティングデバイスのコンポーネントは、複数のピクセルの第3のサブセットからの複数のピクセルの各々に対するピクセル識別子値を使用して、識別子を生成することができる。たとえば、
図9に示されるように、一例では、X対Yのピクセルに対しては、識別子のために6XY個のビットが生成され得る。1つの簡単な例では、第3のサブセットからの複数のピクセルに対するピクセル識別子値は、識別子を生成するために連結され得る。
【0078】
図5に示される具体的なステップは、本発明のある実施形態による、動作モードを切り替える特定の方法を提供することを理解されたい。したがって、代替的な実施形態では、他の順序のステップも実行され得る。たとえば、本発明の代替的な実施形態は、異なる順序で、上で概説されたステップ/ブロックを実行することができる。例示のために、ユーザは、第3の動作モードから第1の動作モードに変更すること、第4のモードから第2のモードに変更すること、またはそれらの任意の組合せの間で変更することを選び得る。その上、
図5に示される個々のステップ/ブロックは、個々のステップに対して様々な順序で適宜実行され得る、複数のサブステップを含み得る。さらに、追加のステップ/ブロックが、具体的な用途に応じて、追加または削除され得る。当業者は、プロセスの多くの変形形態、修正形態、および代替形態を認識し、理解するであろう。
【0079】
図6A、
図6B、および
図6Cは、センサの複数のピクセルからの第1のサブセット、第2のサブセット、および第3のサブセットに含まれるピクセルの例示的な変動を示す。
図6A、
図6B、および
図6Cは、識別子を生成するための少数の異なる構成を表すに過ぎず、本発明の実施形態はこれらの構成によって限定されない。
【0080】
たとえば、
図6Aでは、第1のサブセット602は、センサのすべてのピクセルを含み、包括的なセットを表す。第2のサブセット604は、第2のサブセット604に含まれるピクセルが第1のサブセット602にも含まれても、第1のサブセット602とは異なるセットを表す。それは、第2のサブセット604は第1のサブセット602とは異なり、逆は真ではない(すなわち、第2のサブセット604は第1のサブセット602からのピクセルの一部を含まない)からである。
図6Aに示されるように、第3のサブセット606に含まれるピクセルは、第2のサブセット604にも含まれる。一例では、第2のサブセット604および第3のサブセット606は同じであり得る。第2のサブセット604および第3のサブセット606が同じであるとき、第2/第3のサブセット604からの各ピクセルに対するピクセル値の識別子を使用して、識別子が生成される。
【0081】
図6Bは、ピクセルの第1のサブセット610がセンサからのピクセルの一部を含まない例を示す。さらに、
図6Bでは、第2のサブセット612からのすべてのピクセルが第1のサブセット610に含まれるとは限らない。
図6Bに示されるように、第3のサブセット614からのピクセルは、ピクセルの第1のサブセット610および第2のサブセット612に含まれる。
【0082】
図6Cは、さらに別の例示的な構成を示し、第1のサブセット616、第2のサブセット618、および第3のサブセット620はすべて、ピクセルの重複しない別個のサブセットである。
【0083】
本発明の範囲から逸脱することなく、いくつかのそのような構成が構築され得る。各サブセットの範囲が包含領域およびピクセルの数に関して可変である状態で、いくつかのそのような構成を選択することで、コンピューティングデバイスは、同じセンサと関連付けられる多数の異なる十分に一意な識別子を生成することが可能になる。いくつかの実装形態では、第1のサブセットおよび第2のサブセットに加えて、追加のサブセットが複数の分散を生成するために定義され使用され得る。したがって、本発明の実施形態は、範囲が2つの分散には限定されず、識別子を生成するために複数の分散を使用することができる。
【0084】
信頼されているバックエンドサーバのような第2のコンピューティングデバイスはまた、識別子を生成する際にセンサによって使用されるのと同じ構成パラメータを使用して、識別子を生成することができる。コンピューティングデバイスによって生成される識別子をローカルで生成された識別子と比較することによって、第2のコンピューティングデバイスは、コンピューティングデバイスにおいて使用されるセンサを一意に識別および/または認証することができる。
【0085】
いくつかの態様では、識別子を生成するための構成は、2つのコンピューティングデバイスの間で事前に協定され得る。他の態様では、識別子を生成するための構成は、信頼されているバックエンドサーバのような第2のコンピューティングデバイスにおいて決定され得る。さらに他の態様では、識別子を生成するための構成は、センサに結合されているコンピューティングデバイスにおいて決定され得る。
【0086】
一例では、構成情報は、信頼されているバックエンドサーバのような第2のコンピューティングデバイスから決定され受信される。別の例では、構成情報は、同期されているタイムスタンプまたは2つのデバイスの乱数生成器に対する共有されているシード/秘密を使用して、2つのコンピューティングデバイスの各々によって独立に決定され得る。
【0087】
一意な識別子は、複数のセンサを区別することに関心があり得るあらゆる(信頼されているまたは信頼されていない)リモートデバイスに有用であり得る。加えて、バックエンドサーバ(信頼されているサーバのような)はまた、センサに結合されているコンピューティングデバイスによって識別子を生成するために使用される、異なるセンシング環境および構成についてのセンサのピクセルの各々に対するセンシングされた情報を有し得る。そのようなバックエンドサーバはまた、識別子を生成し、センサを認証する(すなわち、識別子と関連付けられるセンサが一意であるということだけではなく、識別子と関連付けられるセンサがバックエンドサーバに(直接または間接的に)知られている特定のセンサであるということも決定する)ことができる。
【0088】
図10は、センサに結合されるコンピューティングデバイスによってセンサの識別子を生成するためのブロック図を示す。コンピューティングデバイスは、
図14で説明される1つまたは複数のコンポーネントを使用して実装されるコンピューティングデバイスであり得る。
図10で説明されるモジュールは、ソフトウェア、ファームウェア、ハードウェアまたはそれらの任意の他の組合せを使用して実装され得る。一実施形態では、
図10で説明されるモジュールのいくつかは、任意の磁気的な、電子的な、光学的な、または他のコンピュータ可読記憶媒体であり得るコンピュータ可読媒体1000上にソフトウェアモジュールとして記憶され得る。一実装形態では、コンピュータ可読記憶媒体1000は、情報受信機1004、第1の分散生成器1006、第2の分散生成器1008、ピクセル識別子生成器1010、識別子生成器1012、およびセンシング環境制御器1014を含み得る。
【0089】
ブロック1004において、情報受信機1004モジュールは、センサ1002からセンシングされた情報を受信することができる。一実装形態では、情報受信機1004モジュールは、センサ1002と関連付けられるピクセルの各々または「ピクセル回路」についての情報を受信し、センシングされた情報をメモリ1435に記憶することができる。一実装形態では、情報受信機は、いくつかの異なるセンシング環境についての情報を受信し、異なるセンシング環境に対するセンサと関連付けられる情報を別々のメモリバッファに記憶することができる。
【0090】
いくつかの実装形態では、情報受信機1004モジュールは、同じセンシング環境(センシング環境制御器1014モジュールによって制御される)について、センサ1002から情報の複数の繰り返しを受信することができる。情報受信機1004モジュールは、複数の繰り返しにわたって受信されるデータを平均して、情報の測定結果またはセンシングにおける誤差または一時的な変動を減らすことができる。一実装形態では、情報受信機1004モジュールは、センサ識別子の生成のための各々のかつすべての要求について、センサのすべてのピクセルについての情報を受信する。別の実装形態では、情報受信機1004は、様々なセンシング環境において動作するセンサについての記憶されている情報を、センサ識別子の生成のためのすべての要求の際にではなく、定期的に更新する。
【0091】
ブロック1014において、センシング環境制御器1014モジュールは、センシングされている情報を取り出すために、センサ1002に対する様々な異なるセンシング環境を選択することができる。例示を目的に、超音波センサを使用する例示的な設定において、3つの異なるセンシング環境が選択され得る。超音波センサの第1の例示的なセンシング環境(BG1)では、トーンバースト生成器が無効にされた状態で通常のDCバイアスが使用され得る。超音波センサの第2の例示的なセンシング環境(BG2)では、トーンバースト生成器が有効にされた状態で通常のDCバイアスが使用され得る。超音波センサの第3の例示的なセンシング環境(BG3)では、トーンバースト生成器が無効にされた状態で0.1Vだけずらされた通常のDCバイアスが使用され得る。
【0092】
ブロック1006において、第1の分散生成器1006モジュールは、第1のサブセットと関連付けられる情報を使用して、第1の分散を生成する。一実装形態では、第1のサブセットはセンサのピクセルのすべてを含み、第1の分散は包括的な分散を表す。一態様では、センシング環境に対する第1の分散は、第1のサブセットに属するピクセルの各々に対するセンシングされた情報の平均と、第1のサブセットに属するピクセルに対する標準偏差とを計算することによって、生成され得る。第1の分散生成器1006モジュールは、情報受信機1004モジュールから、ピクセルの第1のサブセットに対するセンシングされた情報を受信することができる。
【0093】
ブロック1008において、第2の分散生成器1008モジュールは、第2のサブセットと関連付けられる情報を使用して、第2の分散を生成する。一実装形態では、第2のサブセットは少なくとも1つのピクセル中の第1のサブセットとは異なる。一態様では、センシング環境に対する第2の分散は、第2のサブセットに属するピクセルの各々に対するセンシングされた情報の平均と、第2のサブセットに属するピクセルに対する標準偏差とを計算することによって、生成され得る。第2の分散生成器1008モジュールは、情報受信機1004モジュールから、ピクセルの第2のサブセットに対するセンシングされた情報を受信することができる。
【0094】
第1の分散生成器1006および第2の分散生成器1008が論じられるが、本発明の実施形態は2つだけの分散の生成には限定されず、ある実施形態では、いくつかのより多くの分散が生成され得る。
【0095】
ブロック1010において、ピクセル識別子値生成器1010モジュールが、ピクセルを識別するピクセルと関連付けられる値を生成することができる。一態様では、ピクセル識別子値生成器1010モジュールは、ピクセル識別子値を生成するために、ピクセルの第3のサブセットからの1つのピクセルを選択することができる。ピクセル識別子値生成器1010モジュールは、ピクセルに対するセンシングされた情報を第1の分散生成器1006モジュールによって生成された第1の分散と比較して、あるビットの情報を生成することができる。同様に、ピクセル識別子値生成器1010モジュールは、同じピクセルに対するセンシングされた情報を第2の分散生成器1008モジュールによって生成された第2の分散と比較して、第2のビットの情報を生成することができる。同様に、第1の分散および第2の分散がいくつかの異なるセンシング環境に対して生成される場合、ピクセル識別子値生成器1010モジュールは、それらのセンシング環境の各々に対してあるビットの情報を生成することができる。たとえば、3つの異なるセンシング環境がセンシング環境制御器1014モジュールによって構成され得る場合、6つの異なるビットの情報が第3のサブセットからの単一のピクセルに対して生成され得る。
【0096】
ピクセル識別子値生成器1010モジュールは、ピクセルの第3のサブセットからの各ピクセルに対して同じプロセスを繰り返すことができる。ブロック1012において、識別子生成器モジュールは、第3のサブセットからのピクセルの各々に対するピクセル識別子値を組み合わせて、センサ1002の識別子を生成することができる。一実装形態では、センサ識別子は、
図14で説明される通信サブシステム1430と同様の通信サブシステム1016を使用して、リモートデバイスのようなデバイスに送信され得る。
【0097】
図11は、本発明の1つまたは複数の実施形態による、認証コンピューティングデバイスによって方法を実行するための流れ図を示す。1つまたは複数の態様によれば、
図11に示される流れ
図1100において説明される方法および/または方法ステップのいずれかおよび/またはすべてが、コンピューティングデバイスによって、またはコンピューティングデバイスにおいて実施され得る。一例では、コンピューティングデバイスは、センサの識別情報を認証する信頼されているバックエンドサーバのようなリモートデバイスである。別の例では、コンピューティングデバイスは、センサの真正性を確立するためのコンピューティング論理を伴う二次的なデバイスまたはポータブルドングルである。そのようなコンピューティングデバイスの例示的な、しかし非限定的なコンポーネントが、
図14においてより詳細に説明される。一実施形態では、
図11に関して以下で説明される方法プロセスの1つまたは複数は、プロセッサ1410または別のプロセッサのような、モバイルデバイスのプロセッサまたは特定用途向け集積回路(ASIC)によって実施される。加えて、または代替的に、本明細書で説明される方法および/または方法ステップのいずれかおよび/またはすべては、メモリ1435、記憶装置1425、または別のコンピュータ可読媒体のような、コンピュータ可読媒体に記憶されているコンピュータ可読命令などのコンピュータ可読命令において実施され得る。
【0098】
ブロック1102において、認証コンピューティングデバイスのコンポーネントが、コンピューティングデバイスからセンサと関連付けられる第1の識別子を(通信サブシステム1430を使用して)受信するように構成されてよく、センサはコンピューティングデバイスに結合される。
【0099】
ブロック1104において、認証コンピューティングデバイスのコンポーネントが、センサの複数のピクセルからのピクセルの第1のサブセットと関連付けられる第1の分散と、センサの複数のピクセルからのピクセルの第2のサブセットと関連付けられる第2の分散と、複数のピクセルからのピクセルの第3のサブセットの各々と関連付けられる情報とを使用して、センサの第2の識別子を決定することができる。第2の識別子は、認証コンピューティングデバイスの、またはサーバコンピューティングデバイスに結合されたデバイスのメモリ1435に記憶されている情報を使用して、生成され得る。一実装形態では、準備段階の間に、異なるセンシング環境のもとで動作するセンサのピクセルと関連付けられるセンシングされた情報は、サーバコンピューティングデバイスに、または第1のコンピューティングデバイスに結合されたデバイスに記憶され得る。
【0100】
第2の識別子を生成するプロセスは、(
図5を参照して説明される)第1の識別子を生成するプロセスといくつかの面で類似していることがある。識別子を生成する際に使用されるピクセルの第1のサブセット、第2のサブセット、および第3のサブセットは、認証コンピューティングデバイスと、センサに結合されるコンピューティングデバイスとの間で事前に協定され得る。
【0101】
ブロック1106において、認証コンピューティングデバイスのコンポーネントは、第1の識別子と第2の識別子を比較することによって、第1の識別子と第2の識別子の両方が同じセンサと関連付けられるかどうかを判定することができる。いくつかの実施形態では、第1の識別子および第2の識別子の両方が同じセンサと関連付けられるかどうかを判定するために、第1の識別子と第2の識別子を比較するステップは、第1の識別子と第2の識別子との間の距離を求めるステップと、その距離が閾値よりも短い場合、第1の識別子と第2の識別子の両方がセンサと関連付けられると判定するステップとを含み得る。
【0102】
認証または識別のプロセスの間に、いくつかの実装形態では、認証コンピューティングデバイスのコンポーネントは、以下で示されるように、サーバコンピューティングデバイス(D1)によって受信された第1の識別子を認証コンピューティングデバイス(D2)によって生成された第2の識別子と比較する際に、ハミング距離アルゴリズムを使用することができる。
【0104】
一実装形態では、hが照合閾値Tよりも小さい場合、センサは識別子D2と関連付けられる同じセンサとして認証または識別される。それ以外の場合、センサは予期されるセンサとして認証または識別されないことがある。ハミング距離アルゴリズム(または任意の同様のアルゴリズム)の使用は、センサの小さな欠陥および環境中の雑音による測定結果の変動により引き起こされ得る、識別子の柔軟性とばらつきを許容する。
【0105】
さらに、各センサIDに対してマスクを作成することによって、識別の精度が向上し得る。たとえば、各ピクセルにおけるマスクの値は、欠陥のあるピクセルに対しては「000000」として設定され得る。それ以外の場合、ピクセルの6ビット表現に対して、マスクはデフォルトで「111111」であり得る。ハミング距離アルゴリズムは、マスクを考慮するために次のように上記のものから修正され得る。
【0107】
いくつかの実施形態では、センサ識別子は、識別子をリモートエンティティに送信する前に暗号化され得る。
【0108】
図11に示される具体的なステップは、本発明のある実施形態による、動作モードを切り替える特定の方法を提供することを理解されたい。したがって、代替的な実施形態では、他の順序のステップも実行され得る。たとえば、本発明の代替的な実施形態は、異なる順序で、上で概説されたステップ/ブロックを実行することができる。例示のために、ユーザは、第3の動作モードから第1の動作モードに変更すること、第4のモードから第2のモードに変更すること、またはそれらの任意の組合せの間で変更することを選び得る。その上、
図11に示される個々のステップ/ブロックは、個々のステップに対して様々な順序で適宜実行され得る、複数のサブステップを含み得る。さらに、追加のステップ/ブロックが、具体的な用途に応じて、追加または削除され得る。当業者は、プロセスの多くの変形形態、修正形態、および代替形態を認識し、理解するであろう。
【0109】
図12は、認証コンピューティングデバイスによってセンサの識別子を認証するためのブロック図を示す。認証コンピューティングデバイスは、
図14で説明される1つまたは複数のコンポーネントを使用して実装されるコンピューティングデバイスであり得る。
図12で説明されるモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の他の組合せを使用して実装され得る。一実施形態では、
図12で説明されるモジュールのいくつかは、任意の磁気的な、電子的な、光学的な、または他のコンピュータ可読記憶媒体であり得るコンピュータ可読媒体1200上にソフトウェアモジュールとして記憶され得る。一実装形態では、コンピュータ可読記憶媒体1200は、第1の識別子受信機1204、第2の識別子生成器1206、および比較器1208を含み得る。第2の識別子生成器1206は、第1の分散生成器/取出器1210、第2の分散生成器1212、ピクセル識別子値生成器1214、および識別子生成器1216を含み得る。
【0110】
いくつかの実施形態では、準備段階の間に、認証コンピューティングデバイスまたは、サーバコンピューティングデバイスに結合されるデバイスは、メモリ1435に記憶されておりセンサを認証するためにサーバコンピューティングデバイスによって使用される、センサと関連付けられるセンシングされた情報を受信することができる。たとえば、一実施形態では、センサについての情報は、センサの製造または試験段階の間に取得され、認証コンピューティングデバイスによって記憶されアクセス可能であってよい。
【0111】
センサを認証するときに、認証コンピューティングデバイスに結合される通信サブシステム1202は、送受信機を使用して、センサに結合されるデバイスからセンサと関連付けられる第1の識別子を受信することができる。ブロック1204において、第1の識別子受信機1204は、認証コンピューティングデバイスにおいて第1の識別子を受信し、それをメモリ1435に記憶することができる。
【0112】
第2の識別子生成器1206モジュールは、認証コンピューティングデバイスに、または認証コンピューティングデバイスに結合されたデバイスに記憶されている、センサについてのセンシングされた情報を使用して、第2の識別子を生成することができる。一実施形態では、記憶されているセンシングされた情報は、複数のセンシング環境に対するセンシングされた情報を含み得る。認証コンピューティングデバイスおよびセンサに結合されたコンピューティングデバイスはまた、センサの識別子を生成するためのピクセルの第1のサブセット、第2のサブセット、および第3のサブセットに関して同じ構成情報を有し得る。構成情報は、サーバコンピューティングデバイスによって、センサに結合されているデバイスによって、またはこれら2つの組合せによって決定され得る。
【0113】
図5を参照して説明されてきたことと同様に、第1の分散生成器/取出器1210は、センサの複数のピクセルからのピクセルの第1のサブセットに対するセンシングされた情報を使用して、第1の分散を生成することができる。一実装形態では、第1の分散は、第1のサブセットに属するピクセルのためのセンシング環境に対するセンシングされた情報の平均と標準偏差を求めることによって、1つまたは複数のプロセッサ1410によって生成される。いくつかの実装形態では、第1のサブセットは、センサのピクセルのすべてを含む。いくつかの態様では、第1の分散は包括的な分散であり、一度だけ決定され、および/または、各々のすべての認証要求の際にではなく定期的に更新され得る。
【0114】
第2の分散生成器1212モジュールにおいて、認証コンピューティングデバイスは、センサの複数のピクセルからのピクセルの第2のサブセットに対するセンシングされた情報を使用して、第2の分散を生成することができる。一実装形態では、第2の分散は、第2のサブセットに属するピクセルのためのセンシング環境に対するセンシングされた情報の平均と標準偏差を求めることによって、1つまたは複数のプロセッサ1410によって生成される。
【0115】
ピクセル識別子値生成器1214モジュールにおいて、ピクセルの第3のサブセットからの各ピクセルに対するセンシングされた情報は、各センシング環境に対する第1の分散および第2の分散と比較されて、第3のサブセットからのピクセルに対するピクセル識別子値を生成する。
【0116】
識別子生成器1216において、第2の識別子は、ピクセルの第3のサブセットのピクセルに対して、ピクセル識別子値生成器1214モジュールによって生成されるピクセル識別子値を使用することによって、生成される。1つの簡単な実装形態では、ピクセル識別子値は、第2の識別子値を形成するために連結される。
【0117】
比較器1208モジュールは、第1の識別子受信機1204モジュールから受信される第1の識別子値と、第2の識別子生成器1206モジュールから受信される第2の識別子値とを比較して、2つの識別子値が同じセンサを参照するかどうかを判定する。2つの識別子値が同じセンサモジュールを参照すると判定される場合、サーバコンピューティングデバイス上の認証プロセスはなくなる。
【0118】
図13は、本発明の1つまたは複数の実施形態による、方法を実行するための流れ図を示す。1つまたは複数の態様によれば、
図13に示される流れ
図1300において説明される方法および/または方法ステップのいずれかおよび/またはすべてが、たとえば、モバイルデバイス、
図14においてより詳細に説明されるコンポーネントによって、かつ/またはそれらにおいて実施され得る。一実施形態では、
図13に関して以下で説明されるブロックの1つまたは複数は、プロセッサ1410または別のプロセッサのような、モバイルデバイスのプロセッサまたはASICによって実施される。加えて、または代替的に、本明細書で説明される方法および/または方法ステップのいずれかおよび/またはすべては、メモリ1435、記憶装置1425、または別のコンピュータ可読媒体のような、コンピュータ可読媒体に記憶されているコンピュータ可読命令などのコンピュータ可読命令において実施され得る。
【0119】
ブロック1302において、コンピューティングデバイスのコンポーネントは、センサからの複数のピクセルと関連付けられる情報を取得することができる。一実施形態では、センサは画像センサであり得る。別の実施形態では、センサは超音波センサであり得る。さらに別の実施形態では、センサは超音波指紋センサであり得る。いくつかの実施形態では、センサは、生体情報を使用してユーザを認証するために使用され得る。一実施形態では、様々なセンシング環境に対する、センサからの複数のピクセルと関連付けられる情報を使用して、平均および標準偏差が生成され得る。
【0120】
ブロック1304において、コンピューティングデバイスのコンポーネントは、複数のピクセルのサブセットからのピクセルの各々と関連付けられる情報の変動を検出することができる。一実施形態では、ピクセルの各々の変動は、複数のピクセルの変動に関して決定される。別の実施形態では、本発明のコンポーネントは、複数のピクセルの1つまたは複数のサブセットからのピクセルの各々と関連付けられる生成された情報における固有の変動を検出し、2つ以上のサブセットが使用される場合、それらは重複することもしないこともあるが、いずれの2つのサブセットも厳密に同一ではない。
【0121】
ブロック1306において、コンピューティングデバイスのコンポーネントは、複数のピクセルのサブセットからのピクセルの各々と関連付けられる情報の検出された変動を使用して、センサの識別子を生成することができる。一実施形態では、センサの識別子を生成するステップは、複数のピクセルのサブセットからのピクセルの各々の分散を計算するステップと、複数のピクセルのサブセットからのピクセルの各々と関連付けられる分散を使用して識別子を生成するステップとを含み得る。別の実施形態では、実施形態のコンポーネントは、複数のピクセルのサブセットからのピクセルの各々と関連付けられる生成された情報の検出された固有の変動を使用して、センサの識別子を生成することができる。さらに、一実施形態では、識別子値を生成するステップは、複数のピクセルの各々の分散を連結して、識別子を生成するステップを備える。ピクセルの各々の分散は、センサのための複数のセンシング環境を使用して求められ得る。
【0122】
ピクセルのセンシング能力の変動は、各ピクセルのための回路に変動を含み得る種々の理由によって引き起こされることがあり、回路の変動は、製造プロセス、各ピクセルの、およびその周囲の材料分布の変動、各ピクセルの材料分布における気泡、ならびにADC変換プロセスにおける選択および送信論理によってもたらされ得る。
【0123】
図13に示される具体的なステップは、本発明のある実施形態による、動作モードを切り替える特定の方法を提供することを理解されたい。したがって、代替的な実施形態では、他の順序のステップも実行され得る。たとえば、本発明の代替的な実施形態は、異なる順序で、上で概説されたステップを実行することができる。例示のために、ユーザは、第3の動作モードから第1の動作モードに変更すること、第4のモードから第2のモードに変更すること、またはそれらの任意の組合せの間で変更することを選び得る。その上、
図13に示されている個々のステップは、個々のステップに適している通りに様々な順序で実行され得る複数のサブステップを含み得る。さらに、追加のステップが、具体的な用途に応じて、追加または削除され得る。当業者は、プロセスの多くの変形形態、修正形態、および代替形態を認識し、理解するであろう。
【0124】
説明される技法は、多くのタイプのセンサに適用可能である超音波指紋センサのための、センサ識別子計算方法を可能にする。方法は、ピクセルのセンシング能力の他のピクセルに対する異常性(またはばらつき)を検出して、そのピクセルに対する値を生成する。一実施形態では、ピクセルと全体的な領域(またはより大きな領域)との間の相対的な差、およびピクセルと局所的な領域(または小さな領域)との間の相対的な差が、ピクセルのばらつきを決定するために使用され得る。この差は、その領域の統計的分析に基づいて、あらかじめ定められた正常な範囲内にある、またはあらかじめ定められた正常な範囲内にないという、2つのカテゴリーに分類され得る。いくつかの実施形態では、この識別子を生成するために1つだけのスキャンまたは画像が使用されてよく、他の実施形態では、識別子を生成するために複数のスキャンまたは画像が使用されてよい。
【0125】
説明される技法はまた、センサ識別子の生成が、センサの漸次的な変化に、さらにはセンサの損傷に適合することを可能にする。一実施形態では、これは、上で設定されたように、マスクを使用して欠陥を隠し、ハミング距離を求めるときにマスクを考慮することによって達成され得る。これにより、高い検証/認証の精度を依然として実現することができる。
【0126】
その上、センサが漸次的な変化または経時的な劣化を有する例でも、コンピューティングデバイスにおいて生成される識別子が依然としてリモートデバイスによる識別子と一致することがあり、それは、識別子が、ピクセルに対する絶対的な測定結果としてではなく、他のピクセルに対するピクセルのセンシング能力の相対的な変化に基づいて生成されるからである。
【0127】
さらに、説明される技法は、柔軟な識別子の生成を可能にし、それは、
図6A、
図6B、および
図6Cにおいて示される様々な構成で説明されたように、識別子が、センサピクセル全体、センサの小さな領域、および/またはセンサのランダムな個別の位置を使用して生成され得るからである。センサの識別子の生成におけるそのような変動は、センサと関連付けられ、信頼されているリモートバックエンドサーバのようなリモートデバイスによって認証され得る、非常に多数の十分に一意な識別子を生成するために使用され得る。識別子をそのように多数生成することで、中間者攻撃を妨害するのを助けることができ、それは、センサに結合されるコンピューティングデバイスが、コンピューティングデバイスによってリモートデバイスへ中継される識別子を継続的に変更できるからである。
【0128】
同様に、リモートコンピューティングデバイスによって検証可能であるそのような多数の識別子の生成はまた、チャレンジレスポンス手法とワンタイム識別子手法とを可能にし、ランダムなセンサの検証/認証を非常に安全にする。たとえば、リモートサーバは、センサのすべてのピクセルに対するセンシングされた情報を有し得る。そのようなセンシングされた情報は、準備段階の間に準備され得る。オンライン認証を実行するとき、リモートサーバは、ワンタイムの選択された構成(第1のサブセット、第2のサブセット、および第3のサブセットを備える)またはセンサの位置に対する識別子を、センサ(またはセンサに結合されるコンピューティングデバイス)に要求する/チャレンジすることができ、センサは、この構成のチャレンジ/要求に対する識別子ビットを生成し、遠隔の認証/検証のために識別子を送信することができる。ワンタイム認証/検証能力は、セキュリティを大きく強化することができる。
【0129】
本発明の実施形態はまた、計算および送信のより高い効率性を可能にし得る。一例では、センサが20×20のピクセルを有する場合、いくつかの実装形態は400個のピクセルを有し得る。毎回100個のピクセルがワンタイムIDを生成することが要求される場合、説明される技法は、2×10
254個を超える識別子を生成することができ、センサに対して多数のワンタイムIDを提供する。
【0130】
さらに、説明される技法は、検証/認証のための異なる時間において、同じセンサに対して可変長の識別子を生成することができ、同じセンサの識別子が様々なセキュリティおよび認証のニーズに適合することを可能にする。
【0131】
図14は、本発明の実施形態を実施する際に利用されるデバイスの部品を組み込んだ例示的なコンピュータデバイスを示す。
図14に示されるコンピューティングデバイスは、本明細書では、任意のコンピュータ化されたシステムの一部として組み込まれ得る。たとえば、コンピューティングデバイス1400は、モバイルデバイスのコンポーネントのいくつかを表し得る。コンピューティングデバイス1400の例には、限定はされないが、デスクトップ、ワークステーション、パーソナルコンピュータ、スーパーコンピュータ、ビデオゲーム機、タブレット、スマートフォン、ラップトップ、ネットブック、または他のポータブルデバイスがある。
図14は、本明細書で説明される様々な他の実施形態によって提供される方法を実行することができ、かつ/または、ホストコンピューティングデバイス、リモートキオスク/端末、販売時点管理(point-of-sale)デバイス、モバイル多機能デバイス、セットトップボックスおよび/もしくはコンピューティングデバイスとして機能することができる、コンピューティングデバイス1400の一実施形態の概略図を提供する。
図14は、様々なコンポーネントの一般化された図を提供することのみが意図されており、必要に応じて、そのいずれか、またはすべてが利用され得る。したがって、
図14は、個々のシステム要素がどのように、比較的別々に実装され得るか、または比較的統合して実装され得るかを広く示している。
【0132】
バス1405を介して電気的に結合され得る(または適宜別様に通信し得る)ハードウェア要素を備える、コンピューティングデバイス1400が示されている。ハードウェア要素は、限定されることなく、1つもしくは複数の汎用プロセッサ、ならびに/または(デジタル信号処理チップ、グラフィックス加速プロセッサなどのような)1つもしくは複数の専用プロセッサを含む、1つまたは複数のプロセッサ1410と、限定されることなく、カメラ、センサ1450、マウス、キーボードなどを含み得る1つまたは複数の入力デバイス1415と、限定されることなく、ディスプレイユニット、プリンタなどを含み得る1つまたは複数の出力デバイス1420とを含み得る。センサは、超音波センサおよび/または他の撮像センサを含み得る。
【0133】
コンピューティングデバイス1400はさらに、1つまたは複数の非一時的記憶デバイス1425を含んでよく(ならびに/またはそれと通信してよく)、非一時的記憶デバイス1425は、限定はされないが、ローカル記憶装置および/もしくはネットワークアクセス可能な記憶装置を備えてよく、ならびに/または、限定はされないが、プログラム可能、フラッシュ更新可能などであり得る、ディスクドライブ、ドライブアレイ、光記憶デバイス、ランダムアクセスメモリ(「RAM」)および/もしくは読取り専用メモリ(「ROM」)のようなソリッドステート記憶デバイスを含み得る。そのような記憶デバイスは、限定はされないが、様々なファイルシステム、データベース構造などを含む、任意の適切なデータ記憶装置を実装するように構成され得る。
【0134】
コンピューティングデバイス1400はまた、通信サブシステム1430を含み得る。通信サブシステム1430は、データを受信し送信するための送受信機、または、有線媒体および/もしくはワイヤレス媒体を含み得る。通信サブシステム1430はまた、限定されることなく、モデム、ネットワークカード(ワイヤレスもしくは有線)、赤外線通信デバイス、ワイヤレス通信デバイス、および/またはチップセット(Bluetooth(登録商標)デバイス、802.11デバイス、WiFiデバイス、WiMaxデバイス、セルラー通信設備などのような)などを含み得る。通信サブシステム1430は、ネットワーク(一例を挙げると、以下で説明されるネットワークのような)、他のコンピューティングデバイス、および/または本明細書で説明される任意の他のデバイスとデータを交換することを可能にし得る。多くの実施形態では、コンピューティングデバイス1400はさらに、上で説明されたようにRAMまたはROMデバイスを含み得る非一時的作業メモリ1435を備える。
【0135】
コンピューティングデバイス1400は、本明細書で説明されるように、オペレーティングシステム1440、デバイスドライバ、実行可能ライブラリ、および/または1つもしくは複数のアプリケーションプログラム1445のような他のコードを含む、作業メモリ1435内に現在配置されているものとして図示されている、ソフトウェア要素も備えてよく、1つまたは複数のアプリケーションプログラム1445は、様々な実施形態によって実現されるコンピュータプログラムを備えてよく、および/または、他の実施形態によって実現される方法を実施し、かつ/もしくはシステムを構成するように設計されてよい。単なる例として、上で論じられた方法に関連して説明される1つまたは複数の手順は、コンピュータ(および/またはコンピュータ内のプロセッサ)によって実行可能なコードおよび/または命令として実装されてよく、ある態様では、その後、そのようなコードおよび/または命令は、説明された方法に従って1つまたは複数の動作を実行するために、汎用コンピュータ(または他のデバイス)を構成および/または適合するために使用され得る。
【0136】
これらの命令および/またはコードのセットは、上で説明された記憶デバイス1425のようなコンピュータ可読記憶媒体に記憶され得る。場合によっては、記憶媒体は、コンピューティングデバイス1400のようなコンピューティングデバイス内に組み込まれ得る。他の実施形態では、記憶媒体に記憶されている命令/コードによって汎用コンピュータをプログラムし、構成し、かつ/もしくは適合するために記憶媒体が使用され得るように、記憶媒体は、コンピューティングデバイスから分離され(たとえば、コンパクトディスクのような取外し可能な媒体)、ならびに/または、インストールパッケージにおいて提供されてよい。これらの命令は、コンピューティングデバイス1400によって実行可能である、実行可能コードの形態をとってよく、ならびに/または、(たとえば、様々な一般的に利用可能なコンパイラ、インストールプログラム、圧縮/展開ユーティリティなどのいずれかを使用した)コンピューティングデバイス1400上でのコンパイルおよび/もしくはインストールの後に実行可能コードの形態をとる、ソースコードおよび/もしくはインストール可能コードの形態をとってよい。
【0137】
特定の要件に従って大幅な変形が行われ得る。たとえば、カスタマイズされたハードウェアも使用されてよく、かつ/または、特定の要素が、ハードウェア、ソフトウェア(アプレットなどのようなポータブルソフトウェアを含む)、またはその両方で実装されてよい。さらに、ネットワーク入力/出力デバイスなどの他のコンピューティングデバイス1400への接続が利用されてよい。
【0138】
いくつかの実施形態は、本開示による方法を実行するために、コンピューティングデバイス(コンピューティングデバイス1400のような)を利用することができる。たとえば、説明される方法の手順のいくつかまたはすべてが、作業メモリ1435に含まれる(オペレーティングシステム1440および/またはアプリケーションプログラム1445のような他のコードに組み込まれ得る)1つまたは複数の命令の1つまたは複数のシーケンスをプロセッサ1410が実行することに応答して、コンピューティングシステム1400によって実行され得る。そのような命令は、記憶デバイス1425のうちの1つまたは複数のような、別のコンピュータ可読媒体から作業メモリ1435に読み込まれ得る。単なる一例として、作業メモリ1435に含まれる命令のシーケンスの実行は、プロセッサ1410に、本明細書で説明される方法の1つまたは複数の手順を実行させ得る。
【0139】
本明細書において使用されるときに、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械を特定の方式で動作させるデータを与えることに関与する任意の媒体を指す。コンピューティングデバイス1400を使用して実装されるある実施形態では、様々なコンピュータ可読媒体が、実行のためにプロセッサ1410に命令/コードを与えることに関与することがあり、ならびに/または、そのような命令/コード(たとえば、信号)を記憶および/もしくは搬送するために使用されることがある。多くの実装形態では、コンピュータ可読媒体は物理的な記憶媒体および/または有形の記憶媒体である。そのような媒体は、限定はされないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む、多くの形態をとり得る。不揮発性媒体には、たとえば、記憶デバイス1425などの光ディスクおよび/または磁気ディスクがある。揮発性媒体には、限定はされないが、作業メモリ1435などのダイナミックメモリがある。伝送媒体は、限定はされないが、バス1405、ならびに通信サブシステム1430の様々なコンポーネント(および/または通信サブシステム1430がそれによって他のデバイスとの通信を提供する媒体)を備える線を含む、同軸ケーブル、銅線、および光ファイバを含む。したがって、伝送媒体はまた、波(限定はされないが、無線波データ通信および赤外線データ通信の間に生成されるものなどの無線波、音波、および/または光波を含む)の形をとり得る。代替的な実施形態では、カメラなどのイベント駆動型コンポーネントおよびデバイスが使用されてよく、その場合、処理の一部がアナログ領域において実行されてよい。
【0140】
物理的な、かつ/または有形のコンピュータ可読媒体の一般的な形態は、たとえば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、もしくは任意の他の磁気媒体、CD-ROM、任意の他の光学媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理媒体、RAM、PROM、EPROM、フラッシュEPROM、任意の他のメモリチップまたはカートリッジ、以下で説明されるような搬送波、または、コンピュータがそこからの命令および/もしくはコードを読み取ることのできる任意の他の媒体を含む。
【0141】
様々な形のコンピュータ可読媒体が、実行のためにプロセッサ1410に1つまたは複数の命令の1つまたは複数のシーケンスを搬送する際に関与し得る。単なる例として、命令は、最初に、リモートコンピュータの磁気ディスクおよび/または光ディスク上で搬送され得る。リモートコンピュータは、命令をそのダイナミックメモリにロードし、コンピューティングデバイス1400によって受信および/または実行される伝送媒体上の信号として、命令を送信することができる。電磁信号、音響信号、光信号などの形をとり得るこれらの信号はすべて、本発明の様々な実施形態による、命令が符号化され得る搬送波の例である。
【0142】
通信サブシステム1430(および/またはそのコンポーネント)は、一般に信号を受信し、次いで、バス1405は、信号(および/または、信号によって搬送されるデータ、命令など)を作業メモリ1435に搬送することができ、プロセッサ1410は、作業メモリ1435から命令を取り出し、実行する。作業メモリ1435によって受信された命令は、任意選択で、プロセッサ1410による実行の前または後のいずれかに、非一時的記憶デバイス1425に記憶され得る。
【0143】
上で論じられた方法、システム、およびデバイスは、例である。様々な実施形態は、適宜、様々な手順またはコンポーネントを省略し、置換し、または追加することができる。たとえば、代替構成では、説明される方法は、説明される順序とは異なる順序で実行されてよく、ならびに/または、様々な段階が追加され、省略され、および/もしくは組み合わされてよい。さらに、いくつかの実施形態に関して説明された特徴は、様々な他の実施形態では組み合わされてよい。実施形態の異なる態様および要素は、同様の方式で組み合わされてよい。また、技術は発展するものであり、したがって、要素の多くは、本開示の範囲をそれらの特定の例に限定しない例である。
【0144】
実施形態の十分な理解をもたらすために、説明において具体的な詳細が与えられている。しかしながら、実施形態は、これらの具体的な詳細を伴わずに実践され得る。たとえば、実施形態を不明瞭することを避けるために、周知の回路、プロセス、アルゴリズム、構造、および技法は、不要な詳細を伴わずに示されている。この説明は例示的な実施形を与えるだけであり、本発明の範囲、適用性、または構成を限定するものではない。むしろ、実施形態の上述の説明は、本発明の実施形態を実装することを可能にする説明を当業者に与える。本発明の趣旨および範囲から逸脱することなく、要素の機能および構成に様々な変更が行われ得る。
【0145】
また、いくつかの実施形態は、流れ図またはブロック図として図示されているプロセスとして説明される。各々が、順次プロセスとして動作を説明することがあるが、動作の多くは、並行にまたは同時に実行され得る。加えて、動作の順序は、並べ替えられ得る。プロセスは、図に含まれていない追加のステップを有し得る。さらに、本方法の実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実装されるとき、関連するタスクを実行するプログラムコードまたはコードセグメントは、記憶媒体などのコンピュータ可読媒体に記憶され得る。プロセッサは関連するタスクを実行し得る。
【0146】
いくつかの実施形態を説明してきたが、様々な変更、代替構造、および均等物が本開示の趣旨から逸脱することなく使用され得る。たとえば、上記の要素は、単により大きいシステムのコンポーネントであってよく、他の規則が本発明の適用例よりも優先されることがあり、または別様に本発明の適用例を修正することがある。また、上記の要素が考慮される前、考慮される間、または考慮された後に、いくつかのステップが実施されてよい。したがって、上記の説明は本開示の範囲を限定しない。