(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-10-11
(54)【発明の名称】テナントアウェア相互TLS認証
(51)【国際特許分類】
G06F 21/33 20130101AFI20231003BHJP
G06F 21/64 20130101ALI20231003BHJP
H04L 9/32 20060101ALI20231003BHJP
H04W 12/069 20210101ALI20231003BHJP
【FI】
G06F21/33
G06F21/64
G06F21/64 350
H04L9/32 200D
H04W12/069
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023519678
(86)(22)【出願日】2021-01-28
(85)【翻訳文提出日】2023-03-29
(86)【国際出願番号】 US2021015410
(87)【国際公開番号】W WO2022119587
(87)【国際公開日】2022-06-09
(32)【優先日】2020-12-04
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】506332063
【氏名又は名称】セールスフォース インコーポレイテッド
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ペッダダ,プラサド
(72)【発明者】
【氏名】エルガマル,タヘル
【テーマコード(参考)】
5K067
【Fターム(参考)】
5K067AA21
5K067DD11
5K067EE12
5K067EE16
5K067HH22
(57)【要約】
サービスは、クライアント証明書チェーンを用いて構成されたクライアントを認証するために、相互トランスポート層セキュリティ(mTLS)サービスを活用し得る。クライアントは、サービスへのアクセスを要求し得、サービスは、クライアントにリダイレクション応答を送信し得る。リダイレクション応答は、テナントに関連付けられたmTLSサービスのエンドポイントを示し得る。リダイレクション応答を受信したことに応答して、クライアントは、mTLSサービスとのデジタルハンドシェイクを実行し得、mTLSサービスは、クライアントデジタル証明書を妥当性確認し、クライアントデジタル証明書にデジタル署名し得る。mTLSは、クライアントがデジタル署名されたデジタル証明書チェーンの指示を提示するサービスにクライアントをリダイレクトするリダイレクション応答を送信し得る。サービスは、デジタル署名されたデジタル証明書チェーンに関連付けられた信頼チェーンを妥当性確認し、クライアントがサービスにアクセスすることを認証されているという指示を発行し得る。
【特許請求の範囲】
【請求項1】
サービスへのアクセスを提供するための方法であって、
マルチテナントシステムのテナントによってサポートされる前記サービスによって、前記サービスにアクセスするためのアクセス要求をクライアントから受信するステップであって、前記クライアントは、前記テナントに関連付けられたデジタル証明書チェーンを用いて構成される、ステップと、
前記サービスによって、前記クライアントが前記サービスにアクセスすることを認証されているという有効な指示を受信できなかったことに少なくとも部分的に基づいて、相互トランスポート層セキュリティサービスを示す第1のリダイレクション応答を前記クライアントに送信するステップと、
前記デジタル証明書チェーンのデジタル署名されたバージョンの指示を前記クライアントから受信するステップであって、前記デジタル証明書チェーンは、最も真正なものによって信頼される前記相互トランスポート層セキュリティサービスに関連付けられたルート鍵を使用して署名される、ステップと、
前記デジタル証明書チェーンの前記デジタル署名されたバージョンを妥当性確認するステップと、
前記デジタル証明書チェーンの前記デジタル署名されたバージョンを妥当性確認したことに少なくとも部分的に基づいて、前記クライアントが前記サービスにアクセスすることを認証されているという指示を前記クライアントに送信するステップと
を含む方法。
【請求項2】
前記デジタル証明書チェーンの前記デジタル署名されたバージョンを妥当性確認するステップは、
前記デジタル証明書チェーンの前記デジタル署名されたバージョンに関連付けられた証明書チェーンを妥当性確認するステップ
を含む、請求項1に記載の方法。
【請求項3】
前記デジタル証明書チェーンの前記デジタル署名されたバージョンを妥当性確認するステップは、
前記デジタル証明書チェーンに関連付けられた有効期限が期限切れでないと決定するステップ
を含む、請求項1に記載の方法。
【請求項4】
前記アクセス要求を受信したことに少なくとも部分的に基づいて、前記クライアントによって提示されたアクセス証印が無効であると決定するステップであって、前記サービスは、前記アクセス証印が無効であると決定したことに少なくとも部分的に基づいて、前記第1のリダイレクション応答を送信する、ステップと
を更に含む、請求項1に記載の方法。
【請求項5】
前記アクセス証印が無効であると決定するステップは、
前記アクセス証印に関連付けられた生存時間値が期限切れでないと決定するステップ
を含む、請求項4に記載の方法。
【請求項6】
前記アクセス証印は、ブラウザクッキー、JSONウェブトークン、ハイパーテキスト転送プロトコル(HTTP)パラメータ、又はそれらの組合せを含む、請求項4に記載の方法。
【請求項7】
前記指示を送信するステップは、
前記クライアントにおいてアクセス証印を記憶するステップであって、前記アクセス証印は、ブラウザクッキー、JSONウェブトークン、ハイパーテキスト転送プロトコル(HTTP)パラメータ、又はそれらの組合せを含む、ステップ
を含む、請求項1に記載の方法。
【請求項8】
前記サービスは、前記相互トランスポート層セキュリティサービスに関連付けられたマルチテナントシステムの前記テナントによってサポートされる、請求項1に記載の方法。
【請求項9】
前記クライアントデジタル証明書チェーンは、前記クライアントデジタル証明書チェーンがサードパーティ認証局によって発行又はプロビジョニングされることに少なくとも部分的に基づいて、前記テナントに関連付けられる、請求項1に記載の方法。
【請求項10】
サービスにセキュアにアクセスするための方法であって、
クライアントによって、テナントによってサポートされる前記サービスに、前記サービスにアクセスするためのアクセス要求を送信するステップであって、前記クライアントは、前記テナントに関連付けられたクライアントデジタル証明書チェーンを用いて構成される、ステップと、
前記クライアントにおいて、前記クライアントが前記サービスにアクセスすることを認証されているという有効な指示を提示できなかったことに少なくとも部分的に基づいて、相互トランスポート層セキュリティサービスを示す第1のリダイレクション応答を前記サービスから受信するステップと、
前記第1のリダイレクション応答を受信したことに少なくとも部分的に基づいて、前記相互トランスポート層セキュリティサービスとのデジタルハンドシェイクを実行するステップであって、前記デジタルハンドシェイクを実行するステップは、前記相互トランスポート層セキュリティサービスに関連付けられた前記クライアントデジタル証明書チェーンの指示を送信するステップを含む、ステップと、
前記デジタルハンドシェイクに少なくとも部分的に基づいて、前記クライアントデジタル証明書チェーンのデジタル署名されたバージョンを含む第2のリダイレクション応答を前記相互トランスポート層セキュリティサービスから受信するステップであって、前記デジタル証明書チェーンは、前記相互トランスポート層セキュリティサービスに関連付けられた秘密鍵を使用して署名される、ステップと
前記クライアントによって、前記第2のリダイレクション応答を受信したことに少なくとも部分的に基づいて、前記クライアントデジタル証明書チェーンの前記デジタル署名されたバージョンの指示を提示するステップと、
前記クライアントデジタル証明書チェーンの前記デジタル署名されたバージョンの前記指示を提示したことに少なくとも部分的に基づいて、前記クライアントが前記サービスにアクセスすることを認証されているという指示を前記サービスから受信するステップと
を含む方法。
【請求項11】
前記クライアントによって、アクセス証印を提示するステップであって、前記クライアントは、前記アクセス証印が無効であることに少なくとも部分的に基づいて前記第1のリダイレクション応答を受信する、ステップ
を更に含む、請求項10に記載の方法。
【請求項12】
前記アクセス証印は、生存時間値が期限切れであることに少なくとも部分的に基づいて無効である、請求項11に記載の方法。
【請求項13】
前記クライアントが認証されているという前記指示を受信するステップは、
アクセス証印を前記サービスから受信するステップであって、前記アクセス証印は、ブラウザクッキー、JSONウェブトークン、ハイパーテキスト転送プロトコル(HTTP)パラメータ、又はそれらの組合せを含む、ステップ
を含む、請求項10に記載の方法。
【請求項14】
前記テナントによって発行又はプロビジョニングされた前記クライアントデジタル証明書チェーンの選択をユーザから受信するステップであって、前記デジタルハンドシェイクは、前記デジタル証明書チェーンの前記選択を受信したことに少なくとも部分的に基づいて実行される、ステップと
を更に含む、請求項10に記載の方法。
【請求項15】
前記クライアントデジタル証明書チェーンは、前記クライアントデジタル証明書チェーンがサードパーティ認証局によって発行又はプロビジョニングされることに少なくとも部分的に基づいて、前記テナントに関連付けられる、請求項10に記載の方法。
【請求項16】
サービスへのアクセスを提供するための装置であって、
マルチテナントシステムのテナントによってサポートされる前記サービスによって、前記サービスにアクセスするためのアクセス要求をクライアントから受信するための手段であって、前記クライアントは、前記テナントに関連付けられたデジタル証明書チェーンを用いて構成される、手段と、
前記サービスによって、前記クライアントが前記サービスにアクセスすることを認証されているという有効な指示を受信できなかったことに少なくとも部分的に基づいて、相互トランスポート層セキュリティサービスを示す第1のリダイレクション応答を前記クライアントに送信するための手段と、
前記デジタル証明書チェーンのデジタル署名されたバージョンの指示を前記クライアントから受信するための手段であって、前記デジタル証明書チェーンは、最も真正なものによって信頼される前記相互トランスポート層セキュリティサービスに関連付けられたルート鍵を使用して署名される、手段と、
前記デジタル証明書チェーンの前記デジタル署名されたバージョンを妥当性確認するための手段と、
前記デジタル証明書チェーンの前記デジタル署名されたバージョンを妥当性確認したことに少なくとも部分的に基づいて、前記クライアントが前記サービスにアクセスすることを認証されているという指示を前記クライアントに送信するための手段と
を備える装置。
【請求項17】
前記デジタル証明書チェーンの前記デジタル署名されたバージョンを妥当性確認するための前記手段は、
前記デジタル証明書チェーンの前記デジタル署名されたバージョンに関連付けられた証明書チェーンを妥当性確認するための手段
を備える、請求項16に記載の装置。
【請求項18】
前記デジタル証明書チェーンの前記デジタル署名されたバージョンを妥当性確認するための前記手段は、
前記デジタル証明書チェーンに関連付けられた有効期限が期限切れでないと決定するための手段
を備える、請求項16に記載の装置。
【請求項19】
前記アクセス要求を受信したことに少なくとも部分的に基づいて、前記クライアントによって提示されたアクセス証印が無効であると決定するための手段であって、前記サービスは、前記アクセス証印が無効であると決定したことに少なくとも部分的に基づいて、前記第1のリダイレクション応答を送信する、手段
を更に備える、請求項16に記載の装置。
【請求項20】
前記アクセス証印が無効であると決定するための前記手段は、
前記アクセス証印に関連付けられた生存時間値が期限切れでないと決定するための手段
を備える、請求項19に記載の装置。
【請求項21】
装置であって、プロセッサと、前記プロセッサと電子通信するメモリと、前記メモリに記憶され、前記装置に、請求項1から15のいずれか一項に記載の方法のステップを実行させるために前記プロセッサによって実行可能な命令とを備える、請求項16から20のいずれか一項に記載の装置。
【請求項22】
1つ又は複数のプログラムが記憶された1つ又は複数のコンピュータ可読媒体であって、前記1つ又は複数のプログラムの実行は、1つ又は複数のコンピュータに、請求項1から15のいずれか一項に記載の方法を実行させる、1つ又は複数のコンピュータ可読媒体。
【請求項23】
1つ又は複数のコンピュータ上で実行されるのに適した1つ又は複数のプログラムであって、前記1つ又は複数のプログラムの実行は、1つ又は複数のコンピュータに、請求項1から15のいずれか一項に記載の方法を実行させる、1つ又は複数のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[相互参照]
本出願は、本出願の譲受人に譲渡された、2020年12月4日に出願された、Peddadaらによる「TENANT AWARE MUTUAL TLS AUTHENTICATION」と題する米国特許出願第17/112,525号の優先権を主張する。
【0002】
[技術分野]
本開示は一般に、データベースシステム及びデータ処理に関し、より具体的には、テナントアウェア相互トランスポート層セキュリティ(mTLS)認証に関する。
【背景技術】
【0003】
リモートサーバの共有ネットワークを使用してデータを記憶、管理、及び処理するために、クラウドプラットフォーム(すなわち、クラウドコンピューティングのためのコンピューティングプラットフォーム)が多くのユーザによって採用され得る。ユーザは、クラウドプラットフォーム上でアプリケーションを開発して、データの記憶、管理、及び処理を扱うことができる。場合によっては、クラウドプラットフォームは、マルチテナントデータベースシステムを利用し得る。ユーザは、様々なユーザデバイス(例えば、デスクトップコンピュータ、ラップトップ、スマートフォン、タブレット、又は他のコンピューティングシステムなど)を使用して、クラウドプラットフォームにアクセスし得る。
【0004】
一例では、クラウドプラットフォームは、顧客関係管理(CRM)ソリューションをサポートし得る。これには、販売、サービス、マーケティング、コミュニティ、分析、アプリケーション、及びモノのインターネットのためのサポートが含まれ得る。ユーザは、クラウドプラットフォームを利用して、ユーザのコンタクトを管理するのに役立て得る。例えば、ユーザのコンタクトを管理することは、データを分析することと、通信を記憶及び準備することと、機会及び販売を追跡することとを含み得る。
【0005】
様々な暗号プロトコル及び技法が、様々なシステムへの認証をサポートし得る。これらの技法は、プライバシー及びデータ完全性をサポートし得る。場合によっては、これらの技法は、証明書発行者とこれらの証明書を所有する当事者との間の信頼チェーン(chain of trust)をサポートするデジタル証明書を使用する。
【図面の簡単な説明】
【0006】
【
図1】本開示の態様による、テナントアウェア相互トランスポート層セキュリティ(mTLS)認証をサポートするサービスへのアクセスを提供するためのシステムの例を示す。
【
図2】本開示の態様による、テナントアウェアmTLS認証をサポートするシステムの例を示す。
【
図3】本開示の態様による、テナントアウェアmTLS認証をサポートするシステムの例を示す。
【
図4】本開示の態様による、テナントアウェアmTLS認証をサポートするプロセスフローを示す。
【
図5】本開示の態様による、テナントアウェアmTLS認証をサポートする装置のブロック図を示す。
【
図6】本開示の態様による、テナントアウェアmTLS認証をサポートするセキュリティマネジャのブロック図を示す。
【
図7】本開示の態様による、テナントアウェアmTLS認証をサポートするデバイスを含むシステムの図を示す。
【
図8】本開示の態様による、テナントアウェアmTLS認証をサポートする装置のブロック図を示す。
【
図9】本開示の態様による、テナントアウェアmTLS認証をサポートするセキュリティマネジャのブロック図を示す。
【
図10】本開示の態様による、テナントアウェアmTLS認証をサポートするデバイスを含むシステムの図を示す。
【
図11】本開示の態様による、テナントアウェアmTLS認証をサポートする方法を示すフローチャートを示す。
【
図12】本開示の態様による、テナントアウェアmTLS認証をサポートする方法を示すフローチャートを示す。
【
図13】本開示の態様による、テナントアウェアmTLS認証をサポートする方法を示すフローチャートを示す。
【
図14】本開示の態様による、テナントアウェアmTLS認証をサポートする方法を示すフローチャートを示す。
【発明を実施するための形態】
【0007】
様々なシステム、サービス、データ、及びそれらの組合せは、様々な技法を使用してセキュアされる。いくつかの例では、ユーザは、ユーザ名及び/又はパスワードを入力して、これらのセキュアなシステムへのアクセスを得ることができる。同じ又は代替的な例では、これらのシステムへのアクセスを得るために様々な暗号プロトコル及び技法が使用され得る。トランスポート層セキュリティ(TLS)は、アプリケーションサーバなどのシステムへのセキュアなアクセスを提供するために使用され得る暗号プロトコルである。このプロトコルは、プライバシー及びデータ完全性を提供するために使用される。そのようなシステムでは、サーバは、デジタル証明書をクライアントに提供し得、デジタル証明書は、いくつかある特徴の中でも特に、サーバの公開鍵と、証明書を保証する認証局とを示し得る。相互TLS(mTLS)システムでは、サーバとクライアントの両方が証明書を交換し得る。しかしながら、そのようなシステムは、(例えば、サーバ間通信ではなく)クライアントが実際のユーザデバイスであるサーバ-クライアントシナリオでは広く使用されていない。mTLSは、クライアントデバイスへの証明書の発行が複雑になり得るため、使用されない場合がある。
【0008】
本明細書で説明する技法は、データアクセスサービス、アプリケーションサーバ、分析サーバ又はデータストアなどのような、テナントによってサポートされるサービスにアクセスするためのマルチテナントシステムのテナントによって信頼されるか又は他の方法でそれに関連付けられるmTLSサービスの利用をサポートする。ユーザデバイスの態様(例えば、ブラウザ)の例であり得るクライアントは、テナントに関連付けられた証明書を用いて構成され得る。例えば、証明書は、テナントによってサポートされる認証局を使用して、又はテナントによって信頼される認証局を使用して、テナントによって発行又はプロビジョニングされ得る。クライアントは、テナントサービスへのアクセスを要求し得、テナントサービスは、クライアントが、ブラウザクッキー、JavaScript Object Notation(JSON)ウェブトークン、ハイパーテキスト転送プロトコル(HTTP)パラメータ、又はそれらの組合せの例であり得る有効なアクセス証印(access indicia)を所有しているかどうかを決定し得る。アクセス証印は、サービスによってクライアントに発行され得、生存時間値(time to live value)に関連付けられ得る。従って、生存時間値が期限切れである場合、サービスは、アクセス証印が無効であると決定し得る。
【0009】
クライアントが有効なアクセス証印を所有していないとサービスが決定した場合、サービスは、リダイレクション応答をクライアントに送信し得、リダイレクション応答は、テナントに関連付けられているか又はテナントによって信頼されているmTLSサービスのエンドポイントを示し得る。リダイレクション応答を受信したことに応答して、クライアントは、mTLSサービスとのデジタルハンドシェイクを実行し得、mTLSサービスは、クライアントデジタル証明書を妥当性確認(validate)し、mTLSサービスに関連付けられた秘密鍵を使用してクライアントデジタル証明書にデジタル署名し得る。デジタル証明書に署名することで、クライアントとmTLSとの間の信頼チェーンが確立され得る。mTLSは、クライアントがデジタル署名されたデジタル証明書チェーンの指示を提示するサービスにクライアントをリダイレクトするリダイレクション応答を送信し得る。サービスは、デジタル署名されたデジタル証明書チェーンに関連付けられた信頼チェーンを妥当性確認し、クライアントがサービスにアクセスすることを認証されているという指示を発行し得る。指示は、クライアントが、アクセス証印に関連付けられた生存時間値によって定義されたある期間にわたって使用し得るアクセス証印(例えば、ブラウザクッキー、JSONウェブトークン、HTTPパラメータ)の例であり得る。
【0010】
従って、本明細書で説明するこれら及び他の技法によれば、クライアントは、クライアントデジタル証明書及びmTLSサービスを使用して、マルチテナントシステムのテナントによってサポートされるサービスにアクセスし得る。サービスはmTLSを信頼するので、サービスは、mTLSがクライアント証明書を妥当性確認したことを信頼し得る。更に、これらの技法は、ブラウザリダイレクトを使用して実装され得るので、様々な妥当性確認及び認証技法は、ユーザ対話をほとんど又はまったく伴わずに実行され得る。
【0011】
本開示の態様は、最初に、オンデマンドデータベースサービスをサポートする環境の文脈で説明される。本開示の態様は、テナントアウェアmTLS認証をサポートする様々なシグナリング、及びテナントアウェアmTLS認証をサポートするプロセスフローを示すシステム図に関して更に説明される。本開示の態様は、テナントアウェアmTLS認証に関する装置図、システム図、及びフローチャートによって更に示され、それらを参照して説明される。
【0012】
図1は、本開示の様々な態様による、テナントアウェアmTLS認証をサポートするクラウドコンピューティングのためのシステム100の例を示す。システム100は、クラウドクライアント105と、コンタクト110と、クラウドプラットフォーム115と、データセンタ120とを含む。クラウドプラットフォーム115は、パブリック又はプライベートクラウドネットワークの例であり得る。クラウドクライアント105は、ネットワーク接続135を介してクラウドプラットフォーム115にアクセスし得る。ネットワークは、インターネットなどの転送制御プロトコル及びインターネットプロトコル(TCP/IP)を実装してもよいし、他のネットワークプロトコルを実装してもよい。クラウドクライアント105は、サーバ(例えば、クラウドクライアント105-a)、スマートフォン(例えば、クラウドクライアント105-b)、又はラップトップ(例えば、クラウドクライアント105-c)などのユーザデバイスの例であり得る。他の例では、クラウドクライアント105は、デスクトップコンピュータ、タブレット、センサ、又は通信を生成、分析、送信、若しくは受信することが可能な別のコンピューティングデバイス若しくはシステムであり得る。いくつかの例では、クラウドクライアント105は、企業、事業、非営利、スタートアップ、又は任意の他の組織タイプの一部であるユーザによって操作され得る。
【0013】
クラウドクライアント105は、複数のコンタクト110と対話し得る。対話130は、クラウドクライアント105とコンタクト110との間の通信、機会、購入、販売、又は任意の他の対話を含み得る。データは、対話130に関連付けられ得る。クラウドクライアント105は、クラウドプラットフォーム115にアクセスして、対話130に関連付けられたデータを記憶、管理、及び処理し得る。場合によっては、クラウドクライアント105は、関連付けられたセキュリティ又は許可レベルを有し得る。クラウドクライアント105は、関連付けられたセキュリティ又は許可レベルに基づいて、クラウドプラットフォーム115内の特定のアプリケーション、データ、及びデータベース情報にアクセスし得るが、他のものにはアクセスすることができない。
【0014】
コンタクト110は、直接、又は電話、電子メール、ウェブ、テキストメッセージ、メール、若しくは任意の他の適切な形態の対話(例えば、対話130-a、130-b、130-c、130-d)を介して、クラウドクライアント105と対話し得る。対話130は、企業間(B2B)対話又は企業・消費者間(B2C)対話であり得る。コンタクト110は、顧客、潜在的顧客、リード、クライアント、又は他の何らかの適切な用語で呼ばれることもある。場合によっては、コンタクト110は、サーバ(例えば、コンタクト110-a)、ラップトップ(例えば、コンタクト110-b)、スマートフォン(例えば、コンタクト110-c)、又はセンサ(例えば、コンタクト110-d)などのユーザデバイスの例であり得る。他の場合には、コンタクト110は、別のコンピューティングシステムであり得る。場合によっては、コンタクト110は、ユーザ又はユーザのグループによって操作され得る。ユーザ又はユーザのグループは、企業、製造業者、又は任意の他の適切な組織に関連付けられ得る。
【0015】
クラウドプラットフォーム115は、オンデマンドデータベースサービスをクラウドクライアント105に提供し得る。場合によっては、クラウドプラットフォーム115は、マルチテナントデータベースシステムの例であり得る。この場合、クラウドプラットフォーム115は、ソフトウェアの単一のインスタンスで複数のクラウドクライアント105にサービスし得る。しかしながら、限定はしないが、クライアント-サーバシステム、モバイルデバイスシステム、及びモバイルネットワークシステムを含む、他のタイプのシステムが実装され得る。場合によっては、クラウドプラットフォーム115は、CRMソリューションをサポートし得る。これは、販売、サービス、マーケティング、コミュニティ、分析、アプリケーション、及びモノのインターネットのためのサポートを含み得る。クラウドプラットフォーム115は、ネットワーク接続135を介してクラウドクライアント105からコンタクト対話130に関連付けられたデータを受信し得、データを記憶して分析し得る。場合によっては、クラウドプラットフォーム115は、コンタクト110とクラウドクライアント105との間の対話130から直接データを受信し得る。場合によっては、クラウドクライアント105は、クラウドプラットフォーム115上で実行するアプリケーションを開発し得る。クラウドプラットフォーム115は、リモートサーバを使用して実装され得る。場合によっては、リモートサーバは、1つ又は複数のデータセンタ120に位置し得る。
【0016】
データセンタ120は、複数のサーバを含み得る。複数のサーバは、データ記憶、管理、及び処理のために使用され得る。データセンタ120は、接続140を介してクラウドプラットフォーム115から、又はクラウドクライアント105から直接、又はコンタクト110とクラウドクライアント105との間の対話130からデータを受信し得る。データセンタ120は、セキュリティ目的のために複数の冗長性を利用し得る。場合によっては、データセンタ120に記憶されたデータは、異なるデータセンタ(図示せず)におけるデータのコピーによってバックアップされ得る。
【0017】
サブシステム125は、クラウドクライアント105、クラウドプラットフォーム115、及びデータセンタ120を含み得る。場合によっては、データ処理は、サブシステム125の構成要素のいずれかで、又はこれらの構成要素の組合せで行われ得る。場合によっては、サーバがデータ処理を実行し得る。サーバは、クラウドクライアント105であり得るか、又はデータセンタ120に位置し得る。
【0018】
場合によっては、クラウドプラットフォーム115は、クラウドプラットフォーム115によってサポートされるサービスへのアクセスを提供する前に、クライアント認証をサポートし得る。例えば、クラウドプラットフォーム115及び関連するシステムは、アプリケーションサーバ、データアクセス、又はクラウドクライアント105の従業員などの様々なユーザに対する他のタイプのサービスなどのサービスをサポートし得る。より具体的には、クラウドクライアント105は、クラウドプラットフォーム115において1つ又は複数のサービスを構成し得、クラウドクライアント105の従業員、ユーザ、顧客などは、クラウドプラットフォーム115によってサポートされるサービスにアクセスし得る。例えば、とりわけ、ユーザ名及びパスワード、TLS認証などの様々なクライアント認証技法が、サービスへのアクセスをサポートするために使用され得る。
【0019】
説明したように、いくつかのサービスは、ユーザ名及びパスワードを使用してクライアント認証をサポートし得る。しかしながら、そのようなシステムでは、ユーザエラー又は他の問題が発生し得、その結果、システムに不正アクセスされたり、ユーザがシステムにアクセスすることができなくなったりする可能性がある。従って、ユーザ対話を全く又はほとんど伴わないクライアント認証をサポートするシステムは、よりセキュアであり得る。
【0020】
本明細書で説明する実装形態は、クラウドプラットフォーム115のテナントによってサポートされるサービスへの認証をサポートするために、クライアントデジタル証明書、テナントに関連付けられたmTLSサービス、及びアクセス証印を活用し得る。例えば、クラウドプラットフォーム115は、クラウドプラットフォームによってサポートされるマルチテナントシステムの様々なテナントによって使用され、信頼されるmTLSサービスをサポートし得る。クライアント(例えば、クラウドクライアント105のデバイス)は、テナントに関連付けられ、クラウドプラットフォーム115によってサポートされるサービスへのアクセスを要求し得る。サービスに認証するために、サービスは、アクセスを許可する前に、クライアントが有効なアクセストークン/証印(例えば、JavaScript object notation(JSON)ウェブトークン)を有するかどうかを決定し得る。クライアントが有効なアクセストークンを有さない場合、クライアントは、クライアントのデジタル証明書を認証するクラウドプラットフォームによってサポートされるmTLSサービスにリダイレクトされ得る。mTLSによる証明書の認証に基づいて、クライアントは、新しい有効なアクセストークンを受信し、このトークンを使用してある期間にわたってサービスにアクセスし得る。このプロセスは、mTLSがサーバ(例えば、mTLSサービス)及びクライアントの証明書を使用し得るので、セキュアで効率的な認証をサポートする。更に、ブラウザリダイレクトが使用され得るので、ユーザ対話がほとんど又は全く必要でないことがあり、これは、不正アクセス又はサービスからのユーザのロックアウトを回避又は制限し得る。
【0021】
本開示の1つ又は複数の態様が、追加的に又は代替的に、本明細書で説明する問題以外の問題を解決するためにシステム100において実装され得ることを、当業者は理解されたい。更に、本開示の態様は、本明細書で説明する「従来の」システム又はプロセスに対する技術的な改善を提供し得る。しかしながら、説明及び添付の図面は、本開示の態様を実装することから生じる例示的な技術的改善を含むにすぎず、従って、特許請求の範囲内で提供される技術的改善の全てを表すとは限らない。
【0022】
本明細書で説明する技法の例示的な利用では、クライアントは、クラウドクライアント105の従業員によって使用されるブラウザの例であり得る。ブラウザ又はブラウザを実行するデバイスは、デジタル証明書を記憶し、それにアクセスし得る。例えば、デジタル証明書に関連付けられた秘密鍵が、クライアントのセキュアなエンクレーブに記憶され得る。デジタル証明書及び秘密鍵は、テナント(例えば、クラウドクライアント105)又はテナントに関連付けられた認証局によってプロビジョニングされ得る。クライアント/ブラウザは、クラウドクライアント105によってサポートされるサービスへのアクセスを要求し得る。例えば、ユーザは、サービスに関連付けられたユニフォームリソースロケータ(URL)にナビゲートし得る。サービスは、クライアントがサービスにアクセスすることを許可する前に、クライアントがアクセス証印(例えば、ウェブブラウザクッキー)をプロビジョニングされているかどうかを決定し得る。場合によっては、サービスは、クッキーに関連付けられた生存時間が有効であるか、期限切れであるかを決定する。サービスが、クライアントが有効なアクセス証印を有していない(例えば、トークンがない、又は期限切れのトークンである)と決定した場合、サービスは、リダイレクション応答をクライアントに送信し、サービス及びクラウドクライアント105によって信頼されるmTLSサービスにクライアントをリダイレクトする。mTLSサービスは、クライアントデジタル証明書(例えば、証明書チェーン)を妥当性確認し、デジタル証明書に署名し、クライアントをサービスにリダイレクトする。サービスは、mTLSサービスによって署名された証明書を妥当性確認し、クライアントがサービスにアクセスすることを可能にするアクセス証印(例えば、ウェブブラウザクッキー)をクライアントにプロビジョニングする。プロビジョニングされたアクセス証印は、有効期限に関連付けられ得る。
【0023】
図2は、本開示の態様による、テナントアウェアmTLS認証をサポートするシステム200の例を示す。システム200は、ユーザデバイス205と、サーバ210と、サーバ215とを含む。ユーザデバイス205は、ラップトップ、デスクトップ、タブレット、スマートフォン、又は別のタイプのユーザコンピューティングシステムの例であり得る。ユーザデバイス205は、ブラウザなどのクライアントアプリケーション、又はユーザデバイス205において実行される他のアプリケーションの例であり得るクライアント220を実行する。サーバ210及び/又はサーバ215は、
図1のクラウドプラットフォームの態様の例であり得る。例えば、サーバ210は、アプリケーションサーバ又はウェブサーバの例であり得る。サーバ210は、ウェブアプリケーションサービス又は1つ若しくは複数のウェブサイトなどの様々なサービスをホストし得る。サーバ215は、mTLSサービスをホストし得る。いくつかの例では、サーバ210及び215は、同じ物理システム若しくは論理システムにおいて又は別個のシステムにおいてホストされる。クライアント220は、秘密鍵に関連付けられたクライアントデジタル証明書(例えば、証明書チェーン)をプロビジョニングされ得るか、又はそれへのアクセスを有し得る。
【0024】
クライアント220は、アクセス要求225をサーバ210に送信し得る。アクセス要求は、HTTP要求、アプリケーションプログラミングインターフェース(API)要求などの例であり得る。いくつかの例では、アクセス要求225は、ユーザがウェブサイトURLにナビゲートすること、アプリケーション上でサービスをアクティブ化することなどに応答して、サーバ210に送信される。アクセス要求を受信したことに応答して、サービス(例えば、サーバ210)は、クライアント220が有効なアクセス証印をプロビジョニングされているかどうかを決定し得る。アクセス証印は、ウェブブラウザクッキー、JSONウェブトークン(JWT)などの例であり得る。より具体的には、アクセス証印は、例えば、クライアント220が、サーバ210によってサポートされるサービスにアクセスすることを認証されているという主張を行うペイロードを含み得る。いくつかの例では、アクセス証印は、サーバ210に関連付けられた鍵などの鍵を使用してデジタル的に(例えば、暗号的に)署名される。従って、サーバは、署名されたアクセス証印をクライアント220に事前にプロビジョニングしていてもよい。場合によっては、アクセス証印は、証印がいつ期限切れになるかを示す有効期限又は別のフィールドを含む。従って、要求を受信すると、サーバ210は、有効期限に基づいて、及びデジタル署名に基づいて、アクセス証印が有効であるかどうかを決定し得る。クライアント220が有効なアクセス証印を所有しているとサーバが決定した場合、サーバ210は、サービスへのアクセスを許可し得る。
【0025】
クライアント220が有効なアクセス証印を所有していない(例えば、トークンが失効している、サーバ210が署名を妥当性確認することができない、又はクライアント220がアクセス証印を所有していない)とサーバ210が決定した場合、サーバ210は、リダイレクション応答230をクライアントに送信し得る。リダイレクション応答230は、ブラウザリダイレクトの形態であり得る。リダイレクション応答230は、サーバ215によってサポートされるmTLSサービスを示し得る。従って、リダイレクション応答230を受信したことに応答して、クライアント220は、mTLSサービスにナビゲート(例えば、mTLSサービスにHTTP要求を送信)し得る。
【0026】
サーバ215のmTLSサービスは、相互エンティティ認証原理を使用してクライアント220との相互認証を実行する。より具体的には、クライアント220及びmTLSサービスは、デジタルハンドシェイク235を使用して他方のアイデンティティを検証し得る。デジタルハンドシェイク手順の一部として、クライアント220は、サーバ210に有効な証明書を要求し、証明書を妥当性確認し得る。更に、サーバ215は、クライアント220に有効な証明書を要求し、証明書を妥当性確認することができる。証明書の妥当性確認は、暗号化されたランダムチャレンジを交換することと、証明書に関連付けられた秘密鍵を用いてランダムチャレンジを解読することによって証明書が正当であることを証明することとを含み得る。例えば、サーバ証明書を妥当性確認するために、クライアント220は、サーバ証明書の公開鍵を使用してランダムチャレンジを暗号化し得る。次いで、サーバは、証明書に関連付けられた秘密鍵を使用してランダムチャレンジを解読することによって証明書の正当性を証明し得る。同様に、サーバ215は、クライアントデジタル証明書を妥当性確認し得る。ハンドシェイクはまた、証明書の信頼チェーンを妥当性確認することを含み得る。本開示の態様は、mTLSに関して説明されるが、両当事者が証明書を交換する他の暗号プロトコルが、本開示の文脈内で使用され得ることを理解されたい。
【0027】
相互認証時に、mTLSサービスは、クライアント証明書(例えば、クライアント証明書チェーン)にデジタル署名し、署名された証明書チェーンに有効期限を関連付け得る。クライアント証明書は、X.509証明書の例であり得る。このペイロード(例えば、クライアント証明書チェーン及び有効期限)は、本明細書で説明するようなJWTなどのアクセス証印としてクライアントに提供され得る。更に、クライアント220は、サーバ215によってサポートされるmTLSサービスからリダイレクション応答を介してサービスにリダイレクトさされ得る。クライアント220は、サーバ210によってサポートされるサービスに、署名された証明書チェーン240を提示する。場合によっては、サービスは、クライアント220において(例えば、ブラウザクッキーとして)記憶されたアクセス証印(例えば、署名された証明書チェーン240)にアクセスするように構成される。従って、クライアントが、署名された証明書チェーン240を「提示する」ことは、クライアントが要求を送信することと、サービスがクッキーにアクセスすることとを含み得る。サービスは、有効期限が過ぎていないことを決定することによって、及びmTLS公開鍵に基づいて署名を妥当性確認することによって、アクセス証印を妥当性確認し得る。サービスがアクセス証印を妥当性確認した場合、サービスは、サービスに関連付けられた新しい短命のアクセス証印245を生成し、アクセス証印245をクライアント220に提供(例えば、ウェブブラウザクッキーを記憶)し得る。このアクセス証印245は、有効期限又は生存時間値によって定義されるある期間にわたって、サービスへのアクセスをサポートし得る。
【0028】
従って、これらの技法によれば、サーバ210によってサポートされるサービス及びサーバ215によってサポートされるmTLSサービスは、クライアントを認証するためのブラウザリダイレクトとともに、証明書妥当性確認、従ってクライアント認証を実装し得る。更に、これらの技法によれば、クライアント220は、ユーザデバイス205のユーザによる対話をほとんど又はまったく伴わずに妥当性確認され得る。更に、クライアント証明書とともにmTLSを使用することにより、ユーザ名及びパスワードに基づくシステムに脆弱性を導入することなく、他の認証技法と比べて追加のセキュリティ層を提供することができる。
【0029】
図3は、本開示の態様による、テナントアウェアmTLS認証をサポートするシステム300の例を示す。システム300は、
図2に関して説明した対応するデバイスの例であり得る、サーバ210とサーバ215とを含む。例えば、サーバ210は、マルチテナントシステムのテナントに関連付けられたサービス(例えば、アプリケーション、ウェブサイト、又は他のコンピューティングサービス)をサポートし得る。例えば、サービスは、テナントのウェブサイト又はウェブアプリケーションの例であり得る。サーバ215は、サーバ210によってサポートされるサービスなどの、マルチテナントシステムの様々なテナントのサービスに認証するために使用され得るmTLSサービスをサポートし得る。
図3に示されるフローは、サーバ210及びサーバ215によって実行され、クライアント(例えば、
図2のクライアント220)に関連付けられ得る。
【0030】
305において、クライアントのユーザは、サーバ210によってサポートされ、サーバ215によってサポートされるmTLSサービスによって保護されるサービスにクライアントをナビゲートし得る。310において、サーバ210は、クライアントが有効なアクセス証印を所有しているかどうかを決定し得る。例えば、サーバ210は、アクセス証印が有効で、サービスによって署名されているかどうか、(例えば、有効期限又は生存時間値に基づいて)期限切れでないかどうか、それらの組合せを決定し得る。クライアントが有効なアクセス証印を所有している場合、サーバ210は、360において、クライアントがサービスにアクセスすることを許可し得る。クライアントが有効なアクセス証印を所有していない場合、サーバ210は、リダイレクション応答をクライアントに送信し得、リダイレクション応答は、サーバ215によってサポートされるmTLSサービスを示し得る。
【0031】
リダイレクション応答は、クライアントに、サーバ215によってサポートされるmTLSサービスに要求(例えば、HTTP要求)を送信させ得る。要求を受信したことに応答して、mTLSサービスは、320において、mTLSサービスとのデジタルハンドシェイクを実行し得、これは、プロセスの中でもとりわけ、証明書を交換し、妥当性確認することを含み得る。320において、mTLSサービスは、mTLSデジタルハンドシェイクが成功したか失敗したかを決定し得る。mTLSデジタルハンドシェイクが失敗した(例えば、mTLSサービスがクライアント証明書チェーンを妥当性確認することができない)場合、mTLSサービスは、365において、アクセスを拒否し得る。いくつかの例では、アクセス拒否は、クライアントを拒否ページにリダイレクトすることを含み得る。mTLSが成功した場合、mTLSサービスは、330において、クライアント証明書チェーンにデジタル署名し、有効期限を生成し、署名された証明書チェーンに関連付け得る。署名された証明書チェーン及び有効期限を含むペイロードは、アクセス証印(例えば、ウェブブラウザクッキー)としてクライアントに提供され得る。更に、mTLSサービスは、リダイレクション応答をクライアントに送信し得、リダイレクション応答は、サービスを示し得る。場合によっては、リダイレクション応答は、署名された証明書チェーン及び有効期限を含むペイロードを含む。
【0032】
有効期限は、リプレイアタックを回避するために、署名されたクライアント証明書チェーンに関連付けられる。従って、有効期限は、署名されたペイロードが新しいものであるか、又は最近の期間に生成されたものであることを妥当性確認するために使用される。いくつかの例では、有効期限は、5~15分程度である。従って、mTLSサービスは、(証明書チェーン及び/又は有効期限を含む)ペイロードに署名することによって、(例えば、mTLSの公開鍵を使用して)サービスが後に検証し得るデジタル署名を生成する。場合によっては、クライアントが複数の証明書を用いて構成される場合、ブラウザは、ユーザが、mTLS認証に使用する証明書を選択するユーザインタフェース(UI)をトリガし得る。従って、クライアントは、mTLSに提示されることとなる証明書の選択を受信し得る。
【0033】
リダイレクション応答をmTLSサービスから受信したことに応答して、クライアントは、340において、別のアクセス要求(例えば、HTTP要求)をサービスに送信し得る。これに応答して、サービスは、クライアントが、mTLSサーバによって署名されたクライアント証明書チェーン及び関連する有効期限を含むペイロードであり得る有効なアクセス証印を所有しているかどうかを決定する。そのため、クライアントが有効なアクセス証印を有するかどうかを決定することは、有効期限が期限切れであるかどうかを決定することを含み得る。クライアントが有効なアクセス証印を所有していないとサービスが決定した場合、サーバは、370において、サービスへのアクセスを拒否し得る。アクセス証印が有効である場合、サービスは、345において、証明書が有効であるかどうかを決定し得る。このプロセスは、証明書に関連付けられた信頼チェーンを妥当性確認することを含み得る。例えば、サービスは、クライアント証明書チェーンがmTLSの秘密鍵によって署名されていると決定し得る。いくつかの例では、信頼チェーンを妥当性確認することは、テナントが信頼するルートを用いてクライアント証明書チェーンを検証することを含み得る。各テナントが認証のためにmTLSサービスを使用し得るマルチテナントシステムの例では、各テナント又はテナントのサブセットは、同じルートを使用し得る。より具体的には、各テナントは、同じルートを信頼し、従ってこのルートを使用してそれぞれのクライアント証明書チェーンを妥当性確認し得る。証明書チェーンが妥当性確認されない場合、サービスは、クライアントへのアクセスを拒否し得る。
【0034】
345において、証明書チェーンが妥当性確認された場合、サービスは、350において、クライアントに割り当てられる別のアクセス証印を生成し得る。アクセス証印は、355において、クライアントがサービスにアクセスすることを許可し得る。350において生成されたアクセス証印は、署名されたクライアント証明書チェーンに関連付けられた生存時間よりも長い生存時間に関連付けられ得る。例えば、アクセス証印は、アクセス証印の生成後数時間から1日である有効期限に関連付けられ得る。有効期限の長さは、例えば、テナント構成に基づき得る。従って、いくつかのテナントは、より高いセキュリティのために、より短い有効期限を構成し得る。有効期限が期限切れになると、クライアント220は、サービスへの認証のために別のmTLS認証を実行し得る。
【0035】
図4は、本開示の態様による、テナントアウェアmTLS認証をサポートするプロセスフロー
図400の例を示す。プロセスフロー図は、
図2及び
図3に関して説明した対応するデバイスの例であり得る、サーバクライアント220と、サーバ210と、サーバ215とを含む。クライアント220は、
図2のユーザデバイス205などのユーザデバイス上で実行可能なアプリケーションであり得る。
【0036】
405において、サーバ210及びマルチテナントシステムのテナントによってサポートされるサービスは、サービスにアクセスするためのアクセス要求をクライアント220から受信し得る。クライアント220は、テナントに関連付けられたデジタル証明書チェーンを用いて構成され得る。デジタル証明書チェーンは、サードパーティ認証局を使用してテナントによって発行又はプロビジョニングされることに少なくとも部分的に基づいて、テナントに関連付けられ得る。要求は、クライアント220が、クライアント220のユーザによってエンドポイント(例えば、URL、APIエンドポイント)にナビゲートされることに少なくとも部分的に基づいて、クライアントによって送信され得る。例えば、要求は、HTTP要求の例であり得る。
【0037】
410において、サーバ210によってサポートされるサービスは、クライアント220が有効なアクセス証印を所有しているかどうかを決定し得る。例えば、サーバ210は、既存のアクセス証印が期限切れであるかどうか、署名鍵(例えば、サービスの公開鍵)によって署名されているかどうか、又はクライアント220がアクセス証印を所有しているかどうかを決定し得る。アクセス証印は、JWT、ウェブブラウザクッキー、HTTPパラメータなどの例であり得る。
【0038】
415において、サーバ210によってサポートされるサービスは、クライアントがサービスにアクセスすることを認証されているという有効な指示を受信できなかったことに少なくとも部分的に基づいて、サーバ215によってサポートされる相互トランスポート層セキュリティサービスを示す第1のリダイレクション応答をクライアント220に送信し得る。従って、クライアント220が有効なアクセス証印を所有していると決定できなかった応答して、サーバ210は、リダイレクション応答をクライアント220に送信する。リダイレクション応答は、HTTPリダイレクト、ブラウザリダイレクトなどの例であり得る。
【0039】
420において、クライアント220は、サーバ215によってサポートされるmTLSサービスに要求を送信し得る。要求は、サーバ210からリダイレクション応答を受信したことに応答して送信され得る。
【0040】
425において、クライアント220は、第1のリダイレクション応答を受信したことに少なくとも部分的に基づいて、mTLSサービスとのデジタルハンドシェイクを実行する。デジタルハンドシェイクを実行することは、手順の中でもとりわけ、相互トランスポート層セキュリティサービスに関連付けられたクライアントデジタル証明書チェーンの指示を送信することを含み得る。
【0041】
430において、クライアント220は、デジタルハンドシェイクに少なくとも部分的に基づいて、クライアントデジタル証明書チェーンのデジタル署名されたバージョンを含む第2のリダイレクション応答をmTLSサービスから受信し得る。デジタル証明書チェーンは、相互トランスポート層セキュリティサービスに関連付けられた秘密鍵を使用して署名される。署名されたデジタル証明書チェーンを有するリダイレクション応答は、クライアントのデジタル証明書チェーンを妥当性確認したことに少なくとも部分的に基づいて、サーバ215によって送信され得る。mTLSサービスは、様々なクライアントを様々なサービスに認証するためのマルチテナントシステムの複数のテナントをサポートするように構成され得る。
【0042】
435において、サーバ210によってサポートされるサービスは、デジタル証明書チェーンのデジタル署名されたバージョンの指示をクライアント220から受信し得る。クライアントは、第2のリダイレクション応答を受信したことに少なくとも部分的に基づいて、デジタル証明書チェーンのデジタル署名されたバージョンの指示を提示し得る。クライアントデジタル証明書チェーンのデジタル署名されたバージョンの指示は、リダイレクション応答に応答してサービスに送信されたアクセス要求(例えば、HTTP要求)に少なくとも部分的に基づいて、クライアント220によって提示され得る。
【0043】
440において、サーバ210によってサポートされるサービスは、デジタル証明書チェーンのデジタル署名されたバージョンを妥当性確認し得る。妥当性確認は、手順の中でもとりわけ、署名された証明書チェーンが期限切れでないと決定すること、信頼チェーン(例えば、チェーンがmTLSの署名鍵によって署名されていること)を妥当性確認することを含み得る。445において、サーバ210は、デジタル証明書チェーンのデジタル署名されたバージョンを妥当性確認したことに少なくとも部分的に基づいて、クライアントがサービスにアクセスすることを認証されているという指示をクライアント220に送信し得る。指示は、クライアントがサービスにアクセスすることができることを主張するアクセス証印(例えば、JWT)の例であり得る。いくつかの例では、アクセス証印は、有効期限に関連付けられる。
【0044】
図5は、本開示の態様による、テナントアウェアmTLS認証をサポートする装置505のブロック
図500を示す。装置505は、入力モジュール510と、セキュリティマネジャ515と、出力モジュール545とを含み得る。装置505はまた、プロセッサを含み得る。これらの構成要素の各々は、(例えば、1つ又は複数のバスを介して)互いと通信し得る。場合によっては、装置505は、ユーザ端末、データベースサーバ、又は複数のコンピューティングデバイスを含むシステムの例であり得る。
【0045】
入力モジュール510は、装置505のための入力信号を管理し得る。例えば、入力モジュール510は、モデム、キーボード、マウス、タッチスクリーン、又は同様のデバイスとの対話に基づいて入力信号を識別し得る。これらの入力信号は、他の構成要素又はデバイスにおけるユーザ入力又は処理に関連付けられ得る。場合によっては、入力モジュール510は、入力信号を処理するために、iOS(登録商標)、ANDROID(登録商標)、MS-DOS(登録商標)、MS-WINDOWS(登録商標)、OS/2(登録商標)、UNIX(登録商標)、LINUX(登録商標)などのオペレーティングシステム、又は別の既知のオペレーティングシステムを利用し得る。入力モジュール510は、これらの入力信号の態様を、処理のために装置505の他の構成要素に送信し得る。例えば、入力モジュール510は、mTLS認証をサポートするために、入力信号をセキュリティマネジャ515に送信し得る。場合によっては、入力モジュール510は、
図7を参照して説明する入力/出力(I/O)コントローラ715の構成要素であり得る。
【0046】
セキュリティマネジャ515は、アクセス要求インターフェース520と、アクセス構成要素525と、証明書チェーン構成要素530と、証明書妥当性確認構成要素535と、認証構成要素540とを含み得る。セキュリティマネジャ515は、
図6及び
図7を参照して説明されるセキュリティマネジャ605又は710の態様の例であり得る。
【0047】
セキュリティマネジャ515及び/又はその様々なサブ構成要素のうちの少なくともいくつかは、ハードウェア、プロセッサによって実行されるソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。プロセッサによって実行されるソフトウェアで実装される場合、セキュリティマネジャ515及び/又はその様々なサブ構成要素のうちの少なくともいくつかのサブ構成要素の機能は、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)若しくは他のプログラマブル論理デバイス、ディスクリートゲート若しくはトランジスタ論理、ディスクリートハードウェア構成要素、又は本開示で説明される機能を実行するように設計されたそれらの任意の組合せによって実行され得る。セキュリティマネジャ515及び/又はその様々なサブ構成要素のうちの少なくともいくつかは、機能の部分が1つ又は複数の物理デバイスによって異なる物理ロケーションにおいて実装されるように分散されることを含めて、様々な位置に物理的に位置し得る。いくつかの例では、セキュリティマネジャ515及び/又はその様々なサブ構成要素のうちの少なくともいくつかは、本開示の様々な態様による、別個の異なる構成要素であり得る。他の例では、セキュリティマネジャ515及び/又はその様々なサブ構成要素のうちの少なくともいくつかは、限定はしないが、本開示の様々な態様による、I/O構成要素、トランシーバ、ネットワークサーバ、別のコンピューティングデバイス、本開示で説明される1つ若しくは複数の他の構成要素、又はそれらの組合せを含む、1つ又は複数の他のハードウェア構成要素と組み合わされ得る。
【0048】
アクセス要求インターフェース520は、マルチテナントシステムのテナントによってサポートされるサービスによって、サービスにアクセスするためのアクセス要求をクライアントから受信し得、クライアントは、テナントに関連付けられたデジタル証明書チェーンを用いて構成される。
【0049】
アクセス構成要素525は、サービスによって、クライアントがサービスにアクセスすることを認証されているという有効な指示を受信できなかったことに基づいて、相互トランスポート層セキュリティサービスを示す第1のリダイレクション応答をクライアントに送信し得る。
【0050】
証明書チェーン構成要素530は、デジタル証明書チェーンのデジタル署名されたバージョンの指示をクライアントから受信し得、デジタル証明書チェーンは、最も真正なもの(truest)によって信頼される相互トランスポート層セキュリティサービスに関連付けられたルート鍵を使用して署名される。
【0051】
証明書妥当性確認構成要素535は、デジタル証明書チェーンのデジタル署名されたバージョンを妥当性確認し得る。
【0052】
認証構成要素540は、デジタル証明書チェーンのデジタル署名されたバージョンを妥当性確認したことに基づいて、クライアントがサービスにアクセスすることを認証されているという指示をクライアントに送信し得る。
【0053】
出力モジュール545は、装置505のための出力信号を管理し得る。例えば、出力モジュール545は、データ保持モジュール515など、装置505の他の構成要素から信号を受信し得、これらの信号を他の構成要素又はデバイスに送信し得る。いくつかの特定の例では、出力モジュール545は、ユーザインターフェースにおける表示のために、データベース若しくはデータストアにおける記憶のために、サーバ若しくはサーバクラスタにおけるさらなる処理のために、又は任意の数のデバイス若しくはシステムにおける任意の他のプロセスのために、出力信号を送信し得る。場合によっては、出力モジュール545は、
図7を参照して説明するI/Oコントローラ715の構成要素であり得る。
【0054】
図6は、本開示の態様による、テナントアウェアmTLS認証をサポートするセキュリティマネジャ605のブロック
図600を示す。セキュリティマネジャ605は、本明細書で説明するセキュリティマネジャ515又はセキュリティマネジャ710の態様の例であり得る。セキュリティマネジャ605は、アクセス要求インターフェース610と、アクセス構成要素615と、証明書チェーン構成要素620と、証明書妥当性確認構成要素625と、認証構成要素630と、アクセス妥当性確認構成要素635とを含み得る。これらのモジュールの各々は、(例えば、1つ又は複数のバスを介して)互いと直接又は間接的に通信し得る。
【0055】
アクセス要求インターフェース610は、マルチテナントシステムのテナントによってサポートされるサービスによって、サービスにアクセスするためのアクセス要求をクライアントから受信し得、クライアントは、テナントに関連付けられたデジタル証明書チェーンを用いて構成される。
【0056】
アクセス構成要素615は、サービスによって、クライアントがサービスにアクセスすることを認証されているという有効な指示を受信できなかったことに基づいて、相互トランスポート層セキュリティサービスを示す第1のリダイレクション応答をクライアントに送信し得る。
【0057】
証明書チェーン構成要素620は、デジタル証明書チェーンのデジタル署名されたバージョンの指示をクライアントから受信し得、デジタル証明書チェーンは、最も真正なものによって信頼される相互トランスポート層セキュリティサービスに関連付けられたルート鍵を使用して署名される。
【0058】
場合によっては、クライアントデジタル証明書チェーンは、クライアントデジタル証明書チェーンがサードパーティ認証局によって発行又はプロビジョニングされることに基づいて、テナントに関連付けられる。
【0059】
証明書妥当性確認構成要素625は、デジタル証明書チェーンのデジタル署名されたバージョンを妥当性確認し得る。
【0060】
いくつかの例では、証明書妥当性確認構成要素625は、デジタル証明書チェーンのデジタル署名されたバージョンに関連付けられた証明書チェーンを妥当性確認し得る。
【0061】
いくつかの例では、証明書妥当性確認構成要素625は、デジタル証明書チェーンに関連付けられた有効期限が期限切れでないと決定し得る。
【0062】
場合によっては、サービスは、相互トランスポート層セキュリティサービスに関連付けられたマルチテナントシステムのテナントによってサポートされる。
【0063】
認証構成要素630は、デジタル証明書チェーンのデジタル署名されたバージョンを妥当性確認したことに基づいて、クライアントがサービスにアクセスすることを認証されているという指示をクライアントに送信し得る。
【0064】
いくつかの例では、クライアントにおいてアクセス証印を記憶し、アクセス証印は、ブラウザクッキー、JSONウェブトークン、HTTPパラメータ、又はそれらの組合せを含む。
【0065】
アクセス妥当性確認構成要素635は、アクセス要求を受信したことに基づいて、クライアントによって提示されたアクセス証印が無効であると決定し得、サービスは、アクセス証印が無効であると決定したことに基づいて、第1のリダイレクション応答を送信する。
【0066】
いくつかの例では、アクセス妥当性確認構成要素635は、アクセス証印に関連付けられた生存時間値が期限切れでないと決定し得る。
【0067】
場合によっては、アクセス証印は、ブラウザクッキー、JSONウェブトークン、HTTPパラメータ、又はそれらの組合せを含む。
【0068】
図7は、本開示の態様による、テナントアウェアmTLS認証をサポートするデバイス705を含むシステム700の図を示す。デバイス705は、本明細書で説明するアプリケーションサーバ又は装置505の構成要素の例であるか、又はそれを含み得る。デバイス705は、セキュリティマネジャ710と、I/Oコントローラ715と、データベースコントローラ720と、メモリ725と、プロセッサ730と、データベース735とを含む、通信を送信及び受信するための構成要素を含む、双方向データ通信のための構成要素を含み得る。これらの構成要素は、1つ又は複数のバス(例えば、バス740)を介して電子通信し得る。
【0069】
セキュリティマネジャ710は、本明細書で説明するセキュリティマネジャ515又は605の例であり得る。例えば、セキュリティマネジャ710は、
図5及び
図6を参照して本明細書で説明する方法又はプロセスのいずれかを実行し得る。場合によっては、セキュリティマネジャ710は、ハードウェア、プロセッサによって実行されるソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。
【0070】
I/Oコントローラ715は、デバイス705のための入力信号745及び出力信号750を管理し得る。I/Oコントローラ715は、デバイス705に統合されていない周辺機器を管理することもできる。場合によっては、I/Oコントローラ715は、外部周辺機器への物理的接続又はポートを表し得る。場合によっては、I/Oコントローラ715は、iOS(登録商標)、ANDROID(登録商標)、MS-DOS(登録商標)、MS-WINDOWS(登録商標)、OS/2(登録商標)、UNIX(登録商標)、LINUX(登録商標)などのオペレーティングシステム、又は別の既知のオペレーティングシステムを利用し得る。他の場合には、I/Oコントローラ715は、モデム、キーボード、マウス、タッチスクリーン、又は同様のデバイスを表すか、又はそれらと対話し得る。場合によっては、I/Oコントローラ715は、プロセッサの一部として実装され得る。場合によっては、ユーザは、I/Oコントローラ715を介して、又はI/Oコントローラ715によって制御されるハードウェア構成要素を介して、デバイス705と対話し得る。
【0071】
データベースコントローラ720は、データベース735におけるデータ記憶及び処理を管理し得る。場合によっては、ユーザは、データベースコントローラ720と対話し得る。他の場合には、データベースコントローラ720は、ユーザ対話なしに自動的に動作し得る。データベース735は、単一のデータベース、分散データベース、複数の分散データベース、データストア、データレイク、又は緊急バックアップデータベースの例であり得る。
【0072】
メモリ725は、ランダムアクセスメモリ(RAM)と読取り専用メモリ(ROM)とを含み得る。メモリ725は、実行されたとき、プロセッサに、本明細書で説明する様々な機能を実行させる命令を含むコンピュータ可読、コンピュータ実行可能ソフトウェアを記憶し得る。場合によっては、メモリ725は、とりわけ、周辺構成要素又はデバイスとの対話などの基本的なハードウェア又はソフトウェアの動作を制御し得る基本入出/力システム(BIOS)を含み得る。
【0073】
プロセッサ730は、インテリジェントハードウェアデバイス(例えば、汎用プロセッサ、DSP、中央処理装置(CPU)、マイクロコントローラ、ASIC、FPGA、プログラマブル論理デバイス、ディスクリートゲート若しくはトランジスタ論理構成要素、ディスクリートハードウェア構成要素、又はそれらの任意の組合せ)を含み得る。場合によっては、プロセッサ730は、メモリコントローラを使用してメモリアレイを動作させるように構成され得る。他の場合には、メモリコントローラは、プロセッサ730に統合され得る。プロセッサ730は、様々な機能(例えば、テナントアウェアmTLS認証をサポートする機能又はタスク)を実行するために、メモリ725に記憶されたコンピュータ可読命令を実行するように構成され得る。
【0074】
図8は、本開示の態様による、テナントアウェアmTLS認証をサポートする装置805のブロック
図800を示す。装置805は、入力モジュール810と、セキュリティマネジャ815と、出力モジュール845とを含み得る。装置805はまた、プロセッサを含み得る。これらの構成要素の各々は、(例えば、1つ又は複数のバスを介して)互いと通信し得る。場合によっては、装置805は、ユーザ端末、データベースサーバ、又は複数のコンピューティングデバイスを含むシステムの例であり得る。
【0075】
入力モジュール810は、装置805のための入力信号を管理し得る。例えば、入力モジュール810は、モデム、キーボード、マウス、タッチスクリーン、又は同様のデバイスとの対話に基づいて入力信号を識別し得る。これらの入力信号は、他の構成要素又はデバイスにおけるユーザ入力又は処理に関連付けられ得る。場合によっては、入力モジュール810は、入力信号を処理するために、iOS(登録商標)、ANDROID(登録商標)、MS-DOS(登録商標)、MS-WINDOWS(登録商標)、OS/2(登録商標)、UNIX(登録商標)、LINUX(登録商標)などのオペレーティングシステム、又は別の既知のオペレーティングシステムを利用し得る。入力モジュール810は、これらの入力信号の態様を、処理のために装置805の他の構成要素に送信し得る。例えば、入力モジュール810は、テナントアウェアmTLS認証をサポートするために、入力信号をセキュリティマネジャ815に送信し得る。場合によっては、入力モジュール810は、
図10を参照して説明する入力/出力(I/O)コントローラ1015の構成要素であり得る。
【0076】
セキュリティマネジャ815は、アクセス構成要素820と、リダイレクション構成要素825と、mTLS構成要素830と、証明書チェーン構成要素835と、認証構成要素840とを含み得る。セキュリティマネジャ815は、
図9及び
図10を参照して説明されるセキュリティマネジャ905又は1010の態様の例であり得る。
【0077】
セキュリティマネジャ815及び/又はその様々なサブ構成要素のうちの少なくともいくつかは、ハードウェア、プロセッサによって実行されるソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。プロセッサによって実行されるソフトウェアで実装される場合、セキュリティマネジャ815及び/又はその様々なサブ構成要素のうちの少なくともいくつかのサブ構成要素の機能は、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)若しくは他のプログラマブル論理デバイス、ディスクリートゲート若しくはトランジスタ論理、ディスクリートハードウェア構成要素、又は本開示で説明される機能を実行するように設計されたそれらの任意の組合せによって実行され得る。セキュリティマネジャ815及び/又はその様々なサブ構成要素のうちの少なくともいくつかは、機能の部分が1つ又は複数の物理デバイスによって異なる物理ロケーションにおいて実装されるように分散されることを含めて、様々な位置に物理的に位置し得る。いくつかの例では、セキュリティマネジャ815及び/又はその様々なサブ構成要素のうちの少なくともいくつかは、本開示の様々な態様による、別個の異なる構成要素であり得る。他の例では、セキュリティマネジャ815及び/又はその様々なサブ構成要素のうちの少なくともいくつかは、限定はしないが、本開示の様々な態様による、I/O構成要素、トランシーバ、ネットワークサーバ、別のコンピューティングデバイス、本開示で説明される1つ若しくは複数の他の構成要素、又はそれらの組合せを含む、1つ又は複数の他のハードウェア構成要素と組み合わされ得る。
【0078】
アクセス構成要素820は、クライアントによって、テナントによってサポートされるサービスに、サービスにアクセスするためのアクセス要求を送信し得、クライアントは、テナントに関連付けられたクライアントデジタル証明書チェーンを用いて構成される。
【0079】
リダイレクション構成要素825は、クライアントにおいて、クライアントがサービスにアクセスすることを認証されているという有効な指示を提示できなかったことに基づいて、相互トランスポート層セキュリティサービスを示す第1のリダイレクション応答をサービスから受信し、デジタルハンドシェイクに基づいて、クライアントデジタル証明書チェーンのデジタル署名されたバージョンを含む第2のリダイレクション応答を相互トランスポート層セキュリティサービスから受信し得、デジタル証明書チェーンは、相互トランスポート層セキュリティサービスに関連付けられた秘密鍵を使用して署名される。
【0080】
mTLS構成要素830は、第1のリダイレクション応答を受信したことに基づいて、相互トランスポート層セキュリティサービスとのデジタルハンドシェイクを実行し得、デジタルハンドシェイクを実行することは、相互トランスポート層セキュリティサービスに関連付けられたクライアントデジタル証明書チェーンの指示を送信することを含む。
【0081】
証明書チェーン構成要素835は、クライアントによって、第2のリダイレクション応答を受信したことに基づいて、クライアントデジタル証明書チェーンのデジタル署名されたバージョンの指示を提示し得る。
【0082】
認証構成要素840は、クライアントデジタル証明書チェーンのデジタル署名されたバージョンの指示を提示したことに基づいて、クライアントがサービスにアクセスすることを認証されているという指示をサービスから受信し得る。
【0083】
出力モジュール845は、装置805のための出力信号を管理し得る。例えば、出力モジュール845は、セキュリティマネジャ815など、装置805の他の構成要素から信号を受信し得、これらの信号を他の構成要素又はデバイスに送信し得る。いくつかの特定の例では、出力モジュール845は、ユーザインターフェースにおける表示のために、データベース若しくはデータストアにおける記憶のために、サーバ若しくはサーバクラスタにおけるさらなる処理のために、又は任意の数のデバイス若しくはシステムにおける任意の他のプロセスのために、出力信号を送信し得る。場合によっては、出力モジュール845は、
図10を参照して説明するI/Oコントローラ1015の構成要素であり得る。
【0084】
図9は、本開示の態様による、テナントアウェアmTLS認証をサポートするセキュリティマネジャ905のブロック
図900を示す。セキュリティマネジャ905は、本明細書で説明するセキュリティマネジャ815又はセキュリティマネジャ1010の態様の例であり得る。セキュリティマネジャ905は、アクセス構成要素910と、リダイレクション構成要素915と、mTLS構成要素920と、証明書チェーン構成要素925と、認証構成要素930と、ユーザインターフェース構成要素935とを含み得る。これらのモジュールの各々は、(例えば、1つ又は複数のバスを介して)互いと直接又は間接的に通信し得る。
【0085】
アクセス構成要素910は、クライアントによって、テナントによってサポートされるサービスに、サービスにアクセスするためのアクセス要求を送信し得、クライアントは、テナントに関連付けられたクライアントデジタル証明書チェーンを用いて構成される。
【0086】
いくつかの例では、アクセス構成要素910は、クライアントによって、アクセス証印を提示し得、クライアントは、アクセス証印が無効であることに基づいて第1のリダイレクション応答を受信する。
【0087】
場合によっては、アクセス証印は、生存時間値が期限切れであることに基づいて無効である。
【0088】
リダイレクション構成要素915は、クライアントにおいて、クライアントがサービスにアクセスすることを認証されているという有効な指示を提示できなかったことに基づいて、相互トランスポート層セキュリティサービスを示す第1のリダイレクション応答をサービスから受信し得る。
【0089】
いくつかの例では、リダイレクション構成要素915は、デジタルハンドシェイクに基づいて、クライアントデジタル証明書チェーンのデジタル署名されたバージョンを含む第2のリダイレクション応答を相互トランスポート層セキュリティサービスから受信し得、デジタル証明書チェーンは、相互トランスポート層セキュリティサービスに関連付けられた秘密鍵を使用して署名される。
【0090】
mTLS構成要素920は、第1のリダイレクション応答を受信したことに基づいて、相互トランスポート層セキュリティサービスとのデジタルハンドシェイクを実行し得、デジタルハンドシェイクを実行することは、相互トランスポート層セキュリティサービスに関連付けられたクライアントデジタル証明書チェーンの指示を送信することを含む。
【0091】
証明書チェーン構成要素925は、クライアントによって、第2のリダイレクション応答を受信したことに基づいて、クライアントデジタル証明書チェーンのデジタル署名されたバージョンの指示を提示し得る。
【0092】
場合によっては、クライアントデジタル証明書チェーンは、クライアントデジタル証明書チェーンがサードパーティ認証局によって発行又はプロビジョニングされることに基づいて、テナントに関連付けられる。
【0093】
認証構成要素930は、クライアントデジタル証明書チェーンのデジタル署名されたバージョンの指示を提示したことに基づいて、クライアントがサービスにアクセスすることを認証されているという指示をサービスから受信し得る。
【0094】
いくつかの例では、アクセス証印をサービスから受信し、アクセス証印は、ブラウザクッキー、JSONウェブトークン、HTTPパラメータ、又はそれらの組合せを含む。
【0095】
ユーザインターフェース構成要素935は、テナントによって発行又はプロビジョニングされたクライアントデジタル証明書チェーンの選択をユーザから受信し得、デジタルハンドシェイクは、デジタル証明書チェーンの選択を受信したことに基づいて実行される。
【0096】
図10は、本開示の態様による、テナントアウェアmTLS認証をサポートするデバイス1005を含むシステム1000の図を示す。デバイス1005は、本明細書で説明するユーザデバイス又は装置805の構成要素の例であるか、又はそれらを含み得る。デバイス1005は、セキュリティマネジャ1010と、I/Oコントローラ1015と、データベースコントローラ1020と、メモリ1025と、プロセッサ1030と、データベース1035とを含む、通信を送信及び受信するための構成要素を含む、双方向データ通信のための構成要素を含み得る。これらの構成要素は、1つ又は複数のバス(例えば、バス1040)を介して電子通信し得る。
【0097】
セキュリティマネジャ1010は、本明細書で説明するセキュリティマネジャ815又は905の例であり得る。例えば、セキュリティマネジャ1010は、
図8及び
図9を参照して本明細書で説明する方法又はプロセスのいずれかを実行し得る。場合によっては、セキュリティマネジャ1010は、ハードウェア、プロセッサによって実行されるソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。
【0098】
I/Oコントローラ1015は、デバイス1005のための入力信号1045及び出力信号1050を管理し得る。I/Oコントローラ1015は、デバイス1005に統合されていない周辺機器を管理することもできる。場合によっては、I/Oコントローラ1015は、外部周辺機器への物理的接続又はポートを表し得る。場合によっては、I/Oコントローラ1015は、iOS(登録商標)、ANDROID(登録商標)、MS-DOS(登録商標)、MS-WINDOWS(登録商標)、OS/2(登録商標)、UNIX(登録商標)、LINUX(登録商標)などのオペレーティングシステム、又は別の既知のオペレーティングシステムを利用し得る。他の場合には、I/Oコントローラ1015は、モデム、キーボード、マウス、タッチスクリーン、又は同様のデバイスを表すか、又はそれらと対話し得る。場合によっては、I/Oコントローラ1015は、プロセッサの一部として実装され得る。場合によっては、ユーザは、I/Oコントローラ1015を介して、又はI/Oコントローラ1015によって制御されるハードウェア構成要素を介して、デバイス1005と対話し得る。
【0099】
データベースコントローラ1020は、データベース1035におけるデータ記憶及び処理を管理し得る。場合によっては、ユーザは、データベースコントローラ1020と対話し得る。他の場合には、データベースコントローラ1020は、ユーザ対話なしに自動的に動作し得る。データベース1035は、単一のデータベース、分散データベース、複数の分散データベース、データストア、データレイク、又は緊急バックアップデータベースの例であり得る。
【0100】
メモリ1025は、ランダムアクセスメモリ(RAM)と読取り専用メモリ(ROM)とを含み得る。メモリ1025は、実行されたとき、プロセッサに、本明細書で説明する様々な機能を実行させる命令を含むコンピュータ可読、コンピュータ実行可能ソフトウェアを記憶し得る。場合によっては、メモリ1025は、とりわけ、周辺構成要素又はデバイスとの対話などの基本的なハードウェア又はソフトウェアの動作を制御し得る基本入出/力システム(BIOS)を含み得る。
【0101】
プロセッサ1030は、インテリジェントハードウェアデバイス(例えば、汎用プロセッサ、DSP、中央処理装置(CPU)、マイクロコントローラ、ASIC、FPGA、プログラマブル論理デバイス、ディスクリートゲート若しくはトランジスタ論理構成要素、ディスクリートハードウェア構成要素、又はそれらの任意の組合せ)を含み得る。場合によっては、プロセッサ1030は、メモリコントローラを使用してメモリアレイを動作させるように構成され得る。他の場合には、メモリコントローラは、プロセッサ1030に統合され得る。プロセッサ1030は、様々な機能(例えば、テナントアウェアmTLS認証をサポートする機能又はタスク)を実行するために、メモリ1025に記憶されたコンピュータ可読命令を実行するように構成され得る。
【0102】
図11は、本開示の態様による、テナントアウェアmTLS認証をサポートする方法1100を示すフローチャートを示す。方法1100の動作は、本明細書で説明するように、アプリケーションサーバ又はその構成要素によって実装され得る。例えば、方法1100の動作は、
図5~
図7を参照して説明したように、セキュリティマネジャによって実行され得る。いくつかの例では、アプリケーションサーバは、本明細書で説明する機能を実行するようにアプリケーションサーバの機能要素を制御するための命令のセットを実行し得る。追加的に又は代替的に、アプリケーションサーバは、専用ハードウェアを使用して、本明細書で説明する機能面を実行してもよい。
【0103】
1105において、アプリケーションサーバは、マルチテナントシステムのテナントによってサポートされるサービスによって、サービスにアクセスするためのアクセス要求をクライアントから受信し得、クライアントは、テナントに関連付けられたデジタル証明書チェーンを用いて構成される。1105の動作は、本明細書で説明する方法に従って実行され得る。いくつかの例では、1105の動作の態様は、
図5~
図7を参照して説明したように、アクセス要求インターフェースによって実行され得る。
【0104】
1110において、アプリケーションサーバは、サービスによって、クライアントがサービスにアクセスすることを認証されているという有効な指示を受信できなかったことに基づいて、相互トランスポート層セキュリティサービスを示す第1のリダイレクション応答をクライアントに送信し得る。1110の動作は、本明細書で説明する方法に従って実行され得る。いくつかの例では、1110の動作の態様は、
図5~
図7を参照して説明したように、アクセス構成要素によって実行され得る。
【0105】
1115において、アプリケーションサーバは、デジタル証明書チェーンのデジタル署名されたバージョンの指示をクライアントから受信し得、デジタル証明書チェーンは、最も真正なものによって信頼される相互トランスポート層セキュリティサービスに関連付けられたルート鍵を使用して署名される。1115の動作は、本明細書で説明する方法に従って実行され得る。いくつかの例では、1115の動作の態様は、
図5~
図7を参照して説明したように、証明書チェーン構成要素によって実行され得る。
【0106】
1120において、アプリケーションサーバは、デジタル証明書チェーンのデジタル署名されたバージョンを妥当性確認し得る。1120の動作は、本明細書で説明する方法に従って実行され得る。いくつかの例では、1120の動作の態様は、
図5~
図7を参照して説明したように、証明書妥当性確認構成要素によって実行され得る。
【0107】
1125において、アプリケーションサーバは、デジタル証明書チェーンのデジタル署名されたバージョンを妥当性確認したことに基づいて、クライアントがサービスにアクセスすることを認証されているという指示をクライアントに送信し得る。1125の動作は、本明細書で説明する方法に従って実行され得る。いくつかの例では、1125の動作の態様は、
図5~
図7を参照して説明したように、認証構成要素によって実行され得る。
【0108】
図12は、本開示の態様による、テナントアウェアmTLS認証をサポートする方法1200を示すフローチャートを示す。方法1200の動作は、本明細書で説明するように、アプリケーションサーバ又はその構成要素によって実装され得る。例えば、方法1200の動作は、
図5~
図7を参照して説明したように、セキュリティマネジャによって実行され得る。いくつかの例では、アプリケーションサーバは、本明細書で説明する機能を実行するようにアプリケーションサーバの機能要素を制御するための命令のセットを実行し得る。追加的に又は代替的に、アプリケーションサーバは、専用ハードウェアを使用して、本明細書で説明する機能面を実行してもよい。
【0109】
1205において、アプリケーションサーバは、マルチテナントシステムのテナントによってサポートされるサービスによって、サービスにアクセスするためのアクセス要求をクライアントから受信し得、クライアントは、テナントに関連付けられたデジタル証明書チェーンを用いて構成される。1205の動作は、本明細書で説明する方法に従って実行され得る。いくつかの例では、1205の動作の態様は、
図5~
図7を参照して説明したように、アクセス要求インターフェースによって実行され得る。
【0110】
1210において、アプリケーションサーバは、アクセス要求を受信したことに基づいて、クライアントによって提示されたアクセス証印が無効であると決定し得、サービスは、アクセス証印が無効であると決定したことに基づいて、第1のリダイレクション応答を送信する。1210の動作は、本明細書で説明する方法に従って実行され得る。いくつかの例では、1210の動作の態様は、
図5~
図7を参照して説明したように、アクセス妥当性確認構成要素によって実行され得る。
【0111】
1215において、アプリケーションサーバは、サービスによって、クライアントがサービスにアクセスすることを認証されているという有効な指示を受信できなかったことに基づいて、相互トランスポート層セキュリティサービスを示す第1のリダイレクション応答をクライアントに送信し得る。1215の動作は、本明細書で説明する方法に従って実行され得る。いくつかの例では、1215の動作の態様は、
図5~
図7を参照して説明したように、アクセス構成要素によって実行され得る。
【0112】
1220において、アプリケーションサーバは、デジタル証明書チェーンのデジタル署名されたバージョンの指示をクライアントから受信し得、デジタル証明書チェーンは、最も真正なものによって信頼される相互トランスポート層セキュリティサービスに関連付けられたルート鍵を使用して署名される。1220の動作は、本明細書で説明する方法に従って実行され得る。いくつかの例では、1220の動作の態様は、
図5~
図7を参照して説明したように、証明書チェーン構成要素によって実行され得る。
【0113】
1225において、アプリケーションサーバは、デジタル証明書チェーンのデジタル署名されたバージョンを妥当性確認し得る。1225の動作は、本明細書で説明する方法に従って実行され得る。いくつかの例では、1225の動作の態様は、
図5~
図7を参照して説明したように、証明書妥当性確認構成要素によって実行され得る。
【0114】
1230において、アプリケーションサーバは、デジタル証明書チェーンのデジタル署名されたバージョンを妥当性確認したことに基づいて、クライアントがサービスにアクセスすることを認証されているという指示をクライアントに送信し得る。1230の動作は、本明細書で説明する方法に従って実行され得る。いくつかの例では、1230の動作の態様は、
図5~
図7を参照して説明したように、認証構成要素によって実行され得る。
【0115】
図13は、本開示の態様による、テナントアウェアmTLS認証をサポートする方法1300を示すフローチャートを示す。方法1300の動作は、本明細書で説明するように、ユーザデバイス又はその構成要素によって実装され得る。例えば、方法1300の動作は、
図8~
図10を参照して説明したように、セキュリティマネジャによって実行され得る。いくつかの例では、ユーザデバイスは、本明細書で説明する機能を実行するようにユーザデバイスの機能要素を制御するための命令のセットを実行し得る。追加的に又は代替的に、ユーザデバイスは、専用ハードウェアを使用して、本明細書で説明する機能面を実行してもよい。
【0116】
1305において、ユーザデバイスは、クライアントによって、テナントによってサポートされるサービスに、サービスにアクセスするためのアクセス要求を送信し得、クライアントは、テナントに関連付けられたクライアントデジタル証明書チェーンを用いて構成される。1305の動作は、本明細書で説明する方法に従って実行され得る。いくつかの例では、1305の動作の態様は、
図8~
図10を参照して説明したように、アクセス構成要素によって実行され得る。
【0117】
1310において、ユーザデバイスは、クライアントにおいて、クライアントがサービスにアクセスすることを認証されているという有効な指示を提示できなかったことに基づいて、相互トランスポート層セキュリティサービスを示す第1のリダイレクション応答をサービスから受信し得る。1310の動作は、本明細書で説明する方法に従って実行され得る。いくつかの例では、1310の動作の態様は、
図8~
図10を参照して説明したように、リダイレクション構成要素によって実行され得る。
【0118】
1315において、ユーザデバイスは、第1のリダイレクション応答を受信したことに基づいて、相互トランスポート層セキュリティサービスとのデジタルハンドシェイクを実行し得、デジタルハンドシェイクを実行することは、相互トランスポート層セキュリティサービスに関連付けられたクライアントデジタル証明書チェーンの指示を送信することを含む。1315の動作は、本明細書で説明する方法に従って実行され得る。いくつかの例では、1315の動作の態様は、
図8~
図10を参照して説明したように、mTLS構成要素によって実行され得る。
【0119】
1320において、ユーザデバイスは、デジタルハンドシェイクに基づいて、クライアントデジタル証明書チェーンのデジタル署名されたバージョンを含む第2のリダイレクション応答を相互トランスポート層セキュリティサービスから受信し得、デジタル証明書チェーンは、相互トランスポート層セキュリティサービスに関連付けられた秘密鍵を使用して署名される。1320の動作は、本明細書で説明する方法に従って実行され得る。いくつかの例では、1320の動作の態様は、
図8~
図10を参照して説明したように、リダイレクション構成要素によって実行され得る。
【0120】
1325において、ユーザデバイスは、クライアントによって、第2のリダイレクション応答を受信したことに基づいて、クライアントデジタル証明書チェーンのデジタル署名されたバージョンの指示を提示し得る。1325の動作は、本明細書で説明する方法に従って実行され得る。いくつかの例では、1325の動作の態様は、
図8~
図10を参照して説明したように、証明書チェーン構成要素によって実行され得る。
【0121】
1330において、ユーザデバイスは、クライアントデジタル証明書チェーンのデジタル署名されたバージョンの指示を提示したことに基づいて、クライアントがサービスにアクセスすることを認証されているという指示をサービスから受信し得る。1330の動作は、本明細書で説明する方法に従って実行され得る。いくつかの例では、1330の動作の態様は、
図8~
図10を参照して説明したように、認証構成要素によって実行され得る。
【0122】
図14は、本開示の態様による、テナントアウェアmTLS認証をサポートする方法1400を示すフローチャートを示す。方法1400の動作は、本明細書で説明するように、ユーザデバイス又はその構成要素によって実装され得る。例えば、方法1400の動作は、
図8~
図10を参照して説明したように、セキュリティマネジャによって実行され得る。いくつかの例では、ユーザデバイスは、本明細書で説明する機能を実行するようにユーザデバイスの機能要素を制御するための命令のセットを実行し得る。追加的に又は代替的に、ユーザデバイスは、専用ハードウェアを使用して、本明細書で説明する機能面を実行してもよい。
【0123】
1405において、ユーザデバイスは、クライアントによって、テナントによってサポートされるサービスに、サービスにアクセスするためのアクセス要求を送信し得、クライアントは、テナントに関連付けられたクライアントデジタル証明書チェーンを用いて構成される。1405の動作は、本明細書で説明する方法に従って実行され得る。いくつかの例では、1405の動作の態様は、
図8~
図10を参照して説明したように、アクセス構成要素によって実行され得る。
【0124】
1410において、ユーザデバイスは、クライアントにおいて、クライアントがサービスにアクセスすることを認証されているという有効な指示を提示できなかったことに基づいて、相互トランスポート層セキュリティサービスを示す第1のリダイレクション応答をサービスから受信し得る。1410の動作は、本明細書で説明する方法に従って実行され得る。いくつかの例では、1410の動作の態様は、
図8~
図10を参照して説明したように、リダイレクション構成要素によって実行され得る。
【0125】
1415において、ユーザデバイスは、テナントによって発行又はプロビジョニングされたクライアントデジタル証明書チェーンの選択をユーザから受信し得、デジタルハンドシェイクは、デジタル証明書チェーンの選択を受信したことに基づいて実行される。1415の動作は、本明細書で説明する方法に従って実行され得る。いくつかの例では、1415の動作の態様は、
図8~
図10を参照して説明したように、ユーザインターフェース構成要素によって実行され得る。
【0126】
1420において、ユーザデバイスは、第1のリダイレクション応答を受信したことに基づいて、相互トランスポート層セキュリティサービスとのデジタルハンドシェイクを実行し得、デジタルハンドシェイクを実行することは、相互トランスポート層セキュリティサービスに関連付けられたクライアントデジタル証明書チェーンの指示を送信することを含む。1420の動作は、本明細書で説明する方法に従って実行され得る。いくつかの例では、1420の動作の態様は、
図8~
図10を参照して説明したように、mTLS構成要素によって実行され得る。
【0127】
1425において、ユーザデバイスは、デジタルハンドシェイクに基づいて、クライアントデジタル証明書チェーンのデジタル署名されたバージョンを含む第2のリダイレクション応答を相互トランスポート層セキュリティサービスから受信し得、デジタル証明書チェーンは、相互トランスポート層セキュリティサービスに関連付けられた秘密鍵を使用して署名される。1425の動作は、本明細書で説明する方法に従って実行され得る。いくつかの例では、1425の動作の態様は、
図8~
図10を参照して説明したように、リダイレクション構成要素によって実行され得る。
【0128】
1430において、ユーザデバイスは、クライアントによって、第2のリダイレクション応答を受信したことに基づいて、クライアントデジタル証明書チェーンのデジタル署名されたバージョンの指示を提示し得る。1430の動作は、本明細書で説明する方法に従って実行され得る。いくつかの例では、1430の動作の態様は、
図8~
図10を参照して説明したように、証明書チェーン構成要素によって実行され得る。
【0129】
1435において、ユーザデバイスは、クライアントデジタル証明書チェーンのデジタル署名されたバージョンの指示を提示したことに基づいて、クライアントがサービスにアクセスすることを認証されているという指示をサービスから受信し得る。1435の動作は、本明細書で説明する方法に従って実行され得る。いくつかの例では、1435の動作の態様は、
図8~
図10を参照して説明したように、認証構成要素によって実行され得る。
【0130】
サービスへのアクセスを提供する方法について説明する。方法は、マルチテナントシステムのテナントによってサポートされるサービスによって、サービスにアクセスするためのアクセス要求をクライアントから受信するステップであって、クライアントは、テナントに関連付けられたデジタル証明書チェーンを用いて構成される、ステップと、サービスによって、クライアントがサービスにアクセスすることを認証されているという有効な指示を受信できなかったことに基づいて、相互トランスポート層セキュリティサービスを示す第1のリダイレクション応答をクライアントに送信するステップと、デジタル証明書チェーンのデジタル署名されたバージョンの指示をクライアントから受信するステップであって、デジタル証明書チェーンは、最も真正なものによって信頼される相互トランスポート層セキュリティサービスに関連付けられたルート鍵を使用して署名される、ステップと、デジタル証明書チェーンのデジタル署名されたバージョンを妥当性確認するステップと、デジタル証明書チェーンのデジタル署名されたバージョンを妥当性確認したことに基づいて、クライアントがサービスにアクセスすることを認証されているという指示をクライアントに送信するステップとを含み得る。
【0131】
サービスへのアクセスを提供するための装置について説明する。装置は、プロセッサと、プロセッサに結合されたメモリと、メモリに記憶された命令とを含み得る。命令は、装置に、マルチテナントシステムのテナントによってサポートされるサービスによって、サービスにアクセスするためのアクセス要求をクライアントから受信することであって、クライアントは、テナントに関連付けられたデジタル証明書チェーンを用いて構成される、受信することと、サービスによって、クライアントがサービスにアクセスすることを認証されているという有効な指示を受信できなかったことに基づいて、相互トランスポート層セキュリティサービスを示す第1のリダイレクション応答をクライアントに送信することと、デジタル証明書チェーンのデジタル署名されたバージョンの指示をクライアントから受信することであって、デジタル証明書チェーンは、最も真正なものによって信頼される相互トランスポート層セキュリティサービスに関連付けられたルート鍵を使用して署名される、受信することと、デジタル証明書チェーンのデジタル署名されたバージョンを妥当性確認することと、デジタル証明書チェーンのデジタル署名されたバージョンを妥当性確認したことに少なくとも部分的に基づいて、クライアントがサービスにアクセスすることを認証されているという指示をクライアントに送信することとを行わせるようにプロセッサによって実行可能であり得る。
【0132】
サービスへのアクセスを提供するための別の装置について説明する。装置は、マルチテナントシステムのテナントによってサポートされるサービスによって、サービスにアクセスするためのアクセス要求をクライアントから受信するための手段であって、クライアントは、テナントに関連付けられたデジタル証明書チェーンを用いて構成される、手段と、サービスによって、クライアントがサービスにアクセスすることを認証されているという有効な指示を受信できなかったことに基づいて、相互トランスポート層セキュリティサービスを示す第1のリダイレクション応答をクライアントに送信するための手段と、デジタル証明書チェーンのデジタル署名されたバージョンの指示をクライアントから受信するための手段であって、デジタル証明書チェーンは、最も真正なものによって信頼される相互トランスポート層セキュリティサービスに関連付けられたルート鍵を使用して署名される、手段と、デジタル証明書チェーンのデジタル署名されたバージョンを妥当性確認するための手段と、デジタル証明書チェーンのデジタル署名されたバージョンを妥当性確認したことに少なくとも部分的に基づいて、クライアントがサービスにアクセスすることを認証されているという指示をクライアントに送信するための手段とを含み得る。
【0133】
サービスへのアクセスを提供するためのコードを記憶する非一時的コンピュータ可読媒体について説明する。コードは、マルチテナントシステムのテナントによってサポートされるサービスによって、サービスにアクセスするためのアクセス要求をクライアントから受信することであって、クライアントは、テナントに関連付けられたデジタル証明書チェーンを用いて構成される、受信することと、サービスによって、クライアントがサービスにアクセスすることを認証されているという有効な指示を受信できなかったことに基づいて、相互トランスポート層セキュリティサービスを示す第1のリダイレクション応答をクライアントに送信することと、デジタル証明書チェーンのデジタル署名されたバージョンの指示をクライアントから受信することであって、デジタル証明書チェーンは、最も真正なものによって信頼される相互トランスポート層セキュリティサービスに関連付けられたルート鍵を使用して署名される、受信することと、デジタル証明書チェーンのデジタル署名されたバージョンを妥当性確認することと、デジタル証明書チェーンのデジタル署名されたバージョンを妥当性確認したことに少なくとも部分的に基づいて、クライアントがサービスにアクセスすることを認証されているという指示をクライアントに送信することとを行うようにプロセッサによって実行可能な命令を含み得る。
【0134】
本明細書で説明する方法、装置、及び非一時的コンピュータ可読媒体のいくつかの例では、デジタル証明書チェーンのデジタル署名されたバージョンを妥当性確認することは、デジタル証明書チェーンのデジタル署名されたバージョンに関連付けられた証明書チェーンを妥当性確認するための動作、特徴、手段、又は命令を含み得る。
【0135】
本明細書で説明する方法、装置、及び非一時的コンピュータ可読媒体のいくつかの例では、デジタル証明書チェーンのデジタル署名されたバージョンを妥当性確認することは、デジタル証明書チェーンに関連付けられた有効期限が期限切れではない可能性があると決定するための動作、特徴、手段、又は命令を含み得る。
【0136】
本明細書で説明する方法、装置、及び非一時的コンピュータ可読媒体のいくつかの例は、アクセス要求を受信したことに基づいて、クライアントによって提示されたアクセス証印が無効であり得ると決定するための動作、特徴、手段、又は命令を更に含み得、サービスは、アクセス証印が無効であり得ると決定したことに基づいて、第1のリダイレクション応答を送信する。
【0137】
本明細書で説明する方法、装置、及び非一時的コンピュータ可読媒体のいくつかの例では、アクセス証印が無効であり得ると決定することは、アクセス証印に関連付けられた生存時間値が期限切れではない可能性があると決定するための動作、特徴、手段、又は命令を含み得る。
【0138】
本明細書で説明する方法、装置、及び非一時的コンピュータ可読媒体のいくつかの例では、アクセス証印は、ブラウザクッキー、JSONウェブトークン、HTTPパラメータ、又はそれらの組合せを含む。
【0139】
本明細書で説明する方法、装置、及び非一時的コンピュータ可読媒体のいくつかの例では、指示を送信することは、クライアントにおいてアクセス証印を記憶するための動作、特徴、手段、又は命令を含み得、アクセス証印は、ブラウザクッキー、JSONウェブトークン、HTTPパラメータ、又はそれらの組合せを含む。
【0140】
本明細書で説明する方法、装置、及び非一時的コンピュータ可読媒体のいくつかの例では、サービスは、相互トランスポート層セキュリティサービスに関連付けられ得るマルチテナントシステムのテナントによってサポートされ得る。
【0141】
本明細書で説明する方法、装置、及び非一時的コンピュータ可読媒体のいくつかの例では、クライアントデジタル証明書チェーンは、クライアントデジタル証明書チェーンがサードパーティ認証局によって発行又はプロビジョニングされることに基づいて、テナントに関連付けられ得る。
【0142】
サービスにセキュアにアクセスする方法が説明について説明する。方法は、クライアントによって、テナントによってサポートされるサービスに、サービスにアクセスするためのアクセス要求を送信するステップであって、クライアントは、テナントに関連付けられたクライアントデジタル証明書チェーンを用いて構成される、ステップと、クライアントにおいて、クライアントがサービスにアクセスすることを認証されているという有効な指示を提示できなかったことに基づいて、相互トランスポート層セキュリティサービスを示す第1のリダイレクション応答をサービスから受信するステップと、第1のリダイレクション応答を受信したことに基づいて、相互トランスポート層セキュリティサービスとのデジタルハンドシェイクを実行するステップであって、デジタルハンドシェイクを実行するステップは、相互トランスポート層セキュリティサービスに関連付けられたクライアントデジタル証明書チェーンの指示を送信するステップを含む、ステップと、デジタルハンドシェイクに基づいて、クライアントデジタル証明書チェーンのデジタル署名されたバージョンを含む第2のリダイレクション応答を相互トランスポート層セキュリティサービスから受信するステップであって、デジタル証明書チェーンは、相互トランスポート層セキュリティサービスに関連付けられた秘密鍵を使用して署名される、ステップと、クライアントによって、第2のリダイレクション応答を受信したことに基づいて、クライアントデジタル証明書チェーンのデジタル署名されたバージョンの指示を提示するステップと、クライアントデジタル証明書チェーンのデジタル署名されたバージョンの指示を提示したことに基づいて、クライアントがサービスにアクセスすることを認証されているという指示をサービスから受信するステップとを含み得る。
【0143】
サービスにセキュアにアクセスするための装置について説明する。装置は、プロセッサと、プロセッサに結合されたメモリと、メモリに記憶された命令とを含み得る。命令は、装置に、クライアントによって、テナントによってサポートされるサービスに、サービスにアクセスするためのアクセス要求を送信することであって、クライアントは、テナントに関連付けられたクライアントデジタル証明書チェーンを用いて構成される、送信することと、クライアントにおいて、クライアントがサービスにアクセスすることを認証されているという有効な指示を提示できなかったことに基づいて、相互トランスポート層セキュリティサービスを示す第1のリダイレクション応答をサービスから受信することと、第1のリダイレクション応答を受信したことに基づいて、相互トランスポート層セキュリティサービスとのデジタルハンドシェイクを実行することであって、デジタルハンドシェイクを実行することは、相互トランスポート層セキュリティサービスに関連付けられたクライアントデジタル証明書チェーンの指示を送信することを含む、実行することと、デジタルハンドシェイクに基づいて、クライアントデジタル証明書チェーンのデジタル署名されたバージョンを含む第2のリダイレクション応答を相互トランスポート層セキュリティサービスから受信することであって、デジタル証明書チェーンは、相互トランスポート層セキュリティサービスに関連付けられた秘密鍵を使用して署名される、受信することと、クライアントによって、第2のリダイレクション応答を受信したことに基づいて、クライアントデジタル証明書チェーンのデジタル署名されたバージョンの指示を提示することと、クライアントデジタル証明書チェーンのデジタル署名されたバージョンの指示を提示したことに基づいて、クライアントがサービスにアクセスすることを認証されているという指示をサービスから受信することとを行わせるようにプロセッサによって実行可能であり得る。
【0144】
サービスにセキュアにアクセスするための別の装置について説明する。装置は、クライアントによって、テナントによってサポートされるサービスに、サービスにアクセスするためのアクセス要求を送信するための手段であって、クライアントは、テナントに関連付けられたクライアントデジタル証明書チェーンを用いて構成される、手段と、クライアントにおいて、クライアントがサービスにアクセスすることを認証されているという有効な指示を提示できなかったことに基づいて、相互トランスポート層セキュリティサービスを示す第1のリダイレクション応答をサービスから受信するための手段と、第1のリダイレクション応答を受信したことに基づいて、相互トランスポート層セキュリティサービスとのデジタルハンドシェイクを実行するための手段であって、デジタルハンドシェイクを実行することは、相互トランスポート層セキュリティサービスに関連付けられたクライアントデジタル証明書チェーンの指示を送信することを含む、手段と、デジタルハンドシェイクに基づいて、クライアントデジタル証明書チェーンのデジタル署名されたバージョンを含む第2のリダイレクション応答を相互トランスポート層セキュリティサービスから受信するための手段であって、デジタル証明書チェーンは、相互トランスポート層セキュリティサービスに関連付けられた秘密鍵を使用して署名される、手段と、クライアントによって、第2のリダイレクション応答を受信したことに基づいて、クライアントデジタル証明書チェーンのデジタル署名されたバージョンの指示を提示するための手段と、クライアントデジタル証明書チェーンのデジタル署名されたバージョンの指示を提示したことに基づいて、クライアントがサービスにアクセスすることを認証されているという指示をサービスから受信するための手段とを含み得る。
【0145】
サービスにセキュアにアクセスするためのコードを記憶する非一時的コンピュータ可読媒体について説明する。コードは、クライアントによって、テナントによってサポートされるサービスに、サービスにアクセスするためのアクセス要求を送信することであって、クライアントは、テナントに関連付けられたクライアントデジタル証明書チェーンを用いて構成される、送信することと、クライアントにおいて、クライアントがサービスにアクセスすることを認証されているという有効な指示を提示できなかったことに基づいて、相互トランスポート層セキュリティサービスを示す第1のリダイレクション応答をサービスから受信することと、第1のリダイレクション応答を受信したことに基づいて、相互トランスポート層セキュリティサービスとのデジタルハンドシェイクを実行することであって、デジタルハンドシェイクを実行することは、相互トランスポート層セキュリティサービスに関連付けられたクライアントデジタル証明書チェーンの指示を送信することを含む、受信することと、デジタルハンドシェイクに基づいて、クライアントデジタル証明書チェーンのデジタル署名されたバージョンを含む第2のリダイレクション応答を相互トランスポート層セキュリティサービスから受信することであって、デジタル証明書チェーンは、相互トランスポート層セキュリティサービスに関連付けられた秘密鍵を使用して署名される、受信することと、クライアントによって、第2のリダイレクション応答を受信したことに基づいて、クライアントデジタル証明書チェーンのデジタル署名されたバージョンの指示を提示することと、クライアントデジタル証明書チェーンのデジタル署名されたバージョンの指示を提示したことに基づいて、クライアントがサービスにアクセスすることを認証されているという指示をサービスから受信することとを行うようにプロセッサによって実行可能な命令を含み得る。
【0146】
本明細書で説明する方法、装置、及び非一時的コンピュータ可読媒体のいくつかの例は、クライアントによって、アクセス証印を提示するための動作、特徴、手段、又は命令を更に含み得、クライアントは、アクセス証印が無効であることに基づいて第1のリダイレクション応答を受信する。
【0147】
本明細書で説明する方法、装置、及び非一時的コンピュータ可読媒体のいくつかの例では、アクセス証印は、生存時間値が期限切れであることに基づいて無効であり得る。
【0148】
本明細書で説明する方法、装置、及び非一時的コンピュータ可読媒体のいくつかの例では、クライアントが認証されている可能性があるという指示を受信することは、アクセス証印をサービスから受信するための動作、特徴、手段、又は命令を含み得、アクセス証印は、ブラウザクッキー、JSONウェブトークン、HTTPパラメータ、又はそれらの組合せを含む。
【0149】
本明細書で説明する方法、装置、及び非一時的コンピュータ可読媒体のいくつかの例は、テナントによって発行又はプロビジョニングされたクライアントデジタル証明書チェーンの選択をユーザから受信するための動作、特徴、手段、又は命令を更に含み得、デジタルハンドシェイクは、デジタル証明書チェーンの選択を受信したことに基づいて実行され得る。
【0150】
本明細書で説明する方法、装置、及び非一時的コンピュータ可読媒体のいくつかの例では、クライアントデジタル証明書チェーンは、クライアントデジタル証明書チェーンがサードパーティ認証局によって発行又はプロビジョニングされることに基づいて、テナントに関連付けられ得る。
【0151】
本明細書で説明した方法は、可能な実装形態について説明しており、動作及びステップは並べ替えられるか又は別の方法で修正され得、他の実装形態が可能であることに留意されたい。更に、方法のうちの2つ以上の方法からの態様が組み合わされ得る。
【0152】
添付の図面に関して本明細書に記載された説明は、例示的な構成について説明しており、実装され得る又は特許請求の範囲内に入る全ての例を表すとは限らない。本明細書で使用される「例示的」という用語は、「例、事例、又は例示として機能を果たす」を意味し、「好ましい」又は「他の例よりも有利である」ことを意味しない。発明を実施するための形態は、説明される技法の理解を与える目的で具体的な詳細を含む。しかしながら、これらの技法は、これらの具体的な詳細なしに実施され得る。いくつかの事例では、説明される例の概念を不明瞭にしないために、周知の構造及びデバイスがブロック図の形態で示される。
【0153】
添付の図では、同様の構成要素又は特徴は、同じ参照ラベルを有し得る。更に、同じタイプの様々な構成要素は、参照ラベルの後に、ダッシュと、同様の構成要素を区別する第2のラベルとを続けることによって区別され得る。第1の参照ラベルのみが本明細書で使用される場合、説明は、第2の参照ラベルにかかわらず、同じ第1の参照ラベルを有する同様の構成要素のいずれにも適用可能である。
【0154】
本明細書で説明した情報及び信号は、様々な異なる技術及び技法のいずれかを使用して表され得る。例えば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、及びチップは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光学粒子、又はそれらの任意の組合せによって表され得る。
【0155】
本明細書の開示に関して説明した様々な例示的なブロック及びモジュールは、汎用プロセッサ、DSP、ASIC、FPGA若しくは他のプログラマブル論理デバイス、ディスクリートゲート若しくはトランジスタ論理、ディスクリートハードウェア構成要素、又は本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装若しくは実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、又はステートマシンであってもよい。プロセッサはまた、コンピューティングデバイスの組合せ(例えば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つ若しくは複数のマイクロプロセッサ、又は任意の他のそのような構成)として実装され得る。
【0156】
本明細書で説明した機能は、ハードウェア、プロセッサによって実行されるソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。プロセッサによって実行されるソフトウェアで実装される場合、機能は、1つ又は複数の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、又はコンピュータ可読媒体を介して送信され得る。他の例及び実装形態は、本開示及び添付の特許請求の範囲内にある。例えば、ソフトウェアの性質により、本明細書で説明した機能は、プロセッサによって実行されるソフトウェア、ハードウェア、ファームウェア、ハードワイヤリング、又はこれらのいずれかの組合せを使用して実装され得る。機能を実装する特徴はまた、機能の部分が異なる物理的ロケーションにおいて実装されるように分散されることを含めて、様々な位置に物理的に位置し得る。また、特許請求の範囲を含めて本明細書で使用される場合、項目のリスト(例えば、「~のうちの少なくとも1つ(at least one of)」又は「~のうちの1つ又は複数(one or more of)」などの表現が前に置かれた項目のリスト)で使用される「又は(or)」は、例えば、A、B、又はCのうちの少なくとも1つのリストが、A又はB又はC又はAB又はAC又はBC又はABC(すなわち、A及びB及びC)を意味するように包括的なリストを示す。また、本明細書で使用される場合、「~に基づく(based on)」という句は、閉じた条件のセットへの言及として解釈されるべきではない。例えば、「条件Aに基づいて(based on condition A)」と説明される例示的なステップは、本開示の範囲から逸脱することなく、条件Aと条件Bの両方に基づき得る。言い換えれば、本明細書で使用される場合、「~に基づく」という表現は、「~に少なくとも部分的に基づく(based at least in part on)」という表現と同じように解釈されるものとする。
【0157】
コンピュータ可読媒体は、非一時的コンピュータ記憶媒体と、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体の両方を含む。非一時的記憶媒体は、汎用又は専用コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、非一時的コンピュータ可読媒体は、RAM、ROM、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、コンパクトディスク(CD)ROM又は他の光ディスクストレージ、磁気ディスクストレージ又は他の磁気ストレージデバイス、或いは命令又はデータ構造の形態の所望のプログラムコード手段を搬送又は記憶するために使用可能であり、汎用若しくは専用コンピュータ、又は汎用若しくは専用プロセッサによってアクセス可能な任意の他の非一時的媒体を含むことができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用されるディスク(disk及びdisc)には、CD、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピーディスク、及びブルーレイディスクが含まれ、diskは通常、データを磁気的に再生し、discは、データをレーザで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれる。
【0158】
本明細書の説明は、当業者が本開示を作成又は使用することを可能にするために提供される。本開示に対する様々な修正は、当業者には容易に明らかになり、本明細書で定義された包括的な原理は、本開示の範囲から逸脱することなく他の変形形態に適用され得る。従って、本開示は、本明細書で説明した例及び設計に限定されず、本明細書で開示した原理及び新規の特徴に合致する最も広い範囲が与えられるべきである。
【手続補正書】
【提出日】2023-04-07
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
サービスへの
セキュアなアクセスを提供するための方法であって、
前記サービスにアクセスするため
の要求を
、前記サービスのクライアントから受信するステップであって、前記クライアントは、
前記サービスによって信頼される認証局によって発行されたデジタル証明書チェーンを用いて構成される、ステップと、
前記クライアントが前記サービスにアクセスすることを
認可されてい
ないと
決定したことに少なくとも部分的に基づいて、
前記サービスによって信頼される相互トランスポート層セキュリティサービス
に前記クライアントをリダイレクトする応答を前記クライアントに送信するステップと、
前記相互トランスポート層セキュリティサービスに関連付けられたルート鍵を使用して前記相互トランスポート層セキュリティサービスによって署名された前記デジタル証明書チェーン
のバージョンの指示を前記クライアントから受信するステッ
プと、
前記クライアントによって提供された前記デジタル証明書チェーンの前
記バージョン
が前記相互トランスポート層セキュリティサービスによって署名されていることを妥当性確認するステップと、
前記クライアントによって提供された前記デジタル証明書チェーンの前
記バージョンを妥当性確認したことに少なくとも部分的に基づいて、前記クライアントが前記サービスにアクセスすることを
認可されている
ことを示す有効なアクセス証印の指示を前記クライアントに送信するステップと
を含む方法。
【請求項2】
前記クライアントによって提供された前記デジタル証明書チェーンの前
記バージョンを妥当性確認するステップは、
前記相互トランスポート層セキュリティサービスによって署名された前記デジタル証明書チェーンの前
記バージョンに関連付けられた
信頼チェーンを妥当性確認するステップ
を含む、請求項1に記載の方法。
【請求項3】
前記クライアントによって提供された前記デジタル証明書チェーンの前
記バージョンを妥当性確認するステップは、
前記クライアントによって提供された前記デジタル証明書チェーン
の前記バージョンに関連付けられた
生存時間が期限切れでないと決定するステップ
を含む、請求項1に記載の方法。
【請求項4】
前記クライアントが前記サービスにアクセスすることを認可されていないと決定するステップは、
前記クライアントによって提示されたアクセス証印が無効であると決定するステップであって、
前記相互トランスポート層セキュリティサービスに前記クライアントをリダイレクトすることは、前記クライアントが無効なアクセス証印を有していることに少なくとも部分的に基づく、ステップ
を含む、請求項1に記載の方法。
【請求項5】
前記アクセス証印が無効であると決定するステップは、
前記アクセス証印に関連付けられた生存時間値が期限切れ
であると決定するステップ
であって、前記生存時間値は、前記サービスをサポートするテナントによって構成される、ステップ
を含む、請求項4に記載の方法。
【請求項6】
前記
有効なアクセス証印は、ブラウザクッキー、JSONウェブトークン、ハイパーテキスト転送プロトコル(HTTP)パラメータ、又はそれらの組合せを含む、請求項
1に記載の方法。
【請求項7】
前記クライアントにおいて
前記有効なアクセス証印を記憶するステップであって、前記
有効なアクセス証印は、ブラウザクッキー、JSONウェブトークン、ハイパーテキスト転送プロトコル(HTTP)パラメータ、又はそれらの組合せを含む、ステップ
を
更に含む、請求項1に記載の方法。
【請求項8】
前記サービスは、前記相互トランスポート層セキュリティサービスに関連付けられたマルチテナントシステム
のテナントによってサポートされる、請求項1に記載の方法。
【請求項9】
前記認証局によって発行された前
記デジタル証明書チェーンは、
前記サービスをサポートするマルチテナントシステムのテナントに関連付けられる、請求項1に記載の方法。
【請求項10】
前記サービス及び前記相互トランスポート層セキュリティサービスは、別個のコンピューティングシステムによってホストされ、
前記相互トランスポート層セキュリティサービスによって署名された前記デジタル証明書チェーンの前記バージョンは、第1の生存時間値に関連付けられ、
前記サービスによって提供される前記有効なアクセス証印は、前記第1の生存時間値よりも大きい第2の生存時間値に関連付けられる、
請求項1に記載の方法。
【請求項11】
サービスにセキュアにアクセスするための方法であって、
前記サービスのクライアントによって
、前記サービスにアクセスするため
の要求を送信するステップであって、前記クライアントは、
前記サービスによって信頼される認証局によって発行されたデジタル証明書チェーンを用いて構成される、ステップと、
前記サービスによって信頼される相互トランスポート層セキュリティサービス
に前記クライアントをリダイレクトする第1
の応答を前記サービスから受信するステップと、
前記第1
の応答を受信したことに少なくとも部分的に基づいて、前記相互トランスポート層セキュリティサービスとのデジタルハンドシェイクを実行するステップであって、前記デジタルハンドシェイクを実行するステップは
、前記
デジタル証明書チェーンの指示を
前記相互トランスポート層セキュリティサービスに送信するステップを含む、ステップと、
前記デジタルハンドシェイク
を実行したことに少なくとも部分的に基づいて、第2
の応答
と、前記相互トランスポート層セキュリティサービスに関連付けられたルート鍵を使用して前記相互トランスポート層セキュリティサービスによって署名された前記デジタル証明書チェーンのバージョンとを前記相互トランスポート層セキュリティサービスから受信するステップであって、
前記第2の応答は、前記クライアントを前記サービスにリダイレクトする、ステップと
前記第2
の応答を受信したことに少なくとも部分的に基づいて、
前記相互トランスポート層セキュリティサービスによって署名された前
記デジタル証明書チェーンの前
記バージョンの指示を
前記サービスに送信するステップと、
前記相互トランスポート層セキュリティサービスによって署名された前
記デジタル証明書チェーンの前
記バージョンの前記指示を
送信したことに少なくとも部分的に基づいて、前記クライアントが前記サービスにアクセスすることを
認可されている
ことを示す有効なアクセス証印の指示を前記サービスから受信するステップと
を含む方法。
【請求項12】
アクセス証印
の指示を
前記サービスに送信するステップであって、前記第1
の応答を受信する
ステップは、前記アクセス証印が無効であることに少なくとも部分的に基づく、ステップ
を更に含む、請求項
11に記載の方法。
【請求項13】
前記アクセス証印は、
前記アクセス証印の生存時間値が期限切れ
になった後、無効
になる、請求項
12に記載の方法。
【請求項14】
前記
有効なアクセス証印は、ブラウザクッキー、JSONウェブトークン、ハイパーテキスト転送プロトコル(HTTP)パラメータ、又はそれらの組合せを含む、請求項
11に記載の方法。
【請求項15】
前記
認証局によって発
行された前
記デジタル証明書チェーンの選択
を受信するステップであって、
前記相互トランスポート層セキュリティサービスとの前記デジタルハンドシェイクは、前記
選択されたデジタル証明書チェーン
を使用して実行される、ステップと
を更に含む、請求項
11に記載の方法。
【請求項16】
認証局によって発行された前
記デジタル証明書チェーンは、
前記サービスをサポートするマルチテナントシステムのテナントに関連付けられる、請求項
11に記載の方法。
【請求項17】
サービスへの
セキュアなアクセスを提供するための装置であって、
プロセッサと、
前記プロセッサに結合されたメモリと、
前記メモリに記憶された命令と
を含み、前記命令は、前記装置に、
前記サービスにアクセスするため
の要求を
、前記サービスのクライアントから受信する
ことであって、前記クライアントは、
前記サービスによって信頼される認証局によって発行されたデジタル証明書チェーンを用いて構成される、
受信することと、
前記クライアントが前記サービスにアクセスすることを
認可されてい
ないと
決定したことに少なくとも部分的に基づいて、
前記サービスによって信頼される相互トランスポート層セキュリティサービス
に前記クライアントをリダイレクトする応答を前記クライアントに送信する
ことと、
前記相互トランスポート層セキュリティサービスに関連付けられたルート鍵を使用して前記相互トランスポート層セキュリティサービスによって署名された前記デジタル証明書チェーン
のバージョンの指示を前記クライアントから受信する
ことと、
前記クライアントによって提供された前記デジタル証明書チェーンの前
記バージョン
が前記相互トランスポート層セキュリティサービスによって署名されていることを妥当性確認する
ことと、
前記クライアントによって提供された前記デジタル証明書チェーンの前
記バージョンを妥当性確認したことに少なくとも部分的に基づいて、前記クライアントが前記サービスにアクセスすることを認証されている
ことを示す有効なアクセス証印の指示を前記クライアントに送信する
ことと
を
行わせるように前記プロセッサによって実行可能なである、装置。
【請求項18】
前記クライアントによって提供された前記デジタル証明書チェーンの前
記バージョンを妥当性確認するための前記
命令は、
前記装置に、
前記クライアントによって提供された前記デジタル証明書チェーンの前
記バージョンに関連付けられた
信頼チェーンを妥当性確認する
こと
を
行わせるように前記プロセッサによって実行可能なである、請求項
17に記載の装置。
【請求項19】
前記クライアントによって提供された前記デジタル証明書チェーンの前
記バージョンを妥当性確認するための前記
命令は、前
記装置に、
前記クライアントによって提供された前記デジタル証明書チェーン
の前記バージョンに関連付けられた
生存時間が期限切れでないと決定する
こと
を
行わせるように前記プロセッサによって実行可能なである、請求項
17に記載の装置。
【請求項20】
前記クライアントが前記サービスにアクセスすることを認可されていないと決定するための前記命令は、前記装置に、
前記クライアントによって提示されたアクセス証印が無効であると決定する
こと
を
行わせるように前記プロセッサによって実行可能なである、請求項
17に記載の装置。
【国際調査報告】