(57)【特許請求の範囲】
【請求項１】
ソーシャルグラフベースの証明書を生成するためのユーザデバイス上で動作可能な方法であって、
前記ユーザデバイスにおいて、前記ユーザデバイスのユーザに関するユーザ証明書を取得するステップであって、前記ユーザは、ユーザ公開鍵および対応するユーザ秘密鍵に関連付けられる、ステップと、
前記ユーザデバイスにおいて、1つまたは複数のソーシャルネットワーク内で、複数の署名者候補を特定するステップであって、前記複数の署名者候補のそれぞれが異なるユーザである、ステップと、
前記ユーザデバイスから、前記ユーザデバイスから前記複数の署名者候補に前記ユーザ証明書を送信するステップと、
前記ユーザデバイスにおいて、前記複数の署名者候補のうちの少なくとも一部から、前記ユーザ証明書の1つまたは複数の署名されたバージョンを受信するステップと、
前記ユーザデバイスにおいて、前記ユーザ証明書、前記ユーザ証明書の前記受信した1つまたは複数の署名されたバージョン、および前記ユーザ証明書の前記受信した1つまたは複数の署名されたバージョンの少なくともそれらの署名者の識別情報を組み合わせて、合成証明書にするステップと
を含む、方法。
【請求項２】
前記ユーザ秘密鍵を使用して前記合成証明書の少なくとも一部に署名することによってユーザ署名を生成するステップと、
前記合成証明書に前記ユーザ署名を添付するステップと
をさらに含む、請求項1に記載の方法。
【請求項３】
前記ユーザ署名を生成するステップは、
前記ユーザ秘密鍵を使用して、前記特定された複数の署名者候補の識別情報を含む前記ユーザ証明書に署名するステップ、または
前記ユーザ秘密鍵を使用して、前記ユーザ証明書の前記受信した1つまたは複数の署名されたバージョンを含む前記ユーザ証明書に署名するステップ
のいずれか一方を含む、請求項2に記載の方法。
【請求項４】
前記ユーザ証明書の署名された各バージョンに署名者重みを割り当てるステップであって、各対応する署名者重みは、前記ユーザ証明書の署名された各バージョンの署名者に関連付けられる、ステップ
をさらに含み、
前記ユーザ署名を生成するために前記ユーザ秘密鍵を使用して、前記対応する署名者重みにも署名される、
請求項3に記載の方法。
【請求項５】
前記複数の署名者候補は、前記ユーザの電子メールまたはアドレス帳から得られた連絡先から特定される、請求項1に記載の方法。
【請求項６】
前記特定された複数の署名者候補の識別情報を、前記ユーザ証明書とともに、前記署名者候補のうちの1つまたは複数によって署名するために前記ユーザデバイスから前記複数の署名者候補に送信するステップ
をさらに含む、請求項1に記載の方法。
【請求項７】
前記ユーザ証明書は、前記ユーザ公開鍵を含む、請求項1に記載の方法。
【請求項８】
前記ユーザ証明書の前記1つまたは複数の署名されたバージョンのうち、前記ユーザ証明書の第1の署名されたバージョンは、第2の秘密鍵を使用して署名者によって署名され、対応する第2の公開鍵を使用して認証できる、請求項1に記載の方法。
【請求項９】
前記ユーザ証明書、ユーザ署名、前記ユーザ証明書の1つまたは複数の署名されたバージョン、およびユーザによって割り当てられた1つまたは複数の署名者重みを、1つまたは複数の受信者に配信するステップ
をさらに含む、請求項1に記載の方法。
【請求項１０】
1つまたは複数の受信者への配信より前に前記ユーザデバイスにおいて、ユーザ証明書のタイムスタンプまたは有効期間インジケータを前記ユーザ証明書に添付するステップ
をさらに含む、請求項1に記載の方法。
【請求項１１】
前記ユーザ証明書の署名された各バージョンに関する、ユーザによって割り当てられた署名者重みを取得するステップと、
前記ユーザ証明書の署名された各バージョンに関する、前記ユーザによって割り当てられた署名者重みを前記合成証明書に付加するステップと
をさらに含む、請求項1に記載の方法。
【請求項１２】
各署名者に関する前記ユーザによって割り当てられた署名者重みは、前記ユーザと前記署名者との間の信用関係に比例する、請求項11に記載の方法。
【請求項１３】
各署名者に関する前記ユーザによって割り当てられた署名者重みは、ソーシャルネットワーク内の前記ユーザと前記署名者との間の関係距離に比例する、請求項11に記載の方法。
【請求項１４】
各署名者に関する前記ユーザによって割り当てられた重みは、時間変動する重み、または目的依存の重みのうちの少なくとも一方である、請求項11に記載の方法。
【請求項１５】
各署名者に関する前記ユーザによって割り当てられた重みは、他のユーザから受信し、前記ユーザデバイスによって認証可能な重みに少なくとも部分的に基づいている、請求項11に記載の方法。
【請求項１６】
前記ユーザに知られている署名者では、前記ユーザによって割り当てられた署名者重みは、前記ユーザによって決定されるだけであるが、前記ユーザには未知の署名者では、前記ユーザによって割り当てられた署名者重みは、そのような未知の署名者に関して、既知の署名者によって提供された重みに少なくとも部分的に基づいている、請求項11に記載の方法。
【請求項１７】
前記ユーザ証明書の署名された各バージョンに関する署名者固有の重みを取得するステップと、
前記ユーザ証明書の署名された各バージョンに関する前記署名者固有の重みを前記合成証明書に付加するステップと
をさらに含む、請求項1に記載の方法。
【請求項１８】
各署名者固有の重みは、対応する署名者に関連付けられる、請求項17に記載の方法。
【請求項１９】
前記署名者固有の重みは、ユーザのコミュニティまたは信用できる第三者のうちの少なくとも一方によって生成される、請求項17に記載の方法。
【請求項２０】
通信ネットワーク上で通信するための通信インターフェースと、
前記通信インターフェースに結合された処理回路とを備え、前記処理回路は、
ユーザデバイスのユーザに関するユーザ証明書を取得するように構成され、前記ユーザは、ユーザ公開鍵および対応するユーザ秘密鍵に関連付けられ、前記処理回路はさらに、
1つまたは複数のソーシャルネットワーク内で、複数の署名者候補を特定し、ここで、前記複数の署名者候補のそれぞれが異なるユーザであり、
前記ユーザデバイスから前記複数の署名者候補に前記ユーザ証明書を送信し、
前記ユーザデバイスにおいて、前記複数の署名者候補のうちの少なくとも一部から、前記ユーザ証明書の1つまたは複数の署名されたバージョンを受信し、
前記ユーザ証明書、前記ユーザ証明書の前記受信した1つまたは複数の署名されたバージョン、および前記ユーザ証明書の前記受信した1つまたは複数の署名されたバージョンの少なくともそれらの署名者の識別情報を組み合わせて、合成証明書にする
ように構成される、ユーザデバイス。
【請求項２１】
前記処理回路は、
前記ユーザ秘密鍵を使用して前記合成証明書の少なくとも一部に署名することによってユーザ署名を生成し、
前記合成証明書に前記ユーザ署名を添付する
ようにさらに構成される、請求項20に記載のユーザデバイス。
【請求項２２】
前記処理回路は、
前記ユーザ秘密鍵を使用して、前記特定された複数の署名者候補の識別情報を含む前記ユーザ証明書に署名するか、または
前記ユーザ秘密鍵を使用して、前記ユーザ証明書の前記受信した1つまたは複数の署名されたバージョンを含む前記ユーザ証明書に署名する
ようにさらに構成される、請求項21に記載のユーザデバイス。
【請求項２３】
前記処理回路は、
前記ユーザ証明書の署名された各バージョンに署名者重みを割り当てるようにさらに構成され、
各対応する署名者重みは、前記ユーザ証明書の署名された各バージョンの署名者に関連付けられ、
前記対応する署名者重みはまた、前記ユーザ署名を生成するために前記ユーザ秘密鍵を使用して署名される、
請求項22に記載のユーザデバイス。
【請求項２４】
前記処理回路は、
前記特定された複数の署名者候補の識別情報を、前記ユーザ証明書とともに、前記署名者候補のうちの1つまたは複数によって署名するために前記ユーザデバイスから前記複数の署名者候補に送信する
ようにさらに構成される、請求項20に記載のユーザデバイス。
【請求項２５】
ユーザデバイスのユーザに関するユーザ証明書を取得するための手段であって、前記ユーザは、ユーザ公開鍵および対応するユーザ秘密鍵に関連付けられる、手段と、
1つまたは複数のソーシャルネットワーク内で、複数の署名者候補を特定するための手段であって、前記複数の署名者候補のそれぞれが異なるユーザである、手段と、
前記ユーザデバイスから前記複数の署名者候補に前記ユーザ証明書を送信するための手段と、
前記ユーザデバイスにおいて、前記複数の署名者候補のうちの少なくとも一部から、前記ユーザ証明書の1つまたは複数の署名されたバージョンを受信するための手段と、
前記ユーザ証明書、前記ユーザ証明書の前記受信した1つまたは複数の署名されたバージョン、および前記ユーザ証明書の前記受信した1つまたは複数の署名されたバージョンの少なくともそれらの署名者の識別情報を組み合わせて、合成証明書にするための手段と
を含む、ユーザデバイス。
【請求項２６】
前記ユーザ証明書の署名された各バージョンに対する、ユーザによって割り当てられた署名者重みを取得するための手段と、
前記ユーザ証明書の署名された各バージョンに関する、前記ユーザによって割り当てられた署名者重みを前記合成証明書に付加するための手段と
をさらに含む、請求項25に記載のユーザデバイス。
【請求項２７】
ユーザデバイス内で動作可能な1つまたは複数の命令を有するプロセッサ可読記録媒体であって、前記命令は、1つまたは複数のプロセッサによって実行される際、前記1つまたは複数のプロセッサに、
前記ユーザデバイスのユーザに関するユーザ証明書を取得することであって、前記ユーザはユーザ公開鍵および対応するユーザ秘密鍵に関連付けられることと、
1つまたは複数のソーシャルネットワーク内で、複数の署名者候補を特定することであって、前記複数の署名者候補のそれぞれが異なるユーザであることと、
前記ユーザデバイスから前記複数の署名者候補に前記ユーザ証明書を送信することと、
前記ユーザデバイスにおいて、前記複数の署名者候補のうちの少なくとも一部から、前記ユーザ証明書の1つまたは複数の署名されたバージョンを受信することと、
前記ユーザ証明書、前記ユーザ証明書の前記受信した1つまたは複数の署名されたバージョン、および前記ユーザ証明書の前記受信した1つまたは複数の署名されたバージョンの少なくともそれらの署名者の識別情報を組み合わせて、合成証明書にすることとを行わせる、
プロセッサ可読記録媒体。
【請求項２８】
前記ユーザデバイス内で動作可能な1つまたは複数の命令をさらに有し、前記命令は、1つまたは複数のプロセッサによって実行される際、前記1つまたは複数のプロセッサに、
前記ユーザ証明書の署名された各バージョンに対する、ユーザによって割り当てられた署名者重みを取得させ、
前記ユーザ証明書の署名された各バージョンに関する、前記ユーザによって割り当てられた署名者重みを前記合成証明書に付加させる、
請求項27に記載のプロセッサ可読記録媒体。
【請求項２９】
ターゲットデバイスのターゲットユーザについての信用基準を生成するために受信者ユーザの受信者デバイス上で動作可能な方法であって、
前記受信者デバイスにおいて、前記ターゲットデバイスから、前記ターゲットユーザに関連付けられたユーザ証明書と、ソーシャルネットワーク内の1つまたは複数の署名者によって署名された前記ユーザ証明書の1つまたは複数の署名されたバージョンであって、前記1つまたは複数の署名者のそれぞれが異なるユーザであるバージョンと、合成証明書についての前記ターゲットユーザによって生成されたユーザ署名と、を含む、前記合成証明書を受信するステップと、
前記受信者デバイスにおいて、前記合成証明書、および前記ユーザ証明書の前記1つまたは複数の署名されたバージョンを認証するステップと、
前記受信者デバイスにおいて、認証が成功すると、前記1つまたは複数の署名者に基づいて、前記ターゲットユーザに関する信用基準を生成するステップと
を含む、方法。
【請求項３０】
前記ユーザ証明書は、ユーザ公開鍵である、請求項29に記載の方法。
【請求項３１】
前記合成証明書の一部として前記1つまたは複数の署名者の各々に関する署名者重みを受信するステップ
をさらに含む、請求項29に記載の方法。
【請求項３２】
前記ターゲットユーザに関する前記信用基準は、前記1つまたは複数の署名者に関する、前記受信された署名者重みに基づいて生成される、請求項31に記載の方法。
【請求項３３】
受信者によって割り当てられる署名者重みを、前記ユーザ証明書の前記1つまたは複数の署名されたバージョンの各々に割り当てるステップであって、受信者によって割り当てられた各署名者重みは、前記ユーザ証明書の前記署名されたバージョンの各々の前記署名者に対応する、ステップ
をさらに含む、請求項29に記載の方法。
【請求項３４】
前記信用基準を、前記署名者重みと受信者によって割り当てられた署名者重みとの組合せに基づいて生成するステップ
をさらに含む、請求項33に記載の方法。
【請求項３５】
前記1つまたは複数の受信者によって割り当てられた署名者重みに基づいて、前記ユーザに関する信用基準を生成するステップ
をさらに含む、請求項33に記載の方法。
【請求項３６】
前記ユーザ証明書を認証するステップは、
前記合成証明書内の署名されたコンテンツの真正性を検証するために、前記ユーザ署名にユーザ公開鍵を適用するステップ
を含む、請求項29に記載の方法。
【請求項３７】
前記ユーザ証明書の前記1つまたは複数の署名されたバージョンを認証するステップは、
前記ユーザ証明書の前記1つまたは複数の署名されたバージョンの真正性を検証するために、前記ユーザ証明書の前記1つまたは複数の署名されたバージョンに署名者公開鍵を適用するステップ
を含む、請求項29に記載の方法。
【請求項３８】
前記ユーザ証明書の前記1つまたは複数の署名されたバージョンは、前記ターゲットユーザ以外の当事者によって署名される、請求項29に記載の方法。
【請求項３９】
通信ネットワーク上で通信するための通信インターフェースと、
前記通信インターフェースに結合された処理回路とを含み、前記処理回路は、
受信者デバイスにおいて、ターゲットデバイスから、前記ターゲットデバイスのターゲットユーザに関連付けられたユーザ証明書と、ソーシャルネットワーク内の1つまたは複数の署名者によって署名された前記ユーザ証明書の1つまたは複数の署名されたバージョンであって、前記1つまたは複数の署名者のそれぞれが異なるユーザであるバージョンと、合成証明書についての前記ターゲットユーザによって生成されたユーザ署名と、を含む、前記合成証明書を受信し、
前記合成証明書、および前記ユーザ証明書の前記1つまたは複数の署名されたバージョンを認証し、
認証が成功すると、前記1つまたは複数の署名者に基づいて、前記ターゲットユーザに関する信用基準を生成する
ように構成される、受信者デバイス。
【請求項４０】
前記ユーザ証明書は、ユーザ公開鍵である、請求項39に記載の受信者デバイス。
【請求項４１】
前記処理回路は、
前記1つまたは複数の署名者の各々に関する署名者重みを受信する
ようにさらに構成される、請求項39に記載の受信者デバイス。
【請求項４２】
前記ターゲットユーザに関する前記信用基準は、前記1つまたは複数の署名者に関する、前記受信された署名者重みに基づいて生成される、請求項41に記載の受信者デバイス。
【請求項４３】
前記処理回路は、
受信者によって割り当てられた署名者重みを、前記ユーザ証明書の前記1つまたは複数の署名されたバージョンの各々に割り当てるようにさらに構成され、
受信者によって割り当てられた各署名者重みは、前記ユーザ証明書の前記署名されたバージョンの各々の前記署名者に対応する、
請求項39に記載の受信者デバイス。
【請求項４４】
ターゲットデバイスのターゲットユーザに関連付けられたユーザ証明書と、ソーシャルネットワーク内の1つまたは複数の署名者によって署名された前記ユーザ証明書の1つまたは複数の署名されたバージョンであって、前記1つまたは複数の署名者のそれぞれが異なるユーザであるバージョンと、合成証明書についての前記ターゲットユーザによって生成されたユーザ署名と、を含む、前記合成証明書を、前記ターゲットデバイスから受信するための手段と、
前記ユーザ証明書、および前記ユーザ証明書の前記1つまたは複数の署名されたバージョンを認証するための手段と、
認証が成功すると、前記1つまたは複数の署名者に基づいて、前記ターゲットユーザに関する信用基準を生成するための手段と
を含む、受信者デバイス。
【請求項４５】
前記1つまたは複数の署名者の各々に関する署名者重みを受信するための手段であって、前記ターゲットユーザに関する前記信用基準は、前記1つまたは複数の署名者に関する、前記受信された署名者重みに基づいて生成される、手段
をさらに含む、請求項44に記載の受信者デバイス。
【請求項４６】
受信者によって割り当てられる署名者重みを、前記ユーザ証明書の前記1つまたは複数の署名されたバージョンの各々に割り当てるための手段であって、受信者によって割り当てられた各署名者重みは、前記ユーザ証明書の前記署名されたバージョンの各々の前記署名者に対応する、手段
をさらに含む、請求項44に記載の受信者デバイス。
【請求項４７】
受信者デバイス内で動作可能な1つまたは複数の命令を有するプロセッサ可読記録媒体であって、前記命令は、1つまたは複数のプロセッサによって実行される際、前記1つまたは複数のプロセッサに、
前記受信者デバイスにおいて、ターゲットデバイスから、前記ターゲットデバイスのターゲットユーザに関連付けられたユーザ証明書と、ソーシャルネットワーク内のユーザ証明書および1つまたは複数の署名者によって署名されたユーザ証明書の1つまたは複数の署名されたバージョンであって、前記1つまたは複数の署名者のそれぞれが異なるユーザであるバージョンと、合成証明書についての前記ターゲットユーザによって生成されたユーザ署名と、を含む、前記合成証明書を受信させ、
前記合成証明書、および前記ユーザ証明書の前記1つまたは複数の署名されたバージョンを認証させ、
認証が成功すると、前記1つまたは複数の署名者に基づいて、前記ターゲットユーザに関する信用基準を生成させる、
プロセッサ可読記録媒体。
【請求項４８】
前記受信者デバイス内で動作可能な1つまたは複数の命令をさらに有し、前記命令は、1つまたは複数のプロセッサによって実行される際、前記1つまたは複数のプロセッサに、
前記1つまたは複数の署名者の各々に関する署名者重みを受信させ、前記ターゲットユーザに関する前記信用基準は、前記1つまたは複数の署名者に関する、前記受信された署名者重みに基づいて生成される、
請求項47に記載のプロセッサ可読記録媒体。
【請求項４９】
前記受信者デバイス内で動作可能な1つまたは複数の命令をさらに有し、前記命令は、1つまたは複数のプロセッサによって実行される際、前記1つまたは複数のプロセッサに、
前記受信した署名されたユーザ証明書の各バージョンに、受信者によって割り当てられた署名者重みを割り当てさせ、
受信者によって割り当てられた各署名者重みは、受信した署名された各ユーザ証明書の前記署名者に対応する、
請求項47に記載のプロセッサ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本特許出願は、参照により本明細書に明確に組み込まれる、2011年4月28日に出願された「Social Network Based PKI Authentication」と題する米国仮出願第61/480,270号の優先権を主張する。
【０００２】
様々な特徴は、認証およびセキュリティにソーシャルネットワークまたはオンラインコミュニティを活用し得るスケーラブルな機構に関係する。
【背景技術】
【０００３】
ソーシャルネットワークおよびオンラインコミュニティにおける、プライバシーの侵害およびユーザポリシーの不十分な管理の最近の傾向は、ユーザを認証する、コンテンツを暗号化する、および/または、そのようなコンテンツへのアクセスを許可する/制限するためのより容易な手段が切実に求められていることを示唆する。たとえば、識別情報ベースの暗号化、または公開鍵としてユニフォームリソース識別子(URI)を使用する概念などの、公開鍵を構築および共有するユーザフレンドリな手段が設計されてきた。しかしながら、証明書(または信用の輪)を自動生成する能力は、現在存在しない。この能力がなければ、公開鍵秘密鍵ペアによる、認証、認可、または否認防止ができない。公開鍵基盤(PKI)は、これを達成する階層的手段であるが、コストおよびスケーラビリティにより、これが事実上の機構になることを妨げられた。「信用の輪」の概念は、この問題を解決するが、これは、従来から、鍵署名当事者などを必要としてきた。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ソーシャルネットワークが拡大するにつれて、様々な目的のためにその中の情報を活用する機会が生じる。認証およびセキュリティにソーシャルネットワークまたはオンラインコミュニティを活用し得るスケーラブルな機構を提供することが有利であろう。
【課題を解決するための手段】
【０００５】
第1の例は、ソーシャルグラフベースの証明書を生成するためのユーザデバイス上で動作可能な方法を提供する。ユーザデバイスのユーザに関するユーザ証明書が得られるが、そのユーザは、ユーザ公開鍵および対応するユーザ秘密鍵に関連付けられる。ユーザ証明書は、ユーザ公開鍵も含み得る。1つまたは複数のソーシャルネットワーク内の複数の署名者候補も特定される。次いで、ユーザデバイスから複数の署名者候補にユーザ証明書が送付される。ユーザデバイスは、応答して、複数の署名者候補のうちの少なくとも一部から、ユーザ証明書の1つまたは複数の署名されたバージョンを受信し得る。ユーザ証明書の1つまたは複数の署名されたバージョンのうち、ユーザ証明書の第1の署名されたバージョンは、第2の秘密鍵を使用して署名者によって署名され得、対応する第2の公開鍵を使用して認証できる。
【０００６】
次いで、ユーザ証明書、ユーザ証明書の受信した1つまたは複数の署名されたバージョン、および/またはユーザ証明書の受信した1つまたは複数の署名されたバージョンの少なくともそれらの署名者の識別情報は、合成証明書へと組み合わされ得る。ユーザ証明書、ユーザ署名、ユーザ証明書の1つまたは複数の署名されたバージョン、およびユーザによって割り当てられた1つまたは複数の署名者重みは、1つまたは複数の受信者に配信され得る。
【０００７】
ユーザ署名は、ユーザ秘密鍵を使用して合成証明書の少なくとも一部に署名することによっても生成され得る。ユーザ署名は、合成証明書に添付され得る。
【０００８】
ユーザ署名を生成することは、(a)ユーザ秘密鍵を使用して、特定された複数の署名者候補の識別情報を含むユーザ証明書に署名するステップ、および/またはユーザ秘密鍵を使用して、ユーザ証明書の受信した1つまたは複数の署名されたバージョンを含むユーザ証明書に署名するステップのいずれか一方を含み得る。
【０００９】
署名者重みは、ユーザ証明書の署名された各バージョンにも割り当てられ得るが、各対応する署名者重みは、ユーザ証明書の署名された各バージョンの署名者に関連し、対応する署名者重みはまた、ユーザ署名を生成するためにユーザ秘密鍵を使用して署名される。一例では、複数の署名者候補は、ユーザの電子メールまたはアドレス帳から得られた連絡先から特定され得る。
【００１０】
特定された複数の署名者候補の識別情報はまた、ユーザ証明書とともに、署名者候補のうちの1つまたは複数によって署名するためにユーザデバイスから複数の署名者候補に送信され得る。
【００１１】
いくつかの事例では、ユーザ証明書のタイムスタンプまたは有効期間インジケータが、1つまたは複数の受信者への配信より前にユーザデバイスにおいてユーザ証明書に添付され得る。
【００１２】
一例では、ユーザによって割り当てられた署名者重みは、ユーザ証明書の署名された各バージョンに関して取得され得る。ユーザ証明書の署名された各バージョンに関するユーザによって割り当てられた署名者重みは、合成証明書に付加され得る。
【００１３】
一実装形態では、各署名者に関するユーザによって割り当てられた署名者重みは、ユーザと署名者との間の信用関係に比例し得る。第2の例では、各署名者に関するユーザによって割り当てられた署名者重みは、ソーシャルネットワーク内のユーザと署名者との間の関係距離に比例し得る。第3の例では、各署名者に関するユーザによって割り当てられた重みは、時間変動する重み、または目的依存の重みのうちの少なくとも一方である。第4の例では、各署名者に関するユーザによって割り当てられた重みは、他のユーザから受信し、ユーザデバイスによって認証可能な重みに少なくとも部分的に基づいている。一例において、ユーザに知られている署名者では、ユーザによって割り当てられた署名者重みは、ユーザによって決定されるだけであるが、ユーザには未知の署名者では、ユーザによって割り当てられた署名者重みは、そのような未知の署名者に関して、既知の署名者によって提供された重みに少なくとも部分的に基づいている。
【００１４】
別の実装形態では、ユーザ証明書の署名された各バージョンに関する署名者固有の重みが、取得され得る。ユーザ証明書の署名された各バージョンに関する署名者固有の重みは、合成証明書に付加/添付され得る。一例では、各署名者固有の重みは、対応する署名者に関連付けられる。別の例では、各署名者固有の重みは、ユーザのコミュニティまたは信用できる第三者のうちの少なくとも一方によって生成され得る。
【００１５】
第2の例は、ユーザの信用基準(trust metric)を生成するために受信者デバイス上で動作可能な方法が提供される。ソーシャルネットワーク内のユーザ証明書および1つまたは複数の署名者によって署名されたユーザ証明書の1つまたは複数の署名されたバージョン、ならびに合成証明書上のユーザ署名を含む、合成証明書が受信され得る。一例では、ユーザ証明書は、ユーザ公開鍵であり得る。
【００１６】
合成証明書、およびユーザ証明書の1つまたは複数の署名されたバージョンが、認証され得る。認証が成功すると、1つまたは複数の署名者に基づいて、ユーザに関する信用基準が生成され得る。
【００１７】
一実装形態では、署名者重みは、合成証明書の一部として1つまたは複数の署名者の各々に関して受信され得る。ユーザに関する信用基準は、1つまたは複数の署名者に関する、受信された署名者重みに基づいて生成され得る。
【００１８】
別の実装形態では、受信者によって割り当てられる署名者重みは、ユーザ証明書の1つまたは複数の署名されたバージョンの各々に割り当てられ得るが、受信者によって割り当てられた各署名者重みは、ユーザ証明書の署名されたバージョンの各々の署名者に対応する。
【００１９】
様々な事例において、信用基準は、(a)署名者重みと受信者によって割り当てられた署名者重みとの組合せ、または(b)受信者によって割り当てられた1つもしくは複数の署名者重みに基づいて生成され得る。
【００２０】
ユーザ証明書を認証することは、合成証明書内の署名されたコンテンツの真正性を検証するために、ユーザ署名にユーザ公開鍵を適用するステップを含み得る。ユーザ証明書の1つまたは複数の署名されたバージョンを認証することは、ユーザ証明書の1つまたは複数の署名されたバージョンの真正性を検証するために、ユーザ証明書の1つまたは複数の署名されたバージョンに署名者公開鍵を適用するステップを含み得る。別の実装形態では、ユーザ証明書の1つまたは複数の署名されたバージョンは、ユーザ以外の当事者によって署名され得る。
【図面の簡単な説明】
【００２１】
【図１】ソーシャルネットワークに関する重み付けされていないソーシャルグラフおよび重み付けされたソーシャルグラフの概念を示す図である。
【図２】認証および/または信用の証明書がターゲットユーザのためにどのようにして生成され得るかの一例を示すブロック図である。
【図３】ノード/ユーザの重みが、他のノードまたはユーザに関してターゲットユーザによってどのようにして生成され得るかを示す図である。
【図４】直接的関係および間接的関係のノード/ユーザの両方に関して、ターゲットユーザAによって実装される重み割当て方法を示す図である。
【図５】直接的関係および間接的関係のノード/ユーザの両方に関して、ターゲットユーザAによって実装される、別の重み割当て方法を示す図である。
【図６】直接的関係および間接的関係のノード/ユーザの両方に関して、ターゲットユーザAによって実装される、さらに別の重み割当て方法を示す図である。
【図７】ターゲットユーザのための認証および/または信用の証明書が検証を行うユーザによってどのようにして使用され得るかの一例を示すブロック図である。
【図８Ａ】1つまたは複数の署名者デバイスによる裏書に基づいて、ソーシャルグラフベースの証明書を生成し、ユーザデバイスの信用基準を計算するための複数のデバイスの動作を示すフロー図である。
【図８Ｂ】1つまたは複数の署名者デバイスによる裏書に基づいて、ソーシャルグラフベースの証明書を生成し、ユーザデバイスの信用基準を計算するための複数のデバイスの動作を示すフロー図である。
【図９】一例によるユーザデバイスのブロック図である。
【図１０】ソーシャルネットワークベースの信用基準の生成を容易にするための、ユーザデバイスの動作の一例を示す図である。
【図１１】一例による、署名者デバイスの内部構造のブロック図である。
【図１２】ソーシャルネットワークベースのユーザ証明書の生成を容易にするための、署名者デバイスの動作の一例を示す図である。
【図１３】一例による、受信者デバイスの内部構造のブロック図である。
【図１４】ソーシャルネットワークベースのユーザの信用基準を生成するための、受信者デバイスの動作の一例を示す図である。
【発明を実施するための形態】
【００２２】
以下の説明では、実施形態の完全な理解を提供するために具体的な詳細が与えられる。しかしながら、実施形態はこれらの具体的な詳細なしに実施され得ることを当業者は理解されよう。たとえば、実施形態が不要な詳細で不明瞭になるのを避けるために回路をブロック図で示すことがある。他の場合には、実施形態を不明瞭にしないように、よく知られている回路、構造および技法を詳細に示さないことがある。
【００２３】
「例示的な」という言葉は、「例、実例、または例示として機能すること」を意味するために本明細書で使用される。本明細書に「例示的」と記載されたいかなる実装形態または実施形態も、必ずしも他の実施形態よりも好ましいまたは有利であると解釈されるべきではない。同様に、「実施形態」という用語は、すべての実施形態が、論じられた特徴、利点または動作モードを含むことを必要としない。
【００２４】
概要
ソーシャルネットワークの世界では、関係のネットワーク(ソーシャルグラフと呼ばれる)は、ソーシャルネットワークの様々なユーザまたはメンバーの間で確立され得る。これらのソーシャルネットワーク内に規定された、関係に固有の情報は、たとえば、ユーザ/メンバーの間の様々な信用レベルを確立するために使用され得る。一例では、ユーザ/メンバーの拡張された社会的関係は、そのユーザ/メンバーの一定の信用レベルを確認するために採用され得る。加えて、そのユーザ/メンバーの拡張された社会的関係の一部または全部は、その関係の信用を規定するために重み付けされ得る。その際、ソーシャルネットワークの、あるユーザ/メンバーと他のユーザ/メンバーとの間の重み付けされたか、または重み付けされていない関係に基づいて、ユーザ/メンバーの信用レベルが規定され得る。
【００２５】
1つの特徴によれば、ソーシャルネットワークの他のユーザ/メンバーに対する信用レベルを伝達する、ユーザ/メンバーに関する証明書が生成され得る。一例では、ユーザデバイスは、ソーシャルグラフベースの(たとえば、ソーシャルネットワーク関係を使用した)ユーザ証明書を生成し得る。あるユーザに関するユーザ証明書が得られるが、そのユーザは、ユーザ公開鍵および対応するユーザ秘密鍵を有する。1つまたは複数のソーシャルネットワーク内で、複数の署名者候補が特定される。次いで、特定された複数の署名者候補に証明書が送付される。複数の署名者候補のうちの少なくとも一部から、ユーザ証明書の1つまたは複数の署名されたバージョンが受信され得る。ユーザデバイスは、ユーザ証明書の署名された各バージョンに署名者重みを割り当て得るが、各対応する署名者重みは、証明書の署名された各バージョンの署名者に関連付けられる。ユーザ署名を生成するためにユーザ秘密鍵を使用して、ユーザ証明書の1つまたは複数の署名されたバージョンに署名し得る。ユーザ署名を生成するためにユーザ秘密鍵を使用して、対応する署名者重みにも署名し得る。ユーザ証明書、ユーザ署名、ユーザ証明書の1つまたは複数の署名されたバージョン、および/またはユーザによって割り当てられた署名者重みは、1つまたは複数の受信者に配信され得る。
【００２６】
別の特徴によれば、受信者デバイスは、ユーザ(または対応するユーザデバイス)に関する信用基準を生成し得る。受信者デバイスは、ユーザ(または関連するユーザデバイス)に関するユーザ公開鍵を取得し得る。ソーシャルネットワーク内の1つまたは複数の署名者によって署名されたユーザ証明書の1つまたは複数の署名されたバージョンを含む、ユーザ証明書およびユーザ署名が受信され得る。ユーザ署名およびユーザ証明書の1つまたは複数の署名されたバージョンは、受信者デバイスによって認証され得る。たとえば、ユーザ署名内の署名されたコンテンツの真正性を検証するために、ユーザ公開鍵がユーザ署名に適用され得る。加えて、ユーザ証明書の1つまたは複数の署名されたバージョンを認証することは、署名付きの受信される証明書内の署名されたコンテンツの真正性を検証するために、署名付きの受信される証明書に署名者公開鍵を適用するステップを含み得る。
【００２７】
認証が成功すると、受信者デバイスは、1つまたは複数の署名者に基づいて、ユーザ(またはユーザデバイス)に関する信用基準を生成し得る。1つまたは複数の署名者の各々に関する署名者重みが受信され得、ユーザに関する信用基準は、1つまたは複数の署名者に関する、受信された署名者重みに基づいて生成される。そうでない場合、受信者によって割り当てられる署名者重みは、ユーザ証明書の1つまたは複数の署名されたバージョンの各々に割り当てられ得るが、受信者によって割り当てられた各署名者重みは、ユーザ証明書の署名されたバージョンの各々の署名者に対応する。したがって、信用基準は、署名者重みと受信者によって割り当てられた署名者重みとの組合せ、または受信者によって割り当てられた1つもしくは複数の署名者重みのみに基づいて生成され得る。
【００２８】
ソーシャルグラフを生成するためのソーシャルネットワーク/オンラインコミュニティの活用
情報セキュリティは、(たとえば、ソーシャルネットワークおよび/またはオンラインコミュニティ内の)ソーシャルシェアリングの世界では急速に重要になっている。公開鍵を構築および共有するユーザフレンドリな手段(たとえば、識別情報ベースの暗号化、または公開鍵としてユニフォームリソース識別子(URI)を使用する概念)が設計されてきた。しかしながら、証明書(または信用の輪)を自動生成する能力は、現在存在しない。この能力がなければ、公開鍵秘密鍵ペアによる、認証、認可、および/または否認防止ができない。公開鍵基盤(PKI)は、ソーシャルネットワークまたはオンラインコミュニティ内で証明書の自動生成を達成する階層的手段である。しかしながら、PKI課題およびスケーラビリティ課題を実装するコストは、PKIがソーシャルネットワークおよび/またはオンラインコミュニティ内の事実上のセキュリティ機構になることを妨げてきた。ソーシャルネットワークの関係およびPKIに基づいて実装される「信用の輪」の概念は、この問題を解決する。ソーシャルグラフ(たとえば、ソーシャルネットワーク内の関係)に基づいて鍵署名をブート処理するための手段は、(たとえば、ソーシャルネットワークを通して、およびそれを超えて)地球規模でアクセス可能かつ使用可能なセキュリティを作る際に、極めて有用になり得る。プライバシーに敏感なまたは選択的な情報の共有は、ネットワーク関係およびPKIを利用するそのようなモデルの存在下で解決するには、かなり簡単である。
【００２９】
ソーシャルネットワークおよび/またはオンラインコミュニティの性質および構造は、セキュリティ/認証システムを実装する際に有益になり得る、関係、各ユーザの証明書などの固有の情報を含む。「ソーシャルグラフ」は、ソーシャルネットワークまたはオンラインコミュニティ上で利用可能な情報から構築され、セキュリティ(認証、暗号化、プライバシー)に役立ち得る。
【００３０】
図1は、ソーシャルネットワークに関する重み付けされていないソーシャルグラフおよび重み付けされたソーシャルグラフの概念を示す図である。重み付けされていないソーシャルグラフ102は、ソーシャルネットワークのユーザ間の関係の様々なグレードまたはレベルを区別しない。ターゲットユーザ104(たとえば、人またはターゲットユーザデバイス)は、限定はしないが、直接的関係および間接的関係を含む、他のユーザ(たとえば、人または他のユーザデバイス)との様々なタイプの関係を有し得る。直接的関係は、ターゲットユーザ104が直接知るという他者とのそれらの関係を含み得るが、間接的関係は、ターゲットユーザ104が別のユーザとの関係に基づいて誰かを知るというそれらの関係を含み得る。ユーザ間の関係の信用または重みのレベル(すなわち、様々なグレードまたはレベル)は、ここでは、グラフ上にあるノードのサイズによって示される。各ノードは、異なるユーザを表し得る。重み付けされていないソーシャルグラフ102でわかるように、ユーザ106a、106b、および106cは、ターゲットユーザ104と直接的な関係がある。同様に、重み付けされていないソーシャルグラフ102では、ユーザ108a、108b、108c、および108dは、ターゲットユーザ104と間接的な関係がある。ターゲットユーザ104と、すべての直接的関係のユーザ106a、106b、および106cならびにすべての間接的関係のユーザ108a、108b、108c、および108dとの関係は、等しく重み付けされる(すなわち、重み付けされていない)。
【００３１】
一態様は、ユーザの社会的交流をより正確に把握し得る重み付けされたソーシャルグラフ103を生成するために、重み付けされた関係を使用することによって、重み付けされていないソーシャルグラフに対する改良を与える。重み付けされたソーシャルグラフ103は、ターゲットユーザ104が、直接的関係のユーザ106a、106b、および106cならびに間接的関係のユーザ108a、108b、108c、および108dとの間に有する同じ関係を示す。重み付けされたソーシャルグラフ103でわかるように、直接的関係のユーザ106a、106b、および106cに関するノードのサイズは、間接的関係のユーザ108a、108b、108c、および108dに関するノードのサイズとは異なる可能性がある。具体的には、一部のユーザは、より大きい重み(たとえば、より信用できる、より十分にターゲットユーザ104を知るなど)を示す、より大きいノードを有し得る。たとえば、第1のユーザ106aは、第2のユーザ106bよりも大きい重みを有し得る(たとえば、より信用できる、より十分にターゲットユーザ104を知るなど)。場合によっては、間接的関係の第3のユーザ108aは、直接的関係の第4のユーザ106cよりも大きい重みさえ有し得る。すなわち、一部のユーザは、他者よりも信用できる可能性があるので、一態様では、重み付けされたソーシャルグラフ103上のノードが大きくなるほど、ユーザは、より信用できる。
【００３２】
1つの特徴によれば、間接的関係のユーザの重みは、間接的関係のユーザをターゲットユーザ104にリンクさせる直接的関係のユーザに割り当てられた重みまたは直接的関係のユーザに起因する重みによって影響され得る。たとえば、重み付けされたソーシャルグラフ103では、第5の間接的関係のユーザ108bは、同様により小さい重みを有する第2のユーザ106bを介したそのリンクのために、(ターゲットユーザ104に対する)より小さい重みを有し得る。同様に、第3のユーザ108aは、同様により大きい重みを有する第1のユーザ106aを介したそのリンクのために、(ターゲットユーザ104に対する)より大きい重みを有し得る。したがって、いくつかのユーザの重みは、中間のユーザの重みに依存し得る。
【００３３】
別の態様によれば、各ユーザに割り当てられた重みは、他のユーザとは無関係である可能性がある。たとえば、第3のユーザ108aに割り当てられた重みは、第1のユーザ106aおよび/または第2のユーザ106bに割り当てられた重みとは無関係である可能性がある。
【００３４】
重み付けされたソーシャルグラフ103を使用すれば、ユーザを認証する、および/または情報へのアクセスを確保するのに役立ち得る「ソーシャル」公開鍵基盤(PKI)が構築され得る。そのようなソーシャルPKIは、ウェブおよび/またはインターネット上で増大するソーシャルグラフ構造を利用する。重み付けされたソーシャルグラフは、PKIのブート処理を著しくより簡単にする。各ユーザ(たとえば、ソーシャルネットワークまたはオンラインコミュニティの連絡先またはメンバー)に割り当てられた重みは、限定はしないが、ターゲットユーザが他のユーザにどのようにして会ったか、ユーザが互いにどのくらい長く知っているか、およびユーザ間の履歴(または交流のタイプ)の状況を含む、いくつかの因子によって影響され得る。一態様によれば、ユーザに割り当てられた重みは、時間とともに変化し得る。重みの変化は、限定はしないが、2つのユーザ間の交流の増加、信用の減少、および/またはユーザ間の条件付き信用を含む、いくつかの因子によって影響され得る。
【００３５】
ターゲットユーザ104のための認証および/または信用の証明書を組み合わせた証明書が、その直接的および/または間接的関係の信用レベル、ならびにターゲットユーザおよび/または他のユーザに関するPKIに基づいて生成され得る。そのような認証および/または信用の証明書は、条件付きである、および/または無条件であることに加えて、短寿命である(たとえば、比較的短い時間期間の後、または単一のトランザクションの後に終了する)か、長寿命である(たとえば、数日後、数週間後、数か月後、または数年後に終了する)可能性がある。たとえば、証明書は、ユーザ(たとえば、信用できるユーザ104または他のユーザ106a〜cおよび108a〜d)が特定の領域(たとえば、そのような証明書が使用/信用され得る領域)に関して単に信用されるかどうかを条件とする場合がある。無条件の証明書は、どんな発信源にも限定されない、および/または時間的に限定されない可能性がある。
【００３６】
図2は、認証および/または信用の証明書がターゲットユーザのためにどのようにして生成され得るかの一例を示すブロック図である。この例では、ターゲットユーザ204(たとえば、ユーザデバイス、ノード、またはメンバー)は、デバイス/ユーザ識別子、ランダムなデータなどを含み得る、および(たとえば、その秘密鍵Priv-Aを使用して)ターゲットユーザによって署名され得る、関連する秘密鍵Priv-Aおよび公開鍵Pub-Aならびに初期/ユーザ証明書Certを有する。第1の例では、初期/ユーザ証明書Certは、Cert=乱数と提示され得る。第2の例では、初期/ユーザ証明書Certは、Cert=Pub-A、すなわちターゲットユーザに関連する公開鍵と提示され得る。さらに別の例では、初期/ユーザ証明書Certは、署名者候補への配信の前にターゲットユーザ204によって署名され得、それによって、署名者候補は、署名する前にターゲットユーザを認証することができることに留意されたい。
【００３７】
ターゲットユーザ204は、それが直接的または間接的な社会的関係を有する1つまたは複数の他のユーザ(たとえば、他のユーザデバイス、ノード、またはメンバー)に初期証明書Certを送信する。ターゲットユーザ204から初期/ユーザ証明書Certを直接または間接的に受信する、他のユーザ206、208、210、212、214、216、および/または218のうちの1つまたは複数は、それら自体の秘密鍵(たとえば、ユーザB206用のPriv-B、ユーザC208用のPriv-C、ユーザD210用のPriv-D、ユーザE212用のPriv-E、ユーザF214用のPriv-F、ユーザG216用のPriv-G、および/またはユーザH218用のPriv-H)を使用して証明書Certに署名することによって応答し得る。他のユーザ206、208、210、212、214、216、および/または218がターゲットユーザ204の初期/ユーザ証明書Certに署名することを決定するか否かは、(たとえば、ソーシャルネットワーク内の直接的ソーシャルリンクまたは間接的ソーシャルリンクのいずれかを通して)それらがターゲットユーザ204と信用関係を有するかどうかに依存し得る。署名された証明書Certの様々なバージョン(たとえば、SigPriv-B(Cert)、SigPriv-C(Cert)、SigPriv-D(Cert)、SigPriv-E(Cert)、SigPriv-F(Cert)、SigPriv-G(Cert)、SigPriv-H(Cert))は、ターゲットユーザ204に送信され得る。
【００３８】
したがって、ターゲットユーザ204は、その初期証明書Certの1つまたは複数の署名されたバージョン220(たとえば、SigPriv-B(Cert)、SigPriv-C(Cert)、SigPriv-D(Cert)、SigPriv-E(Cert)、SigPriv-F(Cert)、SigPriv-G(Cert)、SigPriv-H(Cert))を取得または受信し得る。1つの特徴によれば、ターゲットユーザA 204は、場合によっては、応答するユーザとのインターフェースに重み(たとえば、Wt-AB、Wt-AC、Wt-AD、Wt-AE、Wt-AF、Wt-AG、および/またはWt-AH)を割り当て得る。これらの「インターフェース」重みは、たとえば、ターゲットユーザ204が重みを割り当てる特定のユーザ206、208、210、212、214、216、および/または218のうちのいずれか1つとの間に有する関係の長さまたはタイプを表し得る。たとえば、(たとえば、重みの範囲内の)重みは、ターゲットユーザが間接的関係ではなく直接的関係を有するユーザに割り当てられるか、または与えられ得る。同様に、より大きい重みは、ターゲットユーザ204に最近会ったばかりのユーザに対して、ターゲットユーザ204を最も長く知っているユーザに割り当てられるか、または与えられ得る。場合によっては、コミュニティまたはソーシャルネットワークによって高く見なされるユーザは、そのような差異または重要性のためにターゲットユーザ204によって、より大きい重みを割り当てられ得る。
【００３９】
他の実装形態では、重みは、ターゲットユーザと署名するユーザとの間のインターフェースではなく、特定の署名者(たとえば、署名するユーザ)に割り当てられ得る。たとえば、「ユーザ固有の」または「署名者固有の」重み(Wt-S)が、ユーザのコミュニティ、信用できる第三者、および/またはターゲットユーザによって生成され、特定の単独の署名者(たとえば、署名するユーザ)に割り当てられ得る。
【００４０】
次いで、ターゲットユーザ204は、証明書Certの署名されたバージョンおよび/または各署名するユーザに割り当てられた重みを含む、認証と信用を合成したまたは組み合わせた証明書(たとえば、Cert-AT226)を生成し得る(224)。
【００４１】
一例では、合成証明書Cert-ATは、次のように表され得る。
Cert-AT=(Cert,User-A_ID,Pub-A,
User-B_ID,SigPriv-B(Cert),Wt-AB,
User-C_ID,SigPriv-C(Cert),Wt-AC,
User-D_ID,SigPriv-D(Cert),Wt-AD,
User-E_ID,SigPriv-E(Cert),Wt-AE,
User-F_ID,SigPriv-F(Cert),Wt-AF,
User-G_ID,SigPriv-G(Cert),Wt-AG,
User-H_ID,SigPriv-H(Cert),Wt-AH)。
合成証明書Cert-ATのこのバージョンは、ユーザ証明書Certの署名者用の公開鍵が、受信者または検証を行う当事者によって知られているか、または取得可能であることを仮定し得る。たとえば、公開鍵は、すでにネットワーク全体にわたって分散し得るか、または検証する当事者によって別個に取得され得るので、公開鍵は、含まれない場合がある。
【００４２】
図2に示した例では、合成証明書Cert-ATは、次のように表され得る。
Cert-AT=(Cert,User-A_ID,Pub-A,
User-B_ID,SigPriv-B(Cert),Wt-AB,Pub-B,
User-C_ID,SigPriv-C(Cert),Wt-AC,Pub-C,
User-D_ID,SigPriv-D(Cert),Wt-AD,Pub-D,
User-E_ID,SigPriv-E(Cert),Wt-AE,Pub-E,
User-F_ID,SigPriv-F(Cert),Wt-AF,Pub-F,
User-G_ID,SigPriv-G(Cert),Wt-AG,Pub-G,
User-H_ID,SigPriv-H(Cert),Wt-AH,Pub-H)。
合成証明書Cert-ATのこのバージョンでは、ユーザデバイスは、ユーザ証明書Certの署名者用の公開鍵を添付し得る。
【００４３】
さらに別の例では、合成証明書Cert-ATは、次のように表され得る。
Cert-AT=(Cert,User-A_ID,Pub-A,
SigPriv-B(Cert),Wt-AB,
SigPriv-C(Cert),Wt-AC,
SigPriv-D(Cert),Wt-AD,
SigPriv-E(Cert),Wt-AE,
SigPriv-F(Cert),Wt-AF,
SigPriv-G(Cert),Wt-AG,
SigPriv-H(Cert),Wt-AH,
User-B…User-H,User-I…User-R,
Pub-B…Pub-H)。
合成証明書Cert-ATのこのバージョンでは、すべての特定された署名者候補のすべてのユーザ識別情報(すなわち、User-B…User-HおよびUser-I…User-R)が、場合によっては、それらの対応する公開鍵とともに合成証明書に添付される。この例では、ユーザUser-I…User-Rは、署名しないユーザである。他の例では、すべての特定された署名者候補(すなわち、User-B…User-HおよびUser-I…User-R)の識別情報が、署名者候補に送信される初期/ユーザ証明書Certの一部として添付されるか、または含まれ得ることに留意されたい。
【００４４】
さらに別の例では、合成証明書Cert-ATは、次のように表され得る。
Cert-AT=(Cert,User-A_ID,Pub-A,
User-B_ID,SigPriv-B(Cert),Wt-B,
User-C_ID,SigPriv-C(Cert),Wt-C,
User-D_ID,SigPriv-D(Cert),Wt-D,
User-E_ID,SigPriv-E(Cert),Wt-E,
User-F_ID,SigPriv-F(Cert),Wt-F,
User-G_ID,SigPriv-G(Cert),Wt-G,
User-H_ID,SigPriv-H(Cert),Wt-H)。
合成証明書Cert-ATのこのバージョンでは、各重みは、ターゲットユーザと特定の署名者との間のインターフェースではなく、特定の署名者に割り当てられ得る(すなわち、User-Bは重みWt-Bを有する、User-Cは重みWt-Cを有するなど)。たとえば、ユーザのコミュニティ、信用できる第三者、および/またはターゲットユーザは、特定の単独の署名者に重みを割り当て得る。いくつかの実装形態では、少なくとも署名者(たとえば、署名するユーザ)用の公開鍵も、証明書(Cert-AT)の一部として含まれ得ることに留意されたい。(たとえば、ターゲットユーザと署名者との間の)インターフェース重みを使用して、本明細書に様々な例を説明し得るが、これらの重みは、ユーザ固有の重み(たとえば、署名者固有の重み)と取り替えられ得ることが当然明らかである。
【００４５】
加えて、署名は、合成証明書Cert-AT、または合成証明書Cert-ATの選択された部分もしくは一部上にターゲットユーザによって生成され得る。たとえば、いくつかの例では、署名は、公開鍵がすでに知られている可能性があるので、署名するユーザ用の公開鍵を除外し得る。また、署名する各ユーザの重みを含むことは、検証を行うユーザがそれ自体の重みを割り当てる、および/またはターゲットユーザ204によって割り当てられた重みを考慮しない実装形態では、オプションとなり得る。認証のために、認証と信用を合成したまたは組み合わせた証明書Cert-AT226は、Cert-AT228の署名されたバージョン228を取得するためにターゲットユーザ204の秘密鍵Priv-Aによって署名され、対応する公開鍵Pub-Aによって認証可能であり得る。
【００４６】
次いで、ターゲットユーザ204は、認証と信用を合成したまたは組み合わせた証明書Cert-AT226を、それ自体を他のユーザに認証するための手段として、および他のそれらのユーザによって容易に検証され得る信用証明書を与えるための方法として、証明書228の署名されたバージョンとともに送信または配信し得る。たとえば、ソーシャルネットワーク内の受信者ユーザは、ターゲットユーザ204の信用基準を生成するために、ソーシャルネットワークの他のユーザの署名を検証することができ得る。
【００４７】
一例では、他のユーザ206、208、210、212、214、216、および/または218に割り当てられた重みは、様々な方法で生成され得る。たとえば、(第1のノードの観点から見て)第2のノードの重みは、第1のノードと第2のノードとの間のエッジまたはインターフェースにおいて割り当てられ得る。第1のノードは、たとえば、他の因子および/または基準のうち、第1のノードがどのくらい長く第2のノードと関係しているか、もしくは第2のノードを知っているか、第1のノードが第2のノードに有する信用、および/または、他の中間ノードの信用/他の中間ノードとの関係に基づいて第2のノードに重みを割り当て得る。
【００４８】
代替実装形態によれば、重みは、合成証明書とは別に(たとえば、帯域外で)通信され得る。たとえば、受信者は、(署名者重みを含まない)合成証明書Cert-ATを受信し、次いで、ターゲットユーザ、署名者自体、および/または信用できる第三者からの内部で特定された署名者の重みを取得/受信/要求し得る。
【００４９】
図3は、ノード/ユーザの重みが、他のノードまたはユーザに関してターゲットユーザによってどのようにして生成され得るかを示す。この例では、各ノード/ユーザは、他のノード/ユーザとの間の直接的関係に関する重みを確立し得る。たとえば、ターゲットユーザA204は、直接的関係のユーザ206、208、および210にそれぞれ重みWt-AB、Wt-AC、およびWt-ADを割り当てた。同様に、いくつかの実装形態では、ターゲットユーザA204は、間接的関係のユーザ212、214、216、および218にそれぞれ重みWt-AE、Wt-AF、Wt-AG、およびWt-AHを割り当て得る。この実装形態では、ターゲットユーザA204は、ユーザ(たとえば、署名者候補)の各々に関する重みを別個に確認し得る。たとえば、ターゲットユーザA204は、(a)間接的関係のユーザに関するそれ自体の知識、(b)1つまたは複数の中間ユーザとの関係、および/または、(c)間接的関係のユーザまでの「距離」(たとえば、中間のホップまたはノードの数)に基づいて間接的関係のユーザに重みを割り当て得る。
【００５０】
ターゲットユーザA204の観点から見て、様々な重みWt-AXが、ターゲットユーザA204と他のノード/ユーザXとの間の直接的または間接的関係に関して確立され、生成され、および/または割り当てられる。たとえば、ターゲットユーザA204は、直接的関係を有するユーザ/ノードB206、C208、およびD210にそれぞれ、直接重みWt-AB、Wt-AC、およびWt-ADを割り当て得る。この例では、間接的関係に関して、ターゲットユーザA204は、間接的ノード/ユーザE212、F214、G216、およびH218にそれぞれ、重みWt-EB、Wt-EC、Wt-CF、Wt-CG、および/またはWt-DHを生成し得る。
【００５１】
図4、図5、および図6に示すように、様々な異なる方法が、ターゲットユーザに対する間接的ユーザ/ノードの重みを割り当てるために実装され得る。
【００５２】
図4は、直接的関係および間接的関係のノード/ユーザの両方に関して、ターゲットユーザAによって実装される重み割当て方法を示す。たとえば、ユーザ/ノードB206は、ユーザ/ノードE212と直接的関係を有し得る。この例では、ターゲットユーザ204は、直接的関係のノード/ユーザB206に重みWt-ABを割り当て得る。同様に、ノード/ユーザBとは無関係に、ターゲットユーザA204は、間接的関係のノード/ユーザE212に重みWt-AEを割り当てるか、または生成し得る。たとえば、間接的関係のノード/ユーザE212に関する重みのそのような選択は、ネットワーク内のユーザ/ノードE212の評判、および/またはターゲットユーザA204とユーザ/ノードE212との間の以前の取引に基づく場合がある。このようにして、ターゲットユーザA204は、ユーザ/ノードE212に関する重みWt-EAを生成するために使用し得る重みWt-BEを取得し得る。
【００５３】
図5は、直接的関係および間接的関係のノード/ユーザの両方に関して、ターゲットユーザAによって実装される、別の重み割当て方法を示す。この例では、間接的ユーザ/ノードに割り当てられる重みは、中間の関係に割り当てられた重み(複数可)に少なくとも部分的に基づく場合がある。たとえば、ユーザ/ノードB206は、ターゲットユーザA204とユーザ/ノードE212との間の中間のノード/ユーザであり得る。ノード/ユーザB206に重みWt-ABを割り当てると、ターゲットユーザ204は、ユーザ/ノードBに割り当てられた重みに完全にまたは部分的に基づいて間接的関係のノード/ユーザE212に重みWt-AEを割り当て得る(すなわち、Wt-AE=f(Wt-AB))。そうでない場合、別の実装形態では、ノード/ユーザB206は、ノード/ユーザE212に重みWt-BEを提供するか、または割り当て得、ターゲットユーザ/ノードA204にその重みWt-BEを提供する。その際、ターゲットユーザ204は、ユーザ/ノードB206に割り当てられた重み、およびノード/ユーザB206によってノード/ユーザE212に割り当てられた重みに完全にまたは部分的に基づいて、間接的関係のノード/ユーザE212に合成重みWt-AEを割り当て得る(すなわち、Wt-AE=f(Wt-AB,Wt-BE))。合成重みが提供されるとき、それを直接重みと区別するために、通知/インジケータも提供され得る。
【００５４】
図6は、直接的関係および間接的関係のノード/ユーザの両方に関して、ターゲットユーザAによって実装される、さらに別の重み割当て方法を示す。この例では、ターゲットノード/ユーザA204は、あるノード/ユーザまでのその「距離」(たとえば、ホップまたは中間のノード/ユーザの数)に基づいて他のノードの重みを割り当てるか、または生成し得る。たとえば、ユーザ/ノードB206は、ノード/ユーザA204のノード/ユーザB206に対する近接度の関数(すなわち、f(ノードBまでの距離))である重みWt-ABを割り当てられ得る。この例では、ノード/ユーザB206は、ターゲットユーザ/ノードA204から1ホップだけ離れている。同様に、ユーザ/ノードE212は、ノード/ユーザA204からノード/ユーザE212への近接度または間接的関係の関数(すなわち、f(ノードEまでの距離))である重みWt-AEを割り当てられ得る。この例では、ノード/ユーザE212は、ターゲットユーザ/ノードA204から2ホップだけ離れている。
【００５５】
ノード/ユーザに重みを割り当てるための他の方法が、本開示の範囲内で実装され得、企図されることに留意されたい。いくつかの例では、図4、図5、および/または図6に示した技法の2つ以上が、ユーザ/ノードの重みを割り当てる/生成するために組み合わせられ得る。
【００５６】
図7は、ターゲットユーザのための認証および/または信用の証明書が検証を行うユーザによってどのようにして使用され得るかの一例を示すブロック図である。この例では、ターゲットユーザ702は、その認証および信用の証明書Cert-AT704を検証を行うユーザ706に送信した。たとえば、ターゲットユーザ702は、一部のデータを取得しようとするか、または検証を行うユーザ706とのトランザクションを実行しようとしている場合がある。そうでない場合、ターゲットユーザ702は、一部のデータを取得しようとするか、または、認証および/または信用の生成サービスのために検証を行うユーザ706を使用している別のユーザとのトランザクションを実行しようとしている場合がある。
【００５７】
この例では、認証および/または信用の合成証明書Cert-AT704は、ターゲットユーザ証明書Cert、ターゲットユーザ識別子User-A_ID、およびターゲットユーザ公開鍵Pub-Aを含み得る。加えて、合成証明書Cert-AT704は、署名するユーザに関するユーザ識別子/識別情報(たとえば、User-B_ID、User-C_ID、User-D_ID、User-E_ID、User-F_ID、User-G_ID、User-H_ID)、これらのユーザによって署名されたユーザ証明書Certの署名されたバージョン(たとえば、SigPriv-B(Cert)、SigPriv-C(Cert)、SigPriv-D(Cert)、SigPriv-E(Cert)、SigPriv-F(Cert)、SigPriv-G(Cert)、SigPriv-H(Cert))、(場合によっては)(ターゲットユーザ704によって割り当てられた)署名する各ユーザの重み、および署名するユーザの各々に関する公開鍵(たとえば、Pub-B、Pub-C、Pub-D、Pub-E、Pub-F、Pub-G、Pub-H)も含み得る。いくつかの例では、他のユーザによって署名されたユーザ証明書Certのバージョン(たとえば、SigPriv-B(Cert)、SigPriv-C(Cert)、SigPriv-D(Cert)、SigPriv-E(Cert)、SigPriv-F(Cert)、SigPriv-G(Cert)、SigPriv-H(Cert))は、ターゲットユーザ702のスポンサーシップまたは裏書の一形式であると理解されるか、または示唆される。
【００５８】
認証および/または信用の合成証明書Cert-AT704が受信されると、検証を行うユーザ706は、たとえば、ターゲットユーザ702に関連する公開鍵Pub-Aを使用して、合成証明書Cert-ATを認証し得る。また、検証を行うユーザ706は、たとえば、署名するユーザ(たとえば、User-B、User-C、User-D、User-E、User-F、User-G、およびUser-H)に関する公開鍵(たとえば、Pub-B、Pub-C、Pub-D、Pub-E、Pub-F、Pub-G、およびPub-H)を使用して、ユーザ証明書Certの署名されたバージョン(たとえば、SigPriv-B(Cert)、SigPriv-C(Cert)、SigPriv-D(Cert)、SigPriv-E(Cert)、SigPriv-F(Cert)、SigPriv-G(Cert)、SigPriv-H(Cert))のうちの1つまたは複数を認証し得る。検証を行うユーザ706は、ターゲットユーザ702の公開鍵Pub-Aを使用して署名された認証および/または信用の合成証明書SigPriv-A(Cert-AT)716を使用することによってターゲットユーザA702も認証し得る。認証および/または信用の合成証明書Cert-AT714が首尾よく認証された場合、検証を行うユーザ706は、ターゲットユーザ702に関する信用基準712を生成または計算するために進み得る。
【００５９】
いくつかの実装形態では、信用基準(Metric A718)は、ターゲットユーザ702に関する認証および信用の証明書Cert-AT714の署名するユーザ(たとえば、User-B、User-C、User-D、User-E、User-F、User-G、およびUser-H)に関する1つまたは複数の重み(たとえば、Wt-AB、Wt-AC、Wt-AD、Wt-AE、Wt-AF、Wt-AG、Wt-AH)の関数(f)として計算または生成され得る。この関数は、基準(Metric A718)を生成するために1つまたは複数の重み(たとえば、Wt-AB、Wt-AC、Wt-AD、Wt-AE、Wt-AF、Wt-AG、Wt-AH)を組み合わせ得る。
【００６０】
別の実装形態では、検証を行うユーザ706は、認証および信用の証明書(Cert-AT)714に署名した、署名するユーザ(たとえば、User-B、User-C、User-D、User-E、User-F、User-G、およびUser-H)にそれ自体の重み710(たとえば、Wt-AB'、Wt-AC'、Wt-AD'、Wt-AE'、Wt-AF'、Wt-AG'、Wt-AH')を割り当て得る。これにより、検証を行うユーザは、どのユーザがより大きい重みを与えられるべきかをそれ自体で決定すること可能である。次いで、検証を行うユーザ706によって割り当てられた重みが、ターゲットユーザ702に関する信用基準(Metric-A'720)を生成または計算するために使用され得る。
【００６１】
さらに別の実装形態では、重みの複数の組が、ターゲットユーザ702に関する信用基準(Metric-A"722)を生成するために組み合わせ得る。たとえば、ターゲットユーザ、および署名するユーザの検証を行うユーザによって割り当てられた重みが、信用基準を取得するために組み合わせられ得る。別の例では、ターゲットユーザに知られている署名者では、ターゲットユーザによって割り当てられた署名者重みは、ターゲットユーザによって決定されるだけであるが、ターゲットユーザには未知の署名者では、ユーザによって割り当てられた署名者重みは、そのような未知の署名者に関して、既知の署名者によって提供された重みに少なくとも部分的に基づいている。
【００６２】
いくつかの実装形態では、ユーザ証明書のタイムスタンプまたは有効期間インジケータが、1つまたは複数の受信者への配信より前にターゲットユーザデバイスにおいて証明書Cert-ATに添付され得る。
【００６３】
(図8Aおよび図8Bを含む)図8は、1つまたは複数の署名者デバイスによる裏書に基づいて、ソーシャルグラフベースの証明書を生成し、ユーザデバイスの信用基準を計算するための複数のデバイスの動作を示すフロー図である。ユーザ(ユーザデバイス802)は、1つまたは複数の署名者(署名者デバイス804)によって署名され、1つまたは複数の受信者(受信者デバイス806)とともに認証のためにユーザによって使用される証明書を有し得る。さらに、受信者(検証を行う)デバイス806は、以下でより詳細に説明するように、様々な異なる因子に基づいてユーザデバイス802に対する署名者デバイス804に関連する信用基準を計算し得る。
【００６４】
例示のために、図8では、ユーザ証明書Certは、他のユーザに提示すために使用されている。しかしながら、一実装形態では、Pretty Good Privacy(PGP)(極めて良好なプライバシー)と同様の手法を使用し、証明書Certとしてユーザの公開鍵を使用し得る。ユーザの公開鍵は、ユーザの対応する秘密鍵を使用して生成された署名を認証するために使用され得るにすぎないので、秘密鍵を保持する当事者のみが署名を生成し得るとき、この手法にはある程度のセキュリティが存在する。また、ユーザの証明書は、他のユーザから署名を集めるための媒体として使用されているにすぎないので、その値は、証明書が認証され得る限り、無関係であり得る。
【００６５】
ユーザデバイス802は、証明書(Cert)808を生成または取得し得る。たとえば、証明書は、信用できる第三者の証明局から取得され得る。次に、ユーザデバイス802は、ユーザ公開鍵(Pub-U)および対応するユーザ秘密鍵(Priv-U)を含むユーザ公開鍵/秘密鍵ペアを取得または生成し得る(810)。署名者候補は、ユーザデバイスがメンバーである、1つまたは複数のソーシャルネットワークから特定され得る(812)。ソーシャルネットワークは、限定はしないが、Facebook(登録商標)、Linkedin(登録商標)、Flickr(登録商標)、およびBebo(登録商標)を含み得る。署名者候補が特定されると、証明書は、ユーザデバイス802から、署名者候補のうちの1つまたは複数の署名者デバイス804に送信され得る(814)。証明書を受信する各署名者デバイス804は、署名者公開鍵(Pub-S)および対応する署名者秘密鍵(Priv-S)からなる署名者公開鍵/秘密鍵ペアを生成または取得した可能性がある(816)。その署名者秘密鍵(Priv-S)を使用すれば、各署名者デバイスは、証明書(SigPriv-S(Cert))に署名し(818)、署名された証明書(SigPriv-S(Cert))をユーザデバイスに送信し得る(820)。場合によっては、署名者デバイス804は、署名された証明書(SigPriv-S(Cert))に加えて、その公開鍵(Pub-S)またはそのユーザ/デバイス識別子(Signer ID)も送信し得る。
【００６６】
次いで、ユーザデバイス802は、1つまたは複数の署名された証明書(SigPriv-S(Cert)S=1…i)を受信し得る(822)(ここで、S=ユーザデバイスから元の証明書を受信した署名者候補の数)。次に、ユーザデバイス802は、署名者デバイスから受信した署名された証明書(SigPriv-S(Cert)S=1…i)の各々にユーザ重み(WS)を割り当て得る(824)。各署名者に割り当てられたユーザ(署名者)重み(WS)は、限定はしないが、ユーザと署名者がどのようにして知り合ったか、ユーザが署名者をどのくらい長く知っているか、ならびにユーザと署名者との間の交流の履歴およびタイプの状況を含む、(たとえば、ソーシャルネットワーク接続から集められ得る)いくつかの因子によって影響され得る。受信された証明書(SigPriv-S(Cert)S=1…i)は、ユーザ重みを割り当てられた後、ユーザ署名を取得するためにユーザ秘密鍵(Priv-U)を使用してユーザデバイスによって署名(SigPriv-U(SigPriv-S(Cert)S=1…i,Pub-S,Wi))され得る(826)。ユーザ重み(WS)および/または署名者識別子もしくは署名者公開鍵Pub-Sを含む、他の情報は、同様にユーザ鍵(Priv-U)を用いても署名され得ることに留意されたい。
【００６７】
次いで、ユーザデバイス802は、受信者(検証を行う)デバイス806に、元の証明書(Cert)、受信した署名された証明書(SigPriv-S(Cert)s=1…i)、署名者公開鍵(Pub-S)、ユーザによって割り当てられた署名者重み(WS)、および/またはユーザ署名(SigPriv-U(SigPriv-S(Cert)S=1…i,Pub-S,WS))を配信し得る(828)。
【００６８】
場合によっては、受信者デバイス806は、ユーザ公開鍵(Pub-U)および署名者公開鍵(Pub-S)を別個に生成または取得し得る(830)。次に、受信者デバイス806は、ユーザ公開鍵(Pub-U)を使用してユーザ署名(SigPriv-U(SigPriv-S(Cert)S=1…i,Pub-S,WS))を検証/認証し得る(832)。次いで、受信者デバイス806は、署名者公開鍵(Pub-S)を使用して、署名者デバイスによって署名された受信した証明書(SigPriv-S(Cert) S=1…i)の各々を検証し得る(834)。
【００６９】
ユーザ署名(SigPriv-U(SigPriv-S(Cert)S=1…i,Pub-S,WS))およびユーザ証明書の署名されたバージョン(SigPriv-S(Cert)S=1…i)の検証/認証が起こると、受信者デバイス806は、場合によっては、署名された各ユーザ証明書(SigPriv-S(Cert)s=1…i)に、それ自体の受信者によって割り当てられた署名者重み(WR)を割り当て得る(836)。認証(ステップ832および834)が成功すると、受信者デバイス806は、ユーザによって割り当てられた署名者重み(WS)、および/または受信者によって割り当てられた署名者重み(WR)に基づいて信用基準を計算し得る(838)。
【００７０】
例示的なユーザデバイスおよびその中の動作
図9は、一例によるユーザデバイス900のブロック図を示す。ユーザデバイス900は、メモリ/ストレージデバイス904および/または通信インターフェース906に結合された処理回路902(たとえば、1つまたは複数のプロセッサ、処理モジュール、サブ回路など)を含み得る。メモリ/ストレージデバイス904は、公開鍵/秘密鍵914および1つまたは複数の署名された/署名されていない証明書916を記憶するのに役立ち得る。(たとえば、送信機回路および/または受信機回路を含む)通信インターフェース906は、たとえば、ユーザデバイス900がソーシャルネットワークおよび/またはオンラインコミュニティ内の他のデバイスの一部となる、および/またはそれらのデバイスと通信することを可能にするなど、ユーザデバイス900をワイヤレス通信ネットワーク908に通信可能に結合するのに役立ち得る。
【００７１】
1つの特徴によれば、メモリ/ストレージデバイス904は、処理回路902によって実行されたとき、処理回路にソーシャルネットワークベースの証明書を生成させる、1つまたは複数の動作または命令912を記憶し得る。
【００７２】
加えて、処理回路902は、メモリ/ストレージデバイス904に記憶されたこれらの動作/命令を実行し得る。たとえば、処理回路は、
(a)ユーザ公開鍵(Pub-U)および対応するユーザ秘密鍵(Priv-U)を取得し得る、
(b)ユーザ証明書(Cert)(たとえば、Cert=ユーザ公開鍵、または信用できる第三者証明局からのCert)を取得し得る、
(c)1つまたは複数のソーシャルネットワークから署名者候補を特定し得る、および/または
(d)署名者候補にユーザ証明書(Cert)を配信し得る。
ユーザ証明書(Cert)を配信することに応答して、ユーザデバイス900は、
(a)他のユーザからユーザ証明書の1つまたは複数の署名されたバージョンSigPriv-S(Cert)S=1…iを受信し得る、
(b)ユーザ証明書に署名する各ユーザに重み(WS)を割り当て得る、および/または
(c)合成Cert=SigPriv-U(Cert,SigPriv-S(Cert)S=1…i,Pub-S,WS)に署名し得る。
次いで、ユーザデバイス900は、他のパラメータのうち、ユーザCert、ユーザ証明書の1つまたは複数の署名されたバージョンSigPriv-S(Cert)s=1…i、およびユーザによって割り当てられた署名者重みWSを含む合成証明書(たとえば、認証および信用の証明書Cert-AT)を、合成ユーザ署名(SigPriv-U(SigPriv-S(Cert)S=1…i,Pub-S,WS))とともに配信し得る。
【００７３】
別の例によれば、処理回路902は、そのユーザ証明書Certおよび/もしくは(たとえば、ソーシャルネットワークの寄与に基づく)合成ユーザ証明書を生成するように構成された証明書ジェネレータ920、ユーザ証明書が署名のために送信されるソーシャルネットワークから署名者候補を発見/選択するように構成された署名者候補セレクタ922、署名されたユーザ証明書をユーザデバイスに送信するそれらの署名者に重みを割り当てるように構成された署名者重みジェネレータ922、ならびに/または署名者候補から署名されたユーザ証明書を受信する署名された証明書アキュムレータ924を含み得る。これらの回路は、単独で、または処理回路902の他の回路および/もしくはメモリ/ストレージデバイス904から入手可能な情報と組み合わせて、ソーシャルネットワークベースの合成ユーザ証明書(たとえば、認証と信用を組み合わせた証明書)を生成するための機能および/またはステップを実行し得る。
【００７４】
図10は、ソーシャルネットワークベースの信用基準の生成を容易にするための、ユーザデバイスの動作の一例を示す。ユーザデバイスは、ユーザがユーザ公開鍵(Pub-U)および対応するユーザ秘密鍵(Priv-U)に関連付けられる、ユーザデバイスのユーザに関するユーザ証明書を取得し得る(1002)。一例では、ユーザ証明書は、ユーザ公開鍵であり得る。そうでない場合、ユーザ証明書は、信用できる第三者の証明局から取得され得る。次に、ユーザデバイスは、1つまたは複数のソーシャルネットワーク内から、複数の署名者候補を特定し得る(1004)。たとえば、複数の署名者候補は、電子メールおよび/またはユーザのアドレス帳から得られた連絡先から特定され得る。ソーシャルネットワークは、限定はしないが、Facebook(登録商標)、Linkedin(登録商標)、Flickr(登録商標)、およびBebo(登録商標)を含み得る。署名者候補が特定されると、たとえばユーザ公開鍵などのユーザ証明書(Cert)が、ユーザデバイスから特定された複数の署名者候補に送信され得る(1006)。
次に、ユーザデバイスは、複数の署名者候補のうちの少なくとも一部から、ユーザ証明書の1つまたは複数の署名されたバージョン(SigPriv-S(Cert))を受信し得る(1008)。ユーザ証明書Certの署名されたバージョンは、ユーザ証明書を受信した署名者候補に関連する署名者秘密鍵(Priv-S)を用いて署名された可能性がある。ユーザ証明書の署名されたバージョンが受信されると、ユーザデバイスは、証明書の受信した各署名されたバージョンSigPriv-S(Cert) S=1…iにインターフェース固有および/または署名者固有の重みWSを割り当て得る/取得し得るが、署名者重みWSは、ユーザ証明書の受信した各署名されたバージョンに対応する(1010)。インターフェース固有の重みは、ユーザと署名者との間の関係に対応し得る。様々な例では、各署名者に関する署名者重み(たとえば、ユーザによって割り当てられた署名者重み)は、(a)ユーザと署名者との間の信用関係、および/または(b)ソーシャルネットワーク内のユーザと署名者との間の関係距離に比例し得る。署名者固有の重みは、ユーザ(ターゲット)と署名者との間の特定の関係ではなく、特定の署名者に関連し得る。署名者固有の重みは、ユーザのコミュニティまたは信用できる第三者のうちの少なくとも一方によって生成され得る。
【００７５】
次いで、ユーザデバイスは、ユーザ証明書、ユーザ証明書の受信した1つまたは複数の署名されたバージョン、ユーザ証明書の受信した1つまたは複数の署名されたバージョンの少なくともそれらの署名者の識別情報、および/または署名者重みを組み合わせて、合成証明書にすることができる(1012)。
【００７６】
次に、ユーザデバイスは、合成証明書のすべてまたは一部に署名することによってユーザ署名を生成し得る(1014)。一例では、ユーザ署名は、ユーザ証明書の受信した署名されたバージョン、前記署名者用の公開鍵、および/またはユーザ秘密鍵(Priv-U)を使用して重み付けされた、ユーザによって割り当てられた署名者重みW(SigPriv-U(SigPriv-S(Cert)S=1…i,Pub-S,WS))の上にあり得る。
【００７７】
次いで、ユーザデバイスは、合成証明書(たとえば、ユーザ証明書、ユーザ署名SigPriv-U(SigPriv-S(Cert)S=1…i,Pub-S,WS)、ユーザ証明書の1つまたは複数の署名されたバージョンSigPriv-S(Cert)S=1…i、および/またはユーザによって割り当てられた署名者重みWS(および場合によっては他のパラメータ))を1つまたは複数の受信者に配信し得る(1016)。
【００７８】
例示的な署名者デバイスおよびその中の動作
図11は、一例による、署名者デバイス1100の内部構造のブロック図を示す。署名者デバイス1100(たとえば、検証を行うユーザおよび/またはデバイス)は、メモリ/ストレージデバイス1104に結合された処理回路(たとえば、プロセッサ、処理モジュールなど)1102、および通信インターフェース1106を含み得る。(たとえば、送信機回路および/または受信機回路を含む)通信インターフェース1106は、たとえば、署名者デバイス1100がソーシャルネットワークおよび/またはオンラインコミュニティ内の他のデバイスの一部となる、および/またはそれらのデバイスと通信することを可能にするなど、署名者デバイス1100をワイヤレス通信ネットワーク1108に通信可能に結合するように構成され得る。メモリ/ストレージデバイス1104は、受信されたユーザ証明書に署名し(1112)、署名されたユーザ証明書をユーザに返信するための1つまたは複数の動作(命令)を含み得るが、署名されたユーザ証明書は、最終的にソーシャルネットワークベースのユーザの証明書の一部になる。
【００７９】
処理回路1102は、
(a)署名者公開鍵(Pub-S)および対応する署名者秘密鍵(Priv-S)を取得する、
(b)ユーザからユーザ証明書(Cert)を受信する、
(c)署名者秘密鍵Priv-S=SigPriv-S(Cert)を用いてユーザCertに署名する、および/または
(d)ユーザ証明書の署名されたバージョン(SigPriv-S(Cert))および(潜在的に)Pub-Sまたは署名者識別子をユーザに送信するために、
メモリ/ストレージデバイス1104に記憶された動作を実装し得る。
【００８０】
別の例によれば、処理回路1102は、受信されたユーザ証明書を検証/認証するように構成された証明書検証器1120、受信されたユーザ証明書のユーザが署名者デバイス1100に知られていることを(たとえば、直接的ソーシャルリンクまたは間接的ソーシャルリンクのいずれかを通して)検証するように構成されたユーザ検証器1122、および/または受信されたユーザ証明書に署名するように構成された証明書署名器1124を含み得る。これらの回路は、単独で、または処理回路1102の他の回路および/もしくはメモリ/ストレージデバイス1104から入手可能な情報と組み合わせて、ソーシャルネットワークベースのユーザの信用基準の生成を助けるための機能および/またはステップを実行し得る。
【００８１】
図12は、ソーシャルネットワークベースのユーザ証明書の生成を容易にするための、署名者デバイスの動作の一例を示す。受信者デバイスは、署名者秘密鍵(Priv-S)および対応する署名者公開鍵(Pub-S)を生成または取得し得る(1202)。受信者デバイスは、ソーシャルネットワークのユーザに関連するユーザ証明書も受信し得る(1204)。受信者デバイスは、(場合によっては)ユーザ証明書を認証し得る(1206)、および/またはユーザ証明書のユーザとの直接的関係または間接的関係を検証し得る(1208)。そのような認証および/または検証が成功した場合、署名者デバイスは、その秘密鍵(Priv-S)を使用して受信されたユーザ証明書に署名することができ(1210)、署名されたユーザ証明書をユーザに返信する(1212)。
【００８２】
例示的な受信者デバイスおよびその中の動作
図13は、一例による、受信者デバイス1300の内部構造のブロック図を示す。受信者デバイス1300(たとえば、検証を行うユーザおよび/またはデバイス)は、メモリ/ストレージデバイス1304に結合された処理回路(たとえば、プロセッサ、処理モジュールなど)1302、および通信インターフェース1306を含み得る。(たとえば、送信機回路および/または受信機回路を含む)受信者通信インターフェース1306は、たとえば、受信者デバイス1300がソーシャルネットワークおよび/またはオンラインコミュニティ内の他のデバイスの一部となる、および/またはそれらのデバイスと通信することを可能にするなど、受信者デバイス1300をワイヤレス通信ネットワーク1308に通信可能に結合するように構成され得る。メモリ/ストレージデバイス1304は、ソーシャルネットワークベースの証明書を検証し(1312)、ソーシャルネットワークベースの信用基準を生成し(1318)、1つもしくは複数の公開鍵および/または秘密鍵を記憶する(1314)ための1つまたは複数の動作(命令)、ならびに1つまたは複数の証明書(1316)を含み得る。
【００８３】
処理回路1302は、
(a)公開鍵Pub-Uおよび(たとえば、ソーシャルネットワーク内の他のユーザに関連する)Pub-Sを取得する、
(b)合成証明書および(たとえば、他のユーザによって署名されているが、第1のユーザのためのユーザ証明書を含む合成証明書上の)ユーザ署名を受信する、
(c)ユーザ署名SigPriv-U(SigPriv-S(Cert) S=1…i,Pub-S,WS)を検証/認証する、
(d)ユーザ証明書の署名されたバージョンSigPriv-S(Cert)S=1…iを検証/認証する、
(e)場合によっては、ユーザ証明書の署名者に重みWRを割り当てる、および/または
(f)ユーザによって割り当てられた署名者重みWSおよび/または受信者によって割り当てられた署名者重みWRに(少なくとも部分的に)基づいてユーザへの信用基準を生成するために、
メモリ/ストレージデバイス1304に記憶された動作を実装し得る。
【００８４】
別の例によれば、処理回路1302は、ユーザ証明書および/もしくは(たとえば、ソーシャルネットワークの寄与に基づく)合成証明書を検証するように構成された証明書検証器1320、署名されたユーザ証明書を合成証明書に与えたそれらの署名者に重みを割り当てるように構成された署名者重みジェネレータ1322、ならびに/または、第1のユーザによって割り当てられた、その合成ユーザ証明書内のユーザ重みおよび/もしくは受信者デバイスによって割り当てられたユーザ重みに基づいて第1のユーザの信用基準を生成する信用基準ジェネレータ1324を含み得る。これらの回路は、単独で、または処理回路1302の他の回路および/もしくはメモリ/ストレージデバイス1304から入手可能な情報と組み合わせて、ソーシャルネットワークベースの第1のユーザの信用基準を生成するための機能および/またはステップを実行し得る。
【００８５】
図14は、ソーシャルネットワークベースのユーザの信用基準を生成するための、受信者デバイスの動作の一例を示す。受信者デバイスは、ユーザ公開鍵(Pub-U)および署名者公開鍵(Pub-S)を生成または取得し得る(1402)。次に、受信者デバイスは、ユーザ証明書(Cert)、ソーシャルネットワーク内の1つまたは複数の署名者によって署名されたユーザ証明書の1つまたは複数の署名されたバージョンSigPriv-S(Cert)S=1…i、ユーザによって割り当てられた対応するユーザ割当ての署名者重みWS、および/または合成証明書(のすべてまたは一部)上のユーザ署名を含む、合成証明書を受信し得る(1404)。たとえば、ユーザ署名SigPriv-U(SigPriv-S(Cert)S=1…i)は、ユーザ証明書の1つまたは複数の署名されたバージョン(SigPriv-S(Cert)S=1…i)を含み得る。次いで、受信者デバイスは、合成証明書、およびユーザ証明書の1つまたは複数の署名されたバージョンを認証し得る(1406)。たとえば、合成証明書は、ユーザ公開鍵を使用してユーザ署名SigPriv-U(SigPriv-S(Cert)S=1…i)に基づいて認証され得る。同様に、ユーザ証明書の1つまたは複数の署名されたバージョンSigPriv-S(Cert)S=1…iは、対応する署名者公開鍵を使用して認証され得る。
【００８６】
場合によっては、受信者デバイスは、ユーザ証明書の署名された各バージョンに受信者重みを割り当て得るが、受信者によって割り当てられた署名者重みは、ユーザ証明書の署名された各バージョンの署名者に対応する(1408)。認証が成功した場合、ユーザの信用基準は、1つまたは複数の署名者(たとえば、ユーザによって割り当てられた署名者重みおよび/または受信者によって割り当てられた署名者重み)に基づいて計算され得る(1410)。
【００８７】
鍵署名
所与のユーザ証明書が、そのユーザのソーシャルグラフを構成する任意の数の他のユーザ(署名者)によって署名され得る。このシステムでは、ユーザ証明書は、ユーザの信用基準を生成するために、ソーシャルネットワーク内の他のユーザ(署名者)から署名を取得または収集し、そのような署名を他のユーザ(署名者)の対応する重みとともに使用することができるように媒体として使用されることに留意されたい。したがって、証明書自体は、ユーザに一義的に関連付けられる何かであり得る。たとえば、一例では、他のユーザ(署名者)によって署名され得る証明書は、ユーザの公開鍵であり得る(たとえば、公開鍵は、ユーザ証明書として使用されている)。この意味で、ユーザの公開鍵の署名は、Pretty Good Protection(PGP)(極めて良好な保護)システムと同様である。
【００８８】
実用的なシステムでは、署名者がユーザから外し得るレベル数は、ソーシャルグラフのサイズおよび/または構造によって制限される可能性があり、ユーザに対する署名者の重みを割り当てる際に(少なくとも部分的に)役立つ可能性がある。
【００８９】
ユーザと署名者(他のユーザ)との間のリンクに対応する重みは、署名に割り当てられ得る。たとえば、ユーザが署名者に直接リンクされている場合、その署名者により大きい重みが割り当てられ得る。ユーザが異なる署名者に間接的にリンクされているにすぎない場合、その異なる署名者に相応のより小さい重みが割り当てられ得る。これらの割り当てられた重みは、2つのユーザ間の交流が増加または減少するにつれて(たとえば、ソーシャルグラフノード位置の変化に対応しながら)、時間とともに動的に調整され得る(たとえば、時間変動する重み)。
【００９０】
さらに、様々な重みが、鍵の目的に基づいて様々な署名者に適用され得る(たとえば、目的依存の重み)。加えて、様々な重みが、鍵が使用されている目的に基づいて同じ署名者に適用され得る。鍵署名のプロセスは、たとえば、セキュアな通信を使用するか、またはプライバシーに敏感な情報の共有を可能にするために、ユーザによって開始され得る。署名に対するプロンプト/要求が、重み付きソーシャルグラフを使用するシステムによって自動化され得るか、または、ユーザが、選好に基づいてソーシャルグラフ内の他のユーザを選ぶように求められ得る。
【００９１】
目的固有の公開鍵
一態様によれば、ユーザは、複数の様々な目的固有の(たとえば、目的依存の)公開鍵を有し得る。一例では、アリス(Alice)は、彼女の仕事および社会的識別情報に対応する複数の公開鍵を有し得る。そのような場合の署名は、仕事固有のグラフおよび用語の本当の意味でのソーシャルグラフなどの、領域固有の交流グラフの作成によって処理され得る。そうでない場合、署名は、鍵の特定の目的に関連するノード(署名者)を他のノード(署名者)よりも高く重み付けすることによって処理され得る。たとえば、アリスの仕事の識別情報は、彼女の同僚(署名者)からの署名を彼女の友人の署名よりも高く重み付けし得る。重みは、進行中の交流および様々な領域固有のノードまたはグラフの交点に基づいて動的に調整され得、すなわち、アリスが仕事上知っているが、社会的にも交流がある誰かに特定のノード(署名者)が属する場合、特定のノード(署名者)の署名をより低く重み付けすることが意味をなすかもしれない。
【００９２】
受信者ベースの重み付けおよび信用基準
本システムが普遍的に信用できる世界的なPKIに基づかないことを仮定すれば、信用レベルは、署名者と受信者(複数可)の複雑な組合せになる可能性がある。すなわち、たとえば、受信者が第1の署名者をより十分に信用する場合、第2の署名者からの署名よりも第1の署名者からのターゲットユーザの証明書上の署名を信用する可能性がある。他方では、第2の署名者は、ターゲットユーザをより十分に/より良く知っているかもしれない。一態様では、受信者が信用基準を計算するために、2組の重み(すなわち、ユーザによって割り当てられた署名者重みおよび受信者によって割り当てられた署名者重み)が利用され得る。主要オーナー重み(ユーザによって割り当てられた割当者重みとも呼ばれる)および主要受信者重み(受信者によって割り当てられた署名者重みとも呼ばれる)が、所与の証明書署名者(すなわち、ユーザ証明書のバージョンの署名者)に適用して利用でき得る。受信者は、ユーザの信用基準を計算するためにユーザによって割り当てられた署名者重みとは無関係に、またはこれらの署名者重みと併せて、受信者によって割り当てられた署名者重みを適用し得る。
【００９３】
適用範囲
ソーシャルネットワーク上の基本的な認証および暗号化をかなり簡単化した形で容易にすることに加えて、この機構は、完全に未知の設定値において信用基準の推定値を可能にする。たとえば、Linkedin(登録商標)のプロファイルを見る潜在的な雇用者は、彼らによって雇用されるか、または彼らに信用される署名者に本分野における領域エキスパートとして、より高い重み付けを適用する可能性がある。そのような適用例は、人間の交流において一般的に実現可能であるにすぎない電子的対話における信用基準の可能性を広げ得る。重みは、システムまたはアプリケーションに有用な信用基準を動的に得るためにシステムまたはアプリケーションのエンドユーザによって指定され得る調整可能なパラメータとして設計され得る。
【００９４】
図面に示す構成要素、ステップ、特徴および/または機能のうちの1つまたは複数は、単一の構成要素、ステップ、特徴、または機能に再構成および/または結合されてよく、あるいは、いくつかの構成要素、ステップまたは機能で具現化されてもよい。また、本明細書で開示する新規の特徴から逸脱することなく追加の要素、構成要素、ステップ、および/または機能が、同様に追加され得る。図に示す装置、デバイス、および/または構成要素は、図に記載した方法、特徴、またはステップのうちの1つまたは複数を実行するように構成され得る。本明細書で説明する新規のアルゴリズムはまた、ソフトウェアでも効率的に実装され、かつ/またはハードウェアで具現化され得る。
【００９５】
また、実施形態は、フローチャート、流れ図、構造図またはブロック図として示されるプロセスとして説明され得ることに留意されたい。フローチャートは動作を逐次プロセスとして説明し得るが、動作の多くは並行してまたは同時に実行され得る。加えて、動作の順序は並び替えられ得る。プロセスは、その動作が完了したときに終了する。プロセスは、方法、関数、手順、サブルーチン、サブプログラムなどに対応し得る。プロセスが関数に対応するとき、プロセスの終了は、関数呼出しまたはメイン関数に対する関数のリターンに対応する。
【００９６】
さらに、記憶媒体は、読出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイスならびに/または他の機械可読媒体、プロセッサ可読媒体、および/もしくは情報を記憶するためのコンピュータ可読媒体を含む、データを記憶するための1つまたは複数のデバイスを表し得る。「機械可読媒体」、「コンピュータ可読媒体」、および/または「プロセッサ可読媒体」という用語は、ポータブルまたは固定ストレージデバイス、光ストレージデバイス、ならびに命令(複数可)および/またはデータを記憶、含有または搬送することが可能な様々な他の媒体などの非一時的媒体を含むことができるが、これらに限定されない。したがって、本明細書で説明する様々な方法は、「機械可読媒体」、「コンピュータ可読媒体」および/または「プロセッサ可読媒体」に記憶され、1つまたは複数のプロセッサ、機械および/またはデバイスによって実行され得る命令および/またはデータによって、完全にまたは部分的に実装され得る。
【００９７】
さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードで実装されるとき、必要なタスクを実行するプログラムコードまたはコードセグメントは、記憶媒体または他のストレージ(複数可)などの機械可読媒体に記憶され得る。プロセッサは必要なタスクを実行し得る。コードセグメントは、手順、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造もしくはプログラムステートメントの任意の組合せを表し得る。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容をパスおよび/または受信することによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信などを含む、任意の好適な手段を介してパス、転送、または送信され得る。
【００９８】
本明細書で開示する例に関して説明する様々な例示的な論理ブロック、モジュール、回路、要素、および/または構成要素は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理構成要素、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または本明細書で説明する機能を実行するように設計されたそれらの任意の組合せで実装または実行することができる。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティング構成要素の組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、いくつかのマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。
【００９９】
本明細書で開示する例に関して説明する方法またはアルゴリズムは、ハードウェアで、プロセッサによって実行可能なソフトウェアモジュールで、または両方の組合せで、処理ユニット、プログラム命令、または他の指示の形態で直接具現化され得、単一のデバイスに含まれるかまたは複数のデバイスにわたって分散され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体中に常駐し得る。記憶媒体は、プロセッサがその記憶媒体から情報を読み取り、その記憶媒体に情報を書き込むことができるようにプロセッサに結合され得る。代替として、記憶媒体はプロセッサと一体であり得る。
【０１００】
さらに、本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを当業者は諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。
【０１０１】
本明細書で説明する本発明の様々な特徴は、本発明から逸脱することなく様々なシステムで実装され得る。上記の実施形態は例にすぎず、本発明を限定するものと解釈すべきではないことに留意されたい。実施形態の説明は、例示的なものであり、特許請求の範囲を限定するものではない。したがって、本教示は、他のタイプの装置、ならびに多くの代替形態、変更形態、および変形形態に容易に適用され得ることが当業者に明らかであろう。
【符号の説明】
【０１０２】
900  ユーザデバイス
902  処理回路
904  メモリ/ストレージデバイス
906  通信インターフェース
908  ネットワークへ/ネットワークから
912  ソーシャルネットワークベースの証明書生成動作
914  秘密鍵、公開鍵
916  証明書
920  証明書ジェネレータ
922  署名者重みジェネレータ
922  署名者候補セレクタ
924  署名された証明書アキュムレータ
1120  証明書検証器
1122  ユーザ検証器
1124  証明書署名器
1324  信用基準ジェネレータ
【図１】
0005851021.tif 000002
【図２】
0005851021.tif 000003
【図３】
0005851021.tif 000004
【図４】
0005851021.tif 000005
【図５】
0005851021.tif 000006
【図６】
0005851021.tif 000007
【図７】
0005851021.tif 000008
【図８Ａ】
0005851021.tif 000009
【図８Ｂ】
0005851021.tif 000010
【図９】
0005851021.tif 000011
【図１０】
0005851021.tif 000012
【図１１】
0005851021.tif 000013
【図１２】
0005851021.tif 000014
【図１３】
0005851021.tif 000015
【図１４】
0005851021.tif 000016