JP6210561B2 - セキュリティプロトコルの動的選択 - Google Patents

セキュリティプロトコルの動的選択 Download PDF

Info

Publication number
JP6210561B2
JP6210561B2 JP2014559932A JP2014559932A JP6210561B2 JP 6210561 B2 JP6210561 B2 JP 6210561B2 JP 2014559932 A JP2014559932 A JP 2014559932A JP 2014559932 A JP2014559932 A JP 2014559932A JP 6210561 B2 JP6210561 B2 JP 6210561B2
Authority
JP
Japan
Prior art keywords
server
client
information
false start
security protocol
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.)
Active
Application number
JP2014559932A
Other languages
English (en)
Other versions
JP2015511743A5 (ja
JP2015511743A (ja
Inventor
コクス,マシュー,アール.
パショヴ,イヴァン,ディー.
アンダース,ビリー
シルヴェラ,ジョナサン,エー.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2015511743A publication Critical patent/JP2015511743A/ja
Publication of JP2015511743A5 publication Critical patent/JP2015511743A5/ja
Application granted granted Critical
Publication of JP6210561B2 publication Critical patent/JP6210561B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Description

セキュアソケットレイヤ(Secure Sockets Layer;SSL)及びトランスポートレイヤセキュリティ(Transport Layer Security;TLS)は、インターネット上でクライアントサーバとの間のセキュア接続を提供するようオープンシステム相互接続(Open System Interconnection;OSI)モデルのアプリケーションレイヤで動作する通信プロトコルである。簡単なSSL又はTLSハンドシェイクにおいて、クライアントは、クライアントによってサポートされるプロトコルバージョンと、クライアントで生成される乱数とを含むClientHelloを送信することによって、開始する。次いで、サーバは、サーバで生成される乱数とともにサーバによってサポートされるプロトコルバージョンを含むServerHelloメッセージにより応答する。次いで、サーバは、暗号化のための自身の公開鍵を含む自身の証明書を送信してよく、次いで、自身がハンドシェイク交渉を終えることを示すServerHelloDoneメッセージを送信する。
次いで、クライアントは、サーバの公開鍵を用いて暗号化されたPreMasterSecretを含むClientKeyExchangeメッセージにより応答してよい。次いで、クライアント及びサーバは、通信セッションのためのセッション鍵を生成するために使用される共通のMasterSecretを計算するために、交換された乱数及びPreMasterSecretを使用してよい。次いで、クライアント及びサーバは、その後のメッセージが暗号化されることを示すChangeCipherSpecと、暗号化されたFinishedメッセージとを互いに送信する。サーバ及びクライアントは、互いのFinishedメッセージを復号するよう試みる。いずれか一方の試みが失敗すると、ハンドシェイクは失敗し、接続は終了される。クライアント及びサーバの両方がFinishedメッセージの復号化に成功すると、ハンドシェイクは成功である。ハンドシェイクは、クライアントもそれ自身の証明書を有する場合及び/又はハンドシェイクが前のセッションを再開している場合に、変更される。しかし、上記の簡単な場合において、完全なハンドシェイクは、一般に、ハンドシェイクが完了して、クライアント及びサーバがアプリケーションデータの送信を開始することができる前に少なくとも2回の完全なプロトコル・ラウンドトリップを含み、よって、通信セッションを確立するよう2回のネットワーク・ラウンドトリップのレイテンシー不利益を加える。
このレイテンシーを低減するよう、提案は、False Startと呼ばれる機能を組み込むことによってTLS及び場合によりSSLを変更するようインターネット・エンジニアリング・タスクフォース(Internet Engineering Task Force;IETF)のTLS作業部会に提出されている。この提案される変更は、クライアントがサーバのFinishedメッセージを受信して検証する前にアプリケーションデータの送信を開始することを可能にする。短縮されたハンドシェイクが前のセッションを再開するために用いられるシナリオにおいて、サーバは、クライアントのFinishedメッセージを受信して検証する前にアプリケーションデータの送信を開始する。よって、False Startは、1回のラウンドトリップ分だけレイテンシーを低減する。しかし、False Start対応クライアントが、False StartをサポートしないサーバとのFalse Startハンドシェイクを試みる場合に、ハンドシェイクは失敗し、クライアントは、標準の非False Startプロトコルによりもう1回のハンドシェイクを試み、実質的なレイテンシー不利益を生じる。
本願で記載される技術は、様々なサーバ又はホストがTLS又はSSLへのFalse Start変更をサポートするかどうかを示す情報をクライアントが記憶することを可能にする。その場合に、クライアントは、サーバへの接続時にFalse Startハンドシェイクを開始すべきかどうかを決定するために、この情報を使用してよい。False Start対応クライアントが第1の時間にサーバとのセキュア接続を確立しようとハンドシェイクを試みる場合に、そのクライアントは、False Startにより変更されたプロトコルを用いて、それを行う。セキュア接続がFalse Startにより確立される場合(例えば、ハンドシェイクが成功する場合)に、クライアント及びサーバは、アプリケーションデータを交換することを進める。
しかし、ハンドシェイクが失敗し、セキュア接続が確立されない場合は、クライアントは、標準の(例えば、False Startによって変更されていない)TLS又はSSLハンドシェイクにより接続を確立しようと再び試み、クライアントにおいて、サーバがFalse Startをサポートしないことを示す情報が記憶される。記憶された情報は、サーバの識別及び/又はサーバによってホストされるウェブサイトを含んでよく、識別は、ドメイン、サブドメイン、ユニフォームリソースロケータ(Uniform Resource Locator;URL)、インターネットプロトコル(Internet Protocol;IP)アドレス、及び/又は他の識別情報の形をとる。情報は、同じ通信セッション内でのセキュア接続の確立を最適化するようクライアントのアクティブメモリ(例えば、物理メモリ)に記憶されてよい。情報はまた、異なる通信セッションにわたるセキュア接続の確立を最適化するよう永続性メモリ(クライアントのハードドライブ上)に記憶されてよい。幾つかの場合(情報が永続性メモリに記憶される場合)に、情報はまた、その情報が記憶された日時を示す時間スタンプを含んでよい。そのような時間スタンプは、クライアントがサーバ又はホストを再チェックして、それがFalse Startをサポートするよう更新されているかどうかを決定することを可能にすることができる。
この要約は、詳細な説明において以下で更に記載される簡略化された形において概念の選択を導入するよう設けられる。この要約は、請求される対象の重要な特徴又は必須の特徴を特定することを目的とせず、且つ、請求される対象の適用範囲を制限するために使用されることを目的としない。
詳細な説明は、添付の図を参照して記載される。図中、参照符号の最左の数字は、その参照符号が最初に現れる図を示す。異なる図における同じ参照符号は、類似する又は同じ項目を示す。
False Start対応のクライアントがFalse Start対応のサーバ又はホストとのハンドシェイクを試みるシナリオを例示する。 False Start対応のクライアントがFalse Start非対応のサーバ又はホストとのハンドシェイクを試みるシナリオを例示する。 False Start対応のクライアントがFalse Start非対応のサーバ又はホストとのハンドシェイクを試みるシナリオを例示する。
実施形態が動作することができる環境を例示する図である。
実施形態に従うコンピュータシステムを例示する図である。
サーバが推奨のセキュリティプロトコル(例えば、False Startをサポートするプロトコル)をサポートするかどうかを示す情報をクライアントに記憶するための事例的プロセスのフロー図を表す。
推奨のセキュリティプロトコル(例えば、False Startをサポートするプロトコル)により接続を試みるべきかどうかを決定するためにクライアントに記憶された情報を用いるための事例的プロセスのフロー図を表す。
概要
本願で記載される実施形態は、False Start対応のクライアントがFalse Startにより変更されたプロトコルを用いてサーバ又はホストとのセキュア接続を確立しようと試みるべきかどうかを決定するための技術を提供する。SSL(例えば、SSL3.0以降)及びTLS(例えば、TLS1.0,1.1,1.2以降)に対するFalse Startによる変更は、クライアントとサーバとの間のセキュア接続を確立するハンドシェイクから1回のラウンドトリップを削減することによって、レイテンシーを低減する。しかし、全てのサーバが、False Startによる変更を伴うプロトコルをサポートするわけではない。False Start対応のクライアントが、False Startをサポートしないサーバとのハンドシェイクを試みる場合に、ハンドシェイクは失敗し、クライアントはFalse Startによらないハンドシェイクを再度試みる。最初の、失敗に終わったハンドシェイクは、接続を確立する際のレイテンシーの増大を引き起こすことがあり、従って、サーバとのセキュア接続を確立しようと試みるウェブブラウザ又は他のクライアント側アプリケーションの性能を低下させることがある。そのような性能低下を回避するよう、実施形態は、特定のサーバがFalse Startをサポートするかどうかを示す情報又はメタデータのクライアントでの記憶を可能にする。その場合に、クライアントは、False Startハンドシェイクを試みるべきかどうかを決定するために、この情報を使用してよい。
図1A,B,及びCは、False Start対応のクライアントがFalse Start対応又は非対応のいずれかであるサーバ又はホストとのハンドシェイクを試みるシナリオを例示する。図1Aに示されるように、False Start対応のクライアントアプリケーションを実行するクライアント装置102は、False Startをサポートするウェブサーバ104へ接続しようと試みる。この場合に、False Startハンドシェイク106は成功する。幾つかの実施形態において、クライアントアプリケーションは、ウェブサーバ104によって提供されるウェブサイト又は他のウェブサービスへ接続するためにウェブブラウザ又は他のアプリケーションのコンポーネントとしてクライアント装置102で実行することができるハイパーテキスト転送プロトコル(Hypertext Transfer Protocol;HTTP)である。
図1Bは、クライアント装置102が、False Startをサポートしない異なるウェブサーバ110へ接続しようと試みるシナリオを例示する。ウェブサーバ110へのクライアントの最初のビジットにおいて、クライアントはFalse Startハンドシェイク112を試みる。このハンドシェイク112は、ウェブサーバのFalse Startに対するサポートの欠如により、失敗する。次いで、クライアントは、非False Startハンドシェイク114により接続しようと再び試みる。2回目のビジット116において、クライアントは先と同じくFalse Startハンドシェイク118を試みるが、このハンドシェイク118は同じく失敗する。次いで、クライアントは、非False Startハンドシェイク120により接続を確立しようと試みる。このシナリオでは、クライアントが本願で記載される実施形態の種々の特徴を組み込まないために、クライアントは、その最初のビジット108の失敗したFalse Startハンドシェイク112から学習せず、その2回目のビジット116においてFalse Startハンドシェイクを再度試みる。
しかし、図1Cは、ウェブサーバ110がFalse Startをサポートしないとの情報をクライアント装置102が保持するシナリオを例示する。その最初のビジット122で、クライアントはFalse Startハンドシェイク124を試みるが、このハンドシェイク124は、ウェブサーバ110がFalse Startをサポートしないために、失敗する。次いで、クライアントは、非False Startハンドシェイク126により接続しようと再び試みる。しかし、この例では、最初の失敗したハンドシェイクの後、クライアントは、ウェブサーバ110がFalse Startをサポートしないことを示す情報を記憶する。結果として、その2回目のビジット128では、クライアントは、以前に記憶された情報を参照し、その情報に基づき、ウェブサーバ110とのFalse Startハンドシェイクを試みるべきでないと認識する。代わりに、クライアントは、非False Startハンドシェイク130を試みる。この情報の記憶、取り出し、及び使用は、図4及び5に関連して以下で更に記載される。
このように、記憶された情報を用いることによって、クライアントは、推奨のセキュリティプロトコル(例えば、False Startプロトコル)により接続を試みるべきかどうかを決定し、推奨のセキュリティプロトコルをサポートしないサーバとの失敗した最初の試みを防ぐことができる。クライアントは、ホストサーバの機能(例えば、それがFalse Startをサポートするかどうか)に関する情報へのアクセスを有するので、クライアントは、最大で3回のラウンドトリップ時間、すなわち、False Startハンドシェイクでの最初の失敗に終わった試みのための2回のラウンドトリップ、及び(幾つかの場合に)にTCPセッションがFalse Startハンドシェイクでの失敗に終わった試みに続いてサーバによって切り離された後再確立される必要があるために生じるもう1回のラウンドトリップ時間、を節約することができる。
加えて、実施形態は、サーバ機能に関する情報がクライアント自体にローカルに記憶されることを提供するので、クライアントは、遠隔のサーバに記憶されている他の情報(例えば、非対応ホストのブラックリスト)にアクセスする必要なしに、どのセキュリティプロトコルを用いるべきかを動的に決定してよい。これは、クライアントが、遠隔のサーバからサーバ機能情報を取り出すために必要とされ得る付加的なレイテンシー・ヒットを生じさせずに、より効率的にその決定を行うことを可能にする。更に、実施形態はまた、サーバ機能情報がローカルに記憶されて、特定のホストと接続するためのクライアントの能力に基づき動的に更新されるので、効率的な通信を可能にしてよい。加えて、クライアント自体がサーバ機能に関する情報を記憶するので、情報は、遠隔のサーバ上に(ブラックリストにおいて)記憶されるサーバ機能情報よりも頻繁に更新され、これにより、推奨のセキュリティプロトコルによるハンドシェイクの失敗の回数は低減され得る。
実例となる環境
図2は、実施形態が動作することができる環境200を例示する。図示されるように、環境200の様々な装置は、1以上のネットワーク202を介して互いと通信する。ネットワーク202は、そのような通信を可能にするあらゆるタイプのネットワークを含んでよい。例えば、ネットワーク202は、インターネットのような公衆ネットワーク、機関及び/又は個人のイントラネットのような私的ネットワーク、あるいは、公衆及び私的ネットワークの何らかの組み合わせを含んでよい。ネットワーク202はまた、ローカルエリアネットワーク(local area network;LAN)、ワイドエリアネットワーク(wide area network;WAN)、Wi−Fi、WiMax、及び移動体通信ネットワーク(例えば、3G,4G等)を含むがこれらに限られないあらゆるタイプの有線及び/又は無線ネットワークを含んでよい。ネットワーク202は、インターネットプロトコル(IP)、伝送制御プロトコル(transmission control protocol;TCP)、ユーザデータグラムプロトコル(user datagram protocol;UDP)、又は他のタイプのプロトコルのようなパケットベース及び/又はデータグラムベースのプロトコルを含む通信プロトコルを利用してよい。加えて、ネットワーク202はまた、ネットワーク通信を助け及び/又はスイッチ、ルータ、ゲートウェイ、アクセスポイント、ファイアウォール、基地局、中継局、バックボーンデバイス、及び同様のもののようなネットワークのためのハードウェア基盤を形成する複数の装置を含んでよい。
環境200は、エンドユーザに関連する1以上のクライアント装置204を更に含む。簡潔に記載すると、クライアント装置204は、ユーザがネットワーク202上で情報を送信及び受信するために用いることができるあらゆるタイプのコンピュータ装置を含んでよい。例えば、クライアント装置204は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、電子書籍リーダ、装着型コンピュータ、メディアプレーヤ、車載コンピュータ、携帯型コンピュータ装置、スマートフォン、パーソナルデジタルアシスタント(personal digital assistant;PDA)、ゲーム機、携帯型ゲーム機、セットトップボックス、及び同様のものを含んでよいが、これらに限られない。
クライアント装置204は、一般に、文書処理アプリケーション、ゲーム、ウェブブラウザ、電子メールクライアントアプリケーション、テキストメッセージングアプリケーション、チャット又はインスタントメッセージング(instant messaging;IM)クライアント、及び他のアプリケーションを含むがこれらに限られない1以上のアプリケーションを含む。それらのアプリケーションのうちの1以上は、そのアプリケーションがウェブサイトに接続し又は別なふうにHTTP若しくは他のネットワーキングプロトコルを介してウェブベースの情報にアクセスすることを可能にするコンポーネントを含んでよい。クライアント装置204及び図2に表されている他の装置は、図3に関連して本願で更に記載される。
更に図2に示されるように、環境200は、ネットワーク202上でコンテンツを提供し又はユーザにサービスを提供するよう構成される1以上のウェブサーバ装置206を更に含んでよい。そのようなコンテンツ及びサービスは、ホストされる静的及び/又は動的なウェブページ、ソーシャルネットワークサービス、電子メールサービス、チャットサービス、ゲーム、マルチメディア、及び何らかの他のタイプの、ネットワーク202上で提供されるコンテンツ、サービス又は情報を含んでよいが、これらに限られない。ウェブサーバ装置206は、クライアント装置204又は他のネットワーク装置と通信するための1以上の通信プロトコルをサポートしてよい。例えば、ウェブサーバ装置206は、TCP/IPにより通信セッションを確立し及び/又はHTTPによりデータの要求に応答するよう構成されてよい。ウェブサーバ装置206は更に、False Startをサポートするよう変更され得るTLS又はSSLのようなセキュリティプロトコルによりセキュア通信セッションを確立するよう構成されてよい。
実例となるコンピュータシステム・アーキテクチャ
図3は、実施形態が動作することができるコンピュータシステム300を例示する。図示されるように、コンピュータシステム300はプロセッシングユニット302を含む。プロセッシングユニット302は複数のプロセッシングユニットを含んでよく、ハードウェア、ソフトウェア、又はそれらの何らかの組み合わせとして実装されてよい。プロセッシングユニット302は1以上のプロセッサを含んでよい。本願で使用されるように、プロセッサはハードウェア部品を指す。プロセッシングユニット302は、本願で記載される様々な機能を実行するよう何らかの適切なプログラミング言語で記述された、コンピュータにより実行可能な、プロセッサにより実行可能な、及び/又は機械により実行可能な命令を含んでよい。
例において示されるように、コンピュータシステム300はシステムメモリ304を更に含む。システムメモリ304は、ランダムアクセスメモリ(random access memory;RAM)306、静的ランダムアクセスメモリ(static random access memory;SRAM)、動的ランダムアクセスメモリ(dynamic random access memory;DRAM)、及び同様のもののような揮発性メモリを含んでよい。RAM306は、1以上の実行オペレーティングシステム(operating system;OS)308と、プロセッシングユニット302によってロード可能且つ実行可能であるコンポーネント、プログラム、又はアプリケーションを含む1以上の実行プロセスとを含む。そのようなプロセスは、インターネット上で利用可能なウェブサイト又は他のサービスと通信するよう動作するウェブブラウザ310を含んでよい。幾つかの実施形態において、ウェブブラウザ310は、特定のウェブサーバとの通信時に使用すべき特定の通信プロトコルを動的に選択するプロトコル選択コンポーネント312を含む。更に以下で記載されるように、プロトコル選択コンポーネント312は、サーバとのセキュア接続を確立するためにFalse Start対応のTLS又はSSLプロトコルを用いるべきかどうかを決定するよう、サーバに関する記憶された情報にアクセスしてよい。幾つかの実施形態において、RAM306は物理メモリ(例えば、一時記憶装置314)を含んでよく、そのメモリにおいてOS308、ウェブブラウザ310、及び/又は他のプロセス316が実行する。
システムメモリ304は、読み出し専用メモリ(read only memory;ROM)318、フラッシュメモリ、及び同様のもののような不揮発性メモリを更に含んでよい。図示されるように、ROM318は、コンピュータシステム300を起動するのに使用される基本入出力システム(Basic Input/Output system;BIOS)を含んでよい。図示されていないが、システムメモリ304は、OS308、ウェブブラウザ310、及び/又は他のプロセス316によってそれらの実行中に生成及び/又は利用されるプログラム又はコンポーネントデータを更に記憶してよい。システムメモリ304はまた、キャッシュメモリを含んでよい。
図3に示されるように、コンピュータシステム300はまた、磁気ディスク記憶装置、光ディスク記憶装置、テープ記憶装置、及び同様のものを含むがこれらに限られない非リムーバブル記憶装置330(例えば、ハードドライブ)及び/又はリムーバブル記憶装置334を含んでよい。ディスクドライブ及び関連するコンピュータ可読媒体は、コンピュータシステム300の動作のための、コンピュータにより読み出し可能な命令、データ構造、プログラムモジュール、及び他のデータの不揮発性記憶を提供してよい。加えて、非リムーバブル記憶装置330は、永続性記憶装置332を更に含んでよい。
一般に、コンピュータ可読媒体は、コンピュータ記憶媒体及び通信媒体を含む。
コンピュータ記憶媒体は、コンピュータにより読み出し可能な命令、データ構造、プログラムモジュール、及び他のデータのような情報の記憶のための何らかの方法又は技術において実施される揮発性及び不揮発性のリムーバブル及び非リムーバブル媒体を含む有形な媒体である。コンピュータ記憶媒体は、RAM、ROM、消去可能なプログラム可能読み出し専用メモリ(erasable programmable read-only memory;EEPROM)、SRAM、DRAM、フラッシュメモリ若しくは他のメモリ技術、コンパクトディスク読み出し専用メモリ(compact disc read-only memory;CD−ROM)、デジタルバーサタイルディスク(digital versatile disc;DVD)若しくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶装置、又はコンピュータ装置によるアクセスのための情報を記憶するために使用され得る何らかの他の非伝送媒体を含むが、これらに限られない。
対照的に、通信媒体は非有形であり、搬送波又は他の伝送メカニズムのような変調データ信号において、コンピュータにより読み出し可能な命令、データ構造、プログラムモジュール、又は他のデータを具現してよい。本願で定義されるように、コンピュータ記憶媒体は通信媒体を含まない。
コンピュータシステム300は、キーボード、マウス、ペン、ゲームコントローラ、発話認識のための音声入力装置、タッチ入力装置、及び同様のものを含むがこれらに限られない入力装置336を含んでよい。コンピュータシステム300は、ディスプレイ、プリンタ、オーディオスピーカ、触覚出力、及び同様のものを含むがこれらに限られない出力装置338を更に含んでよい。コンピュータシステム300は、コンピュータシステム300が、クライアント装置、サーバ装置、データベース、及び/又は1以上の通信ネットワーク上で利用可能な他のネットワーク装置を含む他のコンピュータ装置342と通信することを可能にする通信接続340を更に含んでよい。
実例となるプロセス
図4及び5は、様々な実施形態に従うプロセスを例示するフローチャートを表す。それらのプロセスの動作は、個々のブロックにおいて図解されており、それらのブロックを参照して要約される。プロセスは論理フロー図として表される。それらの各動作は、ハードウェア、ソフトウェア、又はそれらの組み合わせにおいて実施され得る1以上の動作を表してよい。ソフトウェアとの関連で、動作は、1以上のコンピュータ記憶媒体に記憶されているコンピュータ実行可能命令を表し、それらの命令は、1以上のプロセッサによって実行される場合に、その1以上のプロセッサが、挙げられている動作を実行することを可能にする。一般に、コンピュータ実行可能命令は、特定の機能を実行し又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、モジュール、コンポーネント、データ構造、及び同様のものを含む。動作が記載される順序は、限定として解釈されるよう意図されず、記載される動作の如何なる数も、記載されるプロセスを実施するよう、如何なる順序において組み合わされても、複数の副動作に分割されても、及び/又は並行して実行されてもよい。
図4は、サーバ又はホストが推奨のセキュリティプロトコル(例えば、False Startをサポートするセキュア通信プロトコル)をサポートするかどうかを示す情報をクライアントにおいて記憶するためのプロセス400を例示する。幾つかの実施形態において、プロセス400は、クライアント装置で実行するプロトコル選択コンポーネント312のようなコンポーネントによって実行される。加えて、プロセス400は、クライアント装置で実行するブラウザ又は他のアプリケーションの部分であるHTTPクライアントのようなクライアントプロセスによって実行されてよい。
ブロック402で、第1のセキュリティプロトコルによりクライアントとサーバ(例えば、ウェブサーバ)との間のセキュア接続を確立しようとする試みがなされる。幾つかの実施形態において、第1のセキュリティプロトコルは、上述されたようにレイテンシーを低減するようFalse StartをサポートするSSL又はTLSプロトコルのような推奨のセキュリティプロトコルであり、クライアントは、False Startによって変更されたSSL又はTLSハンドシェイクを試みる。ブロック404で、ハンドシェイクが成功し且つ接続が確立されたかどうかの決定がなされる。例えば、上述されたように、False Startにより変更されたプロトコルを使用する場合に、クライアントは、サーバのFinishedメッセージ(又は、TLS若しくはSSLハンドシェイクが完了したとの他の通信インジケーション)を受信する前に、アプリケーションデータの送信を開始してよい。サーバがFalse Startをサポートしない場合は、サーバは、アプリケーションデータのクライアント送信を時期尚早(premature)と解釈し、クライアントへの接続を中断し又は別なふうに切り離してよい。そのような状況において、サーバは、SSL若しくはTLSアラート、SSL若しくはTLSエラーメッセージ、及び/又はTCPメッセージ(例えば、TCP FIN若しくはTCP RESET)を含むがそれらに限られない、失敗を示すクライアントへの通信を送信してよい。加えて、幾つかの実施形態において、クライアントは、一定期間の時間後にサーバから如何なる応答も受信しなかった後にタイムアウトしてよい。様々な実施形態は、サーバがFalse Startをサポートしないとブロック404で決定するために、1以上のそれらの事象を使用してよい。接続が失敗した他の理由が存在し得るが、実施形態は、セキュア接続又はセッションを確立できなかったことに基づき、サーバがFalse Startをサポートしないと推測してよい。
接続の確立が成功した場合は、クライアント及びサーバは、ブロック406で、アプリケーションデータを交換するよう通信を開始してよい。しかし、接続の確立が成功しなかった場合は、サーバに関する情報が、ブロック408で、クライアント上の一時記憶装置(例えば、一時記憶装置314)に記憶されてよい。幾つかの実施形態において、情報は、データベース、リスト、又は他のデータ構造において記憶され、記憶された情報は、第1のセキュリティプロトコルをサポートしないとクライアントが決定したサーバを識別する。そのような識別情報は、何らかのドメインレベル若しくはサブドメインレベルでのサーバについてのドメイン情報、各サーバのURL、又は他の識別情報(例えば、IPアドレス)を含んでよい。
幾つかの実施形態において、一時記憶装置は、プロトコル選択コンポーネントがプロセス400を実行しているプロセスのアクティブメモリ(例えば、物理メモリ又は仮想メモリ)におけるインメモリデータ構造であってよい。幾つかの実施形態において、一時記憶装置内のこの情報は、プロセスがアクティブであるか、特定の接続がアクティブである限り、及び/又は接続がアクティブでなくなった後の一定の所定期間の時間(例えば、10分間)に、利用可能であってよい。このようにして、一時記憶装置における情報の記憶は、同じセッションによるサーバへの複数の接続の最適化を可能にすることができ、それにより、HTTPクライアント又は他のコンポーネントは、ハードドライブ又は他の永続性記憶装置にアクセスする必要がなく、代わりに、物理メモリからサーバ機能に関する記憶された情報を効率的に取り出すことができる。よって、一定の時間期間後に同じホスト又はウェブサイトに戻るユーザは、クライアントが一時記憶装置からホスト機能情報を効率的に取り出すことができるならば、より早く接続することが可能であり得る。
ブロック410で、サーバ機能に関する情報は更に、クライアント装置のハードドライブ又は他の非リムーバブル記憶装置上の永続性記憶装置332のような永続性記憶装置に記憶されてよい。永続性記憶装置におけるサーバ機能情報のセーブは、複数のセッションにわたるサーバへの接続の最適化を可能にすることができる。例えば、特定のセッションが終了し、一時記憶装置が解放された後、サーバ機能情報は、後のセッションの間、永続性記憶装置から取り出されてよい。よって、クライアントは、前のセッションの間に集められたサーバ機能情報に基づき、特定のサーバが推奨のセキュリティプロトコル(例えば、False Startを伴う。)をサポートするかどうかを決定することが可能であり得る。
幾つかの実施形態において、永続性記憶装置に記憶されているサーバ情報は、一時記憶装置に記憶されているサーバ情報と同じ又は類似するサーバ識別(例えば、ドメイン)情報を含む。幾つかの実施形態において、永続性記憶装置に記憶されているサーバ情報はまた、サーバごとに、その情報が記憶された日時を示す時間スタンプを含んでよい。この時間スタンプは、後の時点でクライアントが第1のセキュリティプロトコルによるサーバへの接続を再び試みて、サーバの機能が第1のセキュリティプロトコル(例えば、False Startを含むプロトコル)をサポートするよう更新又は拡張されたかどうかを決定するよう周期的にチェックすることを可能にするヒューリスティックを提供してよい。この態様は、図5に関連して更に記載される。
ブロック412で、第2のセキュリティプロトコルによりクライアントとサーバとの間のセキュア接続を確立しようとする試みがなされる。幾つかの実施形態において、第2のセキュリティプロトコルは、False StartをサポートしないSSL又はTLSプロトコルのような、非推奨の又はより推奨されないプロトコルである。幾つかの実施形態において、サーバ情報は、この2回目のハンドシェイク試行の前且つ最初の失敗したハンドシェイク試行の後に、一時及び/又は永続性記憶装置に記憶される。幾つかの実施形態において、サーバ情報は、2回目のハンドシェイク試行の後に記憶されてよい。加えて、幾つかの実施形態において、サーバは、False Startハンドシェイクが失敗した場合に、既存のセッションを切り離していることがあるので、ブロック412で、TCPセッションは再確立される必要があり得る。
図5は、推奨のセキュリティプロトコル(例えば、False Startをサポートするプロトコル)により接続を試みるべきかどうかを決定するためにクライアントにおいて記憶されている情報を用いるためのプロセス500を例示する。幾つかの実施形態において、プロセス500は、クライアント装置で実行されるプロトコル選択コンポーネント312のようなコンポーネントによって実行される。加えて、プロセス500は、クライアント装置で実行するブラウザ又は他のアプリケーションの部分であるHTTPクライアントのようなクライアントプロセスによって実行されてよい。
ブロック502で、サーバとセキュアに接続すべきインジケーションが受け取られる。例えば、そのようなインジケーションは、ユーザがSSL又はTLSのようなセキュア通信プロトコルを用いてクライアント上のウェブブラウザ又は他のアプリケーションを通じてサーバ上のウェブサイトへ接続したいと望む場合に、トリガされてよい。ブロック504で、サーバ情報は、それが上述されたように予め記憶されている永続性記憶装置又はプロセスのインメモリ一時記憶装置のいずれかからアクセスされる。幾つかの実施形態において、インメモリ一時記憶装置は、最初にチェックされ、永続性記憶装置は、情報が一時記憶装置において見つけられない場合にその後にチェックされる。
ブロック506で、サーバについての情報がアクセスされた情報において見つけられるかどうかの決定がなされる。幾つかの実施形態において、情報は、データベース、リスト、又は他のデータ構造としてクライアントにおいて記憶され、データベースにおけるサーバのドメインの存在は、そのサーバが第1のセキュリティプロトコル(例えば、False Startをサポートする推奨のプロトコル)をサポートしないことを示す。サーバのドメインがデータベースにおいてリストアップされていないか、あるいは、データベースが別なふうに、サーバが第1のセキュリティプロトコルをサポートすることを示す場合は、プロセス500はブロック508へ進み、クライアントは、図4に関連して上述されたように、第1のセキュリティプロトコルによりサーバへのセキュア接続を確立しようと試みる。
ブロック506で、サーバのドメインがデータベースにおいてリストアップされているか、あるいは、データベースが別なふうに、サーバが第1のセキュリティプロトコルをサポートしないことを示す場合は、そのサーバを識別する情報が期限切れである(例えば、失効した)かどうかを決定するよう、サーバのドメインに関連する時間スタンプがチェックされてよい。幾つかの実施形態において、このチェックは、時間スタンプの日付/時間を現在の日付/時間と比較し、両者の差(例えば、情報が記憶された以後の経過時間)を決定することを含んでよい。時間差が所定の閾値(例えば、30日)よりも大きくない場合は、サーバ情報が失効していないとの決定がなされてよく、ブロック512で、第2のセキュリティプロトコル(例えば、False Startをサポートしない非推奨のプロトコル)によりセキュア接続を確立しようとする試みがなされてよい。
しかし、時間差が所定の閾値よりも大きい場合は、サーバ情報が失効した又は別なふうに期限切れであるとの決定がなされてよい。その場合に、接続の試みは、ブロック508で第1のセキュリティプロトコルを用いてなされてよい。このようにして、サーバドメインとともに記憶される時間スタンプは、情報が記憶された時点以後にそのサーバが第1のセキュリティプロトコル(例えば、False Start)をサポートするよう更新されたかどうかをチェックするための手段を提供してよい。幾つかの実施形態において、閾値は、False Start非対応のサーバの機能がアップグレードされたかどうかを決定するためのそれらのサーバのより多い又は少ない頻度のチェックを提供するよう設定可能であってよい。
幾つかの実施形態は、ホスト機能情報が最新であるかどうかをチェックするようクライアントで周期的に実行する追加のサポートプロセスをサポートしてよい。例えば、そのようなプロセスは、記憶されているホストのリストを解析し、情報が期限切れである(所定期間の時間よりも古い)ホストごとに、そのホストをリストから削除して、永続性メモリ内の空間を節約する。加えて、幾つかの実施形態において、そのようなプロセスは、リスト内の情報が期限切れであるホストごとに、そのホストとのTLS False Start又はSSL False Startを試み、(例えば、接続が成功である場合)そのホストをリストから削除し、又は(例えば、接続が失敗である場合)そのホストをリストに残して、時間スタンプを現在の日付/時間に更新してよい。
更に、幾つかの実施形態は、上位レベルのドメイン情報が下位レベルのドメインに優先して記憶されるホストリストの圧密化のための最適化をサポートする(例えば、www.abcdef.com、mail.abcdef.com、等に代えてabcdefg.comを記憶する。)。加えて、幾つかの実施形態において、下位レベルのドメイン情報は、リストが上位レベルのドメインを共有する特定の閾数のより下位レベルのドメインを含む時点まで、データベースに記憶されてよい(例えば、www.abcdef.com、mail.abcdef.com、news.abcdef.com、等)。その時点で、それらのより下位レベルのドメインは、リスト内の空間を節約するよう上位レベルのドメイン(例えば、abcdefg.com)によりリスト内で置換されてよい。幾つかの実施形態において、上記のサポートプロセスは、この圧密化プロセスを実行してよい。しかし、幾つかの実施形態において、別個のプロセスが、圧密化を実行するよう働いてよい。
結論
技術は、構造的特徴及び方法論的動作に特有の言語において記載されてきたが、添付の特許請求の範囲は、必ずしも、記載される具体的な特徴又は動作に制限されない点が理解されるべきである。むしろ、具体的な特徴及び動作は、そのような技術の実施例として開示される。

Claims (10)

  1. コンピュータにより実施される方法であって、
    第1のセキュリティプロトコルによりクライアントとサーバとの間のセキュア接続を確立しようと試みるステップと、
    前記第1のセキュリティプロトコルによる前記セキュア接続の確立が成功したかどうかを判定するステップと、
    前記第1のセキュリティプロトコルによる前記セキュア接続の確立が成功しなかったとの決定に基づき、前記第1のセキュリティプロトコルをサポートしていないとして前記サーバを識別する情報を前記クライアントにおいて記憶するステップと、
    第2のセキュリティプロトコルにより前記クライアントと前記サーバとの間の前記セキュア接続を確立しようと試みるステップと
    を有する方法。
  2. 前記第1のセキュリティプロトコルは、False Startをサポートするセキュアソケットレイヤ(SSL)又はFalse Startをサポートするトランスポートレイヤセキュリティ(TLS)プロトコルであり、
    前記第2のセキュリティプロトコルは、False StartをサポートしないSSL又はFalse StartをサポートしないTLSプロトコルである、
    請求項1に記載の方法。
  3. 前記情報は、同じ通信セッション内でのセキュア接続の確立を最適化するよう前記クライアント上の一時記憶装置に記憶される、
    請求項1に記載の方法。
  4. 前記情報は、異なる通信セッションにわたるセキュア接続の確立を最適化するよう前記クライアント上の永続性記憶装置に記憶される、
    請求項1に記載の方法。
  5. 前記クライアントと前記サーバとの間のその後のセキュア接続を確立しようとするその後の試みの間、前記クライアントにおける前記記憶された情報にアクセスするステップと、
    前記サーバが前記第1のセキュリティプロトコルをサポートしないと前記記憶された情報が示すと決定するステップと、
    前記第2のセキュリティプロトコルにより前記その後のセキュア接続を確立しようと試みるステップと
    を更に有する請求項1に記載の方法。
  6. 前記クライアントと前記サーバとの間のその後のセキュア接続を確立しようとするその後の試みの間、前記クライアントにおける前記記憶された情報にアクセスするステップと、
    前記記憶された情報が前記サーバについての情報を含まないと、又は前記第1のセキュリティプロトコルをサポートしていないとして前記サーバを識別する前記クライアントにおける情報が期限切れであると決定するステップと、
    前記第1のセキュリティプロトコルにより前記その後のセキュア接続を確立しようと試みるステップと
    を更に有する請求項1に記載の方法。
  7. 少なくとも1つのプロセッサによって実行される場合に、該プロセッサに、請求項1乃至6のうちいずれか一項に記載の方法を実行させるコンピュータプログラム。
  8. メモリと、
    少なくとも1つのプロセッサと、
    前記メモリに記憶され、前記少なくとも1つのプロセッサで、
    False Startをサポートする第1のセキュリティプロトコルによりクライアント装置とサーバとの間のセキュア接続を確立しようと試み、
    前記第1のセキュリティプロトコルによる前記セキュア接続の確立が成功したかどうかを判定し、
    前記第1のセキュリティプロトコルによる前記セキュア接続の確立が成功しなかったとの決定に基づき、False Startをサポートしないとして前記サーバを識別する情報を前記クライアント装置において記憶し、
    False Startをサポートしない第2のセキュリティプロトコルにより前記クライアント装置と前記サーバとの間の前記セキュア接続を確立しようと再び試みる
    よう実行するコンポーネントと
    を有するクライアント装置。
  9. False Startをサポートしないとして前記サーバを識別する前記情報は、前記クライアント装置の前記メモリにおけるデータベース上に記憶される、
    請求項8に記載のクライアント装置。
  10. ハードドライブを更に有し、
    False Startをサポートしないとして前記サーバを識別する前記情報は、前記ハードドライブ上の永続性記憶装置に記憶される、
    請求項8に記載のクライアント装置。
JP2014559932A 2012-02-29 2013-02-24 セキュリティプロトコルの動的選択 Active JP6210561B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/408,225 US9537899B2 (en) 2012-02-29 2012-02-29 Dynamic selection of security protocol
US13/408,225 2012-02-29
PCT/US2013/027538 WO2013130369A1 (en) 2012-02-29 2013-02-24 Dynamic selection of security protocol

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017172228A Division JP6423059B2 (ja) 2012-02-29 2017-09-07 セキュリティプロトコルの動的選択

Publications (3)

Publication Number Publication Date
JP2015511743A JP2015511743A (ja) 2015-04-20
JP2015511743A5 JP2015511743A5 (ja) 2016-03-24
JP6210561B2 true JP6210561B2 (ja) 2017-10-11

Family

ID=49004596

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014559932A Active JP6210561B2 (ja) 2012-02-29 2013-02-24 セキュリティプロトコルの動的選択
JP2017172228A Active JP6423059B2 (ja) 2012-02-29 2017-09-07 セキュリティプロトコルの動的選択

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2017172228A Active JP6423059B2 (ja) 2012-02-29 2017-09-07 セキュリティプロトコルの動的選択

Country Status (6)

Country Link
US (2) US9537899B2 (ja)
EP (1) EP2820824B1 (ja)
JP (2) JP6210561B2 (ja)
KR (1) KR102073434B1 (ja)
CN (1) CN104137511B (ja)
WO (1) WO2013130369A1 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9075953B2 (en) 2012-07-31 2015-07-07 At&T Intellectual Property I, L.P. Method and apparatus for providing notification of detected error conditions in a network
US20140256286A1 (en) * 2013-03-08 2014-09-11 Microsoft Corporation Intelligent Protocol Selection
CN103826225B (zh) * 2014-02-19 2017-10-10 西安电子科技大学 一种无线网络中身份认证协议选择方法
JP6429559B2 (ja) * 2014-09-26 2018-11-28 キヤノン株式会社 通信装置、通信システム、情報処理方法及びプログラム
US11399019B2 (en) * 2014-10-24 2022-07-26 Netflix, Inc. Failure recovery mechanism to re-establish secured communications
US11533297B2 (en) 2014-10-24 2022-12-20 Netflix, Inc. Secure communication channel with token renewal mechanism
US10050955B2 (en) 2014-10-24 2018-08-14 Netflix, Inc. Efficient start-up for secured connections and related services
CN106161224B (zh) * 2015-04-02 2019-09-17 阿里巴巴集团控股有限公司 数据交换方法、装置及设备
JP6516539B2 (ja) * 2015-04-15 2019-05-22 キヤノン株式会社 通信装置、通信方法、およびプログラム
WO2016186629A1 (en) * 2015-05-15 2016-11-24 Hewlett-Packard Development Company, L.P. Display of server capabilities
CN105245515B (zh) * 2015-09-30 2019-03-05 北京奇虎科技有限公司 一种数据安全传输方法及终端设备
CN105208027B (zh) * 2015-09-30 2019-12-03 北京奇虎科技有限公司 一种进行语音通话的方法及终端设备
CN105245516B (zh) * 2015-09-30 2019-03-05 北京奇虎科技有限公司 一种数据传输方法及终端设备
CN105282153B (zh) * 2015-09-30 2019-06-04 北京奇虎科技有限公司 一种实现数据传输的方法及终端设备
CN105306454A (zh) * 2015-09-30 2016-02-03 北京奇虎科技有限公司 一种传输数据的方法及终端设备
CN105141705B (zh) * 2015-09-30 2019-05-10 北京奇虎科技有限公司 一种安全传输数据的方法及终端设备
CN105306455B (zh) * 2015-09-30 2019-05-21 北京奇虎科技有限公司 一种处理数据的方法及终端设备
CN105450452B (zh) * 2015-12-02 2017-05-24 光一科技股份有限公司 一种提升故障指示器安全性和稳定性的远程升级方法
JP6881935B2 (ja) * 2016-10-07 2021-06-02 キヤノン株式会社 通信装置、通信装置の制御方法及びプログラム
CN107294986B (zh) * 2017-06-30 2018-05-08 北京海泰方圆科技股份有限公司 一种访问https网站的方法、装置及系统
ES2806799T3 (es) * 2017-08-09 2021-02-18 Siemens Mobility GmbH Procedimiento para establecer un canal de comunicaciones seguro entre un primer y un segundo dispositivo de red
CN107612760B (zh) * 2017-11-03 2021-08-24 睿石网云(北京)科技有限公司 一种业务服务的中断监测方法及系统
US10855723B2 (en) * 2018-05-11 2020-12-01 Cisco Technology, Inc. Enforcing a secure transport protocol with dynamically updated stored data
JP2020057170A (ja) 2018-10-01 2020-04-09 富士ゼロックス株式会社 情報処理装置およびプログラム
CN110311921B (zh) * 2019-07-11 2022-02-25 南方电网科学研究院有限责任公司 一种配电终端加解密方法、系统、设备及计算机存储介质
CN110768988B (zh) * 2019-10-28 2022-09-30 杭州迪普科技股份有限公司 一种建立ssl vpn隧道的方法及装置
US11588840B2 (en) * 2020-01-31 2023-02-21 Salesforce, Inc. Automated encryption degradation detection, reporting and remediation
US11671404B2 (en) 2020-07-14 2023-06-06 Vmware, Inc. Policy based mechanism to efficiently interpret and block insecure network communication
US11895159B2 (en) * 2021-06-30 2024-02-06 International Business Machines Corporation Security capability determination
CN114070877B (zh) * 2021-11-18 2023-10-20 北京云上曲率科技有限公司 基于用户数据报协议的数据传输方法、服务端及客户端
CN114520824A (zh) * 2021-12-27 2022-05-20 北京升明科技有限公司 基于tls协议的通信握手方法、装置、电子设备及介质
CN114584393B (zh) * 2022-03-31 2023-10-20 深圳市瑞云科技有限公司 一种自动选择加密协议的方法
CN116760878B (zh) * 2023-08-21 2023-12-01 每日互动股份有限公司 一种网络连接和传输的处理方法、装置、设备及介质

Family Cites Families (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4932023A (en) * 1989-06-20 1990-06-05 International Business Machines Corporation Frame stripping protocol for early token release in a ring communication network
GB9414331D0 (en) * 1994-07-15 1994-09-07 Thomson Consumer Electronics Combined I*C and IM bus architecture
US5832506A (en) 1996-03-29 1998-11-03 Intel Corporation Directory for network servers
JPH10164380A (ja) 1996-10-04 1998-06-19 Canon Inc 画像処理装置及びその方法
US5978849A (en) * 1997-06-13 1999-11-02 International Business Machines Corporation Systems, methods, and computer program products for establishing TCP connections using information from closed TCP connections in time-wait state
US6094485A (en) * 1997-09-18 2000-07-25 Netscape Communications Corporation SSL step-up
US6353620B1 (en) * 1998-04-09 2002-03-05 Ericsson Inc. System and method for facilitating inter-nodal protocol agreement in a telecommunications
US6901596B1 (en) 1998-05-07 2005-05-31 Hewlett-Packard Development Company, L.P. Method of communicating asynchronous events to remote procedure call clients
US6321252B1 (en) 1998-07-17 2001-11-20 International Business Machines Corporation System and method for data streaming and synchronization in multimedia groupware applications
US6532506B1 (en) * 1998-08-12 2003-03-11 Intel Corporation Communicating with devices over a bus and negotiating the transfer rate over the same
US6314471B1 (en) 1998-11-13 2001-11-06 Cray Inc. Techniques for an interrupt free operating system
US6718382B1 (en) * 1999-02-11 2004-04-06 Yunzhou Li Technique for detecting leaky points within a network protocol domain
US7120140B1 (en) * 1999-02-26 2006-10-10 Intel Corporation Digital browser phone
US6886103B1 (en) * 1999-10-28 2005-04-26 Lucent Technologies Inc. Method and apparatus for extending network address translation for unsupported protocols
US6721331B1 (en) * 1999-12-15 2004-04-13 At&T Corp. Method and apparatus for decentralized prioritized scheduling in a CSMA/CA wireless system
US7096418B1 (en) 2000-02-02 2006-08-22 Persistence Software, Inc. Dynamic web page cache
US7180936B1 (en) * 2000-03-15 2007-02-20 Centillium Communications, Inc. Techniques to avoid G.HS false start due to FEXT
US6850257B1 (en) 2000-04-06 2005-02-01 Microsoft Corporation Responsive user interface to manage a non-responsive application
US6744452B1 (en) 2000-05-04 2004-06-01 International Business Machines Corporation Indicator to show that a cached web page is being displayed
BR0113510A (pt) * 2000-08-25 2003-07-01 Research In Motion Ltd Sistema e método para implementar um protocolo de segurança de camada de transporte aprimorado
US7647339B2 (en) 2000-10-04 2010-01-12 Gonzalez Emmanuel C Method for digitally labeling websites
SE517729C2 (sv) * 2000-11-24 2002-07-09 Columbitech Ab Metod för att upprätthålla kommunikation mellan enheter tillhöriga skilda kommunikationsnät
US7146432B2 (en) * 2001-01-17 2006-12-05 International Business Machines Corporation Methods, systems and computer program products for providing failure recovery of network secure communications in a cluster computing environment
US7035202B2 (en) * 2001-03-16 2006-04-25 Juniper Networks, Inc. Network routing using link failure information
US7555561B2 (en) 2001-03-19 2009-06-30 The Aerospace Corporation Cooperative adaptive web caching routing and forwarding web content data broadcasting method
US7340414B2 (en) * 2001-05-25 2008-03-04 Lg Electronics Inc. Refrigerator having automatic food ordering function and method for operating the same
US6988147B2 (en) * 2001-05-31 2006-01-17 Openwave Systems Inc. Method of establishing a secure tunnel through a proxy server between a user device and a secure server
US7562146B2 (en) * 2003-10-10 2009-07-14 Citrix Systems, Inc. Encapsulating protocol for session persistence and reliability
US20050198379A1 (en) * 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
US6851062B2 (en) 2001-09-27 2005-02-01 International Business Machines Corporation System and method for managing denial of service attacks
US7984157B2 (en) * 2002-02-26 2011-07-19 Citrix Systems, Inc. Persistent and reliable session securely traversing network components using an encapsulating protocol
US8516114B2 (en) 2002-03-29 2013-08-20 International Business Machines Corporation Method and apparatus for content pre-fetching and preparation
ATE413763T1 (de) 2002-04-05 2008-11-15 Ericsson Telefon Ab L M Objekttransferpriorität in einem kommunikationsnetzwerk
US7430755B1 (en) * 2002-09-03 2008-09-30 Fs Networks, Inc. Method and system for providing persistence in a secure network access
DE10249851A1 (de) 2002-10-25 2004-05-13 Elektro Beckhoff Gmbh Unternehmensbereich Industrie Elektronik Verfahren, Schnittstelleneinheit und Knoten zur parallelen Nutzung eines Kommunikationsnetzwerkes für Echtzeitanwendungen und Nicht-Echtzeitanwendungen
US7131003B2 (en) * 2003-02-20 2006-10-31 America Online, Inc. Secure instant messaging system
US20040128541A1 (en) * 2002-12-31 2004-07-01 Iinternational Business Machines Corporation Local architecture for federated heterogeneous system
US7680944B1 (en) * 2003-02-28 2010-03-16 Comtrol Corporation Rapid transport service in a network to peripheral device servers
US7339893B2 (en) * 2003-03-18 2008-03-04 Cisco Technology, Inc. Pre-empting low-priority traffic with high-priority traffic on a dedicated link
US7287083B1 (en) * 2003-03-20 2007-10-23 Novell, Inc. Computing environment failover in a branch office environment
US20040249973A1 (en) * 2003-03-31 2004-12-09 Alkhatib Hasan S. Group agent
US8352725B1 (en) * 2003-04-21 2013-01-08 Cisco Technology, Inc. Method and apparatus for managing secure communications
US20050015644A1 (en) * 2003-06-30 2005-01-20 Microsoft Corporation Network connection agents and troubleshooters
JP4134945B2 (ja) 2003-08-08 2008-08-20 ヤマハ株式会社 自動演奏装置及びプログラム
US7231496B2 (en) 2003-09-15 2007-06-12 International Business Machines Corporation Method, system and program product for caching data objects
JP4107213B2 (ja) * 2003-10-06 2008-06-25 松下電工株式会社 パケット判定装置
US7436535B2 (en) 2003-10-24 2008-10-14 Microsoft Corporation Real-time inking
US7302564B2 (en) * 2003-12-24 2007-11-27 I-Net Software Gmbh Translation of secure communications for handshake protocols
GB0405245D0 (en) * 2004-03-09 2004-04-21 Ibm Key-based encryption
US7231530B1 (en) * 2004-04-06 2007-06-12 Cisco Technology, Inc. System and method for saving power in a wireless network by reducing power to a wireless station for a time interval if a received packet fails an integrity check
ATE373380T1 (de) 2004-05-18 2007-09-15 Alcatel Lucent Verfahren und server zur bereitstellung eines multi-modalen dialogs
US20060031680A1 (en) 2004-08-04 2006-02-09 Yehuda Maiman System and method for controlling access to a computerized entity
US8718067B2 (en) * 2004-11-24 2014-05-06 Lantiq Deutschland Gmbh Pre-emption mechanism for packet transport
US8006091B2 (en) * 2005-01-10 2011-08-23 Cisco Technology, Inc. Method and apparatus to provide failover capability of cached secure sessions
US7900039B2 (en) * 2005-01-17 2011-03-01 Lg Electronics, Inc. TLS session management method in SUPL-based positioning system
US7581005B2 (en) * 2005-01-20 2009-08-25 Citrix Systems, Inc. Systems and methods for preserving transport layer protocol options
US7668962B2 (en) * 2005-02-07 2010-02-23 Symantec Operating Corporation System and method for connection failover using redirection
US7549151B2 (en) 2005-02-14 2009-06-16 Qnx Software Systems Fast and memory protected asynchronous message scheme in a multi-process and multi-thread environment
US8533473B2 (en) * 2005-03-04 2013-09-10 Oracle America, Inc. Method and apparatus for reducing bandwidth usage in secure transactions
US7949106B2 (en) 2005-03-10 2011-05-24 Avaya Inc. Asynchronous event handling for video streams in interactive voice response systems
EP1727056B1 (en) * 2005-05-25 2008-11-05 Microsoft Corporation Data communication protocol
US7730523B1 (en) * 2005-06-17 2010-06-01 Oracle America, Inc. Role-based access using combinatorial inheritance and randomized conjugates in an internet hosted environment
US20070005779A1 (en) 2005-06-30 2007-01-04 Ebay Inc. Origin aware cookie verification systems and methods
US8478986B2 (en) 2005-08-10 2013-07-02 Riverbed Technology, Inc. Reducing latency of split-terminated secure communication protocol sessions
US20070058634A1 (en) * 2005-09-09 2007-03-15 Vipul Gupta Interaction with wireless sensor devices
US8220042B2 (en) * 2005-09-12 2012-07-10 Microsoft Corporation Creating secure interactive connections with remote resources
US7653722B1 (en) * 2005-12-05 2010-01-26 Netapp, Inc. Server monitoring framework
US7430633B2 (en) 2005-12-09 2008-09-30 Microsoft Corporation Pre-storage of data to pre-cached system memory
US20070204089A1 (en) * 2006-02-27 2007-08-30 Microsoft Corporation Multi-protocol removable storage device
US8002701B2 (en) * 2006-03-10 2011-08-23 Angel Medical Systems, Inc. Medical alarm and communication system and methods
CN101051898B (zh) 2006-04-05 2010-04-21 华为技术有限公司 无线网络端到端通信认证方法及其装置
US7984479B2 (en) * 2006-04-17 2011-07-19 International Business Machines Corporation Policy-based security certificate filtering
US9019300B2 (en) 2006-08-04 2015-04-28 Apple Inc. Framework for graphics animation and compositing operations
US8091126B2 (en) * 2006-08-18 2012-01-03 Microsoft Corporation Failure recognition
US8352728B2 (en) * 2006-08-21 2013-01-08 Citrix Systems, Inc. Systems and methods for bulk encryption and decryption of transmitted data
US8095787B2 (en) * 2006-08-21 2012-01-10 Citrix Systems, Inc. Systems and methods for optimizing SSL handshake processing
US7734052B2 (en) * 2006-09-07 2010-06-08 Motorola, Inc. Method and system for secure processing of authentication key material in an ad hoc wireless network
US8578159B2 (en) * 2006-09-07 2013-11-05 Motorola Solutions, Inc. Method and apparatus for establishing security association between nodes of an AD HOC wireless network
US8218478B2 (en) * 2007-02-28 2012-07-10 Research In Motion Limited Apparatus, and associated method, for facilitating communication connection between a mobile station and a communication network
US8175272B2 (en) * 2007-03-12 2012-05-08 Motorola Solutions, Inc. Method for establishing secure associations within a communication network
FR2916592B1 (fr) * 2007-05-25 2017-04-14 Groupe Des Ecoles De Telecommunications(Get)-Ecole Nat Superieure Des Telecommunications(Enst) Procede de securisation d'echange d'information,dispositif, et produit programme d'ordinateur correspondant
US20100146415A1 (en) 2007-07-12 2010-06-10 Viasat, Inc. Dns prefetch
US20120075469A1 (en) * 2007-07-25 2012-03-29 Neo It Solutions Ltd. Internet visual surveillance and management technology for telecommunications, internet, cellular and other communications companies
WO2009018512A1 (en) * 2007-08-02 2009-02-05 Imagineer Software, Inc. Systems and methods for implementing a mutating transport layer security protocol
US8769129B2 (en) * 2007-11-14 2014-07-01 Juniper Networks, Inc. Server initiated secure network connection
US8145768B1 (en) * 2008-02-26 2012-03-27 F5 Networks, Inc. Tuning of SSL session caches based on SSL session IDS
US7945774B2 (en) * 2008-04-07 2011-05-17 Safemashups Inc. Efficient security for mashups
US7930542B2 (en) * 2008-04-07 2011-04-19 Safemashups Inc. MashSSL: a novel multi party authentication and key exchange mechanism based on SSL
WO2010008539A1 (en) * 2008-07-14 2010-01-21 Riverbed Technology, Inc. Methods and systems for secure communications using a local certification authority
US8520646B1 (en) * 2008-07-25 2013-08-27 Clearwire Ip Holdings Llc Ranging of wireless communication networks with distant links
US8677018B2 (en) 2008-08-25 2014-03-18 Google Inc. Parallel, side-effect based DNS pre-caching
US9197486B2 (en) 2008-08-29 2015-11-24 Google Inc. Adaptive accelerated application startup
US8495719B2 (en) * 2008-10-02 2013-07-23 International Business Machines Corporation Cross-domain access prevention
JP5119117B2 (ja) * 2008-10-10 2013-01-16 株式会社日立製作所 鍵交換プロトコル変換装置及び、システム
US9258269B1 (en) * 2009-03-25 2016-02-09 Symantec Corporation Methods and systems for managing delivery of email to local recipients using local reputations
US8312308B2 (en) * 2009-06-22 2012-11-13 Citrix Systems, Inc. Systems and methods for SSL session cloning—transfer and regeneration of SSL security parameters across cores, homogenous system or heterogeneous systems
US7958258B2 (en) * 2009-09-09 2011-06-07 Verizon Patent And Licensing, Inc. Mobile communication device domain name system redirection
US20110082599A1 (en) * 2009-10-06 2011-04-07 Makarand Shinde Optimizing Utility Usage by Smart Monitoring
US20110153807A1 (en) 2009-12-21 2011-06-23 Lorenzo Vicisano Systems and Methods for Preemptive DNS Resolution
US9055064B2 (en) * 2009-12-28 2015-06-09 Citrix Systems, Inc. Systems and methods for a VPN ICA proxy on a multi-core system
US8732060B2 (en) * 2010-02-05 2014-05-20 D2V Technologies, LLC System and method for progressive transitions portfolio investment management
US8700892B2 (en) * 2010-03-19 2014-04-15 F5 Networks, Inc. Proxy SSL authentication in split SSL for client-side proxy agent resources with content insertion
US20110314275A1 (en) * 2010-06-22 2011-12-22 Michael Gopshtein Managing encryption keys
WO2012021662A2 (en) * 2010-08-10 2012-02-16 General Instrument Corporation System and method for cognizant transport layer security (ctls)
DE102011101800A1 (de) * 2011-05-17 2012-11-22 Mattias Finzelberg Schutzhandschuh
US8640047B2 (en) 2011-06-01 2014-01-28 Micorsoft Corporation Asynchronous handling of a user interface manipulation

Also Published As

Publication number Publication date
KR102073434B1 (ko) 2020-02-04
EP2820824A4 (en) 2015-10-21
US10313399B2 (en) 2019-06-04
US20180152484A1 (en) 2018-05-31
KR20140131523A (ko) 2014-11-13
JP6423059B2 (ja) 2018-11-14
EP2820824A1 (en) 2015-01-07
CN104137511A (zh) 2014-11-05
JP2018010674A (ja) 2018-01-18
US9537899B2 (en) 2017-01-03
EP2820824B1 (en) 2020-03-25
WO2013130369A1 (en) 2013-09-06
US20130227272A1 (en) 2013-08-29
JP2015511743A (ja) 2015-04-20
CN104137511B (zh) 2018-01-02

Similar Documents

Publication Publication Date Title
JP6423059B2 (ja) セキュリティプロトコルの動的選択
JP5837940B2 (ja) 非アクティブのブラウザウィンドウを検出するための技術
JP6018080B2 (ja) 新しいブラウザウィンドウを検出するための技術
US20200204632A1 (en) Transmission Control of Protocol State Exchange for Dynamic Stateful Service Insertion
US10110538B2 (en) Method and apparatus for message transmission
US11936638B2 (en) Link protocol agents for inter-application communications
EP3028437B1 (en) Messaging api over http protocol to establish context for data exchange
KR20150013860A (ko) 클라이언트 없는 클라우드 컴퓨팅
US9609031B1 (en) Propagating state information to network nodes
US8484360B2 (en) Method and system for separating HTTP session
US20150052256A1 (en) Transmission of network management data over an extensible scripting file format
US10609155B2 (en) Scalable self-healing architecture for client-server operations in transient connectivity conditions
CN108886533B (zh) 加速与主机服务器的连接
US10826978B1 (en) Systems and methods for server load control
JP2015526802A (ja) ウェブページ間で通信を行うための方法およびシステム
WO2016173750A1 (en) Network based encryption

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160201

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170606

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: 20170808

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20170828

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170907

R150 Certificate of patent or registration of utility model

Ref document number: 6210561

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250