IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アメリカン エキスプレス トラヴェル リレイテッド サーヴィシーズ カンパニー, インコーポレイテッドの特許一覧

<>
  • 特許-分散化されたデータ認証 図1
  • 特許-分散化されたデータ認証 図2
  • 特許-分散化されたデータ認証 図3
  • 特許-分散化されたデータ認証 図4
  • 特許-分散化されたデータ認証 図5
  • 特許-分散化されたデータ認証 図6
  • 特許-分散化されたデータ認証 図7
  • 特許-分散化されたデータ認証 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-24
(45)【発行日】2024-02-01
(54)【発明の名称】分散化されたデータ認証
(51)【国際特許分類】
   H04L 9/32 20060101AFI20240125BHJP
   G06F 21/33 20130101ALI20240125BHJP
   G06F 21/64 20130101ALI20240125BHJP
   G06F 21/56 20130101ALI20240125BHJP
【FI】
H04L9/32 200Z
G06F21/33
G06F21/64
G06F21/56 350
【請求項の数】 13
(21)【出願番号】P 2022508466
(86)(22)【出願日】2020-08-17
(65)【公表番号】
(43)【公表日】2022-10-28
(86)【国際出願番号】 US2020046652
(87)【国際公開番号】W WO2021041075
(87)【国際公開日】2021-03-04
【審査請求日】2022-04-06
(31)【優先権主張番号】16/555,638
(32)【優先日】2019-08-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520107951
【氏名又は名称】アメリカン エキスプレス トラヴェル リレイテッド サーヴィシーズ カンパニー, インコーポレイテッド
【氏名又は名称原語表記】AMERICAN EXPRESS TRAVEL RELATED SERVICES COMPANY, INC.
【住所又は居所原語表記】200 Vesey Street, New York, NY 10285-4900 U.S.A.
(74)【代理人】
【識別番号】100083116
【弁理士】
【氏名又は名称】松浦 憲三
(72)【発明者】
【氏名】フェレンツィ, アンドラス, エル.
【審査官】金沢 史明
(56)【参考文献】
【文献】特開2005-190452(JP,A)
【文献】米国特許第10298396(US,B1)
【文献】中国特許出願公開第107958371(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/00- 9/40
G09C 1/00- 5/00
G06F 21/00-21/88
(57)【特許請求の範囲】
【請求項1】
プロセッサ及びメモリを含むコンピューティングデバイスと、
前記メモリに記憶された機械可読命令と、を含み、前記機械可読命令は、前記プロセッサによって実行されると、前記コンピューティングデバイスに少なくとも、
データ項目のIDキーを生成することと、
前記データ項目の認証の要求を、セキュリティ又は信頼性を評価するために実行されるセキュリティサービスに送信することであって、前記要求は、前記IDキー及び前記データ項目を含む、ことと、
前記セキュリティサービスから前記データ項目が確認されたことを示す単数又は複数のアサーションを含む確認済みクレームを受信することと、
身分証明書を生成することであって、前記身分証明書は、前記データ項目の前記IDキー及び前記確認済みクレームを含み、前記IDキーは前記身分証明書に関連づけられた個人又はエンティティを一意に識別することと、
前記身分証明書を分散型台帳に保管することと、を行わせる、システム。
【請求項2】
前記機械可読命令は、前記コンピューティングデバイスによって実行されると、更に、
前記コンピューティングデバイスに少なくとも、
前記データ項目の要求を受信することと、
前記要求への応答を送信することであって、前記応答は前記データ項目及び前記IDキーを含む、ことと、
を行わせる、請求項1に記載のシステム。
【請求項3】
前記IDキーは第2のIDキーであり、
前記身分証明書は第2の身分証明書であり、
前記データ項目の認証の前記要求は、認証の第2の要求であり、
前記機械可読命令は、更に、前記コンピューティングデバイスに少なくとも、
前記機械可読命令のオペレータの前記IDの認証の要求を認証サービスに送信することと、
前記認証サービスから第1のIDキー及び確認済みクレームを受信することと、
第1の身分証明書を作成することであって、前記第1の身分証明書は、前記第1のIDキー及び前記確認済みクレームを含む、ことと、
前記第1の身分証明書を分散型台帳に記憶することと、を行わせ、
前記データ項目の認証の前記第2の要求は、前記第1の身分証明書が前記分散型台帳に記憶されるのに続いて送信される、請求項1又は2に記載のシステム。
【請求項4】
前記機械可読命令は、前記プロセッサによって実行されると、更に、前記コンピューティングデバイスに少なくとも、
前記データ項目に一意に関連付けられた非対称キー対を生成することを行わせ、
前記身分証明書は、前記非対称キー対の公開キーを更に含む、請求項1乃至3のいずれか1項に記載のシステム。
【請求項5】
前記機械可読命令は、前記プロセッサによって実行されると、更に、前記コンピューティングデバイスに少なくとも、
前記公開キーで暗号化された暗号化トークンを含む確認要求を受信することと、
暗号化されていないトークンを生成するために、前記非対称キー対の秘密キーを使用して前記暗号化されたトークンを復号化することと、
前記秘密キーを使用して、前記暗号化されていないトークンの暗号化署名を作成することと、
前記暗号化されていないトークン及び前記暗号化署名を含む確認応答を提供することと、を行わせる、請求項4に記載のシステム。
【請求項6】
前記データ項目がネットワークアドレスである、請求項1乃至5のいずれか1項に記載のシステム。
【請求項7】
前記データ項目がファイルである、請求項1乃至5のいずれか1項に記載のシステム。
【請求項8】
コンピュータにより行われる、
データ項目の認証要求を受信することであって、前記認証要求は、IDキー及び前記データ項目を含む、ことと、
前記データ項目が少なくとも一つの確認規則に準拠していることを決定する、前記確認規則は、データ項目が安全であるというアサーションを行うための要件を含み、前記データ項目が前記要件を満たすか否かにより前記決定をすることと、
前記データ項目の確認済みクレームを生成することであって、前記確認済みクレームは、前記IDキーが前記データ項目に関連付けられており、前記データ項目が前記少なくとも一つの確認規則に準拠していることを示す、ことと、
前記データ項目の認証の前記要求への応答として前記確認済みクレームを提供することと、
前記IDキー及び前記確認済みクレームを含む身分証明書を作成することと、
前記身分証明書を分散型台帳に登録することと、を含む、方法。
【請求項9】
前記IDキーは第2のIDキーであり、
前記少なくとも一つの確認規則は、前記データ項目が認証されたエンティティから発信されていることを示し、
前記認証要求は、前記認証されたエンティティに関連付けられた第1のIDキーを更に含み、
前記データ項目が前記少なくとも一つの確認規則に準拠していることを決定することは、前記認証要求が前記認証されたエンティティから発信されていることを、少なくとも部分的に前記第1のIDキーに基づいて確認することを更に含み、
前記確認済みクレームの生成は、前記認証要求が前記認証済みエンティティから発信されているとの確認に応答して発生する、請求項8に記載の方法。
【請求項10】
少なくとも部分的に前記第1のIDキーに基づいて、前記認証要求が前記認証されたエンティティから発信されていることを確認することは、
前記第1のIDキーに関連付けられた身分証明書を取得することであって、前記身分証明書には、それぞれの非対称キー対の公開暗号化キーが含まれている、ことと、
暗号化されたトークンを作成するために、前記公開暗号化キーを使用してトークンを暗号化することと、
前記認証要求を送信した発信元エンティティに前記暗号化されたトークンを送信することと、
前記それぞれの非対称キー対の秘密キーで作成された前記トークン及びデジタル署名を受信することと、
前記公開暗号化キーを使用して前記デジタル署名を確認することと、を更に含む、請求項9に記載の方法。
【請求項11】
前記少なくとも一つの確認規則は、前記データ項目が指定されたセキュリティポリシーに準拠していることを示し、
前記データ項目が前記少なくとも一つの確認規則に準拠していることを決定することは、前記データ項目のセキュリティ分析を実行することを更に含む、請求項8乃至10のいずれか1項に記載の方法。
【請求項12】
前記データ項目がネットワークアドレスである、請求項8乃至11のいずれか1項に記載の方法。
【請求項13】
前記データ項目がファイルである、請求項8乃至11のいずれか1項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2019年8月29日に出願され、「分散化されたデータ認証」と題された米国特許出願第16/555,638号の優先権及び利益を主張する。
【背景技術】
【0002】
多くのセキュリティ脅威は、ユーザをだまして、信頼できるソースによって提供されたデータにアクセスしていると信じ込ませることに依存している。実際には、ユーザはデータ自体がマルウェアであるか、又はマルウェアを含んでいることに気付くことがよくある。また、データにアクセスすると、ユーザのコンピューティングデバイスにマルウェアがインストールされる。
【0003】
例えば、一般的なセキュリティの脅威はフィッシングとして知られており、悪意のある攻撃者(「フィッシング詐欺師」)が、有効なウェブサイトと視覚的に区別できない偽のウェブサイトを作成する。個人が偽のウェブサイトにアクセスすると、その個人のデータが収集されたり、コンピュータを悪用しようとしてマルウェアがブラウザに読み込まれたりする可能性がある。ターゲットが偽のウェブサイトにアクセスするように誘導するために、フィッシング詐欺師は、有効なウェブサイトのネットワークアドレスに類似しているか、又は関連しているように見えるネットワークアドレスを有するリンクを作成することができる。
【0004】
同様の例として、別の一般的なセキュリティの脅威は、マルウェアを含むファイルの配布である。マルウェアファイルは、スプレッドシート、プレゼンテーション、レポート、オーディオファイル、画像ファイル、又はビデオファイルなど、ユーザが通常開いたり、対話したり、消費したりする正当なファイルに偽装されている可能性がある。ファイルは、信頼できるエンティティによって書かれた又は作成されたものとして偽装又は提示される場合もある。その結果、ユーザがだまされて、実際には、ユーザは自分のコンピュータにマルウェアをロードさせている場合、信頼できるソースから発信された無害なファイルであると信じるファイルを開く可能性がある。
【発明の概要】
【課題を解決するための手段】
【0005】
本開示の様々な実施形態は、プロセッサ及びメモリを含むコンピューティングデバイスと、メモリに記憶された機械可読命令と、を含むシステムを含み、機械可読命令は、プロセッサによって実行されると、コンピューティングデバイスに少なくとも、データ項目のIDキーを生成することと、データ項目の認証要求をセキュリティサービスに送信することであって、この要求は、IDキーとデータ項目を含む、ことと、セキュリティサービスからデータ項目の確認済みクレームを受信することと、身分証明書を生成することであって、身分証明書は、データ項目のIDキーと確認済みクレームを含む、ことと、身分証明書を分散型台帳に記憶することと、を行わせる。システムの一部の実装形態では、機械可読命令は、コンピューティングデバイスによって実行されると、更に、コンピューティングデバイスに少なくとも、データ項目の要求を受信することと、要求への応答を送信することであって、応答はデータ項目及びIDキーを含む、ことと、を行わせる。システムの一部の実装では、IDキーは第2のIDキーであり、身分証明書は第2の身分証明書であり、データ項目の認証要求は、認証の第2の要求であり、機械可読命令は、更に、コンピューティングデバイスに少なくとも、機械可読命令のオペレータのIDの認証要求を認証サービスに送信することと、認証サービスから第1のIDキー及び確認済みクレームを受信することと、第1の身分証明書を作成することであって、身分証明書は、IDキー及び確認済みクレームを含む、ことと、第1の身分証明書を分散型台帳に記憶することであって、データ項目の認証のための第2の要求は、第1の身分証明書が分散型台帳に記憶されるのに続いて送信される、こととを行わせる。システムの一部の実装形態では、機械可読命令は、プロセッサによって実行されると、コンピューティングデバイスに少なくとも、データ項目に一意に関連付けられた非対称キー対を生成させ、身分証明書は、非対称キー対の公開キーを更に含む。システムの一部の実装では、機械可読命令は、プロセッサによって実行されると、コンピューティングデバイスに少なくとも、公開キーで暗号化された暗号化トークンを含む確認要求を受信することと、非対称キー対の秘密キーを使用して暗号化されたトークンを復号化し、暗号化されていないトークンを生成することと、秘密キーを使用して、暗号化されていないトークンの暗号化署名を作成することと、暗号化されていないトークン及び暗号化署名を含む確認応答を提供することと、を行わせる。システムの一部の実装では、データ項目はネットワークアドレスである。システムの一部の実装では、データ項目はファイルである。
【0006】
本開示の様々な実施形態は方法を含み、この方法は、データ項目の確認要求を受信することであって、確認要求は、IDキー及びデータ項目を含む、ことと、データ項目が少なくとも一つの確認規則に準拠していることを決定することと、データ項目の確認済みクレームを生成することであって、確認済みクレームは、IDキーがデータ項目に関連付けられており、データ項目が少なくとも一つの確認規則に準拠していることを示す、ことと、データ項目の認証要求への応答として確認済みクレームを提供することと、を含む。方法の一部の実装では、IDキーは第2のIDキーである。少なくとも一つの確認規則は、データ項目が認証されたエンティティから発信されていることを示す。認証要求は、認証されたエンティティに関連付けられた第1のIDキーを更に含む。データ項目が少なくとも一つの確認規則に準拠していることを決定することは、認証要求が認証されたエンティティから発信されていることを、少なくとも部分的に第1のIDキーに基づいて確認することを更に含む。確認済みクレームの生成は、認証要求が認証済みエンティティから発信されているとの確認に応答して発生する。この方法の一部の実装では、少なくとも部分的に第1のIDキーに基づいて、認証要求が認証されたエンティティから発信されていることを確認することは、第1のIDキーに関連付けられた身分証明書を取得することであって、身分証明書には、それぞれの非対称キー対の公開暗号化キーが含まれる、ことと、公開暗号化キーを使用してトークンを暗号化して、暗号化されたトークンを作成することと、認証要求を送信した発信元エンティティに暗号化されたトークンを送信することと、それぞれの非対称キー対の秘密キーで作成されたトークン及びデジタル署名を受信することと、公開暗号化キーを使用してデジタル署名を確認することと、を更に含む。方法の一部の実装では、少なくとも一つの確認規則は、データ項目が指定されたセキュリティポリシーに準拠していることを示す。データ項目が少なくとも一つの確認規則に準拠していることを決定することは、データ項目のセキュリティ分析を実行することを更に含む。この方法の一部の実装形態では、この方法は、IDキー及び確認済みクレームを含む身分証明書を作成することと、身分証明書を分散型台帳に登録することと、を更に含む。方法の一部の実装では、データ項目はネットワークアドレスである。方法の一部の実装では、データ項目はファイルである。
【0007】
機械可読命令を含む非一時的なコンピュータ可読媒体の様々な実施形態が開示され、機械可読命令は、コンピューティングデバイスのプロセッサによって実行されると、コンピューティングデバイスに少なくとも、データ項目の要求をアプリケーションに送信することと、アプリケーションからデータ項目及びIDキーを受け取ることであって、IDキーはデータ項目にリンクされている、ことと、分散型台帳からIDキーによって識別される身分証明書を取得することであって、身分証明書には、データ項目に関連する少なくとも一つの確認済みクレームが含まれる、ことと、身分証明書に少なくとも部分的に基づいてデータ項目を確認することと、データ項目の確認の結果に少なくとも部分的に基づいてユーザインタフェースをレンダリングすることと、を行わせる。非一時的なコンピュータ可読媒体のいくつかの実装では、機械可読命令は、プロセッサによって実行されると、更に、コンピューティングデバイスに少なくとも、身分証明書に含まれている公開キーを使用してトークンを暗号化し、暗号化されたトークンを作成することと、暗号化されたトークンをアプリケーションに送信することと、アプリケーションからトークンを受け取り、トークンに関連付けられた暗号化署名を受信することと、暗号化署名を確認することと、を行わせる。非一時的なコンピュータ可読媒体の一部の実装形態では、コンピューティングデバイスに身分証明書に少なくとも部分的に基づいてデータ項目を確認させる機械可読命令は、コンピューティングデバイスに確認済みクレームにおける少なくとも一つのクレームを更に少なくとも評価させる。少なくとも一つのクレームは、データ項目の少なくとも一つの確認規則への準拠に関するアサーションを含む。非一時的なコンピュータ可読媒体の一部の実装形態では、コンピューティングデバイスに少なくとも一つのクレームを少なくとも評価させる機械可読命令は、コンピューティングデバイスに、クレームが信頼できるエンティティによって行われたと更に決定させる。非一時的なコンピュータ可読媒体の一部の実装では、データ項目はネットワークアドレスである。非一時的なコンピュータ可読媒体の一部の実装では、データ項目はファイルである。
【0008】
本開示の多くの態様は、以下の図面を参照することにより、よりよく理解することができる。図面の構成要素は必ずしも原寸に比例しておらず、代わりに、開示の原理を明確に示すことに重点が置かれている。更に、図面では、同様の参照番号は、いくつかの図すべてを通じて対応する部分を示している。
【図面の簡単な説明】
【0009】
図1】本開示の様々な実施形態によるネットワーク環境の図である。
【0010】
図2】本開示の様々な実施形態による、図1のネットワーク環境に実装された機能の一例を示すシーケンス図である。
【0011】
図3】本開示の様々な実施形態による、図1のネットワーク環境に実装された機能の一例を示すシーケンス図である。
【0012】
図4】本開示の様々な実施形態による、図1のネットワーク環境に実装された機能の一例を示すシーケンス図である。
【0013】
図5】本開示の様々な実施形態による、図1のネットワーク環境に実装された機能の一例を示すシーケンス図である。
【0014】
図6】本開示の様々な実施形態による、図1のネットワーク環境に実装された機能の一例を示すシーケンス図である。
【0015】
図7】本開示の様々な実施形態による、図1のネットワーク環境においてクライアントによってレンダリングされた例示的なユーザインタフェースの絵図である。
【0016】
図8】本開示の様々な実施形態による、図1のネットワーク環境においてクライアントによってレンダリングされた例示的なユーザインタフェースの絵図である。
【発明を実施するための形態】
【0017】
データ又はコンテンツを認証するための、又はコンテンツの作成者、発信者、若しくは配布者のIDを確認するための様々なアプローチが開示される。データ又はコンテンツの確認に使用される文書は、分散して記憶できる。分散化は、認証又は確認プロセスにおける単一障害点から保護する。例えば、認証局がセキュリティ違反に見舞われたり又はアクセスできなくなったりした場合、コンテンツ又はデータに関連付けられた証明書を確認するために認証局に依存する認証アプローチは、認証局が保護されるか、又は再びアクセス可能になるまで失敗する。対照的に、認証データ若しくはコンテンツへの分散型アプローチ、又はコンテンツの作成者、発信者、若しくは配布者のIDの確認は、より回復力があり、様々な状況で利用できなくなる可能性はない。更に、分散型アプローチは、認証局のオペレータなどの単一のエンティティが、データ若しくはコンテンツの認証プロセス、又はコンテンツの作成者、発信者、若しくは配布者のIDの確認プロセスを独占又は制御することを防ぐ。以下の説明では、システム及びその構成要素の一般的な説明を提供し、続いてシステムの動作について説明する。
【0018】
図1に示されるように、様々な実施形態によるネットワーク環境100が示されている。ネットワーク環境100は、コンピューティング環境103、クライアントデバイス106、IDハブ109、及び分散型台帳113を含み、これらは、ネットワーク116を介して互いにデータ通信している。ネットワーク116は、ワイドエリアネットワーク(WAN)及びローカルエリアネットワーク(LAN)を含む。これらのネットワークには、有線若しくは無線の構成要素、又はそれらの組み合わせを含めることができる。有線ネットワークには、イーサネットネットワーク、ケーブルネットワーク、光ファイバーネットワーク、並びにダイヤルアップ、デジタル加入者回線(DSL)、及び統合サービスデジタルネットワーク(ISDN)ネットワークなどの電話ネットワークが含まれ得る。無線ネットワークには、セルラーネットワーク、衛星ネットワーク、Institute of Electrical and Electronic Engineers(IEEE)802.11無線ネットワーク(すなわち、WI-FI(登録商標))、BLUETOOTH(登録商標)ネットワーク、マイクロ波伝送ネットワーク、及び無線放送に依存するその他のネットワークが含まれ得る。ネットワーク116はまた、二つ以上のネットワーク116の組み合わせを含むことができる。ネットワーク116の例は、インターネット、イントラネット、エクストラネット、仮想プライベートネットワーク(VPN)、及び同様のネットワークを含むことができる。
【0019】
コンピューティング環境103は、サーバコンピュータ又はコンピューティング機能を提供する任意の他のシステムを含むことができる。或いは、コンピューティング環境103は、一つ又は複数のサーババンク又はコンピュータバンク又は他の構成に配置することができる複数のコンピューティングデバイスを使用することができる。このようなコンピューティングデバイスは、単一の設備に配置することも、又は地理的に離れた多くの場所に分散させることもできる。例えば、コンピューティング環境103は、ホストされたコンピューティングリソース、グリッドコンピューティングリソース、又は任意の他の分散コンピューティング構成を一緒に含むことができる複数のコンピューティングデバイスを含むことができる。場合によっては、コンピューティング環境103は、処理、ネットワーク、ストレージ、又は他のコンピューティング関連リソースの割り当てられた容量が時間と共に変化し得る弾性コンピューティングリソースに対応することができる。
【0020】
様々な実施形態による、様々なアプリケーション又は他の機能をコンピューティング環境103で実行することができる。コンピューティング環境103上で実行される構成要素は、ホストされたアプリケーション119、セキュリティサービス121、及び本明細書で詳細に説明されない他のアプリケーション、サービス、プロセス、システム、エンジン、又は機能を含む。ホストされたアプリケーション119及びセキュリティサービス121は、同じコンピューティング環境で動作するように示されているが、ホストされたアプリケーション119及びセキュリティサービス121は、別個のコンピューティング環境で動作又は実行され得ることが理解される。同様に、ホストされたアプリケーション119及びセキュリティサービス121は、特定の実装に応じて、同じエンティティ又は異なるエンティティによって動作及び制御することができる。
【0021】
ホストされたアプリケーション119は、ホストされたデータストア123に記憶されたデータへのアクセスをユーザに提供するために、或いはユーザに代わって一つ若しくは複数の機能を実行するか、又は一つ若しくは複数のトランザクションを開始するために実行され得る。ホストされたアプリケーション119の例には、ウェブサーバ、メールサーバ、ファイルサーバが含まれ、これらは、電子バンキングアプリケーション、電子コマース又はショッピングアプリケーション、ソーシャルメディアアプリケーション、インターネット又はウェブベースの電子メール(ウェブメール)アプリケーション、ファイル共有アプリケーション又はサービス、インターネット又はウェブベースの生産性アプリケーション(ワードプロセッサ、スプレッドシート、プレゼンテーションアプリケーションなど)、メディアストリーミングアプリケーションなどのウェブベースのアプリケーションを提供するために使用され得る。しかしながら、クライアントデバイス106にコンテンツ、コンテンツへのアクセス、又はデータ若しくはコンテンツがアクセスされ得る解決可能なネットワークアドレスを提供するコンピューティング環境103によってホストされる任意のアプリケーションは、本開示の様々な実施形態の目的のためのホストされたアプリケーション119と見なすことができる。
【0022】
認証プロバイダ120は、ユーザ又はエンティティのIDを認証又は確認するために実行することができる。これには、特定のサービス、アプリケーション、又はデバイスがユーザ又はエンティティによって動作又は制御されていることを認証又は別の方法で確認することが含まれ得る。例えば、認証プロバイダ120を実行して、特定のネットワークアドレス(例えば、http://www.examplebank.com)で利用可能なウェブサイトが実際に「ExampleBank」という会社によって運営されていることを決定することができる。
【0023】
セキュリティサービス121は、リソースのセキュリティ又は信頼性を評価するために実行することができる。これには、例えば、ファイル、ネットワークアドレス、又はその他のデータの信頼性の確認又は認証、並びにファイル、ネットワークアドレス、又はその他のデータの作成者又はプロバイダの信頼性の確認又は認証が含まれ得る。例えば、セキュリティサービス121を実行して、ファイルが特定の個人又は組織によって作成又は配布されたかどうかを評価できる。別の例として、セキュリティサービス121を実行して、リンク又はネットワークアドレスが実際に特定のエンティティの制御下にあるリソースに対するものであるかどうかを評価することができる。例えば、セキュリティサービス121は、銀行のウェブサイトへのリンクが実際に銀行の実際のウェブサイトへのリンクであるか、又は代わりになりすましのウェブサイトへのリンクであるかを決定できる。セキュリティスキャナ212を実行して、ファイルにマルウェアが含まれているかどうか、又はネットワークアドレスで利用可能なウェブサイトにセキュリティの脆弱性があるかどうかを評価することもできる。これらの評価は、ファイル若しくはネットワークアドレスの受信に応じて、又は別のアプリケーションが受信した要求に応じて自動的に実行できる。
【0024】
また、コンピューティング環境103にアクセス可能なホストされたデータストア123に様々なデータを記憶することができる。ホストされたデータストア123は、複数のホストされたデータストア123を表すことができ、リレーショナルデータベース、オブジェクト指向データベース、階層データベース、ハッシュテーブル又は同様のキー値データストア、並びに他のデータストレージアプリケーション又はデータ構造を含むことができる。ホストされたデータストア123に記憶されたデータは、以下に説明する様々なアプリケーション又は機能エンティティの動作に関連付けられている。このデータは、一つ又は複数の認証レコード126及び一つ又は複数の確認規則129を含むことができる。
【0025】
認証レコード126は、IDキー131とデータ項目133との間の関係を表すことができる。関係は、例えば、IDキー131を使用して、一つ又は複数の確認規則129に少なくとも部分的に基づいて作成されたデータ項目133に関するアサーションを確認するために記憶され得る。
【0026】
IDキー131は、身分証明書136のネットワーク位置を指定するネットワークアドレスなど、身分証明書136を見つけることができる場所を指定する一意のアドレスを表すことができる。IDキー131は、身分証明書136を見つけることができる保管場所、身分証明書136の一意の識別子、及び潜在的に他の情報を含むことができる。IDキー131は、他の身分証明書136に関して身分証明書136を一意に識別することができるので、IDキー131は、個人、エンティティ、組織、又はデータ項目133の一意の識別子としても使用することができる。IDキー131の実例は、World Wide Web Consortium(W3C)によって定義された分散型識別子(DID)である。しかしながら、データフォーマットを、本開示の様々な実施形態において、IDキー131として使用することができる。
【0027】
DIDの例では、IDキー131は、一意のユニフォームリソース識別子(URI)又は一意のユニフォームリソースロケータ(URL)を含めることができ、IDキー131のタイプ、身分証明書136を配置できる特定の分散型台帳113、及び身分証明書136の識別子を指定する。例えば、身分証明書136がETHEREUMプロトコルの実装を使用して記憶された場合、DIDとしてフォーマットされたIDキー131は、「did:ethereum:123456abcdefg」のURL又はURIスキーマの例を有する。次に、この例示的なIDキー131は、分散型台帳113から身分証明書136を取得するためのキーとして使用することができる。
【0028】
データ項目133は、データの任意のデジタル表現を含むことができる。例えば、データ項目133は、ファイル又はデータストリームであり得る。別の例として、データ項目133は、ファイル、アプリケーション、又はウェブページが配置されているアドレス(例えば、URL、URI、又は同様のリンク若しくはネットワークアドレス)であり得る。
【0029】
確認規則129は、特定のデータ項目133又はデータ項目133のクラスに関するアサーションの基礎として使用されるコンプライアンス規則又はポリシーを表すことができる。例えば、確認規則129は、データ項目133が安全であるというアサーションを行うための要件を指定することができる。これには、ウェブサイトがセキュリティサービス121によって実行されるセキュリティスキャンを通過するという要件、又はファイルがマルウェアを含まないことをセキュリティサービス121によって確認されるという要件が含まれる。別の例として、確認規則129は、特定のウェブサイト所有者が特定のリンクの発信者であると決定するための要件など、データ項目133の所有者又は作成者に関するアサーションを行うための要件を指定することができる。
【0030】
クライアントデバイス106は、ネットワーク116に結合することができる複数のクライアントデバイスを表す。クライアントデバイス106は、コンピュータシステムなどのプロセッサベースのシステムを含むことができる。そのようなコンピュータシステムは、パーソナルコンピュータ(例えば、デスクトップコンピュータ、ラップトップコンピュータ、又は同様のデバイス)、モバイルコンピューティングデバイス(例えば、パーソナルデジタルアシスタント、携帯電話、スマートフォン、ウェブパッド、タブレットコンピュータシステム、音楽プレーヤー、ポータブルゲームコンソール、電子ブックリーダー、及び同様のデバイス)、メディア再生デバイス(例えば、メディアストリーミングデバイス、BluRay(登録商標)プレーヤー、デジタルビデオディスク(DVD)プレーヤー、セットトップボックス、及び同様のデバイス)、ビデオゲームコンソール、又は同様の機能を備えた他のデバイスの形で具体化することができる。クライアントデバイス106は、液晶ディスプレイ(LDC)、ガスプラズマベースのフラットパネルディスプレイ、有機発光ダイオード(OLED)ディスプレイ、電気泳動インク(「Eインク」)ディスプレイ、プロジェクタ、又は他のタイプのディスプレイデバイスなどの一つ又は複数のディスプレイ139を含むことができる。場合によっては、ディスプレイ139は、クライアントデバイス106の構成要素であり得るか、又は有線若しくは無線接続を介してクライアントデバイス106に接続され得る。
【0031】
クライアントデバイス106は、クライアントアプリケーション143又は他のアプリケーションなどの様々なアプリケーションを実行するように構成することができる。クライアントアプリケーション143は、クライアントデバイス106によって実行されて、コンピューティング環境103又は他のサーバによって提供されるネットワークコンテンツにアクセスし、それによって、ディスプレイ139上にユーザインタフェース146をレンダリングすることができる。この目的のために、クライアントアプリケーション143は、ブラウザ又は専用アプリケーション(例えば、電子メールアプリケーション、ソーシャルネットワーキングアプリケーション、メッセージングアプリケーション、バンキングアプリケーション、ショッピングアプリケーションなど)を含むことができ、ユーザインタフェース146は、ネットワークページ、アプリケーション画面、ユーザ入力を取得するための他のユーザメカニズムを含むことができる。
【0032】
IDハブ109は、一つ又は複数のコンピューティングデバイスによってホストされ、個々のユーザの身分証明書を安全に記憶し、許可された要求に応答して身分証明書を提供するために利用されるサービス又はサービスの集合を表すことができる。例えば、IDハブ109は、クレデンシャルマネージャ149及びボールト(vault)153を含むことができる。IDハブ109は、明確にするためにコンピューティング環境103とは別個のものとして示されているが、ボールトマネージャ149及びボールト153を含むIDハブ109の機能は、コンピューティング環境103内に実装され得ることが理解される。更に、一部の実装形態では、ボールトマネージャ149及びボールト153を含むIDハブ109は、特定の実装に応じて、同じエンティティ又は異なるエンティティによって動作され得る。
【0033】
ボールトマネージャ149を実行して、ボールト153へのアクセスを制御することができる。例えば、ボールトマネージャ149は、ボールト153に記憶された様々なデータを追加、削除、又は変更するために使用することができる。別の例として、ボールトマネージャ149を使用して、個々のユーザを認証し、ボールト153へのアクセスを許可されたユーザ又はエンティティに制限することができる。
【0034】
ボールト153は、クレデンシャルマネージャ149にアクセス可能な安全なデータストアを表す。ボールト153に記憶されたデータは、個々のユーザ又はエンティティのみがアクセスできる暗号化された形式で記憶することができる。個々のユーザ又はエンティティは、一つ又は複数のキーレコード156を含む様々なタイプのデータをボールト153に記憶できる。キーレコード156は、特定のIDキー131とそれぞれのキー対159との間の関連又は関係を追跡するために使用することができる。
【0035】
キー対159は、公開キー163及び秘密キー166を含む非対称暗号化キー対を表すことができる。キー対159内の暗号化キーは、後述するように、エンティティ又はユーザが、IDキー131に関連付けられたデータとの関係を確認若しくは他の方法で認証又はデータを制御するために使用することができる。キー対159は、楕円曲線暗号(ECC)アプローチなど、様々なアプローチ又はRivest-Shamir-Adleman(RSA)アルゴリズムを使用して生成できる。
【0036】
分散型台帳113は、異なる地理的又はネットワークの場所にある複数のノードにまたがる同期された、結果整合性のあるデータストアを表す。分散型台帳113内の各ノードは、分散型台帳113に記憶されたすべてのデータを含む、分散型台帳113の複製されたコピーを含むことができる。分散型台帳113を含むトランザクションの記録は、分散型台帳113を形成する個々のノードを接続するピアツーピアネットワークを使用して共有又は複製することができる。トランザクション又はレコードが分散型台帳113に記録されると、レコードが最終的にすべてのノードで記録されるまで、それをピアツーピアネットワーク全体に複製することができる。分散型台帳113にデータが確実に書き込まれるようにするために、様々なコンセンサス方式を使用できる。分散型台帳の例には、ブロックチェーン、分散ハッシュテーブル(DHT)、及び同様のデータ構造が含まれる。
【0037】
分散型台帳113には、様々なデータを記憶することもできる。これは、一つ又は複数の身分証明書136を含むことができる。しかしながら、本開示で論じられる他のデータは、データの公的な利用可能性がその特定の実装において許容可能である場合、分散型台帳113に記憶することもできる。
【0038】
身分証明書136は、ユーザを識別及び認証するための情報を提供する文書である。身分証明書136は、身分証明書136、したがって、身分証明書136に関連付けられた個人又はエンティティを一意に識別するために使用することができるIDキー131を含むことができる。身分証明書136はまた、身分証明書136の信頼性を確認するために第三者によって使用され得る、身分証明書311に関連付けられた非対称キー対159からの公開キー163を含むことができる。身分証明書136はまた、一つ又は複数の確認済みクレーム169を含むことができる。身分証明書163の例示的な例は、W3Cによって定義された分散型識別子文書(D身分証明書)である。しかしながら、データフォーマットは、本開示の様々な実施形態において身分証明書163として使用することができる。
【0039】
確認済みクレーム173は、身分証明書136によって記述された特定のエンティティ又はデータ項目133についての一つ又は複数の確認されたアサーションを表す。アサーションは、例えば、データ項目133が一つ又は複数の確認規則129に準拠している(例えば、ファイルにマルウェアが含まれていない、又はウェブサイトへのリンクがウェブサイトのオペレータからの有効なリンクである)というものであり得る。別の例として、アサーションは、特定のエンティティがその者がクレームする人物である、又はコンテンツの発信者又はコミュニケーションの作成者がその者が主張する人物であるというものであり得る。したがって、確認済みクレーム169は、一つ又は複数のクレーム173及び各クレーム173のそれぞれの署名176を含むことができる。
【0040】
クレーム173は、エンティティ、個人、又はデータ項目133に関するアサーションを表す。例えば、クレーム173は、特定のネットワークアドレスに位置するウェブサイトが、一つ又は複数の確認規則129に記載された基準に従って安全であると見なされると述べ得る。例えば、クレーム173は、ウェブサイトに既知のセキュリティの脆弱性が含まれていないか、又は既知のマルウェアが含まれていないことを指定できる。別の例として、クレーム173は、ユーザをウェブサイト又はウェブアプリケーションなどのネットワークサービスに誘導するネットワークアドレスが、ウェブサイト又はウェブアプリケーションのオペレータによって提供される本物又は有効なネットワークアドレスであることを指定することができる。同様に、クレーム173は、ファイルにマルウェアが含まれていないこと、又はファイルの作成者が本人であることを指定できる。
【0041】
署名176は、クレーム173の正確さ及び信頼性を確認するために使用される任意の暗号化署名を含むことができる。例えば、署名176は、アサーションを行う当事者を識別でき、また、当事者エンティティを所有する秘密暗号化キー166によって生成されたデジタル署名と、署名176の確認に使用できる対応する公開暗号化キー163を識別するデジタル指紋の両方を含むことができる。署名176はまた、クレーム173を行うエンティティの同意なしにクレーム173が変更されたかどうかを決定するために使用することができる。例えば、クレーム173への無許可の変更は、署名176とクレーム173との間の不一致をもたらすであろう。
【0042】
次に、ネットワーク環境100の様々な構成要素の動作の一般的な説明が提供される。個々の構成要素の動作のより詳細な説明は、図2~7の説明に提供されている。更に、以下の説明は、図1のネットワーク環境100に示される様々な構成要素間の相互作用の一例を提供するが、それらは、後で説明されるように、他の方法で動作するように構成することができる。
【0043】
始めに、認証プロバイダ120は、最初に、ホストされたアプリケーション119のIDを確認することができ、これは、ホストされたアプリケーション119のオペレータのIDを確認することを含むことができる。したがって、ホストされたアプリケーション119は、ホストされたアプリケーション119のIDを認証するために使用されるキー対159を生成するか、又はその目的のために以前に作成された既存のキー対159を使用することができる。ホストされたアプリケーション119はまた、ホストされたアプリケーション119のIDを認証又は確認するために使用され得る新しいIDキー131を生成することができる。
【0044】
次に、ホストされたアプリケーション119は、IDキー131を認証プロバイダ120に送信し、ホストされたアプリケーション119の認証情報を送信して、そのIDを確認又は認証することができる。これらの認証クレデンシャルには、ユーザ名及びパスワード、暗号化証明書、既存のキー対159からの公開キー163、以前に発行された認証トークン又はCookie、生体認証クレデンシャルなどが含まれ得る。
【0045】
次に、認証プロバイダ120は、認証クレデンシャルを使用して、ホストされたアプリケーション119のIDを認証することができる。これには、ユーザ名及びパスワードの確認、証明書又は公開キー163を使用した暗号化チャレンジの発行及び暗号化応答の確認、以前に発行された認証トークン又はCookieの確認などが含まれ得る。ホストされたアプリケーション119のIDが確認されると、認証プロバイダ120は、ホストされたアプリケーション119のオペレータのIDを主張するクレーム173を含む確認済みクレーム169及びクレーム173の署名176を作成することができる。次に、確認済みクレーム169は、ホストされたアプリケーション119に返されることができ、これは、確認済みクレーム169、IDキー131、及びそのIDを証明するためにホストされたアプリケーション119によって使用される公開キー163を含む分散型台帳に身分証明書136を作成及び記憶することができる。
【0046】
続いて、ホストされたアプリケーション119は、セキュリティサービス121が、ファイル又はネットワークアドレス(例えば、ウェブサイト又はウェブアプリケーションを指定するURL)などのデータ項目133を確認することを要求することができる。確認は、ホストされたアプリケーション119がデータ項目133の発信者(例えば、ファイルの作成者又は配布者、又はネットワークアドレスによって識別されるウェブサイト又はウェブアプリケーションのホスト)であること、又はデータ項目133は安全である(例えば、ファイルに既知のマルウェアが含まれていない、又はネットワークアドレスにあるウェブサイト若しくはウェブアプリケーションに既知の脆弱性が含まれていないなど)であることを証明することであり得る。要求は、データ項目133に固有の新しく生成されたキー対159、データ項目133に固有の新しく作成されたIDキー131、並びにホストされたアプリケーション119自体のIDを確認するために使用されるIDキー131を含むことができる。
【0047】
ホストされたアプリケーション119からの要求を受信すると、セキュリティサービス121は、最初に、ホストされたアプリケーション119のIDを確認することができる。例えば、セキュリティサービス121は、分散型台帳113から、ホストされたアプリケーション119の識別に関する確認済みクレーム169及びホストされたアプリケーション119のIDを確認するために使用される公開キー163を含む身分証明書136を取得することができる。次に、セキュリティサービス121は、公開キー163を使用して、チャレンジ応答交換を開始し、ホストされたアプリケーション119のIDを確認することができる。場合によっては、セキュリティサービス121は、リレーサービス又は解決サービスを使用して、複数の分散型台帳113が使用される実装において、どの分散型台帳113が身分証明書136を含むかを決定することができる。このようなリレーサービス又は解決サービスの例は、W3Cで定義されているDIDリゾルバである。
【0048】
ホストされたアプリケーション119のIDが確認されると、セキュリティサービス121は、データ項目133を確認することができる。例えば、データ項目133がウェブサイト又はウェブアプリケーションのネットワークアドレス(例えば、URL)である場合、セキュリティサービス121は、最初に自動化された脅威評価を実行することができる。脅威評価では、一般的なウェブサイトの設定ミスや又は既知のサーバ若しくはアプリケーションの脆弱性をチェックできる。別の例として、セキュリティサービス121は、ネットワークアドレスが(例えば、フィッシングサイトを指すネットワークアドレスの代わりに)ウェブサイト又はウェブアプリケーションのオペレータによって制御される本物のネットワークアドレスであることを確認することができる。データ項目133がファイルである場合、セキュリティサービス121は、マルウェアスキャンを実行して、ファイルがマルウェアを含むかどうかを決定することができる。別の例として、セキュリティサービス121は、ホストされたアプリケーション119のオペレータがファイルの作成者又は発信者であることを確認することができる。これは、ホストされたアプリケーション119によって作成されたファイルの暗号化署名を確認することによって行うことができる。
【0049】
データ項目133を確認した後、セキュリティサービス121は、データ項目133に関連する一つ又は複数の確認済みクレーム169を作成することができる。例えば、セキュリティサービス121は、ネットワークアドレスがホストされたアプリケーション119のオペレータによって制御されるという第1のクレーム173と、ネットワークアドレスで利用可能なウェブサイト又はウェブアプリケーションに既知のセキュリティの脆弱性は含まれていない第2のクレーム173とを含む確認済みクレーム169を作成することができる。セキュリティサービス121はまた、第1のクレーム173のために第1の署名176を作成し、第2のクレーム173のために第2の署名176を作成し、これらの署名を確認済みクレーム169に含めることができる。しかし、セキュリティサービス121は、複数の確認済みクレーム169を作成でき、各確認済みクレーム169は単一のクレーム173を表す。次に、セキュリティサービス121は、データ項目133について確認済みクレーム169を返すことができ、一部の実装形態では、データ項目133に関連付けられたIDキー131を返すことができる。
【0050】
ホストされたアプリケーション119は、確認済みクレーム169を受信すると、データ項目133に関連付けられたIDキー131、セキュリティサービス121によって提供された確認済みクレーム169、及びIDキー131に関連付けられている公開キー163を含む身分証明書136を作成することができる。次に、ホストされたアプリケーション119は、身分証明書136を分散型台帳113に記憶することができる。
【0051】
クライアントアプリケーション143がデータ項目133を要求するとき、それは、分散型台帳113に記憶された身分証明書136を使用して、データ項目133のセキュリティ又は信頼性を認証するか、他の方法で確認することができる。例えば、ブラウザがURLを使用してウェブページを要求した場合、ホストされたアプリケーション119は、ネットワークアドレスに関連するIDキー131をブラウザに提供することができる。次に、ブラウザは、URLの身分証明書136を取得し、URLがホストされたアプリケーション119によって提供されるウェブページの有効なネットワークアドレスであるというクレーム173を含む身分証明書136で確認済みクレーム169を識別でき、公開キー163及び署名176を使用してクレーム173を確認する。同様に、ブラウザは、ウェブページがセキュリティサービス121によって実行された最近のセキュリティスキャンを通過したことを示す身分証明書136内の第2のクレーム173を識別し、公開キー163及び署名176を使用してクレーム173を確認することができる。データ項目133がファイルである場合、クライアントアプリケーション143は、同様のプロセスを使用して、ファイルの作成者及びセキュリティを確認することができる。
【0052】
図2を次に参照すると、ネットワーク環境100の構成要素の動作の一例を提供するシーケンス図が示されている。図2のシーケンス図は、ネットワーク環境100の図示された部分の動作を実装するために使用することができる多くの異なるタイプの機能的配置の単なる例を提供する。別の方法として、図2のシーケンス図は、ネットワーク環境100内に実装された方法の要素の例を描写していると見なすことができる。
【0053】
ステップ203から始めて、ホストされたアプリケーション119は、ホストされたアプリケーション119又はホストされたアプリケーション119のオペレータのIDを認証するために使用されるキー対159及びIDキー131の両方を生成することができる。キー対159及びIDキー131を生成した後、ホストされるアプリケーション119は、キー対159をボールト153に記憶することができる。したがって、ホストされたアプリケーション119は、ホストされたアプリケーション119の認証クレデンシャル並びにIDキー131及びキー対159を含むことができる要求をボールトマネージャ149に送信することができる。認証クレデンシャルを確認した後、ボールトマネージャ149は、IDキー131をキー対159に関連付けるキーレコードをボールト153に作成することができる。ホストされたアプリケーション119が、IDキー131に関連付けられた秘密キー166を必要とする場合、それは、ボールトマネージャ149からの秘密キー166のコピー又はアクセスを要求することができる。
【0054】
次に、ステップ206で、ホストされたアプリケーション119は、確認のために、キー対159及びIDキー131を認証プロバイダ120に送信することができる。一部の実装形態では、ホストされたアプリケーション119は、認証クレデンシャルを認証プロバイダ120に送信して、ホストされたアプリケーション119自体又はホストされたアプリケーション119のオペレータのIDを証明することもできる。
【0055】
次に、ステップ209で、認証プロバイダ120は、ホストされたアプリケーション119によって提供される認証クレデンシャルを確認する。例えば、認証プロバイダ120は、ユーザ名及びパスワード、事前共有シークレット、トークン、又はCookieなど、ホストされたアプリケーション119によって提供される認証クレデンシャル又は、ホストされたアプリケーション119によって提供される他の認証クレデンシャルは、認証プロバイダ120にすでにファイルされている認証クレデンシャルと一致することを確認することができる。
【0056】
続いて、ステップ213で、認証クレデンシャルがステップ209で有効であると決定された場合、認証プロバイダ120は、確認済みクレーム169を作成し、ホストされたアプリケーション119に返すことができる。確認済みクレーム169は、認証プロバイダ120がホストされたアプリケーション119又はホストされたアプリケーション119のオペレータのIDを確認したことを主張するクレーム173を含むことができ、これには、ホストされたアプリケーション119によって提供されるIDキー131が、ホストされたアプリケーション119又はホストされたアプリケーション119のオペレータによって制御されることが含まれる。確認済みクレーム169はまた、確認済みクレーム169に含まれる各クレーム173のそれぞれの署名176を含むことができる。署名176は、認証プロバイダ120によって制御される秘密キー166を使用して、認証プロバイダ120によって生成することができる。結果として、第三者は、認証プロバイダ120によって制御される秘密キー166のそれぞれの公開キー163を使用して、署名176をクレーム173と比較することによって、クレーム173を確認することができる。認証プロバイダ120の公開キー163を使用して署名176を確認できなかった場合、これは、クレーム173が許可なしに変更されたか、又はクレーム173が認証プロバイダ120によって行われたことがないことを示し得る。次に、確認済みクレーム169は、ホストされたアプリケーション119に返される。
【0057】
次に、ステップ216で、ホストされたアプリケーション119は、他のアプリケーション又は第三者がホストされたアプリケーション119又はホストされたアプリケーション119のオペレータのIDを確認することを可能にすることができる身分証明書136を作成することができる。例えば、ホストされたアプリケーション119は、ステップ203で作成されたIDキー131及びキー対159、並びにステップ213で作成された確認済みクレーム169を含む身分証明書136を作成することができる。身分証明書136を作成した後、ホストされたアプリケーション119は、身分証明書136を分散型台帳113に記憶させることができる。
【0058】
次に図3を参照すると、ネットワーク環境100の構成要素の動作の別の例を提供するシーケンス図が示されている。図3のシーケンス図は、ネットワーク環境100の図示された部分の動作を実装するために使用することができる多くの異なるタイプの機能的配置の単なる例を提供する。別の方法として、図3のシーケンス図は、ネットワーク環境100内に実装された方法の要素の例を描写していると見なすことができる。
【0059】
ステップ303から始めて、ホストされたアプリケーション119は、それぞれのデータ項目133(例えば、ファイル、ネットワークアドレス又は他のタイプのデータ)のためのキー対159及びIDキー131を作成する。IDキー131とデータ項目133の間の関係は、認証レコード126としてホストされたデータストア123に記録することもでき、IDキー131及びデータ項目133のコピー又は識別子を含めることができる。
【0060】
次に、ステップ306で、ホストされたアプリケーション119は、確認要求をセキュリティサービス121に送信することができる。確認要求は、データ項目133に関連付けられたIDキー131、データ項目133自体、及びホストされたアプリケーション119を識別するIDキー131を含むことができる。場合によっては、ホストされたアプリケーション119は、データ項目133を評価するときに考慮されるべき一つ又は複数の確認規則129の指示を提供することもできる。
【0061】
ステップ309に進むと、セキュリティサービス121は、確認要求の受信に応答して、ホストされたアプリケーション119を識別するIDキー131に関連付けられた身分証明書136を取得する。例えば、セキュリティサービス121は、IDキー131を使用して、分散型台帳113に記憶されたそれぞれの身分証明書136を検索し、それを取得することができる。複数の分散型台帳113が使用される場合、セキュリティサービス121は、IDキー131をDIDリゾルバなどのリレー又はリゾルバサービスに送信して、どの分散型台帳113が身分証明書136を含むかを決定することができる。これらの例では、リレー又はリゾルバサービスは、セキュリティサービス121に代わって身分証明書136を取得し、それをセキュリティサービス121に返すことができる。
【0062】
ステップ311に進むと、セキュリティサービス121は、ホストされたアプリケーション119に認証チャレンジを送信して、ホストされたアプリケーション119がステップ306で要求を行ったことを確認することができる。したがって、セキュリティサービス121は、ステップ309で取得された身分証明書136内の公開キー163を使用して、認証チャレンジとして使用するためにトークン又はノンスを暗号化することができる。次に、認証チャレンジをホストされたアプリケーション119に送信できる。
【0063】
ステップ313を次に参照すると、ホストされたアプリケーション119は、認証チャレンジをボールトマネージャ149に転送することができる。認証チャレンジは、ホストされたアプリケーション119を認証するIDキー131に関連付けられた秘密キー166を使用して、認証チャレンジを復号化及び署名するためのボールトマネージャ149の要求の一部として転送できる。ホストされたアプリケーション119はまた、ホストされたアプリケーション119に代わって動作が実行されるべきであることをボールトマネージャ149に確認するための認証クレデンシャルを含み得る。
【0064】
ステップ316での応答において、ボールトマネージャ149は、認証チャレンジを復号化して署名し、復号化された認証チャレンジ及び認証チャレンジのための署名をホストされたアプリケーション119に提供することができる。例えば、ボールトマネージャ149は、最初に、ホストされたアプリケーション119を識別するIDキー131に関連付けられたキー対159の秘密キー166を取得することができる。次に、ボールトマネージャ149は、暗号化されたチャレンジを復号化して、セキュリティサービス121によって提供された元のトークン又はノンスを再作成することができる。次に、ボールトマネージャ149は、秘密キー166を用いてトークン又はノンスに署名して、暗号化されていないトークン又はノンスを他の手段で取得する代わりに、ホストされたアプリケーション119の秘密キー166の所有者がチャレンジを復号化したことを証明することができる。次に、ボールトマネージャ149は、暗号化されていないトークン又はノンス、並びにそれぞれの署名を、ホストされたアプリケーション119に提供することができる。
【0065】
次に、ステップ319で、ホストされたアプリケーション119は、認証応答をセキュリティサービス121に送信して、そのIDを証明することができる。これには、認証チャレンジからの暗号化されていないトークン又はノンス、並びに暗号化されていないトークン又はノンスの署名を含めることができる。
【0066】
次に、ステップ323で、セキュリティサービス121は、データ項目133を確認又は認証することができる。例えば、セキュリティサービス121は、データ項目133を評価して、データ項目133が、ステップ306でホストされたアプリケーション119によって指定された一つ又は複数の確認規則129に準拠するかどうかを決定することができる。別の例として、セキュリティサービス121は、データ項目133に適用される確認規則129を識別し、データ項目133のコンプライアンスを評価することができる。例えば、データ項目133がウェブサイトのネットワークアドレスである場合、セキュリティサービス121は、ネットワークアドレス又はウェブサイトに適用可能なすべての確認規則129を識別し、データ項目133のコンプライアンスを評価することができる。同様に、データ項目133がファイルである場合、セキュリティサービス121は、ファイルに適用可能なすべての確認規則129を識別し、データ項目のコンプライアンスを評価することができる。
【0067】
セキュリティサービス121がデータ項目133を評価すると、セキュリティサービスは、データ項目133について確認済みクレーム169を作成することができる。これは、データ項目133が準拠する各確認規則129に関するクレーム173を含むことができる。これはまた、データ項目133が従わない各確認規則129に関するクレーム173を含むことができる。例えば、セキュリティサービス121が、ネットワークアドレスが、なりすましアプリケーションのネットワークアドレスではなく、ホストされたアプリケーション119の有効なネットワークアドレスであると決定した場合、セキュリティサービス121は、ネットワークアドレスが、ホストされたアプリケーション119に到達するための有効なネットワークアドレスであるべきであると述べている確認規則129に準拠しているというクレーム173を行うことができる。しかし、セキュリティサービス121によって実行される自動セキュリティスキャンが、ホストされたアプリケーション119に脆弱性の存在を示した場合、セキュリティサービス121は、ホストされたアプリケーション119が安全でなく、ホストされたアプリケーション119には、脆弱性又は特定の脆弱性があってはならないという確認規則129に準拠していないという第2のクレームを行うことができる。同様のクレーム173は、ファイルの作成者若しくは配布者のID又はファイルにマルウェアが含まれているかどうかなど、ファイルについても行うことができる。セキュリティサービス121はまた、確認済みクレーム169のクレーム173ごとにそれぞれの署名176を作成することができる。次に、確認済みクレーム169は、ホストされたアプリケーション119に返すことができる。
【0068】
最後に、ステップ326で、ホストされたアプリケーション119は、セキュリティサービス121によって提供される確認済みクレーム169を含むデータ項目133の身分証明書136を作成及び記録することができる。これにより、他のアプリケーション又は第三者が、ネットワークアドレスへのリンクが本物か若しくは偽物か、ホストされたアプリケーション119、ウェブサイト、若しくはファイルにマルウェアが含まれているか若しくはその他の点で安全でないか、又はファイルの作成者、発信者、若しくは配布者であると称するエンティティが、実際にファイルの作成者、作成者、若しくは配布者であるかどうかなど、データ項目133の信頼性又はセキュリティを確認できる。したがって、ホストされたアプリケーション119は、ステップ303で作成されたIDキー131及びキー対159、並びにステップ323で作成された確認済みクレーム169を含む身分証明書136を作成することができる。身分証明書136を作成した後、ホストされたアプリケーション119は、身分証明書136を分散型台帳113に記憶させることができる。
【0069】
次に図4を参照すると、ネットワーク環境100の構成要素の動作の別の例を提供するシーケンス図が示されている。図4のシーケンス図は、ネットワーク環境100の図示された部分の動作を実装するために使用することができる多くの異なるタイプの機能的配置の単なる例を提供する。別の方法として、図4のシーケンス図は、ネットワーク環境100内に実装された方法の要素の例を描写していると見なすことができる。
【0070】
図4のシーケンス図は、図3の範囲と同様であることに留意されたい。しかしながら、図3のシーケンス図は、ボールトマネージャ149の使用を示し、一方、図4のシーケンス図は、ボールトマネージャ149の使用を省略した代替の実装を示している。
【0071】
ステップ403から始めて、ホストされたアプリケーション119は、それぞれのデータ項目133(例えば、ファイル、ネットワークアドレス又は他のタイプのデータ)のためのキー対159及びIDキー131を作成する。IDキー131とデータ項目133の間の関係は、認証レコード126としてホストされたデータストア123に記録することもでき、IDキー131及びデータ項目133のコピー又は識別子を含めることができる。
【0072】
次に、ステップ406で、ホストされたアプリケーション119は、確認要求をセキュリティサービス121に送信することができる。確認要求は、データ項目133に関連付けられたIDキー131、データ項目133自体、及びホストされたアプリケーション119を識別するIDキー131を含むことができる。場合によっては、ホストされたアプリケーション119は、データ項目133を評価するときに考慮されるべき一つ又は複数の確認規則129の指示を提供することもできる。
【0073】
ステップ409に進むと、セキュリティサービス121は、確認要求の受信に応答して、ホストされたアプリケーション119を識別するIDキー131に関連付けられた身分証明書136を取得する。例えば、セキュリティサービス121は、IDキー131を使用して、分散型台帳113に記憶されたそれぞれの身分証明書136を検索し、それを取得することができる。複数の分散型台帳113が使用される場合、セキュリティサービス121は、IDキー131をDIDリゾルバなどのリレー又はリゾルバサービスに送信して、どの分散型台帳113が身分証明書136を含むかを決定することができる。これらの例では、リレー又はリゾルバサービスは、セキュリティサービス121に代わって身分証明書136を取得し、それをセキュリティサービス121に返すことができる。
【0074】
ステップ411に進むと、セキュリティサービス121は、ホストされたアプリケーション119に認証チャレンジを送信して、ホストされたアプリケーション119がステップ406で要求を行ったことを確認することができる。したがって、セキュリティサービス121は、ステップ409で取得された身分証明書136内の公開キー163を使用して、認証チャレンジとして使用するためにトークン又はノンスを暗号化することができる。次に、認証チャレンジをホストされたアプリケーション119に送信できる。
【0075】
ステップ416で、ホストされたアプリケーション119は、認証チャレンジを復号化して署名し、復号化された認証チャレンジ及び認証チャレンジのための署名をホストされたアプリケーション119に提供することができる。例えば、ホストされたアプリケーション119は、キー対159のそれぞれの秘密キー166を使用して、暗号化されたチャレンジを復号化し、セキュリティサービス121によって提供される元のトークン又はノンスを再作成できる。次に、ホストされたアプリケーション119は、秘密キー166を用いてトークン又はノンスに署名して、暗号化されていないトークン又はノンスを他の手段で取得する代わりに、ホストされたアプリケーション119がチャレンジを復号化したことを証明することができる。
【0076】
次に、ステップ419で、ホストされたアプリケーション119は、認証応答をセキュリティサービス121に送信して、そのIDを証明することができる。これには、認証チャレンジからの暗号化されていないトークン又はノンス、並びに暗号化されていないトークン又はノンスの署名を含めることができる。
【0077】
ステップ423において、セキュリティサービス121は、データ項目133を確認又は認証することができる。例えば、セキュリティサービス121は、データ項目133を評価して、データ項目133が、ステップ406でホストされたアプリケーション119によって指定された一つ又は複数の確認規則129に準拠するかどうかを決定することができる。別の例として、セキュリティサービス121は、データ項目133に適用される確認規則129を識別し、データ項目133のコンプライアンスを評価することができる。例えば、データ項目133がウェブサイトのネットワークアドレスである場合、セキュリティサービス121は、ネットワークアドレス又はウェブサイトに適用可能なすべての確認規則129を識別し、データ項目133のコンプライアンスを評価することができる。同様に、データ項目133がファイルである場合、セキュリティサービス121は、ファイルに適用可能なすべての確認規則129を識別し、データ項目のコンプライアンスを評価することができる。
【0078】
セキュリティサービス121がデータ項目133を評価すると、セキュリティサービスは、データ項目133について確認済みクレーム169を作成することができる。これは、データ項目133が準拠する各確認規則129に関するクレーム173を含むことができる。これはまた、データ項目133が従わない各確認規則129に関するクレーム173を含むことができる。例えば、セキュリティサービス121が、ネットワークアドレスがなりすましアプリケーションのネットワークアドレスではなく、ホストされたアプリケーション119の有効なネットワークアドレスであると決定した場合、セキュリティサービス121は、ネットワークアドレスが確認規則129に準拠しているとクレーム173を行うことができ、ネットワークアドレスは、ホストされているアプリケーション119に到達するための有効なネットワークアドレスである必要があることを示す。しかし、セキュリティサービス121によって実行される自動セキュリティスキャンが、ホストされたアプリケーション119に脆弱性の存在を示した場合、セキュリティサービス121は、ホストされたアプリケーション119が安全でなく、ホストされたアプリケーション119には、脆弱性又は特定の脆弱性があってはならないという確認規則129に準拠していないという第2のクレームを行うことができる。同様のクレーム173は、ファイルの作成者若しくは配布者のID又はファイルにマルウェアが含まれているかどうかなど、ファイルについても行うことができる。セキュリティサービス121はまた、確認済みクレーム169のクレーム173ごとにそれぞれの署名176を作成することができる。次に、確認済みクレーム169は、ホストされたアプリケーション119に返すことができる。
【0079】
最後に、ステップ426で、ホストされたアプリケーション119は、セキュリティサービス121によって提供される確認済みクレーム169を含むデータ項目133の身分証明書136を作成及び記録することができる。これにより、他のアプリケーション又は第三者が、ネットワークアドレスへのリンクが本物か若しくは偽物か、ホストされたアプリケーション119、ウェブサイト、若しくはファイルにマルウェアが含まれているか若しくはその他の点で安全でないか、又はファイルの作成者、発信者、若しくは又は配布者であると称するエンティティが、実際にファイルの作成者、作成者、若しくは又は配布者であるかどうかなど、データ項目133の信頼性又はセキュリティを確認できる。したがって、ホストされたアプリケーション119は、ステップ403で作成されたIDキー131及びキー対159、並びにステップ423で作成された確認済みクレーム169を含む身分証明書136を作成することができる。身分証明書136を作成した後、ホストされたアプリケーション119は、身分証明書136を分散型台帳113に記憶させることができる。
【0080】
次に図5を参照すると、ネットワーク環境100の構成要素の動作の別の例を提供するシーケンス図が示されている。図5のシーケンス図は、ネットワーク環境100の図示された部分の動作を実装するために使用することができる多くの異なるタイプの機能的配置の単なる例を提供する。別の方法として、図5のシーケンス図は、ネットワーク環境100内に実装された方法の要素の例を描写していると見なすことができる。
【0081】
ステップ503から始めて、クライアントアプリケーション143は、データ項目133の要求をホストされたアプリケーション119に送信する。これには、例えば、ファイルの要求、ウェブページの要求などが含まれる。
【0082】
ステップ506で、ホストされたアプリケーション119は、要求に応答して、それぞれの認証レコード126で識別されたそれぞれのIDキー131と共に、データ項目136を提供する。IDキー131は、様々なカスタムプロトコル又は既存のプロトコルの拡張機能を使用して提供できる。例えば、追加のハイパーテキストトランスポートプロトコル(HTTP)ヘッダを応答に含めて、データ項目133に関連付けられたIDキーを示すことができる。
【0083】
続いて、ステップ509で、クライアントアプリケーション143は、応答中のIDキー131を認識し、それぞれの身分証明書136を取得する。例えば、クライアントアプリケーション143は、IDキー131を使用して、分散型台帳113に記憶されたそれぞれの身分証明書136を検索し、それを取得することができる。複数の分散型台帳113が使用される場合、クライアントアプリケーション143は、IDキー131をDIDリゾルバなどのリレー又はリゾルバサービスに送信して、どの分散型台帳113が身分証明書136を含むかを決定することができる。これらの例では、リレー又はリゾルバサービスは、クライアントアプリケーション143に代わって身分証明書136を取得し、それをセキュリティサービス121に返すことができる。
【0084】
次に、ステップ513で、クライアントアプリケーション143は、暗号化チャレンジを作成し、ホストされたアプリケーション119に送信することができる。したがって、クライアントアプリケーション143は、ステップ509で取得された身分証明書136の公開キー163を使用して、暗号化チャレンジとして使用するためにトークン又はノンスを暗号化することができ、これをホストされたアプリケーション119に送信することができる。
【0085】
ステップ516で、ホストされたアプリケーション119は、暗号化チャレンジをボールトマネージャ149に転送することができる。暗号化チャレンジは、認証レコード126によってデータ項目133にリンクされたIDキー131に関連付けられた秘密キー166を使用して、暗号化チャレンジを復号化及び署名するためのボールトマネージャ149の要求の一部として転送できる。
【0086】
ステップ519での応答において、ボールトマネージャ149は、暗号化チャレンジを復号化及び署名し、復号化された暗号化チャレンジ及び暗号化チャレンジのための署名をホストされたアプリケーション119に提供することができる。例えば、ボールトマネージャ149は、最初に、データ項目133にリンクされたIDキー131に関連付けられたキー対159の秘密キー166を取得することができる。次に、ボールトマネージャ149は、暗号化されたチャレンジを復号化して、クライアントアプリケーション143によって提供された元のトークン又はノンスを再作成することができる。次に、ボールトマネージャ149は、秘密キー166を用いてトークン又はノンスに署名して、他のアプローチを通じて暗号化されていないトークン又はノンスを取得する代わりに、ホストされたアプリケーション119の秘密キー166の所有者がチャレンジを復号化したことを証明することができる。次に、ボールトマネージャ149は、暗号化されていないトークン又はノンス、並びにそれぞれの署名を、ホストされたアプリケーション119に提供することができる。
【0087】
次に、ステップ523において、ホストされたアプリケーション119は、暗号化されていないノンス又はトークン、及びノンス又はトークンの署名をクライアントアプリケーション143に送信することができる。これは、クライアントアプリケーション143によって取得された身分証明書136がデータ項目133に関連付けられており、データ項目133に関する有効な確認済みクレーム169を含むことを示すことができる。
【0088】
次に、ステップ526で、クライアントアプリケーション143は、ステップ509で取得された身分証明書136に含まれる確認済みクレーム169を評価することができる。例えば、クライアントアプリケーション143は、各クレーム173を評価して、データ項目133について何が主張されているか(例えば、それが安全であるか、マルウェアが含まれているか、ファイルの作成者とされる有効なサイト又はなりすましサイトへのリンクであるかなど)を決定することができる。クライアントアプリケーション143はまた、確認済みクレーム169の各クレーム173のそれぞれの署名176が正しいことを確認して、各クレーム173が有効であることを保証することができる。
【0089】
場合によっては、クライアントアプリケーション143はまた、クレーム173においてアサーションを行う当事者を信頼するかどうかを決定することができる。例えば、署名176は、クレーム173を行ったセキュリティサービス121を指定することができる。あるセキュリティサービス121は、別のセキュリティサービス121よりもクライアントアプリケーション143によってより信頼され得る(例えば、一つのセキュリティサービス121は、より徹底的又はより正確であったという履歴を有する可能性がある)。したがって、クライアントアプリケーション143は、特定のセキュリティサービス121によって行われる場合、特定のクレーム173を無視することを選択することができ、又は、信頼できないセキュリティサービス121による特定のアサーションを信頼できるようにするために、複数の信頼できないセキュリティサービス121がそれぞれのクレーム173で同じアサーションを行うことを要求する場合がある。
【0090】
最後に、ステップ529で、クライアントアプリケーション143は、確認済みクレーム169に含まれるクレーム173に少なくとも部分的に基づいて、ユーザインタフェース146をレンダリングする。一部の実装形態では、信頼できるソースからのものである、確認済みクレーム169のクレーム173のみが、ユーザインタフェース146に組み込まれ得る。例えば、クライアントアプリケーション143は、データ項目133のステータスの表示と共にデータ項目133を表示するユーザインタフェース146をレンダリングすることができる。例えば、ユーザインタフェースは、ウェブサイトが安全であること、リンクがウェブサイトの有効なリンクであること、ファイルにマルウェアが含まれていないこと、又はファイルの作成者又は配布者が本人であることを示すことができる。
【0091】
次に図6を参照すると、ネットワーク環境100の構成要素の動作の別の例を提供するシーケンス図が示されている。図6のシーケンス図は、ネットワーク環境100の図示された部分の動作を実装するために使用することができる多くの異なるタイプの機能的配置の単なる例を提供することが理解される。別の方法として、図6のシーケンス図は、ネットワーク環境100内に実装された方法の要素の例を描写していると見なすことができる。
【0092】
図6のシーケンス図は、図5の範囲と同様であることに留意されたい。しかしながら、図5のシーケンス図は、ボールトマネージャ149の使用を示し、一方、図6のシーケンス図は、ボールトマネージャ149の使用を省略した代替の実装を示している。
【0093】
ステップ603から始めて、クライアントアプリケーション143は、データ項目133の要求をホストされたアプリケーション119に送信する。これには、例えば、ファイルの要求、ウェブページの要求などが含まれる。
【0094】
ステップ606で、ホストされたアプリケーション119は、それぞれの認証レコード126で識別されたそれぞれのIDキー131と共に、応答してデータ項目136を提供する。IDキー131は、様々なカスタムプロトコル又は既存のプロトコルの拡張機能を使用して提供できる。例えば、追加のハイパーテキストトランスポートプロトコル(HTTP)ヘッダを応答に含めて、データ項目133に関連付けられたIDキーを示すことができる。
【0095】
続いて、ステップ609で、クライアントアプリケーション143は、応答中のIDキー131を認識し、それぞれの身分証明書136を取得する。例えば、クライアントアプリケーション143は、IDキー131を使用して、分散型台帳113に記憶されたそれぞれの身分証明書136を検索し、それを取得することができる。複数の分散型台帳113が使用される場合、クライアントアプリケーション143は、IDキー131をDIDリゾルバなどのリレー又はリゾルバサービスに送信して、どの分散型台帳113が身分証明書136を含むかを決定することができる。これらの場合、リレー又はリゾルバサービスは、クライアントアプリケーション143に代わって身分証明書136を取得し、それをセキュリティサービス121に返すことができる。
【0096】
次に、ステップ613で、クライアントアプリケーション143は、暗号化チャレンジを作成し、ホストされたアプリケーション119に送信することができる。したがって、クライアントアプリケーション143は、ステップ509で取得された身分証明書136の公開キー163を使用して、暗号化チャレンジとして使用するためにトークン又はノンスを暗号化することができ、これをホストされたアプリケーション119に送信することができる。
【0097】
ステップ619で、ホストされたアプリケーション119は、暗号化チャレンジを復号化して署名し、復号化された暗号化チャレンジ及び暗号化チャレンジのための署名をホストされたアプリケーション119に提供することができる。例えば、ホストされたアプリケーション119は、データ項目133にリンクされたIDキー131に関連付けられたキー対159の秘密キー166を使用して、暗号化されたチャレンジを復号化し、クライアントアプリケーション143によって提供された元のトークン又はノンスを再作成できる。次に、ホストされたアプリケーション119は、秘密キー166を用いてトークン又はノンスに署名して、暗号化されていないトークン又はノンスを他の手段で取得する代わりに、ホストされたアプリケーション119の秘密キー166の所有者がチャレンジを復号化したことを証明することができる。
【0098】
次に、ステップ623において、ホストされたアプリケーション119は、暗号化されていないノンス又はトークン、及びノンス又はトークンの署名をクライアントアプリケーション143に送信することができる。これは、クライアントアプリケーション143によって取得された身分証明書136がデータ項目133に関連付けられており、データ項目133に関する有効な確認済みクレーム169を含むことを示すことができる。
【0099】
次に、ステップ626で、クライアントアプリケーション143は、ステップ609で取得された身分証明書136に含まれる確認済みクレーム169を評価することができる。例えば、クライアントアプリケーション143は、各クレーム173を評価して、データ項目133について何が主張されているか(例えば、それが安全であるか、マルウェアが含まれているか、ファイルの作成者とされる有効なサイト又はなりすましサイトへのリンクであるかなど)を決定することができる。クライアントアプリケーション143はまた、確認済みクレーム169の各クレーム173のそれぞれの署名176が正しいことを確認して、各クレーム173が有効であることを保証することができる。
【0100】
場合によっては、クライアントアプリケーション143はまた、クレーム173においてアサーションを行う当事者を信頼するかどうかを決定することができる。例えば、署名176は、クレーム173を行ったセキュリティサービス121を指定することができる。あるセキュリティサービス121は、別のセキュリティサービス121よりもクライアントアプリケーション143によってより信頼され得る(例えば、あるセキュリティサービス121は、より徹底的又はより正確であったという履歴を有する可能性がある)。したがって、クライアントアプリケーション143は、特定のセキュリティサービス121によって行われる場合、特定のクレーム173を無視することを選択することができ、又は信頼できないセキュリティサービス121による特定のアサーションを信頼できるようにするために、複数の信頼できないセキュリティサービス121がそれぞれのクレーム173で同じアサーションを行うことを要求する場合がある。
【0101】
最後に、ステップ629で、クライアントアプリケーション143は、確認済みクレーム169に含まれるクレーム173に少なくとも部分的に基づいて、ユーザインタフェース146をレンダリングする。一部の実装形態では、信頼できるソースからのものである、確認済みクレーム169のクレーム173のみが、ユーザインタフェース146に組み込まれ得る。例えば、クライアントアプリケーション143は、データ項目133のステータスの表示と共にデータ項目133を表示するユーザインタフェース146をレンダリングすることができる。例えば、ユーザインタフェースは、ウェブサイトが安全であること、リンクがウェブサイトの有効なリンクであること、ファイルにマルウェアが含まれていないこと、又はファイルの作成者又は配布者が本人であることを示すことができる。
【0102】
図7は、本開示の様々な実施形態による、クライアントアプリケーション143によってディスプレイ139上にレンダリングされたユーザインタフェース146の例を示している。図7に示されるユーザインタフェース146は、本開示の実施の一例を示しているが、図7のユーザインタフェース146に開示されている原理は、同様の目的に使用される他のユーザインタフェース146に適合させることができる。
【0103】
図7の例は、ブラウザなどのクライアントアプリケーション143によってレンダリングされたユーザインタフェース146を示しており、これは、図5又は図6に先に示した確認プロセスの結果を組み込んでいる。ユーザインタフェース146には、前に図5又は図6に示したようなプロセスを使用して確認された複数のリンクが表示されている。各リンクについて確認済みクレーム169の評価に応答して、ユーザインタフェース要素703が、リンクのステータスを示すために各リンクの隣に挿入されている。例えば、一部のリンクには「承認済み」と表示されている場合がある。このステータスは、これらのリンクが、正当なウェブサイトになりすましたウェブサイトにユーザを誘導するかどうか、又はリンクによって到達可能なウェブサイトにセキュリティの脆弱性が含まれるかどうかなど、該当するすべての確認規則129に準拠していることを示し得る。対照的に、他のリンクには、これらのリンクが少なくとも一つの該当する確認規則129に準拠していないことをユーザに警告するために、「クリックしないでください」という指示が含まれている場合がある。これらすべてのユーザインタフェース要素703は、情報がどのようにユーザに伝達され得るかについての例示的な例を含み、他のアプローチが適宜使用され得る。
【0104】
図8は、本開示の様々な実施形態による、クライアントアプリケーション143によってディスプレイ139上にレンダリングされたユーザインタフェース146の例を示している。図8に示されるユーザインタフェース146は、本開示の実装の一例を示しており、図8のユーザインタフェース146に開示されている原理は、同様の目的に使用される他のユーザインタフェース146に適合させることができる。
【0105】
図8の例は、ブラウザなどのクライアントアプリケーション143によってレンダリングされたユーザインタフェース146を示しており、これは、図5又は図6に先に示した確認プロセスの結果を組み込んでいる。ユーザインタフェース146には、前に図5又は図6に示したようなプロセスを使用して確認された複数のリンクが表示されている。ユーザがアクセスしようとしているファイルについての確認済みクレーム169の評価に応答して、ファイルのステータスを示すためにダイアログボックス803がレンダリングされた。ダイアログボックス803で任意のステータスをレンダリングすることができるが、一部の実装形態は、ファイルが少なくとも一つの確認規則129に準拠しない場合にのみダイアログボックス803をレンダリングすることを選択することができる。例えば、ファイルにマルウェアが含まれている場合、又はファイルがファイルの作成者又は配布者から発信されたのではないように見える場合、ダイアログボックス803がレンダリングされ得る。
【0106】
前述のいくつかのソフトウェア構成要素は、それぞれのコンピューティングデバイスのメモリに記憶され、プロセッサのそれぞれのコンピューティングデバイスによって実行可能である。この点で、「実行可能」という用語は、最終的にプロセッサが実行できる形式のプログラムファイルを意味する。実行可能プログラムの例としては、メモリのランダムアクセス部分にロードしてプロセッサで実行できる形式のマシンコード、メモリのランダムアクセス部分にロードされてプロセッサによって実行され得るオブジェクトコードなどの適切な形式で表現できるソースコード、又は別の実行可能プログラムによって解釈されて、プロセッサによって実行されるメモリのランダムアクセス部分に命令を生成できるソースコードに変換できるコンパイル済みプログラムであり得る。実行可能なプログラムは、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、ハードドライブ、ソリッドステートドライブ、ユニバーサルシリアルバス(USB)フラッシュドライブ、メモリカード、コンパクトディスク(CD)若しくはデジタル多用途ディスク(DVD)などの光学ディスク、フロッピーディスク、磁気テープ、又はその他のメモリ構成要素を含む、メモリの任意の部分又は構成要素に記憶できる。
【0107】
メモリは、揮発性及び不揮発性メモリ及びデータストレージ構成要素の両方を含む。揮発性構成要素とは、電力が失われたときにデータ値を保持しない構成要素である。不揮発性構成要素とは、電力が失われたときにデータを保持する構成要素である。したがって、メモリには、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、ハードディスクドライブ、ソリッドステートドライブ、USBフラッシュドライブ、メモリカードリーダーを介してアクセスされるメモリカード、関連するフロッピーディスクドライブを介してアクセスされるフロッピーディスク、光ディスクドライブを介してアクセスされる光ディスク、適切なテープドライブを介してアクセスされる磁気テープ、若しくは他のメモリ構成要素、又はこれらのメモリ構成要素の任意の二つ以上の組み合わせを含めることができる。更に、RAMには、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、又は磁気ランダムアクセスメモリ(MRAM)などのデバイスを含めることができる。ROMは、プログラム可能な読み取り専用メモリ(PROM)、消去可能なプログラム可能な読み取り専用メモリ(EPROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)、又は他の同様のメモリデバイスを含むことができる。
【0108】
本明細書に記載のアプリケーション及びシステムは、上記のように汎用ハードウェアによって実行されるソフトウェア又はコードで具体化することができるが、代替として、同じものを専用ハードウェア又はソフトウェア/汎用ハードウェア及び専用ハードウェアの組み合わせで具体化することもできる。専用のハードウェアで具体化されている場合、それぞれは、いくつかの技術のいずれか一つ又は組み合わせを採用する回路又はステートマシンとして実装できる。これらの技術には、一つ若しくは複数のデータ信号の適用時に様々な論理機能を実装するための論理ゲートを備えたディスクリート論理回路、適切な論理ゲートを備えた特定用途向け集積回路(ASIC)、フィールドプログラム可能なゲートアレイ(FPGA)、又は他の構成要素などが含まれ得るが、これらに限定されない。そのような技術は、一般に当業者によく知られており、したがって、本明細書では詳細に説明されていない。
【0109】
シーケンス図は、本開示の様々な実施形態の一部の実装の機能及び動作を示す。ソフトウェアで具体化される場合、各ブロックは、指定された論理機能を実装するためのプログラム命令を含むモジュール、セグメント、又はコードの一部を表すことができる。プログラム命令は、プログラミング言語で書かれた人間が読めるステートメントを含むソースコード、又はコンピュータシステムのプロセッサなどの適切な実行システムによって認識可能な数値命令を含むマシンコードの形式で具体化することができる。マシンコードは、様々なプロセスを通じてソースコードから変換できる。例えば、マシンコードは、対応するアプリケーションを実行する前に、コンパイラを使用してソースコードから生成できる。別の例として、マシンコードは、インタプリタによる実行と同時にソースコードから生成できる。他のアプローチも使用できる。ハードウェアで具体化される場合、各ブロックは、指定された論理機能(複数可)を実装するための回路又は相互接続されたいくつかの回路を表すことができる。
【0110】
シーケンス図は特定の実行順序を示しているが、実行順序は図示されているものとは異なる可能性があることが理解される。例えば、二つ以上のブロックの実行順序は、示されている順序に対してスクランブルすることができる。また、連続して表示される二つ以上のブロックは、同時に実行することも、又は部分的に同時に実行することもできる。更に、いくつかの実施形態では、シーケンス図に示される一つ又は複数のブロックをスキップ又は省略することができる。更に、ユーティリティ、アカウンティング、性能測定の強化、又はトラブルシューティング支援の提供などの目的で、本明細書で説明する論理フローに任意の数のカウンタ、状態変数、警告セマフォ、又はメッセージを追加できる。そのようなすべての変形は、本開示の範囲内であることが理解される。
【0111】
また、ソフトウェア又はコードを含む本明細書に記載の任意の論理又はアプリケーションは、コンピュータシステム又は他のシステムのプロセッサなどの命令実行システムによって、又はそれに関連して使用するために、任意の非一時的なコンピュータ可読媒体に具現化することができる。この意味で、論理は、コンピュータ可読媒体からフェッチされ、命令実行システムによって実行され得る命令及び宣言を含むステートメントを含むことができる。本開示の文脈において、「コンピュータ可読媒体」は、命令実行システムによって、又はそれに関連して使用するために、本明細書に記載の論理又はアプリケーションを含む、記憶する、又は維持することができる任意の媒体であり得る。
【0112】
コンピュータ可読媒体は、磁気媒体、光学媒体、又は半導体媒体などの多くの物理媒体のいずれか一つを含むことができる。適切なコンピュータ可読媒体のより具体的な例には、磁気テープ、磁気フロッピーディスク、磁気ハードドライブ、メモリカード、ソリッドステートドライブ、USBフラッシュドライブ、又は光ディスクが含まれるが、これらに限定されない。また、コンピュータ可読媒体は、スタティックランダムアクセスメモリ(SRAM)及びダイナミックランダムアクセスメモリ(DRAM)を含むランダムアクセスメモリ(RAM)、又は磁気ランダムアクセスメモリ(MRAM)であり得る。更に、コンピュータ可読媒体は、読み取り専用メモリ(ROM)、プログラム可能な読み取り専用メモリ(PROM)、消去可能なプログラム可能な読み取り専用メモリ(EPROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)又は他のタイプのメモリデバイスであり得る。
【0113】
更に、本明細書に記載の任意の論理又はアプリケーションは、様々な方法で実装及び構造化することができる。例えば、説明されている一つ又は複数のアプリケーションは、単一のアプリケーションのモジュール又は構成要素として実装できる。更に、本明細書で説明される一つ又は複数のアプリケーションは、共有若しくは別個のコンピューティングデバイス又はそれらの組み合わせで実行することができる。例えば、本明細書で説明される複数のアプリケーションは、同じコンピューティングデバイスで、又は同じコンピューティング環境内の複数のコンピューティングデバイスで実行することができる。
【0114】
特に明記されていない限り、「X、Y、又はZの少なくとも一つ」というフレーズなどの選言的文言は、アイテム、用語などがX、Y、若しくはZのいずれか、又はそれらの任意の組み合わせ(例えば、X、Y、又はZ)である可能性があることを示すために一般的に使用される文脈で別の方法で理解される。したがって、そのような選言的文言は、一般に、特定の実施形態がそれぞれ存在するためにXの少なくとも一つ、Yの少なくとも一つ、又はZの少なくとも一つを必要とすることを意味することを意図せず、また意味するべきではない。
【0115】
本開示の上記の実施形態は、本開示の原理を明確に理解するために提示された実装例の単なる可能な例であることを強調すべきである。本開示の趣旨及び原理から実質的に逸脱することなく、上記の実施形態に対して多くの変形及び修正を行うことができる。そのようなすべての修正及び変形は、本開示の範囲内に本明細書に含まれ、以下の特許請求の範囲によって保護されることが意図されている。
【0116】
一つ又は複数の例示的な実装は、以下の条項に示されている。以下の条項は実装例を説明しているが、本開示の他の実装も前のページ及び図で説明されている。したがって、以下の条項は、本開示の例示的な例を説明しているが、本開示の唯一の実装を説明しているわけではない。
【0117】
条項1-プロセッサ及びメモリを含むコンピューティングデバイスと、メモリに記憶された機械可読命令と、を含むシステムであって、機械可読命令は、プロセッサによって実行されると、コンピューティングデバイスに少なくとも、データ項目のIDキーを生成することと、データ項目の認証要求をセキュリティサービスに送信することであって、この要求は、IDキー及びデータ項目を含む、ことと、セキュリティサービスからデータ項目の確認済みクレームを受信することと、身分証明書を生成することであって、身分証明書は、データ項目のIDキー及び確認済みクレームを含む、ことと、身分証明書を分散型台帳に記憶する、ことと、行わせる、システム。
【0118】
条項2-条項1のシステムであって、機械可読命令は、コンピューティングデバイスによって実行されると、更に、コンピューティングデバイスに少なくとも、データ項目の要求を受信する、ことと、要求への応答を送信することであって、応答はデータ項目及びIDキーを含む、ことと、を行わせる、システム。
【0119】
条項3-条項1又は2のシステムであって、IDキーは、第2のIDキーであり、身分証明書は第2の身分証明書であり、データ項目の認証要求は、認証の第2の要求であり、機械可読命令は更に、コンピューティングデバイスに少なくとも、機械可読命令のオペレータのIDの認証要求を認証サービスに送信することと、認証サービスから第1のIDキー及び確認済みクレームを受信することと、第1の身分証明書を作成することであって、身分証明書は、IDキー及び確認済みクレームを含む、ことと、第1の身分証明書を分散型台帳に記憶することであって、データ項目の認証のための第2の要求は、第1の身分証明書が分散型台帳に記憶されるのに続いて送信される、ことと、を行わせる、システム。
【0120】
条項4-条項1~3のシステムであって、機械可読命令は、プロセッサによって実行されると、コンピューティングデバイスに少なくとも、データ項目に一意に関連付けられた非対称キー対を生成させ、身分証明書は、非対称キー対の公開キーを更に含む、システム。
【0121】
条項5-条項4のシステムであって、機械可読命令は、プロセッサによって実行されると、更に、コンピューティングデバイスに少なくとも、公開キーで暗号化された暗号化トークンを含む確認要求を受信することと、暗号化されていないトークンを生成するために、非対称キー対の秘密キーを使用して暗号化されたトークンを復号化することと、秘密キーを使用して、暗号化されていないトークンの暗号化署名を作成することと、暗号化されていないトークン及び暗号化署名を含む確認応答を提供することと、を行わせる、システム。
【0122】
条項6-データ項目がネットワークアドレスである、条項1~5のシステム。
【0123】
条項7-データ項目がファイルである、条項1~5のシステム。
【0124】
第8項-データ項目の確認要求を受信することであって、確認要求は、IDキー及びデータ項目を含む、ことと、データ項目が少なくとも一つの確認規則に準拠していることを決定することと、データ項目の確認済みクレームを生成することであって、確認済みクレームは、IDキーがデータ項目に関連付けられており、データ項目が少なくとも一つの確認規則に準拠していることを示す、ことと、データ項目の認証要求への応答として確認済みクレームを提供することと、を含む、方法。
【0125】
条項9-条項8の方法であって、IDキーは、第2のIDキーである。少なくとも一つの確認規則は、データ項目が認証されたエンティティから発信されていることを示す。認証要求は、認証されたエンティティに関連付けられた第1のIDキーを更に含む。データ項目が少なくとも一つの確認規則に準拠していることを決定することは、認証要求が認証されたエンティティから発信されていることを、少なくとも部分的に第1のIDキーに基づいて確認することを更に含む。確認済みクレームの生成は、認証要求が認証済みエンティティから発信されているとの確認に応答して発生する。
【0126】
第10項-第9項の方法であって、少なくとも部分的に第1のIDキーに基づいて、認証要求が認証されたエンティティから発信されていることを確認することは、第1のIDキーに関連付けられた身分証明書を取得することであって、身分証明書は、それぞれの非対称キー対の公開暗号化キーを含む、ことと、暗号化されたトークンを作成するために、公開暗号化キーを使用してトークンを暗号化することと、認証要求を送信した発信元エンティティに暗号化されたトークンを送信することと、それぞれの非対称キー対の秘密キーで作成されたトークン及びデジタル署名を受信することと、公開暗号化キーを使用してデジタル署名を確認することと、を更に含む。
【0127】
条項11-条項8~10の方法であって、少なくとも一つの確認規則は、データ項目が指定されたセキュリティポリシーに準拠していることを示し、データ項目が少なくとも一つの確認規則に準拠していることを決定することは、データ項目のセキュリティ分析を実行することを更に含む。
【0128】
条項12-条項8~11の方法であって、IDキー及び確認済みクレームを含む身分証明書を作成することと、身分証明書を分散型台帳に登録することと、を更に含む、方法。
【0129】
条項13-データ項目がネットワークアドレスである、条項8~12の方法。
【0130】
条項14-データ項目がファイルである、条項8~12の方法。
【0131】
条項15-機械可読命令を含む非一時的なコンピュータ可読媒体であって、機械可読命令は、コンピューティングデバイスのプロセッサによって実行されると、コンピューティングデバイスに少なくとも、データ項目の要求をアプリケーションに送信することと、アプリケーションからデータ項目及びIDキーを受信することであって、IDキーはデータ項目にリンクされている、ことと、分散型台帳からIDキーによって識別される身分証明書を取得することであって、身分証明書には、データ項目に関連する少なくとも一つの確認済みクレームが含まれる、ことと、身分証明書に少なくとも部分的に基づいてデータ項目を確認することと、データ項目の確認の結果に少なくとも部分的に基づいてユーザインタフェースをレンダリングすることと、を行わせる、非一時的なコンピュータ可読媒体。
【0132】
条項16-条項15の非一時的なコンピュータ可読媒体であって、機械可読命令は、プロセッサによって実行されると、更に、コンピューティングデバイスに少なくとも、暗号化されたトークンを作成するために、身分証明書に含まれている公開鍵を使用してトークンを暗号化することと、暗号化されたトークンをアプリケーションに送信することと、アプリケーションからトークンを受け取り、トークンに関連付けられた暗号化署名を受信することと、暗号化署名を確認することと、を行わせる、非一時的なコンピュータ可読媒体。
【0133】
条項17-条項15又は16の非一時的なコンピュータ可読媒体であって、コンピューティングデバイスに、少なくとも部分的に身分証明書に基づいてデータ項目を確認させる機械可読命令は、コンピューティングデバイスに、確認済みクレームの少なくとも一つのクレームを少なくとも評価させ、少なくとも一つのクレームは、データ項目の少なくとも一つの確認規則への準拠に関するアサーションを含む、非一時的なコンピュータ可読媒体。
【0134】
条項18-条項17の非一時的なコンピュータ可読媒体であって、コンピューティングデバイスに少なくとも一つのクレームを少なくとも評価させる機械可読命令は、コンピューティングデバイスに、クレームが信頼できるエンティティによって行われたことを決定させる、非一時的なコンピュータ可読媒体。
【0135】
条項19-データ項目がネットワークアドレスである、条項15~18の非一時的なコンピュータ可読媒体。
【0136】
条項20-データ項目がファイルである、請求項15~18の非一時的なコンピュータ可読媒体。
図1
図2
図3
図4
図5
図6
図7
図8