JP2015505994A - ローカルにアクセス可能な秘密鍵を用いないssl接続の終了 - Google Patents

ローカルにアクセス可能な秘密鍵を用いないssl接続の終了 Download PDF

Info

Publication number
JP2015505994A
JP2015505994A JP2014547546A JP2014547546A JP2015505994A JP 2015505994 A JP2015505994 A JP 2015505994A JP 2014547546 A JP2014547546 A JP 2014547546A JP 2014547546 A JP2014547546 A JP 2014547546A JP 2015505994 A JP2015505994 A JP 2015505994A
Authority
JP
Japan
Prior art keywords
master secret
client
rsa
proxy server
secret
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
JP2014547546A
Other languages
English (en)
Other versions
JP6113183B2 (ja
Inventor
ゲロ、チャールズ、イー
シャピロ、ジェレミー、エヌ
バード、ダナ、ジェイ
Original Assignee
アカマイ テクノロジーズ インコーポレイテッド
アカマイ テクノロジーズ インコーポレイテッド
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 アカマイ テクノロジーズ インコーポレイテッド, アカマイ テクノロジーズ インコーポレイテッド filed Critical アカマイ テクノロジーズ インコーポレイテッド
Publication of JP2015505994A publication Critical patent/JP2015505994A/ja
Application granted granted Critical
Publication of JP6113183B2 publication Critical patent/JP6113183B2/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/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
    • H04L63/0471Network 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 applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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
    • H04L63/0485Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
    • 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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

(例えばサービス・プロバイダにより運営される)インターネット・インフラストラクチャを成す配信プラットフォームが、SSLプロトコルの機能強化として、暗号化されたプリ・マスタ・シークレット(ePMS)の復号化を外部サーバに肩代わりさせる、RSAプロキシ「サービス」を提供する。このサービスを利用することにより、ePMSを「ローカルに」復号化する代わりに、SSLサーバは、ePMSをRSAプロキシ・サーバ・コンポーネントにプロキシし(転送し)、復号化されたプリ・マスタ・シークレットを応答として受信する。このようにすれば、復号鍵をSSLサーバと関連付けて記憶する必要がない。【選択図】 図4

Description

本出願は2011年12月16日付け米国出願第61/554,571号に基づき、同出願に関する優先権を主張する。
本願は一般に、SSLなどの暗号プロトコルを用いたセキュアなネットワーク・ベースの通信に関する。
分散コンピュータ・システムは周知である。このような分散コンピュータ・システムの一例として、サービス・プロバイダによって運営及び管理される「コンテンツ配信ネットワーク」又は「CDN」がある。サービス・プロバイダは一般に、サービス・プロバイダのインフラストラクチャを使用する第三者(カスタマ)に代わってコンテンツ配信サービスを提供する。この種の分散システムは一般に、コンテンツ配信、ウェブ・アプリケーション高速化、又はアウトソースド・オリジン・サイト・インフラストラクチャのサポートのような種々のサービスを容易にするよう設計されたソフトウェア、システム、プロトコル及び技術を含め、単一の又は複数のネットワークによってリンクされた自律的コンピュータの集合を意味する。CDNサービス・プロバイダは多くの場合、カスタマ・ポータルでプロビジョニングされた後ネットワークに配備される(ウェブ・サイトなどの)ディジタル・プロパティを介して、サービス配信を行う。ディジタル・プロパティは、典型的には1つ以上のエッジ構成に結びつけられており、このエッジ構成によりサービス・プロバイダはトラフィックに対処し、カスタマに請求を行うことができる。
セキュア・ソケット・レイヤ(SSL:Secure SocketsLayer)は、インターネットのようなネットワークを介した通信の安全を確保するために用いられる周知の暗号プロトコルである。SSLのような暗号プロトコルは多くの場合、RSA(Rivest, Shamir and Adelman)暗号化アルゴリズムなどの公開鍵暗号システムをベースとしている。従来のRSAベースのSSLセッションの場合、接続の両側が「プリ・マスタ・シークレット」(PMS)を取り決め、これを用いてセッションの残りのためのパラメータを生成する。典型的には、この両側は、RSA非対称暗号化を使用することにより、実際の数値をプレーンテキストで交換することなくプリ・マスタ・シークレットを確立する。動作時には、SSLクライアントがプリ・マスタ・シークレットを生成し、SSLサーバの公開されたRSA鍵で暗号化する。このようにして暗号化されたプリ・マスタ・シークレット(ePMS)を生成し、次いで、これをSSLサーバに提供する。SSLサーバは秘密復号鍵を有しており、これを用いて暗号化されたプリ・マスタ・シークレットを復号化する。この時点でクライアント及びサーバはいずれもオリジナルのプリ・マスタ・シークレットを有しており、これを用いることによって、実際の暗号化されたセキュアなデータ交換に用いる対称鍵を生成することができる。
暗号化されたプリ・マスタ・シークレットの復号化は、SSL接続において秘密鍵が必要とされる唯一の場面である。この復号化は、いわゆるSSL終了ポイントで発生する。多くの場合、SSL終了ポイントはセキュアでないので、当該鍵を記憶及び使用することは、セキュリティ上の重大なリスクである。
米国特許第7,111,057号 米国特許第7,472,178号 米国特許第7,376,716号 米国特許出願公開第20040093419号
(例えばサービス・プロバイダにより運営される)インターネット・インフラストラクチャを成す配信プラットフォームが、SSLプロトコルの機能強化として、暗号化されたプリ・マスタ・シークレット(ePMS)の復号化を外部サーバに肩代わりさせる、RSAプロキシ「サービス」を提供する。このサービスを利用することにより、ePMSを「ローカルに」復号化する代わりに、SSLサーバは、ePMSをRSAプロキシ・サーバ・コンポーネントにプロキシし(転送し)、復号化されたプリ・マスタ・シークレットを応答として受信する。このようにすれば、復号鍵をSSLサーバと関連付けて記憶する必要がない。
一システム実施形態においては、第1のネットワーク・アクセス可能な場所にある少なくとも1つのマシーンがRSAプロキシ・サーバ・ソフトウェア・プログラムを含み、第2のネットワーク・アクセス可能な場所にある少なくとも1つのマシーンがRSAプロキシ・クライアント・ソフトウェア・プログラムを含む。RSAプロキシ・サーバ・ソフトウェア・プログラム及びRSAプロキシ・クライアント・ソフトウェア・プログラムはそれぞれ、両者の間にセキュアな(例えば相互認証されたSSL)接続を確立し維持するためのコードを含む。RSAプロキシ・クライアント・ソフトウェアは、典型的には(OpenSSLなどの)SSLサーバ・コンポーネントと連携して実行される。しかしながら、本開示によれば、SSL復号鍵はRSAプロキシ・クライアント・ソフトウェアにはアクセス不可能である。それどころか、暗号化されたプリ・マスタ・シークレットの復号化は、RSAプロキシ・サーバ・ソフトウェア・プログラムに肩代わりされる。動作時には、RSAプロキシ・クライアント・ソフトウェア・プログラムは、エンドユーザ・クライアント・プログラム(例えばSSL対応のウェブ・ブラウザ、ネイティブ・モバイル・アプリケーション等)からの(RSAプロキシ・クライアントにて)受信した新たなSSLハンドシェイク・リクエストと関連付けられた、暗号化されたプリ・マスタ・シークレットを受信し、これを相互認証されたSSL接続を介してRSAプロキシ・サーバ・ソフトウェア・プログラムに転送する。RSAプロキシ・サーバ・ソフトウェア・プログラムは、RSAプロキシ・サーバ・ソフトウェア・プログラムで保持され、他の態様では前記クライアント・コンポーネントにはアクセス不可能である復号鍵を用いて、暗号化されたプリ・マスタ・シークレットを復号化する。次いで、RSAプロキシ・サーバ・ソフトウェア・プログラムは、復号化されたプリ・マスタ・シークレットを、相互認証されたSSL接続を介してRSAプロキシ・クライアント・ソフトウェア・プログラムに返す。この時点で、エンドユーザ・クライアント・プログラムとSSLサーバ・コンポーネントは、いずれもプリ・マスタ・シークレットを保有している(そして、それを用いて両者間の接続を暗号化するのに用いる対称鍵を生成することができる)。
限定する意図はないが、第1のネットワーク・アクセス可能な場所はエンティティと関連付けられたデータ・センタであり、第2のネットワーク・アクセス可能な場所は当該第1のネットワーク・アクセス可能な場所から離れた物理的な場所である。2つの場所の間では、(RSAプロキシ・サーバ・コンポーネントが実行される)データ・センタの方がよりセキュアである。
以上、本発明の比較的核心的な特性のいくつかを概説した。これらの特性は単に例示のためのものとして解釈されるべきである。開示した本発明を異なる方法で適用することによって、又は本発明を以下に記載するように変更することによって、他の多くの有益な結果を達成することができる。
本発明及びその利点をさらに完全に理解するため、ここで添付図面と関連付けて以下の記載を参照する。
コンテンツ配信ネットワーク(CDN)として構成された既知の分散コンピュータ・システムを説明するブロック図である。 代表的なCDNエッジ・マシーンの構成を示す。 一実施形態において本開示が実行され得る、ファイアウォールの背後のネットワーク構成を図示する図である。 本開示のRSAプロキシ技術を説明する図である。
図1は既知の分散コンピュータ・システムを図示しており、このシステムを(後述のように)本明細書に記載の技術により拡張することによって、最も普及しているランタイム環境に対して、また、固定回線とモバイル環境の両方の最新の機器に対して、ブロードキャスト・オーディエンスの規模でHD映像をオンライン配信することのできる、単一のHTTPベース・プラットフォームを提供する。
図1に示すような既知のシステムにおいて、分散コンピュータ・システム100をCDNとして構成し、インターネットに一連のマシーン102a〜102nが分散していると想定する。多くの場合、マシーンの多くはインターネットのエッジの近傍に、すなわちエンドユーザ・アクセス・ネットワークに又はそれに隣接して配置されたサーバである。ネットワーク・オペレーションズ・コマンド・センタ(NOCC)104は、システム中の種々のマシーンの動作を管理する。第三者のサイト、例えばウェブ・サイト106は、コンテンツ(例えば、HTML、埋め込まれたページ・オブジェクト、ストリーミング・メディア、ソフトウェア・ダウンロード等)の配信を分散コンピュータ・システム100に、特に「エッジ」サーバに肩代わりさせる。多くの場合、コンテンツ・プロバイダは、所与のコンテンツ・プロバイダ・ドメイン又はサブ・ドメインを(例えばDNS CNAMEによって)サービス・プロバイダの権限あるドメイン・ネーム・サービスにより管理されるドメインにエイリアシング処理することによってそのコンテンツ配信を肩代わりさせる。このようなコンテンツを希望するエンドユーザを分散コンピュータ・システムに差し向けることによって、より確実にかつ効率的にコンテンツを得ることができる。詳しくは図示しないが、分散コンピュータ・システムはその他のインフラストラクチャ、例えばエッジ・サーバから使用及び他のデータを収集し、そのデータを1つの領域又は一連の領域を通して集約し、これを他のバックエンド・システム110,112,114,及び116に通すことによって、モニタリング、ロギング、警告、請求書作成、管理その他の運用管理機能を容易にすることができる分散データ収集システム108も含むことができる。分散ネットワーク・エージェント118は、ネットワーク及びサーバ負荷をモニターして、ネットワーク、トラフィック、及び負荷データを、CDNの管理下にあるコンテンツ・ドメインに対して権限を持つDNSクエリ処理機構115に提供する。分散データ伝送機構120を利用することによって、制御情報(例えばコンテンツを管理し、負荷平衡を容易にする等を目的とするメタデータ)をエッジ・サーバに配分することができる。
図2に示すように、所与のマシーン200は、1つ以上のアプリケーション206a〜206nをサポートするオペレーティング・システム・カーネル(Linux又は変形等)204を動作させるコモディティ・ハードウェア(例えばIntel Pentiumプロセッサ)202を含む。コンテンツ配信サービスを容易にするため、例えば所与のマシーンは典型的に、HTTPプロキシ207(「グローバルホスト」又は「ゴースト」プロセスと称されることもある)、ネームサーバ208、ローカル・モニタリング・プロセス210、分散データ収集プロセス212等の一連のアプリケーションを実行する。ストリーミング・メディアでは、マシーンは通常、サポートされるメディア・フォーマットの要件に応じて、Windows Media Server(WMS)又はフラッシュ・サーバ等の1つ以上のメディア・サーバを含む。
CDNエッジ・サーバは、好ましくは構成システムを利用するエッジ・サーバに配分されている構成ファイルを利用して、好ましくはドメイン特化型、カスタマ特化型の1つ以上の広範なコンテンツ配信特性を提供するように構成されている。所与の構成ファイルは、XMLをベースとし、1つ以上の高度のコンテンツ処理特性を容易にする一連のコンテンツ処理規則及び命令を含むことが好ましい。構成ファイルは、データ伝送機構を介してCDNエッジ・サーバに配信することができる。米国特許第7,111,057号は、エッジ・サーバ・コンテンツ制御情報を配信及び管理するための有用なインフラストラクチャを説明しており、これ等のエッジ・サーバ制御情報は、CDNサービス・プロバイダ自体、又は(エクストラネット等を介して)オリジン・サーバを運用するコンテンツ・プロバイダ・カスタマによってプロビジョニングすることができる。
CDNは、米国特許第7,472,178号に記載されたもののような記憶サブシステムを含むことができる。この開示内容は引用により本願に含まれるものとする。
CDNは、カスタマ・コンテンツの中間キャッシングを提供するためにサーバ・キャッシュ階層を運用することができる。このようなキャッシュ階層サブシステムの一例が米国特許第7,376,716号に記載されている。この開示内容は引用により本願に含まれるものとする。
CDNは、米国特許出願公開第20040093419号に記載されたように、クライアント・ブラウザ、エッジ・サーバ、及びカスタマ・オリジン・サーバ間でセキュアなコンテンツ配信を提供することができる。これに記載されたセキュアなコンテンツ配信は、一方ではクライアントとエッジ・サーバ・プロセスとの間で、他方ではエッジ・サーバ・プロセスとオリジン・サーバ・プロセスとの間でSSLベースのリンクを実施する。これによって、SSLによって保護されたウェブ・ページ及び/又はそのコンポーネントを、エッジ・サーバを介して配信することができる。
オーバーレイとしてCDNリソースを用いることにより、(プライベートに管理可能な)エンタープライズ・データ・センタと第三者へのサービスとしてのソフトウェア(SaaS)プロバイダとの間の広域ネットワーク(WAN:wide area network)高速化サービスを容易にしてもよい。
典型的な運営においては、コンテンツ・プロバイダは、CDNによりサービスされることを望むコンテンツ・プロバイダ・ドメイン又はサブ・ドメインを特定する。CDNサービス・プロバイダは、(例えば正規名又はCNAMEを介して)コンテンツ・プロバイダ・ドメインをエッジ・ネットワーク(CDN)・ホスト名と関連付け、するとCDNプロバイダがそのエッジ・ネットワーク・ホスト名をコンテンツ・プロバイダに提供する。コンテンツ・プロバイダのドメイン・ネームサーバは、コンテンツ・プロバイダ・ドメイン又はサブ・ドメインへのDNSクエリを受信すると、エッジ・ネットワーク・ホスト名を返すことによって応答する。エッジ・ネットワーク・ホスト名はCDNを指すので、CDNネーム・サービスにより解決される。そのために、CDNネーム・サービスは1つ以上のIPアドレスを返す。すると、リクエストを行っているクライアント・ブラウザは、そのIPアドレスと関連付けられているエッジ・サーバに対して(例えばHTTP又はHTTPSを介して)コンテンツ・リクエストを行う。このリクエストは、オリジナル・コンテンツ・プロバイダ・ドメイン又はサブ・ドメインを含むホスト・ヘッダを含んでいる。ホスト・ヘッダを有するリクエストを受信すると、エッジ・サーバはその構成ファイルをチェックして、リクエストされたコンテンツ・ドメイン又はサブ・ドメインが実際にCDNによって処理されているのか否かを判断する。処理されているのであれば、エッジ・サーバは、構成に規定されているように、そのドメイン又はサブ・ドメインに対するコンテンツ処理規則及び命令を適用する。これらのコンテンツ処理規則及び命令はXMLベースの「メタデータ」構成ファイル内にあってもよい。
さらなる背景として、CDNカスタマは、「ファイアウォールの背後("behindthe firewall”)」で管理されるサービス・プロダクトにサブスクライブして、カスタマのエンタープライズ・ファイアウォールの背後にてホストされるイントラネット・ウェブ・アプリケーションを高速化するとともに、ファイアウォールの背後のユーザをインターネット・クラウドにてホストされるアプリケーションへとブリッジするウェブ・アプリケーションを高速化することができる。これら2つのケースを実現するために、CDNソフトウェアは、1つ以上のカスタマ・データ・センタでホストされるバーチャル・マシーン上、及び遠隔の「ブランチ・オフィス」でホストされるバーチャル・マシーン上で実行され得る。カスタマ・データ・センタで実行するCDNソフトウェアは、典型的にはサービス構成、サービス管理、サービス報告、遠隔管理アクセス、カスタマSSL証明書管理、及び構成されたウェブ・アプリケーションの他の機能を提供する。ブランチ・オフィスで実行されるソフトウェアは、そこに位置するユーザに対してラストワンマイルのウェブ高速化を提供する。CDNそれ自体は、典型的にはCDNデータ・センタでホストされるCDNハードウェアを提供し、カスタマ・ファイアウォールの背後で動作しているノードとサービス・プロバイダの他のインフラストラクチャ(例えばネットワーク及び運営施設)との間にゲートウェイを設ける。このように管理されたソリューションによって、企業が自社のイントラネットに対してCDN技術を利用できるようになる。図3は、このタイプの基本アーキテクチャを説明している。代表的な実施形態においては、BTFネットワークは、マネジメント・ゲートウェイ(AMG)300及び1つ以上のエンタープライズ・マネジメント・ゲートウェイ(EMG)302により管理される。AMGは、CDNが運営するネットワーク・サービスが可用な場所にあり、既存のカスタマのデータベースを管理するとともに、EMGに対してアクセスする。EMG302はカスタマのファイアウォールの内側に存在しており、BTFネットワークの個々のエンド・ノード304を管理する。エンド・ノードは従来のCDNにおけるエッジ・ノードに相当する。AMGはEMGを承認し(ステップ1)、EMGはエッジ・ノードA及びBを承認する(ステップ2及び3)。かくして両エッジ・ノードは互いを信頼するとともにEMGを信頼し、図示するようなカスタマの信頼ゾーンを創出する(ステップ4)。この基本的な信頼モデルによると、AMG300がEMG302に対して会社のBTF機能を実行するための権限を付与する。次いで、EMG302がエンド・ノードの各々に対して、様々な役割又はタスクを実行するための権限を付与する。このような権限付与の連鎖を介して信頼が確立されると、プライベート・データ及びシークレットをネットワーク上でセキュアに交換することが可能となる。このアプローチでは、エッジ・ノードは典型的には(エンドユーザの近くの)遠隔のブランチ・オフィスにインストールされ、EMG(親ノード/領域)はコーポレート・ハブ(典型的には、アプリケーション・サーバが位置するところ)にインストールされる。上述のように、このソリューションは、企業のために高速化を、SaaS(サービスとしてのソフトウェア)アプリケーションなどのインターネット上の任意の場所でサービスされるアプリケーションに拡大するものである。企業のCDNベースのプライベート・オーバーレイ・ネットワークを既存のCDNパブリック・インターネット・オーバーレイ・ネットワークにブリッジすることによって、遠隔ブランチ・オフィスのエンドユーザにとって、エンドツーエンドのアプリケーションが高速化される。
BTFがSSLトラフィックを適切に高速化するためには、エンド・ノード上のSSL鍵及び証明書が必要である。上述のように、SSLはRSA復号化を一度行って、クライアントとサーバとの間にプライベートなプリ・マスタ・シークレットを確立する。本開示によれば、このRSA復号化を、秘密鍵を有するセキュアなエンド・ノード又は他のサービスに肩代わりさせるが、その一方でハンドシェイクの残り及びSSL接続は通常通りに続行する。次にこのプロセスを説明する。
ローカルにアクセス可能な秘密鍵を使用しない、SSL接続の終了
上述のことを背景として、ここで本開示の主題について説明する。SSLハンドシェイクを熟知していることを前提とする。
本開示によれば、従来のSSLハンドシェイク、特に暗号化されたプリ・マスタ・シークレットの復号化は、通常のSSL終了ポイント(SSLサーバ)の外部で(すなわちそこから遠く離れて)行われる。図4に図示されるように、終了ポイントにあるSSLサーバ400はプロキシ・サーバの「クライアント・コンポーネント」402を備え、該プロキシ・サーバの「サーバ・コンポーネント」404は遠隔に位置している。サーバ・コンポーネント404にはデータ・ストア406が関連付けられており、該データ・ストアには単数又は複数の復号鍵408が保持されている。この復号鍵408は、クライアント・コンポーネント402にはアクセス不可能である。後述するように、SSLハンドシェイクの間、暗号化されたプリ・マスタ・シークレットそれ自体を復号化する代わりに、クライアント・コンポーネント402は(従来のSSLクライアント410から)受信した暗号化されたプリ・マスタ・シークレットをサーバ・コンポーネント404にプロキシし(転送し)、復号化されたプリ・マスタ・シークレットを応答として受信する。(SSLサーバ400とSSLクライアント410との間の)SSLトランザクションの残りは通常通りに完了する。このアプローチでは、SSL秘密鍵はSSLサーバ上(あるいは、より一般的には、SSL終了ポイント)には記憶されない。
好ましくは、プロキシ・サーバのクライアント・コンポーネント402及びサーバ・コンポーネント404は、RSA暗号化をベースとしている。したがって、これらのコンポーネントは、本明細書においてはRSAプロキシ・コンポーネントとも称される。暗号化されたプリ・マスタ・シークレットの(クライアント・コンポーネントからサーバ・コンポーネントへの)転送は、本明細書においてはRSAプロキシ・リクエストとも称される。好ましいアルゴリズムはRSAであるが、他の非対称暗号化アルゴリズムも同様に使用することができる。
次に再び図3を参照すると、ブランチ・オフィス及びデータ・センタ・マシーンは、好ましくはセキュアな接続(例えば、相互認証されたSSL接続)を使用して通信を行いトラフィックを渡す。他のタイプのセキュアな接続(例えば、IPSec VPN)を使用してもよい。このような接続を、RSAプロキシ・リクエスト、ユーザ・データならびに他のトラフィックのために使用する。上述のように、RSAプロキシ・クライアント・コンポーネントはブランチ・オフィスで実行されるが、それに関連付けられたサーバ・コンポーネントは(よりセキュアな)データ・センタで実行される。一実施形態においては、すべてのマシーンが、ピアとの通信に用いる単一のクライアント証明書及び鍵ペアを有する。新たなマシーンが(例えばCDNカスタマ・ポータルによって)プロビジョニングされると、当該マシーンは秘密鍵及びCSR(Certificate Signing Request;証明書署名要求)を生成し、後者をAMGへ送信する。CSRは、ブランチ・オフィス又はデータ・センタ・マシーンに固有のシリアル番号などの一対の識別子と、CSRのバージョンのシリアル番号とを含むのが好ましい。AMGは(好ましくはCDNに関連付けられた認証局(CA)を利用して)CSRに署名し、証明書をブランチ・オフィスのマシーンに送信する。さらに、AMGは、証明書の詳細(シリアル番号ペア)を含むメッセージを、(ポータル内のピア構成に基づいて)ブランチ・オフィスと通信する可能性のある任意のデータ・センタに送信する。AMGは、他のCDN鍵管理基盤を利用して、クライアント及びサーバのCSRに(好ましくはCDNに関連付けられたCAを利用して)署名する。好ましくは、ブランチ・オフィスのマシーン及びデータ・センタ・マシーンの両方が有効なピア及びCAのコレクションを保持する。このコレクションがAMGにより更新されることによって、ローテーション及び失効がサポートされる。さらに、各ボックスがCAのコピーと、ボックス及び証明書のシリアル番号により識別される許容可能なピアのホワイトリストとを有するのが好ましい。相互認証を確立するために、相互SSL接続の両側(換言すれば、一方の側ではRSAプロキシ・クライアント・コンポーネント、他方の側ではRSAプロキシ・サーバ・コンポーネント)が、ピア証明書のチェーンのルート・ノードがCAと合致すること及び含まれるシリアル番号ペアは許容可能であることを検証する。クライアント・コンポーネント及びサーバ・コンポーネントは、ピア証明書が予想されたマシーン・シリアル番号を含むことも検証する。
図4に示すように、RSAプロキシ・クライアント402はSSLトランスポート・モジュールの一部である。動作時、ClientHelloを(入ってくるSSLハンドシェイク・リクエストから)受信すると、SSLモジュールはIPアドレス(及びポート)及び証明書(certs)のラーニング・テーブルをチェックする。エントリが存在しなければ、データを変更せずにストリーミングする。データ・センタのマシーンがIP及びポートについてRSAプロキシを実行できる場合には、RSAプロキシされるサーバ証明書(cert)を含む新たなメッセージを返信する。SSLモジュールはIPアドレス及び証明書(cert)をラーニング・テーブルに追加する。そのIPアドレスについての次の新規の(再開されたのではない)SSLトランザクションでは、SSLモジュールがエントリを発見し、RSAプロキシ・トランザクションを行うことを知る。ラーニング・テーブルのエントリは、当該エントリを使用したRSAプロキシ・リクエストが失敗した場合に(代替的には、一定の不使用期間の後で)、削除される。これらのエントリは、データ・センタ・マシーンによっていつでも、例えばプロキシ・クライアントが特定のIP及びポートの新たな証明書(cert)を含む別のメッセージを送信することにより、更新可能である。
ハンドシェイクの間に、モジュールはSSL接続を終了し、リクエストを行っているクライアントに対して、ServerCertificateをラーニング・テーブルからの証明書(cert)とともに送信する。ClientKeyExchangeメッセージ及びePMSを受信すると、モジュールは、RSAプロキシ・リクエストを正しいデータ・センタに送信する。本開示によれば、上述のように、RSAプロキシ・リクエスト及び応答はRSAプロキシ・サーバのサーバ・コンポーネント404によって処理され、該サーバ・コンポーネントが相互認証されたSSL接続を介してデータを送受信する。RSAプロキシ・サーバのサーバ・コンポーネント404が失敗を返すか、又はタイム・アウトした場合には、SSLモジュール(クライアント・コンポーネント402)はクライアント接続を終了し、ハンドシェイクは不成功に終わる。
SSLモジュールは、制限なしにSSLプロトコル・ターミネータとしてインプリメントされる。一実施形態においては、SSLモジュールは、標準的なOpenSSLの上に構築されたプログラム・コードである。
RSAプロキシ・クライアント・コンポーネント(ブランチ・オフィスのSSLモジュール)は、メッセージ・インタフェースを使用して、RSAプロキシ・リクエスト及び応答を、相互認証されたSSL接続を介して送信する。好ましくは、RSAクライアント・リクエストは、{ePMSの長さ、ePMS、サーバ証明書のハッシュ}の情報フィールドを含むパケットである。RSAプロキシ・サーバ・コンポーネント(データ・センタのSSLモジュール)から返ってくる応答パケットは、{状態、復号化されたPMSの長さ、復号化されたプリ・マスタ・シークレット}の情報フィールドを有する。
次に、データ・センタの施設で実行するRSAプロキシ・サーバ・コンポーネントの一実施形態を説明する。前述のように、その基本的な動作は、既に説明したリクエストを含む暗号化されていないパケットを受信すること、および定義された応答パケットで応答することである。好ましくは、RSAプロキシ・サーバは、ePMSの値の最低使用頻度(LRU:least-recently-used)キャッシュを保持する。復号化を実行する前に、モジュールはキャッシュをチェックして、要求されたePMSが以前にあったか否かを確認する。このチェックには、ハッシュ・ルックアップ方式を用いてよい。暗号化されたプリ・マスタ・シークレットのハッシュがキャッシュ中に既に存在する場合には、RSAプロキシ・クライアント・コンポーネントに対して不良状態を返す(そして、管理者のためにエラー又は警報を生成する)。好ましくは、RSAプロキシ・サーバのサーバ・コンポーネントがリクエストをレート制限して、危殆化したマシーンがフラッシュ攻撃を仕掛けて以前に復号化されたシークレットを削除するのを防止する。好ましくは、RSAプロキシ・サーバのサーバ・コンポーネントも、プロキシとして動作することが可能な証明書及び鍵ペアのテーブルを保持している。このテーブル(ハッシュ・テーブルとしてインプリメントしてよい)を用いることにより、プロキシ・サーバは、(例えば、クライアント・コンポーネントが送信する証明書のハッシュによって)サーバの鍵ペアを効率的にルックアップすることができる。RSAプロキシ・サーバのサーバ・コンポーネントは、ePMSが新しいことを確認したならば、それをキャッシュに追加し、テーブル中のサーバの秘密鍵をルックアップし、ePMSを復号化し、応答を送信する。
本明細書に記載の技術には多くの利点がある。第一の利点は、SSL秘密鍵がSSLサーバ上に記憶されないことである。上述したような分散型のソリューションにおいて、このことは、秘密鍵がSSLを終了中であるブランチ・オフィスのボックスには記憶されず、その代わりに、RSAプロキシ・サーバのサーバ・コンポーネントをホストしているデータ・センタのボックスに記憶されることを意味している。リプレイ攻撃からの保護策をインプリメントしたため、攻撃者が危殆化したSSLサーバを使用して以前のSSLトランザクションを復号化することはできない。標準のSSLサーバ上では、鍵が危殆化した場合、盗まれたSSL鍵の使用を防ぐため、(クライアント・ブラウザの証明書失効リスト又はOCSPなどの)他の技術が用いられなければならない。RSAプロキシによれば、サービス・プロバイダはRSAプロキシ・サーバの構成を変更するだけでよい。このような分散型のアプローチを利用することにより、SSLトランザクションのうち計算コストが高い部分であるRSA復号化を、データ・センタのカスタム・ハードウェアを備えたマシーン上で行うことができる。
(ブランチ・オフィスの)ウェブ・プロキシ・ノードの危殆化が発見された場合には、管理者は、危殆化したノードの認証済クレデンシャルを単に削除しさえすればよい。標準的なSSLの場合には、各エンドユーザ・システムで失効させる必要があるが、これを管理するのは困難である。また、鍵ローテーションはRSAプロキシ・マシーン上でのみ行えばよいが、標準的なSSLではすべてのウェブ・プロキシ・マシーン上で行う必要がある。
ファイアウォールの背後での実施形態を述べたが、これは本開示を制限することを意図するものではない。RSAプロキシ・アプローチは、企業が、インターネットを介してブランチ、データ・センタ、在宅勤務、及びモバイル・ユーザをアプリケーションへと接続する最適化なWANとして、(上述したような)インターネット・リンクを介するCDN技術を使用するときにはいつでも、利用可能である。さらに一般的には、このアプローチは、あるパーティ(クライアント)が別のパーティ(サーバ)との通信をRSAベースのSSLにより暗号化することを希望するけれども、サーバにRSA秘密鍵を直接記憶させることが信用できない場合にはいつでも、利用可能である。
代表的な実施形態においては、RSAプロキシは、プロセッサにより実行されるコンピュータ・プログラム命令として、ソフトウェアの形態でインプリメントされる。
より一般的には、本明細書に記載された技術は、一緒になって上述の機能を容易にし又は提供する、一連の1つ以上のコンピュータ関連のエンティティ(システム、マシーン、プロセス、プログラム、ライブラリ、機能など)を用いて提供される。典型的な実施形態においては、ソフトウェアが実行される代表的なマシーンは、コモディティ・ハードウェア、オペレーティング・システム、アプリケーション・ランタイム環境、及び一連のアプリケーション又はプロセス、ならびに関連データであって、所与のシステム又はサブシステムを提供するものから成る。既述の通り、機能はスタンドアロン・マシーンの形態でインプリメントされてもよいし、あるいは一連の分散されたマシーンにわたってインプリメントされてもよい。機能はサービス、例えばSaaSソリューションとして提供されてもよい。
上記は本発明のいくつかの実施形態によって実行される動作の特定の順序を記載したが、代替的な実施形態では、異なる順序での動作の実行、いくつかの動作の組み合わせ、いくつかの動作の重複等があり得るから、このような順序は例示的なものであることは理解されよう。本明細書における所与の実施形態の参照は、記載する実施形態が特定の特性、構造、又は特徴を含む場合があるが、全ての実施形態がその特定の特性、構造、又は特徴を必ずしも含むものではないことを示している。
開示した主題は、方法又はプロセスに照らして記載したが、主題の開示は本明細書における動作を実行するための装置にも関する。この装置は、必要な目的のために特別に構築してもよく、又はコンピュータに記憶したコンピュータ・プログラムによって選択的に活性化又は再構成される汎用コンピュータを含んでもよい。そのようなコンピュータ・プログラムは、限定ではないが、光ディスク、CD−ROM、及び光磁気ディスクを含むいずれかのタイプのディスク、読み出し専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、磁気もしくは光カード、又は電子命令の記憶に適したいずれかのタイプの媒体等のコンピュータ読み取り可能記憶媒体に記憶することができ、その各々はコンピュータ・システム・バスに結合される。システムの所与のコンポーネントを別個に記載したが、それらの機能のいくつかは、所与の命令、プログラム・シーケンス、コード部分等において組み合わせるか共有することが可能であることは当業者には認められよう。
これは限定ではないが、特定の機能の一部はオペレーティング・システム等に内蔵できるから、機能はアプリケーション層ソリューションの形態でインプリメントされるのが好ましい。
機能はまた、SSL VPNなどの、HTTPS以外の他のアプリケーション層プロトコル、又は類似の動作特性を有する他のプロトコルによってインプリメントされてもよい。
接続のクライアント側又はサーバ側をインプリメントし得るコンピューティング・エンティティのタイプに限定はない。いかなるコンピューティング・エンティティ(システム、マシーン、デバイス、プログラム、プロセス、ユーティリティなど)であっても、クライアント又はサーバとしての機能を果たすことができる。
本明細書の技術はSSL通信で用いられるRSAプロキシとのかかわりで説明されているが、これは限定ではない。また、この方式は、暗号技術により保護される(TLSなどの)他のトランスポート・プロトコルでインプリメントされてもよい。より一般的には、本明細書の技術は、秘密データをあるピアから別のピアへ非対称暗号を用いて交換する必要があるけれども、受信側のピアが秘密鍵を有することを信用されていない任意のコンテキストにおいて用いることができる。

Claims (20)

  1. プロセッサと、
    前記プロセッサにより実行されるように適合しているプログラム・コードを保持するコンピュータ・メモリと、
    を備えた装置であって、
    前記プログラム・コードは、プロキシ・サーバのクライアント・コンポーネントとして構成され、
    前記プロキシ・サーバの遠隔のサーバ・コンポーネントとのセキュアな接続を確立するためのコードと、
    クライアントから受信した、新たなSSLハンドシェイク・リクエストと関連付けて暗号化されたプリ・マスタ・シークレットを、前記セキュアな接続を介して前記プロキシ・サーバの前記遠隔のサーバ・コンポーネントへ転送するためのコードとを含み、前記暗号化されたプリ・マスタ・シークレットは前記プロキシ・サーバの前記遠隔のサーバ・コンポーネントで保持され、他の態様では前記クライアント・コンポーネントにはアクセス不可能である復号鍵を用いて復号化されるように適合されており、
    さらに、前記プロキシ・サーバの前記遠隔のサーバ・コンポーネントから、前記セキュアな接続を介して、前記プロキシ・サーバの前記遠隔のサーバ・コンポーネントで保持されている前記復号鍵により復号化されたプリ・マスタ・シークレットを受信するためのコードを備える
    ことを特徴とする装置。
  2. 前記復号化されたプリ・マスタ・シークレットを使用してマスタ・シークレットを生成するためのコードをさらに含むことを特徴とする、請求項1に記載の装置。
  3. 前記クライアントと前記装置との間の通信を確保するべく使用されるように、前記マスタ・シークレットを前記クライアントへ返すためのコードをさらに含むことを特徴とする、請求項2に記載の装置。
  4. 前記プリ・マスタ・シークレットは非対称RSA暗号化を使用して確立されることを特徴とする、請求項1に記載の装置。
  5. クライアントで生成された暗号化されたシークレット・データ値を含むハンドシェイク・リクエストを受信するステップと、
    前記暗号化されたシークレット・データ値を、セキュアな接続を介して、復号鍵を前記暗号化されたシークレット・データ値に適用して前記シークレット・データ値を回復し得るコンピューティング・エンティティへとプロキシするステップと、
    前記コンピュータティング・エンティティから、前記セキュアな接続を介して、前記シークレット・データ値を受信するステップと、
    前記シークレット・データ値を使用して、前記クライアントに戻る接続を暗号化するために使用される鍵を生成するステップと、
    を備えることを特徴とする、通信を確保するための方法。
  6. ハードウェア上で実行されるRSAプロキシ・サーバ・ソフトウェア・プログラムを含む、第1のネットワーク・アクセス可能な場所にある少なくとも1つのマシーンと、
    ハードウェア上で実行されるRSAプロキシ・クライアント・ソフトウェア・プログラムを含む、第2のネットワーク・アクセス可能な場所にある少なくとも1つのマシーンと、
    を備えたシステムであって、
    前記RSAプロキシ・サーバ・ソフトウェア・プログラム及び前記RSAプロキシ・クライアント・ソフトウェア・プログラムはそれぞれ、両者間のセキュアな接続を確立し維持するためのコードを含み、
    前記RSAプロキシ・クライアント・ソフトウェア・プログラムは、クライアントから受信した、新たなSSLハンドシェイク・リクエストと関連付けて暗号化されたプリ・マスタ・シークレットを、前記セキュアな接続を介して前記RSAプロキシ・サーバ・ソフトウェア・プログラムへ転送するように適合されており、
    前記RSAプロキシ・サーバ・ソフトウェア・プログラムは、前記RSAプロキシ・クライアント・ソフトウェア・プログラムから転送された前記暗号化されたプリ・マスタ・シークレットを受信し、前記RSAプロキシ・サーバ・ソフトウェア・プログラムで保持され、他の態様では前記クライアント・コンポーネントにはアクセス不可能である復号鍵を用いて前記暗号化されたプリ・マスタ・シークレットを復号化するように適合されており、
    前記RSAプロキシ・サーバ・ソフトウェア・プログラムはさらに、復号化されたプリ・マスタ・シークレットを、前記セキュアな接続を介して、前記RSAプロキシ・クライアント・ソフトウェア・プログラムに返すように適合されており、
    前記RSAプロキシ・クライアント・ソフトウェア・プログラムは、前記復号化されたプリ・マスタ・シークレットを受信し、それを使用して対称鍵を生成することにより、前記新たなSSLハンドシェイクを完了することを特徴とするシステム。
  7. 前記第1のネットワーク・アクセス可能な場所はエンティティと関連付けられたデータ・センタであり、前記第2のネットワーク・アクセス可能な場所は前記第1のネットワーク・アクセス可能な場所から離れた物理的な場所であることを特徴とする、請求項6に記載のシステム。
  8. 前記データ・センタと前記物理的な場所の間では、前記データ・センタの方がより高い安全度を有することを特徴とする、請求項7に記載のシステム。
  9. 前記RSAプロキシ・サーバ・ソフトウェア・プログラムは、少なくとも前記RSAプロキシ・クライアント・ソフトウェア・プログラムからの暗号化されたプリ・マスタ・シークレットを記憶するデータ・ストアと関連付けられていることを特徴とする、請求項6に記載のシステム。
  10. 前記データ・ストアは暗号化されたプリ・マスタ・シークレットのキャッシュであることを特徴とする、請求項9に記載のシステム。
  11. 前記RSAプロキシ・サーバ・ソフトウェアは、暗号化されたプリ・マスタ・シークレットを受信し、前記受信した暗号化されたプリ・マスタ・シークレットのハッシュを生成し、前記ハッシュを前記キャッシュのインデックスとして使用することにより、前記暗号化されたプリ・マスタ・シークレットが前記キャッシュ中に存在するか否かを判断することを特徴とする、請求項10に記載のシステム。
  12. プロセッサと、
    前記プロセッサにより実行されるように適合されているプログラム・コードを保持するコンピュータ・メモリと、
    を備えた装置であって、
    前記プログラム・コードは、
    プロキシ・サーバのクライアント・コンポーネントとのセキュアな接続を確立するためのコードと、
    前記プロキシ・サーバの前記クライアント・コンポーネントにてクライアントから受信した、新たなSSLハンドシェイク・リクエストと関連付けて暗号化されたプリ・マスタ・シークレットを、前記セキュアな接続を介して前記プロキシ・サーバの前記クライアント・コンポーネントから受信するためのコードと、
    前記暗号化されたプリ・マスタ・シークレットを、他の態様では前記クライアント・コンポーネントにはアクセス不可能である復号鍵を用いて復号化するためのコードと、
    復号化されたプリ・マスタ・シークレットを、前記セキュアな接続を介して、前記プロキシ・サーバの前記クライアント・コンポーネントに返すためのコードと、
    を備えることを特徴とする装置。
  13. 少なくとも前記プロキシ・サーバの前記クライアント・コンポーネントからの暗号化されたプリ・マスタ・シークレットを記憶するデータ・ストアをさらに備えることを特徴とする、請求項12に記載の装置。
  14. 前記データ・ストアが暗号化されたプリ・マスタ・シークレットのキャッシュであることを特徴とする、請求項13に記載の装置。
  15. 前記プログラム・コードは、暗号化されたプリ・マスタ・シークレットを受信し、前記受信した暗号化されたプリ・マスタ・シークレットのハッシュを生成し、前記ハッシュを前記キャッシュのインデックスとして使用することにより、前記暗号化されたプリ・マスタ・シークレットが前記キャッシュ中に存在するか否かを判断することを特徴とする、請求項14に記載の装置。
  16. 前記プリ・マスタ・シークレットは非対称RSA暗号化を使用して確立されることを特徴とする、請求項12に記載の装置。
  17. 前記セキュアな接続が相互認証されたSSL接続であることを特徴とする、請求項1に記載の装置。
  18. 前記セキュアな接続が相互認証されたSSL接続であることを特徴とする、請求項5に記載の方法。
  19. 前記セキュアな接続が相互認証SSLされた接続であることを特徴とする、請求項6に記載のシステム。
  20. 前記セキュアな接続が相互認証SSLされた接続であることを特徴とする、請求項12に記載の装置。
JP2014547546A 2011-12-16 2012-12-17 ローカルにアクセス可能な秘密鍵を用いないssl接続の終端 Active JP6113183B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161576378P 2011-12-16 2011-12-16
US61/576,378 2011-12-16
US13/714,656 US9647835B2 (en) 2011-12-16 2012-12-14 Terminating SSL connections without locally-accessible private keys
US13/714,656 2012-12-14
PCT/US2012/070075 WO2013090894A1 (en) 2011-12-16 2012-12-17 Terminating ssl connections without locally-accessible private keys

Publications (2)

Publication Number Publication Date
JP2015505994A true JP2015505994A (ja) 2015-02-26
JP6113183B2 JP6113183B2 (ja) 2017-04-12

Family

ID=48610147

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014547546A Active JP6113183B2 (ja) 2011-12-16 2012-12-17 ローカルにアクセス可能な秘密鍵を用いないssl接続の終端

Country Status (9)

Country Link
US (2) US9647835B2 (ja)
EP (1) EP2792102A4 (ja)
JP (1) JP6113183B2 (ja)
KR (1) KR102069642B1 (ja)
CN (1) CN104081711B (ja)
AU (2) AU2012351909A1 (ja)
BR (1) BR112014033155B1 (ja)
CA (1) CA2859285C (ja)
WO (1) WO2013090894A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020502896A (ja) * 2016-12-16 2020-01-23 アマゾン・テクノロジーズ、インコーポレイテッド コンテンツ配信ネットワークを介した機密データの安全なデータ配給
US10979403B1 (en) 2018-06-08 2021-04-13 Amazon Technologies, Inc. Cryptographic configuration enforcement
US11159498B1 (en) 2018-03-21 2021-10-26 Amazon Technologies, Inc. Information security proxy service

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9069599B2 (en) 2008-06-19 2015-06-30 Servicemesh, Inc. System and method for a cloud computing abstraction layer with security zone facilities
US10411975B2 (en) 2013-03-15 2019-09-10 Csc Agility Platform, Inc. System and method for a cloud computing abstraction with multi-tier deployment policy
EP2316071A4 (en) 2008-06-19 2011-08-17 Servicemesh Inc CLOUD DATA PROCESSING GATEWAY, CLOUD DATA PROCESSING HYPERVISOR, AND METHOD FOR IMPLEMENTING THEM
US9489647B2 (en) 2008-06-19 2016-11-08 Csc Agility Platform, Inc. System and method for a cloud computing abstraction with self-service portal for publishing resources
US9015469B2 (en) 2011-07-28 2015-04-21 Cloudflare, Inc. Supporting secure sessions in a cloud-based proxy service
US9531685B2 (en) 2011-12-16 2016-12-27 Akamai Technologies, Inc. Providing forward secrecy in a terminating SSL/TLS connection proxy using Ephemeral Diffie-Hellman key exchange
US9531691B2 (en) 2011-12-16 2016-12-27 Akamai Technologies, Inc. Providing forward secrecy in a terminating TLS connection proxy
US8782774B1 (en) * 2013-03-07 2014-07-15 Cloudflare, Inc. Secure session capability using public-key cryptography without access to the private key
US9026783B2 (en) * 2013-03-07 2015-05-05 Google Inc. Low latency server-side redirection of UDP-based transport protocols traversing a client-side NAT firewall
EP3039567A4 (en) * 2013-08-30 2017-05-03 McAfee, Inc. Improving tamper resistance of aggregated data
US9887982B2 (en) * 2013-10-09 2018-02-06 Digicert, Inc. Accelerating OCSP responses via content delivery network collaboration
US10110592B2 (en) * 2013-10-09 2018-10-23 Digicert, Inc. Reducing latency for certificate validity messages using private content delivery networks
EP3085008B1 (en) * 2013-12-18 2020-01-08 Akamai Technologies, Inc. Providing forward secrecy in a terminating tls connection proxy
US9184911B2 (en) 2014-04-08 2015-11-10 Cloudflare, Inc. Secure session capability using public-key cryptography without access to the private key
US8966267B1 (en) 2014-04-08 2015-02-24 Cloudflare, Inc. Secure session capability using public-key cryptography without access to the private key
US8996873B1 (en) * 2014-04-08 2015-03-31 Cloudflare, Inc. Secure session capability using public-key cryptography without access to the private key
WO2016073552A1 (en) * 2014-11-04 2016-05-12 Akamai Technologies, Inc. Providing forward secrecy in a terminating ssl/tls connection proxy using ephemeral diffie-hellman key exchange
WO2016116890A1 (en) * 2015-01-22 2016-07-28 Visa International Service Association Method and system for establishing a secure communication tunnel
WO2016118131A1 (en) 2015-01-22 2016-07-28 Hewlett Packard Enterprise Development Lp Session key repository
CN105471896B (zh) * 2015-12-28 2019-01-15 深信服科技股份有限公司 基于ssl的代理方法、装置及系统
US10904332B2 (en) 2015-12-29 2021-01-26 Akamai Technologies, Inc. Caching content securely within an edge environment
US10904229B2 (en) 2015-12-29 2021-01-26 Akamai Technologies, Inc. Caching content securely within an edge environment, with pre-positioning
CN105471916B (zh) * 2016-01-13 2018-08-17 西安电子科技大学 防范安全套接层潜信道密钥恢复的方法
US10447658B2 (en) 2016-01-22 2019-10-15 Citrix Systems, Inc. System and method for providing improved optimization for secure session connections
CN107172001B (zh) * 2016-03-07 2020-09-01 阿里巴巴集团控股有限公司 网站代理服务器的控制方法及装置、密钥代理服务器
US10171452B2 (en) * 2016-03-31 2019-01-01 International Business Machines Corporation Server authentication using multiple authentication chains
CN105871858A (zh) * 2016-04-15 2016-08-17 浪潮集团有限公司 一种保证数据安全的方法及系统
CN106230782A (zh) * 2016-07-20 2016-12-14 腾讯科技(深圳)有限公司 一种基于内容分发网络的信息处理方法及装置
CN106341417B (zh) * 2016-09-30 2019-11-05 贵州白山云科技股份有限公司 一种基于内容分发网络的https加速方法和系统
US10587586B2 (en) 2017-01-10 2020-03-10 Mocana Corporation System and method for a multi system trust chain
CN107707517B (zh) * 2017-05-09 2018-11-13 贵州白山云科技有限公司 一种HTTPs握手方法、装置和系统
CN108401011B (zh) * 2018-01-30 2021-09-24 网宿科技股份有限公司 内容分发网络中握手请求的加速方法、设备及边缘节点
US11418352B2 (en) * 2018-02-21 2022-08-16 Akamai Technologies, Inc. Certificate authority (CA) security model in an overlay network supporting a branch appliance
CN108449346B (zh) * 2018-03-22 2021-07-27 北京可信华泰科技有限公司 一种密钥生成客户端
CN109213744A (zh) * 2018-06-20 2019-01-15 中译语通科技(青岛)有限公司 一种基于大数据的智能运维技术
US11483347B2 (en) 2018-12-05 2022-10-25 Akamai Technologies, Inc. High performance distributed system of record with secure interoperability to external systems
US11595217B2 (en) 2018-12-06 2023-02-28 Digicert, Inc. System and method for zero touch provisioning of IoT devices
CN111404668B (zh) * 2019-01-02 2023-07-21 中国移动通信有限公司研究院 一种信息处理方法、设备及存储介质
US10903990B1 (en) 2020-03-11 2021-01-26 Cloudflare, Inc. Establishing a cryptographic tunnel between a first tunnel endpoint and a second tunnel endpoint where a private key used during the tunnel establishment is remotely located from the second tunnel endpoint
CN113254989B (zh) * 2021-04-27 2022-02-15 支付宝(杭州)信息技术有限公司 目标数据的融合方法、装置和服务器
US11991291B1 (en) * 2022-03-31 2024-05-21 Amazon Technologies, Inc. Content-based domain name enconding, encryption, and routing system

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000312203A (ja) * 1999-04-27 2000-11-07 Nippon Telegr & Teleph Corp <Ntt> 暗号通信の通過制御方法およびシステム
JP2004206573A (ja) * 2002-12-26 2004-07-22 Toshiba Corp データ転送装置、サーバー装置、情報提供システム、データ転送方法及びプログラム
JP2004525558A (ja) * 2001-02-13 2004-08-19 アベンテイル コーポレーション 信頼性のないプロトコルを利用して確実なストリーミングデータ送信機能を提供するための方法および装置
JP2004254027A (ja) * 2003-02-19 2004-09-09 Toshiba Corp サーバ装置、鍵管理装置、暗号通信方法及びプログラム
WO2006046289A1 (ja) * 2004-10-28 2006-05-04 Mitsubishi Denki Kabushiki Kaisha 通信装置および通信方法
US20070074282A1 (en) * 2005-08-19 2007-03-29 Black Jeffrey T Distributed SSL processing
JP2009206568A (ja) * 2008-02-26 2009-09-10 Nippon Telegr & Teleph Corp <Ntt> サービス妨害攻撃に耐性を持つssl/tls準拠システム、方法、サーバ、プログラムおよび記録媒体
US20100031337A1 (en) * 2007-04-09 2010-02-04 Certeon, Inc. Methods and systems for distributed security processing

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6094485A (en) * 1997-09-18 2000-07-25 Netscape Communications Corporation SSL step-up
US6108703A (en) 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
ATE397337T1 (de) 1999-12-21 2008-06-15 Contentguard Holdings Inc Verfahren zur übertragung der befugnis, nachrichten zu entschlüsseln
US7340532B2 (en) 2000-03-10 2008-03-04 Akamai Technologies, Inc. Load balancing array packet routing system
US7240100B1 (en) 2000-04-14 2007-07-03 Akamai Technologies, Inc. Content delivery network (CDN) content server request handling mechanism with metadata framework support
US6996616B1 (en) 2000-04-17 2006-02-07 Akamai Technologies, Inc. HTML delivery from edge-of-network servers in a content delivery network (CDN)
US7111057B1 (en) 2000-10-31 2006-09-19 Akamai Technologies, Inc. Method and system for purging content from a content delivery network
US7221370B1 (en) * 2001-01-26 2007-05-22 Palmsource, Inc. Adaptive content delivery
US20020143798A1 (en) 2001-04-02 2002-10-03 Akamai Technologies, Inc. Highly available distributed storage system for internet content with storage site redirection
US6996841B2 (en) 2001-04-19 2006-02-07 Microsoft Corporation Negotiating secure connections through a proxy server
US7640434B2 (en) * 2001-05-31 2009-12-29 Trend Micro, Inc. Identification of undesirable content in responses sent in reply to a user request for content
US7043632B2 (en) * 2001-12-12 2006-05-09 Nortel Networks Limited End-to-end security in data networks
US7254634B1 (en) 2002-03-08 2007-08-07 Akamai Technologies, Inc. Managing web tier session state objects in a content delivery network (CDN)
US7133905B2 (en) 2002-04-09 2006-11-07 Akamai Technologies, Inc. Method and system for tiered distribution in a content delivery network
US7529933B2 (en) * 2002-05-30 2009-05-05 Microsoft Corporation TLS tunneling
US7007163B2 (en) 2002-05-31 2006-02-28 Broadcom Corporation Methods and apparatus for accelerating secure session processing
US7082534B2 (en) 2002-05-31 2006-07-25 Broadcom Corporation Method and apparatus for performing accelerated authentication and decryption using data blocks
US20040093419A1 (en) 2002-10-23 2004-05-13 Weihl William E. Method and system for secure content delivery
US7870384B2 (en) * 2002-11-06 2011-01-11 International Business Machines Corporation Offload processing for secure data transfer
US7660896B1 (en) 2003-04-15 2010-02-09 Akamai Technologies, Inc. Method of load balancing edge-enabled applications in a content delivery network (CDN)
US7480794B2 (en) * 2004-09-22 2009-01-20 Cisco Technology, Inc. System and methods for transparent encryption
US7657940B2 (en) * 2004-10-28 2010-02-02 Cisco Technology, Inc. System for SSL re-encryption after load balance
JP4371982B2 (ja) * 2004-11-08 2009-11-25 キヤノン株式会社 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US8438628B2 (en) * 2005-08-10 2013-05-07 Riverbed Technology, Inc. Method and apparatus for split-terminating a secure network connection, with client authentication
EP1777907B1 (de) * 2005-10-20 2007-12-12 Ubs Ag Vorrichtungen und Verfahren zum Durchführen von kryptographischen Operationen in einem Server-Client-Rechnernetzwerksystem
WO2007078329A2 (en) 2005-12-30 2007-07-12 Skyetek, Inc. Seamless rfid tag security system
US20080052770A1 (en) 2006-03-31 2008-02-28 Axalto Inc Method and system of providing security services using a secure device
FR2899749B1 (fr) 2006-04-07 2008-07-04 Groupe Ecoles Telecomm Procede de protection d'identite, dispositifs, et produit programme d'ordinateur correspondants.
WO2007134082A2 (en) 2006-05-08 2007-11-22 Intelligent Compression Technologies, Inc. Security-preserving proxy tunnel
US7966646B2 (en) 2006-07-31 2011-06-21 Aruba Networks, Inc. Stateless cryptographic protocol-based hardware acceleration
US8352728B2 (en) 2006-08-21 2013-01-08 Citrix Systems, Inc. Systems and methods for bulk encryption and decryption of transmitted data
US8230214B2 (en) * 2006-08-21 2012-07-24 Citrix Systems, Inc. Systems and methods for optimizing SSL handshake processing
US8095787B2 (en) * 2006-08-21 2012-01-10 Citrix Systems, Inc. Systems and methods for optimizing SSL handshake processing
US8200960B2 (en) * 2006-10-20 2012-06-12 Oracle America, Inc. Tracking of resource utilization during cryptographic transformations
JP4386926B2 (ja) * 2007-02-16 2009-12-16 富士通株式会社 暗号通信プログラム、暗号通信方法および暗号通信装置
US8225085B2 (en) * 2007-06-05 2012-07-17 Blue Coat Systems, Inc. System and method for distributed SSL processing between co-operating nodes
US8549282B2 (en) * 2007-06-22 2013-10-01 Trend Micro Incorporated Method and system for monitoring encrypted data transmissions
US8145768B1 (en) * 2008-02-26 2012-03-27 F5 Networks, Inc. Tuning of SSL session caches based on SSL session IDS
US8788805B2 (en) * 2008-02-29 2014-07-22 Cisco Technology, Inc. Application-level service access to encrypted data streams
KR101528855B1 (ko) * 2008-03-04 2015-06-15 삼성전자주식회사 홈 네트워크에서 인증 정보를 관리하는 방법 및 그 장치
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
US8543805B2 (en) * 2010-04-21 2013-09-24 Citrix Systems, Inc. Systems and methods for split proxying of SSL via WAN appliances
US20140244998A1 (en) * 2010-11-09 2014-08-28 Secure64 Software Corporation Secure publishing of public-key certificates
US8649275B2 (en) * 2011-01-19 2014-02-11 Ixia Fast SSL testing using precalculated cryptographyc data
US8806609B2 (en) * 2011-03-08 2014-08-12 Cisco Technology, Inc. Security for remote access VPN
US8782774B1 (en) 2013-03-07 2014-07-15 Cloudflare, Inc. Secure session capability using public-key cryptography without access to the private key

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000312203A (ja) * 1999-04-27 2000-11-07 Nippon Telegr & Teleph Corp <Ntt> 暗号通信の通過制御方法およびシステム
JP2004525558A (ja) * 2001-02-13 2004-08-19 アベンテイル コーポレーション 信頼性のないプロトコルを利用して確実なストリーミングデータ送信機能を提供するための方法および装置
JP2004206573A (ja) * 2002-12-26 2004-07-22 Toshiba Corp データ転送装置、サーバー装置、情報提供システム、データ転送方法及びプログラム
JP2004254027A (ja) * 2003-02-19 2004-09-09 Toshiba Corp サーバ装置、鍵管理装置、暗号通信方法及びプログラム
WO2006046289A1 (ja) * 2004-10-28 2006-05-04 Mitsubishi Denki Kabushiki Kaisha 通信装置および通信方法
US20070074282A1 (en) * 2005-08-19 2007-03-29 Black Jeffrey T Distributed SSL processing
US20100031337A1 (en) * 2007-04-09 2010-02-04 Certeon, Inc. Methods and systems for distributed security processing
JP2009206568A (ja) * 2008-02-26 2009-09-10 Nippon Telegr & Teleph Corp <Ntt> サービス妨害攻撃に耐性を持つssl/tls準拠システム、方法、サーバ、プログラムおよび記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6016031782; 島崎 聡史、他: 'SSLセッションマイグレーションの提案と評価' コンピュータセキュリティシンポジウム2008 論文集 [第一分冊] 第2008巻 第3号, 20081008, p.139-144, 社団法人情報処理学会 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020502896A (ja) * 2016-12-16 2020-01-23 アマゾン・テクノロジーズ、インコーポレイテッド コンテンツ配信ネットワークを介した機密データの安全なデータ配給
US10887291B2 (en) 2016-12-16 2021-01-05 Amazon Technologies, Inc. Secure data distribution of sensitive data across content delivery networks
JP7036494B2 (ja) 2016-12-16 2022-03-15 アマゾン・テクノロジーズ、インコーポレイテッド コンテンツ配信ネットワークを介した機密データの安全なデータ配給
US11159498B1 (en) 2018-03-21 2021-10-26 Amazon Technologies, Inc. Information security proxy service
US10979403B1 (en) 2018-06-08 2021-04-13 Amazon Technologies, Inc. Cryptographic configuration enforcement

Also Published As

Publication number Publication date
AU2017200724A1 (en) 2017-02-23
BR112014033155A2 (pt) 2017-08-01
EP2792102A4 (en) 2015-07-29
WO2013090894A1 (en) 2013-06-20
JP6113183B2 (ja) 2017-04-12
CN104081711A (zh) 2014-10-01
US9647835B2 (en) 2017-05-09
US20170244681A1 (en) 2017-08-24
CA2859285C (en) 2020-06-09
CA2859285A1 (en) 2013-06-20
AU2012351909A1 (en) 2014-07-03
KR102069642B1 (ko) 2020-01-23
BR112014033155B1 (pt) 2022-04-12
KR20140103342A (ko) 2014-08-26
US11038854B2 (en) 2021-06-15
CN104081711B (zh) 2018-01-12
US20130156189A1 (en) 2013-06-20
EP2792102A1 (en) 2014-10-22

Similar Documents

Publication Publication Date Title
US11477037B2 (en) Providing forward secrecy in a terminating SSL/TLS connection proxy using ephemeral Diffie-Hellman key exchange
JP6113183B2 (ja) ローカルにアクセス可能な秘密鍵を用いないssl接続の終端
US10091240B2 (en) Providing forward secrecy in a terminating TLS connection proxy
US10298615B2 (en) Splicing into an active TLS session without a certificate or private key
EP3216163B1 (en) Providing forward secrecy in a terminating ssl/tls connection proxy using ephemeral diffie-hellman key exchange
EP3085008B1 (en) Providing forward secrecy in a terminating tls connection proxy

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151005

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161019

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170314

R150 Certificate of patent or registration of utility model

Ref document number: 6113183

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250