JP2020522164A - Tls検査のための方法、装置およびプログラム - Google Patents

Tls検査のための方法、装置およびプログラム Download PDF

Info

Publication number
JP2020522164A
JP2020522164A JP2019564806A JP2019564806A JP2020522164A JP 2020522164 A JP2020522164 A JP 2020522164A JP 2019564806 A JP2019564806 A JP 2019564806A JP 2019564806 A JP2019564806 A JP 2019564806A JP 2020522164 A JP2020522164 A JP 2020522164A
Authority
JP
Japan
Prior art keywords
session
tls
ticket
client
session ticket
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
Application number
JP2019564806A
Other languages
English (en)
Other versions
JP7436210B2 (ja
JP2020522164A5 (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2020522164A publication Critical patent/JP2020522164A/ja
Publication of JP2020522164A5 publication Critical patent/JP2020522164A5/ja
Application granted granted Critical
Publication of JP7436210B2 publication Critical patent/JP7436210B2/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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication

Landscapes

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

Abstract

【課題】【解決手段】ネットワーク・ベースのアプライアンスは、セッション・キャッシュが維持されることを必要とすることなく、セッション再開と共にTLS検査をもたらすメカニズムを含む。この目的で、インスペクタは、実質的にTLSインスペクタの代わりに、セッション・コンテキストを維持することにTLSクライアントを参加させるように構成される。動作中に、インスペクタが、セッション・チケットをキャッシングする代わりに、TLSサーバからセッション・チケットを最初に受け取るとき、インスペクタは、元のチケットと、セッション・キーを含むセッション・コンテキスト情報とを含む複合チケットを生成し、その複合チケットをクライアントに発行する。複合チケットは、セッション情報をセキュアにするためにインスペクタによって暗号化される。TLSクライアントが、TLS接続を再開するために、複合セッション・チケットを与えるとき、インスペクタは、チケットを暗号化解除し、チケットからセッション・コンテキストを直接取り出す。次いで、インスペクタは、TLSセッションを再開するために元のセッション・チケットを使用する。【選択図】図6

Description

本開示は、概して、ネットワークに接続されるアプライアンスに関する情報セキュリティに関する。
セキュリティに対する脅威は、絶えず進化している。最先端のウェブ・アプリケーションの急速な発達およびファイル共有の増加に伴って、過去には無害と考えられてきた可能性があるアクティビティが、攻撃者に対する潜在的な穴になる可能性がある。マルウェア対策ソフトウェアおよびファイアウォールなどの従来のセキュリティ手段は、比較的容易にバイパスされるようになった。したがって、新たに発生する脅威に対する広範囲のセキュリティを提供するのを助けることができる、より進歩しかつ先を見越した、脅威からの保護が大いに必要となる。
ネットワークに接続される非表示デバイス(「アプライアンス」)が、多くのコンピューティング環境において至る所に存在する。たとえば、従来のミドルウェア・サービス指向アーキテクチャ(SOA)機能を実行するために意図的に構築されたアプライアンスは、いくつかのコンピュータ環境にわたって普及している。SOAミドルウェア・アプライアンスは、一企業にわたる既存のSOAインフラストラクチャを拡張しながら、XML/Webサービス展開を簡略化し、セキュアにするのを助け、または加速する可能性がある。ミドルウェア用ハードウェアおよび軽量ミドルウェア・スタックの利用は、従来のソフトウェア・ソリューションが受ける動作負担に対処することができる。加えて、アプライアンスのフォーム・ファクタは、ミドルウェアSOA機能を実装するためのセキュアな消耗パッケージングを提供する。これらのタイプのデバイスが提供する1つの具体的な利点は、バックエンド・システムの処理をオフロードすることである。この目的で、ネットワーク・セキュリティに関する、計算コストが高いプロセスを実行するために、そのようなミドルウェア・デバイスを使用することがよく知られている。たとえば、ネットワーク侵入防止システム(IPS)アプライアンスは、内部のネットワーク、サーバ、エンドポイント、およびアプリケーションなどのビジネスに不可欠な資産を、悪意のある脅威から保護するために、一企業のネットワークへの侵入地点に位置するように設計される。
ネットワーク通信用のセキュア・ソケット・レイヤ(SSL)またはトランスポート・レイヤ・セキュリティ(TLS)あるいはその両方がベースの暗号化の使用は、一般に、ネットワーク内の脅威のトラフィックを識別し、それを軽減する能力を抑制する。現在、すべてのビジネス・ネットワーク・トラフィックの2/3以上は、SSL/TLSを介して伝達されると推定されている。このことは、ネットワーク通信に依拠する組織が、通常、そのような脅威の影響を受けやすい可能性がある、その企業内のエンドポイントを(ネットワークから)保護することができないことを意味する。実際に、SSL/TLS通信の大部分は、サーバ認証のみを使用し、すなわち、サーバは、SSL/TLSプロトコルを介してクライアントに対して認証されるが、クライアントは、サーバに対して認証されない。この認証の非対称性は、通信の暗号化解除およびそのコンテンツの検査を可能にするように、クライアントとサーバとの間にプロセスがそれ自体を差し挟む機会をもたらす。そのような「マン・イン・ザ・ミドル」(MITM)プロセスは、悪意があるか、または、パケット検査(脅威検出用)などのもっともな理由のために使用される場合がある。
したがって、一方はクライアントからターゲット・サーバまで、他方はサーバから開始したクライアントまでの、2つの独立したSSL/TLSセッションを作成および管理するように構成することができる、クライアントとサーバとの間の透過的な(MITM)プロキシを提供することが知られている。したがって、中間プロキシは、サーバにはクライアントに見え、クライアントには目的のサーバに見える。クライアントから開始された通信およびサーバから受け取った任意の応答は、理論的には、次に、SSL/TLSインスペクタによる検査および後続の動作に利用可能である。
SSL/TLS接続のマン・イン・ザ・ミドル検査を実行するとき、TLSセッション再開のSSL/TLSインスペクタによるサポートは、重要な要件である。従来、よく知られているように、TLSサーバは、2つの異なる方法、すなわち、セッションID(RFC4507)およびセッション・チケット(RFC5077)の一方に従って、(MITMに関わらず)セッション再開をクライアントに提供する。セッションIDは、SSL/TLSハンドシェークをスピードアップし、セッション再開を可能にするために発明された第1のメカニズムだった。セッションIDでは、セッション情報のすべては、サーバ側に記憶される。セッションIDによるセッション再開は、いくつかの欠点を有するが、真っ先に挙げられるものは、多数のキャッシュされたセッションが存在するとき、このセッション再開が、所与のセッションIDを検索するための時間および空間を費やす必要性による性能ボトルネックになることである。セッションIDの別の主要な欠点は、1つのセッションIDが、1つのサーバに対して機能することができるのみで、複数のセッション・キャッシュがサーバ全体にわたって同期されなければ、展開を拡大するのを極めて難しくすることである。セッションIDの欠点に対処するために、セッション・チケットが開発された。セッション・チケットは、TLSサーバが、セッションを再開し、クライアントごとのセッション状態を保持するのを避けることを可能にするメカニズムである。この目的で、TLSサーバは、セッション状態をカプセル化してチケットにし、それをクライアントに転送する。チケットは、サービス・プロバイダによって署名される。クライアントは、続いて、取得されたチケットを使用してセッションを再開することができる。サーバが後にチケットを受け取って、チケットがサービス・プロバイダによって署名されたと判定したとき、サーバは、チケットに記憶されたすべての設定を受け取る。セッション・チケットは、その拡張性およびサーバ側のより少ないリソースのオーバーヘッドのために、ウェブ・サーバの間で広く使用されている。
TLS検査におけるセッション・チケットを(たとえば、透過的なMITMプロキシによって)サポートするために、キャッシングは、チケットとセッション・キーとの間のマッピングを維持するために必要である。これは、暗号化メカニズムが、アプリケーション/サービスによって制御され、SSL/TLS仕様によって定義されないので、セッション・チケットを暗号化解除するための実用的な方法が存在しないからである。しかし、インスペクタ内にセッション・キャッシュを維持することは、セッション・キャッシュを分散させることの難しさによる不十分な拡張性、プロキシをキャッシュの不足に陥らせる可能性があるストレージおよびメモリの制約によるセッション・キャッシュ・サイズの制限、キャッシュ検索時間を複雑にし、セッション・チケットをマッピングするために実装することができるハッシュ・アルゴリズムのタイプを限定するCPUバウンド、ならびにセッション・キャッシュ内のエントリを意図的に締め出し、それによって検査をバイパスする可能性がある攻撃者によるサービス拒否攻撃に対する脆弱性を含む、いくつかの欠点を有する。
セッション・チケット・サポートを提供しながらも、先行の手法においてこれらの欠点および関連の欠点を克服する、TLSインスペクタにおけるTLSセッション再開が依然として提供されていない。
したがって、上述の問題に対処するための技術が必要である。
TLS検査におけるキャッシュのないセッション・チケット・サポートのための方法、装置、プログラム、およびコンピュータ可読記憶媒体を提供することである。
第1の態様から見ると、本発明は、トランスポート・レイヤ・セキュリティ(TLS)クライアントとTLSサーバとの間に配置されTLSセッション中にTLS検査機能を提供する、中間ノード(intermediary)内で実行可能な方法を提供し、本方法は、TLSサーバから元のセッション・チケットを受け取ると、新規セッション・チケットを生成することと、新規セッション・チケットに暗号化関数を適用することと、暗号化された新規セッション・チケットをTLSクライアントに出力することと、TLSクライアントから暗号化された新規セッション・チケットを受け取ると、元のセッション・チケットおよびセッション・コンテキスト情報を復元するために暗号化された新規セッション・チケットを暗号化解除することと、TLSセッションを再開するために復元された元のセッション・チケットおよびセッション・コンテキスト情報を使用することとを含む。
さらなる態様から見ると、本発明は、装置を提供し、本装置は、プロセッサと、プロセッサによって実行されるコンピュータ・プログラム命令を保持するコンピュータ・メモリであって、上記コンピュータ・プログラム命令が、TLSサーバから元のセッション・チケットを受け取ると、新規セッション・チケットを生成することと、新規セッション・チケットに暗号化関数を適用することと、暗号化された新規セッション・チケットをTLSクライアントに出力することと、TLSクライアントから暗号化された新規セッション・チケットを受け取ると、元のセッション・チケットおよびセッション・コンテキスト情報を復元するために暗号化された新規セッション・チケットを暗号化解除することと、TLSセッションを再開するために復元された元のセッション・チケットおよびセッション・コンテキスト情報を使用することとを行うように構成されたプログラム・コードを含む、上記コンピュータ・メモリとを含む。
さらなる態様から見ると、本発明は、トランスポート・レイヤ・セキュリティ(TLS)セッション中のTLS検査機能のためのコンピュータ・プログラム製品を提供し、本コンピュータ・プログラム製品は、処理回路によって可読で、本発明のステップを実行する方法を実行するために処理回路による実行のための命令を記憶する、コンピュータ可読記憶媒体を含む。
さらなる態様から見ると、本発明は、本発明のステップを実行するために、コンピュータ・プログラムがコンピュータ上で実行されるとき、ソフトウェア・コード部分を含む、コンピュータ可読媒体上に記憶されデジタル・コンピュータの内部メモリ内にロード可能なコンピュータ・プログラムを提供する。
さらなる態様から見ると、本発明は、トランスポート・レイヤ・セキュリティ(TLS)クライアントとTLSサーバとの間に配置された装置を提供し、本装置は、ハードウェア・プロセッサと、コンピュータ・メモリであって、TLSサーバからセッション・チケットを受け取ることと、それに応答して、(a)複合セッション・チケット(composite session ticket)を生成することと、(b)セッション・チケットをキャッシングする代わりに複合セッション・チケットをTLSクライアントに出力することと、TLSクライアントから複合セッション・チケットを受け取ることと、それに応答して、(c)セッション・チケットを復元することと、(d)TLSサーバによってセッションを再開するために復元されたセッション・チケットを使用することとを行うようにキャッシュのないTLSインスペクタ・メカニズムとして構成されたコンピュータ・プログラム命令を保持する上記コンピュータ・メモリとを含む。
ネットワーク・ベースのアプライアンスは、セッション・キャッシュがインスペクタ内に維持されることを必要とすることなく、本アプライアンスがセッション再開と共にTLS検査をもたらすことを可能にするメカニズムを含む。この目的で、インスペクタは、セッション・キャッシュなしに構成され、したがって、セッション・チケット(TLSサーバから受け取った)とセッション・コンテキストとの間のマッピングを維持しなくなる。代わりに、インスペクタは、実質的にTLSインスペクタの代わりに、セッション・コンテキストを維持することにTLSクライアントを参加させるように構成される。動作中に、インスペクタが、セッション・チケットをキャッシングする代わりに、TLSサーバからセッション・チケットを最初に受け取るとき、インスペクタは、元のチケットと、1つまたは複数のセッション・キーを含むセッション・コンテキスト情報とを含む複合チケットを生成し、その複合チケットをクライアントに発行する。通常、2つのセッション・キー、すなわち、一方がクライアント側に、もう一方がサーバ側にある。複合チケット(または複合セッション・チケット)は、セッション情報をセキュアにするためにインスペクタによって暗号化されるのが好ましい。TLSクライアントが、TLS接続を再開するために、複合セッション・チケットを(インスペクタに再び)与えるとき、インスペクタは、チケットを暗号化解除し、チケットからセッション・コンテキストを直接取り出す。次いで、インスペクタは、TLSサーバへのTLSセッションを再開するために元のセッション・チケットを使用する。この手法は、TLSインスペクタにおける、任意のキャッシュ検索、またはローカル・セッション・キャッシュを維持する必要性さえも除去する。むしろ、実質的に、複合チケットは、セッション・チケット自体のためのキャッシュになる。
本開示の第1の態様を一般化し、本態様によれば、方法は、クライアントとサーバとの間に配置されTLS検査機能を提供する、中間ノード内で実行可能である。TLSサーバから元のセッション・チケットを受け取ると、セッション・キャッシュ内に元のセッション・チケットをキャッシングする代わりに、新規セッション・チケットが生成される。新規セッション・チケットは、元のセッション・チケットおよびセッション・コンテキスト情報(すなわち、セッション中に使用するためにネゴシエートされる暗号スイート、マスター・キーなど)に変換関数を適用することによって導き出された値を含む。変換関数は、様々であってよい。代表的な変換関数は、セッション・コンテキスト情報を元のセッション・チケットに連結する。次いで、セッション情報をセキュアにするために、暗号化関数が、新規セッション・チケット(本明細書では複合セッション・チケットと呼ばれることがある)に適用される。暗号化された変換済みセッション・チケットは、次いで、要求側のTLSクライアントに配信される。後に、そのチケットをTLSクライアントから再び受け取ったとき、そのチケットは、元のセッション・チケットおよびセッション・コンテキスト情報を復元するために暗号化解除される。復元された情報を使用すれば、TLSセッションは、次いで、TLSサーバによって再開される。
本開示の第2の態様によれば、装置は、トランスポート・レイヤ・セキュリティ(TLS)セッション中にTLS検査機能を提供するために、TLSクライアントとTLSサーバとの間に配置される。本装置は、1つまたは複数のハードウェア・プロセッサの組と、上述した方法ステップなどの動作の組を実行するためにハードウェア・プロセッサによって実行されるコンピュータ・プログラム命令を保持するコンピュータ・メモリとを含む。
本開示の第3の態様によれば、データ処理システムにおいて使用するための非一過性のコンピュータ可読記憶媒体内のコンピュータ・プログラム製品について説明される。データ処理システムは、トランスポート・レイヤ・セキュリティ(TLS)セッション中にTLS検査機能を提供するために、TLSクライアントとTLSサーバとの間に配置される。コンピュータ・プログラム製品は、データ処理システムにおいて実行され上述した方法ステップなどの動作を実行するように構成された、コンピュータ・プログラム命令を保持する。
上記は、開示された主題とより関連のある特徴のいくつかの概要を述べた。これらの特徴は、単なる例であると解釈されるべきである。多くの他の有利な結果は、開示された主題を様々な方式で適用することによって、または説明される主題を修正することによって達成することができる。
主題およびその利点のより完全な理解のために、次に、添付の図面と併せて行われる以下の説明に参照がなされる。
例示的な実施形態の例示的な態様が実装される場合がある、分散型データ処理環境の例示的なブロック図である。 例示的な実施形態の例示的な態様が実装される場合がある、データ処理システムの例示的なブロック図である。 開示された主題が実装される場合がある、例示的なネットワーク・ベースのセキュアなアプライアンスを示す図である。 従来のSSL/TLS通信が、セキュアなトラフィックの検査を容易にするためにマン・イン・ザ・ミドル・アプライアンスにおいて、どのように処理されるかを示す図である。 セッション・キャッシュを含む、TLSインスペクタを使用したTLSセッション再開を示す図である。 TLSインスペクタがキャッシュのないセッション・チケット・サポートを提供する、本開示の主題による、TLSセッション再開を示す図である。
次に図面を参照すると、特に図1および図2を参照すると、本開示の例示的な実施形態が実装される場合がある、データ処理環境の例示的な図が提供される。図1および図2は、例にすぎず、開示された主題の態様または実施形態が実装される場合がある、環境に関する任意の限定を主張または暗示するものではないことを諒解されたい。図示された環境に対する多くの修正が、本発明の範囲から逸脱することなく、なされてもよい。
クライアント−サーバ技術
次に図面を参照すると、図1は、例示的な実施形態の態様が実装される場合がある、例示的な分散型データ処理システムの図的記述を示す。分散型データ処理システム100は、例示的な実施形態の態様が実装される場合がある、コンピュータのネットワークを含んでよい。分散型データ処理システム100は、分散型データ処理システム100内に共に接続された様々なデバイスおよびコンピュータ間の通信リンクを提供するために使用される媒体である、少なくとも1つのネットワーク102を含む。ネットワーク102は、有線通信リンク、無線通信リンク、または光ファイバ・ケーブルなどの接続を含む場合がある。
図示した例では、サーバ104およびサーバ106が、ストレージ・ユニット108と共にネットワーク102に接続される。加えて、クライアント110、112、および114も、ネットワーク102に接続される。これらのクライアント110、112、および114は、たとえば、パーソナル・コンピュータ、ネットワーク・コンピュータなどであってよい。図示した例では、サーバ104は、起動ファイル、オペレーティング・システム画像、およびアプリケーションなどのデータを、クライアント110、112、および114に提供する。クライアント110、112、および114は、図示した例では、サーバ104に対するクライアントである。分散型データ処理システム100は、図示されていない、追加のサーバ、クライアント、および他のデバイスを含んでよい。
図示した例では、分散型データ処理システム100は、互いに通信するためのプロトコルの通信制御プロトコル/インターネット・プロトコル(TCP/IP)スイートを使用するネットワークおよびゲートウェイのワールドワイド・コレクションを表すネットワーク102を有するインターネットである。データおよびメッセージを転送する、何千もの商用、行政用、教育用、および他のコンピュータ・システムから成る、メジャー・ノードまたはホスト・コンピュータ間の高速データ通信ラインのバックボーンは、インターネットの中心にある。当然、分散型データ処理システム100は、たとえば、イントラネット、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)などの、いくつかの異なるタイプのネットワークを含むように実装されてもよい。上述のように、図1は、例として意図され、開示された主題の様々な実施形態のアーキテクチャ面の限定として意図されず、したがって、図1に示した具体的な要素は、本発明の例示的な実施形態が実装される場合がある、環境に関する限定と見なされるべきでない。
次に図2を参照すると、例示的な実施形態の態様が実装される場合がある、例示的なデータ処理システムのブロック図が示される。データ処理システム200は、本開示の例示的な実施形態のためにプロセスを実装するコンピュータ使用可能コードまたは命令が配置される場合がある、図1のクライアント110などのコンピュータの一例である。
次に図2を参照すると、例示的な実施形態が実装される場合がある、データ処理システムのブロック図が示される。データ処理システム200は、例示的な実施形態のためにプロセスを実装するコンピュータ使用可能プログラム・コードまたは命令が配置される場合がある、図1のサーバ104またはクライアント110などのコンピュータの一例である。この例示的な例では、データ処理システム200は、プロセッサ・ユニット204、メモリ206、不揮発性記憶装置208、通信ユニット210、入力/出力(I/O)ユニット212、およびディスプレイ214の間の通信を提供する、通信構造202を含む。
プロセッサ・ユニット204は、メモリ206内にロードされる場合があるソフトウェアの命令を実行するように機能する。プロセッサ・ユニット204は、具体的な実装形態に応じて、1つまたは複数のプロセッサの組であるか、または、マルチ・プロセッサ・コアであってよい。さらに、プロセッサ・ユニット204は、メイン・プロセッサが単一チップ上に2次プロセッサと共に存在する、1つまたは複数の異種のプロセッサ・システムを使用して実装される場合がある。別の例示的な例として、プロセッサ・ユニット204は、同じタイプのマルチ・プロセッサを含む対称型マルチ・プロセッサ(SMP)システムであってよい。
メモリ206および不揮発性記憶装置208は、記憶デバイスの例である。記憶デバイスは、一時ベースまたは不揮発性ベースあるいはその両方に関する情報を記憶することができるハードウェアの任意の部分である。メモリ206は、これらの例では、たとえば、ランダム・アクセス・メモリまたは任意の他の適切な揮発性または不揮発性の記憶デバイスであってよい。不揮発性記憶装置208は、具体的な実装形態に応じて様々な形態をとってよい。たとえば、不揮発性記憶装置208は、1つまたは複数の構成要素またはデバイスを含んでよい。たとえば、不揮発性記憶装置208は、ハード・ドライブ、フラッシュ・メモリ、書換可能光ディスク、書換可能磁気テープ、または上記のいくつかの組合せであってよい。不揮発性記憶装置208によって使用される媒体は、取外し可能であってもよい。たとえば、取外し可能なハード・ドライブが、不揮発性記憶装置208のために使用されてよい。
通信ユニット210は、これらの例では、他のデータ処理システムまたはデバイスによって通信を提供する。これらの例では、通信ユニット210は、ネットワーク・インターフェース・カードである。通信ユニット210は、物理的な通信リンクまたは無線通信リンクのいずれかあるいはその両方の使用によって通信を提供する場合がある。
入力/出力ユニット212は、データ処理システム200に接続される場合がある、他のデバイスによってデータの入力および出力を可能にする。たとえば、入力/出力ユニット212は、キーボードおよびマウスによってユーザ入力のための接続を提供してよい。さらに、入力/出力ユニット212は、プリンタに出力を送る場合がある。ディスプレイ214は、ユーザに情報を表示するためのメカニズムを提供する。
オペレーティング・システムおよびアプリケーションまたはプログラム用の命令は、不揮発性記憶装置208上に配置される。これらの命令は、プロセッサ・ユニット204による実行のためにメモリ206内にロードされる場合がある。様々な実施形態のプロセスは、メモリ206などのメモリ内に配置される場合がある、コンピュータ実装される命令を使用してプロセッサ・ユニット204によって実行される場合がある。これらの命令は、プロセッサ・ユニット204内のプロセッサによって読まれ実行される場合がある、プログラム・コード、コンピュータ使用可能プログラム・コード、またはコンピュータ可読プログラム・コードと呼ばれる。様々な実施形態におけるプログラム・コードは、メモリ206または不揮発性記憶装置208などの、様々な物理的または有形のコンピュータ可読媒体上で具現化されてよい。
プログラム・コード216は、選択的に取外し可能であるコンピュータ可読媒体218上に関数形式で配置され、プロセッサ・ユニット204による実行のためにデータ処理システム200上にロードされるか、またはデータ処理システム200に転送されてよい。プログラム・コード216およびコンピュータ可読媒体218は、これらの例では、コンピュータ・プログラム製品220を形成する。一例では、コンピュータ可読媒体218は、不揮発性記憶装置208の一部であるハード・ドライブなどの記憶デバイス上に転送するための不揮発性記憶装置208の一部である、あるドライブまたは他のデバイス内に挿入または配置される、たとえば光ディスクまたは磁気ディスクなどの有形の形態のものであってよい。有形の形態では、コンピュータ可読媒体218は、データ処理システム200に接続される、ハード・ドライブ、サム・ドライブ、またはフラッシュ・メモリなどの不揮発性記憶装置の形態をとってもよい。コンピュータ可読媒体218の有形の形態は、コンピュータ記録可能記憶媒体とも呼ばれる。場合によっては、コンピュータ記録可能媒体218は、取外し可能でない場合がある。
代替として、プログラム・コード216は、通信ユニット210への通信リンクまたは入力/出力ユニット212への接続あるいはその両方を通して、コンピュータ可読媒体218からデータ処理システム200に転送されてよい。通信リンクまたは接続あるいはその両方は、例示的な例では、物理的または無線であってよい。コンピュータ可読媒体は、プログラム・コードを含む、通信リンクまたは無線伝送などの無形の媒体の形態をとってもよい。データ処理システム200用として説明した様々な構成要素は、様々な実施形態が実装される場合がある方式に、アーキテクチャ面の限定を与えることを意味すべきでない。様々な例示的な実施形態は、データ処理システム200用として説明したものに加えて、またはそれらの代わりに、複数の構成要素を含むデータ処理システム内に実装されてよい。図2に示した他の構成要素は、図示した例示的な例と異なる可能性がある。一例として、データ処理システム200内の記憶デバイスは、データを記憶する場合がある任意のハードウェア装置である。メモリ206、不揮発性記憶装置208、およびコンピュータ可読媒体218は、有形の形態における記憶デバイスの例である。
別の例では、バス・システムは、通信構造202を実装するために使用される場合があり、システム・バスまたは入力/出力バスなどの、1つまたは複数のバスから構成される場合がある。当然、バス・システムは、バス・システムに取り付けられた様々な構成要素またはデバイス間のデータの転送を提供する任意の適切なタイプのアーキテクチャを使用して実装されてよい。加えて、通信ユニットは、モデムまたはネットワーク・アダプタなどの、データを伝送および受信するのに使用される1つまたは複数のデバイスを含んでよい。さらに、メモリは、たとえば、通信構造202内に存在する場合がある、インターフェースおよびメモリ・コントローラ・ハブに見いだされるメモリ206またはキャッシュであってよい。
本発明の動作を実行するためのコンピュータ・プログラム・コードは、Java(R)、Smalltalk(R)、C++、C#、Objective−Cなど、および従来の手続き型プログラミング言語などの、オブジェクト指向プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれてよい。プログラム・コードは、ユーザのコンピュータ上で完全に、ユーザのコンピュータ上で部分的に、独立型ソフトウェア・パッケージとして、ユーザのコンピュータ上で部分的にかつリモート・コンピュータ上で部分的に、またはリモート・コンピュータもしくはサーバ上で完全に実行されてよい。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む、任意のタイプのネットワークを通してユーザのコンピュータに接続される場合があり、あるいは、(たとえば、インターネット・サービス・プロバイダを使用してインターネットを通して)外部のコンピュータへの接続がなされる場合がある。Java(R)およびすべてのJava(R)ベースの商標およびロゴマークは、Oracle(R)またはその関連会社あるいはその両方の商標または登録商標である。
当業者は、図1および図2のハードウェアが、実装形態に応じて変化する場合があることを諒解されよう。フラッシュ・メモリ、均等な不揮発性メモリ、または光ディスク・ドライブなどの他の内部ハードウェアまたは周辺デバイスは、図1および図2に示したハードウェアに加えて、またはその代わりに使用されてよい。また、例示的な実施形態のプロセスは、開示された主題の範囲から逸脱することなく、上述したSMPシステム以外のマルチプロセッサ・データ処理システムに適用される場合がある。
わかるように、本明細書に説明する技法は、クライアント・マシンが、1つまたは複数のマシンの組において実行されるインターネット・アクセス可能ウェブ・ベースのポータルと通信する、図1に示した標準的なクライアント−サーバの枠組みと共に動作する場合がある。エンド・ユーザは、ポータルにアクセスしポータルと情報交換することができるインターネット接続可能デバイス(たとえば、デスクトップ・コンピュータ、ノートブック・コンピュータ、インターネット対応モバイル・デバイスなど)を操作する。通常、各クライアントまたはサーバ・マシンは、ハードウェアおよびソフトウェアを含む、図2に示したデータ処理システムであり、これらのエンティティは、インターネット、イントラネット、エクストラネット、プライベート・ネットワーク、または任意の他の通信媒体もしくはリンクなどのネットワークを介して互いに通信する。データ処理システムは、通常、1つまたは複数のプロセッサ、オペレーティング・システム、1つまたは複数のアプリケーション、および1つまたは複数のユーティリティを含む。データ処理システム上のアプリケーションは、特に、限定はされないが、HTTP、SOAP、XML、WSDL、UDDI、およびWSFLのサポートを含む、ウェブ・サービスのネイティブ・サポートを提供する。SOAP、WSDL、UDDI、およびWSFLに関する情報は、これらの規格を開発および維持するのに関与している、ワールド・ワイド・ウェブ・コンソーシアム(W3C)から入手可能であり、さらに、HTTPおよびXMLに関する情報は、インターネット・エンジニアリング・タスク・フォース(IETF)から入手可能である。これらの規格との親和性が仮定される。
さらに背景として、セキュア・ソケット・レイヤ/トランスポート・レイヤ・セキュリティ(SSL/TLS)が、インターネットなどのネットワークを介して通信をセキュアにするのに使用される、よく知られている暗号プロトコルである。SSL/TLSなどの暗号プロトコルは、RSA(Rivest、Shamir、およびAdelman)暗号化アルゴリズムなどの公開キー暗号システムにしばしば基づく。従来のRSAベースのSSLセッションでは、接続の両側が、セッションの残りのためにパラメータを生成するのに使用される、「プリ・マスター・シークレット」(PMS)について合意する。通常、両側は、平文の実際の値を交換することなくプリ・マスター・シークレットを構築するためのRSA非対称暗号化を使用する。動作中、SSLクライアントは、プリ・マスター・シークレットを生成し、SSLサーバの公開されているRSAキーによって、プリ・マスター・シークレットを暗号化する。SSLクライアントは、暗号化されたプリ・マスター・シークレット(ePMS)を生成し、次いで、ePMSは、SSLサーバに提供される。SSLサーバは、プライベート復号化キーを有し、プライベート復号化キーは、次いで、暗号化されたプリ・マスター・シークレットを暗号化解除するために使用される。この時点において、クライアントとサーバのどちらも、元のプリ・マスター・シークレットを有し、実際の暗号化およびセキュアなデータ交換に使用される対称キーを生成するために元のプリ・マスター・シークレットを使用することができる。
ウェブ上の暗号化されたトラフィックは、信頼の連鎖によって起こる。各ウェブ・サーバは、ウェブ・サーバが、それらが名乗るものであることを示すために、各クライアント(通常、ウェブ・ブラウザ)に与えられる証明書を有する。ウェブ・サーバは、しばしば、ウェブ・サーバの正当性を保証することができる局(認証局、すなわちCA)から、これらの証明書を得る。サーバの証明書は、証明書が取得された局(「発行者」)を示す。ウェブ・ブラウザは、通常、それらが信頼する発行者のリストを有する。ウェブ・ブラウザがウェブ・サーバから証明書を与えられたとき、ブラウザは、発行者をチェックし、発行者をその信頼されるリストとマッチングする。マッチすることがわかれば、接続が続き、マッチすることがわからなければ、ブラウザは、通常、警告を与え、接続を拒絶する場合がある。CAは、それが信頼されていること以外の特別なエンティティである必要はない。どんなエンティティも、証明書を信頼させ、または証明書に署名するためにそれ自体を設定することができる。証明書は、それ自体を証明することができ、これは、自己署名証明書と呼ばれる。SSL/TLSを使用してクライアントと相互運用するために、クライアントが暗黙的に信頼する証明書を作成することが必要である。ネットワーク・アプライアンス(以下に説明する)に関して、アドミニストレータが、証明書に署名するためにアプライアンスを信頼するように企業クライアントを構成することができることが仮定される。その際、実質的に、アプライアンスの発行者は、信頼される発行者のブラウザのリスト上にある。
ネットワークに接続されたセキュアなアプライアンス
ネットワーク・アプライアンスは、通常、ラック・マウント式のデバイスである。このデバイスは、アプライアンスが機密情報のセキュアなボールトとして機能することを可能にする物理的なセキュリティを含む。通常、本アプライアンスは、製造され、ソフトウェアを予めロードされ、次いで、企業もしくは他のネットワーク動作環境内で、またはそれらに関連して展開され、代替として、ボックスは、局所的に配置され、次いで、たとえば、プライベートまたは業務用のクラウド・コンピューティング環境内でセキュアに展開および管理することができる、標準のまたはカスタマイズされたミドルウェア仮想画像をプロビジョニングされる場合がある。本アプライアンスは、場合によりハード・ディスク上でデータを暗号化するためのハードウェアおよびファームウェアの暗号サポートを含む場合がある。管理するユーザを含むユーザは、物理的ディスク上のどんなデータにもアクセスすることができない。特に、オペレーティング・システム(たとえば、Linux(R))は、ルート・アカウントをロックダウンし、コマンド・シェルを提供せず、ユーザは、ファイル・システムへのアクセスができないことが好ましい。通常、アプライアンスは、表示デバイス、CDもしくは他の光デバイス、または任意のUSB、ファイヤワイヤもしくはデバイスを接続することができる他のポートを含まない。アプライアンスは、限られたアクセス性の密閉されたセキュアな環境になり、その際、認証および認可された個体だけになるように設計される。Linux(R)は、米国、他の国、またはその両方においてLinus Torvaldsの登録商標である。
図3を参照すると、代表的な動作環境は、ネットワーク302に接続する物理的アプライアンス300を含む。本アプライアンスは、図2に関して上述したデータ処理システムを使用して実装される場合があり、図1に示したサーバ(またはクライアント)の1つを表す場合がある。通常、アプライアンス300は、Web2.0ベースのユーザ・インターフェース(UI)、コマンド・ライン・インターフェース(CLI)、およびRESTベースのアプリケーション・プログラミング・インターフェース(API)を含む。この例では、アプライアンスは、オペレーティング・システム304、アプリケーション・サーバ306、HTTPサーバ308、および他のアプリケーション・プログラム310を含む画像をプロビジョニングされた。追加のソフトウェア・ソリューション(図示せず)が、画像内に含まれる場合がある。これらのソフトウェア要素は、他のデータ(たとえば、テンプレート、スクリプト、ファイルなど)を含む場合があるアプライアンス上に予めロードされる場合がある。具体的なソフトウェア構成は、当然、アプライアンスから作成される使用法に依存する。本アプライアンスは、複数の記憶デバイスの1つ(たとえば、ディスク315)を含む。記憶デバイスのタイプおよび数は、様々であってよい。
セキュアなネットワーク通信のインターセプション、暗号化解除、および検査
さらなる背景として、図4は、既知の技法による、セキュアなネットワーク通信をインターセプトし、暗号化解除し、検査するための既知のマン・イン・ザ・ミドル(MITM)デバイス400の基本動作を示す。このデバイスは、上述し図3に示したセキュアなネットワーク・アプライアンス内に実装される。より一般的には、このデバイスは、図1に示したコンピューティング・システムである。
図示したように、デバイス400は、クライアント402とサーバ404との間に接続される。クライアントおよびサーバは、SSLまたはTLSを使用して通信をセキュアにするようにプロビジョニングされる。SSL/TLSとの親和性が仮定される。この実施形態では、デバイス400は、2つの独立したSSL/TLSセッション、すなわち、一方はターゲット・サーバ404までのクライアント・プロセスXSS406、他方は開始したクライアント402までのサーバ・プロセスXCS408を作成および管理することによって、クライアント402とサーバ404との間の透過的な(またはマン・イン・ザ・ミドルの)プロキシを提供する。XSSおよびXCSの構成要素は、本明細書ではSSLインスタンスと呼ばれることがあり、SSLインスタンスは、通常、SSLセッションを作り出すコードの一部分である。SSLセッション(またはセッション・コンテキスト)は、2つのエンドポイント間で起こる通信自体である。したがって、中間プロキシ400は、サーバ404にはクライアントに見え、クライアント402には目的のサーバに見える。クライアント402から開始された通信、およびサーバ404から受け取った任意の応答は、次いで、検査(または書換えなどの他の処理)および後続の動作に利用可能である。この目的で、デバイス400は、ネットワークの脅威を識別し場合によりそれを軽減するためのパケット検査機能を提供する、プロトコル分析モジュール(たとえば、IBM(R) Security Network Protection PAM)を含む場合がある。このモジュール(または、サポートされる場合がある他のパケット検査アプライアンス)の具体的な詳細は、本開示の態様ではない。
動作中、図4でわかるように、最初のTCPハンドシェーク(図示せず)に続いて、クライアント402は、サーバに対するSSL/TLSハンドシェークを開始するために、SSL/TLSセッション初期要求メッセージ(以下、「クライアント・ハロー」と呼ばれる)を生成する。これがステップ1である。プロキシは、この接続をインターセプトして、この接続をクライアントに面したサーバ構成要素XCS408に導く。ステップ2において、XCS構成要素は、クライアント・ハローを読み、データを解釈し、通常、サーバ・ハロー・メッセージ、証明書、およびサーバ完了メッセージと共にクライアント402に応答する。ステップ3では、最新のSSL接続が構成され、アプライアンス内に設定される。これは、XSSによって開始されたサーバに面した接続である。XSSは、次いで、新規のクライアント・ハロー(ステップ1のクライアント・ハローと区別するためにクライアント・ハロー2と呼ばれる)を生成し、(新規の)クライアント・ハローをサーバに送る。ステップ4では、サーバ404は、新規のクライアント・ハローを読み、サーバ・ハロー2、証明書2、およびサーバ完了2と共に応答する。これらのメッセージは、さらにまた、ステップ2におけるクライアントまでのXCSによって発行されたメッセージとは異なる。その結果、一方はクライアント402とXCS408との間、他方はXSS406とサーバ404との間の2つの異なる接続が存在する。この時点において、接続が検査されることが望まれる(クライアント−サーバ)接続でないと(たとえば、PAMまたは他のアプリケーションにおける)MITM処理が判定した場合、このシステムは、(おそらく結果を無視して)この接続を検査し続けるか、またはその接続を完全に停止しなければならない。この判定は、サーバから受け取った証明書(上記の証明書2)内の情報に対するポリシー・ベースのルール・マッチングを実行することなどの、任意の便利な方式に基づく場合がある。
TLS検査におけるキャッシュのないセッション・チケット・サポート
上記の背景として、次に、本開示のTLS検査におけるキャッシュのないセッション・チケット・サポートについて説明する。インターネットRFC5077によるTLSセッション・チケットとの親和性が仮定される。技法が実装される場合がある代表的な市販の製品は、IBM(R) QRadar(R) Network Security(XGS)(以前は、IBM(R) Security Network Protection(XGS)として知られていた)、次世代侵入防止システム(IPS)である。当然、この市販の製品の識別情報は、この手法がいずれの中間のデバイス、アプライアンス、製品、またはシステムにおいて実行される場合があるので、限定を目的としていない。IBM(R)およびQRadar(R)は、世界中の多くの管轄区域で登録されたInternational Business Machine Corporationの商標である。
上述したように、本開示によれば、説明したネットワーク・ベースのアプライアンスは、セッション・キャッシュがインスペクタ内に維持されることを必要とすることなく、本アプライアンスがセッション再開と共にTLS検査をもたらすことを可能にするメカニズムを含む。この目的で、インスペクタは、セッション・キャッシュなしに(または、代替として、使用されないキャッシュと共に)構成され、したがって、セッション・チケット(TLSサーバから受け取った)とセッション・コンテキストとの間のマッピングを維持しなくなる。代わりに、インスペクタは、実質的にTLSインスペクタの代わりに、セッション・コンテキストを維持することにTLSクライアントを参加させるように構成される。動作中に、インスペクタが、セッション・チケットをキャッシングする代わりに、TLSサーバからセッション・チケットを最初に受け取るとき、インスペクタは、元のチケットと、セッション・キーを含むセッション・コンテキスト情報とを含む複合チケットを生成し、その複合チケットをクライアントに発行する。複合チケット(または複合セッション・チケット)は、セッション情報をセキュアにするためにインスペクタによって暗号化されるのが好ましい。TLSクライアントが、TLS接続を再開するために、複合セッション・チケットを(インスペクタに再び)与えるとき、インスペクタは、チケットを暗号化解除し、チケットからセッション・コンテキストを直接取り出す。次いで、インスペクタは、TLSセッションを再開するために元のセッション・チケットを使用する。この手法は、TLSインスペクタにおける、任意のキャッシュ検索、またはローカル・セッション・キャッシュを維持する必要性さえも除去する。むしろ、実質的に、複合チケットは、セッション・チケット自体のためのキャッシュになる。
よく知られているように、本アプライアンスは、たとえば、サーバ証明書またはその他に対するルール・マッチングを行うと、MITMプロセス(プロキシ・ベースまたはその他)が、(検査なしに)元の接続を再開し、元のエンドポイントに再接続するのを可能にするためのメカニズムを含むことが仮定される。TLSサポートにおけるセッション・チケットは、この目的のために使用される。
図5は、TLSにおける従来のセッション・チケットを示すフロー図、すなわち、セッション・キャッシュを含むインスペクタ500を有するフロー図を示す。標準的なTLSハンドシェークのセマンティクスとの親和性が仮定される。図示したように、図5のフロー図は、TLSクライアント502とTLSサーバ504との間の中間に配置されたインスペクタを示す。従来のTLSハンドシェークのフローでは、クライアント502は、サーバ504にクライアント・ハローを発行する。これがステップ506である。ステップ508では、サーバ504は、様々なメッセージ、すなわち、サーバ・ハロー、証明書、サーバ・キー交換、およびサーバ・ハロー完了と共に応答する。セッション・コンテキスト情報(暗号スイート、マスター・キーなど)が、ステップ510においてインスペクタ500によって記憶される。ステップ512では、クライアント502は、サーバに、様々なメッセージ、すなわち、クライアント・キー交換、随意的な暗号仕様変更、および終了を返す。サーバ504は、次いで、メッセージの別の組、すなわち、新規セッション・チケット、暗号仕様変更メッセージ(クライアントによって送られていた場合)に対する任意の応答、および終了と共に応答する。これは、最初のTLSハンドシェークを完了させる。ステップ516では、インスペクタ500は、そのローカル・キャッシュ内に新規チケットを記憶する。ステップ518に示したように、アプリケーション・データが、使用の際に、クライアント502とサーバ504との間を流れる。インスペクタ500は、1つまたは複数のインスペクタ機能を実行するために、ステップ520に示したように、ペイロードを暗号化解除するのにチケット内のセッション情報を使用する。インスペクタはまた、クライアントに再びセッション・チケットを渡す。
インスペクタによる1つまたは複数の動作がセッションに割り込み、したがって、セッション再開を実行するためのインスペクタの機能を要求する。この目的で、ステップ522に示したように、クライアントが別のクライアント・ハローを発行し、この時にセッション・チケットを渡す。ステップ524では、インスペクタは、そのローカル・キャッシュ内のセッション・チケットの検索を実行する。チケットがマッチした場合、インスペクタ500は、サーバに新規のクライアント・ハローを発行し、セッション・チケットを渡すことが仮定される。これがステップ526である。ステップ528では、サーバ504は、様々なメッセージ、すなわち、サーバ・ハロー、証明書、随意的な暗号仕様変更、および終了と共に応答する。ステップ530では、クライアント502は、次いで、メッセージの組、すなわち、暗号仕様変更メッセージ(サーバによって送られていた場合)に対する任意の応答、および終了と共に応答する。これは、セッション再開に必要な後続のTLSハンドシェークを完了させる。ステップ532では、インスペクタ500は、そのキャッシュから(ステップ510において記憶された)1つまたは複数のセッション・キーを取得する。通常、セッション(クライアント/インスペクタ間、およびインスペクタ/サーバ間)ごとに1つの、合計2つのセッション・キーが存在する。次いで、クライアントとサーバとの間で、アプリケーション・データが渡される(ステップ532)ので、インスペクタは、必要に応じて、ペイロードを暗号化解除するためにセッション・キーを使用する。これがステップ534である。
図6は、図5と同様であるが、この図面は、本開示の技法による、従来のセッション・キャッシング手法に対する変更を示す。説明してきたように、修正された技法は、TLS検査において「キャッシュのない」セッション・チケット・サポートを提供する。この目的で、インスペクタは、セッション・チケット(TLSサーバから受け取った)とセッション・コンテキストとの間のマッピングを維持しなくなるように構成される。代わりに、インスペクタは、実質的にTLSインスペクタの代わりに、セッション・コンテキストを維持することにTLSクライアントを参加させるように構成される。この手法は、TLSインスペクタにおける、任意のキャッシュ検索、またはローカル・セッション・キャッシュを維持する必要性さえも除去する。むしろ、実質的に、インスペクタとクライアントとの間の情報交換は、インスペクタがそれ自体のセッション・キャッシュから要求側のクライアントにキャッシングをオフロードする方法を提供し、要求側のクライアントが、(変更された形式であっても)結局セッション・チケットを記憶する。実質的に、クライアントは、セッション・チケット自体のキャッシュになる。
動作中に、インスペクタが、セッション・チケットをキャッシングする代わりに、TLSサーバからセッション・チケットを最初に受け取るとき、インスペクタは、元のチケットと、セッション・キーを含むセッション・コンテキスト情報とを含む複合チケットを生成し、その複合チケットをクライアントに発行する。複合チケット(または複合セッション・チケット)は、セッション情報をセキュアにするためにインスペクタによって暗号化されるのが好ましい。TLSクライアントが、TLS接続を再開するために、複合セッション・チケットを(インスペクタに再び)与えるとき、インスペクタは、チケットを暗号化解除し、チケットからセッション・コンテキストを直接取り出す。次いで、インスペクタは、TLSサーバへのTLSセッションを再開するために元のセッション・チケットを使用する。
キャッシュのないセッション・チケット・サポートは、図6に示される。もう一度、インスペクタ600は、TLSクライアント602とTLSサーバ604との間の中間に配置されるように示される。図5とは異なり、インスペクタ600は、セッション・キャッシュを含む必要がない。従来のTLSハンドシェークのフローと同様に、クライアント602は、サーバ604にクライアント・ハローを発行する。これがステップ606である。ステップ608では、サーバ404は、様々なメッセージ、すなわち、サーバ・ハロー、証明書、サーバ・キー交換、およびサーバ・ハロー完了と共に応答する。もう一度、セッション・コンテキスト情報(暗号スイート、マスター・キーなど)が、ステップ610においてインスペクタ600によって記憶される。ステップ612では、クライアント602は、様々なメッセージ、すなわち、クライアント・キー交換、随意的な暗号仕様変更、および終了を返す。しかし、この時、これらのメッセージは、(図5と同様に)サーバに渡される代わりに、インスペクタによってインターセプトされる。ステップ614では、サーバ604は、新規セッション・チケット・メッセージ、随意的な暗号仕様変更メッセージ、および終了メッセージを提供する。新規セッション・チケットは、元のセッション・チケットを含む。ステップ616では、(図5のステップ516と同様に)サーバ604によって提供された元のセッション・チケットを記憶する代わりに、インスペクタ600は、[A]と呼ばれる新規セッション・チケットを生成する。新規セッション・チケットを生成するための好ましい技法のさらなる詳細は、以下に説明する。次いで、インスペクタ600は、クライアント602に、メッセージの組、すなわち、新規セッション・チケット[A]、随意的な暗号仕様変更、および終了を出力する。これがステップ618である。新規セッション・チケット[A]メッセージは、新規セッション・チケット[A]を含む。ステップ620では、アプリケーション・データが、クライアント602とサーバ604との間を流れる。インスペクタ600は、1つまたは複数のインスペクタ機能を実行するために、ステップ622に示したように、ペイロードを暗号化解除するのにチケット内のセッション情報を使用する。
上述のように、インスペクタによる1つまたは複数の動作がセッションに割り込み、したがって、セッション再開を実行するためのインスペクタ600の機能を要求する。この目的で、ステップ624に示したように、クライアントが別のクライアント・ハローを発行し、この時にインスペクタに再び新規セッション・チケット[A]を渡すことが仮定される。ステップ626では、インスペクタ600は、元のセッション・チケット([B]と呼ばれる)を復元しセッション情報を復元するために新規セッション・チケット[A]を暗号化解除する。ステップ628では、インスペクタ600は、クライアント・ハローにおいてチケット[A]をチケット[B]と交換し、ステップ630では、インスペクタ600は、サーバ604にクライアント・ハロー(セッション・チケット[B]を有する)を送る。ステップ632では、サーバ604は、様々なメッセージ、すなわち、サーバ・ハロー、証明書、暗号仕様変更、および終了と共に応答する。ステップ634では、クライアント602は、次いで、メッセージの組、すなわち、暗号仕様変更および終了と共に応答する。これは、セッション再開に必要な後続のTLSハンドシェークを完了させる。ステップ636では、インスペクタ600は、ステップ626においてチケット[A]から抽出されたセッション情報から、セッション・キーを取得する。次いで、クライアントとサーバとの間で、アプリケーション・データが渡される(ステップ638)ので、インスペクタ600は、必要に応じて、ペイロードを暗号化解除するためにセッション・キーを使用する。これがステップ640である。
要約すると、図5のステップ514、516、および524を図6のステップ616、618、および626と比較することによってわかるように、本明細書の手法は、インスペクタ自体においてセッション・チケットをキャッシングすることを除去する。むしろ、インスペクタが、セッション・チケットをキャッシングする代わりに、TLSサーバからセッション・チケットを最初に受け取るとき、インスペクタは、元のチケットと、セッション・キーを含むセッション・コンテキスト情報とを含む複合チケットを生成し、その複合チケットをクライアントに発行する。複合チケット(または複合セッション・チケット)は、セッション情報をセキュアにするためにインスペクタによって暗号化されるのが好ましい。TLSクライアントが、TLS接続を再開するために、複合セッション・チケットを(インスペクタに再び)与えるとき、インスペクタは、チケットを暗号化解除し、チケットからセッション・コンテキストを直接取り出す。次いで、インスペクタは、TLSサーバへのTLSセッションを再開するために元のセッション・チケットを使用する。
以下は、新規セッション・チケットを生成するための好ましい技法について説明する。これが図6のステップ616である。新規セッション・チケットが次のように生成されるのが好ましい。暗号化(変換(元のセッション・チケット、セッション情報)、暗号化キー)。ここで、セッション情報は暗号スイート、マスター・キーなどの暗号情報を含む。この変換は、識別されたデータ、すなわち、元のセッション・チケット、セッション情報を互いに組み合わせる任意の方法または計算であり、暗号化は、新規セッション・チケットを保護することができる任意の暗号化アルゴリズムを表す。通常の変換は、連結演算である場合があるが、より複雑な計算方法が変換に適用される場合があるので、これは、限定ではない。当然、変換は、元のデータを復元することができるように、関連の逆変換を有しなければならない。暗号化ラッパーでは、通常のソリューションは、新規セッション・チケットを後にクライアントから受け取ったとき、暗号化キーが、暗号化解除に使用される関連のプライベート・キーまたはシークレット・キーを有する公開キーとなるように、公開キー暗号化を利用する場合がある。したがって、上述したように、新規セッション・チケットは、TLSセッションに関連する、元のセッション・チケットおよびセッション・コンテキスト情報に、変換関数を最初に適用することによって生成され、次に、暗号化関数が変換の結果に適用される。変換を適用した結果は、本明細書では、「複合」セッション・チケットまたは新規セッション・チケットと呼ばれることがある。インスペクタは、クライアントに、暗号化された新規セッション・チケットを出力する。
インスペクタが後続のクライアント・ハローにおいてクライアントから暗号化された新規セッション・チケットを受け取ったとき、元のセッション・チケット、セッション情報を取得(復元)するために、インスペクタがチケットを暗号化解除し、次いで、クライアント・ハローを元のセッション・チケットと交換することによって、セッションが再開される。上述のように、インスペクタにおいて維持される公開キーの対のプライベート・キーを使用することによって、暗号化解除が実行されることが好ましい。2つの暗号化解除動作、すなわち、Get_Ticket(暗号化解除(新規セッション・チケット))およびGet_SessionInfo(暗号化解除(新規セッション・チケット))が存在するのが好ましい。暗号化解除が成功すれば、暗号化解除されたペイロードは、元のセッション・チケットおよびセッション情報を含むはずである。Get_Ticket機能は、元のセッション・チケットを取得/復元し、Get_SessionInfoは、ペイロードを暗号化解除するのに必要なマスターTLSキーなどのセッション情報を取得する。
上述の手法は、多くの利点を提供する。TLSセッション・チケット・サポートを提供する現行のTLSインスペクタ・マシンは、説明した手法によって克服される、いくつかの欠点を有する。最初に、インスペクタ内にセッション・キャッシュを維持する必要性がない。その結果、この手法の既知の欠点(不十分な拡張性、処理およびメモリの非効率性、サービス拒否(DoS)悪用の可能性)が克服される。この手法は、計算効率の良い方式で追加の機能を容易に実施することができるので、実施するのが簡単である。この手法は、極めて信頼性が高く、セキュアである。セッション・チケット自体のキャッシングをオフロードすることによって、この手法は、インスペクタ・メカニズムのより十分な性能を提供し、それによって、中間ノードの動作全体を向上させる。
本明細書の技法は、TLSサポート・インフラストラクチャの拡張も容易にする。したがって、たとえば、複数のインスペクタが実装されるとき、変換関数が、好ましくは前もって、インスペクタ全体にわたって(たとえば、複合チケットを暗号化解除するのに必要なキーを共有することによって)同期される限り、すべてのインスペクタは、複合セッション・チケットを理解し、次いで、検査を再開することができる。
これらの技法は、プロキシのコンテキストで説明してきたが、このことは、限定ではない。要約すれば、本明細書に説明した処理は、クライアントとサーバとの間に配置された任意の中間ノードにおいて実行されてよい。そのような一実施形態では、中間ノードは、透過的なインライン・コンテンツの検査および修正を提供する。クライアントおよびサーバは、コンピューティング・エンティティ(エンドポイント)である。中間ノードは、物理的デバイス、仮想デバイス、またはそのいくつかの組合せとして構成されてよい。中間ノードは、上述した方式でセキュリティ検査を実行することができるように、限定はされないが、暗号化された(SSL/TLS)セッションの暗号化解除を含む、いくつかの異なる用途に使用することができる。
好ましい動作環境および使用の事例(セキュアなアプライアンス)について説明してきたが、本明細書の技法は、コンピューティング・システムもしくはデバイスから、またはそれらに、あるいはそれらとの間で、ネットワーク・トラフィックをインターセプト、暗号化解除、検査、または修正する(書き換える)、あるいはその組合せを行うことが望まれる、任意の他の動作環境において使用されてよい。
説明してきたように、上述した機能は、プロセッサによって実行されるソフトウェア・ベースの機能などの独立型の手法として実装されるか、または、あるサービス(SOAP/XMLインターフェースを介したウェブ・サービスを含む)として入手可能である場合がある。本明細書に説明した具体的なハードウェアおよびソフトウェアの実装形態の詳細は、例示のためだけにあり、説明した主題の範囲を限定するものではない。
より一般的には、開示された主題のコンテキスト内のコンピューティング・デバイスは各々、ハードウェアおよびソフトウェアを含むデータ処理システム(図2に示した)であり、これらのエンティティは、インターネット、イントラネット、エクストラネット、プライベート・ネットワーク、または任意の他の通信媒体もしくはリンクなどのネットワークを介して互いに通信する。データ処理システム上のアプリケーションは、限定はされないが、特に、HTTP、FTP、SMTP、SOAP、XML、WSDL、UDDI、およびWSFLのサポートを含む、ウェブおよび他の既知のサービスおよびプロトコルのネイティブ・サポートを提供する。SOAP、WSDL、UDDI、およびWSFLに関する情報は、これらの規格を開発および維持するのに関与している、ワールド・ワイド・ウェブ・コンソーシアム(W3C)から入手可能であり、さらに、HTTP、FTP、SMTP、およびXMLに関する情報は、インターネット・エンジニアリング・タスク・フォース(IETF)から入手可能である。これらの既知の規格およびプロトコルとの親和性が仮定される。
本明細書に説明した技法は、様々なクライアント側のアーキテクチャ(たとえば、ファイアウォール、NATデバイス)において、またはそれに関連して、および、簡単なn層アーキテクチャ、ウェブ・ポータル、連合システムなどを含む、様々なサーバ側のアーキテクチャにおいて、またはそれに関連して、実装される場合がある。本明細書の技法は、緩く結合されたサーバ(「クラウド」ベースを含む)環境において実践されてよい。
さらにより一般的には、本明細書に説明した主題は、完全なハードウェア実施形態、完全なソフトウェア実施形態、またはハードウェア要素とソフトウェア要素の両方を含む実施形態の形態をとることができる。好ましい実施形態では、信頼されるプラットフォーム・モジュール機能は、限定はされないが、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むソフトウェア内に実装される。さらに、ダウンロードおよび削除のインターフェースおよび機能は、コンピュータまたは任意の命令実行システムによって、またはそれらに関連して使用するためのプログラム・コードを提供するコンピュータ使用可能媒体またはコンピュータ可読媒体からアクセス可能なコンピュータ・プログラム製品の形態をとることができる。この説明のために、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって、またはそれらに関連して、使用するためのプログラムを含むか、または記憶することができる任意の装置とすることができる。この媒体は、電子的、磁気的、光学的、電磁的、赤外線の、または半導体のシステム(または装置、またはデバイス)とすることができる。コンピュータ可読媒体の例は、半導体メモリまたは固体メモリ、磁気テープ、取外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、剛性のある磁気ディスク、および光ディスクを含む。光ディスクの現行の例は、コンパクト・ディスク−リード・オンリ・メモリ(CD−ROM)、コンパクト・ディスク−読取り/書込み(CD−R/W)、およびDVDを含む。コンピュータ可読媒体は、有形の非一過性の製品である。
コンピュータ・プログラム製品は、説明した機能の1つまたは複数を実施するためのプログラム命令(またはプログラム・コード)を有する製品であってよい。これらの命令またはコードは、ネットワークを介して遠隔のデータ処理システムからダウンロードされた後、データ処理システム内の非一過性のコンピュータ可読記憶媒体内に記憶されてよい。あるいは、これらの命令またはコードは、サーバ・データ処理システム内のコンピュータ可読記憶媒体内に記憶され、遠隔のシステム内のコンピュータ可読記憶媒体内で使用するための遠隔のデータ処理システムにネットワークを介してダウンロードされるように構成されてよい。
代表的な実施形態では、インターフェースおよびユーティリティは、専用コンピューティング・プラットフォーム内に、好ましくは、1つまたは複数のプロセッサによって実行されるソフトウェア内に実装される。ソフトウェアは、1つまたは複数のプロセッサに関連する、1つもしくは複数のデータ・ストアまたはメモリ内に維持され、ソフトウェアは、1つまたは複数のコンピュータ・プログラムとして実装される場合がある。集合的に、この専用ハードウェアおよびソフトウェアは、上述した機能を含む。
上記は、本発明のいくつかの実施形態によって実行される動作の具体的な順序について説明してきたが、そのような順序は、代替の実施形態が、異なる順序で動作を実行し、いくつかの動作を組み合わせ、いくつかの動作を重ね合わせることなどを行う場合があるので、例示であることを理解されたい。明細書における所与の実施形態への参照は、説明した実施形態が、特定の特徴、構造、または特性を含む場合があるが、すべての実施形態が、特定の特徴、構造、または特性を含む必要がない場合があることを示す。
最後に、本システムの所与の構成要素について別個に説明してきたが、当業者は、機能のいくつかが、所与の命令、プログラム・シーケンス、コード部分などにおいて組み合わされるか、または共有される場合があることを諒解されよう。
本アプライアンスは、どんな特定のタイプにも限定されない。上述の動作は、同様に、マシンの物理的構成に関わらず、それ自体が任意のマシンからのデータをインターセプト、暗号化解除、検査、修正、書換え、および再暗号化を行うために使用される任意の既知の技法またはメカニズムに関連して使用される場合がある。
本明細書の技法は、概略的には、技術または技術分野に対する上述の改良、および上述した、ネットワークに接続されるセキュアなアプライアンスに対する特定の技術的な改良をもたらす。
セッション・キャッシュのないTLSインスペクタを提供する概念(本技法の「キャッシュのない」性質)は、TLSインスペクタが、通常の構成であるが、そのようなキャッシュなしに物理的に構成されることを必ずしも必要としない。利用されないか、またはそれ以外にバイパスされたセッション・キャッシュを有するTLSインスペクタは、以下に特許請求される、開示された主題の範囲内にある。したがって、本明細書に使用される「キャッシュのない」は、セッション・キャッシュが削除されるか、または存在しても利用されないことを意味する。

Claims (19)

  1. トランスポート・レイヤ・セキュリティ(TLS)クライアントとTLSサーバとの間に配置されTLSセッション中にTLS検査機能を提供する、中間ノード内で実行可能な方法であって、
    前記TLSサーバから元のセッション・チケットを受け取ると、新規セッション・チケットを生成することと、
    前記新規セッション・チケットに暗号化関数を適用することと、
    前記暗号化された新規セッション・チケットを前記TLSクライアントに出力することと、
    前記TLSクライアントから前記暗号化された新規セッション・チケットを受け取ると、前記元のセッション・チケットおよびセッション・コンテキスト情報を復元するために前記暗号化された新規セッション・チケットを暗号化解除することと、
    前記TLSセッションを再開するために前記復元された元のセッション・チケットおよび前記セッション・コンテキスト情報を使用することと
    を含む、方法。
  2. 前記新規セッション・チケットが、前記TLSセッションに関連する、前記元のセッション・チケットおよびセッション・コンテキスト情報に、変換関数を適用することによって生成される、請求項1に記載の方法。
  3. 前記変換関数が、前記元のセッション・チケットと前記セッション・コンテキスト情報を連結する、請求項2に記載の方法。
  4. 前記暗号化された新規セッション・チケットを、クライアント・ハロー内で前記TLSクライアントから受け取る、請求項1ないし3のいずれかに記載の方法。
  5. 前記TLSセッションが、前記クライアント・ハロー内の前記暗号化された新規セッション・チケットを、前記元のセッション・チケットと交換し、前記クライアント・ハローを前記TLSサーバに転送することによって少なくとも部分的に再開される、請求項4に記載の方法。
  6. 前記セッション・コンテキスト情報を使用することが、セッション・キーを取得することを含む、請求項1ないし5のいずれかに記載の方法。
  7. 前記元のセッション・チケットのペイロードを暗号化解除するために前記セッション・キーを使用することをさらに含む、請求項6に記載の方法。
  8. 前記新規セッション・チケットが生成され、前記暗号化された新規セッション・チケットが、セッション・キャッシュ内の前記元のセッション・チケットをキャッシングする代わりに出力される、請求項1ないし7のいずれかに記載の方法。
  9. 装置であって、
    プロセッサと、
    前記プロセッサによって実行されるコンピュータ・プログラム命令を保持するコンピュータ・メモリであって、前記コンピュータ・プログラム命令が、
    TLSサーバから元のセッション・チケットを受け取ると、新規セッション・チケットを生成することと、
    前記新規セッション・チケットに暗号化関数を適用することと、
    前記暗号化された新規セッション・チケットをTLSクライアントに出力することと、
    前記TLSクライアントから前記暗号化された新規セッション・チケットを受け取ると、前記元のセッション・チケットおよびセッション・コンテキスト情報を復元するために前記暗号化された新規セッション・チケットを暗号化解除することと、
    TLSセッションを再開するために前記復元された元のセッション・チケットおよび前記セッション・コンテキスト情報を使用することと
    を行うように構成されたプログラム・コードを含む、前記コンピュータ・メモリと
    を含む、装置。
  10. 前記新規セッション・チケットが、前記TLSセッションに関連する、前記元のセッション・チケットおよびセッション・コンテキスト情報に、変換関数を適用することによって生成される、請求項9に記載の装置。
  11. 前記変換関数が、前記元のセッション・チケットと前記セッション・コンテキスト情報を連結する、請求項10に記載の装置。
  12. 前記暗号化された新規セッション・チケットを、クライアント・ハロー内で前記TLSクライアントから受け取る、請求項9ないし11のいずれかに記載の装置。
  13. 前記TLSセッションが、前記クライアント・ハロー内の前記暗号化された新規セッション・チケットを、前記元のセッション・チケットと交換し、前記クライアント・ハローを前記TLSサーバに転送することによって少なくとも部分的に再開される、請求項12に記載の装置。
  14. 前記セッション・コンテキスト情報を使用することが、セッション・キーを取得することを含む、請求項9ないし13のいずれかに記載の装置。
  15. 前記元のセッション・チケットのペイロードを暗号化解除するために前記セッション・キーを使用することをさらに含む、請求項14に記載の装置。
  16. 前記新規セッション・チケットが生成され、前記暗号化された新規セッション・チケットが、セッション・キャッシュ内の前記元のセッション・チケットをキャッシングする代わりに出力される、請求項9ないし15のいずれかに記載の装置。
  17. トランスポート・レイヤ・セキュリティ(TLS)セッション中のTLS検査機能のためのコンピュータ・プログラム製品であって、
    処理回路によって可読で、請求項1ないし8のいずれかに記載の方法を実行するために前記処理回路による実行のための命令を記憶する、コンピュータ可読記憶媒体
    を含む、コンピュータ・プログラム製品。
  18. コンピュータ可読媒体上に記憶されデジタル・コンピュータの内部メモリ内にロード可能なコンピュータ・プログラムであって、請求項1ないし8のいずれかに記載の方法を実行するために、前記プログラムがコンピュータ上で実行されるとき、ソフトウェア・コード部分を含む、コンピュータ・プログラム。
  19. トランスポート・レイヤ・セキュリティ(TLS)クライアントとTLSサーバとの間に配置された装置であって、
    ハードウェア・プロセッサと、
    コンピュータ・メモリであって、
    前記TLSサーバからセッション・チケットを受け取ることと、それに応答して、(a)複合セッション・チケットを生成することと、(b)前記セッション・チケットをキャッシングする代わりに前記複合セッション・チケットを前記TLSクライアントに出力することと、
    前記TLSクライアントから前記複合セッション・チケットを受け取ることと、それに応答して、(c)前記セッション・チケットを復元することと、(d)前記TLSサーバによってセッションを再開するために前記復元されたセッション・チケットを使用することと
    を行うようにキャッシュのないTLSインスペクタ・メカニズムとして構成されたコンピュータ・プログラム命令を保持する前記コンピュータ・メモリと
    を含む、装置。
JP2019564806A 2017-06-01 2018-05-31 Tls検査のための方法、装置およびプログラム Active JP7436210B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/611,229 2017-06-01
US15/611,229 US10542041B2 (en) 2017-06-01 2017-06-01 Cacheless session ticket support in TLS inspection
PCT/IB2018/053877 WO2018220570A1 (en) 2017-06-01 2018-05-31 Cacheless session ticket support in tls inspection

Publications (3)

Publication Number Publication Date
JP2020522164A true JP2020522164A (ja) 2020-07-27
JP2020522164A5 JP2020522164A5 (ja) 2020-09-03
JP7436210B2 JP7436210B2 (ja) 2024-02-21

Family

ID=64456398

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019564806A Active JP7436210B2 (ja) 2017-06-01 2018-05-31 Tls検査のための方法、装置およびプログラム

Country Status (6)

Country Link
US (1) US10542041B2 (ja)
JP (1) JP7436210B2 (ja)
CN (1) CN110622482B (ja)
DE (1) DE112018001559B4 (ja)
GB (1) GB2577230B (ja)
WO (1) WO2018220570A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023148803A1 (ja) * 2022-02-01 2023-08-10 三菱電機株式会社 動的認可システムおよび動的認可方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10581948B2 (en) 2017-12-07 2020-03-03 Akamai Technologies, Inc. Client side cache visibility with TLS session tickets
US10812468B2 (en) * 2017-12-07 2020-10-20 Sonicwall Inc. Dynamic bypass
US11019034B2 (en) 2018-11-16 2021-05-25 Akamai Technologies, Inc. Systems and methods for proxying encrypted traffic to protect origin servers from internet threats
US11233859B2 (en) * 2019-10-31 2022-01-25 Arm Ip Limited Machine-to-machine communications
CN111866172A (zh) * 2020-07-30 2020-10-30 北京金山云网络技术有限公司 会话票证的处理方法、装置及电子设备
CN113014454B (zh) * 2021-03-05 2022-06-14 中电积至(海南)信息技术有限公司 一种基于ssl、tls协议的用户代理标识及数量检测方法
CN115296847B (zh) * 2022-07-06 2024-02-13 杭州涂鸦信息技术有限公司 流量控制方法、装置、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016500207A (ja) * 2012-10-19 2016-01-07 インテル・コーポレーション ネットワーク環境における暗号化データ検査
US20160315913A1 (en) * 2015-04-24 2016-10-27 Cisco Technology, Inc. Scalable Intermediate Network Device Leveraging SSL Session Ticket Extension
JP2017046179A (ja) * 2015-08-26 2017-03-02 日本電信電話株式会社 端末支援システム、及び端末支援方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050050316A1 (en) 2003-08-25 2005-03-03 Amir Peles Passive SSL decryption
US20060294366A1 (en) * 2005-06-23 2006-12-28 International Business Machines Corp. Method and system for establishing a secure connection based on an attribute certificate having user credentials
US7953861B2 (en) 2006-08-10 2011-05-31 International Business Machines Corporation Managing session state for web applications
US8190875B2 (en) 2007-03-22 2012-05-29 Cisco Technology, Inc. Reducing processing load in proxies for secure communications
US8291231B2 (en) * 2007-11-07 2012-10-16 Nippon Telegraph And Telephone Corporation Common key setting method, relay apparatus, and program
CN102026185B (zh) * 2009-09-18 2014-04-09 中兴通讯股份有限公司 票据的有效性检验方法及网络信令节点
US10091239B2 (en) * 2012-01-24 2018-10-02 Ssh Communications Security Oyj Auditing and policy control at SSH endpoints
US9026784B2 (en) 2012-01-26 2015-05-05 Mcafee, Inc. System and method for innovative management of transport layer security session tickets in a network environment
US9124629B1 (en) * 2013-02-11 2015-09-01 Amazon Technologies, Inc. Using secure connections to identify systems
US10178181B2 (en) * 2014-04-02 2019-01-08 Cisco Technology, Inc. Interposer with security assistant key escrow
US9336391B2 (en) * 2014-06-17 2016-05-10 International Business Machines Corporation Verification of intellectual property core trusted state
US9499297B2 (en) * 2014-07-29 2016-11-22 Mott's Llp Carton blank, carton and container package
US10452850B2 (en) 2014-08-18 2019-10-22 International Business Machines Corporation Protected shell for risk validation
US9641590B2 (en) 2014-08-27 2017-05-02 Google Inc. Resuming session states
CN104702611B (zh) * 2015-03-15 2018-05-25 西安电子科技大学 一种保护安全套接层会话密钥的设备及方法
US10887291B2 (en) * 2016-12-16 2021-01-05 Amazon Technologies, Inc. Secure data distribution of sensitive data across content delivery networks
CN106790285B (zh) * 2017-02-27 2019-09-06 杭州迪普科技股份有限公司 一种会话重用方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016500207A (ja) * 2012-10-19 2016-01-07 インテル・コーポレーション ネットワーク環境における暗号化データ検査
US20160315913A1 (en) * 2015-04-24 2016-10-27 Cisco Technology, Inc. Scalable Intermediate Network Device Leveraging SSL Session Ticket Extension
JP2017046179A (ja) * 2015-08-26 2017-03-02 日本電信電話株式会社 端末支援システム、及び端末支援方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TLSセッション再開(SESSION RESUMPTION)のしくみ, JPN6022021862, 25 July 2016 (2016-07-25), pages 1 - 4, ISSN: 0004958985 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023148803A1 (ja) * 2022-02-01 2023-08-10 三菱電機株式会社 動的認可システムおよび動的認可方法
JP7427145B2 (ja) 2022-02-01 2024-02-02 三菱電機株式会社 動的認可システムおよび動的認可方法

Also Published As

Publication number Publication date
JP7436210B2 (ja) 2024-02-21
WO2018220570A1 (en) 2018-12-06
CN110622482B (zh) 2022-02-22
GB201918298D0 (en) 2020-01-29
GB2577230A (en) 2020-03-18
CN110622482A (zh) 2019-12-27
DE112018001559T5 (de) 2019-12-05
US10542041B2 (en) 2020-01-21
US20180351998A1 (en) 2018-12-06
DE112018001559B4 (de) 2023-09-07
GB2577230B (en) 2022-04-13

Similar Documents

Publication Publication Date Title
JP7436210B2 (ja) Tls検査のための方法、装置およびプログラム
US9774631B2 (en) TLS connection abandoning
US9961103B2 (en) Intercepting, decrypting and inspecting traffic over an encrypted channel
US11985239B2 (en) Forward secrecy in transport layer security (TLS) using ephemeral keys
JP6407926B2 (ja) ネットワーク環境における暗号化データ検査
US11146588B2 (en) Context-based adaptive encryption
US10547641B2 (en) Transparently converting a TLS session connection to facilitate session resumption
KR102277427B1 (ko) 인증서 또는 개인 키 없이 액티브 tls 세션으로 스플라이싱하는 것
CN111819824A (zh) 在无中间人代理的情况下解密传输层安全流量
US10257171B2 (en) Server public key pinning by URL
US11178109B1 (en) File sharing over secure connections
US10681085B2 (en) Quick transport layer security/secure sockets layer connection for internet of things devices
Nalinipriya et al. Extensive medical data storage with prominent symmetric algorithms on cloud-a protected framework
US10735465B2 (en) Securing an endpoint in a computer network
EP3220604B1 (en) Methods for client certificate delegation and devices thereof
Singh Improvement of network security algorithm for cloud computing
WO2015022701A2 (en) Method and system of routing and handover of secure communication without knowledge of private/secret key
Huang et al. SSL Remote Access VPNs (Network Security)

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200609

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201021

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220121

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220502

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220913

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220913

C11 Written invitation by the commissioner to file amendments

Free format text: JAPANESE INTERMEDIATE CODE: C11

Effective date: 20221006

C12 Written invitation by the commissioner to file intermediate amendments

Free format text: JAPANESE INTERMEDIATE CODE: C12

Effective date: 20221006

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20221107

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20221108

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20230113

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20230117

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20230207

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20230314

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20230404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240208

R150 Certificate of patent or registration of utility model

Ref document number: 7436210

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150