JP2019532384A - 制限されたコンピュータ環境におけるクロスオリジン通信 - Google Patents
制限されたコンピュータ環境におけるクロスオリジン通信 Download PDFInfo
- Publication number
- JP2019532384A JP2019532384A JP2019507289A JP2019507289A JP2019532384A JP 2019532384 A JP2019532384 A JP 2019532384A JP 2019507289 A JP2019507289 A JP 2019507289A JP 2019507289 A JP2019507289 A JP 2019507289A JP 2019532384 A JP2019532384 A JP 2019532384A
- Authority
- JP
- Japan
- Prior art keywords
- execution context
- execution
- origin
- context
- unidirectional
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000006854 communication Effects 0.000 title claims abstract description 86
- 238000004891 communication Methods 0.000 title claims abstract description 86
- 238000000034 method Methods 0.000 claims abstract description 68
- 230000007175 bidirectional communication Effects 0.000 claims description 31
- 230000003993 interaction Effects 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 22
- 230000009471 action Effects 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 230000015654 memory Effects 0.000 description 38
- 238000013515 script Methods 0.000 description 26
- 230000008569 process Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 9
- 230000002457 bidirectional effect Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000011273 social behavior Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2119—Authenticating web pages, e.g. with suspicious links
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
102 ウェブページ
104a 埋込みコンテンツフレーム
104b 埋込みコンテンツフレーム
106a ユーザインターフェース要素
106b ユーザインターフェース要素
200 ドキュメント
201 埋込みコンテンツフレーム
203 最上位コンテナ
204a〜n ランタイムサービス
206a 接続サービス
206b 接続サービス
208 孫コンテナ
212a〜n ランタイムサービス
300 ドキュメント
304a〜n 埋込みコンテンツフレーム
306a〜n ランタイムサービス
800 コンピューティングデバイス
802 プロセッサ
804 メモリ
806 記憶デバイス
808 高速インターフェース
810 高速拡張ポート
812 低速インターフェース
814 低速拡張ポート
816 ディスプレイ
820 サーバ
822 ラップトップコンピュータ
824 ラックサーバシステム
850 モバイルコンピューティングデバイス
852 プロセッサ
854 ディスプレイ
856 ディスプレイインターフェース
858 制御インターフェース
860 オーディオコーデック
862 外部インターフェース
864 メモリ
866 通信インターフェース
868 トランシーバ
872 拡張インターフェース
874 拡張メモリ
880 セルラー電話
882 スマートフォン
Claims (20)
- コンピューティングシステム上の第1の実行コンテキストと前記コンピューティングシステム上の第2の実行コンテキストとの間でデータを通信するためのコンピュータ実装方法であって、
前記第1の実行コンテキストが、第1のオリジンからのコンテンツを実行し、
前記第2の実行コンテキストが、前記第1のオリジンとは異なる第2のオリジンからのコンテンツを実行し、
前記第1の実行コンテキストおよび前記第2の実行コンテキストは各々、前記コンピューティングシステムによって実施される同一オリジンポリシーの結果として、他方のデータにアクセスすることを制限され、前記方法が、
前記第1の実行コンテキストと前記第2の実行コンテキストとの間に双方向通信チャネルを確立するステップであり、
前記第1の実行コンテキストにおいて、前記第2の実行コンテキストから送信された初期発見メッセージを受信するステップと、
前記第1の実行コンテキストにおいて、前記第2の実行コンテキストから送信された前記初期発見メッセージに基づいて、前記第2の実行コンテキストの識別子を決定するステップと、
前記第2の実行コンテキストの前記識別子を使用して、前記双方向通信チャネルの第1の単方向サブチャネルを確立するステップであり、前記第1の単方向サブチャネルが、前記第1の実行コンテキストから前記第2の実行コンテキストにメッセージを搬送するように構成される、ステップと、
前記第2の実行コンテキストにおいて、前記第1の単方向サブチャネルを介して前記第1の実行コンテキストから送信された接続ブロードキャストメッセージを受信するステップと、
前記第2の実行コンテキストにおいて、前記第1の単方向サブチャネルを介して前記第1の実行コンテキストから送信された前記接続ブロードキャストメッセージに基づいて、前記第1の実行コンテキストの識別子を決定するステップと、
前記第1の実行コンテキストの前記識別子を使用して、前記双方向通信チャネルの第2の単方向サブチャネルを確立するステップであり、前記第2の単方向サブチャネルが、前記第2の実行コンテキストから前記第1の実行コンテキストにメッセージを搬送するように構成される、ステップと
を含む、ステップと、
前記双方向通信チャネルを介して前記第1の実行コンテキストと前記第2の実行コンテキストとの間でメッセージを通信するステップと
を含むコンピュータ実装方法。 - 前記同一オリジンポリシーに従って、前記コンピューティングシステムが、前記第1のオリジンおよび前記第2のオリジンの送信プロトコル、アドレス、またはポート番号のうちの少なくとも1つが互いに異なることを識別することに応答して、前記第2のオリジンを前記第1のオリジンと異なるものとして分類する、請求項1に記載のコンピュータ実装方法。
- 前記第1の実行コンテキストが、前記第1のオリジンからの前記コンテンツを提示するように構成された第1のウィンドウオブジェクトを含み、前記第2の実行コンテキストが、前記第2のオリジンからの前記コンテンツを提示するように構成された第2のウィンドウオブジェクトを含む、請求項1または2に記載のコンピュータ実装方法。
- 前記第1のウィンドウオブジェクトに提示された前記コンテンツが、前記第1のオリジンに関連付けられた第1のドメインにおいて1つまたは複数のサーバによってホストされる第1のウェブページを含み、
前記第2のウィンドウオブジェクトに提示された前記コンテンツが、前記第2のオリジンに関連付けられた第2のドメインにおいて1つまたは複数のサーバによってホストされる第2のウェブページを含み、
前記第2のウィンドウオブジェクトが、前記第1のウェブページに埋め込まれているインラインフレーム(iFrame)である
請求項3に記載のコンピュータ実装方法。 - 前記コンピューティングシステムのウェブブラウジングアプリケーションにより前記第1の実行コンテキストおよび前記第2の実行コンテキストを生成するステップ
をさらに含み、前記第1の単方向サブチャネルが、前記ウェブブラウジングアプリケーションのpostMessageアプリケーションプログラミングインターフェース(API)を使用して、前記第1の実行コンテキストから前記第2の実行コンテキストにメッセージを搬送するように構成され、
前記第2の単方向サブチャネルが、前記ウェブブラウジングアプリケーションの前記postMessage APIを使用して、前記第2の実行コンテキストから前記第1の実行コンテキストにメッセージを搬送するように構成される
請求項1〜4のいずれか一項に記載のコンピュータ実装方法。 - 前記第2の実行コンテキストが、前記コンピューティングシステム上の実行コンテキストの階層における前記第1の実行コンテキストの子孫であり、
前記第1の実行コンテキストにおいて、前記第2の実行コンテキストから送信された前記初期発見メッセージに基づいて、前記第2の実行コンテキストの前記識別子を決定するステップが、前記初期発見メッセージのソース識別子フィールドの値にアクセスするステップを含む
請求項1〜5のいずれか一項に記載のコンピュータ実装方法。 - 前記第1および第2の単方向サブチャネルを確立した後、前記双方向通信チャネルを検証するステップをさらに含み、前記検証するステップが、
前記第2の実行コンテキストから前記第1の実行コンテキストに、第1のチャネル接続メッセージを送信するステップと、
前記第1の実行コンテキストにおいて、前記第2の実行コンテキストから送信された前記第1のチャネル接続メッセージを受信するステップと、
第1のチャネル接続メッセージを受信したことに応答して、前記第1の実行コンテキストにおいて、前記双方向通信チャネルを接続状態にあるとマークするステップと、
前記第1の実行コンテキストから前記第2の実行コンテキストに、第2のチャネル接続メッセージを送信するステップと、
前記第2の実行コンテキストにおいて、前記第1の実行コンテキストから送信された前記第2のチャネル接続メッセージを受信するステップと、
前記第2のチャネル接続メッセージを受信したことに応答して、前記第2の実行コンテキストにおいて、前記双方向通信チャネルを接続状態にあるとマークするステップと
を含む、
請求項1〜6のいずれか一項に記載のコンピュータ実装方法。 - 前記第1の実行コンテキスト内の1つまたは複数のサービスが、前記第1の単方向サブチャネルが前記接続状態にあると識別したことに応答して、前記双方向通信チャネルを使用して、前記第1の実行コンテキストから前記第2の実行コンテキストにメッセージを搬送するように構成され、
前記第1の実行コンテキスト内の前記1つまたは複数のサービスが、前記第1の単方向サブチャネルが未接続状態にあると識別したことに応答して、前記双方向通信チャネルを使用して前記第1の実行コンテキストから前記第2の実行コンテキストにメッセージを搬送するのではなく、代替動作を実行するように構成される
請求項7に記載のコンピュータ実装方法。 - 前記第1の実行コンテキストにおいて、前記第2の実行コンテキストが前記コンピューティングシステム上の実行コンテキストの階層における前記第1の実行コンテキストの子孫であるかどうかをチェックすることによって、前記第1の実行コンテキストが前記第2の実行コンテキストからの前記初期発見メッセージのターゲットであったかどうかを決定するステップと、
前記第2の実行コンテキストが前記第1の実行コンテキストの子孫であると識別したことに応答して、
(i)前記第1の実行コンテキストが前記第2の実行コンテキストからの前記初期発見メッセージのターゲットであったと決定し、前記第1の単方向サブチャネルを確立することに進むステップと、
(ii)前記第1の実行コンテキストと前記第2の実行コンテキストとの間に前記第1の単方向サブチャネルを確立することを選択するステップと
をさらに含む請求項1〜8のいずれか一項に記載のコンピュータ実装方法。 - 前記第1の実行コンテキストにおいて、前記第1のオリジン以外のオリジンからのコンテンツを実行する第3の実行コンテキストから送信された第2の初期発見メッセージを受信するステップであり、前記第1の実行コンテキストおよび前記第3の実行コンテキストが各々、前記コンピューティングシステムによって実施される前記同一オリジンポリシーの結果として、他方のデータにアクセスすることを制限される、ステップと、
前記第1の実行コンテキストにおいて、前記第3の実行コンテキストが前記コンピューティングシステム上の実行コンテキストの階層における前記第1の実行コンテキストの子孫であるかどうかをチェックすることによって、前記第1の実行コンテキストが前記第3の実行コンテキストからの前記第2の初期発見メッセージのターゲットであったかどうかを決定するステップと、
前記第3の実行コンテキストが前記第1の実行コンテキストの子孫ではないと識別したことに応答して、前記第1の実行コンテキストと前記第3の実行コンテキストとの間に通信チャネルを確立しないように前記第2の初期発見メッセージを破棄するステップと
をさらに含む請求項1〜9のいずれか一項に記載のコンピュータ実装方法。 - 前記第1の実行コンテキストにおいて、前記第2の実行コンテキストからの前記初期発見メッセージが前記第1の実行コンテキストと前記第2の実行コンテキストの第1のサービスとの間で第1のチャネルの確立を開始するためのものであることを示す第1のトークンを、前記初期発見メッセージが含むことを識別するステップと、
前記第1の実行コンテキストにおいて、前記第2の実行コンテキストから送信された第2の初期発見メッセージを受信するステップと、
前記第1の実行コンテキストにおいて、前記第2の実行コンテキストからの前記第2の初期発見メッセージが前記第1の実行コンテキストと、前記第2の実行コンテキストの前記第1のサービスとは異なる前記第2の実行コンテキストの第2のサービスとの間で第2のチャネルの確立を開始するためのものであることを示す第2のトークンを、前記第2の初期発見メッセージが含むことを識別するステップと
をさらに含む請求項1〜10のいずれか一項に記載のコンピュータ実装方法。 - 前記第1の実行コンテキストと前記第2の実行コンテキストとの間に前記双方向通信チャネルを確立した後、
前記第1の実行コンテキストの提示内に表示された制御要素とのユーザ対話を識別するステップと、
前記第1の実行コンテキストの前記提示内に表示された前記制御要素との前記ユーザ対話を識別したことに応答して、前記第1の実行コンテキストから前記第2の実行コンテキストへの前記双方向通信チャネルを介して、前記第1の実行コンテキストの前記提示内に表示された前記制御要素との前記ユーザ対話の指示を送信するステップと
を含む請求項1〜11のいずれか一項に記載のコンピュータ実装方法。 - 前記第1の実行コンテキストの前記提示内に表示された前記制御要素との前記ユーザ対話が、前記第2の実行コンテキストによって実行された前記コンテンツの提示を隠すまたは閉じるための命令を示す、請求項12に記載のコンピュータ実装方法。
- 1つまたは複数のプロセッサと、1つまたは複数のコンピュータ可読媒体とを含むコンピューティングシステムであって、前記1つまたは複数のコンピュータ可読媒体は、実行されると、前記1つまたは複数のプロセッサに、
第1のオリジンからのコンテンツを実行する第1の実行コンテキストと、
前記第1のオリジンとは異なる第2のオリジンからのコンテンツを実行する第2の実行コンテキストと、
セキュリティアプリケーションによって実施される同一オリジンポリシーに従って、前記第1の実行コンテキストおよび前記第2の実行コンテキストの各々が他方のデータにアクセスすることを制限するセキュリティアプリケーションと
を実施させる命令で符号化され、前記第1の実行コンテキストおよび前記第2の実行コンテキストが、
前記第1の実行コンテキストにおいて、前記第2の実行コンテキストから送信された初期発見メッセージを受信することと、
前記第1の実行コンテキストにおいて、前記第2の実行コンテキストから送信された前記初期発見メッセージに基づいて、前記第2の実行コンテキストの識別子を決定することと、
前記第2の実行コンテキストの前記識別子を使用して、双方向通信チャネルの第1の単方向サブチャネルを確立することであり、前記第1の単方向サブチャネルが、前記第1の実行コンテキストから前記第2の実行コンテキストにメッセージを搬送するように構成される、確立することと、
前記第2の実行コンテキストにおいて、前記第1の単方向サブチャネルを介して前記第1の実行コンテキストから送信された接続ブロードキャストメッセージを受信することと、
前記第2の実行コンテキストにおいて、前記第1の単方向サブチャネルを介して前記第1の実行コンテキストから送信された前記接続ブロードキャストメッセージに基づいて、前記第1の実行コンテキストの識別子を決定することと、
前記第1の実行コンテキストの前記識別子を使用して、前記双方向通信チャネルの第2の単方向サブチャネルを確立することであり、前記第2の単方向サブチャネルが、前記第2の実行コンテキストから前記第1の実行コンテキストにメッセージを搬送するように構成される、確立することと
を含む動作を実行することによって、前記第1の実行コンテキストと前記第2の実行コンテキストとの間でメッセージを搬送するための前記双方向通信チャネルを確立するように構成される、
コンピューティングシステム。 - 前記動作が、
前記第1の実行コンテキストにおいて、前記第2の実行コンテキストが前記コンピューティングシステム上の実行コンテキストの階層における前記第1の実行コンテキストの子孫であるかどうかをチェックすることによって、前記第1の実行コンテキストが前記第2の実行コンテキストからの前記初期発見メッセージのターゲットであったかどうかを決定することと、
前記第2の実行コンテキストが前記第1の実行コンテキストの子孫であると識別したことに応答して、
(i)前記第1の実行コンテキストが前記第2の実行コンテキストからの前記初期発見メッセージのターゲットであったと決定し、前記第1の単方向サブチャネルを確立することに進むことと、
(ii)前記第1の実行コンテキストと前記第2の実行コンテキストとの間に前記第1の単方向サブチャネルを確立することを選択することと
をさらに含む請求項14に記載のコンピューティングシステム。 - 前記動作が、
前記第1の実行コンテキストにおいて、前記第1のオリジン以外のオリジンからのコンテンツを実行する第3の実行コンテキストから送信された第2の初期発見メッセージを受信することであり、前記第1の実行コンテキストおよび前記第3の実行コンテキストが各々、前記コンピューティングシステムによって実施される前記同一オリジンポリシーの結果として、他方のデータにアクセスすることを制限される、受信することと、
前記第1の実行コンテキストにおいて、前記第3の実行コンテキストが前記コンピューティングシステム上の実行コンテキストの階層における前記第1の実行コンテキストの子孫であるかどうかをチェックすることによって、前記第1の実行コンテキストが前記第3の実行コンテキストからの前記第2の初期発見メッセージのターゲットであったかどうかを決定することと、
前記第3の実行コンテキストが前記第1の実行コンテキストの子孫ではないと識別したことに応答して、前記第1の実行コンテキストと前記第3の実行コンテキストとの間に通信チャネルを確立しないように前記第2の初期発見メッセージを破棄することと
をさらに含む請求項14または15に記載のコンピューティングシステム。 - 前記動作が、
前記第1の実行コンテキストにおいて、前記第2の実行コンテキストからの前記初期発見メッセージが前記第1の実行コンテキストと前記第2の実行コンテキストの第1のサービスとの間で第1のチャネルの確立を開始するためのものであることを示す第1のトークンを、前記初期発見メッセージが含むことを識別することと、
前記第1の実行コンテキストにおいて、前記第2の実行コンテキストから送信された第2の初期発見メッセージを受信することと、
前記第1の実行コンテキストにおいて、前記第2の実行コンテキストからの前記第2の初期発見メッセージが前記第1の実行コンテキストと、前記第2の実行コンテキストの前記第1のサービスとは異なる前記第2の実行コンテキストの第2のサービスとの間で第2のチャネルの確立を開始するためのものであることを示す第2のトークンを、前記第2の初期発見メッセージが含むことを識別することと
をさらに含む請求項14〜16のいずれか一項に記載のコンピューティングシステム。 - コンピューティングシステムの1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、前記コンピューティングシステム上の第1の実行コンテキストと前記コンピューティングシステム上の第2の実行コンテキストとの間でデータを通信するための動作を実行させる命令を記憶した1つまたは複数の非一時的コンピュータ可読媒体であって、
前記第1の実行コンテキストが、第1のオリジンからのコンテンツを実行するように構成され、
前記第2の実行コンテキストが、前記第1のオリジンとは異なる第2のオリジンからのコンテンツを実行するように構成され、
前記第1の実行コンテキストおよび前記第2の実行コンテキストが各々、前記コンピューティングシステムの同一オリジンポリシーの結果として、他方のデータにアクセスすることを制限され、前記動作が、
前記第1の実行コンテキストと前記第2の実行コンテキストとの間に双方向通信チャネルを確立することであり、
前記第1の実行コンテキストにおいて、前記第2の実行コンテキストから送信された初期発見メッセージを受信することと、
前記第1の実行コンテキストにおいて、前記第2の実行コンテキストから送信された前記初期発見メッセージに基づいて、前記第2の実行コンテキストの識別子を決定することと、
前記第2の実行コンテキストの前記識別子を使用して、前記双方向通信チャネルの第1の単方向サブチャネルを確立することであり、前記第1の単方向サブチャネルが、前記第1の実行コンテキストから前記第2の実行コンテキストにメッセージを搬送するように構成される、確立することと、
前記第2の実行コンテキストにおいて、前記第1の単方向サブチャネルを介して前記第1の実行コンテキストから送信された接続ブロードキャストメッセージを受信することと、
前記第2の実行コンテキストにおいて、前記第1の単方向サブチャネルを介して前記第1の実行コンテキストから送信された前記接続ブロードキャストメッセージに基づいて、前記第1の実行コンテキストの識別子を決定することと、
前記第1の実行コンテキストの前記識別子を使用して、前記双方向通信チャネルの第2の単方向サブチャネルを確立することであり、前記第2の単方向サブチャネルが、前記第2の実行コンテキストから前記第1の実行コンテキストにメッセージを搬送するように構成される、確立することと
を含む、確立することと、
前記双方向通信チャネルを介して前記第1の実行コンテキストと前記第2の実行コンテキストとの間でメッセージを通信することと
を含む
非一時的コンピュータ可読媒体。 - 前記同一オリジンポリシーに従って、前記コンピューティングシステムが、前記第1のオリジンおよび前記第2のオリジンの送信プロトコル、アドレス、またはポート番号のうちの少なくとも1つが互いに異なることを識別することに応答して、前記第2のオリジンを前記第1のオリジンと異なるものとして分類する、請求項18に記載のコンピュータ可読媒体。
- 前記第1の実行コンテキストが、前記第1のオリジンからの前記コンテンツを提示するように構成された第1のウィンドウオブジェクトを含み、前記第2の実行コンテキストが、前記第2のオリジンからの前記コンテンツを提示するように構成された第2のウィンドウオブジェクトを含む、請求項18または19に記載のコンピュータ可読媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/624,921 | 2017-06-16 | ||
US15/624,921 US10554692B2 (en) | 2017-06-16 | 2017-06-16 | Cross-origin communication in restricted computer environments |
PCT/US2018/022451 WO2018231304A1 (en) | 2017-06-16 | 2018-03-14 | Cross-origin communication in restricted computer environments |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020184355A Division JP7125461B2 (ja) | 2017-06-16 | 2020-11-04 | 制限されたコンピュータ環境におけるクロスオリジン通信 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019532384A true JP2019532384A (ja) | 2019-11-07 |
JP6790231B2 JP6790231B2 (ja) | 2020-11-25 |
Family
ID=61899370
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019507289A Active JP6790231B2 (ja) | 2017-06-16 | 2018-03-14 | 制限されたコンピュータ環境におけるクロスオリジン通信 |
JP2020184355A Active JP7125461B2 (ja) | 2017-06-16 | 2020-11-04 | 制限されたコンピュータ環境におけるクロスオリジン通信 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020184355A Active JP7125461B2 (ja) | 2017-06-16 | 2020-11-04 | 制限されたコンピュータ環境におけるクロスオリジン通信 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10554692B2 (ja) |
EP (1) | EP3482333B1 (ja) |
JP (2) | JP6790231B2 (ja) |
KR (1) | KR102156305B1 (ja) |
CN (2) | CN109804377B (ja) |
WO (1) | WO2018231304A1 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10452762B1 (en) * | 2017-02-21 | 2019-10-22 | United Services Automobile Association (Usaa) | Coordinating in-frame content with page content in applications |
US10452738B1 (en) * | 2017-02-21 | 2019-10-22 | United Services Automobile Association (Usaa) | Coordinating in-frame content with page content in applications |
US10554692B2 (en) | 2017-06-16 | 2020-02-04 | Google Llc | Cross-origin communication in restricted computer environments |
US11206273B2 (en) * | 2018-01-31 | 2021-12-21 | Salesforce.Com, Inc. | Content management system connect |
CN116560970A (zh) * | 2018-05-07 | 2023-08-08 | 谷歌有限责任公司 | 用于基于数字助理的应用的沉浸式基于web的模拟器 |
US10678615B1 (en) | 2018-05-22 | 2020-06-09 | Express Scripts Strategic Development, Inc. | Interconnected framework for distributed data realization |
US11354369B2 (en) * | 2019-08-13 | 2022-06-07 | Raytheon Company | Multi-headed web-application architecture and messaging structure |
US11171926B2 (en) * | 2019-09-04 | 2021-11-09 | Microsoft Technology Licensing, Llc | Secure communication between web frames |
US11755720B2 (en) | 2020-01-31 | 2023-09-12 | Salesforce, Inc. | Secure membranes and cross namespace communication |
US11611629B2 (en) * | 2020-05-13 | 2023-03-21 | Microsoft Technology Licensing, Llc | Inline frame monitoring |
US11677739B2 (en) * | 2021-06-25 | 2023-06-13 | Microsoft Technology Licensing, Llc | Token brokering in parent frame on behalf of child frame |
US11882113B2 (en) | 2021-06-29 | 2024-01-23 | Microsoft Technology Licensing, Llc | Token brokering in a descendant frame |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090328063A1 (en) * | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Inter-frame messaging between different domains |
JP5017453B2 (ja) * | 2007-08-27 | 2012-09-05 | ヤフー! インコーポレイテッド | 安全なモジュール間通信機構 |
US20140259027A1 (en) * | 2013-03-06 | 2014-09-11 | Microsoft Corporation | Browser window frame-to-frame communication |
US20150213259A1 (en) * | 2014-01-27 | 2015-07-30 | Microsoft Corporation | Web Service Sandbox System |
US20150350253A1 (en) * | 2014-05-29 | 2015-12-03 | Livestax Limited | Communication between frames of a web browser |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3055268B2 (ja) | 1990-12-05 | 2000-06-26 | 日産化学工業株式会社 | ウラシル誘導体および除草剤 |
US6957416B2 (en) | 2001-01-31 | 2005-10-18 | Hewlett-Packard Development Company, L.P. | Document builder classes and methods |
US7715377B2 (en) | 2002-01-03 | 2010-05-11 | Integrated Device Technology, Inc. | Apparatus and method for matrix memory switching element |
US20040210536A1 (en) | 2002-12-18 | 2004-10-21 | Tino Gudelj | Cross-domain transactions through simulated pop-ups |
JP2005017453A (ja) * | 2003-06-24 | 2005-01-20 | Murata Mach Ltd | 画像形成装置 |
US8280819B2 (en) | 2004-07-09 | 2012-10-02 | Ebay Inc. | Method and apparatus for securely displaying and communicating trusted and untrusted internet content |
US8005920B2 (en) | 2005-08-24 | 2011-08-23 | Postx Corporation | Method and apparatus for transmitting arbitrarily large amounts of data over the internet |
US7506248B2 (en) | 2005-10-14 | 2009-03-17 | Ebay Inc. | Asynchronously loading dynamically generated content across multiple internet domains |
CA2634206A1 (en) | 2005-12-22 | 2007-07-05 | Catalog.Com, Inc. | System and method for cross-domain social networking |
US8185737B2 (en) | 2006-06-23 | 2012-05-22 | Microsoft Corporation | Communication across domains |
US8250082B2 (en) | 2006-06-23 | 2012-08-21 | Microsoft Corporation | Cross domain communication |
US8001336B2 (en) * | 2007-03-02 | 2011-08-16 | International Business Machines Corporation | Deterministic memory management in a computing environment |
US7958516B2 (en) | 2007-04-18 | 2011-06-07 | Google Inc | Controlling communication within a container document |
US7809785B2 (en) | 2007-05-28 | 2010-10-05 | Google Inc. | System using router in a web browser for inter-domain communication |
US10019570B2 (en) | 2007-06-14 | 2018-07-10 | Microsoft Technology Licensing, Llc | Protection and communication abstractions for web browsers |
US8081603B2 (en) * | 2007-07-18 | 2011-12-20 | Qualcomm Incorporated | Compression static and semi-static context transfer |
US20090083768A1 (en) * | 2007-09-20 | 2009-03-26 | Hatalkar Atul N | Context platform framework for aggregation, analysis and use of contextual information |
US9009657B2 (en) | 2008-04-20 | 2015-04-14 | Microsoft Technology Licensing, Llc | Component-oriented architecture for web mashups |
US8291475B2 (en) | 2008-04-30 | 2012-10-16 | Microsoft Corporation | Secure cross-domain communication for web mashups |
US20090299862A1 (en) | 2008-06-03 | 2009-12-03 | Microsoft Corporation | Online ad serving |
US9524344B2 (en) | 2008-06-03 | 2016-12-20 | Microsoft Corporation | User interface for online ads |
US9459936B2 (en) * | 2009-05-01 | 2016-10-04 | Kaazing Corporation | Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications |
US8789204B2 (en) | 2009-12-22 | 2014-07-22 | Nokia Corporation | Method and apparatus for secure cross-site scripting |
US20110188499A1 (en) * | 2010-02-04 | 2011-08-04 | Cisco Technology, Inc. | Point-to-multipoint path implementation in a multicast virtual private network |
US10176484B2 (en) | 2010-03-16 | 2019-01-08 | AppNexus Inc. | Advertising venues and optimization |
US9558289B2 (en) * | 2010-09-30 | 2017-01-31 | Microsoft Technology Licensing, Llc | Securely rendering online ads in a host page |
US9037963B1 (en) | 2011-04-22 | 2015-05-19 | Amazon Technologies, Inc. | Secure cross-domain web browser communications |
US9215096B2 (en) * | 2011-08-26 | 2015-12-15 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for providing communication between network domains in a service cloud |
US8365061B1 (en) * | 2011-11-02 | 2013-01-29 | Google Inc. | Cross-origin communication in browser frames |
US10049168B2 (en) | 2012-01-31 | 2018-08-14 | Openwave Mobility, Inc. | Systems and methods for modifying webpage data |
US9286276B2 (en) * | 2012-06-11 | 2016-03-15 | Google Inc. | System and method of document embedding in collaborative editors |
US20140047413A1 (en) | 2012-08-09 | 2014-02-13 | Modit, Inc. | Developing, Modifying, and Using Applications |
US9332090B1 (en) * | 2012-09-12 | 2016-05-03 | Kaazing Corporation | Communication data padding |
GB201218389D0 (en) * | 2012-10-12 | 2012-11-28 | Uni I Olso | Multi-mode computer with selector |
US9189466B2 (en) | 2013-09-13 | 2015-11-17 | Linkedin Corporation | Cross document communication |
US8930971B1 (en) * | 2013-09-13 | 2015-01-06 | Linkedin Corporation | Embedded-advertising content presented in document context |
US9864528B2 (en) | 2014-10-16 | 2018-01-09 | Microsoft Technology Licensing, Llc | Data object observation among domain-restricted containers |
US9880869B2 (en) * | 2015-01-13 | 2018-01-30 | Owl Cyber Defense Solutions, Llc | Single computer-based virtual cross-domain solutions |
US20160342977A1 (en) | 2015-05-20 | 2016-11-24 | Vennd.io Pty Ltd | Device, method and system for virtual asset transactions |
JP6868958B2 (ja) * | 2015-12-25 | 2021-05-12 | 富士通株式会社 | パケット送信プログラム、情報処理装置、および、障害検出方法 |
US10554692B2 (en) | 2017-06-16 | 2020-02-04 | Google Llc | Cross-origin communication in restricted computer environments |
-
2017
- 2017-06-16 US US15/624,921 patent/US10554692B2/en active Active
-
2018
- 2018-03-14 WO PCT/US2018/022451 patent/WO2018231304A1/en unknown
- 2018-03-14 EP EP18715858.9A patent/EP3482333B1/en active Active
- 2018-03-14 CN CN201880003100.6A patent/CN109804377B/zh active Active
- 2018-03-14 KR KR1020197003841A patent/KR102156305B1/ko active IP Right Grant
- 2018-03-14 JP JP2019507289A patent/JP6790231B2/ja active Active
- 2018-03-14 CN CN202310786422.5A patent/CN116956273A/zh active Pending
-
2019
- 2019-12-24 US US16/726,415 patent/US11171993B2/en active Active
-
2020
- 2020-11-04 JP JP2020184355A patent/JP7125461B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5017453B2 (ja) * | 2007-08-27 | 2012-09-05 | ヤフー! インコーポレイテッド | 安全なモジュール間通信機構 |
US20090328063A1 (en) * | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Inter-frame messaging between different domains |
US20140259027A1 (en) * | 2013-03-06 | 2014-09-11 | Microsoft Corporation | Browser window frame-to-frame communication |
US20150213259A1 (en) * | 2014-01-27 | 2015-07-30 | Microsoft Corporation | Web Service Sandbox System |
CN105940409A (zh) * | 2014-01-27 | 2016-09-14 | 微软技术许可有限责任公司 | 网络服务沙箱系统 |
US20150350253A1 (en) * | 2014-05-29 | 2015-12-03 | Livestax Limited | Communication between frames of a web browser |
Also Published As
Publication number | Publication date |
---|---|
EP3482333B1 (en) | 2019-11-27 |
CN109804377B (zh) | 2023-06-20 |
JP7125461B2 (ja) | 2022-08-24 |
JP6790231B2 (ja) | 2020-11-25 |
CN116956273A (zh) | 2023-10-27 |
KR102156305B1 (ko) | 2020-09-15 |
EP3482333A1 (en) | 2019-05-15 |
WO2018231304A1 (en) | 2018-12-20 |
US20200137120A1 (en) | 2020-04-30 |
KR20190028479A (ko) | 2019-03-18 |
US10554692B2 (en) | 2020-02-04 |
JP2021015635A (ja) | 2021-02-12 |
US20180367572A1 (en) | 2018-12-20 |
US11171993B2 (en) | 2021-11-09 |
CN109804377A (zh) | 2019-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7125461B2 (ja) | 制限されたコンピュータ環境におけるクロスオリジン通信 | |
US8843820B1 (en) | Content script blacklisting for use with browser extensions | |
US10771581B2 (en) | Systems and methods for handling a cookie from a server by an intermediary between the server and a client | |
US8789204B2 (en) | Method and apparatus for secure cross-site scripting | |
US8935755B1 (en) | Managing permissions and capabilities of web applications and browser extensions based on install location | |
US8650481B1 (en) | Stable and secure use of content scripts in browser extensions | |
US8438289B1 (en) | Cross-domain communications with a shared worker application | |
US9264418B1 (en) | Client-side spam detection and prevention | |
US10579442B2 (en) | Inversion-of-control component service models for virtual environments | |
US10873553B2 (en) | System and method for triaging in a message system on send flow | |
WO2009029404A2 (en) | Secure inter-module communication mechanism | |
US10356126B2 (en) | Communication between frames of a web browser | |
US20180129533A1 (en) | Fast and secure request forwarding | |
US10592063B1 (en) | Controlling actions for browser extensions | |
US11765112B2 (en) | Context driven dynamic actions embedded in messages | |
US9805181B1 (en) | Messaging channel for web pages and web applications | |
US11025742B2 (en) | Dynamic link processing engine | |
US20210344710A1 (en) | Systems and methods for automated simulated phishing campaigns using newsletters | |
US8635692B2 (en) | System and method for user friendly detection of spammers | |
US20120130991A1 (en) | Hybrid approach to federated search | |
US20220309356A1 (en) | Web elements-based virtual assistant for distributed applications | |
US20180227327A1 (en) | Secure content delivery over a domain portal | |
US9830209B2 (en) | Web based user interface driven prophylactic cross-domain communication architecture | |
US20160248710A1 (en) | Facilitating access to references in communications | |
US9251361B1 (en) | Data transmission to an untrusted entity |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190219 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190219 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200323 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200508 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20201005 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201104 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6790231 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |