JP2015536617A - エンティティ・ネットワーク・トランスレーション(ent) - Google Patents

エンティティ・ネットワーク・トランスレーション(ent) Download PDF

Info

Publication number
JP2015536617A
JP2015536617A JP2015541937A JP2015541937A JP2015536617A JP 2015536617 A JP2015536617 A JP 2015536617A JP 2015541937 A JP2015541937 A JP 2015541937A JP 2015541937 A JP2015541937 A JP 2015541937A JP 2015536617 A JP2015536617 A JP 2015536617A
Authority
JP
Japan
Prior art keywords
certificate
signed
policy
root
issued
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015541937A
Other languages
English (en)
Other versions
JP6285454B2 (ja
Inventor
ティモシー モスバーガー、
ティモシー モスバーガー、
Original Assignee
ティモシー モスバーガー、
ティモシー モスバーガー、
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ティモシー モスバーガー、, ティモシー モスバーガー、 filed Critical ティモシー モスバーガー、
Publication of JP2015536617A publication Critical patent/JP2015536617A/ja
Application granted granted Critical
Publication of JP6285454B2 publication Critical patent/JP6285454B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models

Abstract

本発明は、証明書権限および証明書チェーン等の公開—非公開キー技術およびPKI概念を用いて、抽象的アイデンティティを識別し認証するためのエンティティネットワークトランスレーション(ENT)スキームを提供する。ENTは、任意の数の要求元に対し、任意の数の真正、不定、かつ抽象的な識別子を与えることができる。これらの抽象的識別子は各々、ベリニムと呼ばれ、これは「実証された名称」を大まかに意味する。それらによって任意の人またはエンティティは、いかなる目的に対しても、物体の真正アイデンティティを電子的に確立しコントロールすることが可能となり、さらにこれらのアイデンティティ間の関係を確立することが可能となる。いくつかの実施形態によれば、ENTは、抽象的識別子をリクエストするユーザに対して抽象的識別子を発行することにより従来のPKI関係確立問題を回避する。それは、これらの抽象的識別子およびその実社会の重要性を定めるエンティティ間に形成された関係を利用することである。【選択図】

Description

関連出願の相互参照
本出願は、2012年11月9日に出願した「エンティティ・ネットワーク・トランスレーション(ENT)のためのシステム及び方法(System and Methods for Entity Network Translation (ENT)」と題する米国特許仮出願番号第61/724,763号に対する優先権を主張するものであり、その開示全体は、本出願の明細書の一部として参照することにより本明細書に組み込まれる。
本発明は、応用された暗号法に関し、特に、人間、エンティティおよび電子デバイスの抽象的アイデンティティを識別し、認証するためのデジタル証明書に関する。
センシティブかつ/又はコンフィデェンシャルな情報を含むシステムへの安全なアクセスは、周知かつ定着した慣習である。例えば、銀行の顧客は、安全なウェブサイトを介して、自らの銀行口座についての情報にアクセスすることができる。このような安全なアクセスは、一般に公開キーインフラストラクチャ(PKI)によって提供され、この公開キーインフラストラクチャは、システムに安全にアクセスする際に使用するデジタル証明書を作成、管理、分散、記憶および無効にするために必要とされるハードウェア、ソフトウェア、人々、ポリシー、プロシージャの組である。デジタル証明書は、公開キーをアイデンティティと結合するためにデジタル署名を使用する電子的なドキュメントである。公開キー暗号は、ユーザがインターネット等のセキュアでない公衆ネットワーク上で安全に通信し、デジタル署名を介してユーザのアイデンティティを確認することを可能にするPKIと共に用いられる暗号技術である。PKIは、公開キーをエンティティにマッピングするデジタル証明書を作成し、中央リポジトリにこれらの証明書を確実に記憶し、必要に応じてそれらを無効にする。PKIは一般に、デジタル証明書を発行し且つ確認する認証局(CA)と、CAからの情報をリクエストするユーザのアイデンティティを確認する登録局と、インデックスキーを記憶するためのセントラルディレクトリと、証明書管理システムとを含む。
従来のPKIシステムでは、発行した証明書が、アイデンティティに直接結合される情報を含む。例えば、証明書が個人に発行される場合、証明書は、電子的な意味における個人のアイデンティティと概念的に交換可能である。
本発明は、エンティティネットワークトランスレーション(ENT)のための技術を提供する。ENTは、証明書権限および証明書チェーン等の公開―非公開キー技術およびPKI概念を用いて抽象的アイデンティティを識別して認証するためのスキームである。ENTは、任意の数の要求元に対し、任意の数の真正、不定、かつ抽象的な識別子を与えることができる。これらの抽象的識別子は各々、ベリニムと呼ばれ、これは「実証された名称」を大まかに意味する。それらによって任意の人またはエンティティは、いかなる目的に対しても、物体の真正アイデンティティを電子的に確立しコントロールすることが可能となり、さらにこれらのアイデンティティ間の関係を確立することが可能となる。いくつかの実施形態によれば、ENTは、抽象的識別子をリクエストするユーザに対して抽象的識別子を発行することにより、従来のPKI関係確立問題を回避する。それは、これらの抽象的識別子およびその実社会の重要性を定めるエンティティ間に形成された関係を利用することである。
上記のように、従来のPKIシステムにおいては、発行された証明書は、アイデンティティに直接リンクされた情報を含む。例えば証明書が個人に発行された場合、その証明書は、電子的な意味における個人のアイデンティティと概念的に交換可能である。本発明の実施形態によれば、ENTにおいて、この結合は仮定されない。ベリニムがいかなる特定の使用またはコンテキストにもリンクされる、ということは全く仮定されなくてもよい。代わりに、ベリニムは、信頼のおける関係が、任意の目的のために参加者の間に確立され、かつ安定的に維持されることを可能にする。これは、小さなことであるが、現存のPKI解決策との重要な違いである。ENTは、実社会の関係が確立されることを可能にするが、それらが実社会のアイデンティティであることを意味してはいない。関係は、確立のための多くの特定のルールを有することが可能である。銀行は、顧客との関係を確立するために一定の情報を必要とする。ゲームサイトは、他の情報を必要とする可能性がある。ソーシャルネットワークは、さらに異なる基準を有する場合もある。これらの関係の確立のためのプロセスは、問題領域に対して特定的である。しかしながら、本発明の実施形態によれば、ベリニムは抽象的である。
様々な実施形態において、ベリニムの使用は、要求元によって決定される。利用は、個々人に対する例外的なセキュリティを有するオンラインアイデンティティ、コンピュータおよびデバイス、プログラムの識別およびコントロール、会社または個人のグループの識別等を含むことができる。本発明の実施形態によれば、ENTは、領域に固有の技術を必要とすることなく、その能力を通じて、これらの問題領域の全てに亘って使用され得る価値、又はそれ以上の価値を提供することが出来る。ENTは、標準化された包括的なソリューションを用いて、これらの領域に特有のソリューションの多くを減少させ、または除去することができる。さらに、ENTは、問題領域に亘る包括的なENTインタフェースおよび機構を用いて、情報、アクセス、コマンドおよびコントロール等の共有を可能にすることも出来る。これにより、それが人間、会社、コンピュータプログラム、デバイス、人口知能等のいずれであるかに拘わらず、電子的に接続または相互作用する全てのものを識別することが可能になる。
本発明の一実施形態では、人間、エンティティまたは電子デバイスのための一意識別子を作成するための方法であって、前記方法は、1より大きい数(N)のルートサーバを含むグループ権限構造内で実現され、第1のルートサーバにおいて、要求元から一意識別子に対するリクエストを受け取るステップと、前記第1のルートサーバにおいて、一意識別子とポリシーと含む第1の証明書を発行するステップであって、前記ポリシーは、1個またはそれ以上の他の一意識別子を含み、該ポリシー内の他の識別子の数が1より大きい場合には少なくとも1個のブール演算子または数学関数をさらに含むステップと、前記第1のルートサーバにおいて、該第1のルートサーバに関連付けられた公開/非公開キー対のうちの非公開キーを用いて、前記発行した第1の証明書に署名するステップと、前記第1のルートサーバから他の前記ルートサーバのそれぞれに対して、前記署名した発行済み第1の証明書を送信するステップと、他の前記ルートサーバのそれぞれにおいて、前記署名した発行済み第1の証明書の抽象的一意識別子を検証するステップと、他の前記ルートサーバのそれぞれにおいて、前記一意識別子及び前記ポリシーを含む追加の証明書を発行するステップと、他の前記ルートサーバのそれぞれにおいて、前記それぞれの他のルートサーバに関連付けられた公開/非公開キー対のうちの非公開キーを用いて、前記発行済み追加証明書に署名するステップと、データレポジトリにおいて、前記要求元に対する前記署名した発行済み第1の証明書及び前記署名した発行済み追加証明書を記憶するステップとを備える。Nは奇数であり、各ルートサーバは、他の全てのルートサーバから独立して署名し動作する。2個のルートコンピュータサーバは、2個の異なる要求元に対して同一の抽象的な一意識別子を発行することはできない。各ルートサーバは、排他的な範囲の一意識別子を発行することを許可されている。前記要求元に対する前記署名した発行済み第1の証明書および前記署名した発行済み追加証明書は、前記要求元のいかなる説明または識別も含まない。前記抽象的一意識別子は、多数(X)の前記署名した発行済み第1の証明書および前記署名した発行済み追加証明書が有効である時に有効であるとみなされ、X=N/2+1である。前記リクエストは、前記ポリシーをさらに含む。前記方法は、前記ルートサーバにおいて、前記第1の発行済み証明書内の前記一意識別子の更新のための更新リクエストを受け取るステップであって、前記更新リクエストは、非公開キーを用いて前記他の一意識別子に関連する人、エンティティまたは電子デバイスのそれぞれによって署名されるステップと、各ルートサーバにおいて、前記第1の発行済み証明書内の前記ポリシーの実行を介して前記更新リクエストを検証するステップと、各ルートサーバにおいて、前記第1の発行済み証明書を交換するための交換証明書を発行するステップと、各ルートサーバにおいて、該それぞれのルートサーバに関連付けられた公開/非公開キー対のうちの非公開キーを用いて前記交換証明書に署名するステップと、データレポジトリにおいて、前記署名した発行済み交換証明書を記憶するステップとをさらに備える。前記グループ権限は、前記ポリシーの実施を自動化する。前記第1の発行済み証明書は、公開キーまたは前記要求元に関連する公開キーの識別を備える。前記ポリシーは、前記一意識別子を交換孔または更新するためのポリシーを含む。前記ポリシーは、前記一意識別子を認証するためのポリシーを含む。
本発明の他の実施形態では、人間、エンティティまたは電子デバイスのための一意識別子を作成するための方法であって、前記方法は、サーバ上で実現され、前記サーバにおいて、要求元から一意識別子に対するリクエストを受け取るステップと、前記サーバにおいて、一意識別子とポリシーと含む第1の証明書を発行するステップであって、前記ポリシーは、1個またはそれ以上の他の一意識別子を含み、該ポリシー内の他の識別子の数が1より大きい場合には少なくとも1個のブール演算子または数学関数とを含むステップと、前記サーバにおいて、該サーバに関連付けられた公開/非公開キー対のうちの非公開キーを用いて、前記発行した第1の証明書に署名するステップと、データレポジトリにおいて、前記署名した発行済み第1の証明書を記憶するステップとを備える。前記署名した発行済み第1の証明書は、前記要求元のいかなる説明または識別も含まない。前記リクエストは、前記ポリシーをさらに含む。
本発明の前記の、ならびに他の特徴および利点は、本発明の好ましい実施形態、添付図面および請求の範囲の以下のより特定的な説明から明らかになるであろう。
本発明、並びに、その目的および利点をより完璧に理解するために、以下で簡単に述べる添付図面と関連付けて、後続の説明を参照する。
本発明の一実施形態によるエンティティおよびエンティティ間の関係を示す。
本発明の一実施形態による自己署名および相互署名証明書を作成するためのプロセスを示す。
本発明の他の実施形態による自己署名および相互署名証明書を作成するためのプロセスを示す。
本発明の一実施形態によるエンティティにアクセスする可能性のある初期の認可グループおよび非認可グループを示す。
本発明の一実施形態による証明書を置換するためのプロセスを示す。
図5.1のプロセスにおいて利用される証明書間の関係を示す。
本発明の実施形態による自己署名および相互署名の証明書を示す。
本発明の実施形態による証明書間の関係を示す。
本発明の実施形態によるエンティティの関係を示す。
本発明の他の実施形態による自己署名および相互署名の証明書を示す。
本発明の他の実施形態による認可グループの相互署名文書を示す。
本発明の他の実施形態による置換認可グループの相互署名文書を示す。
本発明の他の実施形態による、文書を後の文書と置換するために使用する代数学を含む文書を示す。
本発明の一実施形態による、証明書を作成するためのプロセスを示す。
本発明の一実施形態によるエンティティのグループを示す。
本発明の一実施形態によるJSON信任状の例を示す。
本発明の一実施形態による証明書を作成するためのプロセスを示す。
本発明の他の実施形態による、ピア署名者を利用する証明書に対する置換リクエストを示す。
本発明の他の実施形態による、記憶装置内の証明書の、より大きい通し番号を有する他の証明書との置換を示す。
本発明の他の実施形態による、記憶装置内の証明書の、より大きい通し番号を有する他の証明書との置換を示す。
様々な他のシステムにアクセスするためにENTシステムを使用し得るユーザアクセスターミナルを含む、一実施形態によるエンティティ・ネットワーク・トランスレーション(ENT)システムのブロック図である。
本発明の好ましい実施形態およびその利点は、図1ないし図20を参照して理解することが可能であり、同じ参照符号は同じエレメントを示す。様々な実施形態は、エンティティ・ネットワーク・トランスレーション(ENT)のためのシステムおよび方法を提供する。実施形態によれば、ENTはPKIシステムである。これは、非公開/公開キーと、中央権限と、証明書と、証明書チェイニングとを利用する。ENTはまた、当業者にとってはその実務が直ちに明らかな、現存の技術インフラ、並びに、トランスポート・レイヤー・セキュリティ(TLS)やX.509のような暗号プロトコル及び規格を活用するように設計されている。これによって、(大抵の場合)現存のシステムを直接変更することなくENTをそのシステム内で利用することが可能になる。ENTがこれらの現存の技術を利用することは必要条件ではないが、有益であり得る。
実施形態によるENTは、典型的なPKIシステムではない。それは、全ての基本PKIアクティビティの強力な自動化により、例外的なスケーラビリティ、耐性および監査を提供できるように設計されている。実質的なリサーチおよび開発が、これらの目的を達成することに費やされた。より形式的には、実施形態によるENTの目的は以下の通りである:
1.ベリニム(verinym)の「キャノピー」を作成する。ENTは、これらのアイデンティティが、任意の目的のために、第三者間で安全かつ認証された通信のために使用され得ることを確実にすることができる。各々が一つまたはそれ以上のベリニムを所有する全ての第三者の組が、キャノピーを構成する。
2.いずれかの既存の製品PKIシステムと同等以上の極めて強力な暗号およびPKIサービスを提供する。ENTは、これらのサービスを分配方式で提供可能であり、システム内のベリニムの一意性を損なうことなく、システムの信頼性および安定性に悪影響を及ぼす可能性のある停止、トランクセキュリティの損失、および他の深刻なイベントを許容する。
3.各ベリニムの直接コントロールを所有者に委託し、いかなる目的のための使用も許可する。一旦ベリニムを作成すると、ENTシステムはもはや、アイデンティティ所有者による暗号の「所有権の証明」が伴わなければならない所与のベリニムとの関連の定期的更新以外のベリニムの利用に対するコントロールを有しない。
4.これらのサービスを冗長に、しかも出来るだけ安く提供する。現存するほとんどのPKIシステムは、そのコアにおいて1個のルート証明書を有する階層的署名機構に依存する。この単一障害点は、欠陥が破局的となることから、莫大な費用のPKIシステムを生み出す。人材および実環境プロセスを必要とするシステムを通じて、さらなる費用がかかる。ENTは、技術革新を通じて、安全性を低減することなく、コストの削減を可能にする。実際、多くのディメンションにおいては、ENTは、かなりコストを削減した既存の設計よりも実質上安全である。ENTが既存のPKIシステムほど安全でないディメンションは存在しない。
5.ユーザに意識させることなく動作し、ユーザおよび監査人による正常で信頼のおけるチェックを可能にする。これは、システムセキュリティ欠陥、バックドアおよび他の信頼のおけない動きが隠れていられなくなることを確実にする。
6.ベリニムの利用が、デフォルト設定で、抽象的かつ匿名であることを確実にする。プライベートなシステムは、プライベートでないシステムを構築するために利用され得る。その逆は真実ではない。
PKI定義:
証明書は、公開/非公開キーペア(PPK)に対応する公開キー、および、いくつかの付加的な任意情報を含む、暗号で署名されたメッセージであり、場合によっては、異なるPPKに対応する非公開キーによる署名である。その証明書の「ターゲット」は、そのPPK、または、その証明書内の非公開キーの所有者である。「署名者」は、そのPPK、または、その証明書に署名するために使用する非公開キーの所有者である。
PPKの非公開部分がその証明書に署名するために用いられた場合、証明書は「署名された」とみなされる。さらなる明確性のために、証明書の「ターゲット」は、PPK、または、非公開キーが証明書内に存在するPPKの所有者として定義される。その証明書内に見出される公開キーがPPKの公開部分であり、その証明書の署名がそのPPKの整合非公開部分である場合、証明書は「自己署名された」とみなされる。
その証明書に見出される公開キーがPPKの公開部分であり、その証明書の署名がそのPPKの整合非公開部分を用いて作成されたものである場合、証明書は「自己署名された」ものとみなされる。
ここで参照するように、PPKが行動を遂行することは、証明書がPPKの公開部分を含むこととして参照される。その理由は、両方が同じ所有者に関するものだからである。例えば、証明書AがPPK Pのための公開キーを含む場合、「Aが証明書Bに署名した場合」等の文は、PがBに署名する、として読まれるべきである。その理由は、非公開キーは、PPK所有者による行動を遂行するために使用される装置であるからである。Pの公開キー部分はA内に存在するので、このチェイニングおよび関連付けは論理的であり、より容易に読み出される。
さらにここで参照されるように、「ターゲット」の動詞形態は、その「ターゲット化」の主題エンティティまたはPPKが、対象となった証明書内にその公開キーを有することを示す。例えば、証明書AがPPK Pを含み、証明書BがPPK Qを含む場合、Aに対応するPPK(この場合P)がQの公開キー部分を含むいずれかの証明書に署名したのであれば、「AはBをターゲットとする」ことになる。Bを「ターゲットとする」ものは、Qの公開部分を含む証明書に署名した任意のPPKとなる。「AがBをターゲットとする」および「BがAによってターゲットにされる」は、同じ意味を表す。
非対称暗号法は、その識別および実装が当業者にとって明らかであるECC、RSA等の技術を含む一方、ゼロ知識証明機構も含む。これらの場合、署名は不可能であるが、秘密の所有権を証明するトランザクションは可能である。したがって我々は、署名、トランザクションを介して、または他の機構により、信頼性を証明することが可能ないずれかの技術として、我々の目的のための非対称暗号法について考えることが出来る。これらの技術の機構は、本開示の範囲を超越しており、当業者によって容易に理解される。
グループコマンドおよびコントロール:
従来のPKIシステムには、周知のように、証明書を発行し、証明書関連のタスクを実施する認証局(CA)と呼ばれるセントラルサーバがある。このセントラルサーバは、CAを表すPPKを含む。このPPK暗号プリミティブは、証明書、失効または更新に署名し、発行するために用いられる。CAまたはCAのPPKが不正にアクセスされると、PKIシステム全体が不正にアクセスされることになる。ENTにおいてCAの同等物を実装の具体的な実施形態を分析する前に、グループコマンドおよびコントロールと呼ばれる新規な技術の概念化について述べる。
グループコマンドおよびコントロールは、メンバのグループとして定義され、その各々は、1個のキーまたは単一障害点に限定されることなくコマンドを発行し、グループのビジネスを処理する1個の概念エンティティを形成するPPKをコントロールする。グループは、概念的エンティティの情報漏洩なしに閾値までの損害を被る可能性があり、グループメンバを置換可能にすることにより、堅牢な長期間安定性を可能にする。多数のグループメンバがそれぞれ異なるセキュリティプロトコルおよびプロセスと共にPPKを使用するシステムをサポートすることにより、破局的失敗のリスクはさらに減じられる。グループメンバの例は、1人の所有者、グループとして行動する多数のユーザ、またはユーザのグループのグループ等のようなより抽象的な概念を有する多数の装置であってもよい。
この概念の1つの価値は、ノードのグループが1個のエンティティとして作用することが可能となる固有のシステム内における、多数のPPKの利用を介してPPKのコントロールが失われることに起因する損害の低減である。たとえある一定のプリミティブが不正アクセスされるか、または失われたとしても、損害を防止することが可能となる。様々な暗号プリミティブから成る不均一システムを利用することにより、リスクをさらに低減することが可能になる。例えば、あるノードは、RSA暗号化プロセスを利用可能である。他のノードは、DSAを利用可能である。他のノードは、楕円曲線を利用可能である。使用される異種プロセスの上限は、グループ内のノード数の上限である。
図1を参照して、より詳細に説明する。仮想エンティティを表すGと呼ばれるN個のメンバノードを有するグループを定義する。この仮想エンティティはそれ自体の識別子を有することが可能であるか、またはその識別子は、例えば、そのメンバノード名の全てを順序付け、その値をハッシュし、そのハッシュを識別子として利用すること、などのような、そのメンバの照合であり得る。エンティティGがコマンドおよびコントロールを実施することを可能にする全ての装置またな外部関係者から成るグループWを定義する。このコントロールは、データへのアクセス、コードの実行またはWのメンバがGを認証したいと思う他のいかなるアクションともなり得る。すなわち、Wのメンバは、グループGに対するアクションを可能にし、他のいずれかのグループに対するアクションを防止することを望む。Gのx番目のメンバとして、ノードMxを定義する。Mxノードは、グループGの目的を達成するために、PPKを行使する。XをW内のユーザとして定義する。1つの実装では、Nは常に奇数である。これは、もしアタッカがちょうどN/2個のノードを占拠し、かつ、Nが偶数であった場合におき得るシステムのデッドロックを、アタッカが引き起こすことを妨げる。
一実施形態では、1個のMxノードに「タイ・ブレーカ」権限が与えられる。この場合、偶数個のノードが許可される。もし、Nが偶数であってアタッカがN/2個のノードを占拠した場合、タイ・ブレーカノードはデッドロックを防止する。タイ・ブレーカMxノードは、常に同じノードであってもよいか、またはGのメンバに依って変化してもよい。例えば、Gの最も古いメンバは、Gに対するタイ・ブレーカとなり得る。代わりに、Gの最も新しいメンバには、タイ・ブレーカステータスを与えることが可能である。他の実施形態により、実装は変化可能である。
図1を続けて参照すると、いくつかの実施形態においては、Gは技術として非対称暗号法を使用する。例えばX509のような、PKIが組み立てる1つの実装においては、証明書が使用可能である。いくつかの実施形態は、その実装が当業者にとって明らかなジャバスクリプト・オブジェクト・ノーテーション(JSON)または拡張可能マークアップ言語(XML)フォーマット等のより現代的なデータ交換フォーマットを利用することも可能であるが、それに限定されない。
1つの実装においては、図2に示すように、以下のステップが行われる。(1)各Mxが、非対象暗号プリミティブを用いて、非公開キーと、(前記キーを有する)自己署名証明書MxSxとを作成する。(2)各Mx署名が、互いにMyの証明書に署名する。これらの証明書の1個をMxSyとして定義する。例えば、Nが3である場合、M1はM2およびM3の証明書に署名し(M1S2およびM1S3を作成し)、M2はM2S3およびM2S1を作成し、M3は証明書M3S1およびM3S2を作成する。N=3に対しては、G(ステップ2)に対して、3つの自己署名証明書(ステップ1)および6つの相互署名証明書が存在することになる。(3)GCを、全てのMxノードに対して、それぞれの自己署名MxSxを含むステップ2からの証明書の全体集合として定義する。したがって、サイズNの任意のGに対して、N個の自己署名証明書、N個のノード、および(N−1)*(N−1)個の相互署名が存在し、GCの組において合計N*N個の証明書をもたらすことになる。
1つの実装においては、各Mxは「ラウンドロビン」プロセスを使用するN−1個の証明書の代わりに、ちょうどN/2個の(切り捨てられた)証明書に署名する。この場合、M1が常にM2等の「前」になるように、確定的なオーダプロセスを用いてMxにより作成された全ての証明書をリストL内に順序付ける。この組はGCを含む。Mxによって署名されたN/2個の証明書は、次により大きいN/2個の(切り上げられた)証明書である。この計算が、リストの最後を通過して拡張された場合、該計算は、Lにこれ以上の証明書が存在しない時、リストの最初で継続するべきである。例えば、N=4に対して、M1は、M2およびM3に対する証明書に署名し、M4は、M1およびM2に対する証明書に署名する。M3は、M4およびM1に対する証明書に署名する。この組は、GCを含む。図3は、N=7の場合における、そのようなラウンドロビン署名技術の一例を示す。
1つの実装において、各MxはN−1個の証明書に署名する。すなわち、各Mxは互いに一意のMyをターゲットとするN−1個の証明書を作成する。1つの実装において、G内の各Mxは、異なる非対称暗号プロセスを使用することが可能である。例えば、Nが3である場合、1個のノードはRSAキーペアを使用可能であり、もう1個はDSAキーペアを使用可能であり、残り1個は楕円曲線暗号法を使用可能である。1つの実装においては、各Mxは、自己署名済み証明書を作成する代わりに、CAにより署名された証明書を使用する。これらの実装の全てにおいて、GCは、G内の任意のMxSxに対してN/2個よりも多い署名済み証明書が存在するように、自己署名した、または相互署名した証明書のリストから構成される。すなわち、各ノードMxに対して、Mxにより使用されるPPKを含むN/2+1個の署名済み証明書が常に存在する。そうすることでGCは、Gと相互作用する際に、Xによる使用のために分析され得ることになる。
Xは、GCの最初のローカルコピーを与えられなければならない。Xがいずれかのアクションを実施可能になる前に、ローカルストア内にGCを有することが重要である。Xの記憶済み証明書Tの組を呼び出す。ローカルストアまたはコピーは、データを含むRAMまたはディスクメモリ等のコンピュータメモリの一部である。この場合、その記憶装置はTを含む。
図4を参照すると、1つの実装において、初めにGがXからのサービスをリクエストしたとき、XはGCを受け取る。この時、Xは、サービス初期化の一部としてGCをリクエスト可能であった。初期化時点では、T=GCである。すなわち、信頼のおけるストアは、正確にGCを含む。GCの前バージョンが存在せず、XがGの事前知識を有さないので、初期通信上でGCからXへの通過は安全である。Xと通信する他のG′グループに対して、Xは別のT′を記憶する。T′は、G′に対する一意の識別子と同等であることに注目されたい。これは、アタッカにより初期通信ラウンドにおけるGCが汚染されることを防止する。アタッカがXに対して変更されたT′を提示する場合、GとT′がミスマッチとなる。Xは、Gの代わりにG′に対抗するT′を記録するだろう。その後にGがTを提示した場合、XはG′をGと混同せず、T′をTと混同しないだろう。Xは、Gがコンタクトする際にはTを使用し、アタッカがコンタクトする際にはT′を使用するだろう。
過半数を、N/2よりも大きいカウント、切り上げとして定義する。または、タイブレーカが存在するケースでは、上記カウントはN/2以上であり、タイブレーカはカウントの一部となる。したがって、N=3に対して、過半数は2となる。Nが35である場合、過半数は18となる。
ALGO1と呼ばれる特定の実装について、図5.1および図5.2を参照して以下で述べる。この実装では、Xは以下の方法により、Tが首尾一貫していることを確認できる。
1)Xは、まず、Tにおける全ての有効な証明書から構成される集合TVを計算する。Tにおける有効な証明書とは、
a)自己署名済み証明書(MxSx)であり、または
b)自己署名済み証明書がT内にあるT内のMx(MxSy)によって相互署名済みであり、および、
c)例えば満了、以前は妥当でなかった、フォーマット等、他の証明書有効性ルールを満たす
証明書である。
2)一意の公開キーを含むTV内の全てのMxSx証明書の集合TSSを定義する。
3)TSS内のいずれかの証明書によって署名されたTV内の全ての証明書を含む集合TV′を定義する。すなわち、TV′は、MxSxがTSS内にある任意のMxSyを含む。
4)空集合TV″を作成する。
5)TSS内の各証明書yに対して、以下を実施する。
a)TV′内の全てのMxSyのカウントがTSS内で見つかった証明書の過半数である場合、TV′内の全ての証明書MySxをTV″に追加する。これは、全てのMySy(自己署名済み)証明書を含むべきである。他のMxノードのうちの過半数の署名を有さないMyは、このステップのため、TV″に加えられない。
6)TV″内の全ての自己署名済み証明書を含む集合TSS′を作成する。
7)TSS′内のいずれかの証明書によって署名されたTV″内で見つかった全ての証明書を含む集合GTを作成する。GTに加えられた証明書は、TSS´に存在しないMxノードをターゲットとする証明書を含まない。
8)XはTをGTと置換する。
典型的な実装において、最初はT=GC=GTである。
実際、T内の有効なMxSxを有するノードによって署名されたT内の任意の有効証明書MxSpは、ノードpがT内にMpSpを有しない場合には、破棄されないであろう。その証明書は、以下で述べるALG02と共に後で使用するために取っておく。要点は、MxSxが信頼され、xによって署名された証明書もまた信頼されているが、使用されていないということである。
ALGO1のステップ8は、XがTから証明書を切り取ることを許可することに注目されたい。すなわち、G内の過半数のノードの信頼を有さないノードが署名した証明書は、Tから破棄される。また、ALGO1はTを変化させることに注目されたい。これは、T入力を必要とし、出力として置換Tを生成する。いずれかのT上で繰り返し動作する場合、ALGO1は、一度反復した後、不変状態に到達する。すなわち、ALGO1がTを入力として処理し、GTを出力として生成する場合、GT上におけるALGO1の任意の将来の反復によって、GTが完全に生成される。ALGO1は、冪等元である。
ノードのいくつかの集合に対して、N/2個以下の相互ターゲット化証明書が存在する場合、ALGO1が空のTを生成可能であることに注目されたい。Xに渡された最初のGCが証明書の適切な集合を含むことが極めて重大である。1つの実装において、これは、G内のノードに対するただ1つの自己署名済み証明書を含むようにGCを設定し、その後、ALG02およびALG03(以下で議論する)を用いてTを「成長させる」ことによって達成可能となる。
1つの実装において、T内の有効な証明書は、「満了」時間値を含む証明書であり、現在の日時(ALGO1が動作する際に計算される)がその時間値を過ぎていないものである。過去の「満了」時間値を有する証明書は、無効であるとみなされる。
1つの実装において、T内の有効な証明書は、「以降有効」の時間値を含む証明書を含む証明書であり、現在の日時(ALGO1が動作する際に計算される)がその時間値を過ぎているものである。将来の「以降有効」の時間値を有する証明書は、無効であるとみなされる。
ノードをGに追加する:1つの実装においては、G内のノードは、以下の機構を用いて証明書を作成することにより、Gに対して追加のノードを作成し追加することができる。これらのノードは、その後、ALGO2を使用し得るWのメンバに対し、その信頼のおけるストアを更新するために送られ得る。
図6を参照して、ALGO3と呼ばれる他のプロセスについて述べる。この実装においては、ALGO3は以下を含む。
1)新たなノードMpが非公開キーと、非対称暗号プリミティブを用いる自己署名済み証明書(MpSp)とを作成する。
2)G内の各ノードMxが、MxSp証明書を作成する。
3)Mpが、G内の他のノードのそれぞれに対するMpSx証明書を作成する。
4)ステップ1、2および3の結果から構成される集合INを定義する。INは、(N*2+1)個の証明書を含む。
1つの実装において、集合INは、1個またはそれ以上の新たなノードによって作成された証明書を含むことができる。また、アタッカによって送られるIN証明書集合が、適切な証明書に加えて、任意の他の不正確な証明書を含む可能性もあることに注目されたい。
1つの実装においては、Mp個のノードは、常に対で作成される。すなわち、2Mp個のノードが常にALG03内で作成される。これは、Nが奇数である必要があるときに極めて重大となる。タイブレーカが存在し、Nが偶数である場合には、必要ではない。
1つの実装においては、Xは、証明書を追加することによって新たなTを作成することが可能である。これは、より多くのノードを含むか、または、有効性のためにもはやT内に存在しないノードを置き換えるために、XがGを安全に再定義することを可能にすることから、望ましいものであり得る。Xは、証明書INの集合を受け取る。以下のALG02によって、我々は、INのどの部分がTに追加されるべきかを計算することが可能になる。このプロセスによって、我々は、(アタッカによって送られた)不正確な証明書を、その証明書が我々の信頼のおけるストアTに入る前に排除することが可能になる。
図7を参照して、ALGO2と呼ばれる他のプロセスについて述べる。本十実装においては、ALGO2は以下を含む。
1)IN内にMxSx証明書の集合SSを作成する。これは、Tへのエントリを入念に検査されているIn内の全ての自己署名済み証明書の集合である。
2)SS内の各MySy証明書に対して(yは入念に検査されるべきノードである)、
a)T内のいずれかのMxSxによって署名されたTまたはIN内の全ての証明書の集団T′を作成する。T内のMxSxは信頼性があるため、T′は、TまたはINに存在する信頼のおけるノードによって署名された全ての証明書を含む。
b)T′内の全てのMxSyの集団VTを作成する。VTは、yをターゲットとする全ての信頼性ある証明書の集団である。
c)ALGO1のステップ1で設立されたものと同様の有効性ルールを用いてVT内の各証明書の有効性をチェックし、VTから無効証明書を破棄する。
d)VT内で任意のMxSyに署名を行ったT内のMxSxの数の合計がT内の全てのMxSxの過半数でない場合、SS内の次のMySyに対して、ステップ2を繰り返す。この場合、yは、適切に検査されなかった。信頼性のおけるノードの過半数は、yを保証する証明書を作成しなかった。
e)IN内の全てのMySx証明書の集合VCを作成する(この場合、xはT内のMxSxによって表されるノードである)。これは、yによって署名され、T内の信頼性あるノードをターゲットとする全ての証明書の集合である。
f)VC内の証明書の合計がT内の全てのMxSxの過半数である場合、MySyおよびVC内の全ての証明書をT′に追加する。入念に検査されたノードyがT内の信頼性あるノードの過半数を保証した場合、信頼性ある集合T′に、T′内の信頼性あるノードをターゲットとするyの全ての証明書とともに、yの自己署名済み証明書を追加する。
g)TをT′と置換する。
3)T上でALGO1を実施する。
ALGO2は、Xに対して既知であるように、G内のノードの数が変化することを許容する。その理由は、Tはそれらの新たなノードに対する証明書を含むからである。
ノードをGから除去する:ノードをGに追加可能であることに加えて、Gからノードを除去できることもまた有益である。1つの実装において、G内のノードは、以下の方法でGからノードMpを除去できる。失効証明書を、失効のターゲット(Mp)と、G内のノード(Mx)による署名と、失効値とを含む証明書として定義する。1つの実装においては、失効値は、「無効」と呼ばれる証明書の値フィールドである。失効値は、X並びにGおよびWのメンバがその証明書のターゲットが無効であること意味することを理解する何らかの値であればよい。有効な失効証明書は、Mxに対する有効な署名を有するものである。
ALG04と呼ばれる他のプロセスについて述べる。この実装においては、ALGO4は以下を含む。
1)Mpをターゲットとする全てのMxによって作成された失効証明書の集合GRを作成する。MxおよびターゲットであるMpによって作成されたGR内の任意の証明書としてMxRpを定義する。
2)GRはX(および一般的にはW)に分配される。
1つの実装において、Xは証明書ストアTR内に、そのような全ての失効証明書を記憶する。
1つの実装において、T内の有効証明書は、TR内に証明書MxRpが存在しない証明書MxMpである。すなわち、本実装は、TR内の有効MxRpの存在がT内のいくつかのMxSpを無効にするように、ALGO1のステップ1を修正する。TR内に証明書MxRpが存在し、T内に証明書MxSpが存在する場合、T内のMxSpはもはや有効ではない。好ましい実装では、失効証明書GRの集合を受け取ったことに応じて、XがGRをTRに追加し、ALGO1を実施する。好ましい実装においては、Xは、T内のMxSxによって署名されたGRからの証明書を、TRに追加するのみである。
1つの実装においては、失効証明書MyRyは(ここではMyノードがそれ自体を無効にする)、Myによって署名された全ての証明書が、そのMySy証明書を含むことから、無効であると考えられるべきである。これは、ノードが自身を無効にすることを可能にする。1つの実装においては、これは、MxノードがMxRy失効証明書を作成することを除外するべきでない。
1つの実装においては、各MxがCAによって署名された証明書を使用し、そのCAがMxに対する失効証明書を発行する場合、Xは、Mxによって署名された各証明書を無効にし、このような証明書を全てTから除去することができる。この場合、Xは、TR内にCAの失効証明書を記憶するべきである。本実装は他の有効性条件をALGO1のステップ1に追加することに注目されたい。例えば、図8は、M1が証明書M1R2を介してM2を無効にした際の証明書間の関係のマップを示す。
Gを用いて作業を実施する:Gは今や、認証された方法でXからサービスをリクエストすることができる。GがXを用いてアクションAを実施することを望んでいると仮定する。Aは、XがGに対して認証することを望むアクションである。すなわち、Aを実施するために、Xは、アクションが達成されることをグループGが望むということについての有効な認証を必要とする。
1つの実装においては、AxがアクションAを権威付けるMxによって署名されたメッセージとなるように、Axを定義する。全てのAxメッセージから構成される集合AGを定義する。この場合、各Axは、対応する一意のMxによって署名される。例えば、M1はA1に署名し、M2はA2に署名する、等である。
1つの実装においては、MxノードMInitは、G内の他の全てのMxノードから署名を照合することによってXとの通信を開始し、管理する。
ALGO4と呼ばれる他のプロセスについて述べる。1つの実装においては、Xは、Gが以下の方法でAを実施するように権限を与えることができる。
1)Xが、MInitからAGをリクエストする。
2)MInitが、その非公開キーを用いてAxに署名し、AをG内の他の全てのMxに送る。
3)各Mxの1個またはそれ以上がAxを作成し、これらの値をMInitに返す。
4)MInitは今やAGを保持している。AGは、N個以下の署名済みメッセージを含み、各々は一意のMxからのものである。
5)MInitが、AGをXに送る。
6)Xが、各Axを有効にし、コマンドが有効であり、署名が有効であり、且つAxに署名するMxがT内に存在することを確実にする。
7)Xが、一意なMxノードからの有効なAxメッセージの数を合計する。
8)合計がT内の全N個の署名済み証明書の過半数である場合、Xはアクションを認可する。
1つの実装においては、MInitは存在せず、各MxはAxを直接Xに送る。この場合、Xが控えめなMxから各Axメッセージを受け取った後、ALGO6を実行する。
ALGO6と呼ばれる他のプロセスについて、図9を参照して述べる。この実装において、ALGO6は以下を含む。
1)各Mxが、AxをXに送る。
2)Axを受け取る都度、Xは、それまでに受け取ったAxのそれぞれを検証し、コマンドが有効であり、署名が有効であり、さらにAxに署名するMxがT内に存在することを確実にする。
3)Xが、一意のMxノードからの全てのこのような有効なAxメッセージの数を合計する。
4)その合計がT内のMxSx証明書の過半数である場合、Xはアクションを認可する。
証明書は、TおよびGCのような組またはグループ内で処理され、これらのグループ内の典型的な実装の証明書は、同じグループ内の他の証明書と比較した場合、同一であるコンテンツ部分を含む。例えば、G内の全てのMxに対して、所与のPに対して作成された全てのMxSp証明書は、Mpに対する同一情報を含む。この静的コンテンツは、認可されているアクション、または証明書署名者によって相互署名された他の証明書であってもよい。さらに、同じ概念が、コンテンツの署名者に対しても当てはまる。G内の所与のPに対して、Pによって作成された全てのMpSxがPによって署名される。この対称性のため、相互署名が生じる前に証明書が互いの知識を有する場合、上記プロセスの複雑性を実質上低減することが可能になる。すなわち、合意形成は同期して行われ、ノード間ではアトミックである。多くの典型的実装においては、G内にどのメンバを含むかについてノードが互いに同意しなければならないことが真実であるため、これは事実である。次に、簡素化されているが同等の方法の具体的な形態を示し、この署名および相互署名が単にG内の多数のMx間での正式な同意であることを示す。
同期符号化を用いる1つの実装においては、各Mxは、相互証明されるべきG内のMxを互いに知っている。Gを識別する1組の非公開キーを生成することが可能である。このキーリストは、各々のMxによって別個に署名可能であり、公開キーのリストおよびG内の各Mxの署名を含む1個の文書に追加可能である。このことは、G内の各Mxによってハッシュされ、署名されたGの許可メンバのリストを含む文書Dを生成し、図10におけるJSONフォーマットに示すように(全てのMxが署名されたと仮定して)同数のアイテムを有する第2のリストを生成する。1つの実装においては、Dは「クロック」整数値を含む。他の実装においては、現在の時間値は、「クロック」値として十分となり得る。
いくつかの実装においては、満了、以前は有効ではない、等の他の有効性の値が存在し得る。
この符号化は、上記非対称証明書モデルと比較して、かなり効率的である。7個のメンバを含むGに対して、非対象アプローチは49個の離散的な非対称証明書を生成し、ALGO1を介する処理の検証を要求する。同期符号化において、同一情報は、全ての自己および相互署名を含んで存在するが、1個の文書に対して7個の署名のみが必要となる。さらに、T,GCおよびGTはDのみを含む。さらに他の証明書は必要ない。
1つの実装においては、ALGO1は、Dが存在すると仮定して、ALGO101と置換することが可能である。この場合、T=DおよびD′=GCである。本実装においては、全てのMxメンバは、Dを置換する新たなD′がT内に保持されるクロック値よりも大きい「クロック」値を有することに同意する。すなわち、より古いD文書を置換するべきD′文書は、より大きい「クロック」値を有することになる。
ALGO101は以下を含む。
1.D内の全ての一意キーをカウントし、2で割った総数をCOUNTとして定義する(切り上げ)。
2.変数nを定義し、ゼロに設定する。
3.以下の基準を満たす場合、D′内の各署名に対してnの値を1だけ増す。
a)署名が、D′内のキーのリストに見出されるキーとマッチングすることを確実にする。
b)署名が、D内のキーのリストに見出されるキーとマッチングすることを確実にする。
c)署名が、D′内のキーのリストに正しく行われたことを確実にする。
4.nがCOUNTよりも大きいか、またはnがCOUNTに等しく、さらにタイブレーカノードがステップ3を正しく完了した場合、継続する。そうでない場合は、D′を拒否する。
5.D′内の「クロック」値がTの「クロック」値よりも大きい場合、継続する。そうでない場合は、D′を拒否する。
6.D′は、満了、以前は有効ではない、等を含む全ての有効性およびフォーマット要件を満たす。これらの1個が満たされない場合、D′を拒否する。
7. DをD′と置換する。
いくつかの実装においては、ALGO101はまた、ALGO2、ALGO3およびALGO4を置換可能である。すなわち、我々の同期符号化の場合、ノードのGへの追加または除去およびTの更新は全て、ALGO101を介して機能する。D′内のキーのリストは、新たなMx個のノードに対するキーを含む、より多いか、またはより少ないキーを有することが可能であるので、ALGO101はTを変更し、さらにそれを検証することが可能である。いくつかの実装においては、「カウント」フィールドがG内のトポロジ変化につき常に1だけ増加する場合、D′メッセージのストリームは、任意のX内のTを、任意の有効な前バージョンから更新することが可能である。これは、送信されたD′がXによって保持されるDよりも1だけ大きい「カウント」値を有するように、各D′をXに送信することにより達成することが可能である。これは、任意の数のXにわたって、非常に簡単で的確なTの同期を許容する。例えば、図11は、全ての署名および有効性の要件が満たされていると仮定して、図10に見られるDを置換する。
1つの実装においては、同期符号化を使用するようにALGO5を変更することも可能である。これらの場合、メッセージグループAGの代わりに1個の文書ADが送られる。ADは、署名リストおよびアクションAを含む。個々のAxメッセージの代わりにAD内の署名に対して、署名の検証が行われる。
いくつかの実装では、たとえ少数であっても、Mxノードの一部の組が認可局として行動できるようにすることが有益である。整数の「定足数」フィールドをDに加えることにより、ALGO101に見られるCOUNT値の代わりに定足数値を使用することが可能である。すなわち、厳密な過半数を設定する代わりに、ノードの必要数を任意の値に設定することが可能である。例えば、Gが7個のノードを含む場合、定足数を2に設定可能である。この場合、ALGO101は、Dの有効な置換となるために、2以上より多い数のD′に対する署名を要求する。
いくつかの実装では、ある一定のMxノードが他のノードよりも安全でない例を構成するために、サブグループG′に分類されグループ化された複数のMxノードを有することが有益である。この場合、「バケット」と呼ばれる図12に見られるものと類似のグループ化構文を定義できる。
1つの実装においては、「バケット」GBx内の各グループは、ミニチュアグループGであると考えられる。すなわち、Gは、「定足数」フィールドおよび真であると評価するG内のGBxバケットの数に基づいてアクションを認可し、このような各々のバケットGBxは、その定足数値およびGBx内のMxの数によって定義される。さらに、これらのバケットの各々は、必要に応じてさらなるバケットグループを内部に含むことができる。これは、Gのフラクタル表現であり、G内の投票特性の任意のコントロールを可能にする。D′をDの置換として認可するために、ALGO101が再帰的方法で実行され、その結果、各バケットは、そのバケットに対してALGO101を実行させる。例えば、図12に見られるDは、M4および署名に見られる(M1、M2、M3)の過半数を有するD′からの置換を許容する。Dはまた、(M1、M2、M3)の過半数および(M5、M6、M7)の過半数によって満たされる。
この実装は、特定の性能特性、負荷分散、安全性、および分配特性に対して微調整されるGのトポロジを、厳密な多数決システムを用いて可能となる以上に許容するという利点を有する。関連する認可セクションで見られるように、この原理は、包括的認可代数学にさらにまとめることが可能である。
グループコマンドおよびコントロールを用いるグループ権限の作成
グループコマンドおよびコントロール機構の様々な実装について述べたが、この機構は、グループ権限(GA)と呼ばれる概念の作成に適用することも可能である。ENTにおいて、GAは、従来のPKIシステムにおける認証局(CA)と同等である。いくつかの実施形態によれば、GAは以下のように描写され得る。
最初に、PKIシステムPKおよびユーザUxを定める。Uxは、システムの任意のユーザである。U1はユーザ1等である。Uxによって作成される非公開/公開キー対UxPPKを定義する。この場合、Uxは非公開キーを保持する。例えば、U1のPPKはU1PPKである。Uxは、PK内の証明書を管理することが義務である証明書コントロールオフィサを表す場合もある。Uxがこのようなオフィサである場合、U1Pは、Uxによっては作成されそうにないであろうが、発信側ユーザによっては作成される。この場合、以下の実装に影響を与えないので、Uxの代わりにオフィサを用いる。暗号プロセスCALを定義する。これは、使い古された非対称暗号技術である。
N個のノードのグループGを作成する。「グループコマンドおよびコントロール」セクションにおいて上で概説した機構を用いることにより、証明書ストアGCを作成する。それらの規則に従うと、Gは1個のエンティティとしてコマンドを発行することができる。G内の任意のノードMxを定義する。この場合、各々のMxは、GC内の自己署名済み証明書および相互署名済み証明書を有する。例えば、M1はG内のノード1である。
各ノードMxは、UxPPKの公開部分を含む証明書に署名することが可能である。このような各々の署名済み証明書は、MxがUxにつき1個以上の固有署名済み証明書を作成しないように一意の相手Uxを識別するものとして証明書が定義できるよう、証明書フィールドの一意の組み合わせを含まなければならない。この証明書をUxCとして定義する。1つの実装において、このような全ての証明書は、グループコマンドおよびコントロールセクションにおいて、同期方法につき1個の文書UCに組み合わせることができる。
1つの実装において、当業者は、X.509x標準に存在するフィールド、例えば組織、下位組織および共通名等の共通するものを選択することができる。
1つの実装において、証明書内の独自の情報は、特定の一意的数値を含むフィールドになり得る。この場合、全てのUxは、証明書を介して、無名数として定義される。
1つの実装においては、Uxは、ALGO1を用いるG内の各Mxから証明をリクエストできる。
ALGO1と呼ばれる他のプロセスについて、図13を参照して述べる。本実装においては、ALG01は以下を含む。
1.Uxが、UxPPKを作成する。
2.Uxが、UxPPK内の公開キーとUxに対する一意識別子Iを含む証明書リクエストUxRを作成する。
3.G内の各Mxは、UxRを受け取ったときに以下のアクションを実施する。
a)Mxは、UxR内の一意識別子を含む証明書を作成していないことを検証する。その時点で次のMxに対してステップ3を実行していた場合、ユーザに証明書を戻さない。
b)Mxは、UxPPKの一意識別子および公開部分を含む新たな証明書UxCを作成し且つ署名し、この証明書をUxに戻す。
Uxは、全てのMxによって作成されたUxCからなる証明書の組UxSを有する。この場合、各々の証明書は、一意のMxによって署名される。UALGO1のステップ4の出口は存在しないと仮定すると、UxSはN個の証明書を含む。
グループGは、従来のPKIシステム内において、CAに対する置換として使用可能である。
Uxは、PKのいずれかのユーザに接触し、UxPPKの非公開部分を用いて認証することができる。Xを、PKに対してUxの認証を望むUxによって接触された相手方として定義する。この場合、PKはGをGAとして使用する。UxAを、UxによってXに送られる署名済み認証として定義する。一般に、Xはランダム値をUxに送り、Uxは署名済みメッセージUxMを用いて応答する。この場合、UxMはUxの非公開キーによって署名されたものである。
ALGO2と呼ばれる他のプロセスについて述べる。本実装においては、ALG02は以下を含む。
1.Xが、UxSをリクエストする。
2.Xが、UxMが適切な署名および情報を含むことを検証する。そうでない場合は、認証は失敗である。
3.UxS内の各UxCに対して、Xが、UxCがGのメンバによって署名されたことを確認し、UxCが有効であることを宣言する。オプションで、Xは、同様に他の型式の有効性、例えば、有効開始日および有効終了日等を任意にチェックすることとしてもよい。
4.Xが、全ての有効なUxC証明書の数を含む合計Sを生成する。
5.Sが、NがG内のノードの数であるとして(N/2)+1よりも大きい場合、XはUxを認証している。
G内のJ個のノードがアタッカによって占拠されていると仮定する。これは、J個のMx署名が信頼出来ないことを意味する。しかしながら、JがN/2よりも小さい限り、システムは安全である。アタッカがなりすまされた証明書を用いてUxSを作成する場合、UxSはJ個の証明書のみを含む。このことは、アタッカが、ALGO2のステップ5における認証に合格するのに必要な過半数を得ることを妨げる。
1つの実装において、Xは追加的に、UxCに署名する各MxがG内の他のMxの過半数による有効な相互署名を有することをさらに検証する。もしそうでない場合は、そのMxによって署名されたUxCは、無効であるとみなされる。さらに、XによるALGO2の将来の繰り返しは、この情報を用いて、Mxを完全にディスカウントすることもできる。Mxがディスカウントされた場合、Xによれば、G内のノードの総数はN−1となる。
信頼レベルという概念を定義する。これは、Xを成功裏に検証し認証するG内の認証ノードの割合を意味する。これは(S*2)/Nの値である。信頼レベルが100%よりも高い場合、システムは安全であり、このようなトランザクションを完全に信頼できると定義できる。100%よりも高いレベルは、追加の値を有さないことに注目するべきである。したがって、200%の信頼レベルを生成するG内の全てのMxに対する完全な認証チェックは、100%よりも高い信頼レベル以下の値を本質的に有する。
タイブレーカノードを使用し、タイブレーカノードが適切に認証され、S=N/2である場合、信頼レベルに明らかな過半数を与えるためにSに1を加算する。
基本的には、(N/2)+1個よりも多いMxの任意のエンティティ収集コントロールがシステムをコントロールする。そのエンティティは、それによってコントロールされていないMxが過半数のMxによって無効化されたその相互署名を有するように、Gを変更することが可能である。この場合、Nは、適切な相互署名を有するMxの数となり、これはエンティティによってコントロールされたMxのみになる。従って、100%よりも高い信頼値は完全な信頼を表す。
1つの実装において、Xによるある種の動作は、信頼レベルにより制限され得る。例えば、20%の信頼レベルは、低セキュリティデータに対する読み出し専用の情報アクセスを許容し、50%のレベルは、メッセージ送信のようなクリティカルでない相互作用を許容するとともに、Eメールがチェックされることを許容し、100%以上のレベルは、送金、PK方針の変更等のクリティカルなトランザクションに対して使用される。
各Mx証明書がCAによって署名される1つの実装において、Xは、Mによって署名された各UxCがそのCAによって正しく署名されたことをさらに検証することができる。もしそうでない場合は、UxCは無効であることが宣言される。
1つの実装において、Xは、Tと呼ばれる集合の内部にGの部分集合を維持し、Gの代わりにTに対して検証を行う。Tは、GのN−1個以下のノードを含み得る。
1つの実装において、Xは、有効なMxに対して1個のUxCのみを検証する。UxCが有効である場合、XはUxを認証している。この場合、Xの信頼レベルは2/Nである。例えば、Nが3である場合、信頼レベルは66%となる。この動作モードは、G内のただ1個のMxを占拠したアタッカがXに対して有効となることを許容するため、推薦されない。しかしながら、この動作モードが、金融取引、クリティカルなデータの交換、ならびにコマンドおよびコントロールのためにTLS/SSL接続を認証するための全てのウェブブラウザにおける現存の最新式機構と、セキュリティ上同一であることに注目する価値がある。
ENTは、グループ権限構造を実現することもできる。このGAは、異なる非対称キープロセスを実行する異なる場所にあるサーバのグループから構成される。このようなサーバの各々は、ルートと呼ばれる。各ルートは、他の全てのルートから独立して署名および動作を行う。各ルートは、連続する文字の集合として定義された一意な名前を有する。同時に、ルートは、グループコマンドおよびコントロール並びにグループ権限セクションに見られるプロセスを用いて、新たなベリニムを発行することができる。好ましい実装は、奇数個のノードを有するGAを作成して、デッドロックを回避することである。ENTにおいては、グル―プコマンドおよびコントロール内のALGO1において計算された過半数を作成する全てのルートに対する署名済みおよび自己署名済み証明書の集合は、ルートリングと呼ばれる。1つの実装において、これらの証明書は、グループコマンドおよびコントロールセクションにつき1個の文書に同期して組み合わせられ得る。
ENTルートは、破棄される場合もある。これは、ENTシステムの安全性または信頼性を低減するいずれかの理由のために発生する可能性がある。いくつかの潜在的原因は、不良コンピュータハードウェア、悪意ある攻撃、監査の失敗、自然災害、計画されたルートの老化等である。ルートは、グループコマンドおよびコントロールセクションにおいて概説された機構を介して破棄される。ルートが破棄されるべき場合、ルートリング内の他の各々のルートサーバは、破棄されるべきルートをターゲットとする破棄証明書を生成することになる。過半数のこのような証明書が一意のルートによって発行されると、問題のルートは、グループコマンドおよびコントロールにおいて概説された機構により、ルートノードの連結グラフから除去される。これらの証明書を受け取るENTシステム内のユーザは、同様に、破棄されたルートノードをその信頼性ストア(T)から除去する。
1つの実装において、ルートノードはそれ自体を無効化することができる。この場合、システムは、他のルートによる過半数の無効証明書と同等であるとして、その無効化を処理する。すなわち、それ自体を無効化するルートは、過半数の他のルートがそのルートに対する無効証明書を生成したかの如く処理されなければならない。様々な実装によれば、両方の機構を使用することが推薦される。
ENTルートもまた、加算可能である。これは、システムが成長する必要があるとき、または破棄されたルートが置換される必要があるとき、発生する。ENTは、グループコマンドおよびコントロールに見られるノードを加えるための機構を利用して、このタスクを成し遂げる。まず、新たな各ルートに対するPPKが生成される。その後、公開キー部分が、ルートリング内の各ルートに送られる。ルートリングルートの各々は、その後、新たなルートの公開キーを含むこの新たなルートに対する相互署名を生成する。これらの証明書は、その後、グループコマンドおよびコントロールセクションのALGO2に概説された機構を介して、各ルートの信頼性ストア(T)に加えられる。
ENTシステム状態および信頼性ストア
ENTルート信頼性ストアは、理想的には、全ENTネットワーク内の(ENTソフトウェアを実行する)あらゆるENT可能化システム上に記憶される。これらの装置は、ENTノードと呼ぶことが出来る。ENTシステムの全てのユーザが、別個の信頼性ストア(T)を維持することが有益である。これによって、部分的に、または散発的に接続されたENT装置が、ENTシステムのルートまたは他の部分がたとえ到達不能であっても、動作を有用に維持することが可能になる。さらに、アタッカは、システムの有効性に全体として損傷を与えるためには、システム内の多数のノードを打ち負かすことが必要になる。ルートノード無効化および新たなENTルートノードが処理されるので、これらの証明書は、グループコマンドおよびコントロールのALGO1(またはALGO101)が決定論的かつ冪等元となった後、ENTシステム全体が更新された同一の状態を有するようになるまで、ENTノード間で伝播され得る。
1つの実装において、ENTノードの信頼性ストアは、通信または情報交換を行う度に同期され得る。1つの実装において、ノードは、信頼性ストアT内の全ての証明書を、処理する前に交換する。これは、かなり大量のデータになる場合があるのであまり好ましくない。
1つの実装において、ルートの自己署名済み証明書から暗号ハッシュが生成される。これらの証明書は、最初にオーダされる。決定論的オーダリングは、この要件を満たす。好ましい実装においては、オーダリングは、ルート名の標準アルファベット順オーダリングにより構成される。ルート自己署名済み証明書のオーダリストが一旦作成されると、数値ハッシュを生成するハッシング関数を介して各々のこのような証明書を順に挿入することにより、ハッシュが計算される。各ENTノードは、このハッシュを独立して作成し、結果的に生じる値を記憶する。
1つの実装において、2個のENTノードが通信するか、または情報交換するとき、このハッシュをまず最初に交換することになる。このハッシュのミスマッチは、2個のENTノードに、その信頼性ストア(T)を交換するように強いる。グループコマンドおよびコントロールのALGO1(ALGO101)に示すように、全てのノードが交換された後に、信頼性ストアが再計算される。ALGO1(ALGO101)の1反復の後、双方のENTノードは、同一の信頼性ストア、従って同一のハッシュ値を有することになる。
1つの実装においては、ルート証明書のアルファベット順のオーダリングが上記のように実施される。各証明書は、その後、ハッシュされる。このような各証明書のハッシュは、その後、順にデータオブジェクトに加えられる。実際、ハッシュ値は、共に順に連結され、ENTSTATEの値を生成する。さらに、ENTシステムバージョンを決定する値が、ENTSTATEに連結される。ENTシステムバージョンは、システムが使用する定数、許可されたプロセス等の情報を含むことができる。一旦計算されると、ENTSTATEは、(ENTSTATEにおけるその位置ずれにより)個別に認識可能な全てのルートを含むオブジェクトまたはデータ、さらにノード間の互換性チェックのために使用することが可能なシステムコンテキスト値を反映する。このENTSTATEは、その後、ノード間で交換可能である。ENTSTATEのハッシュが、最初に交換され得る。これがマッチングしない場合、信頼性ストアの全体またはその一部(ENTSTATEにおけるルートハッシュにより決定される)が、両方の信頼性ストアがマッチングするまで交換可能となる。
1つの実装において、ENTノードは、信頼性ストアの全体を受信するためにいずれかのルートに問い合わせることができ、加えて、他のENTノードからこの情報を受信することができる。
1つの実装において、システムバージョンは、多数の値および設定によって定義可能である。いくつかの設定は、使い古された暗号プロセス、最小キー長等の決め打ちされた値、証明書命名構造やフォーマット等のポリシー設定を含む。好ましい実装においては、これらの値全てが1個のバージョン属性値によって決定され、これがシステムバージョンとして使用され得る。
1つの実装において、ENTノードは、その信頼性ストアハッシュまたはシステムバージョン属性値が異なる場合、相互作用しない可能性がある。ENTノードは、取引を行う前に、その信頼性ストアおよびシステムバージョンのコンセンサスを得なければならない。システムバージョン上のミスマッチの場合、ノードは、その接続を終了するべきであり、より低いシステムバージョンを有するノードは、そのソフトウェアを更新するべきである。信頼性ストアミスマッチの場合、両ノードは、任意のトランザクションを継続できるようになる時点でコンセンサスに到達するまで、証明書を交換するべきである。コンセンサスに到達できない場合、トランザクションを終了するべきである。
ルートノードによるベリニム発行
ENTにおいて、ベリニムは、その一意番号またはマッピングに基づいて一意に識別可能であり、第1のルートによって発行されてリクエストを受け取る。他のPKIシステムにおいて、名前または記述的部分は、発行した証明書に対して使用される。典型的な値は、名前、組織、組織単位等である。しかしながら、好ましい実装において、ENTは、番号としての抽象的な識別子を直接発行することによって動作する。各番号は、一意であり、グループ権限セクションにおいて述べたようにシステム内で一意であることが保証されている。2個のルートは、2個の要求元に対して同一の識別子を発行できない。他の実装では、英数字を使用するか、または要求元が所与の識別子の値を選択することも可能である。
ベリニムは、各々が一意なルートノードによって発行された1組の証明書として定義可能である。このような各証明書は、要求元が提出する公開キーや、システム内の一意番号を含む。従って、完全ベリニムは、Nはがそのベリニムに対して各々が一意識別子を含むENT内のルートノードの数であるとして、N/2+1個以上の証明書を含む。本文書内の様々な場所は、ベリニム信任状に関連する。この用語は、ベリニム内で見られる証明書をいう。ベリニムおよびベリニム信任状は、コンテキストが暗号プリミティブまたは信任状に関連する場合、相互交換可能である。いくつかの実装において、1個の文書は、グループコマンドおよびコントロールセクションにより、多数の証明書と同じ情報を含むことが可能である。
ベリニムの発行は、要求元(ベリニムをリクエストするユーザ)がPPKを作成し、コアルートのうちのいずれかにリクエストを提出する状態で開始する。リクエストは、PPK対の公開キーを含む。1つの実装において、リクエストはまた、以下で述べるピアノードのリストを含む場合もある。
1つの実装において、各々のルートは、要求元に割り当てる数値の所定のブロックを有する。例えば、ルート1はブロック値1−1000を有し、ルート2はブロック値1001−2000を有する、等である。1つの典型的な実装において、これらのブロック範囲は、32ビットブロックとなり得る。ブロックに対する許可を得たルートのみが、与えられたブロック内の番号を割り当てることができる。他のルートブロック内の番号の割り当ては、セキュリティ違反として処理するべきである。ENTの中央局は、どのルートがどのブロックを発行可能であるかを指示する。好ましい実装において、そのブロックの全てを発行したルートは、無効化され、新たなブロック上での発行制御を有する新たなルートと置換されるべきである。他の実装においては、そのブロックの全てを発行したルートに対し、中央局によって新たなブロックを割り当て可能である。好ましい実装において、ルートは、以前は発行されていないその有効ブロック内で選択された連番を、要求元に対して発行する。他の実装において、ルートは、その有効ブロックから乱数を発行することができる。
ルートが、そのブロックから、まだ割り当てられていない数値NVを一旦選択すると、ルートは、要求元の公開キーおよびNVを含む証明書を作成し、それに署名する。この証明書は、その後、ENTシステム内の他の有効ルートのそれぞれへ送られる。これらの他のルートノードの各々は、NVを含む証明書をまだ発行していないことをまず検証し、その後、同一要求元の公開キーおよびNVを含む証明書を作成し、それに署名する。この組の証明書は、その後、完全ベリニムとして要求元へ戻される。実際、要求元は、新たに作成された証明書をルートが預け入れるであろうデータストアをチェックするであろう。要求元は今や、いかなる目的にも応じた有効ベリニムを有する。
一旦発行されると、ベリニムに対する非公開キーが失われる、盗まれる、または無効化される可能性がある。ある時点で、非公開キーは、所与のベリニムに対して置換される必要がある。これらのイベントが発生する際、コントロールする非公開キーが失くなるとコントロールが失われるので、ベリニム所有者がベリニムのコントロールを再構築するための機構を設けることが重要である。従来のPKIシステムにおいては、これは、問題のユーザの識別を再構築するためにいくらかの人材の関与を必要する。ENTにおいては、任意のPKIシステムに適用可能なリレーショナル認可と呼ばれる新規な技術を用いて、プロセスが自動化される。
リレーショナル認可:
以下のセクションでは、ユーザがPKIシステム内の自身の信任状または非公開キーのコントロールを失ったときにPKI信任状のコントロールを(置換によって)再構築する方法、または、他の信任状の相関的な使用に基づいて信任状のアクションを認可する方法について述べる。これらは、オーナシップポリシーおよび1つ以上のコントロールポリシーとして、それぞれ考えられ得る。上位概念、すなわちダビングされたリレーショナル認可は、エンティティが、自身で定義するピアグループに基づき、オーナシップを再構築し、エンティティに対する新たな署名済み信任状を作成するために証明書権限又はグループ権限とともに使用され得るそれらのピアの署名又はバウチャを要求することを許容しなければならない。さらに、同じ概念が、それ自体の信任状を有する1組のピアエンティティが、そのエンティティに対するアクション(またはコントロール機構)を裏付けることを可能にする。
第一に、リレーショナル認可は、エンティティ自身によって要求されるものを越えてピア内に存在するための特定の特性を必要としないことに注目されたい。すなわち、それは、匿名であり且つ非公開である。第二に、CAは、現在時の最新式機構に基づいて更新を実施する必要がもはやなく、これは常に集中アプローチとなる。最後に、マンパワー、管理またはプロシージャに関してCAには何も要求が出されず、事実上、CAは、抽象的識別を超えてユーザ/エンティティの情報を管理する必要が全くないことに、全体を通じて注目されたい。
このセクションの大半は、信用状の更新のためのリレーショナル認可の利用に特に集中するものであるが、概説した発明は、認可されたアクションが望ましく、多数の信任状がその認可に対する入力として望ましい時に、より広範囲に亘る適用可能性を有する。例えば、リレーショナル認可は、信頼性に対するアイデンティティのコントロールを証明し、データに対するアイデンティティアクセスを可能にし、または何らかの目的のために、信任状内の公開キーを、協力して作業する多数のエンティティから構成されるポリシーと置換することができる。
N個のエンティティ/ユーザのグループから構成されるPKIシステムPKを定義する。ユーザは、人間、コンピュータ、モバイルデバイス、または信任状を記憶且つ使用可能にする他の電子的可能化システムであってもよい。CAを、PKの証明書権限として定義する。CAは、グループ権限(GA)であってもよい。各エンティティをU1ないしUNとして定義し、さらにCAにより署名されたその信任状をC1ないしCNとして定義する。この場合、U5はユーザ5を表し、C5はユーザ5の信任状を表す。各エンティティの非公開キーをP1ないしPNとして定義し、この場合、P5はエンティティ5の非公開キーであり、さらにPmを任意のエンティティの非公開キーとして定義する。Uxを、Cxを新たな証明書Cx′と置換する必要があるエンティティとして定義する。M個のエンティティでグループGを定義し、この場合、各エンティティは、PK内に存在し、Uxとの実在の、または帯域外の関係を有する。それらのエンティティのうちの任意のものをUmとして定義する。Umに対する信任状をCmとして定義する。例えば、3個のエンティティUq、UzおよびUyでGを定義し、各々はCq、CzおよびCyをそれぞれコントロールする。図14を参照されたい。
1つの実装において、Gを含むデータオブジェクトLおよびポリシーステートメントSを定義する。Sは、ブール値を出力として提供するステートメントに、Gのメンバを組み合わせるための1組の処理ルールから構成されるポリシーステートメントである。例えば、Sは、連続的な文字リスト「(UyおよびUq)または(UzおよびUy)」を含むことが可能である。さらに他の非ブール値、例えば「過半数(Uy、Uq、Uz)」または「(Ua、Uy、Uq、Uz)の2」等が作成され得る。Sは、CAがUxのためのキーの取り換えを可能にする際の基準を定める。有用なルールは、基本ブール演算子(OR、AND、NOT)、グループ化ステートメントに対するオーダリング、および関数を含む。任意の数の異なる関数がサポートされ得るが、関数は、真偽を示す値を戻さなければならず、Gの1つまたはそれ以上のメンバを入力として取らなければならない。Sの構文は、信任状フォーマットおよび具体的な実装に大きく依存するが、XML、JSON、文字列または他のバイナリフォーマットから構成することが可能である。これらのステートメントは、もしステートメント内の任意のUmが「真」の値と置換されるのであれば、真偽を評価することができる。デフォルトでは、全てのこのような値は偽であるとみなされる。要するに、Um値は、Umがアクションを認可するバウチャに署名した場合、または、Cmが自身で真であると評価したポリシーSmを含む場合、ALGOYを介して「真」の値と置換される。
他の実装において、S内の演算子のグループ化は、先行値を有することができる。この値は、入力に関する優先度を設定することができる。例えば、「(UxおよびUy、101)」は、ステートメントが優先度101を有することを表すことができる。1つの実装において、真であると評価するより高い優先度ステートメントは、真であると評価するより低い優先度ステートメントより優位に立つ。いくつかのUmエンティティがアタッカによって危険にさらされていることをもしアタッカが獲得するならば、優先度は有用となり、アタッカは、Sを介して真の値になりすますことができる。この場合、アタッカがコントロールを持つ、有効であるがなりすまされたエンティティよりも、より安全な組のUmを優先させることがCAにとって有益である。これによって、Sの代数は、ポリシー内でさえ、コントロールの階層を含むことが可能となる。この場合、CAは、最後に認可されたアクションの優先度の値を記憶する。より高い優先度のアクションが後に発生した場合、CAは、新たな相互作用を許可し、前の相互作用を破棄することができる。
いくつかの実装において、より高い優先度の信任状のリセットは、特定の期間、より低い優先度のリセットを無効にすることが出来る。例えば、2週間である。これは、アタッカがその期間、再度ポリシーをリセットすることを許可せず、異なる認可グループの間でポリシーがばたつくことを防止する。
他の実装において、データオブジェクトLはGを含む必要がない。なぜなら、この情報もまたS内に存在するからである。
典型的な実装において、認証は、一般に非公開キーを用いて直接行われる。しかしながら、リレーショナル認可を用いると、信任状は、代わりにSを介してピアのグループに対して認証されることができる。すなわち、Sは、信任状内の公開キーを取り換えることが可能である。例えば、信任状が組織を表し、その組織が秘密のデータアクセスを必要とし、3人がそのアクセスを認可するために必要とされた場合、特定のPPKを必要とする組織の代わりに、その認証プロセスを満たすためにリレーショナル認可を使用することができる。一例として、ある人の信任状は、銀行口座にアクセスするために、スマートフォンおよびキーホルダーサイズのデバイスの両方を用いることを求められるかもしれない。電話とキーの両方が公開キーを含み、協力して、その個人が自分の信任状においてSを介して銀行口座にアクセスすることを可能とする。この場合、信任状は、公開キーの代わりに、認証に対するポリシーを含む。公開キーは、ポリシーS内の当事者によって保持される。明白にするために、Pmは、当事者Xを含むポリシーステートメントSと置換され、Xが所有するPxは、非公開キーであってもよいし、他のポリシーステートメントSxであってもよい。このような場合、ネスト化されたSxステートメントがループを形成しないことは極めて重大である。例えば、U1が「U2」からなるS1を有し、U2が「U1」からなるS2を有する場合、いずれのステートメントも決して真であると評価出来ないことになる。その理由は、いずれのステートメントも、ステートメントSmの部分を真であると設定できるPPKからの入力を有しないからである。いくつかの実装において、このルーピングは、深さ基準を用いて制限することが可能であり、その結果、プロセスが終了する前にはある一定の整数回の再帰のみが許可され、偽の戻り値が戻される。いくつかの実装において、ポリシーSは、少なくとも1つのパスが真の値を戻す場合にのみ、正当であるとされてもよい。
トークン化プログラムについて述べる他の文献に含まれることであるが、ステートメントS′を介してコントロールされたU1を含むステートメントSが、U1がS内のどこに現れるとしても、U1をS′と置換することによって拡大できることには、注目する価値がある。例えば、Sが「U1およびU2」であり、S′がU1に対して存在し、「U4およびU5」から構成された場合、Sは「U1」をS′と置換し、「U4、U5およびU2」を生成することが可能である。
1個のLには、各々がシステム内の特定のアクションまたは権限に対応する多数のポリシーが存在し得る。例えば、アクセス、認証、更新等である。いくつかの実装においては、オーナシップポリシーがCAを用いて作成および管理され得るのと同じ方法で、任意の数のこのようなポリシーが、ユーザによって作成、分配、管理され得る。JSONフォーマットにおける信任状の例として図15を参照されたい。ある一定の実装においては、これらのポリシーステートメントは、CAによって発行された信任状内に存在する可能性がある。他の実装においては、これらのポリシーステートメントは、それら自身が署名し且つ認証済みであり、CAによっても署名されたメッセージ内に存在することとしてもよい。
典型的実装において、ポリシーは、図15に示すように、ALGOYを介して置換可能な信任状内に存在する。すなわち、これらの(グループとしての)ポリシーは、1つの信用状更新プロセスを介して置換される。いくつかの実装は、これらの別個のポリシーの更新を個々に分離することを望む可能性もある。このような場合、ALGOYが存在し、このような各々のポリシー宣言に対して実行される。この機構は、一般に思い浮かぶものよりも、「アイデンティティ」のさらに分散された概念を提供し、管理コストの増加、複雑さの増大等を含む実質上の二次的効果を有する可能性がある。
1つの実装において、CAは、公開キーを提示する要求エンティティに対して、一時的な信任状を提供する。これらの信任状は、決して繰り返されない単に増大する数値を含む。発行されたこのような証明書は、この番号および関連付けられた公開キーにのみ基づく、その識別メトリックにおいて互いに異なる。さらに、これらの信任状は、他の目的のためには使用出来ないように、システム内で明確にマークされる。いかなるユーザも、いつでもこのような証明書をリクエストすることができる。例えば、何人かのユーザは、連続の1000を含む証明書をリクエストすることができる。このような証明書をリクエストする次のユーザは、証明書1001を受け取る、等である。同じエンティティが、任意の数の証明書をリクエストすることが可能である。この一変形例は、このような証明書がエンティティ情報を含むことを可能にすることである。この情報は、Uxが要求元である場合、Uxのアイデンティティとマッチする。この証明書は、いかなる形でも、Uxを識別するために使用されてはならない。その目的は、安全でアドレス可能な方法で、任意の連番と公開キーとの関係を確立することのみである。
Uxが新たなPPKキーPx′を作成し、上記機構を用いてPx′(公開部分)を含む一意証明書をリクエストすると仮定する。この一時的証明書をTxと呼ぶ。Uxは今や、PK内で認識される証明書を有し、それによって他のユーザがその連番を用いてTxの一意性を検証できる機構を提示する。さらに、Txは今や、UxとしてではなくPK内の一意エンティティとしてPKの他のメンバと共に認証するために、一時的容量でUxによって使用され得る。一意性は、一意の連続番号によって定義される。
UxおよびUmが人々である1つの実装において、Uxは実世界におけるUmと接触し、Uxに対する再入力リクエストをCAに提示するようリクエストする。好ましい実装において、Uxは連番を言葉でUmに伝達する。他の伝達方法は、電話、言葉による対面、または音声付ビデオを含み得る。重要な基準は、Uxが新たなキーの必要性およびTx内の連番を伝達し、UxがUmに対しアイデンティティの確実な証拠を提供することである。このコンテキストにおけるアイデンティティの証拠は、Umが、UxをCxの正当な所有者として認識し、Uxが人であり、Uxが、Umが正当所有者であると考える人であることを意味する。最良の解決策はUxおよびUmの物理的ミーティングであり、2番目に最良な解決策はビデオであり、3番目に最良な解決策は電話である、等である。所有権及びアイデンティティの証拠は、強ければ強いほどよい。代わりの、またはサポートする機構は、DNAサンプル、指紋、またはある型式のバイオメトリクスを含み得る。これらの具体的な使用および手続きは、本文書の範囲にはない。しかしながら、意図は、UmがUxを認識し、彼らがUxの実社会におけるアイデンティティになりすますことによりCxまたはCx′のコントロールを獲得しようとするアタッカではないことを決定できる、ということである。人々以外のエンティティが、本文書の範囲を超えて、本人確認識別基準の異なるセットを使用するであろうが、これらは、共有の秘密、コンピューティングデバイスへの物理的アクセス等から構成され得る。
1つの実装において、Umは、公開キーを除外したCx内の情報と、Tx内に見られる一意な連番とを含むUxのための署名済み更新メッセージRCxを作成する。Umは、このメッセージをCAに送る。
過度に単純化した実装において、UxがTx内に見られる公開キーをコントロールすることを任意のUmが裏付ける場合、CAはCx′を作成する。CAは、RCxを受け取ったことに応じて、Cx′内の情報がCx内の情報にマッチングすることを検証し、Cx′を作成するべきである。より形式的に展開されたこれらのステップは、図16のALGOXを参照すると以下のとおりである。
1.UxがPPKPx′(またはポリシーAx)を作成する。
2.UxがCAから証明書Txをリクエストする。この場合、TxはPx′(またはAx′)の公開部分を含む。
3.Uxが、Ux′のアイデンティティの実社会における検証を実施するUmに接触する。
4.Umが、Cx内のユーザアイデンティティ情報とTxの連番とを含む署名済みメッセージRCxを作成する。
5.CAが、RCx内の連番をTx内の連番にマッチングすることによりTx内の公開キーを抽出する。
6.CAが、Umの署名を検証し、RCx内のアイデンティティ情報を検証し、その後、Txからの公開キーと、RCx内のユーザ情報とを含むCx′を作成する。
ステップ6においてCx′を作成するための過度に単純化した機構は、多くの例で推薦されない。PK内のUmのコントロールを得たアタッカが、システム内の他のいかなるCxをも危険にさらすことは明らかである。より堅牢な機構が続く。TxがCx′の作成に必要ないことにも注目されたい。これは単に有用であるに過ぎない。各Umは、代わりに、Uxの識別情報と、Px′の公開部分とを含む更新証明書をCAに提出することが可能である。公開キーは、UxとUmとの間の検証手続きの最中にUmに与えられる。Txは、CAに到達するために、公開キー部分のためのより自動的でヒューマンフレンドリな方法を単に提供する。
UxがCxをコントロールする時にUxによって署名され、LとUxの識別情報とを含むメッセージRAxを定義する。Uxが、PK内のCxを発行した直後、そして、UxがPxのコントロールを失う前に、このメッセージを作成したことは極めて重大である。もしRAxが作成される前にUxがPxのコントロールを失うと、この更新戦略の全体が失敗する。1つの実装において、Uxは、Cxを作成する最初の手続きの一部としてRAxを作成した。すなわち、CxおよびRAxは、相前後して作成された。これは、RAxが存在しない期間を排除する。このことは、アタッカが、Cxを更新して置換するUxの能力を永久に破壊することを防止する。
Uxは、CAにRAxを提示する。CAは、RAxがPxに署名されたこと、およびCAによって署名されたCxにPxが対応していることをチェックすることにより、メッセージを検証する。CAは、その後、RAxを無期限で記憶する。このメッセージは、PKのメンバがユーザUxのために代替の証明書Cx′の作成をリクエストすることを可能とするルールを定める。
Uxは今や、各Umに接触し、先に概説したアプローチを用いて、CAに再入力リクエストを提示することを要求する。このような各Umは、Uxに対する情報を識別する署名済みメッセージRCxおよびPx′に対応する公開キーを提示する。Uxは、より少数のユーザが真のブール出力値を生成することを要求されているとS内のルールが指示する場合、M人に満たないUmユーザに接触する必要があるかもしれない。
CAは、G内の異なるUmユーザからいくつかのRCxメッセージを受け取る。CAは、CAによって署名された有効な証明書Cmを使用して、各署名済みメッセージがPK内のUmから発生したものであることを検証する。CAはまた、各RCxが同一の公開キーを含むことを検証する。もしそうでない場合、CAは、受け取った全てのRCxを計算するべきであり、この公開キーは大抵のRCxにおいてマッチングする。マッチングしないRCxは、破棄されるべきである。
多数の有効なRCxメッセージが、Uxのための有効なキー情報を含む1個のピアxから存在することは可能である。例えば、ピアは2個のバウチャを発行することが可能であり、各々は、Uxが2個の異なるキーを用いて更新バウチャリクエストをピアに2度送った場合、更新のターゲットとして異なる公開キーを含む。CAは、これらのうちのどれを使用するべきかを決定する方法を持たない。この場合、CAは、全てのピアから入力される全てのバウチャを、Uxのための一意な公開キーによる組に照合する。全てのRCxメッセージの組に2つ以上の公開キーが存在する場合、CAは各々に対する組を作成する。CAは、その後、このような各組を処理する。オーナシップポリシーにおける基準を通過する第1の組は、Uxに対する新たな公開キーを決定する。認証に使用されるエンティティ公開キーが存在しないが、代わりに認証ポリシーが存在する場合もある。
CAは、その後、Uxに対するL内のSをロードして実行し、出力値を計算する。出力値は、ステートメントSにおける各Umに対する真の値を挿入することにより計算される。例えば、Sが「(UyおよびUq)」であり、CAがUyから有効RCyを受け取ったが、Uqからは何も受け取っていない場合、Sは偽の出力値を有する「(真および偽)」として計算される。計算の結果が偽である場合、CAは何もしない。CAが真の値を計算する場合、CAは、Sに対して書かれた基準が正しく満たされていることを検証する。もしそうであるならば、CAはUxに対するCx′を作成し、更新は成功である。形式的に展開されたこれらのステップは、ALGOYと呼ばれ、以下の通りである。
1.UxがPK内の信任状Cxを最初に獲得した時、Uxがその後、データオブジェクトLを含む署名済みメッセージRAxをCAに提示する。書名は、Uxの署名、またはCxがキーの代わりにポリシーSを含む場合、RAxを認可するのに十分なS内の認可する所有者の署名でなければならない。
2.CAは、RAxの署名および有効性を検証した。有効な場合、CAはRAxを無期限で記憶した。
3.その後、UxはCx(またはポリシーAx)のコントロールを失う。
4.Uxが、新たなPPKPx′(またはポリシーAx′)を作成する。
5.Uxが、CAからの証明書Txをリクエストする。この場合、TxはPx′の公開部分を含む。
6.Uxが、Ux′のアイデンティティの実社会における検証を実施する一意なUmに接触する。
7.Umが、Cx(Ax)内のユーザアイデンティティ情報とTxの連番とを含む署名済みメッセージRCxを生成する。
8.CAが、RCx内の連番をTx内の連番にマッチングすることにより、Txにおける公開キーを抽出する。
9.CAが、Umの署名を検証し、且つRCx内のアイデンティティ情報を検証する。
10.CAがその後、RAx内のSを実行し、Umが署名するか、または真であると評価されたポリシーCm(Am)を有する限り、Umの各場合を「真」と置換する。RAxに署名した、または真であると評価されたポリシーCm(Am)を有したG内のあらゆる一意Umに対して、このステップを繰り返す。ポリシー評価は恐らく再帰的であることに注目されたい。
11.Sが真であると評価する場合、CAがその後、Cxと同じ情報を含むが、代わりにTxに見られる更新済み公開キーを有するCx′を作成する。
12.CAがその後、Uxのための前回のCx(Ax)を無効化し、新たなCx′(Ax′)を発行する。これは、CRLを用いて、また好ましくは、新規キーの破棄において概説した一意破棄プロセスを用いて生じる場合もある。その場合、各RCxメッセージMUSTがCx(またはAx内のポリシー情報)に見られる公開キーを含むことに注目されたい。そうでない場合は、CAは、所与のRCxメッセージがどのCxを置換することを意味しているのかを知ることはない。存在しない場合、これは、アタッカがリプレーアタックを実施することを可能にする。
Gが変化する場合、UxがRAxを更新可能であることが重要である。あるユーザがもはやユーザ内に存在しないこと、新たなメンバがGに加えられるべきであること等が可能である。このように、RAxは置換可能であるべきである。しかしながら、Uxは、RAxを安全には交換できない。Pxがアタッカにより不正アクセスされたと想像してみてほしい。UxがRAxを更新可能である場合、アタッカも同様である。アタッカは、RAxをアタッカに有益なRAxと置換可能である。その後、もはやPxのコントロールを有さないことにUxが気付いた場合、RAxはもはやUxのための信頼のグループを含まず、代わりにアタッカがRAx内に配置したものを何でも含むのであるから、彼らは頼りになるものを持たないことになる。従って、RAxの置換は、他の機構を使用するべきである。
代わりに、RAxはCx′またはAx′が作成されるのと同じ方法で置換可能であるべきである。Uxは、その選択した新たなL′をTxに加える。各Umはその後、Txに対する連番を含む署名済みメッセージを作成して、これをCAに送る。CAはその後、ALGOYステップ10を用いて各メッセージを検証し、Sの同じ結果を計算する。真である場合、CAはステップ11において、RAxを、L′を含むRAx′と置換する。CAはその後、RAxの使用を停止し、将来の更新全てに対してRAx’を使用する。この手続きは、ステップ11において、CAがL′を含むRAx′とRAxを置換し、TxがL′を含むということを除けば、ALGOYに見られるものと同一である。
1つの実装において、多数のRCxメッセージをCAに送られた1個のメッセージに組み合わせることは可能である。RCxメッセージ内のキー情報は、ユーザ識別情報であり、連番であるので、この情報は、1個またはそれ以上のUmメンバによって署名された1個の文書に加えられ得る。多数の署名を有する文書は、その後、多数の個々のRCxメッセージの代わりに、CAに提示され得る。図17を参照されたい。
いくつかの実装において、RAx′置換(修正されたALGOYのステップ12)を、ある所定期間、エスクロウに配置することが可能である。これは、アタッカがS内の認可ノードのコントロールを獲得し、信任状オーナに反応するための時間が与えられる前に信任状をリセットすることを防止する、この場合、CAは、ステップ12を即座に実施したり、RAx′を公開したりしない。その代りに、CAは、所定の期間、RAx′を記憶する。いくつかの実装において、この期間は、期間をデータオブジェクトLに加えることによって信任状オーナによって設定される。いくつかの実装において、期間は、システム全体にわたって固定される。この時間中に、CAは、SおよびUx内の各認可エンティティに接触する場合があり、信任状リセットが保留されていることを、そのエンティティに通知する。代わりに、CAは、信任状がリセット保留中であることを述べる公開署名済みメッセージをポスティングすることが可能であり、Uxおよび他の認可エンティティがその公開場所を定期的にチェックすることを可能にする。この手続きは、アタッカに、リセットが保留中である様々な認可エンティティを同時に通知しながら、延長期間に多数の信任状を捕らえて保持することを強いる。それらのエンティティが各々、その個々のCx信任状に対して更新機構としてリレーショナル認可を使用し、各々が他の認可エンティティと共に別個のRAx更新信任状を有する場合、アタッカが、必要な期間、エンティティCx′の更新なしに、多数の信任状を乗っ取って保持する可能性は極めて低い。
人は今や、そのような設定が現存のPKI更新手続きよりもどれだけ安全であるかを計算するために、セキュリティ比較を実施することができる。現在の技術水準での実装においては、単一障害点が常に存在する。セキュリティオフィサまたは更新プロセスを担当するグループのいずれかは、CAによって評価されている署名リクエストを作成する。これは、その後、適用される。しかしながら、セキュリティオフィサまたはグループの署名キーがアタッカによって不正アクセスされる場合、アタッカは、キーが破棄可能となるまで、新たなユーザ証明書の将来の作成へのアクセスを得る。
1人の人間が、手続き上のグループまたはオフィサと同一のセキュリティコンテキストまたはセキュリティトレーニングを有する可能性はきわめて低いが、一方で我々は、順列計算を介して、協力して行動するあまり安全でない多数のキーを用いてグループやオフィサのセキュリティを越えることは難しくないということも知ることができる。例えば、セキュリティオフィサの署名に加えて2個の一意Umエンティティからのさらに2個のRCx署名を含むことによって、劇的な効果が生まれる。各Umの信任状がCmの寿命の間に、飛躍的に高められた50%のセキュリティ侵害の機会を有したとすれば、セキュリティ全体は、セキュリティオフィサのキーのみの400%まで増大する。実際、このリストに(S内のブール演算を用いて)「anded」を追加した各々のさらなるユーザは、セキュリティをさらに2倍にまで増大させる。これは、各々のさらなるユーザに対して不正アクセスの確率が半分だけ低減する指数関数である。明らかに、このアプローチは、最新式の再入力プロシージャよりも安全である。さらに、リレーショナル認可原理は、認証、データアクセス、委任等に対する同レベルの増大したセキュリティを生み出すことを望まれる任意の組のコントロール特性に対して適用され得る。
ENT内のリレーショナル認可:
ベリニムのキーが無効化されるか、または不正アクセスされると、リレーショナル認可が、ベリニムのコントロールを再構築するために使用さ得る。ベリニム(Ux)のオーナが、オーナが信頼するピアENTユーザのリストを作成する。これらのユーザは、その後、そのオーナのベリニムに対して更新ピアグループとなる。オーナがベリニムのコントロールを失うと、オーナは、そのピアグループ(G)に十分に接触し、ベリニムのコントロールを再構築する。どのピアがそして何個のピアがコントロールを再構築できるかを計算するための正確な方法はベリニムのオーナに任され、(ステートメントSを介して)定義される。これは、当然のことながら、ユーザが早期にオーナシップポリシーを作成したことを意味する(RAx)。
1つの実装において、オーナは、スクラッチから新たなENTベリニムをまず作成することにより、ベリニムのコントロールを再構築できる(Txを作成することと同等である)。この新たなベリニムが一旦作成されると、それは、安全な転送および認証のために、他のENTピアと共に使用され得る。その後、このベリニムは、更新ピアに接触するために使用され得る。各ピアは、その後、ユーザが、更新されるベリニムの正しいオーナであることを(音声またはビデオチャットを介して)検証し、さらにその後、署名した裏書(RCx)を作成することにより、その更新に対して保証することができる。この裏書はルートに転送可能であり、そのルートはその後、問題のベリニムに対する1組の証明書を再発行する。各ルートは独立してALGOYを実施し、さらにグループ権限セクションに見られる組み合わせ論を介して、そのCx′証明書がUxに対する新たなベリニム信用状となることに注目されたい。
ベリニムが発行された後、ベリニムの所有者は、署名済みオーナシップポリシーメッセージ(上記のRAx)をルートに提示するかもしれない。オーナシップポリシーメッセージは、ベリニムが新たなPPKを含むように合法的に更新されることを許容するポリシーステートメント(上記ステートメントSと同じ)と、ピア更新メンバのリスト(上記オブジェクトL内のリスト)とを含むベリニムオーナによって作成された署名済みメッセージである。
更新バウチャメッセージ(上記PCxメッセージ)は、所与のベリニムに対する更新ピアグループの任意のメンバによって署名されたメッセージであり、裏書としてルートサーバに提示される。
ポリシーメッセージは、ターゲットベリニウムidを含む更新バウチャメッセージをルートが受け取る度に実施されるブール式を含む。ブール式が真である場合、そのベリニムに対する新たな証明書をルートは発行する。この場合において、公開キーは、全ての有効な更新バウチャメッセージにおいてマッチングするキーである。
リレーショナル認可により、オーナシップポリシー内のブール式は、変数、論理演算子、および真偽を評価する論理関数を含む。組み合わせは、ブールステートメントを形成する。各変数は、ベリニムidである。受け取られた各々の署名済みの真正更新バウチャメッセージに対して、適切なベリニムidは真の値と置換される。更新バウチャが存在しない状態でブール式が真であると評価される場合、ポリシーは無効であるとみなされ、維持されない。ブール式が、オーナシップポリシーが適用されるベリニムidを含む場合、ポリシーは無効であるとみなされ、維持されない。
オーナシップポリシーメッセージは、ブールステートメントと、ピアベリニムのリストとを含む。このピアベリニムidのリストは、ブール式における変数として見出されるベリニムidから構成されなければならない。ルートに送られた第1の有効なポリシーは、このような維持されたオーナシップポリシーのみである。その後のポリシーメッセージは(以下で述べるように、新たなポリシーを確立するために十分なバウチャが伴っていない限り)廃棄される。従って、オーナシップポリシーは、ベリニム証明書が発行された後、可能な限り好都合な方法でサーバに送られることが重要である。アタッカがユーザの非公開キーを簡単にハイジャック可能であり、オーナシップポリシーメッセージがまだ送られていない場合、ハイジャックは永久的であり、逆行できないものとなる。ベリニムの所有者がピア可能化オーナシップポリシーを欲しない場合、そのベリニム所有者は、ブールステートメントが常に偽であると評価するオーナシップポリシーをトランクに提示するべきである。
現存のポリシーを変えるためには、以下の基準を満たさなければならない。
1.現存のオーナシップポリシーのピアリストに見られるピアベリニムが、有効なオーナシップポリシーメッセージを提示できる。ブール式およびベリニムidリストは、このような全てのメッセージに亘りマッチングする。
2.ブールステートメント内のベリニムid変数を真で置換する際に、現在のオーナシップポリシーブールステートメントが満たされなければならない。すなわち、真正のオーナシップポリシーメッセージがマッチしているベリニムidから受け取られ、その後ブールステートメントが真であると評価されるならば、現存のオーナシップポリシーブールステートメント内の各ベリニムidは、真の値と置換される。
これらの基準を満たすことは、ターゲットベリニムに対して更新するように認可されたピアグループもまた、ポリシーの変更を認可する、ということを確立する。それはまた、新たなブールステートメントが全ての関連するピアによって厳密に同意されることも確立する。この時点で、現存のポリシーは、新たなポリシーと置換される。
いくつかの実装において、情報漏洩を防止するために改良がなされ得る。情報漏洩は、オーナシップポリシーを調査する人にはベリニム更新ピアが可視であるという点で起こり得る。ベリニム間の続く関係を追跡することによって、ベリニム間の関係を推察するために使用する連結グラフを生成し、人々または機械に対する実社会マッピングを簡素化することが可能となる。このような情報を有するアタッカは、ベリニムの永久的コントロールを獲得することが可能になる1組のノード上で協調的な攻撃を理論的に計画することが可能である。これを防止する改良を実施することが可能であるが、システムが複雑になる。
情報漏洩を制限するための1つの実装において、各オーナシップポリシー(上記Lの内容)は、L′を作成するために、各ルートのPPKの公開キー部分を用いて暗号化され得る。一旦暗号化されると、ルートサーバのみがLの暗号化された内容を解読可能となる。他のいかなる外部関係者もLの内容を解読できない。ルートが更新バウチャを受け取ると、ルートは、L′の内容を解読してLを生成することが可能となり、その後、上記のようにSに対する値を計算することができる。
1つの実装において、外部監査施設Aが更新プロセスを検証し監査できることは有益である。これは、AがL′を計算できることを意味している。ベリニムのオーナOはLを有する。その理由は、元々Oが、暗号化してルートに送る前にLを計算したからである。1つの実装において、Oは比較的非公開であるどこかの場所で単にLを維持している。好ましい実装においては、Oは、ルートからLをリクエストすることが可能である。この場合、Oによってコンタクトされたルートは、L′をLに解読し、Oの非公開キーでLを暗号化してL″を生成し、このメッセージをOに送信する。Oは今や、その非公開キーを用いて、L″を解読してLを読み出すことができる。一旦何らかの機構を介してLを読み出すと、OはLをAに提示できる。Aは今や、ルートの公開キーを用いてLを暗号化することにより、L′を計算し、検証することができる。これによって、Aが獲得したものと同じLをルートが用いていることが確実となる。
上記実装において、Aもまた、十分な監査を実施するために、ルートに提示された全ての更新バウチャへのアクセスを必要とする。Aは,これらの値をOから読み出すことができる。好ましい実装において、Aは、更新バウチャをルートから直接読み出すことができる。本実装において、ルートは、以前のように、Oに対するポリシーまたはベリニムを更新する。更新が一旦うまくいくと、ルートは、その後、全ての更新バウチャを1個のオブジェクトに並べ、そのオブジェクトをLで暗号化し、RVを生成する。ルートは、その後、RVを公開する。監査人Aは今やRVを読み出すことができ、Lを用いて、ポリシー置換またはベリニムキー置換において使用される全ての更新バウチャを読み出すことができる。Aは今や監査を十分に行って、ベリニムキーを更新するか、または現存のオーナシップポリシーを置換することについての許可をルートが有したことを確実にすることができる。リクエストに際し、Oに対して監査の失敗が増大する可能性もある。その後、正しい監査情報が存在しない場合、ルートが危険にさらされることが確定する可能性もある。
1つの実装において、Lは、Lを極めて一意とする乱数または乱数値を含むことができる。例えば、128ビットの乱数値をLに加算する。これは、アタッカがL内のベリニムidに対する潜在価値およびSのフォーマットを推測し、試行錯誤によってLを再構築することを妨げる。
好ましい実施形態では、ベリニムに対する信任状の新たな置換組が作成されると、現存の信任状が無効化される。これは、現存のPKIシステムにおいて使用可能であり、以下で述べるキー失効に対する新規なアプローチを介して成就される。要するに、最新の作成タイムスタンプを有する所与のルートによって署名された有効証明書は、有効証明書であるとみなされる。より以前の日付のタイムスタンプを有する同一のベリニムidを含む他の全ての証明書は、無効であるとみなされる。
新規なキー失効
新規な改良点を説明するために、適切なコンテキストを提供することが必要である。証明書権限Aと、データ記憶(ディレクトリと呼ばれる場合が多い)Dと、ユーザUとを有していると想像されたい。Uは、Aから新たな証明書をリクエストすることを認可されている。Uは、非公開/公開キー対(px、py)とともに非対称キーKを作成する。Uは、Aが署名し認可したpyを含む証明書Cを作成することを望む。
1つの実装において、Uは、Cをリクエストする前に、以下のステップを実施する。
他のより典型的な実装において、Uは、Cをリクエストした後に、以下のアクションを実施する。
図18を参照して、手続きALGO1について述べる。
1.Uは、非対称キー1ないしNの組KEYSを作成する。この場合、nは証明書更新がAから必要とされる前に仮定された、Cの寿命にマッチングする任意の数である。値nは、任意の時間増分に基づいて決定することも可能である。例えば、証明書更新間の期間が1年であり、増分が1日である場合、n=366である。これは、区間ごとに、すなわち日ごとに、1つの証明書を提供する。代わりに、Nはスペース、送信、または他の必要条件に基づいて決定することが可能であり、間隔は番号Nから得られる。値Nは1よりも大きくなる必要はなく、この場合、KEYSは1個のキー対のみを含む。Uは、その後、証明書1ないしNを含む組Sを作成し、キー対KEYS[x]を用いて証明書S[x]を作成し、各証明書は、証明書チェーンC−>C′が有効な証明書チェーンになるように、Cによって署名される。S内の各証明書もまた、証明書「連続」フィールドに一意の値を含む。一般に、この値は1ないしNとなり、この場合、S内の証明書1はシリアル値を有し、証明書2はシリアル値2を有する、等である。
2.Uは、pxとともにS内の各証明書に署名する。
3.1つの実装において、Uは、例えば「N TERMINATE」のシリアル終端値を含む最終的な証明書Fを作成する。代わりの実装は、異なる証明書値、または、証明書増分の終了を表すいくつかのトークンを含むシリアル値に対する異なるテキスト値を使用する。すなわち、それは、全ての証明書を見る人が、Nよりも大きい値を有するS内の証明書が存在しないことを決定できるように、Sの組を終了させる。他の実装において、Fは作成されない。
4.Cを作成する任意のリクエスト(以前の場合)および全ての上記ステップが達成された後、Uは、pxおよびpyを含むキーKを破壊する。
Kは今や、回復不可能である。アタッカは、これらのステップが行われた機械にアクセスしない限り、Kにアクセスできないか、またはS内のキーに類似の、または対称の追加のキーを作成できない。Uは今や、数値的に増分されたS内のN個の証明書のリスト、ならびにSの組のサイズを明白に示し、さらに終了を明白に示す情報を含む証明書Fを有する。さらに、Uは、これらの証明書をいかなる他の者ともまだ共有していない。それらは、局所的に作成され、Aは必要ではなかった。
N個のオブジェクトから構成されるCERTの組を定義する。ここでは、各オブジェクトは、1とNの間の各xのための対(S[x]、KEYS[x])を含む。
1つの実装において、Uは今や、CERT内の各オブジェクトおよび非公開キーPを有する証明書Fを暗号化し、1組のサイズNの暗号化オブジェクトであるPSの組を生成する(各々は、証明書または証明書/KEY[x]対)を含む)。Pは、Uにのみに知られたパスワードである。
他の実装において、UはCERT内の各オブジェクトをJ個の部分に分け、J個のキーを用いて暗号化する。これらのキーは、非対称または対称キーであってもよい。非対称キーの場合、1つの実装は、ピアユーザの証明書を用いて各部を暗号化することである。このピアグループをTと呼ぶ、このような場合、PSは、1組の集合から構成され、各々は、これらの暗号化されたオブジェクトを含み、各部分集合はJ個の部分から構成される。
1つの実装において、Uは、保存のためにディレクトリにPSを転送する。
1つの実装において、Uは、保存のために他のピアユーザにPSを転送する。
1つの実装において、Uは、ディスクドライブ上、またはペンドライブ等の他の記憶媒体にオフラインでPSを記憶する。
1つの実装において、Uは、PS内の各オブジェクトP′をJ個の部分に分解し、このような各部分を異なる場所に配置する。場所は、ピア、ローカルの記憶装置、CA記憶装置等、上記の場所を含み得る。
証明書C″(Cプライム)を集合S内のいずれかの証明書として定義する。PKIシステムは、証明書C′をCの有効性を有するものとして処理しなければならない。C′がAの正しい証明書チェーンを維持することは、検証され得る。AはCに署名し、CはC′に署名した。従って、C′はPKI証明書チェーンを用いてAへの直接経路を有する。その後、各C′がCによって署名されたことが明らかとなる。従って、Cの記録を有する場合、PKIシステムの他のメンバが明らかにC′をAまで追跡することが可能であり、UがC′を保持する際に、信頼のおける通信、認証、認可等がUに対するシステム内で発生することを可能にする。
PKIシステムの各ユーザ(ディレクトリ、個人、CA,第3者等)は、より大きいシリアル値を含む証明書C′を有効証明書として、より小さいシリアル値を有するCによって署名された任意の現存の証明書を破棄され無効化されたものとして処理しなければならない。
上記を含む場合の1つの実装において、終端値を含む最終的証明書Fを受け取る各ユーザは、C′を用いるいずれのトランザクションももはや許容してはならない。
以下の例は、図19を参照してこの概念を実証する。
1.シリアル値2を有するC′が、ディレクトリDに提示される。
2.Dは、シリアル値1を有するC′を含む。
3.Dが、シリアル値1を有するC′を廃棄し、シリアル値2を有するC′を記憶する。
4.ユーザHが、Uに対する証明書をリクエストし、シリアル値2を有するC′を受け取る。
5.Fが、ディレクトリDに提示される。
6.ユーザHが、Uに対する証明書をリクエストし、Fを受け取る。ユーザHは、トランザクションおよびいずれかの将来のトランザクションを許可しない。
従って、全体としてのPKIシステム内における進行中の最新のC′は有効C′とみなされ、より小さいシリアル値を有する全ての他のものは、無視され、廃棄されたものとみなされる。システムのいずれかのユーザがC′内のシリアルに対してより大きい値を受け取る場合、そのC′が使用され、より小さいシリアルC′に開かれた接続部は閉じられ、より小さいシリアルC′証明書に対する全てのサービスが無効とされる。
1つの実装において、リクエストまたは署名された指示または他のビジネスが、非公開キー部分、すなわちユーザを有するC′を保持するエンティティによって実施され、または開始されると、そのユーザは、多数のディレクトリに対し、より大きいC′が存在するか否かをチェックするよう問い合わせる。もしそうである場合には、そのリクエストまたはビジネスはキャンセルされるか、エンティティが接続解除されるか、等である。すなわち、より小さい値C′の所有者は、有効なオーナであるとはみなされない。このような実装においては、PKIを含むディレクトリの世界全体に1つ存在すると仮定すれば、クエリに加えられた各々の追加のディレクトリは、より大きい値C′が見出される機会を増大させることが示され得る。
Uは今や、同一の暗号強度を有して機能するCのための代替品として使用できる証明書のリストを有する。Uは、PKIシステムの残りがそのC′を見るのみであり、より大きい値のC′は見ない限りは、その集合内のC′を使用することが可能である。
C1、C2、、、CNをCERT内の証明書の値として定める。K1、K2、、、KNをCERT内のキーの公開/非公開対として定め、K1はC1を用いて暗号化されたデータを解読し、K2は、C2個の符号化データを解読する、等である。
AがCに署名し、UがALGO1を実施した後、Uは、C1およびK1を用いて開始可能となる。C1またはK1が失われる、盗まれる、またはある期間に基づく場合、Uは以下のアクションを実施できる。明確にするために、1つの実装において、Uは、毎日、またはいずれかの期間に基づいて、証明書を循環させることができる。Uは,C2およびK2を含む暗号化されたまたは分割されたオブジェクトを得る。このオブジェクトは、1つの実装においては暗号化され、Uは、それを非公開パスワードで解読する。他の実装において、Uは全てのピースP′を集め、様々な場所からC2およびK2を再構築し、その後、内容を(もし解読される場合には)解読する。他の実装においては、UはピアTに接触し、各メンバを解読し、UがC2およびK2を再構築可能になるまでその部分をUに提示する。
Uは今や、有効なC2およびK2を有する。Uは、1つまたはそれ以上のディレクトリにC2を分配する。このような各ディレクトリは、C1をC2と置換する。このような各ディレクトリに接触する将来のユーザ全ては、C1の代わりにC2を得て、それが有効であり且つC1が無効であることを確認できる。1つの実装において、Uはまた、Uが相互作用するか、または相互作用してきたユーザのリストにC2を分配する。これらのユーザは、C2をキャッシュし、即座にアタッカがC1を使用出来ないようにすることができる。1つの実装において、ユーザがC2をキャッシュするならば、ユーザは、1つまたはそれ以上のディレクトリに接触して最新の証明書をリクエストする必要はなくなる。
C1を有するアタッカは、C2が一旦システム内に導入されると、Uのためのデータおよびサービスへのアクセスが不可能になる。C1は、たとえ明白な失効プロセスが実施されなくても、実際には無効化される。代わりに、C2の発布が、C1の使用を無効化し且つ不要にする。この型式の積極的なコントロールは、Uに、それ自体の証明書有効性ステータスを管理し、知ることによって最も利益を得るシステムのユーザに対して新たな証明の知識を公表する権限を与えるものであるため、非常に強力である。
Uが、証明書、証明書失効リスト(CRL)または他のデータをAからリクエストすることが必要である時がなかったことに注目されたい。全ての失効は、トランザクションが発生する時にのみ、Uおよびシステムの様々な他の部分によって処理されている。さらに、UおよびC2を再構築するために頼りにしたいずれかのピアグループを除いて、誰も手動の方法に参加しなかった。Xが1からnである将来の各CXに対して、Uは同じ演算を実施することが可能である。1つの実装において、Uが彼らの証明書はもはや使用するべきではないと判断する時、もしくはその場合、または、Cが有効なタイムスタンプをもはや含まないために、Uはディレクトリまたは他の手段を介してPKIシステムに証明書Fをリリースすることが可能である。他の実装において、ALGO1からのステップ2を使用する代わりに、Aは、各キーにpxで署名することに代えて各キーに署名する。Aは、証明書に署名しなければならないが、最初のC1を越えてその証明書を分配したり公布したりしてはならない。この場合、証明書チェーンは、A―>C′のようになる。そうでない場合は、ステップは同じある。
トラベリングキー:
リレーショナル認可を使用してキー更新を実施するには、中央ルートとの通信、ピアの関与およびOの部分に対する時間と努力が必要である。さらに、ユーザが更新プロセスを実施しなければならない時は、その度に、中央ルートが必要となり、これによって、ENT中央システムに余分の負荷を生成され得る。ユーザが使い捨てのキーを有するのであれば、より良い。これによって、ユーザは、様々な目的のために一時的にその非公開キーをホスティングする装置を切り替えることが可能になり、その装置がなくなるか、または盗まれる等の場合を許容する。ユーザが、ルートサーバに接触することなく、より頻繁にキーを切り替えることも可能になる。理想的には、ユーザが、ルートサーバに可能な限り接触しないようにするべきである。ENTにおいて、これらの取り換え可能なキーは、トラベリングキーと呼ばれる。トラベリングキーは、非公開非対称キーと、連番を含む公開証明書とから構成される。上記セクションによれば、トラベリングキー証明書におけるより大きい連番は、より小さい連番を有する既存のトラベリングキー証明書を無効化する。
トラベリングキーは、キー無効化および除去のための上記機構を使用する。ベリニムの非公開キー部分は、トラベリングキーのグループに署名し、さらにそれを作成するために使用される。そのキーは、その後破壊され、同等レベルのセキュリティおよび必要に応じてキーをロールオーバする能力を提供する1組のトラベリングキーを残す。
1つの実装において、1組のトラベリングキーが製造される。数は実際には変化するが、30以上で十分となるはずである。さらに、終了証明書もまた、上記ルールに従って作成される。終了証明書がENT内のいずれかのピアノードにリリースされる場合、そのピアノードは、もはや現存のベリニム証明書を受け入れず、ベリニムは、ピア更新プロセスを用いて更新する必要がある。
1つの実装において、ユーザは、安全な1か所において、そのトラベリングキーのいくつか、または全てを記憶することとしてもよい。しかしながら、好ましい実装において、トラベリングキーはいくつかのグループのピア間で分配される。ピアは、ピア更新プロセス用に使用されるものと同じピアであってもよく、または異なる組であってもよい。
1つの実装では、キーは、ラウンドロビン方式でピアに対して、(必要になるまで)記憶するために分配される。例えば、キーが分配されるピアが3個存在する場合、ピア1は、連番1のキーを受け取り、ピア2は、キー2を受け取る、等である。これによってユーザは、任意のピアと接触し、より大きい連番のキーを獲得することが可能になる。ENTシステム内に見られる最も大きい連番が有効なキーとして考えられるので、任意のピアがより進化したキーを生成できるべきである。好ましい実装において、終了証明書は、全てのピアと共に記憶される。これによって、任意の既知のピアからユーザにアクセス可能となる。
1つの実装において、分配された各キーは、ベリニムオーナのみに知られているキーで暗号化される。これによって、意のままに、または信任状を含む装置またはメモリ記憶が不正アクセスされるか、または盗まれる場合に、いずれのピアもベリニム信任状にアクセスすることが妨げられる。この機構は、各トラベリングキー証明書および非公開キー対を暗号化するために、多数の非対称キー暗号化プロセスのうちのいくつかを使用する。非対称キーは、ベリニムオーナによって選択されたパスワードである。
リレーショナル認可およびトラベリングキーを実装することについての操作上の配慮
好ましい実装においては、ENTにより、ユーザは、その最近のトラベリングキーをいずれかの、または全てのルートに提示することが可能になる。ルートは、ユーザに対してENTシステム上で観察された最も有効なトラベリングキーを記憶する。実際には、ユーザが新たなトラベリングキーの使用を開始する際、そのキーのコピーをルートサーバに提示し、それによって、最新のキーのためのルートに対する任意のノードによる任意のクエリが、そのキーを返すことになる。
1つの実装において、ENTにより、ユーザはその最新のトラベリングキーを他のENTノードに送信することにより、それらのノードを直接更新することが可能になる。これは、キー公布と呼ばれる。これは、ユーザが、直接に接触可能な様々なENT可能化サービスを有する場合に有用である。これらの場合、ユーザ(または、その代わりのソフトウェア)は、ユーザの記録済みサービスの全てに接触し、最新のトラベリングキーを直接送信することができる。ENTノードは、特に、そのノードに関連性がある場合、他のENTノードベリニムのキャッシュを維持するように促される。ENTノードがトラベリングキー証明書を受け取り、その証明書が、あまり有効ではないトラベリングキーのための現存の証明書よりも新しい場合、そのノードは、現存のキー証明書をより新しいバージョンと交換するべきである。この概念は、所与のユーザによって使用される任意のサービスがユーザの最新のENT信任状を有することが確実となることから、非常に有用である。これによって、アタッカが、不正アクセスされたトラベリングキーまたは以前のベリニム信任状を使用するために持ち得る機会を減らすことになる。さらに、サービスセキュリティポリシーによっては、性能を改良する場合もある。
1つの実装において、ENTは、インターネット周辺に配置された多数のデータストアを有する。これらのストアの各々は、システム上のベリニムの部分集合に対するベリニム信任状およびトラベリングキーのリストを含む。ユーザは、これらのセンターのいずれかと共にキー公布を使用してもよい。いずれかのユーザサービスと同様に、より有効なベリニム信任状またはトラベリングキーを受け取るセンターは、その現存するコピーをより有効なものと交換する。実際、データストアは、ベリニム識別子の範囲をサービスするものと思われる。データストアが一旦ベリニムidを1から1000までカバーすると、他のものは、ベリニムidを1001から2000までをカバーすることになる、等である。実際には、多数のデータストアが同じidの範囲をカバーするものと思われる。多数のデータストアが同じベリニムidの範囲をカバーする場合、それらのストアは、ベリニム信任状またはトラベリングキーのいずれかの成功裏の更新を、同じベリニムidをカバーする他のストアに伝達するべきである。
サービスに対するキー公布は、第1のステップとしての上記ルート提示機構上では、第1のステップとして好ましい。データストアに対するキー公布は、好ましい第2のステップである。全てのステップは、実際に推薦されており、可能な限り迅速に達成されるはずである。好ましい実装においては、不正アクセスの場合の損失の値がより大きいサービスが、より小さい値のノード以前に接触されるべきである。全てのサービスが更新されると、データストアが更新されるべきである。ルート更新は、最終的に成就される。
他の実装において、異なる公布技術を使用することが可能である。例えば、ピアツーピアネットワークを使用して、より新しい信任状に対して多数のピアをサーチすることが可能である。このような多くの他のトポロジおよび技術が存在する。
所与のノードにより提供されたサービスの臨界性に基づいて、セキュリティレベルを設定することが可能である。
例えば、ENTを使用する銀行は、損失コストがより高くなるために、チャットサイトよりも、厳密な有効性チェックに対して高い要求を有する。厳密なテストを実施すると、時間(待機時間)、帯域幅およびいくつかの倍数による計算の観点から、トランザクションのコストが増大する。従って、ENTは、多様なセキュリティレベルを提供する。ベリニムの検証は、2つの主たる段階から構成される。第1の段階は、キャノピ検証と呼ばれ、それぞれ異なるルートによって署名された多数の現存の証明書の検証から構成される。もしN個のルートが存在するとすると、全キャノピ検証がセキュリティチェックとなり、その場合、N/2個よりも多いルート署名チェーンが確認される。しかしながら、これは、ある型式のトランザクションに対して有用であるよりもセキュリティが高い可能性がある。従って、1およびN/2+1個の署名チェーン間のどこかの場所が、所与のトランザクションに対して検証されなければならない。より高いセキュリティトランザクションに対しては、完全セキュリティチェックを実施するべきである(グループ権限セクションで定義したように、100%以上の信頼性レベル)。自明な、または非常に小さい値のトランザクションに対しては、1個のルートに対して1個の署名チェーンチェックが達成され得る。1個のルート署名チェーンのみのチェックにより、そのルートをコントロールするアタッカがユーザになりすますことが可能になる。これは、より多くのルートチェーンを検証することにより軽減される。なぜなら、アタッカが多数のルートに不正アクセスする可能性は小さいからである。完全キャノピ検証レベルでは、アタッカは、N/2個よりも多いノードのコントロールを獲得していなければならない。事実上、ENTシステム全体のコントロールを握らなければならないことになる。
第2の段階は、ベリニム信任状に対するシステム全体のサーチと、最も有効なトラベリングキー信任状(もし使用するならば)とから構成される。アタッカがサービスにアクセスし、古い信任状を手渡し、サービスがより新しい信任状の存在に対してチェックしない場合、サービスは、アタッカの信任状が有効であったと仮定するだろう。高価値トランザクションに対して、最も安全な機構は、有効ベリニム信任状と有効トラベリングキーとの両方に対して適切なデータストアの1つをチェックすることである。しかしながら、低価値トランザクションに対しては、このステップは、省略されるか、または「怠惰に」実施され得る。怠惰なチェックによって、トランザクションは継続可能となる。しかしながら、チェックは、トランザクションが継続可能である間は、適切なデータストアに対して非対称的に成就される。サーチがより新しい信任状を見つけ出し、トランザクションを開始するために使用した現存の信任状が無効であることを証明する場合、トランザクションは、可能であるならば、終了して逆行させるべきである。
1つの実装において、第2段階のチェックは、ユーザが決定した適時の期間内にサーチが既に行われている場合、スキップされ得る。例えば、以前のサーチが最後の30分以内に行われていた場合、チェックをスキップすることが可能である。
好ましい1つの実装は、3つのセキュリティレベルを使用する。「過度に単純化した」レベルチェックは、1個のルートに対するキャノピ検証を単に実施するのみであり、第2段階は全く行わない。「基本」レベルは、完全セキュリティチェックを実施し、その後、より新しい信任状に対して「怠惰な」サーチを行う、というものである。「完璧」なレベルチェックは完全セキュリティチェックを実施し、トランザクション前の信任状サーチは継続するように許可される。
1つの実装において、トランザクションはキャッシュされることを許される。これによって、ベリニム信任状またはトラベリングキーが変化するまで、後のトランザクション上でキャノピ検証がスキップ可能となる。ベリニムを有する第1のトランザクションでは、サービスがキャノピ検証を必要とする。しかしながら、チェックは、ルートの過半数が所与のベリニムに対してバウチャされるのを確実にするように全体的に構成される。ベリニム信任状がその最初のトランザクション以来変化していない場合、後のトランザクションは、他のキャノピ検証を実施する必要なく、このキャッシュされた結果を使用できる。
両方のセキュリティチェックが一旦行われると、サービスはオーナシップの証拠をリクエストする。これは、サービスを用いてトランザクションを開始するユーザがトラベリングキーの適当な非公開キー部分を有し、またはトラベリングキーを使用しない場合には、ベリニム内に見られる公開部分にマッチングする非公開キー部分を有することを確実にする。これは通常、TLS標準に見られるようなハンドシェーク機構を伴う。このトピックは他の情報原によってうまくカバーされ、信頼性を決定し、非公開通信チャネルを確立するためのPKIシステム内に見られる従来の機構に従う。ENTにおいては、もし利用可能であれば、トラベリングキーを使用する場合もある。そうでない場合は、すべて同一の公開キーを有するのであるから、ベリニム信用状内のいかなる証明書が使用されてもよい。
1つの実装において、トランザクションが開始されると、ユーザは最新のベリニムおよびトラベリングキーの情報をサービスに送信する。これによって、サービスは、「過度に単純化した」または「基本的な」セキュリティチェックを実施中であるならば、他のサービスに接触する必要なく、トランザクションを処理することが可能になる場合もある。
図20を参照すると、ブロック図は一実施形態によるシステム100を示しており、このシステム100は、上記のようにENTシステムを使用して、様々な他のシステムにアクセスすることが可能なユーザアクセスターミナル105を備える。ユーザアクセスターミナル105は、スマートフォン、携帯電話、VoIPフォン、パーソナルデジタルアシスタント、タブレットコンピュータ、ラップトップコンピュータ、携帯用デジタル音楽プレーヤ、音声もしくはデータを伝達する他のモバイルデバイス、またはこれらの組み合わせのような多数のデバイスのうちの1つであってもよい。ユーザアクセスターミナル105は、例えばローカルエリアネットワークへの有線または無線接続を含むネットワーク接続コンピュータシステムを備えることも可能である。ユーザアクセスターミナルは、電子アプリケーションに対するユーザアクセスをコントロールするための機能を果たすために動作可能な好適なデバイスを備えてよく、図15に示す特定のコンポーネントは、ここで述べる一般的概念を例示し、述べるためのものであることが容易に理解されるであろう。様々な実施形態においては、ユーザアクセスターミナル105は、上記例による動作が可能である。
図20の実施形態におけるユーザアクセスターミナル105は、直接に、またはネットワークを介してアクセスシステム110に接続する。このようなネットワークは、多数の異なるプロトコルのいずれかでデータを送信することが可能な好適なネットワークを備えることも可能である。このようなネットワークは、周知のものであり、ここでさらに詳細に説明する必要はない。アクセスシステム110は、例えば、他のネットワーク接続コンポーネントを有するインターネット等のネットワーク115に相互接続される。セントラルサーバコンピュータシステム120はネットワーク115に接続され、様々な実施形態で、上記のようにENTシステムに関連する機能を果たす。セントラルサーバコンピュータシステム120は、例えば、1個以上のサーバコンピュータ、パーソナルコンピュータ、ワークステーション、ウェブサーバ、または他の好適なコンピューティングデバイスから構成することができ、所与のサーバのための個々のコンピューティングデバイスは、ローカルにあるか、または互いに遠く離れていてもよい。ユーザシステム125もまた、ネットワーク115に直接接続され得る。このようなユーザシステム125は、上記のようなシステムを採用できる他のユーザアクセス点であってもよい。
本発明は、例示の目的のためにのみ、特定の実施形態を用いてここで述べられた。しかしながら、本発明の原理が他の方法でも具体化可能であることは、当業者には直ちに明らかであろう。従って、本発明は、ここで開示した特定の実施形態に限定されるものではなく、以下に示す請求の範囲のスコープに十分見合うものとして見なされるべきである。

Claims (15)

  1. 人間、エンティティまたは電子デバイスのための一意識別子を作成するための方法であって、前記方法は、1より大きい数(N)のルートサーバを含むグループ権限構造内で実現され、
    第1のルートサーバにおいて、要求元から一意識別子に対するリクエストを受け取るステップと、
    前記第1のルートサーバにおいて、一意識別子とポリシーと含む第1の証明書を発行するステップであって、前記ポリシーは、1個またはそれ以上の他の一意識別子を含み、該ポリシー内の他の識別子の数が1より大きい場合には少なくとも1個のブール演算子または数学関数をさらに含むステップと、
    前記第1のルートサーバにおいて、該第1のルートサーバに関連付けられた公開/非公開キー対のうちの非公開キーを用いて、前記発行した第1の証明書に署名するステップと、
    前記第1のルートサーバから他の前記ルートサーバのそれぞれに対して、前記署名した発行済み第1の証明書を送信するステップと、
    他の前記ルートサーバのそれぞれにおいて、前記署名した発行済み第1の証明書の抽象的一意識別子を検証するステップと、
    他の前記ルートサーバのそれぞれにおいて、前記一意識別子及び前記ポリシーを含む追加の証明書を発行するステップと、
    他の前記ルートサーバのそれぞれにおいて、前記それぞれの他のルートサーバに関連付けられた公開/非公開キー対のうちの非公開キーを用いて、前記発行済み追加証明書に署名するステップと、
    データレポジトリにおいて、前記要求元に対する前記署名した発行済み第1の証明書及び前記署名した発行済み追加証明書を記憶するステップと
    を備えることを特徴とする方法。
  2. 前記Nは奇数であり、
    前記各ルートサーバは、他の全てのルートサーバから独立して署名し動作する
    ことを特徴とする請求項1に記載の方法。
  3. 2個のルートコンピュータサーバは、2個の異なる要求元に対して同一の一意識別子を発行することはできない
    ことを特徴とする請求項1に記載の方法。
  4. 各ルートサーバは、排他的な範囲の一意識別子を発行することを許可されている
    ことを特徴とする請求項1に記載の方法。
  5. 前記要求元に対する前記署名した発行済み第1の証明書および前記署名した発行済み追加証明書は、前記要求元のいかなる説明または識別も含まない
    ことを特徴とする請求項1に記載の方法。
  6. 前記抽象的一意識別子は、多数(X)の前記署名した発行済み第1の証明書および前記署名した発行済み追加証明書が有効である時に有効であるとみなされ、
    X=N/2+1である
    ことを特徴とする請求項1に記載の方法。
  7. 前記リクエストは、前記ポリシーをさらに含む
    ことを特徴とする請求項1に記載の方法。
  8. 前記ルートサーバにおいて、前記第1の発行済み証明書内の前記一意識別子の更新のための更新リクエストを受け取るステップであって、前記更新リクエストは、非公開キーを用いて前記他の一意識別子に関連する人、エンティティまたは電子デバイスのそれぞれによって署名されるステップと、
    各ルートサーバにおいて、前記第1の発行済み証明書内の前記ポリシーの実行を介して前記更新リクエストを検証するステップと、
    各ルートサーバにおいて、前記第1の発行済み証明書を交換するための交換証明書を発行するステップと、
    各ルートサーバにおいて、該それぞれのルートサーバに関連付けられた公開/非公開キー対のうちの非公開キーを用いて前記交換証明書に署名するステップと、
    データレポジトリにおいて、前記署名した発行済み交換証明書を記憶するステップと
    をさらに備えることを特徴とする請求項1に記載の方法。
  9. 前記グループ権限は、前記ポリシーの実施を自動化する
    ことを特徴とする請求項1に記載の方法。
  10. 前記第1の発行済み証明書は、公開キーまたは前記要求元に関連する公開キーの識別を備える
    ことを特徴とする請求項1に記載の方法。
  11. 前記ポリシーは、前記一意識別子を交換または更新するためのポリシーを含む
    ことを特徴とする請求項1に記載の方法。
  12. 前記ポリシーは、前記一意識別子を認証するためのポリシーを含む
    ことを特徴とする請求項1に記載の方法。
  13. 人間、エンティティまたは電子デバイスのための一意識別子を作成するための方法であって、前記方法は、サーバ上で実現され、
    前記サーバにおいて、要求元から一意識別子に対するリクエストを受け取るステップと、
    前記サーバにおいて、一意識別子とポリシーと含む第1の証明書を発行するステップであって、前記ポリシーは、1個またはそれ以上の他の一意識別子を含み、該ポリシー内の他の識別子の数が1より大きい場合には少なくとも1個のブール演算子または数学関数とを含むステップと、
    前記サーバにおいて、該サーバに関連付けられた公開/非公開キー対のうちの非公開キーを用いて、前記発行した第1の証明書に署名するステップと、
    データレポジトリにおいて、前記署名した発行済み第1の証明書を記憶するステップと
    を備えることを特徴とする方法。
  14. 前記署名した発行済み第1の証明書は、前記要求元のいかなる説明または識別も含まない
    ことを特徴とする請求項13に記載の方法。
  15. 前記リクエストは、前記ポリシーをさらに含む
    ことを特徴とする請求項13に記載の方法。

JP2015541937A 2012-11-09 2013-11-08 エンティティ・ネットワーク・トランスレーション(ent) Expired - Fee Related JP6285454B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261724763P 2012-11-09 2012-11-09
US61/724,763 2012-11-09
GB61/724,763 2012-11-09
PCT/US2013/069217 WO2014074865A2 (en) 2012-11-09 2013-11-08 Entity network translation (ent)

Publications (2)

Publication Number Publication Date
JP2015536617A true JP2015536617A (ja) 2015-12-21
JP6285454B2 JP6285454B2 (ja) 2018-02-28

Family

ID=50682897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015541937A Expired - Fee Related JP6285454B2 (ja) 2012-11-09 2013-11-08 エンティティ・ネットワーク・トランスレーション(ent)

Country Status (10)

Country Link
US (1) US20140136838A1 (ja)
EP (1) EP2918042A4 (ja)
JP (1) JP6285454B2 (ja)
KR (1) KR101569818B1 (ja)
CN (1) CN104904157A (ja)
AU (2) AU2013342220A1 (ja)
CA (1) CA2889936A1 (ja)
HK (1) HK1214693A1 (ja)
SG (1) SG11201503553YA (ja)
WO (1) WO2014074865A2 (ja)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019508950A (ja) * 2016-02-23 2019-03-28 エヌチェーン ホールディングス リミテッドNchain Holdings Limited 統合ブロックチェーンに基づくデータ転送制御方法及びシステム
JP2020503784A (ja) * 2016-12-30 2020-01-30 インテル・コーポレーション モノのインターネット
US11120437B2 (en) 2016-02-23 2021-09-14 nChain Holdings Limited Registry and automated management method for blockchain-enforced smart contracts
US11182782B2 (en) 2016-02-23 2021-11-23 nChain Holdings Limited Tokenisation method and system for implementing exchanges on a blockchain
US11194898B2 (en) 2016-02-23 2021-12-07 nChain Holdings Limited Agent-based turing complete transactions integrating feedback within a blockchain system
US11308486B2 (en) 2016-02-23 2022-04-19 nChain Holdings Limited Method and system for the secure transfer of entities on a blockchain
US11349645B2 (en) 2016-02-23 2022-05-31 Nchain Holdings Ltd. Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
US11356280B2 (en) 2016-02-23 2022-06-07 Nchain Holdings Ltd Personal device security using cryptocurrency wallets
US11373152B2 (en) 2016-02-23 2022-06-28 nChain Holdings Limited Universal tokenisation system for blockchain-based cryptocurrencies
US11410145B2 (en) 2016-02-23 2022-08-09 nChain Holdings Limited Blockchain-implemented method for control and distribution of digital content
US11455378B2 (en) 2016-02-23 2022-09-27 nChain Holdings Limited Method and system for securing computer software using a distributed hash table and a blockchain
US11606219B2 (en) 2016-02-23 2023-03-14 Nchain Licensing Ag System and method for controlling asset-related actions via a block chain
US11621833B2 (en) 2016-02-23 2023-04-04 Nchain Licensing Ag Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
US11625694B2 (en) 2016-02-23 2023-04-11 Nchain Licensing Ag Blockchain-based exchange with tokenisation
US11727501B2 (en) 2016-02-23 2023-08-15 Nchain Licensing Ag Cryptographic method and system for secure extraction of data from a blockchain

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582671B2 (en) * 2014-03-06 2017-02-28 Sensity Systems Inc. Security and data privacy for lighting sensory networks
CN103687200A (zh) 2012-09-12 2014-03-26 赛西蒂系统股份有限公司 用于传感应用的网络化照明基础设施
RU2673842C1 (ru) * 2015-03-20 2018-11-30 Ривец Корп. Автоматическая аттестация сохранности устройства с применением цепочки блоков
CN107210414A (zh) * 2015-03-24 2017-09-26 帝人株式会社 非水系二次电池用隔膜及非水系二次电池
WO2016163979A1 (en) * 2015-04-06 2016-10-13 Hewlett Packard Enterprise Development Lp Certificate generation
WO2017096399A1 (en) 2015-12-04 2017-06-08 Visa International Service Association Secure token distribution
US10735802B2 (en) * 2015-12-04 2020-08-04 Sharp Kabushiki Kaisha Recovery data with content identifiers
US10341325B2 (en) * 2016-01-29 2019-07-02 Vmware, Inc. System and method for transferring device identifying information
US10861019B2 (en) * 2016-03-18 2020-12-08 Visa International Service Association Location verification during dynamic data transactions
US10122761B2 (en) 2016-05-31 2018-11-06 Airwatch Llc Device authentication based upon tunnel client network requests
US10635648B2 (en) * 2016-11-30 2020-04-28 Nutanix, Inc. Entity identifier generation in distributed computing systems
US10374809B1 (en) * 2016-12-13 2019-08-06 Amazon Technologies, Inc. Digital signature verification for asynchronous responses
US10754983B2 (en) * 2017-03-31 2020-08-25 Interset Software Inc. Anonymization of sensitive data for use in user interfaces
US10674358B2 (en) * 2017-04-10 2020-06-02 Qualcomm Incorporated Representing unique device identifiers in hierarchical device certificates as fully qualified domain names (FQDN)
CN115688136A (zh) 2017-06-20 2023-02-03 707 有限公司 证明数字文档存在的方法及其系统以及标签链区块链系统
US11924342B2 (en) * 2017-06-20 2024-03-05 707 Limited Computer-implemented methods for evidencing the existence of a digital document, anonymously evidencing the existence of a digital document, and verifying the data integrity of a digital document
US11018875B2 (en) * 2017-08-31 2021-05-25 Onboard Security, Inc. Method and system for secure connected vehicle communication
US11108760B2 (en) 2018-12-05 2021-08-31 Sidewalk Labs LLC Methods, systems, and media for recovering identity information in verifiable claims-based systems
US11360812B1 (en) * 2018-12-21 2022-06-14 Apple Inc. Operating system apparatus for micro-architectural state isolation
US11431511B2 (en) * 2019-06-03 2022-08-30 Intuit Inc. Centralized authentication and authorization with certificate management
US20210192520A1 (en) * 2019-12-17 2021-06-24 Synchrony Bank Distributed credit ecosystem
CA3094539A1 (en) * 2020-07-23 2022-01-23 The Toronto-Dominion Bank Multidirectional synchronization of confidential data using distributed ledgers
US11930125B2 (en) * 2020-08-18 2024-03-12 Entrust Corporation Binding of multiple heterogeneous root certificate authorities

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001188757A (ja) * 1999-12-28 2001-07-10 Nippon Telegr & Teleph Corp <Ntt> 証明書を用いたサービス提供方法
JP2004274193A (ja) * 2003-03-06 2004-09-30 Sony Corp 無線通信システム、端末、その端末における処理方法並びにその方法を端末に実行させるためのプログラム
JP2006004314A (ja) * 2004-06-21 2006-01-05 Nec Corp 信用確立方法と信用に基づいたサービス制御システム
JP2006340178A (ja) * 2005-06-03 2006-12-14 Hitachi Ltd 属性証明書検証方法及び装置
JP2008022526A (ja) * 2006-06-13 2008-01-31 Hitachi Ltd 属性証明書検証方法、属性認証局装置、サービス提供装置、および属性証明書検証システム
JP2015512599A (ja) * 2012-04-09 2015-04-27 インテル・コーポレーション オンライン識別及び認証

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825880A (en) * 1994-01-13 1998-10-20 Sudia; Frank W. Multi-step digital signature method and system
US7827401B2 (en) * 1995-10-02 2010-11-02 Corestreet Ltd. Efficient certificate revocation
US7337315B2 (en) * 1995-10-02 2008-02-26 Corestreet, Ltd. Efficient certificate revocation
US6487658B1 (en) * 1995-10-02 2002-11-26 Corestreet Security, Ltd. Efficient certificate revocation
US6028938A (en) * 1996-04-30 2000-02-22 Shana Corporation Secure electronic forms permitting layout revision
US5610982A (en) * 1996-05-15 1997-03-11 Micali; Silvio Compact certification with threshold signatures
US6134658A (en) * 1997-06-09 2000-10-17 Microsoft Corporation Multi-server location-independent authentication certificate management system
US7047415B2 (en) * 1997-09-22 2006-05-16 Dfs Linkages, Inc. System and method for widely witnessed proof of time
US7610614B1 (en) * 1999-02-17 2009-10-27 Certco, Inc. Cryptographic control and maintenance of organizational structure and functions
US6223291B1 (en) * 1999-03-26 2001-04-24 Motorola, Inc. Secure wireless electronic-commerce system with digital product certificates and digital license certificates
US7707420B1 (en) * 1999-06-23 2010-04-27 Research In Motion Limited Public key encryption with digital signature scheme
AU6097000A (en) * 1999-07-15 2001-02-05 Frank W Sudia Certificate revocation notification systems
US6816900B1 (en) * 2000-01-04 2004-11-09 Microsoft Corporation Updating trusted root certificates on a client computer
US7028180B1 (en) * 2000-06-09 2006-04-11 Northrop Grumman Corporation System and method for usage of a role certificate in encryption and as a seal, digital stamp, and signature
JP3588042B2 (ja) * 2000-08-30 2004-11-10 株式会社日立製作所 証明書の有効性確認方法および装置
US20020116611A1 (en) * 2000-10-31 2002-08-22 Cornell Research Foundation, Inc. Secure distributed on-line certification authority
US7290133B1 (en) * 2000-11-17 2007-10-30 Entrust Limited Method and apparatus improving efficiency of end-user certificate validation
JP2002207427A (ja) * 2001-01-10 2002-07-26 Sony Corp 公開鍵証明書発行システム、公開鍵証明書発行方法、および情報処理装置、情報記録媒体、並びにプログラム記憶媒体
US7769690B2 (en) * 2001-11-06 2010-08-03 International Business Machines Corporation Method and system for the supply of data, transactions and electronic voting
GB2385955A (en) 2002-02-28 2003-09-03 Ibm Key certification using certificate chains
US7321969B2 (en) * 2002-04-26 2008-01-22 Entrust Limited Secure instant messaging system using instant messaging group policy certificates
US7552321B2 (en) * 2003-11-20 2009-06-23 The Boeing Company Method and hybrid system for authenticating communications
US20050138388A1 (en) * 2003-12-19 2005-06-23 Robert Paganetti System and method for managing cross-certificates copyright notice
US7472277B2 (en) * 2004-06-17 2008-12-30 International Business Machines Corporation User controlled anonymity when evaluating into a role
US7130998B2 (en) * 2004-10-14 2006-10-31 Palo Alto Research Center, Inc. Using a portable security token to facilitate cross-certification between certification authorities
US7716139B2 (en) * 2004-10-29 2010-05-11 Research In Motion Limited System and method for verifying digital signatures on certificates
GB0428596D0 (en) * 2004-12-24 2005-08-10 Qinetiq Ltd Public key infrastructures
WO2007053864A1 (de) * 2005-11-09 2007-05-18 Xyzmo Software Gmbh Verfahren zur erzeugung einer fortgeschrittenen elektronischen signatur eines elektronischen dokuments
US8392702B2 (en) * 2007-07-27 2013-03-05 General Instrument Corporation Token-based management system for PKI personalization process
CA2712242C (en) * 2008-01-18 2017-03-28 Identrust, Inc. Binding a digital certificate to multiple trust domains
US8230215B2 (en) * 2008-04-11 2012-07-24 Toyota Motor Engineering & Manufacturing North America, Inc. Method for allocating multiple authentication certificates to vehicles in a vehicle-to-vehicle communication network
US8484461B2 (en) * 2008-09-30 2013-07-09 Motorola Solutions, Inc. Method and apparatus for external organization path length validation within a public key infrastructure (PKI)
US8468355B2 (en) * 2008-12-19 2013-06-18 University Of South Carolina Multi-dimensional credentialing using veiled certificates
US9237149B2 (en) * 2009-02-27 2016-01-12 Red Hat, Inc. Certificate based distributed policy enforcement
US20100250922A1 (en) * 2009-03-31 2010-09-30 Motorola, Inc. Method and system for propagating trust in an ad hoc wireless communication network
CN101616165B (zh) * 2009-07-28 2013-03-13 江苏先安科技有限公司 一种新型x509数字证书白名单发布查询验证的方法
ES2620962T3 (es) * 2009-11-25 2017-06-30 Security First Corporation Sistemas y procedimientos para asegurar datos en movimiento
US8627064B2 (en) * 2011-03-24 2014-01-07 Alcatel Lucent Flexible system and method to manage digital certificates in a wireless network
US8806196B2 (en) * 2011-11-04 2014-08-12 Motorola Solutions, Inc. Method and apparatus for authenticating a digital certificate status and authorization credentials
US20130268755A1 (en) * 2012-04-06 2013-10-10 Microsoft Corporation Cross-provider cross-certification content protection

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001188757A (ja) * 1999-12-28 2001-07-10 Nippon Telegr & Teleph Corp <Ntt> 証明書を用いたサービス提供方法
JP2004274193A (ja) * 2003-03-06 2004-09-30 Sony Corp 無線通信システム、端末、その端末における処理方法並びにその方法を端末に実行させるためのプログラム
JP2006004314A (ja) * 2004-06-21 2006-01-05 Nec Corp 信用確立方法と信用に基づいたサービス制御システム
JP2006340178A (ja) * 2005-06-03 2006-12-14 Hitachi Ltd 属性証明書検証方法及び装置
JP2008022526A (ja) * 2006-06-13 2008-01-31 Hitachi Ltd 属性証明書検証方法、属性認証局装置、サービス提供装置、および属性証明書検証システム
JP2015512599A (ja) * 2012-04-09 2015-04-27 インテル・コーポレーション オンライン識別及び認証

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11356280B2 (en) 2016-02-23 2022-06-07 Nchain Holdings Ltd Personal device security using cryptocurrency wallets
US11936774B2 (en) 2016-02-23 2024-03-19 Nchain Licensing Ag Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
JP2019508950A (ja) * 2016-02-23 2019-03-28 エヌチェーン ホールディングス リミテッドNchain Holdings Limited 統合ブロックチェーンに基づくデータ転送制御方法及びシステム
US11182782B2 (en) 2016-02-23 2021-11-23 nChain Holdings Limited Tokenisation method and system for implementing exchanges on a blockchain
US11194898B2 (en) 2016-02-23 2021-12-07 nChain Holdings Limited Agent-based turing complete transactions integrating feedback within a blockchain system
US11308486B2 (en) 2016-02-23 2022-04-19 nChain Holdings Limited Method and system for the secure transfer of entities on a blockchain
US11347838B2 (en) 2016-02-23 2022-05-31 Nchain Holdings Ltd. Blockchain implemented counting system and method for use in secure voting and distribution
US11349645B2 (en) 2016-02-23 2022-05-31 Nchain Holdings Ltd. Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
US11120437B2 (en) 2016-02-23 2021-09-14 nChain Holdings Limited Registry and automated management method for blockchain-enforced smart contracts
US11373152B2 (en) 2016-02-23 2022-06-28 nChain Holdings Limited Universal tokenisation system for blockchain-based cryptocurrencies
US11455378B2 (en) 2016-02-23 2022-09-27 nChain Holdings Limited Method and system for securing computer software using a distributed hash table and a blockchain
US11410145B2 (en) 2016-02-23 2022-08-09 nChain Holdings Limited Blockchain-implemented method for control and distribution of digital content
US11755718B2 (en) 2016-02-23 2023-09-12 Nchain Licensing Ag Blockchain implemented counting system and method for use in secure voting and distribution
US11606219B2 (en) 2016-02-23 2023-03-14 Nchain Licensing Ag System and method for controlling asset-related actions via a block chain
US11621833B2 (en) 2016-02-23 2023-04-04 Nchain Licensing Ag Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
US11625694B2 (en) 2016-02-23 2023-04-11 Nchain Licensing Ag Blockchain-based exchange with tokenisation
US11727501B2 (en) 2016-02-23 2023-08-15 Nchain Licensing Ag Cryptographic method and system for secure extraction of data from a blockchain
JP7205994B2 (ja) 2016-12-30 2023-01-17 インテル・コーポレーション モノのインターネット
JP2020503784A (ja) * 2016-12-30 2020-01-30 インテル・コーポレーション モノのインターネット

Also Published As

Publication number Publication date
WO2014074865A3 (en) 2014-07-03
US20140136838A1 (en) 2014-05-15
EP2918042A4 (en) 2016-09-07
SG11201503553YA (en) 2015-06-29
WO2014074865A2 (en) 2014-05-15
WO2014074865A9 (en) 2015-08-20
AU2013342220A1 (en) 2015-06-04
KR101569818B1 (ko) 2015-11-17
KR20140115298A (ko) 2014-09-30
CN104904157A (zh) 2015-09-09
AU2017254932A1 (en) 2017-11-23
JP6285454B2 (ja) 2018-02-28
HK1214693A1 (zh) 2016-07-29
CA2889936A1 (en) 2014-05-15
EP2918042A2 (en) 2015-09-16

Similar Documents

Publication Publication Date Title
JP6285454B2 (ja) エンティティ・ネットワーク・トランスレーション(ent)
US10284379B1 (en) Public key infrastructure based on the public certificates ledger
Lim et al. Blockchain technology the identity management and authentication service disruptor: a survey
US10411905B2 (en) Public key infrastructure using blockchains
US11032252B2 (en) Distributed authentication between network nodes
US20210218720A1 (en) Systems and methods for secure custodial service
JP2023520372A (ja) 企業環境におけるブロックチェーンの統合、グループ権限とアクセスの管理
Liu et al. Research on information security technology based on blockchain
Ghaffar et al. An improved authentication scheme for remote data access and sharing over cloud storage in cyber-physical-social-systems
CN114982196A (zh) 利用区块链事务的通信协议
CN110709874A (zh) 用于区块链网络的凭证生成与分发方法和系统
Li et al. Decentralized public key infrastructures atop blockchain
EP3966997B1 (en) Methods and devices for public key management using a blockchain
Garba et al. LightLedger: a novel blockchain-based domain certificate authentication and validation scheme
Huang et al. An efficient authentication and key agreement protocol for IoT-enabled devices in distributed cloud computing architecture
Muftic Bix certificates: Cryptographic tokens for anonymous transactions based on certificates public ledger
CN114982195A (zh) 利用区块链事务的请求和响应协议
Dong et al. Anonymous cross-domain authentication scheme for medical PKI system
Dumas et al. LocalPKI: An interoperable and IoT friendly PKI
KR102437042B1 (ko) 블록체인 기반의 인증서 관리 시스템
Chang et al. A dependable storage service system in cloud environment
Rao et al. VAPKI: A blockchain-based identification system with validation and authentication
Gupta et al. A comparative study on blockchain-based distributed public key infrastructure for IoT applications
Mosakheil et al. Decentralized Compromise-Tolerant Public Key Management Ecosystem with Threshold Validation
Lang Blockchains in public administration: a RADIUS on blockchain framework for public administration

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20160126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160126

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180201

R150 Certificate of patent or registration of utility model

Ref document number: 6285454

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees