【文献】
平野 亮 ほか,パスワード運用管理に関する考察および提案とその開発,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2011年11月 7日,Vol.111、No.285,pp.129−134
【文献】
井上 勝文 ほか,データセットの違いが物体認識に与える影響の解析 −特徴ベクトルの一致検索を用いた認識手法の場合−,電気学会論文誌C 電子・情報・システム部門誌,日本,(社)電気学会,2011年11月 1日,Vol.131 No.11,pp.1915−1924
【文献】
島崎 憲明 ほか,(k,n)しきい値法における多数決を用いた不正検出方式とその性能評価,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2013年 2月28日,Vol.112 No.460,pp.181−188
【文献】
Yuko TAMURA, et al.,Update of Access Structure in Shamir's (k,n) Threshold Scheme,1999年暗号と情報セキュリティシンポジウム予稿集,日本,1999年 1月26日,Volume I of II,pp.469−474
(58)【調査した分野】(Int.Cl.,DB名)
秘密認証ハッシュおよびしきい値に基づいて、ノイズのある補間アルゴリズムで使用するための1つ以上のエラー点および1つ以上の正しい点のうちの一方を生成して送信するステップをさらに含む、請求項2に記載の認証方法。
【発明を実施するための形態】
【0008】
詳細な説明
ここに説明される主題は、例示的な実現化例によって教示される。明確にするために、および主題を不明瞭にしないようにするために、さまざまな詳細が省略されている。以下に示す例は、プライバシー保護を有するキャンペーンパフォーマンスの測定を実現するための構造および機能に向けられている。例示的な実現化例の局面は、たとえば、電子商取引、情報共有、プライバシー保護方法、符号化および暗号化手法、トランザクションシステム、個人情報共有、および、セキュアなコンピューティングに関し得る。しかしながら、例示的な実現化例はそれらに限定されておらず、この発明の概念の範囲から逸脱することなく他の分野に適用されてもよい。
【0009】
ここに説明される例示的な実現化例は、サーバ(またはサーバの情報を有する誰か)がプライベートな回答を推定できるようにする情報をサーバ側で暴露しない、ユーザのプライベートな因子に基づいた認証に向けられている。例示的な実現化例では、ユーザは認証因子を用いて質問票に回答し、回答は一方向性のやり方で変換され、変換された回答はサーバ側に提供される。これは、ユーザのプライバシーを保護しつつ、サーバがサーバに情報を登録した元のユーザを認証できるようにする。
【0010】
例示的な実現化例は、十分なエントロピー(たとえば文字列)を有する複数の因子が、ユーザ装置上で一方向性(たとえば暗号学的ハッシュ)関数の下でともに変換されるようにすること、および、変換された値を登録時にサーバに送信することに向けられている。認証セッションで、ユーザは再度回答を求められ、それらの回答は上述のものと同様のやり方で装置によって変換され、サーバに送信される。サーバは次に、一方向性で変換された回答を、登録された情報と比較する。以下の説明は、例示的な実現化例で使用される機構を概説する、より詳細なプログラム/プロトコルに向けられている。
【0011】
例示的な実現化例についてのプロトコルエンティティは、ユーザ、ユーザ装置、およびサーバを含んでいてもよい。明確にするために、プロトコルパラメータはn、t、rおよびmとして表わされ、それらについて以下に説明する。
【0012】
例示的なプロトコル環境では、以下に説明されるような、考慮すべきいくつかの局面がある。
【0013】
プライベートな登録情報:ユーザは、個人情報のn個のラベル付き文字列を有する。こ
れは、ユーザが知っていて思い出しそうな何か、または、ユーザが所持または所有する因子であり得る。例示的な実現化例では、初期登録は、たとえば、ユーザに関連付けられた装置(たとえば、ユーザの電話、および代替的電子メールなどのユーザに関連付けられたアカウント、または友人のアカウント)に送信された受領通知をユーザが受信し、応答した後で、有効になり得る。
【0014】
プライベートでないラベリング:文字列のラベル、フォーマット、おそらくはヒント、および順序は、プライベートではない。
【0015】
永続性:いかなる時も、ユーザは、少なくともn−t個の文字列を知っている。すなわち、ユーザはn個の文字列を登録したかもしれないが、それらのすべてを常に思い出すとは仮定できず、それらのうちのt個を忘れるかもしれない。このため、ユーザは、文字列のうちのn−t個についての何らかのしきい値を知っていることが必要とされる。なお、必要とされるレベルは、認証セッションごとにサーバによって調整可能である。
【0016】
ユーザ装置:ユーザは、データのセキュアな入力、計算、データの消去、データの保存、およびデータの出力が可能な装置へのアクセスを有する。装置は、ユーザの制御下にある(たとえば、それはフィッシング不可である)。これは、ウェブに接続されていないスマートフォンまたはソフトウェア要素であり得る。
【0017】
装置の部分的完全性:装置は正確に動作する(特に、要求された場合、データは永続的に消去される)が、失われる/盗まれるかもしれない。
【0018】
サーバの完全性:サーバは正確に動作し、データを決して失わない。なぜなら、サーバはユーザを認証することに関与しているためである。また、サーバで長期間格納されたデータは、攻撃者らがユーザになりすますことを可能にするデータを含んでいない。
【0019】
セットアップ:セットアップ中、装置およびサーバは、情報をセキュアに交換できる。
例示的なプロトコル環境はまた、以下のようないくつかの要件を含み得る。
【0020】
プライバシー:プライベートな文字列のうちのr個について知っていると仮定すると、サーバ上、装置上の情報、またはサーバと装置との間で交換された情報は、残りのn−r個の文字列のうちのいずれかを暴露するのに、または、残りのn−r個の文字列のうちのいずれかを最初よりも良好に推測するのに実質的に不十分であるはずである。
【0021】
真正性:いかなる時も、ユーザは、ユーザが入力文字列のうちの少なくともn−t個(n−tはrよりもはるかに大きい)を知っているということを(装置を用いて)サーバに証明することができる。この真正性動作は動作の好結果を決定し、サーバは、さまざまな認証セッションにおいて、必要とされるしきい値n−tをおそらく動的に変化させてもよい。
【0022】
セキュリティ:サーバ上、ユーザによって使用されていない装置上の情報、またはサーバと装置との間で交換された情報は、最初に登録した元のユーザでないかもしれないユーザを認証するために使用するのに実質的に不十分であるはずである。
【0023】
例示的なプロトコル環境は、さまざまなプロトコルを採用してもよい。たとえば、さまざまな因子をセットアップするために、因子登録が行なわれてもよい。因子登録は、ランダム化、作表、回答および生成を伴っていてもよい。
【0024】
因子登録のランダム化局面では、装置およびサーバは、乱数発生器または他の方法を用
いて、ランダム性を共同で生成してもよい。例示的な一実現化例では、サーバは、長いランダム(秘密でない)ソルト(salt)Rsを装置に提供する。ユーザは、長いランダム(秘密でない)ソルトRuを生成し、RsおよびRuを装置に入力してもよい。装置は、長いランダム(秘密でない)ソルトRdを生成し、3つのランダムソルトすべてを単一のランダムソルトRへと連結する(ソルトRは、さらなるインタラクションにおいてサーバによって採用されるべき因子であってもよい)。
【0025】
因子登録の作表局面では、ラベル提供が行なわれてもよい。サーバはユーザに、1組の文字列ラベルと、各文字列のそれぞれの可能なフォーマットと、ユーザによって採用されるべき1組の基準「ヒント」とを提供する。ラベルとは、ユーザがある文字列において所与のフォーマットで値を提供する、変数である。ユーザは、質問票を規定するために、提供された順序付けられた一組のラベルからn個のラベルを選択してもよい。例示的な実現化例では、質問票におけるいくつかの要素は必ずしも「知っている何か」というタイプのものではないかもしれず、他のタイプの情報(たとえば、生体計測、カスタマイズされた質問など)が同様に使用可能である。
【0026】
因子登録の回答局面では、ユーザは、質問票の回答をn個の文字列として提供する。ユーザは、プロセスの一環として回答を繰り返すよう、システムによって訓練され得る(たとえば、ユーザは2度質問され、システムは回答のユーザ記憶を増加させるための手法を採用するなど)。回答は装置に移動され得る。
【0027】
質問票は、所望の実現化例に依存して、秘密のままにしておいたり、または、オープンである(たとえば、サーバがそれに対する直接的な回答を知っている)他の方法と混合されることができる。たとえば、質問票は、(たとえば、唯一の方法であるというよりはむしろ、識別についてのクレームの機能を高めるように)他の認証方法と組合せて使用することができる。たとえば、この組合せは、他の方法の失敗時、他の方法を用いた何らかの最初の成功後、他の方法が使用される前、ユーザがすでに認証されているもののさらに高感度のアクセス/行動を要求する場合のみ、使用可能である。
【0028】
因子登録の因子生成局面では、システムは、回答に基づいて、およびアルゴリズムを利用することによって、思い出すべき因子を生成する。アルゴリズムを初期化するために、装置にはn個のユーザ秘密u_1、…、u_nが与えられ、u_i=質問q_iおよび回答a_iである。装置はn個の秘密s_1、…、s_nを生成し、それらは、q_iのハッシングまたは一方向性関数である。s_i=HASH(a_i,R)。装置は、i=1、nについての点(q_i,s_i)から、平面におけるすべての点を通過するn−1次の多項式Pを、補間によって有限体上に生成することができる。q_iおよびs_iの各々は有限体において解釈され、たとえばハッシュは、サイズが256ビットの素数を法として、その素数によって規定された有限体における要素として解釈された、256ビットの文字列であってもよく、ハッシングを介して生成されたq_1およびs_iは、有限体にXおよびY座標を有するデカルト平面に位置する点として見ることができる、ランダムに見える点にマッピングされるであろう。有限体、素数、および多項式補間は、当業者にとって基本的な概念である。秘密sは、0での多項式の値であり(すなわち、P(0)=s)、シリアルナンバーとともにサーバで登録することができる。加えて、点(1,P(1))、(2,P(2))、…(k,P(k))といった、多項式上の追加のk=2t個の点が、これらは補間で元々使用された点ではないと仮定して送信され、サーバで登録される。これは、将来の認証においてユーザが間違っていること、または、n個の文字列から可能なtを省略することを可能にするiである。多項式Pは(n個の点によって生成されたため)n−1次を有しており、点(o,P(0))である秘密と追加されたk個の点との登録は、k+1がnよりも小さくなるべきであり、このk+1個の点の知識はサーバに多項式の特性を与えない。たとえば、将来15個の回答しか必要としないというしきい
値を保有しつつ、ユーザが回答すべき20個の因子について尋ねられる場合、秘密に加えて10個の点がサーバに送信される。ユーザが将来認証される(例示的な一実現化例として以下に説明する)と、ユーザは因子を再度送信し、追加された10個の点は多項式の表現に追加され、これらの点を含むノイズのある補間がユーザによって試みられ得る。攻撃者がなりすましを試みる場合、攻撃者の知識は常に10個の点よりも少ないであろう。なぜなら、因子は、因子についてのユーザ知識および所有を表わすように注意深く選択されたためである。このため、サーバによって送信された点、およびなりすましを試みる者の知識は、多項式Pを復元するために利用可能な点を補間できないであろう。
【0029】
別の例示的な実現化例では、s自体ではなくHASH(s)がローカルに維持される。所望の実現化例に依存して、他の情報が装置によって削除または維持されてもよく、もしくは、k個の点がサーバで維持されてもよい。たとえば、他の情報を消去すると、ユーザは、認証時に情報を再度入力しなければならず、一方、情報を維持することは、装置の所有を証明する際に使用可能である。HASHは、任意の一方向性関数、暗号学的ハッシュアルゴリズム、もしくは、暗号文書でのべき乗剰余について知られているような、ある有限体または別の代数構造上の発生器を有するべき乗であってもよい。sではなくHASH(s)をサーバで保持することは、サーバに侵入する攻撃者らがs自体を学習することを防止する。
【0030】
例示的な一実現化例では、認証セッションが、以下に説明されるように採用されてもよい。認証セッションは、因子のさまざまな使用モードを含んでいてもよい。第1のモードでは、装置は利用可能であり、ユーザは装置へのアクセスを有しており、秘密sは削除されなかった。第1のモードで、装置は次に、ハッシュのシリアルナンバーをサーバに通知し、セキュアプロトコルを使用することによって秘密についての知識を証明する。
【0031】
第2の使用モードでは、サーバ、ユーザ、および装置(または別の装置)が協力し合って、ハッシュのうちの1つを生成する。サーバはユーザに、n個のラベル(質問)とそれらのフォーマットとを送信する。次に、サーバは装置に、n個のラベルとソルトRとを送信する。ユーザは装置に回答a_iを入力する。サーバは、k個の追加点(1,P(1))、…(k,P(k))も送信する。ノイズのある補間アルゴリズム(たとえば、バーレカンプ・ウェルチ(Berlekamp Welch)、グルスワミ・スーダン(Guruswami−Sudan)な
ど)を使用して、装置は多項式を計算し、回答のしきい値が正しい場合(たとえば、上述の20個中15個の例でのような2/3、半分など)、ノイズのある補間アルゴリズムはsを生成する。装置がHASH(s)を有する場合、生成されたsは、正しいかどうかチェックを受けることができ、また、ユーザに新しい回答を求めてもよい(たとえば、正しくない場合、初期化などについて)。結果として生じるsはサーバに送信され、サーバはユーザを認証し、またはそれに代えて、ユーザの装置は、サーバに送信されるHASH(s)に基づいてsの所有を証明し、この目的を達成するために、当該技術分野で公知のゼロ知識プロトコルまたはチャレンジ応答プロトコルを利用することができる。
【0032】
ノイズのある補間アルゴリズムについての点のうちの1つが(たとえば、サーバまたはローカルソフトウェアによって付与された)ランダマイザである場合には、結果として生じる因子はランダム化される(すなわち、ユーザの回答から独立している)。たとえば、まず、バーレカンプ・ウェルチのノイズのある補間アルゴリズムからの2/3という範囲が、サーバにいくつかの点を付与させることによって調整可能であると仮定する。より高いしきい値が所望される場合には、サーバは(多項式上にない)エラー点を付与することができる。したがって、所望のしきい値がたとえば18個中16個(16/18)の点であり、バーレカンプ・ウェルチのノイズのある補間アルゴリズムが採用されている場合、24個中16個(16/24)の点が正しくなるように、サーバまたは装置のいずれかによって6つのエラーが導入でき、それによりバーレカンプ・ウェルチのしきい値を満たす
。別の例では、実現されたしきい値が、回答の半分のみが正しいことを必要とする場合には、サーバまたは装置によって「良好な多項式点」が導入できる。たとえば、18個中10個(10/18)(質問の半分以上が正しい)が十分であると考えられる場合、結果が16/24になるように6個の良好な点を導入でき、それは2/3というバーレカンプ・ウェルチのしきい値を満たす。必要とされるしきい値の調整は、認証セッションごとに変わり得る。
【0033】
選択された情報は非常にプライベートなものであるため、ユーザは、情報のほとんどすべてを思い出せるはずである。複雑性は、有限体における多項式の評価の複雑性である。
【0034】
文字列は非常にプライベートなものであり得、必要とされる場合にユーザがそれらのほとんどを思い出せることを確実にする秘密情報を伴い得る。例は、所望の実現化例に依存して、兄弟、子供、配偶者、両親、祖父母、友人の名前、自分および親類のアドレス、アカウント名および/または番号、雇い主などの名前を含む。文字列についての選択基準は、必要とされる場合にユーザが回答を再作成できるようなものであるべきである。データの量および可変性は、十分な文字列が攻撃者に決して知られず、そのため、サーバからの追加点を有していても、攻撃者は良好な補間点を生成できず、多項式が攻撃者にとって秘密のままである、といったものであるべきである。
【0035】
例示的な実現化例では、いくつかのセキュリティレベルも導入可能である。たとえば、文字列のラベル、フォーマット化および順序は、それら自体が、基本的で思い出しやすいいくつかの文字列(たとえば、ユーザのパスワード)によって保護されてもよい。
【0036】
アカウント回復および乗取り犯によって乗取られたアカウントの解除の目的のために、回復プロセスのために使用され、以下の特性を有する認証因子が採用されるべきである。
【0037】
永続的である:ユーザにとって常に利用可能である。ユーザは、因子を含む物理的対象を失っても、または(たとえば乗取りによって)自分のアカウントを失っても、それを失うことができない(もしくは、それを再作成することができる)。
【0038】
偽造不可である:アカウントまたは個人ユーザ情報へのアクセスが与えられた場合でも、実質的に推測できない。ランダム攻撃者らおよびユーザの仲間双方に対して、偽造不可であるべきである。
【0039】
プライベートである:アカウントプロバイダまたは攻撃者に個人データを暴露しない。
可用性を有する:特殊用途装置を用いない汎用ソフトウェアシステムにおいて実現可能である。
【0040】
因子を選択するための検討事項がいくつかある。たとえば、永続的因子が「ユーザが有する何か」である場合、ユーザはその因子を失うかもしれず、または、その因子は攻撃者の手に渡るかもしれない。永続的因子が「ユーザが知っている何か」である場合、その因子は、チェックするシステムにとってプライベートなものではないかもしれず、ユーザはその因子を忘れるかもしれない。永続的因子が「ユーザの状態である何か」である場合、その因子は人間の何らかの特徴認識(生体計測装置など)を必要とし、容易には利用できないかもしれず、また、個人情報をプロバイダに暴露するかもしれない。
【0041】
例示的な実現化例では、永続的因子はユーザの知識(「知っている何か」)に基づいて利用されており、また、ユーザが所有する何かに基づいていてもよい。そのような要件は、既存の状況の多くでは、満たすことが困難かもしれない。したがって、例示的な実現化例は、ユーザが多くの基本的質問を確実に思い出せると仮定し、回答を暗号演算と関わら
せて、ユーザの知識に基づいた解決策を伴い得る。
【0042】
自分および他人の知識:例示的な実現化例は「ユーザの知識」に基づくものとして提示されているが、その知識は、受託者および他のソースからリアルタイムで取得可能であり、知識の蓄積は、ユーザの個人的な知識および受託者へのユーザアクセスを表わし得る。受託者は、ユーザについての知識の一部を表わし、必要とされる因子をユーザが生成することを助けることができる。
【0043】
例示的な実現化例は、アカウントへのアクセスの緊急回復のための基本的プロセスを伴い得るが、プライバシーと真正性とのバランスを取って有用性を考慮に入れる一般的な認証方法としても実現可能である(たとえば、因子が必要とされる場合にユーザを訓練するユーザトレーニングおよびユーザインターフェイス)。
【0044】
ユーザがインターネットアカウントプロバイダから有するアカウントは、ユーザが自分の電子メール、電子支払い、個人のコンテンツなどをアカウントに保持するにつれて、重要性が高まっている。これらのアカウントは主要な個人リソースであり、攻撃者らの影響を受けやすい。例示的な実現化例は、ユーザは常に利用可能であるが攻撃者は決して利用できない永続的認証因子をユーザが有する場合に、ユーザが、乗取り犯には不可能なやり方でアカウントを保有し、再クレームすることができるようなシステムおよび方法に向けられている。そのような因子を近似することは、回復プロセスを緩和し得る。
【0045】
関連技術では、電子メールアカウントなどのアカウントが乗取られると、攻撃者はアカウントの状態を有し、ユーザである悪意のないアカウント保持者による回復がより困難になるようにアカウントを操作できる、ということは事実である。攻撃者はまた、アカウントに格納されたすべてのデータから学習することができる。例示的な実現化例はしたがって、アカウントへのアクセスを有することから推論できない機構を利用する。同様に、それらの機構は、アカウントが利用できない場合(たとえば、乗取られた場合)にそれらが失われない、といったものであるべきである。回復が次に、永続的因子の保持者によって支配される。
【0046】
例示的な実現化例は、ユーザの知識、または、必要とされる場合にユーザが再作成できる知識の高エントロピーソースを採用する。この目的のために、兄弟、子供、配偶者、両親、祖父母、友人の名前、自分および親類のアドレス、アカウント名および/または番号、雇い主の名前などの、非常にプライベートな大量のユーザ情報が利用される。この情報は、必要とされる場合にユーザが回答を再作成できるようなものであるべきであり、データの量および可変性は、十分なビットが攻撃者に決して知られないようなものである。同様に、生体計測読取りまたは銀行サーバなどの受託者へのアクセスといった他の因子も、攻撃者に知られずに、組合わされると仮定される。
【0047】
別の例示的な実現化例では、因子は、生成のための、および因子をチェックするための入力、処理および出力を有するプロセスによって生成可能である。このプロセスは、各々役割を有する、ユーザー入力、システム入力、および暗号演算を伴い得る。
【0048】
入力は、ユーザが尋ねられるQ1、Q2、Q3などの質問と、A1、A2、A3などの回答との組といった、知識の高エントロピーソースを伴い得る。回答Aiは、ユーザが思い出せるようなものであるべきである(質問は何度も尋ねられ、ユーザはそれにより、質問に回答するように訓練され得る)。そのような質問の選択は、生活の質問、(さまざまな分野における)趣味の質問、個人履歴の質問などを伴い得る。さらに、質問の数は、所望のエントロピーを生成できるほど十分に多いものであるべきである。所望の実現化例に依存して、ユーザが携帯装置または1枚の紙の上に保持する、または、ユーザにメールさ
れてインターネットアカウントの外部で保持されるランダム値R1、R2など、および/または、ユーザのローカルシステムが保持する追加されたランダム値、および秘密Sも採用可能である。
【0049】
処理は、要因生成を伴い得る。質問への入力である回答A1、A2、…Anが(繰り返すことで)グループへと体系化され、たとえば、G1=A1、A3、A5、G2=A1、A3、A6、A7となると仮定する。1つのグループは、ユーザが全部回答するるよう期待されている、1組の連結された回答を表わす。m個のグループがあり、各グループが十分に高いエントロピーを有すると仮定する。所望の実現化例に依存して、ランダム値R1、…、Rmおよび秘密Sも追加(連結)されてもよく、たとえばSが各グループに、RiがGiに追加され、そのためG1=S、R1、A1、A3、A5となる。
【0050】
各Giは、暗号学的ハッシュ関数(たとえばSha1など)Hを用いてハッシュされる。たとえば、H1=H(H(H(H(H(R),S1)A1)A3)A5)である。演算を遅くするための追加のハッシングも行なわれてもよい。H_iは指標(インディケータ)と呼ばれる。
【0051】
各グループは、それ自体の指標Hi:H1、H2、…、Hmを有する。ランダマイザと呼ばれるランダム値Riは、ユーザーシステムに保持され(たとえば、サーバによってアクセスできず、または、Sの下で符号化されてサーバに送信される)、Sは、システム外部(たとえば、紙の上、または回復用に保持された別の装置内、または受託者など、他の場所にはない)に保持されたユーザの秘密である。E_S(Ri)=Xiとし、XiはHiで使用されたRiの符号化であり、Sはシードと呼ばれるとする。Hi,Xi i=1、…、mがサーバに送信される。指標Hiは次に、クライアント側で、および自分の装置内で消去される。
【0052】
シードであるSは、アカウントストレージ外部のユーザのメモリ(たとえば、装置または紙の上)で保持される。Hiはサーバに送信されて回復検証のために保持され、ローカルコピーが消去される。サーバはさらに、侵入する攻撃者らが指標を学習することを防止するために、指標を一方向性関数でハッシュしてもよい。
【0053】
上述の例示的な実現化例から、サーバはしたがって回答についての情報を何も受信せず、十分なエントロピーを有するハッシュ値のみを受信する。ユーザは、1つのグループと整合するのに十分な質問に回答できるはずである。攻撃者は、1つのグループをカバーする回答さえ推測できないはずであり、Sへのアクセスを有さない。
【0054】
因子は次に、認証のために使用可能である。認証プロセスまたはアカウント回復プロセスで、永続的因子を使用する試みが行なわれる。サーバは、グループのうちの1つについての質問を提示し、ユーザはグループを選択し、質問に回答し、そのSおよびその装置を順に入力し、その秘密Sを使用してXiからRiを回復させる。Hiは、回答グループ「Gi現在」(Gi-current:Giについての候補)を生成するユーザの現在の回答に基づいて最初から演算され、生成されたHiはサーバに送信される。ユーザは、回答から全指標を演算してもよく、また、これに代えて、指標における回答のうちのいくつか(例におけるA5など)はクリアな状態で送信可能であり、例における部分的に評価された指標H(H(H(H(R),S1)A1)A3)が送信可能であり、ユーザは指標演算を完了することができる(したがって、回復時のみ、いくつかの回答は隠され、いくつかの回答はオープンである)。
【0055】
サーバは、次にハッシュされる演算された生成されたHiを、格納されたハッシュされたHiと比較する。整合がある場合、ユーザは認証される。整合がない場合(たとえば、
生成されたHiがさまざまなグループに対して失敗した場合)、クレームした者は不合格となり、元のユーザとして認識されない。なお、代替的な例示的な一実現化例では、ユーザは、ハッシュされたバージョンHASH(Hi)に対してHiの所有を証明するプロトコルに関与していてもよい。
【0056】
回答は、ユーザについての個人情報を必要とするかもしれないが、情報はすべて、ユーザコンピュータまたはユーザ装置にとってローカルであり、プライバシーの目的のためにサーバは情報にアクセスできず、サーバであるふりをするフィッシング第三者も情報にアクセスできない。回答は消去されるため、それらはクエリー時に再構成される。さらに、部分情報を与えることができる。たとえば、部分入れ子ハッシングが計算され、A5がクリアな状態で与えられ、サーバはハッシングを完了する。
【0057】
結合関数としてのH(R)
*H(A1)
*H(A3)
*H(A5)(すなわち、十分に大きい体における個々の値のハッシュの乗算)といった一実現化例については、部分積が提供可能であり、回答のうちのいくつかはオープンであってもよく、サーバは積を完了できる。位置が固定された検査については、H(R)
*H(1,A1)
*H(2,A3)
*H(3,A5)が提供可能であり、質問票の位置jでの回答Aiが位置jに関連付けられるようになっている。積は、大きい素数の順序体(large prime order field)上で行な
うことができる。
【0058】
情報は、攻撃者が回答を生成する可能性が実質的に小さくなるように、サーバの状態が与えられた個々の体を隠すのに十分なエントロピーを有するべきである。ユーザはさらに、因子が正しいサーバに与えられることを確実にする必要がある。回答のうちのいくつかをオープンにする(リアルタイム攻撃)因子または複数の因子を学習しようとすること(オフライン攻撃)が可能であり、実現化例において考慮されるべきである。
【0059】
また、値がサーバでコミットされる(記録される)前に、高度に記憶された1組の回答を使用すべきであり、ユーザトレーニングが実施されるべきであり、これを支援するであろう。因子が永続的であることを確実にするために、思い出しにくい回答が書留められてもよい。例示的な実現化例は、汎用ソフトウェアシステムが特殊装置/リーダなどなしで採用できるといったものであってもよい。
【0060】
例示的な実現化例は、回答が、思い出されるのではなく、外部機関からユーザによって得られるシステムまたはプロセスを伴い得る。これらの機関は、ユーザが回答を検索できるようにするために認証に依拠しており、そのため実現化例は、上述の永続的因子を用いて暗黙の「社会的回復」を構築可能である。因子は、まず以前の検査に合格し、次に因子に埋め込まれた知識を更新することによって、徐々に構築可能である。さらに、永続的因子は、必要とされる場合に使用されるように制限されてもよく、他の因子によってサポートされてもよく、アカウントの回復またはアカウントプロセスの再クレームにおける1つの追加の決定的因子として含まれてもよい。なお、ユーザおよび受託者からの回答は、タイピング、音声、生体計測読取り、カメラなどの任意の入力方法を採用して得ることができる。
【0061】
上述の例示的な実現化例はそれにより、ユーザがパスワードをユーザが入力する知識と置換することを可能にする。パスワードとは異なり、ユーザは、ユーザについてのいくつかの知識(それらの大部分)をたいがい知っていると思われる。パスワードの使用は、(秘密鍵のような)パスワード符号化情報のローカル復号のために利用可能である。この新しい考えを延長することが、そのような目的のためのパスワード・ドロップイン置換に使用されてもよく、それは「装置」が単なるローカル演算である別の設計の事項である。「ローカル演算」はモバイル装置上で行なわれてもよく、回答が盗まれていないことをユー
ザに保証するために、最終結果が、無線、USBまたは物理的接続などのローカル通信方法を介して、コンピュータまたはサーバに送信されてもよい。
【0062】
例示的な実現化例はまた、識別の他の手段が失われたとしても、ユーザが常に再構成できる永続的因子を伴い得る。これは、ユーザをアカウント乗取り犯と区別でき、アカウントをクレームバック(claim back)するためにユーザによって使用可能である(たとえば、質問票に基づいてクレームバックし、露出を最小限にする方法が実施される)。
【0063】
図1(a)は、例示的な一実現化例に従った、装置についてのフロー図を示す。100で、装置は、複数の質問への、ユーザによって提供された複数の応答から、複数のハッシュを生成する。提供された質問は、サーバから、または装置からであってもよく、上述のようなユーザについての個人情報に関与する質問票を利用する。
【0064】
101で、装置は、複数のハッシュから認証ハッシュを生成できる。これは、認証ハッシュを生成するために複数のハッシュの多項式補間を行なうことにより、および/または、複数の質問のうちの選択されたグループに基づいて認証ハッシュを形成するために複数のハッシュのうちの1つ以上を選択することにより、実現することができる。上述の例示的な実現化例で説明されたように、ユーザは、回答すべき質問のグループを選択でき、回答はそれにより、認証ハッシュを生成するためにハッシュ可能であり、または、装置は、提供された回答の部分集合(たとえば、2つ以上)を選択し、その部分集合に基づいて認証ハッシュを生成することができる。上述の例示的な実現化例で説明されたように、秘密認証ハッシュも装置に格納でき、要件が満たされる(たとえば、質問への正しい回答のしきい値を満たす、質問の部分集合に正しく回答する、認証ハッシュが秘密認証ハッシュと整合する、など)と、セキュアプロトコルによってサーバに転送され得る。
【0065】
装置はまた、上述のように、認証ハッシュを補間するために多項式補間を使用することで、複数のハッシュの多項式補間から認証ハッシュを生成してもよい。多項式補間アルゴリズムおよびノイズのある補間アルゴリズムといった実現化例が、採用可能である。サーバでの追加点を用いた、多項式補間のための1つ以上のエラー点、および/または多項式補間のための1つ以上の正しい点の導入を通して、しきい値を調節し、多項式補間に適用することができる。102で、装置は次にサーバに、生成された認証ハッシュを用いて認証することを試みる。
【0066】
図1(b)は、例示的な一実現化例に従った、回復プロセスのためのフロー図を示す。上述の例示的な実現化例で説明されたように、103で、装置は複数の質問を受信し、それらの中からユーザは、アカウントへのアクセスを回復するために回答すべき部分集合を選択してもよい。104で、提供された回答は、ユーザ装置の外部にある秘密シードから生成された乱数の使用に基づいて、認証ハッシュに変換される。105で、認証ハッシュはサーバに転送される。
【0067】
図2(a)は、例示的な一実現化例に従った、サーバについてのフロー図を示す。200で、サーバは、複数の個人的な質問を装置に送信してもよい。201で、サーバは、送信された複数の質問に応答して、装置から認証ハッシュを受信する。202で、サーバは次に、送信された複数の質問に応答した認証ハッシュがサーバに格納された秘密認証ハッシュと整合する場合には(YES)、アクセスを許可する(204)と決定してもよく、認証ハッシュが秘密認証ハッシュと整合しない場合には(NO)、アクセスを拒否する(203)と決定してもよい。認証ハッシュは、複数のハッシュの多項式補間、および、複数の質問のうちの選択されたグループに基づいて認証ハッシュを形成するための、複数のハッシュのうちの1つ以上の選択から生成されてもよい。実現化例に依存して、サーバは、秘密認証ハッシュおよびしきい値に基づいて、ノイズのある補間アルゴリズムで使用す
るための1つ以上のエラー点および1つ以上の正しい点を送信してもよい。サーバはまた、ハッシュが格納された秘密ハッシュと整合するかどうか判断するために、受信された認証ハッシュのハッシングを行なってもよい。
【0068】
別の例では、サーバは、送信された質問のうちの選択されたグループに基づいて、複数の秘密認証ハッシュから秘密認証ハッシュを選択してもよく、複数の秘密認証ハッシュの各々は、複数の質問のうちの少なくとも2つに関連付けられている。送信された質問のうちの選択されたグループは、装置で、またはサーバによって選択されてもよい。これはたとえば、上述のような回復プロセスで実現可能である。
【0069】
図2(b)は、例示的な一実現化例に従った、サーバからの回復プロセスのためのフロー図を示す。205で、サーバは、複数の個人的な質問を装置に送信してもよい。206で、サーバは、送信された複数の質問に応答して、装置から認証ハッシュを受信する。認証ハッシュは潜在的に、上述の例示的な実現化例で説明されたような指標のうちの1つである。207で、サーバは次に、認証ハッシュがサーバに格納された指標のうちの1つと整合する場合には(YES)、ユーザーアカウントを回復するプロセスを開始する(209)と決定してもよく、認証ハッシュが格納された指標のどれとも整合しない場合には(NO)、アクセスを拒否する(208)と決定してもよい。
【0070】
例示的な処理環境
図3は、いくつかの例示的な実現化例で使用するのに好適な例示的なコンピューティング装置を有する、例示的なコンピューティング環境を示す。コンピューティング環境300におけるコンピューティング装置305は、1つ以上の処理部、コア、またはプロセッサ310、メモリ315(たとえば、RAM、ROMなど)、内部ストレージ320(たとえば、磁気、光学、固体ストレージ、および/または有機)、および/またはI/Oインターフェイス325を含んでいてもよく、それらのいずれも、情報を通信するための通信機構またはバス330上に結合可能であり、または、コンピューティング装置305に埋込み可能である。
【0071】
コンピューティング装置305は、入力/ユーザインターフェイス3
35および出力装置/インターフェイス340に通信可能に結合可能である。入力/ユーザインターフェイス3
35および出力装置/インターフェイス340のいずれか一方または双方は、有線または無線インターフェイスであってもよく、取り外し可能であってもよい。入力/ユーザインターフェイス3
35は、入力を提供するために使用可能な、物理的なまたは仮想の任意の装置、コンポーネント、センサ、またはインターフェイス(たとえば、ボタン、タッチスクリーン・インターフェイス、キーボード、ポインティング/カーソル制御装置、マイク、カメラ、点字、運動センサ、光学式読取り装置など)を含んでいてもよい。出力装置/インターフェイス340は、ディスプレイ、テレビ、モニタ、プリンタ、スピーカ、点字などを含んでいてもよい。いくつかの例示的な実現化例では、入力/ユーザインターフェイス3
35および出力装置/インターフェイス340は、コンピューティング装置305に埋込可能であり、または物理的に結合可能である。他の例示的な実現化例では、他のコンピューティング装置は、コンピューティング装置
305のために、入力/ユーザインターフェイス3
35および出力装置/インターフェイス340として機能し、またはそれらの機能を提供してもよい。
【0072】
コンピューティング装置305の例は、高度モバイル装置(たとえば、スマートフォン、車両および他のマシンにおける装置、人間および動物によって運ばれる装置など)、モバイル装置(たとえば、タブレット、ノートブック、ラップトップ、パーソナルコンピュータ、ポータブルテレビ、ラジオなど)、および移動性のために設計されていない装置(たとえば、デスクトップコンピュータ、他のコンピュータ、情報キオスク、1つ以上のプ
ロセッサが埋め込まれた、および/または結合されたテレビ、ラジオ、サーバなど)を含み得るが、それらに限定されない。
【0073】
コンピューティング装置305は、同じまたは異なる構成の1つ以上のコンピューティング装置を含む、任意の数のネットワーク化されたコンポーネント、装置、およびシステムと通信するために、(たとえばI/Oインターフェイス325を介して)外部ストレージ345およびネットワーク350に通信可能に結合可能である。コンピューティング装置305または任意の接続されたコンピューティング装置は、サーバ、クライアント、シンサーバ、汎用マシン、特殊用途マシン、または別のラベルとして機能し、それらのサービスを提供し、またはそのように呼ばれてもよい。
【0074】
I/Oインターフェイス325は、少なくとも、コンピューティング環境300におけるすべての接続されたコンポーネント、装置、およびネットワークとの間で情報を通信するために、任意の通信またはI/Oプロトコルもしくは規格(たとえば、イーサネット(登録商標)、802.11x、ユニバーサル・システム・バス、WiMax、モデム、セルラー・ネットワーク・プロトコルなど)を用いる有線および/または無線インターフェイスを含み得るが、それらに限定されない。ネットワーク350は、任意のネットワーク、またはネットワークの組合せであってもよい(たとえば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、電話ネットワーク、セルラーネットワーク、衛星ネットワークなど)。
【0075】
コンピューティング装置305は、信号媒体および記憶媒体を含む、コンピュータ使用可能媒体またはコンピュータ読取可能媒体を用いて、使用および/または通信できる。信号媒体は、伝送媒体(たとえば、金属ケーブル、光ファイバー)、信号、搬送波などを含む。記憶媒体は、磁気媒体(たとえば、ディスクおよびテープ)、光学媒体(たとえば、CD ROM、デジタルビデオティスク、ブルーレイディスク)、固体媒体(たとえば、RAM、ROM、フラッシュメモリ、固体ストレージ)、および他の不揮発性ストレージまたはメモリを含む。
【0076】
コンピューティング装置305は、いくつかの例示的なコンピューティング環境において、手法、方法、アプリケーション、プロセス、またはコンピュータ実行可能命令を実現するために使用可能である。コンピュータ実行可能命令は、一時的媒体から検索可能であり、また、非一時的媒体に格納されてそこから検索されることが可能である。実行可能命令は、任意のプログラミング言語、スクリプト言語、およびマシン語(たとえば、C、C++、C#、Java(登録商標)、ビジュアル・ベーシック、パイソン、パール、JavaScript(登録商標)など)のうちの1つ以上から生じ得る。
【0077】
プロセッサ310は、自然または仮想環境において、任意のオペレーティングシステム(OS)(図示せず)の下で実行可能である。1つ以上のアプリケーションを配備することができ、それは、論理ユニット360と、アプリケーション・プログラミング・インターフェイス(API)ユニット365と、入力ユニット370と、出力ユニット375と、認証ユニット380と、回復ユニット385と、乱数発生器ユニット390と、異なるユニットが互いに、OSと、および他のアプリケーション(図示せず)と通信するためのユニット間通信機構395とを含む。たとえば、装置またはサーバとしての実現化例に依存して、認証ユニット380、回復ユニット385、および乱数発生器ユニット390は、
図1(a)、
図1(b)、
図2(a)および
図2(b)に示すような1つ以上のプロセスを実現してもよい。回復ユニット385はまた、
図1(b)および
図2(b)の上述の例示的な実現化例で説明されたような回復プロセスを実現してもよい。説明されたユニットおよび要素は、設計、機能、構成、または実現化例の点で変更可能であり、提供された説明に限定されない。
【0078】
いくつかの例示的な実現化例では、情報または実行命令がAPIユニット365によって受信されると、それは、1つ以上の他のユニット(たとえば、論理ユニット360、入力ユニット370、出力ユニット375、認証ユニット380、回復ユニット385、および乱数発生器ユニット390)に通信されてもよい。たとえば、乱数発生器ユニット390は、ハッシュを生成するかまたは提出用の質問を選択し、APIユニット365を使用して認証ユニット380および回復ユニット385と通信し、上述の例示的な実現化例で説明されているように乱数を提供するために使用されてもよい。認証ユニット380は、認証ハッシュを格納された秘密認証ハッシュと比較するために、APIユニット365を介して回復ユニット385と相互作用してもよい。
【0079】
場合によっては、論理ユニット360は、上述のいくつかの例示的な実現化例において、ユニット間の情報フローを制御して、APIユニット365、入力ユニット370、出力ユニット375、認証ユニット380、回復ユニット385、および乱数発生器ユニット390によって提供されるサービスを指示するように構成されてもよい。たとえば、1つ以上のプロセスまたは実現化例のフローは、論理ユニット360のみによって、またはAPIユニット365とともに制御されてもよい。
【0080】
例示的な処理環境
図4は、いくつかの例示的な実施形態が実現され得る例示的なオンライン環境を示す。環境400は装置405〜445を含み、各々は、たとえばネットワーク450を介して、少なくとも1つの他の装置に通信可能に接続されている。いくつかの装置は、(たとえば、装置425を介して)1つ以上の記憶装置430および445に通信可能に接続されてもよい。
【0081】
1つ以上の装置405〜4
45の一例は、
図3で説明するコンピューティング装
置であってもよい。装置405〜4
45は、コンピュータ425(たとえば、個人用または業務用)、車両420に関連付けられた装置、モバイル装置410(たとえば、スマートフォン)、テレビ415、モバイルコンピュータ405、サーバコンピュータ450、コンピューティング装置435〜440、記憶装置430、445を含み得るが、それらに限定されない。装置405〜4
45のうちのいずれも、環境400において図示された1つ以上の装置、および/または環境400において図示されていない装置からの1つ以上のサービスにアクセスしてもよく、および/または、そのような装置に1つ以上のサービスを提供してもよい。装置間のアクセスは、有線、無線で行なわれてもよく、ユーザ音声やカメラ画像のようなマルチメディア通信によるものであってもよい。
【0082】
ユーザは、ネットワーク450を介して例示的な実現化例を実現するために、上に説明されたように装置を制御してもよい。例示的な実現化例に関連付けられた情報は、たとえば記憶装置430または445にそれぞれ格納されてもよい。
【0083】
ここに説明されたシステムが、ユーザについての個人情報を収集する、または個人情報を利用し得る状況では、ユーザには、プログラムまたは機能がユーザ情報(たとえば、ユーザの社会的ネットワーク、社会的行動または活動、職業、ユーザの好み、またはユーザの現在位置についての情報)を収集するかどうかを制御する機会、もしくは、ユーザにより関連し得るコンテンツサーバからコンテンツを受信するかどうか、および/またはどのように受信するかを制御する機会が提供されてもよい。加えて、或るデータは、個人を識別可能な情報が除去されるように、格納または使用される前に1つ以上のやり方で処理されてもよい。たとえば、ユーザについて、個人を識別可能な情報がまったく判断できないように、ユーザの身元が処理されてもよく、または、(市、郵便番号、または国家レベルなどまで)位置情報が得られる場合、ユーザの特定の位置が判断できないように、ユーザ
の地理的な位置が一般化されてもよい。このため、ユーザは、ユーザについて情報がどのように収集され、コンテンツサーバによってどのように使用されるか、に対する制御を有していてもよい。
【0084】
いくつかの例示的な実現化例を示し、説明してきたが、これらの例示的な実現化例は、ここに説明された主題を、この分野の当業者に伝えるために提供されている。ここに説明された主題は、説明された例示的な実現化例に限定されることなく、さまざまな形で実現され得る、ということが理解されるべきである。ここに説明された主題は、それらの具体的に定義または説明された事項がなくても、もしくは、説明されていない他のまたは異なる要素または事項があっても、実践可能である。これらの例示的な実現化例において、添付された請求項およびそれらの均等物で定義されるような、ここに説明された主題から逸脱することなく、変更を行なってもよい、ということは、この分野の当業者によって理解されるであろう。