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

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

▶ アイランド テクノロジー インコーポレイテッドの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-19
(54)【発明の名称】企業向けブラウザシステム
(51)【国際特許分類】
   G06F 21/55 20130101AFI20240412BHJP
   G06F 21/31 20130101ALI20240412BHJP
   G06F 21/62 20130101ALI20240412BHJP
【FI】
G06F21/55
G06F21/31
G06F21/62
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023568582
(86)(22)【出願日】2022-05-10
(85)【翻訳文提出日】2023-12-26
(86)【国際出願番号】 IB2022054341
(87)【国際公開番号】W WO2022238900
(87)【国際公開日】2022-11-17
(31)【優先権主張番号】63/186,222
(32)【優先日】2021-05-10
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】523419716
【氏名又は名称】アイランド テクノロジー インコーポレイテッド
(74)【代理人】
【識別番号】100120891
【弁理士】
【氏名又は名称】林 一好
(74)【代理人】
【識別番号】100165157
【弁理士】
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100205659
【弁理士】
【氏名又は名称】齋藤 拓也
(74)【代理人】
【識別番号】100126000
【弁理士】
【氏名又は名称】岩池 満
(74)【代理人】
【識別番号】100185269
【弁理士】
【氏名又は名称】小菅 一弘
(72)【発明者】
【氏名】アミガ ダン
(57)【要約】
ウェブブラウザは、コンピュータネットワークを介してデータを送受信するように構成されたブラウザレンダリングエンジンと、前記ウェブブラウザの任意の態様、前記データ、前記ウェブブラウザをホスティングするコンピュータ、及び前記コンピュータにアクセス可能なデバイスを制御するように構成された1つ以上のポリシーを実装するように構成されたポリシーエンジンとを含み、前記ウェブブラウザは、前記ブラウザレンダリングエンジン及び前記ポリシーエンジンを実装するためのコンピュータソフトウェア命令をコンパイルすることによって作成された実行ファイルとして構成され、前記ウェブブラウザは、1つ以上の事前定義された動作を実行することが許可される前に、前記ウェブブラウザのユーザを認証し、1つ以上のポリシーを検証することを要求するように構成される。
【選択図】図1
【特許請求の範囲】
【請求項1】
ウェブブラウザであって、
コンピュータネットワークを介してデータを送受信するように構成されたブラウザレンダリングエンジンと、
前記ウェブブラウザの任意の態様、前記データ、前記ウェブブラウザをホスティングするコンピュータ、及び前記コンピュータにアクセス可能なデバイスを制御するように構成された1つ以上のポリシーを実装するように構成されたポリシーエンジンと、
を備え、
前記ウェブブラウザは、前記ブラウザレンダリングエンジン及び前記ポリシーエンジンを実装するためのコンピュータソフトウェア命令をコンパイルすることによって作成された実行ファイルとして構成され、
前記ウェブブラウザは、1つ以上の事前定義された動作を実行することが許可される前に、前記ウェブブラウザのユーザを認証し、1つ以上のポリシーを検証することを要求するように構成される、ウェブブラウザ。
【請求項2】
前記ポリシーのそれぞれは、1つ以上のポリシー条件と、前記ポリシー条件が満たされたときに実行される1つ以上のポリシー施行アクションとを含む、請求項1に記載のウェブブラウザ。
【請求項3】
前記ウェブブラウザは、その外部のソースから前記ポリシーを受信するように構成され、前記ポリシーは、前記ウェブブラウザのユーザに関連付けられたIDに一意に関連付けられた復号鍵を使用する復号のために暗号化され、前記復号鍵は、前記ユーザが認証された後に前記ウェブブラウザに提供される、請求項1に記載のウェブブラウザ。
【請求項4】
前記ウェブブラウザは、認証された前記ユーザに関連付けられたブラウザ設定を前記ソースから受信するように構成され、前記ブラウザ設定は、前記復号鍵を使用する復号のために暗号化される、請求項3に記載のウェブブラウザ。
【請求項5】
前記ウェブブラウザは、前記データを受信することと並行して、前記データに適用されるポリシーのいずれかを少なくとも部分的に評価するように構成される、請求項1に記載のウェブブラウザ。
【請求項6】
前記ウェブブラウザは、前記データを受信することと並行するとともに、前記データの任意の部分を前記ブラウザレンダリングエンジンに提供することと並行して、前記データに適用されるポリシーのいずれかを少なくとも部分的に評価するように構成される、請求項1に記載のウェブブラウザ。
【請求項7】
前記ポリシーのいずれかは、前記ウェブブラウザによってアクセスされるウェブサイトに関連付けられたカテゴリに関連するポリシー条件を含む、請求項1に記載のウェブブラウザ。
【請求項8】
前記ポリシーのいずれかは、前記ウェブブラウザによってアクセスされるウェブサイトに関連付けられたリスクレベルに関連するポリシー条件を含む、請求項1に記載のウェブブラウザ。
【請求項9】
前記ポリシーのいずれかは、前記ウェブブラウザをホスティングする前記コンピュータの任意の特性に関連するポリシー条件を含む、請求項1に記載のウェブブラウザ。
【請求項10】
前記ポリシーのいずれかは、前記ウェブブラウザのユーザのIDの任意の特性に関連するポリシー条件を含む、請求項1に記載のウェブブラウザ。
【請求項11】
前記ポリシーのいずれかは、前記ウェブブラウザにアクセス可能なネットワークのIDの任意の特性に関連するポリシー条件を含む、請求項1に記載のウェブブラウザ。
【請求項12】
前記ポリシーのいずれかは、前記ウェブブラウザに提供されるユニフォームリソースロケータ(URL)のソースに関連するポリシー条件を含む、請求項1に記載のウェブブラウザ。
【請求項13】
前記ポリシーのいずれかは、前記データに対してデータ損失防止(DLP)技術、ウイルス対策技術又はマルウェア対策技術のいずれかを実行することを要求するポリシー施行アクションを含む、請求項1に記載のウェブブラウザ。
【請求項14】
前記ポリシーのいずれかは、前記データをレンダリングするか又は前記データを前記ユーザに提供する前に前記データを変更するか又は操ることを要求するポリシー施行アクションを含む、請求項1に記載のウェブブラウザ。
【請求項15】
前記ポリシーのいずれかは、前記データをレンダリングするか又は前記データを前記ユーザに提供する前に、前記データを第一のフォーマットから、前記データの少なくとも一部を除去する第二のフォーマットに変換し、その後に変換された前記データを第一のフォーマットに変換することを要求するポリシー施行アクションを含む、請求項1に記載のウェブブラウザ。
【請求項16】
前記ポリシーのいずれかは、クライアント側のユーザとウェブサイトとの対話を制御することを要求するポリシー施行アクションを含む、請求項1に記載のウェブブラウザ。
【請求項17】
前記ポリシーのいずれかは、前記ユーザによって閉じられたブラウザタブを隠し、前記ユーザが次回に前記隠されたブラウザタブに関連付けられたウェブサイト又は他のコンテンツにアクセスしようとするときに、前記隠されたブラウザタブを現すことを要求するポリシー施行アクションを含む、請求項1に記載のウェブブラウザ。
【請求項18】
前記ポリシーのいずれかは、前記ウェブブラウザの事前定義されたアプリケーションプログラミングインタフェース(API)を無効にすることを要求するポリシー施行アクションを含む、請求項1に記載のウェブブラウザ。
【請求項19】
前記ポリシーのいずれかは、ウェブページの事前定義された要素の無効化、隠し又はマスクのいずれかを要求するポリシー施行アクションを含む、請求項1に記載のウェブブラウザ。
【請求項20】
前記ウェブブラウザの使用時に前記ユーザが試みるか又は実行した任意のアクションを記録するように構成されたオーディタを更に含む、請求項1に記載のウェブブラウザ。
【請求項21】
前記ウェブブラウザが前記ユーザによって使用されるときに、前記ウェブブラウザが試みるか又は実行した任意のアクションを記録するように構成されたオーディタを更に含む、請求項1に記載のウェブブラウザ。
【請求項22】
前記ウェブブラウザが検出可能な任意のネットワーク活動を記録するように構成されたオーディタを更に含む、請求項1に記載のウェブブラウザ。
【請求項23】
前記ウェブブラウザは、1つ以上のターゲットアプリケーションで動作するように特に構成される、請求項1に記載のウェブブラウザ。
【請求項24】
前記ポリシーは、前記1つ以上のターゲットアプリケーションで使用するために特に適合される、請求項23に記載のウェブブラウザ。
【請求項25】
前記ポリシーのいずれかは、ロボティックプロセスオートメーション(RPA)技術を使用して定義され、施行される、請求項1に記載のウェブブラウザ。
【請求項26】
前記ウェブブラウザは、互いに分離された複数の異なるプロファイルを実装するように構成され、
前記プロファイルのそれぞれには、ポリシー、クッキー、キャッシュ、ローカルストレージ等の特有のデータがあり、
前記異なるプロファイルは、異なる同時表示ブラウザタブ、異なる同時実行プロセス、及び異なる同時実行ブラウザインスタンスのいずれかに関連付けられる、請求項1に記載のウェブブラウザ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、企業向けブラウザシステムに関する。
【背景技術】
【0002】
ウェブブラウザは、最も広く使用されているコンピュータソフトウェアアプリケーションの1つである。営利事業企業及び政府機関を含む組織は、それらの利益のために動作するウェブブラウザの使用への依存度が高まっている。ウェブブラウザを制御すること、例えばウェブブラウザの使用を監査し、マルウェアのダウンロード又は機密情報の組織外への送信を防止すること等を望む組織は、通常、仕方なしに例えばウェブブラウザをホスティングするコンピュータと、ウェブブラウザが通信するネットワークインフラストラクチャとに、ウェブブラウザの外部にある様々な対策を講じる。残念ながら、そのような対策は、多くの場合、設定と管理にコストがかかり複雑であり、ウェブブラウザの内部動作のあらゆる態様に対する可視性が欠如しており、ウェブブラウザのユーザが効率的に作業タスクを達成することを妨げる可能性があり、それらの対策を回避しようとする試みが阻止されることが非常に多い。
【発明の概要】
【0003】
本発明の一態様では、ウェブブラウザは、コンピュータネットワークを介してデータを送受信するように構成されたブラウザレンダリングエンジンと、前記ウェブブラウザの任意の態様、前記データ、前記ウェブブラウザをホスティングするコンピュータ、及び前記コンピュータにアクセス可能なデバイスを制御するように構成された1つ以上のポリシーを実装するように構成されたポリシーエンジンとを含み、前記ウェブブラウザは、前記ブラウザレンダリングエンジン及び前記ポリシーエンジンを実装するためのコンピュータソフトウェア命令をコンパイルすることによって作成された実行ファイルとして構成され、前記ウェブブラウザは、1つ以上の事前定義された動作を実行することが許可される前に、前記ウェブブラウザのユーザを認証し、1つ以上のポリシーを検証することを要求するように構成される。
【0004】
本発明の別の態様では、前記ポリシーのそれぞれは、1つ以上のポリシー条件と、前記ポリシー条件が満たされたときに実行される1つ以上のポリシー施行アクションとを含む。
【0005】
本発明の別の態様では、前記ウェブブラウザは、その外部のソースから前記ポリシーを受信するように構成され、前記ポリシーは、前記ウェブブラウザのユーザに関連付けられたID(identity)に一意に関連付けられた復号鍵を使用する復号のために暗号化され、前記復号鍵は、前記ユーザが認証された後に前記ウェブブラウザに提供される。
【0006】
本発明の別の態様では、前記ウェブブラウザは、認証された前記ユーザに関連付けられたブラウザ設定を前記ソースから受信するように構成され、前記ブラウザ設定は、前記復号鍵を使用する復号のために暗号化される。
【0007】
本発明の別の態様では、前記ウェブブラウザは、前記データを受信することと並行して、前記データに適用されるポリシーのいずれかを少なくとも部分的に評価するように構成される。
【0008】
本発明の別の態様では、前記ウェブブラウザは、前記データを受信することと並行するとともに、前記データの任意の部分を前記ブラウザレンダリングエンジンに提供することと並行して、前記データに適用されるポリシーのいずれかを少なくとも部分的に評価するように構成される。
【0009】
本発明の別の態様では、前記ポリシーのいずれかは、前記ウェブブラウザによってアクセスされるウェブサイトに関連付けられたカテゴリに関連するポリシー条件を含む。
【0010】
本発明の別の態様では、前記ポリシーのいずれかは、前記ウェブブラウザによってアクセスされるウェブサイトに関連付けられたリスクレベルに関連するポリシー条件を含む。
【0011】
本発明の別の態様では、前記ポリシーのいずれかは、前記ウェブブラウザをホスティングする前記コンピュータの任意の特性に関連するポリシー条件を含む。
【0012】
本発明の別の態様では、前記ポリシーのいずれかは、前記ウェブブラウザのユーザのIDの任意の特性に関連するポリシー条件を含む。
【0013】
本発明の別の態様では、前記ポリシーのいずれかは、前記ウェブブラウザにアクセス可能なネットワークのIDの任意の特性に関連するポリシー条件を含む。
【0014】
本発明の別の態様では、前記ポリシーのいずれかは、前記ウェブブラウザに提供されるユニフォームリソースロケータ(URL)のソースに関連するポリシー条件を含む。
【0015】
本発明の別の態様では、前記ポリシーのいずれかは、前記データに対してデータ損失防止(DLP)技術、ウイルス対策技術又はマルウェア対策技術のいずれかを実行することを要求するポリシー施行アクションを含む。
【0016】
本発明の別の態様では、前記ポリシーのいずれかは、前記データをレンダリングするか又は前記データを前記ユーザに提供する前に前記データを変更するか又は操ることを要求するポリシー施行アクションを含む。
【0017】
本発明の別の態様では、前記ポリシーのいずれかは、前記データをレンダリングするか又は前記データを前記ユーザに提供する前に、前記データを第一のフォーマットから、前記データの少なくとも一部を除去する第二のフォーマットに変換し、その後に変換された前記データを第一のフォーマットに変換することを要求するポリシー施行アクションを含む。
【0018】
本発明の別の態様では、前記ポリシーのいずれかは、クライアント側のユーザとウェブサイトとの対話を制御することを要求するポリシー施行アクションを含む。
【0019】
本発明の別の態様では、前記ポリシーのいずれかは、前記ユーザによって閉じられたブラウザタブを隠し、前記ユーザが次回に前記隠されたブラウザタブに関連付けられたウェブサイト又は他のコンテンツにアクセスしようとするときに、前記隠されたブラウザタブを現すことを要求するポリシー施行アクションを含む。
【0020】
本発明の別の態様では、前記ポリシーのいずれかは、前記ウェブブラウザの事前定義されたアプリケーションプログラミングインタフェース(API)を無効にすることを要求するポリシー施行アクションを含む。
【0021】
本発明の別の態様では、前記ポリシーのいずれかは、ウェブページの事前定義された要素の無効化、隠し又はマスクのいずれかを要求するポリシー施行アクションを含む。
【0022】
本発明の別の態様では、前記ウェブブラウザは、前記ウェブブラウザの使用時に前記ユーザが試みるか又は実行した任意のアクションを記録するように構成されたオーディタを更に含む。
【0023】
本発明の別の態様では、前記ウェブブラウザは、前記ウェブブラウザが前記ユーザによって使用されるときに、前記ウェブブラウザが試みるか又は実行した任意のアクションを記録するように構成されたオーディタを更に含む。
【0024】
本発明の別の態様では、前記ウェブブラウザは、前記ウェブブラウザが検出可能な任意のネットワーク活動を記録するように構成されたオーディタを更に含む。
【0025】
本発明の別の態様では、前記ウェブブラウザは、1つ以上のターゲットアプリケーションで動作するように特に構成される。
【0026】
本発明の別の態様では、前記ポリシーは、前記1つ以上のターゲットアプリケーションで使用するために特に適合される。
【0027】
本発明の別の態様では、前記ポリシーのいずれかは、ロボティックプロセスオートメーション(RPA)技術を使用して定義され、施行される。
【0028】
前記ウェブブラウザは、互いに分離された複数の異なるプロファイルを実装するように構成され、前記プロファイルのそれぞれには、ポリシー、クッキー、キャッシュ、ローカルストレージ等の特有のデータがあり、前記異なるプロファイルは、異なる同時表示ブラウザタブ、異なる同時実行プロセス、及び異なる同時実行ブラウザインスタンスのいずれかに関連付けられる。
【図面の簡単な説明】
【0029】
本発明の態様は、添付の図面と併せて以下の詳細な説明を読むことにより、より完全に理解され評価されるであろう。
【0030】
図1】本発明の一実施形態に従って構築され動作する、企業向けブラウザシステムの簡略化された概念図である。
図2】本発明の一実施形態に従って動作する、図1のシステムの例示的な動作方法を示す簡略化されたフローチャートである。
図3A】本発明の実施形態に従って構築され動作する、例示的なポリシー設定画面の簡略化された概念図である。
図3B】本発明の実施形態に従って構築され動作する、例示的なポリシー設定画面の簡略化された概念図である。
図3C】本発明の実施形態に従って構築され動作する、例示的なポリシー設定画面の簡略化された概念図である。
図3D】本発明の実施形態に従って構築され動作する、例示的なポリシー設定画面の簡略化された概念図である。
図3E】本発明の実施形態に従って構築され動作する、例示的なポリシー設定画面の簡略化された概念図である。
図3F】本発明の実施形態に従って構築され動作する、例示的なポリシー設定画面の簡略化された概念図である。
図3G】本発明の実施形態に従って構築され動作する、例示的なポリシー設定画面の簡略化された概念図である。
図3H】本発明の実施形態に従って構築され動作する、例示的なポリシー設定画面の簡略化された概念図である。
図3I】本発明の実施形態に従って構築され動作する、例示的なポリシー設定画面の簡略化された概念図である。
図3J】本発明の実施形態に従って構築され動作する、例示的なポリシー設定画面の簡略化された概念図である。
図3K】本発明の実施形態に従って構築され動作する、例示的なポリシー設定画面の簡略化された概念図である。
図3L】本発明の実施形態に従って構築され動作する、例示的なポリシー設定画面の簡略化された概念図である。
図4A】本発明の実施形態に従って構築され動作する、ポリシーを実装する際に使用される様々な方法を示す例示的なコードスニペットである。
図4B】本発明の実施形態に従って構築され動作する、ポリシーを実装する際に使用される様々な方法を示す例示的なコードスニペットである。
図4C】本発明の実施形態に従って構築され動作する、ポリシーを実装する際に使用される様々な方法を示す例示的なコードスニペットである。
図5A】本発明の一実施形態に従って構築され動作する、クラウド統合方法の簡略化された概念図である。
図5B】本発明の一実施形態に従って構築され動作する、ブラウザログイン方法を示す簡略化されたフローダイヤグラムである。
図6】本発明の一実施形態に従って構築され動作する、プライベートブラウジングセッションを確立する方法を示す簡略化されたフローダイヤグラムである。
図7A】本発明の一実施形態に従って構築され動作する、ポリシーを定義し配布する方法を示す簡略化されたフローダイヤグラムである。
図7B】本発明の実施形態に従って構築され動作する、ポリシー定義の施行を示す簡略化された例である。
図7C】本発明の実施形態に従って構築され動作する、ポリシー定義の施行を示す簡略化された例である。
図7D】本発明の実施形態に従って構築され動作する、ポリシー定義の施行を示す簡略化された例である。
図8A】本発明の一実施形態に従って構築され動作する、例示的なオーディタ設定画面の簡略化された概念図である。
図8B】本発明の一実施形態に従って構築され動作する、例示的な監査報告システムの簡略化された概念図である。
図9A】本発明の一実施形態に従って構築され動作する、IDプロバイダを使用することによってウェブブラウザの使用を施行する方法を示す簡略化されたフローダイヤグラムである。
図9B】本発明の一実施形態に従って構築され動作する、パスワードボールトを使用することによってウェブブラウザの使用を施行する方法を示す簡略化されたフローダイヤグラムである。
図9C】本発明の一実施形態に従って構築され動作する、ネットワークトンネリングを使用することによってウェブブラウザの使用を施行する方法を示す簡略化されたフローチャートである。
図10A】本発明の実施形態に従って構築され動作する、ウェブブラウザ拡張アクセスを拡張する様々な方法を示す例示的なコードスニペットである。
図10B】本発明の実施形態に従って構築され動作する、ウェブブラウザ拡張アクセスを拡張する様々な方法を示す例示的なコードスニペットである。
図11】本発明の実施形態で使用するプロキシを構成する方法を示す例示的なコードスニペットである。
図12A】本発明の一実施形態に従って構築され動作する、仮想プライベートネットワーク(VPN)でウェブブラウザを使用する方法を示す簡略化されたフローダイヤグラムである。
図12B】本発明の実施形態に従って構築され動作する、クラウドコネクタでウェブブラウザを使用する方法を示す簡略化されたフローダイヤグラムである。
図12C】本発明の実施形態に従って構築され動作する、クラウドコネクタでウェブブラウザを使用する方法を示す簡略化されたフローダイヤグラムである。
図13】本発明の一実施形態に従って構築され動作する、分離境界及びマルチプロファイルサポートを示す簡略図である。
【発明を実施するための形態】
【0031】
ここで、図1を参照すると、この図は、本発明の一実施形態に従って構築され動作する、企業向けブラウザシステムの簡略化された概念図である。図1では、ウェブブラウザ100は、本明細書で別途説明される機能を除き、及び/又はそれに加える、Google(登録商標) Chromium(登録商標)アーキテクチャに基づくウェブブラウザ等の従来のウェブブラウザの機能、例えば、コンピュータネットワークを介してデータを送受信し、ウェブページ等のデータをレンダリングする機能を組み込むように構成されたブラウザレンダリングエンジン101で構成される。ウェブブラウザ100は、例えば、ブラウザレンダリングエンジン101、そのユーザインタフェース、JavaScript(登録商標)インタプリタ、拡張機能、ネットワーキング設定、データの永続性であるが、これらに限定されないウェブブラウザ100の任意の態様を制御するためのポリシー104を実装するように構成されたポリシーエンジン102を含む。例えば、ポリシーエンジン102は、拡張機能を有効又は無効にし、拡張許可を制御し、ローカルクライアントキャッシュ及びクッキーを制御し、コピー、貼り付け、印刷、ファイルの保存、スクリーンショットの撮り等のユーザ行動を制御し、ウェブブラウザ100とウェブブラウザ100をホスティングするコンピュータにアクセス可能な周辺デバイス等の任意のデバイスとの間の通信を制御することによってポリシー104を実装するように構成されてもよい。ポリシー104は、例えば、ウェブブラウザ100をホスティングするか又はウェブブラウザ100と対話するコンピューティングデバイスに関連するデバイスポスチャ、ウェブブラウザ100と対話するコンピュータユーザの識別情報、ウェブブラウザ100によってアクセスされるか又は提供されるウェブページ及び他のデータ、ウェブブラウザ100のローカルコンピュータネットワーク及びウェブブラウザ100がアクセス可能な外部コンピュータネットワークの位置の両方でのネットワーキング情報、及びウェブブラウザ100を使用するときのコンピュータユーザの行動であるが、これに限定されない様々なタイプの情報に関連するように構成される。例えば、ポリシー104は、ウェブブラウザ100をホスティングするコンピューティングデバイス上のウイルス対策ソフトウェア若しくは他のタイプのソフトウェア又はオペレーティングシステムのプロセス、特定のレジストリデータ及び証明書の存在、非存在又はステータス、並びにウェブブラウザ100のネットワークアクセスがモバイル、WIFI又は有線接続を介するものであるか、どのネットワークドメイン又はアドレスからのものであるかに依存するように構成されてもよい。
【0032】
ウェブブラウザ100は、ポリシー104を評価するために必要な任意の情報をポリシーエンジン102に提供するように構成される。ポリシー104を評価するために必要なそのような情報、及びポリシー104を実装するためにポリシーエンジン102によって実行され得るアクションのいくつかの例には、以下が含まれる。一例では、ポリシーエンジン102は、ウェブブラウザ100が事前定義された最小スコアを下回るレピュテーションスコアを有するウェブサイトにアクセスする場合に、既知のエクスプロイトから特定のブラウザアプリケーションプログラミングインタフェース(API)を防御するため等に、APIを無効にし、このようなレピュテーションスコアは、従来の技術に従って決定されてもよい。別の例では、ポリシーエンジン102は、事前定義された正規表現を検索されたウェブページのドキュメントオブジェクトモデル(DOM)に適用すること等によってこのウェブページ上の特定のコンテンツを検閲して、個人を特定できる情報(PII)を見つけ、その後にこのような情報を隠すか又はマスクする。別の例では、ウェブブラウザ100がユーザインタフェース共有機能の使用を監視するように構成される場合に、ポリシーエンジン102は、ユーザがGoogle(登録商標) Docs(登録商標)で「ドキュメントを共有する」というアクションを実行するとき等、特定のイベントを分析データベース又はセキュリティオペレーションセンター(SOC)に報告し、また、たとえGoogle(登録商標) Docs(登録商標)がこのようなアクションに対してアプリケーションプログラミングインタフェース(API)を提供しなくても、同様に報告してもよい。別の例では、ウェブブラウザ100は、JavaScript(登録商標)コード又は他のソフトウェア命令を実行するためにウェブブラウザ100に統合されるコード実行エンジン106を監視するように構成され、ポリシーエンジン102は、劣悪なパフォーマンス特性及びバッファオーバーランの試み等の、ポリシー104によって特定された異常行動を報告する。別の例では、ウェブブラウザ100は、ポリシーエンジン102がポリシー104に従って報告する特定のタイプのアップロードイベント又はダウンロードイベントを検出するように構成される。
【0033】
ウェブブラウザ100は、インターネット等の1つ以上の他のネットワーク112へのアクセスを提供する企業イントラネットであり得るコンピュータネットワーク110に接続されたコンピュータ108等の任意のコンピューティングデバイスによってホスティングされてもよい。ウェブブラウザ100のコピーは、例えば、会社の従業員又は請負業者等の組織に関連付けられた個人が使用するための複数のコンピューティングデバイス、会社所有のコンピューティングデバイス又は会社所有以外のコンピューティングデバイスにインストールされてもよく、組織によって設定されたポリシーを施行するために、システム管理者及び/又は組織によって認可された他の関係者によって、本明細書で説明されるように操作されるように構成される。
【0034】
ウェブブラウザ100は、ウェブブラウザ100が1つ以上の事前定義された動作を実行することが許可される前に、例えば、ウェブブラウザ100が実行する度に、及び/又はその後に事前定義された時間間隔等で定期的に、及び/又はウェブブラウザ100がユーザの再認証を必要とするように事前定義された1つ以上の動作を実行する前に、ウェブブラウザ100の各ユーザを認証することを要求するように構成されることが好ましい。ウェブブラウザ100はまた、ウェブブラウザ100が1つ以上の事前定義された動作を実行することが許可される前に、1つ以上の署名及び/又は暗号化されたポリシー104を検証するように構成されることが好ましい。
【0035】
管理コンソール114は、システム管理者及び/又は他の認可された関係者がポリシー104を定義し、ウェブブラウザ100にポリシー104を提供するために提供される。管理コンソール114は、コンピュータネットワーク110を介して直接的に、又はネットワーク112を介して間接的にウェブブラウザ100と通信するコンピュータ116等の任意のコンピューティングデバイスによってホスティングされてもよい。
【0036】
本発明の一実施形態では、ウェブブラウザ100の1つ以上のインスタンスは、特に、WhatsApp(登録商標)、Salesforce(登録商標)等の1つ以上のターゲットアプリケーション又は他のアプリケーションとともに動作するように構成される。このような構成は、特別に構成されたウェブブラウザ100にターゲットアプリケーションのユニフォームリソースロケータ(URL)、アイコン及び実行ファイル名を提供することによって管理コンソール114を介して完了されてもよく、管理コンソール114は、従来の技術に従って、特別に構成されたウェブブラウザ100及び上記要素を含むインストールファイル118を提供し、次いで、インストールファイル118は、従来の技術に従ってコンピューティングデバイス上に展開されインストールされる。この実施形態では、特別に構成された各ウェブブラウザ100は、本明細書で説明されるウェブブラウザ100の全ての機能を含むが、そのターゲットアプリケーションで使用するために特に適合されたユーザインタフェース要素を有してもよく、及び/又はウェブブラウザ100が特にWhatsApp(登録商標)とともに動作するように構成されるファイル共有をブロックすること等によって、特定のターゲットアプリケーション機能へのアクセスを制限してもよく、及び/又はターゲットアプリケーションで使用するために特別に適合されたポリシーを有してもよい。
【0037】
本発明の一実施形態では、ウェブブラウザ100は、以下に本明細書でより詳細に説明するように、ユーザ、ウェブサイト、アプリケーション、ネットワーキング、JavaScript(登録商標)及びAPIの使用、HTML及びDOM情報、ポリシー関連情報及び施行活動に関連する特定のデータ及び/又はメタデータを記録及び/又は報告するように構成されたオーディタ120を含む。
【0038】
ウェブブラウザ100は、従来のウェブブラウザの機能のいずれか、並びにウェブブラウザ100を構成する本明細書で説明される他のあらゆるもの(例えば、ポリシーエンジン102、ポリシー104及びオーディタ120であるが、これらに限定されない)を含む、本明細書で説明されるウェブブラウザ100の機能のいずれかを実装するためのコンピュータソフトウェア命令をコンパイルすることによって従来の技術に従って作成される実行ファイルとして構成されることが好ましい。
【0039】
ここで、図2を参照すると、この図は、本発明の一実施形態に従って動作する図1のシステムの例示的な動作方法を示す簡略化されたフローチャートである。図2の方法では、組織のシステム管理者は、図1の管理コンソール114等の管理コンソールを使用して、組織の従業員又は請負業者等の組織の利益のために組織によって提供される、図1のウェブブラウザ100等のウェブブラウザを制御するための1つ以上のポリシーを定義する(ステップ200)。次に、組織に一意に関連付けられた復号鍵を使用する後の復号のためにポリシーを暗号化する(ステップ202)。暗号化されたポリシーを、クラウドベースのストレージサービスに提供すること等によって、ポリシー組織のウェブブラウザにアクセス可能な1つ以上のデータストレージデバイスに記憶する(ステップ204)。ウェブブラウザのユーザが認証され、組織を代表して行動していると識別された後(ステップ206)、ユーザのウェブブラウザが組織の復号鍵を受信する(ステップ208)。ユーザのウェブブラウザが暗号化されたポリシーを記憶位置から受信し(ステップ210)、組織の復号鍵を使用してこれらのポリシーを復号し(ステップ212)、ポリシーを施行する(ステップ214)。
【0040】
ここで、図3A図3Lを参照すると、これらの図は、本発明の実施形態に従って構築され動作する、図1のポリシー104を定義するための管理コンソール114によって提供され得る等の例示的なポリシー設定画面の簡略化された概念図である。ポリシー104は、ポリシー条件と、関連付けられたポリシー条件が満たされたときに実行される関連付けられたポリシー施行アクションとを含む。図3Aにおいて、画面300は、ウェブブラウザ100のユーザに関連付けられたID情報、ウェブブラウザ100をホスティングするコンピューティングデバイスの構成又は他の特性に関連付けられた情報、ウェブブラウザ100がアクセス可能なコンピュータネットワークに関する情報、ウェブブラウザ100の現在の地理的位置及びウェブブラウザ100の現在の日時等の、ポリシー104に関連付けられたポリシー条件に対して特定され得る、ウェブブラウザ100のソース位置に基づく様々なタイプの情報を示す。図3Bは、画面300の補助画面(subsidiary screen)302を示し、この画面において、従来の技術に従って、例えば、セキュリティアサーションマークアップ言語(SAML)クエリを使用して決定され得るID関連情報を含む、ユーザ情報、グループ情報、ロール情報及びカスタム情報要件を特定すること等によって、必要なID関連情報をポリシー104に対して特定することができる。図3Cは、画面300の補助画面304を示し、この画面において、ウェブブラウザ100をホスティングするオペレーティングシステムのタイプと、従来の技術に従って、例えば、ウィンドウズ(登録商標)マネジメントインスツルメンテーション(WMI)クエリを使用して決定され得る他の任意のデバイス関連情報とを特定すること等によって、必要なデバイス情報をポリシー104に対して特定することができる。図3Dは、WMIクエリサーフェスを拡張機能に公開する方法を示す例を示す。図3Eは、画面300の補助画面306を示し、この画面において、有効及び無効なIPアドレス情報、WiFiタイプ、及び従来の技術に従って決定され得る他の任意のネットワーク関連情報を特定すること等によって、必要なネットワーク情報をポリシー104に対して特定することができる。
【0041】
図3Fにおいて、画面308は、いずれも従来の技術に従って決定され得るウェブブラウザ100が通信するアプリケーション及びウェブブラウザ100がアクセスするURLに関する情報、並びにウェブサイトカテゴリ情報、ウェブサイトレピュテーション情報、ネットワーク情報、位置情報等の、ポリシー104に対して特定され得る、ウェブブラウザ100から送信された情報及びクエリの送信先に関連付けられた様々なタイプの情報を示す。このような情報の例には、正規表現及びワイルドカードを使用したURLパターンの特定等の、1つ以上の送信先の名前、IPアドレス及びURLが含まれる。URLコンテキスト情報も特定してもよい。例えば、ポリシー104は、ウェブブラウザ100がsalesforce.comにアクセスすることを許可しながら、未知のURL又はIPアドレスへのアクセスをブロックするように構成され、ポリシー104は、ウェブブラウザ100がsalesforce.comによってリダイレクトされる未知の送信先にアクセスすることを許可するように構成されてもよい。別のURLコンテキストは、以下のように定義されてもよく、例えば、ユーザが外部電子メールアプリケーションで電子メール内のリンクをクリックしたとき、ブラウザタブでアクセスした最初のURLは、ユーザがキーボードを使用して入力したものではなく、その後、フィッシング対策が講じられてもよい。送信先ウェブサイトのカテゴリの例には、「ビジネス」、「帯域幅消費」、「リスク」、「未知」、「個人/プライベート」、「ソーシャルネットワーク」、「法的責任」等が含まれてもよい。管理コンソール114は、送信先IPアドレス及びアドレス範囲、ウェブサイトURL、正規表現、サービスとしてのソフトウェア(SaaS)アプリケーションの選択、及びウェブサイトのカテゴリを定義するために使用されてもよく、或いは、ウェブブラウザ100を、脅威インテリジェンスを提供するバックエンドサービス及びWebRoot(登録商標)、Cyren(登録商標)又はGoogle(登録商標) Risk API等の第三者ウェブサイトカテゴリプロバイダに参照させてもよく、ウェブサイトのカテゴリは、完全なURLのレベル、ドメイン名のレベル又はそれらの間の任意のレベルで定義されてもよい。ウェブサイトのレピュテーションは、第三者ウェブサイトレピュテーションプロバイダに問い合わせることによって、又は従来の技術に従ってウェブサイトの行動を分析する事前定義されたヒューリスティックを適用することによって決定されてもよい。送信先ネットワーク情報の例には、そのIPアドレス及びサブネットが含まれる。
【0042】
図3Gは、ポリシーのポリシー条件を表すソース情報及び送信先情報を、特定されたポリシー条件が満たされたときに実行されるポリシー施行アクション、及び定義されたポリシーに関連して実行される監査アクションを定義する監査プロファイルに関連付けるための画面310を示す。図3Hは、ファイルアップロードが実行されるときに実行されるポリシー施行アクションを示すデータ損失防止(DLP)プロファイルを定義するための画面312を示し、ファイルにおいてクレジットカード番号がスキャンされ、ファイル内にクレジットカード番号が見つかった場合、アップロードがブロックされる。図3Iは、ファイルのタイプに基づいてファイルアップロード又はファイルダウンロードが実行されるときに実行されるポリシー施行アクションを定義するための画面314を示す。図3Jは、ファイルダウンロードが実行されるときに実行されるポリシー施行アクションを示すファイルダウンロード保護プロファイルを定義するための画面316を示し、ファイルダウンロード保護プロファイルにおいて、ダウンロードされたファイルに対して複数のタイプのマルウェア対策スキャンが実行される。
【0043】
一実施形態では、ポリシー条件及び施行アクションは、従来のロボティックプロセスオートメーション(RPA)技術を使用して定義される。一実施形態では、ポリシー条件及び施行アクションは、RPAモジュールの形で第三者ベンダーから取得され、管理コンソール114(図1)を使用して任意に変更され、RPAモジュールは、ポリシー条件、ポリシー施行アクション又はその両方を含む。図3Kは、選択のための様々なタイプのRPAモジュールをリストする画面318を示す。一実施形態では、ポリシー条件及び/又は施行アクションは、JavaScript(登録商標)等のスクリプト言語を使用して定義され、その一例は、図3Lに示される。
【0044】
ポリシー条件の定義に使用され得る上記情報のタイプ(例えば、デバイスポスチャ、ID、URLカテゴリ、ネットワーキング情報、コンピュータユーザの行動)に加えて、このようなポリシー条件の例としては、
-JavaScript(登録商標)関数の所与の結果と、
-データのダウンロードイベント又はアップロードイベントの検出と、
-ウェブブラウザに提供されるURLのソース(例えば、ブラウザのアドレスバーへのURLの入力、ブックマークからのURLの選択、外部アプリケーションのリンクのクリック、アクセスしたウェブページからのリダイレクト)とが挙げられる。
【0045】
ポリシー施行アクションの例としては、
-所与のウェブサイト上の特定のコンテンツをマスクすること(例えば、salesforce.comにアクセスするときにPIIをマスクすること)と、
-現在のウェブサイトが事前定義されたタイプの機密データを提供する場合、このウェブサイトのスクリーンショット機能を無効にすることと、
-office365.comでMicrosoft PowerPoint(登録商標)の「共有」ボタンへのアクセスをブロックすることと、
-特定のウェブページ(例えば、gmail.com)又は所与のドキュメントに現在のユーザ名の透かしを追加することと、
-事前定義されたセキュリティ基準を満たすウェブサイト(例えば、疑わしいウェブサイトに関連付けられた事前定義された特性を有する)にアクセスする場合に赤枠を追加することと、
-web.whataspp.comのメッセージ転送機能をブロックすることと、
-クレジットカード番号をマスクし、マスクされた情報の表示を許可する「マスク解除」ボタンを提供することと、
-アウトバウンドHTTP要求を、HTTP要求の対象受信者から何をどのように返信するかを制御する中間プロキシサービスにリダイレクトすることと、
-例えば、ビデオストリームから低品質のコンテンツを要求することによって、接続速度を低下させることと、
-例えば、未知のウェブサイトにアクセスするときに、低いOS権限で特定のブラウザプロセスを起動することによって、現在のブラウザセッション又は特定のブラウザタブのセキュリティ権限を変更することと、
-ウェブサイトでは必要とされない追加の認証を要求する保護画面を使用して特定のウェブサイトを自動的にロックし、及び/又は特定のブラウザタブに出入りするときにロックすることと、
-ブラウザの実行時に、企業電子メールウェブサイト等の特定のウェブサイトを自動的にロードすることと、
-ユーザが閉じたブラウザタブを閉じるのではなく隠し、ユーザが次回に隠されたタブに関連付けられたウェブサイト又は他の関連付けられたコンテンツにアクセスしようとするときに、隠されたタブを現すこととが挙げられる。
【0046】
ポリシーは、機密データを保護するために定義され適用されてもよく、例えば、データのコピー、切り取り、貼り付け、保存若しくは印刷の試みを検出したとき、又は特定のウェブページ要素を検出したとき、又は特定のウェブサイトにアクセスしたとき、HTMLフォーム経由でウェブサイトにデータを送信しようとする試みを検出することによってトリガーされてもよい。機密データは、クレジットカード番号フォーマット若しくは社会保障番号フォーマット等のデータタイプ及びフォーマットの事前定義されたリストを使用するか又は事前定義された正規表現を使用して識別されてもよい。例えば、機密データをマスクし、編集するか又は隠すことによって、従来の技術に従って識別された機密データを保護してもよい。機密データの保護は、ウェブブラウザ、ウェブブラウザ拡張機能又はRPAモジュールによって実行されるか又はリモートコンピュータ上で実行されてもよい。
【0047】
ポリシーは、ファイル又は他のデータのアップロード又はダウンロードの試みが検出された場合、定義され適用されてもよい。一例では、ダウンロード又はアップロードの試みは、何もアクションを起こさずに許可されてもよい。別の例では、ダウンロード又はアップロードの試みがブロックされ、ダウンロード又はアップロードの試みがブロックされたことを示すメッセージが表示されてもよい。別の例では、マルウェアを検出し、機密データの公開を防止するためのスキャン等の、対象ファイルの1つ以上の既知のタイプのスキャンが実行されてもよく、また、ファイルをローカル又はリモートの位置に記憶した状態でのファイル隔離、ファイルの削除等、関連する条件が満たされた場合に、1つ以上の既知のタイプのスキャン後のアクションが実行されてもよい。スキャンは、ウェブブラウザ、ブラウザ拡張機能又はRPAモジュールによって実行されるか又はリモートコンピュータ上で実行されてもよい。ファイルが暗号化されている場合、ファイルをスキャンする前に復号することができるように、ユーザが復号鍵又はパスワードを入力することを許可するために視覚的なプロンプトを提供してもよい。一実施形態では、ファイル又は他のデータのアップロード又はダウンロードの試みに関連するポリシーは、可能であれば、アップロード又はダウンロードの実行と並行して部分的又は全体的に評価される。例えば、ウェブページが検索されている間、このウェブページの検索された部分、例えばHTML、JavaScript(登録商標)コード、スタイルシートをブラウザレンダリングエンジン101(図1)に提供してもよく、ポリシーエンジン102は、このウェブページ検索に関連付けられたポリシーのポリシー条件を評価して、ブラウザレンダリングエンジン101がこのレンダリングされたウェブページを表示する前にこのウェブページ又はその要素のいずれかをブロック又は変更する必要があるか否かを決定する。
【0048】
ポリシーは、ダウンロードされたファイルの記憶場所及び記憶方法を制御するように定義されてもよい。例えば、ダウンロードされたファイルは、ローカルファイルシステム又は事前定義されたリモートの位置に記憶されてもよい。ダウンロードされたファイルは、例えば、ダウンロードするユーザのIDに基づいて、記憶される前に既知の暗号化技術を使用して暗号化され、このように、同じウェブブラウザの他のユーザがファイルを復号することが防止される。ダウンロードされたファイルは、他のファイルフォーマットへの1回以上の変換にかけられてもよく、例えばファイルをレンダリングするか又はユーザに提供する前に、JPEGからPNGに変換し、再びJPEGに戻して潜在的に悪意のある部分を削除する。
【0049】
ここで、図4A図4Cを参照すると、これらの図は、本発明の実施形態に従って構築され動作する、図1のポリシー104を施行するためにポリシーエンジン102によって適用され得るポリシーを実装する際に使用される様々な方法を示す例示的なコードスニペットである。図4Aは、ルール、マッチャー及び内蔵キャッシュを使用したポリシー照合動作を示すコードスニペットを示し、コードは、ポリシーオブジェクトと、現在のブラウザコンテキスト情報を提供するブラウザコンテキストオブジェクトとを受け入れる。ブラウザコンテキストオブジェクトは、現在のブラウザコンテキストに関連する情報を提供し、例えば、現在アクセスしているウェブサイトのトップレベルURL(例えば、Dropbox.com)、要求の現在のURL(例えば、CDN.Internal.Dropbox.com)、ユーザID、関連付けられているブラウザタブのタブID、ブラウザのバージョン、要求のソースIPアドレス、デバイス情報、ID情報等を示すフィールド及び値で構成されることが好ましい。図4Bは、ウェブサイトのカテゴリマッチングを示すコードスニペットを示す。図4Cは、例えば、アップロードされたファイルをスキャンしてマルウェアを探すか又はデータ損失防止(DLP)技術を実行することによって、アップロードされたファイルに適用されるポリシーに関連するアップロードプロファイルを示すコードスニペットを示す。
【0050】
ここで、図5Aを参照すると、この図は、本発明の一実施形態に従って構築され動作する、クラウド統合方法の簡略化された概念図である。図5Aにおいて、携帯電話等のコンピューティングデバイスによってホスティングされ得るウェブブラウザ500は、図1のウェブブラウザ100を参照して本明細書で以上に説明したように構成されるが、ポリシー104を施行するポリシーエンジン102のポリシー施行機能は、ウェブブラウザ500と、インターネット等のコンピュータネットワーク504を介してウェブブラウザ500と通信するクラウドベースのサーバ等のコンピュータサーバ502の両方によって実行される。クラウドへのネットワーク要求は、ポリシーを実行するために(例えば、URLを分類するために)必要とされる場合、(例えば、ブロッキングHTTP呼び出しとして)同期的に、(例えば、ポリシー結果が返信された後にこのポリシー結果を適用するコールバックを使用して、ウェブブラウザ500の通常のフローが実行され続けることを許可するノンブロッキングHTTP呼び出しとして)非同期的に、又はウェブソケットプロトコル経由で実装されてもよい。
【0051】
ここで、図5Bを参照すると、この図は、本発明の一実施形態に従って構築され動作する、ブラウザログイン方法を示す簡略化されたフローダイヤグラムである。図5Bでは、例えば、図1のウェブブラウザ100を参照して本明細書で以上に説明したように構成されたウェブブラウザ510は、ステップ#1でサイレントシングルサインオン(SSO)又はIDプロバイダ(IdP)512と対話するシングルサインオン(SSO)を開始し、IdP512は、ウェブブラウザ510のユーザにユーザ認証サービスを提供するように構成される。ステップ#1では、IdP512に既知のユーザログイン名等のユーザ認証情報をIdP512に提供する。ステップ#2では、ユーザ認証情報を認証した後、IdP512は、ジェイソンウェブトークン(JWT:JSON Web Token)をウェブブラウザ510に提供し、JWTには、提供されたユーザ認証情報に関連付けられているためIdP512に既知のIdPテナントを識別するための情報が含まれ、例えば、テナントは、ユーザに関連付けられている会社又は他の組織である。ステップ#3では、ウェブブラウザ510は、JWTをクラウドサーバ516に送信し、例えばクラウドサーバ516によってホスティングされる鍵管理サービス514からテナントに一意に関連付けられた復号鍵を要求し、クラウドサーバ516は、JWTを検証し、ユーザ及びテナントを識別する。ステップ#4では、JWTを検証し、テナント及びユーザを識別した後、鍵管理サービス514は、テナント復号鍵をウェブブラウザ510に提供する。ステップ#5では、ウェブブラウザ510は、テナントのために定義され、好ましくは暗号化されたポリシーをポリシー記憶サービス518に要求する。ステップ#6では、ウェブブラウザ510は、施行のために、復号鍵を使用して、暗号化されたポリシーを復号する。一実施形態では、クラウドサーバ516は、例えば、パスワード、クレジットカード、ユーザプロファイル設定、ブックマークであるが、これらに限定されない、認証されたユーザに関連付けられたブラウザ設定を記憶し、これらのブラウザ設定を、好ましくはウェブブラウザ510によるテナント復号鍵を使用する復号のための暗号化されたフォームでウェブブラウザ510に提供する。
【0052】
ここで、図6を参照すると、この図は、本発明の一実施形態に従って構築され動作する、プライベートブラウジングセッションを確立する方法を示す簡略化されたフローダイヤグラムである。図6は、ノンブロッキング方式で施行されているURLフィルタリングポリシーを示す。ステップ#1では、図1のウェブブラウザ100を参照して本明細書で以上に説明したように構成されたウェブブラウザ600は、インターネット等のコンピュータネットワーク602を介してウェブサイトへのアクセスを試みる。ステップ#2では、ウェブブラウザ600がウェブサイトから応答を受信する間に、ウェブブラウザ600は、図1のポリシーエンジン102を参照して本明細書で以上に説明したように構成されたポリシーエンジン604に、アクセスされたウェブサイトに対してプライベートブラウジングセッションを確立することを示すポリシーが存在するか否かを判断するように指示し、例えば、以下の場合に、以下のウェブサイトに対して以下のプライベートインジケータで指示する:
-ウェブサイトのカテゴリが「個人電子メール」又は「医療提供者」に分類されている場合、
-ウェブサイトがビジネス関連ウェブサイトではなく、そのような情報が第三者ウェブサイトカテゴリプロバイダによって提供されるか、又はウェブブラウザ600によって施行されるポリシーを提供する組織によって使用される全てのウェブサイト及びアプリケーションの事前定義されたリストにおいて提供される場合、
-IPアドレスが組織に関連付けられていないウェブサイト、
-組織に属さないデバイスがアクセスするウェブサイト、
-プライベートインジケータは、基本的に、提案されたルールの任意の組み合わせに適用できる監査評決である。
【0053】
任意のポリシーに、ポリシーの条件が満たされた場合にプライベートブラウジングセッションを確立することを示すインジケータを付けてもよい。ステップ#3では、ポリシーエンジン604がアクセスされたウェブサイトがプライベートウェブサイトであると判断した後、ウェブブラウザ600は、アクセスされたウェブサイトがプライベートウェブサイトであるという可視指示を表示し、プライベートウェブサイトから検索された情報を表示し、データレイク606等にプライベートウェブサイトへのアクセス又はプライベートウェブサイトとの対話に関連する情報を一切記憶せずにポリシーエンジン602によって示されるセキュリティ制御を適用する。
【0054】
ここで、図7Aを参照すると、この図は、本発明の一実施形態に従って構築され動作する、図1のポリシー104等のポリシーを定義し配布する方法を示す簡略化されたフローダイヤグラムである。ステップ#1では、例えば認可されたシステム管理者が管理コンソール700を使用して、評価されるポリシー条件、及びポリシー条件が満たされた場合に実行されるポリシー施行アクションを含む様々なポリシーを、例えば図1のポリシーエンジン102で定義する。ポリシーは、図3A図3Lを参照して以上に説明した画面を使用して定義されてもよい。一実施形態では、管理コンソール700は、例えば、ウェブブラウザ704の所与のインストールに特有、又は組織及び組織に関連付けられた個人等の特定のIDに特有の特定の方法でポリシー定義を暗号化し、署名し、ウェブブラウザ704は、図1のウェブブラウザ100を参照して本明細書で以上に説明したように構成される。ステップ#2では、管理コンソール700は、コンピュータネットワーク等を介してウェブブラウザ704がアクセス可能なデータストア702にポリシー定義を提供する。ステップ#3では、ウェブブラウザ704は、それに適用可能なポリシー定義をデータストア702から定期的かつ非同期的に検索する。ステップ#4では、検索されたポリシー定義を復号し、図1のポリシーエンジン102を参照して本明細書で以上に説明したように構成されたウェブブラウザ704のポリシーエンジンに利用可能にする。ステップ#5では、検索されたポリシー定義をチェックし、施行する。
【0055】
ポリシー定義の施行を説明する例を、図7B図7Dを更に参照して示す。図7Bにおいて、ウェブブラウザ704によって検索されたウェブページには電話番号が示されている。ウェブブラウザ704がウェブページを表示する前に、図7Cに示されるポリシー定義を評価し、施行し、その後、ウェブブラウザ704は、図7Dに示されるように、マスクされた電話番号を含むウェブページを表示する。
【0056】
ここで、図8Aを参照すると、この図は、本発明の一実施形態に従って構築され動作する、例えば図1のオーディタ120を構成するために管理コンソール114によって提供され得る例示的なオーディタ設定画面の簡略化された概念図である。図8Aにおいて、画面800は、ウェブナビゲーションイベント、ファイルダウンロードイベント、ファイルアップロードイベント、コピー/切り取り及び貼り付け等のクリップボードイベント、印刷イベント等の監査、並びにRPA自動化業務の実行のために特定され得る様々なタイプの情報を示す。監査中に記録するためにどのデータ及び/又はメタデータを特定できるかに関するより詳細な例としては、
-ネットワークトラフィック、例えばHTTP要求及び応答、
-マウスによる入力、キーストロークによる入力、スクロール、コピー、スクリーンショット、拡張機能のアクティブ化、印刷、ファイルの保存等のユーザ活動;ユーザがウェブブラウザの外部のアプリケーション内のリンク、例えば電子メール内のリンクをクリックするときのナビゲーション等の、新しいタブを開くことを伴うナビゲーションを含むナビゲーション;及びリダイレクト、
-満たされたポリシー条件、
-実行されるポリシー施行アクション、
-JavaScript(登録商標)及びAPI呼び出し、例えばJavaScript(登録商標)でのウェブオーディオAPIの使用、
-HTML及びDOMレベルのデータ、例えば、PIIデータ、隠されたHTML要素、パスワードフィールドの存在、
-実行されるRPAモジュール及び/又はRPAモジュールの実行時に発生する特定のアクション、例えば、全てのPIIフィールドをマスクし、ユーザがPIIフィールドのマスクを解除することを許可し、ユーザが開始したマスク解除動作が監査用に特定されるsalesforce.comで使用するRPAモジュール、
-ログファイル及び/又はログファイルのコンテンツの共有、閲覧及び/又は使用、及び
-ブラウザ活動の定期的なスクリーンショット又は他の記録が挙げられる。
【0057】
画面800は、イベントを監査するときに個人情報が匿名化されることを特定するために使用されてもよい。
【0058】
追加的又は代替的に、監査は、本明細書で以上に説明したポリシー定義を介して実装されてもよく、特定された監査アクションは、特定されたポリシー条件を満たすことに基づいて実行又は防止される。例えば、プライベートウェブサイトに関連するイベントの監査は、ポリシー定義によって防止される場合がある。
【0059】
ここで、図8Bを参照すると、この図は、本発明の一実施形態に従って構築され動作する、例示的な監査報告システムの簡略化された概念図である。図8Bは、図1のウェブブラウザ100を参照して本明細書で以上に説明したように構成されたウェブブラウザ810、及び図8Aを参照して本明細書で以上に説明した監査機能を示し、監査された情報がウェブブラウザ810によってコンピュータサーバ812に送信される。コンピュータサーバ812は、事前定義されたポリシーに基づいて監査情報を、1つ以上の送信先、例えば、テナントデータストア816、顧客データストア818及び/又は顧客SOC又はセキュリティ情報イベント管理(SIEM)プロバイダ820にルーティングする監査データマネージャ814で構成される。テナントデータストア816は、複数のテナントからのデータを含んでもよく、テナント特有のデータにアクセスするためにテナント特有の鍵又はソフトウェアパーティションが使用される。追加的又は代替的に、顧客特有のデータ又はテナント特有のデータは、顧客又はテナントによって定義され制御されるデータストア、例えば顧客データストア818及び/又は顧客SOC/SIEM820に送信されてもよい。
【0060】
ここで、図9Aを参照すると、この図は、本発明の一実施形態に従って構築され動作する、IDプロバイダを使用することによってウェブブラウザの使用を施行する方法を示す簡略化されたフローダイヤグラムである。図9Aにおいて、所与の従業員は、雇用主を代表してsalesforce.com等の特定のウェブサイト902にアクセスする際にウェブブラウザ900を使用することを雇用主から要求され、ウェブブラウザ900は、図1のウェブブラウザ100を参照して本明細書で以上に説明したように構成される。ウェブサイト902は、従業員をIDプロバイダ(IdP)904にリダイレクトするように構成される。ステップ#1では、従業員は、ウェブブラウザ900のように構成されていないウェブブラウザ906を使用してウェブサイト902にアクセスすることを試みる。ウェブサイト902は、ウェブブラウザ906をIdP904にリダイレクトし、IdP904は、従来の技術に従って従業員を認証した後に従業員を検証ウェブページ908にリダイレクトするように構成される。ステップ#2では、従業員を認証した後、IdP904は、ウェブブラウザ906を検証ウェブページ908にリダイレクトし、検証ウェブページ908は、従業員がウェブブラウザ900を使用して検証ウェブページ908にアクセスするか否かを判断するように構成される。ステップ#3では、検証ウェブページ908は、例えば、検証ウェブページ908によってウェブブラウザ906から受信された情報、例えば1つ以上のヘッダ情報、証明書、ジェイソンウェブトークン(JWT)、従業員を識別するための情報が、検証ウェブページ908を構成し、かつ従業員がウェブブラウザ900を使用していることを示す事前定義された情報と一致しないと判断することにより、従業員がウェブブラウザ900を使用して検証ウェブページ908にアクセスしていないと判断する。ステップ#4では、検証ウェブページ908は、ウェブブラウザ900を起動し、ウェブブラウザ900をウェブサイト902にリダイレクトすることを試みる。代替的に、検証ウェブページ908は、ウェブブラウザ900をダウンロードするためのリンク、又はウェブブラウザ900をダウンロードするようにユーザに指示するメッセージを提供する。検証ウェブページ908がステップ#3で従業員がウェブブラウザ900を使用して検証ウェブページ908にアクセスしていると判断した場合、検証ウェブページ908は、署名されたSAMLアサーションを使用してウェブブラウザ900をウェブサイト902、例えば、salesforce.comにリダイレクトし、ウェブサイト902へのアクセスを要求する。
【0061】
ここで、図9Bを参照すると、この図は、本発明の一実施形態に従って構築され動作する、パスワードボールトを使用することによってウェブブラウザの使用を施行する方法を示す簡略化されたフローダイヤグラムである。図9Bにおいて、所与の従業員は、雇用主を代表してsalesforce.com等の特定のウェブサイト912にアクセスする際にウェブブラウザ910を使用することを雇用主から要求され、ウェブブラウザ910は、図1のウェブブラウザ100を参照して本明細書で以上に説明したように構成され、追加的に以下のように構成される。従業員は、ウェブブラウザ910を使用してウェブサイト912にアクセスするとき、ウェブサイト912によって提供されるログインフォームに無効なログイン認証情報を入力する。従業員が無効なログイン認証情報をウェブサイト912に送信することを試みるとき、ウェブブラウザ910は、無効なログイン認証情報を使用して、事前に暗号化され、ウェブブラウザ910で構成されたパスワードボールト914に記憶された有効なログイン認証情報にアクセスして復号し、例えば、無効なログイン認証情報と有効なログイン認証情報の両方は、図1の管理コンソール114に事前に提供されており、その後、管理コンソール114は、有効なログイン認証情報を暗号化し、暗号化された有効なログイン認証情報をウェブブラウザ910に提供する。次に、ウェブブラウザ910は、無効なログイン認証情報の代わりに有効なログイン認証情報をウェブサイト912に送信する。この実施形態では、従業員がウェブブラウザ910のように構成されていないウェブブラウザ916を使用してウェブサイト912にアクセスすることを試み、かつ無効なログイン認証情報を入力した場合、アクセスの試みは失敗する。
【0062】
ここで、図9Cを参照すると、この図は、本発明の一実施形態に従って構築され動作する、ネットワークトンネリングを使用することによってウェブブラウザの使用を施行する方法を示す簡略化されたフローチャートである。図9Cにおいて、所与の従業員は、図1のウェブブラウザ100を参照して本明細書で以上に説明したように構成され、追加的に以下のように構成されたウェブブラウザを使用することを雇用主から要求される。ステップ920では、ウェブサイト、例えばsalesforce.comは、従業員からの着信通信が3.3.3.3等の事前定義されたIPアドレスから受信された場合にのみこの通信を許可するように構成される。ステップ922では、従業員は、ウェブブラウザを使用して、IPアドレスが2.2.2.2であるコンピュータからウェブサイトと通信することを試みる。ステップ924では、ウェブブラウザは、例えば、従来の技術に従って従業員及び/又はウェブブラウザを認証するように構成されたプロキシサーバであるIPアドレス3.3.3.3への通信をトンネリングする。ステップ926では、プロキシサーバは、ウェブサイトへの通信をトンネリングする。ステップ928では、ウェブサイトは、通信を受信し、従来の技術に従って従業員を認証する。ステップ930では、ウェブサイトは更に、通信がIPアドレス3.3.3.3から送信されたものであると判断し、従業員にアクセスを許可する。
【0063】
ここで、図10A及び図10Bを参照すると、これらの図は、本発明の実施形態に従って構築され動作する、ウェブブラウザ拡張アクセスを拡張する様々な方法を示す例示的なコードスニペットである。図10Aは、PathExists機能をJavaScript(登録商標)ベースの拡張機能に公開する方法を示すコードスニペットを示す。図10Bは、クリップボード操作をJavaScript(登録商標)ベースの拡張機能に公開する方法を示すコードスニペットを示す。
【0064】
ここで、図11を参照すると、この図は、本発明の実施形態で使用するプロキシを構成する方法を示す例示的なコードスニペットである。図11は、プロキシ自動設定(PAC)機能を使用してプロキシ設定を動的に設定する方法を示す。
【0065】
ここで、図12Aを参照すると、この図は、本発明の一実施形態に従って構築され動作する、仮想プライベートネットワーク(VPN)でウェブブラウザを使用する方法を示す簡略化されたフローダイヤグラムである。図12Aは、コンピュータ1202によってホスティングされるウェブブラウザ1200を示し、ウェブブラウザ1200は、図1のウェブブラウザ100を参照して本明細書で以上に説明したように構成されており、ウェブブラウザ1200は、図1のポリシーエンジン102を参照して本明細書で以上に説明したように構成されたポリシーエンジン1204を含む。ステップ#1では、ウェブブラウザ1200は、ユーザがウェブブラウザ1200を使用してコンピュータネットワーク1206上のアプリケーションにアクセスする試みを検出する。ステップ#2では、ポリシーエンジン1204は、事前定義されたポリシーに従って、アプリケーションが「内部」アプリケーション、即ち企業ネットワーク又はクラウド境界の外部からのインバウンドインターネット接続を持たないアプリケーションであると判断し、ウェブブラウザ1200に組み込まれたVPN、コンピュータ1202にインストールされたVPN又はウェブブラウザ1200がアクセス可能な任意の他のVPNであり得るVPN1208を起動する。ステップ#3では、ウェブブラウザ1200とコンピュータネットワーク1206との間の通信を、従来のVPN技術に従ってVPN1208を介して確立する。ステップ#4では、ウェブブラウザ1200は、例えば、VPNセッションに関連付けられたウェブブラウザタブの閉じを検出したとき、又はウェブブラウザ1200の終了時にVPN接続を終了するように構成されることにより、VPN接続を終了する。
【0066】
ここで、図12Bを参照すると、この図は、本発明の一実施形態に従って構築され動作する、クラウドコネクタでウェブブラウザを使用する方法を示す簡略化されたフローダイヤグラムである。図12Bは、図12Aを参照して以上に説明したように構成されるが、内部アプリケーションにアクセスする要求は、クラウドコネクタ1210にルーティングされ、このルーティングは、暗黙的プロキシ、明示的プロキシ、又は例えば固定IPアドレスでのIPベースのルーティングである可能性がある。要求には、セキュアソケットレイヤー(SSL)ストリームの外側又は内側に追加の認証ヘッダ情報が含まれてもよい。クラウドコネクタ1210は、例えば要求がSSL要求である場合、SSLストリームを解読するように構成されてもよい。追加的又は代替的に、ウェブブラウザ1200が要求ヘッダを制御する場合、追加のヘッダをSSLストリームの外側に追加して、クラウドコネクタ1210がSSLストリームを開かずにトラフィックをルーティングできるようにすることができる。次に、クラウドコネクタ1210は、アクセス要求をターゲットアプリケーションにルーティングする。クラウドコネクタ1210とターゲットアプリケーションとの間にファイアウォール1212がある場合、ターゲットアプリケーションからの着信通信を受け入れるために、ファイアウォール1212内で着信ポートを開く。
【0067】
ここで、図12Cを参照すると、この図は、本発明の一実施形態に従って構築され動作する、クラウドコネクタでウェブブラウザを使用する方法を示す簡略化されたフローダイヤグラムである。図12Cは、図12Bを参照して以上に説明したように構成されるが、クラウドコネクタ1210がターゲットアプリケーションからの着信通信を直接的に受け入れるためにファイアウォール1212内で着信ポートを開く代わりに、TCPサーバとして構成され得るアプリケーションコネクタ1214は、ターゲットアプリケーションにアクセスするように示される。アプリケーションコネクタ1214は、クラウドコネクタ1210へのアウトバウンド接続を開き、サーバ間認証が使用され得る。クラウドコネクタ1210は、どのユーザ要求がアプリケーションコネクタ1214又は他のアプリケーションコネクタへのルーティングを必要とするかを決定するように構成される。クラウドコネクタ1210は、複数のテナントが同時に接続されることをサポートするマルチテナント機能を有することが好ましい。例えば、テナントAとBが異なるネットワークから同じクラウドコネクタ1210に接続される場合、クラウドコネクタ1210は、JWTトークン、ヘッダ及び他の識別可能な情報に基づいて、どのテナントであるかを決定し、各テナントのトラフィックを適切な送信先アプリケーションコネクタにルーティングすることができる。
【0068】
ここで、図13を参照すると、この図は、本発明の一実施形態に従って構築され動作する、分離境界(isolation boundaries)及びマルチプロファイルサポートを示す簡略図である。図13において、図1のウェブブラウザ100を参照して本明細書で以上に説明したように構成されたウェブブラウザは、互いに分離された複数のプロファイルを実装するように追加的に構成され、各プロファイルには、他のプロファイルがアクセスできない、ポリシー、クッキー、キャッシュ、ローカルストレージを含む特有のデータ及び他のステートフルデータを有する。各プロファイルのデータは、任意の暗号化技術を使用して暗号化され、その関連付けられたプロファイル内からアクセスできることが好ましい。異なるプロファイル及び関連付けられたデータへのアクセスは、本明細書で以上に説明したポリシー機構のいずれかによって管理されることが好ましい。異なるプロファイルを異なる同時表示ブラウザタブ、同時実行プロセス及び/又は同時実行ブラウザインスタンスに関連付けてもよく、視覚的なインジケータを表示して、ユーザが現在アクセスされているプロファイルを知ることを許可してもよい。様々なタイプのプロファイルの例としては、
1.例えば、匿名ユーザIDに関連付けられ得るパブリックプロファイルであって、重要なアプリケーション(critical applications)へのアクセスが許可されないパブリックプロファイルと、
2.企業IDを使用してブラウザにログインしているユーザに関連付けられたワークスペースプロファイルであって、重要なアプリケーションへのユーザのアクセスを制御するポリシーが施行され、ユーザのアクションが監査されるワークスペースプロファイルと、
3.例えば、プライベートウェブサイトにアクセスするときにユーザに関連付けられることにより、ユーザがアンチトラッキング機能及びプライバシー機能がオンになった状態でプライベートブラウジングを実行することが許可され得るプライベートプロファイルであって、ユーザのアクションの監査が実行されないプライベートプロファイルと、
4.企業IDを使用して、研究又は法施行の目的等で匿名の閲覧を実行するように設定されたブラウザにログインしているユーザに関連付けられたワークスペース匿名プロファイルと、
が挙げられる。
【0069】
本明細書で説明される本発明の任意の態様は、従来の技術に従って非一時的なコンピュータ可読媒体に具体化されたコンピュータハードウェア及び/又はコンピュータソフトウェアで実装されてもよく、コンピュータハードウェアは、従来の技術に従って相互運用する1つ以上のコンピュータプロセッサ、コンピュータメモリ、I/Oデバイス、及びネットワークインタフェースを含む。
【0070】
本明細書で使用される場合、「プロセッサ」又は「デバイス」という用語は、例えば、CPU(中央処理装置)及び/又は他の処理回路を含むもの等の任意の処理デバイスを含むことを意図していることを理解されたい。「プロセッサ」又は「デバイス」という用語は、複数の処理デバイスを指し、処理デバイスに関連付けられた様々な要素が他の処理デバイスによって共有され得ることも理解されたい。
【0071】
本明細書で使用される場合、「メモリ」という用語は、例えば、RAM、ROM、固定メモリデバイス(例えば、ハードドライブ)、リムーバブルメモリデバイス(例えば、ディスケット)、フラッシュメモリ等の、プロセッサ又はCPUに関連付けられたメモリを含むことを意図している。このようなメモリは、コンピュータ可読記憶媒体とみなされる場合がある。
【0072】
更に、本明細書で使用される場合、「入力/出力デバイス」又は「I/Oデバイス」という語句は、例えば、処理ユニットにデータを入力するための1つ以上の入力デバイス(例えば、キーボード、マウス、スキャナ等)、及び/又は処理ユニットに関連付けられた結果を提示するための1つ以上の出力デバイス(例えば、スピーカ、ディスプレイ、プリンタ等)を含むことを意図している。
【0073】
本発明の実施形態は、システム、方法、及び/又はコンピュータプログラム製品を含んでもよい。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体を含んでもよい。
【0074】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用される命令を保持し記憶することができる有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁記憶デバイス、半導体記憶デバイス又は前述の任意の適切な組み合わせであってもよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラム可能リードオンリメモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピディスク、命令が記録されたパンチカード又は溝内の隆起構造等の機械的に符号化されたデバイス、及び前述の任意の適切な組み合わせを含む。コンピュータ可読記憶媒体は、本明細書で使用される場合、それ自体が、無線波若しくは他の自由に伝搬する電磁波、導波路若しくは他の伝送媒体を通って伝搬する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又は電線を通して送信される電気信号等の一時的な信号であると解釈されるべきではない。
【0075】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスにダウンロードすることができ、或いはネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又は無線ネットワークを介して、外部コンピュータ又は外部記憶デバイスにダウンロードすることができる。ネットワークは、銅送信ケーブル、光送信ファイバ、無線送信、ルーター、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び/又はエッジサーバを含んでもよい。各コンピューティング/処理デバイス内のネットワークアダプタカード又はネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体内に記憶するために、コンピュータ可読プログラム命令を転送する。
【0076】
本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はJava(登録商標)、Smalltalk、C++等のオブジェクト指向プログラミング言語、及び「C」プログラミング言語若しくは類似のプログラミング言語等の従来の手続型プログラミング言語を含む1つ以上のプログラミング言語の任意の組み合わせで書かれたソースコード若しくはオブジェクトコードであってもよい。コンピュータ可読プログラム命令は、完全にユーザのコンピュータで、部分的にユーザのコンピュータでスタンドアロンのソフトウェアパッケージとして、部分的にユーザのコンピュータでかつ部分的にリモートコンピュータで、又は完全にリモートコンピュータ若しくはサーバで実行されてもよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、或いは、接続は、(例えば、インターネットサービスプロバイダーを使用してインターネットを介して)外部コンピュータに対して行われてもよい。いくつかの実施形態では、本発明の態様を実行するために、例えば、プログラム可能論理回路、フィールドプログラマブルゲートアレイ(FPGA)、又はプログラム可能論理アレイ(PLA)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用してコンピュータ可読プログラム命令を実行して、電子回路をカスタマイズしてもよい。
【0077】
本発明の態様は、本発明の実施形態に係る方法、装置(システム)及びコンピュータプログラム製品のフローチャート及び/又はブロック図を参照して本明細書で説明された。フローチャート及び/又はブロック図の各ブロック、及びフローチャート及び/又はブロック図のブロックの組み合わせは、コンピュータ可読プログラム命令によって実施できることが理解されるであろう。
【0078】
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに提供されて機械を製造してもよく、その結果、コンピュータ又は他のプログラマブルデータ処理装置のプロセッサを介して実行される命令は、フローチャート及び/又はブロック図のブロック又はブロックの組み合わせで特定された機能/行為を実施するための手段を作り出す。これらのコンピュータ可読プログラム命令は、コンピュータ、プログラム可能データ処理装置及び/又は他のデバイスに特定の方法で機能するように指示することができるコンピュータ可読記憶媒体内に記憶されてもよく、その結果、命令が記憶されたコンピュータ可読記憶媒体は、フローチャート及び/又はブロック図のブロック又はブロックの組み合わせにおいて特定される機能/動作の態様を実施する命令を含む製造品を含む。
【0079】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイスにロードされ、コンピュータ、他のプログラム可能装置、又は他のデバイスで一連の動作ステップを実行してコンピュータ実施プロセスを生成してもよく、その結果、コンピュータ、他のプログラム可能装置、又は他のデバイスで動作する命令は、フローチャート及び/又はブロック図のブロック又はブロックの組み合わせにおいて特定される機能/動作を実施する。
【0080】
図面におけるフローチャート及びブロック図は、本発明の様々な実施形態に係るシステム、方法、及びコンピュータプログラム製品の可能な実装のアーキテクチャ、機能、及び動作を示す。この点で、フローチャート又はブロック図の各ブロックは、特定された論理機能を実行する1つ以上の実行可能なコンピュータ命令を含むモジュール、セグメント又はコンピュータ命令の部分を表してもよい。いくつかの代替の実装では、ブロックに示す機能は、図面に示す順序以外で行われ得る。例えば、関連する機能に応じて、連続して示す2つのブロックは、実際には実質的に同時に実行されてもよく、それらのブロックは、場合により逆の順序で実行されてもよい。ブロック図及びフローチャートの各ブロック、及びこれらのブロックの組み合わせは、特定された機能若しくは動作を実行する専用ハードウェアベースのシステム及び/又は専用ソフトウェアベースのシステムによって実装することができることにも留意されたい。
【0081】
本発明の様々な実施形態の説明は、例示の目的で提示されているが、網羅的であること、又は開示された実施形態に限定されることを意図するものではない。多くの修正及び変形は、説明される実施形態の範囲及び精神から逸脱することなく、当業者には明らかになる。
図1
図2
図3A
図3B
図3C
図3D
図3E
図3F
図3G
図3H
図3I
図3J
図3K
図3L
図4A
図4B
図4C
図5A
図5B
図6
図7A
図7B
図7C
図7D
図8A
図8B
図9A
図9B
図9C
図10A
図10B
図11
図12A
図12B
図12C
図13
【国際調査報告】