JP2015513810A - サーバー・ネーム・インディケーション(sni)を伴わない暗黙的なssl証明書管理 - Google Patents

サーバー・ネーム・インディケーション(sni)を伴わない暗黙的なssl証明書管理 Download PDF

Info

Publication number
JP2015513810A
JP2015513810A JP2014554755A JP2014554755A JP2015513810A JP 2015513810 A JP2015513810 A JP 2015513810A JP 2014554755 A JP2014554755 A JP 2014554755A JP 2014554755 A JP2014554755 A JP 2014554755A JP 2015513810 A JP2015513810 A JP 2015513810A
Authority
JP
Japan
Prior art keywords
ssl
name
ssl certificate
certificate
port
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
JP2014554755A
Other languages
English (en)
Other versions
JP2015513810A5 (ja
JP6058699B2 (ja
Inventor
ヨー,ウォン・スク
キム,オク
ローレンス,ジェニー
ディ マルコ,アニエロ スコット
ディ マルコ,アニエロ スコット
ジャガディーサン,ヤミニ
ヒルモ,ウェイド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2015513810A publication Critical patent/JP2015513810A/ja
Publication of JP2015513810A5 publication Critical patent/JP2015513810A5/ja
Application granted granted Critical
Publication of JP6058699B2 publication Critical patent/JP6058699B2/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/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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • 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
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/663Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports
    • 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
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Abstract

実施形態は、例えば、SNIの能力がないクライアントがSSL helloを開始するときに起こり得ることである、IPアドレスおよびポートのみがSSL hello接続内に存在するときに、IP:ポート対ホスト名テーブルを使用してホスト名を識別する逆引き参照を開示する。ホスト名が正常にルックアップされると、命名規則が、SSL証明書の管理および識別を単純化するために使用される。異なるタイプのSSL証明書がサポートされる。複数のホスト名の一致が、IP:ポート対ホスト名テーブル内の所与のIPアドレスおよびポートに関連する場合がある。そのような場合では、最初の照合ホスト名が、関係のあるSSL証明書を識別するために命名規則とともに常に使用される。命名規則は、実施形態が、最も一致しないファイル名より最も一致するファイル名を最初に探索することになるような方途で適用される。

Description

[0001]セキュアソケット層(SSL)/トランスポート層セキュリティー(TLS)が、インターネットなどのセキュアでないネットワークを介して送信される機密データーを暗号化するために主として使用される。HTTPSプロトコルにおいて、暗号化されるデーターのタイプは、URL、HTTPヘッダー、クッキー、およびフォームを通して提出されるデーターを含む。SSL/TLSによってセキュアにされるWebページは、「https://」で始まるURLを有する。SSL/TLSセキュリティープロトコルは、アプリケーションプロトコル層とTCP/IP層との間に階層化されており、そこでSSL/TLSセキュリティープロトコルは、トランスポート層へのアプリケーションデーターをセキュアにし、次いで送信することが可能である。
[0002]一連の順序付けられたメッセージを含むSSL/TLSハンドシェイクプロトコルが、データー転送セッションのセキュリティーパラメーターをネゴシエートするために使用される。SSL/TLSハンドシェイクは、Webサーバーに送信される初期のClient Helloメッセージで始まる。Client Helloメッセージは、バージョン番号、ランダムに生成されたデーター、セッション識別、クライアント上で利用可能な暗号スイートのリスト、および要求される圧縮アルゴリズムを包含する。サーバー・ネーム・インディケーション(SNI)がTLS拡張により提供され、そのことによってクライアントは、それらのクライアントが接触しているサーバーの名前をClient Helloメッセージ内で提供することが可能になる。ホスト名は、サーバーの完全修飾DNSホスト名を包含する。例えばこの機能は、単一の基になるネットワークアドレスで複数の仮想サーバーをホストするサーバーへのセキュアな接続を容易にするために望ましい。
[0003]サーバーは、Server HelloメッセージによってClient Helloメッセージに応答する。Server Helloメッセージは、バージョン番号、ランダムに生成されたデーター、セッション識別、新しい、または再開されたセッションIDを含む。クライアントが、再開すべきセッションを指示しないならば、新しいIDが生成される。新しいセッションIDは、クライアントが、再開すべきセッションを指示するが、サーバーが、そのセッションを再開することが可能でない、または再開することにしないときにもまた生成される。この前文の場合にもまた、新しいセッションID、クライアントおよびサーバーの両方によりサポートされる暗号スイート、ならびに圧縮アルゴリズムが結果として生じる。(現在は何もサポートされていない)使用すべき圧縮アルゴリズムを指定する。
[0004]サーバーはまた、サーバーを認証するために、およびプリマスターシークレットを暗号化するために使用され得るサーバーの公開キーを包含する、そのサーバーのSSL証明書をクライアントに送信する。クライアントは、証明書内のサーバーの名前をチェックして、その名前が、クライアントが接続するために使用した名前と一致することを確認する。ユーザーがブラウザーにおいてURLとしてwww.contoso.comを入れるならば、証明書は、www.contoso.comまたは*.contoso.comのサブジェクト名を包含する。ブラウザーは、これらの名前が一致しないならば、ユーザーに警告を発して、サーバーが信頼されるべきではないということを指示することになる。データーを暗号化することが可能であることに加えて、SSL/TLSはさらに、クライアントが実際にサーバーと通信していることを確実にするものであり、そのことは、URL内のドメイン名が、サーバーから戻った証明書のサブジェクト名と一致することを確実にすることにより、SSL/TLSが意図していたものである。
[0005]次いでサーバーは、サーバーが完了した状態となり、クライアントからの応答に待機しているということを指示する、Server Hello Doneメッセージを送信する。追加的なメッセージが、キー交換のために、ならびに、SSL/TLSハンドシェイクを確認および完成するために使用される。
[0006]典型的には、ワイルドカードSSL証明書、または複数のサブジェクト名を伴うSSL証明書を除いて、SSL証明書は、具体的なサイトに対して、サイトのドメイン名に対する一致するサブジェクトを伴って発行される。このことによって、各々のWebサイトがそのWebサイト自体のSSL証明書を必要とするという理由で、スケールの問題が発生する。したがって、百万のセキュアなWebサイトが存在するならば、百万のSSL証明書が必要とされる。あらゆるWebサイトに対するSSL証明書を管理することは、複数のWebサイトに責任を負うサーバーアドミニストレーターにとって気力をくじく問題となり得る。SSL証明書の管理は、高密度のホスティングまたはクラウドのサービスをサポートするアドミニストレーターにとって特に困難なものとなり得る。加えて、SSL証明書は年に1度期限切れになるので、SSL証明書の継続する維持、および、1対1の証明書/Webサイトの関連付けの管理は、継続する、時間がかかるタスクである。
[0007]サーバー管理者は、サーバー上のWebサイトのすべてに対して証明書を管理しなければならない。従来は、クライアントがSSL/TLSを介してサーバーに接続するとき、クライアントは、IP:ポートによってネットワークエンドポイントを識別することのみが可能である。したがって、ホストWebサイトのすべてに対して証明書を管理することに加えて、管理者は、各々のWebサイトに対して、各々のサイトが標準的なSSLポート443を維持することを望むので、対応するIPアドレスを作成しなければならない。このことによって、数百万のWebサイトをホストし、したがって数百万の証明書およびIPアドレスを管理しなければならない管理者にとってのスケール問題が発生する。
[0008]今では、TLSを拡張することによるSNIが、SSL Helloによって、仮想ドメイン名と呼ばれる場合があるドメイン名を送信することが可能である。今では、ドメイン名によってネットワークエンドポイントは、全部で3つの小片の情報、すなわちIPアドレス、ポート、およびドメイン名を使用して一意に識別され得る。このことによって、同じIPアドレスおよびポートが不変のままであり得る一方で、百万の一意なドメイン名がWebサイトを区別するために使用され得るので、管理者が百万のIPアドレスを作成する必要性がなくなる。しかしながら管理者は依然として、百万の証明書を作成および管理しなければならず、百万のサイトと百万の証明書との間の1対1の関連付けを管理しなければならない。
[0009]SNIを使用すると、サイトに対応するSSL証明書は、命名規約を使用して暗黙に示され得る。例えば、SNIの能力があるクライアントからのSSLハンドシェイクは、そのクライアントが、特定のドメイン名に接続することを試行しているということを指示する。1つのそのようなシステムでは命名規約は、SSL証明書が<仮想ドメイン名>.pfxと命名されなければならないということを規定する。例えばwww.contoso.comなどのドメインに対して、Webサービスは、サイトに対応するSSL証明書の名前として「www.contoso.com.pfx」を使用することが可能である。この「.pfx」命名規則を使用するシステムが、「Central and Implicit Certificate Management(集中的および暗黙的な証明書管理)」という名称の、2011年3月22日に出願された、係属中の米国特許出願第13/069,032号において説明されており、この出願の開示は本明細書により、その全体が本明細書に参照により組み込まれている。
[0010]そのような命名規則によって、時間がかかる明示的な1対1のマッピングを維持する必要性はなくなるが、そのことは、SNIの能力があるクライアントのみにより供与されるSSL Client Helloの回にドメイン名が利用可能であるということに過度に依存する。すべてのクライアントの中でのSNIの採用は、2011年9月の時点でおおよそ65%〜75%であり、すべてのクライアントの25%〜35%が、SNIの能力がない状態のままである。結果として、SNIに過度に依存する命名規則のみでは、全体的に時間のかかる状況に対しての用意は整っていない。
[0011]この概要は、下記の詳細な説明においてさらに説明される概念の選択物を、単純化された形式で紹介するために提供されるものである。この概要は、請求される主題の主要な特徴または本質的な特徴を識別することは意図されず、この概要は、請求される主題の範囲を限定するために使用されることもまた意図されない。
[0012]実施形態によって、そのような命名規則を使用してSSL証明書の管理を単純化することに対するSNIへの過度の依存がなくなり、そのことによって、SNIの能力があるブラウザーおよびSNIの能力がないブラウザーの両方がサポートされる。加えてシステムは、1つのサブジェクト名を伴う証明書、星印サブドメインを伴う1つのサブジェクト名を伴う証明書(「ワイルドカード証明書」として知られている)、および複数のサブジェクト名を伴う証明書などの、異なるタイプのSSL証明書をサポートする。
[0013]実施形態は、IP:ポート対ホスト名の逆引き参照能力を提供する。IP:ポート対ホスト名テーブルは、Webサーバーにおいての構成オプションに基づいて生成される。テーブルは、IPアドレス/ポート番号対を1つまたは複数のホスト名に関連付ける。このテーブルを使用すると、Webサーバーは、SNIの能力がないクライアントがSSL helloを開始するときの場合のように、SSL hello接続からのIPアドレスおよびポートのみを使用してホスト名を「逆引き参照する」ことが可能になる。
[0014]ホスト名が正常にルックアップされると、同じ命名規則が、SSL証明書の管理を単純化するために使用される。SSL証明書とサイトとの間の命名規則は、もはやSNIに過度に依存しない。
[0015]実施形態は、異なるタイプのSSL証明書もまたサポートする。サーバーが逆引き参照を遂行するとき、所与のIPアドレス/ポート番号と一致する複数のホスト名が存在する場合がある。そのような場合ではサーバーは、最初の照合ホスト名を常に使用し、命名規則を適用して、関連するSSL証明書を検索することになる。Webサーバーは最初の照合ホスト名を常に使用することが可能であるので、サーバーは、IP:ポート対ホスト名テーブル全体をスキャンして、重複物が存在するかどうかを確かめる必要がなく、サーバーは、最初の一致を探し出すと抜けることになる。
[0016]これらの実施形態は、サーバーが、最も一致しないファイル名より最も一致するファイル名を最初に探索することになるような方途で、サーバーが命名規則を適用するので、すべての3つのタイプのSSL証明書を満足させるものである。より具体的には、サーバーは最初に、ファイル名「www.<ホスト名>.pfx」を伴う対応する証明書を探索することを試行することになる。そのようなファイルが存在しないならば、サーバーは、より一致しないファイル名「_.<ホスト名>.com.pfx」を自動的に再試行することになり、ここでアンダースコア文字「_」は、「ワイルドカード証明書」内のワイルドカードを示す。本明細書の例ではアンダースコア「_」は、命名規約の具体的な例である。これに対して、任意の文字が、ワイルドカードとして命名規則により定義され得るということが理解されよう。加えて命名規則は、複数のサブジェクト名を伴う証明書に対しては、SSL証明書ファイル自体が同一であるにもかかわらず、存在するサブジェクト名と同じだけ多くのファイルが存在する必要があるということを規定する。
[0017]上記の構成に基づいて、Webサーバーは、IP:ポート対ホスト名テーブルを正常に生成することが可能であり、さらには、「逆引き参照」が常に最初の照合ホスト名に依拠するにもかかわらず、SSL証明書の固有の振る舞いを活用して、SSLの振る舞いの正しさを正常に維持する。
[0018]本発明の実施形態の上記および他の利点および特徴をさらに明確化するために、本発明の実施形態のより詳細な説明が、添付される図面を参照することにより与えられる。これらの図面は、本発明の典型的な実施形態のみを図示するものであり、したがって本発明の範囲を限定するものとみなされるべきではないということが十分認識される。本発明は、付随する図面の使用によって具体性および詳細が加わった状態で、説明および解説される。
[0019]1つの実施形態による、SNIの能力があるブラウザーおよびSNIの能力がないブラウザーの両方をサポートするシステムのブロック図である。 [0020]1つの実施形態による、単一名SSL証明書、または複数のサブジェクト名を伴うSSL証明書を有するWebサーバーと通信する、SNIの能力がないブラウザーをサポートするシステムを例示するブロック図である。 [0021]1つの実施形態による、ワイルドカードSSL証明書を有するWebサーバーと通信する、SNIの能力がないブラウザーをサポートするシステムを例示するブロック図である。 [0022]Webサーバー上でSSL証明書を識別するための方法または処理のフローチャートである。 [0023]1つの実施形態による、Webサーバー上のSSL証明書ファイルストアー内に、単一名SSL証明書、または複数のサブジェクト名を伴うSSL証明書を記憶するための、方法または処理のフローチャートである。 [0024]1つの実施形態による、Webサーバー上のSSL証明書ファイルストアー内に、ワイルドカードSSL証明書を記憶するための、方法または処理のフローチャートである。 [0025]図1〜図6の例が実装され得る、適したコンピューティングおよびネットワーキング環境の例を例示する図である。
[0026]セキュアソケット層(SSL)およびトランスポート層セキュリティー(TLS)プロトコルが、ブラウザークライアントとWebサーバーとの間のインターネットを介した通信のためのセキュリティーを提供するために使用される。サーバー・ネーム・インディケーション(SNI)は、ブラウザーが到達することを試みているホスト名を指示するようにTLSプロトコルを拡張する。SNIによって、サーバーは、同じIPアドレスおよびポート番号に対する複数のSSL証明書を使用することが可能になり、そのことによって、複数のセキュアな(すなわち、https://)Webサイトは、同じIPアドレスおよびポートによりサービングされることが可能になる。一部のより古いブラウザーおよびサーバーは、SNIをサポートしない。
[0027]3つの異なるタイプのSSL証明書、すなわち、1つのサブジェクト名を伴うSSL証明書、星印サブドメインを伴う1つのサブジェクト名を伴う証明書(「ワイルドカード証明書」)、および複数のサブジェクト名を伴う証明書が存在する。本明細書で説明されるシステムおよび方法の実施形態は、すべての3つのタイプのSSL証明書をサポートする。
[0028]ブラウザークライアントがWebサイトにアクセスすることを試みるとき、サーバーは、ブラウザーからのSSL hello接続内のホスト名を探索する。SNIの能力があるブラウザーは、接続を確立するときにホスト名を含むことになる。SNIの能力がないブラウザーがSSL hello接続を開始するとき、IPアドレスおよびポート番号はSSL hello接続とともに存在するが、ホスト名は存在しない。
[0029]1つの実施形態ではWebサーバーは、IPアドレスおよびポート番号をホスト名に関係付けるIP:ポート対ホスト名テーブルを生成する。ホスト名が識別されると、命名規則が、対応するSSL証明書を識別するためにホスト名に適用され得る。このテーブルを使用して、Webサーバーは、IPアドレスおよびポート番号の逆引き参照を遂行して、適切なホスト名を探し出すことが可能である。IP:ポート対ホスト名テーブルからのホスト名を使用して、Webサーバーは、適切なSSL証明書をルックアップすることが可能である。
[0030]Webサーバーは、SSL証明書に対する特定の命名規則を使用し、その命名規則によってサーバーは、各々のホスト名に対する適切な証明書を探し出すことが可能になる。1つの実施形態では拡張子「PFX」が、記憶される証明書ファイルを命名するためにSSL証明書内のホスト名(複数可)に付加される。例えばSSL証明書は、「<ホスト名>.pfx」と命名され、Webサーバー上でローカルキャッシュ内に記憶される、または、集中的な証明書ストアーもしくはファイルサーバー内に記憶される。命名規則は、SSL証明書の管理を単純化するために使用される。命名規則によって、サーバーが、ホスト名に基づいて対応するSSL証明書を暗黙に示すことが可能になり、そのことによって、サイトとSSL証明書との間の明示的な1対1のマッピングの管理がなくなる。拡張子「PFX」が本明細書の例において使用されるが、任意の他の拡張子もまた、SSL証明書を命名するために使用され得るということが理解されよう。Webサーバーは、適切な拡張子を付加することにより変更されるようなホスト名を使用して、SSL証明書をルックアップすることが可能である。
[0031]Webサーバーの実施形態は、異なるタイプのSSL証明書のすべてをサポートする。サーバーがIP:ポート対ホスト名テーブルにおいてルックアップを遂行するとき、所与のIPアドレスおよびポートへの複数のホスト名の一致が存在する場合がある。このことは例えば、Webサーバーが、同じIPアドレスおよびポートで複数のWebページをホストしている場合に起こり得る。複数のホスト名がIPアドレスおよびポートと一致する場合では、サーバーは、最初の照合ホスト名を常に使用することになり、そのホスト名に命名規則(すなわち、「PFX」拡張子を付加すること)を適用することになる。Webサーバーは、この実施形態では最初の照合ホスト名を常に使用することが可能であるので、サーバーは実際には、IP:ポート対ホスト名テーブル全体をスキャンして、重複物が存在するかどうかを確かめる必要がない。その代わりにWebサーバーは、最初のIP:ポート対ホスト名の一致を探し出すとテーブルから抜けることになる。
[0032]IP:ポート対ホスト名テーブルの使用は、すべての3つのタイプのSSL証明書とともに働くものである。例えば、複数のサブドメインを伴うサイトに対する以下のバインド(IP/ポート/ホスト名)、すなわち
64.4.6.100/443/images.contoso.com
64.4.6.100/443/members.contoso.com
64.4.6.100/443/secure.contoso.com
が存在する場合がある。
[0033]これらのサブドメインをホストするWebサイトは、SSLワイルドカード証明書を使用することが可能である。この場合でのワイルドカード証明書は、*.contoso.comを表すものである。命名規則を使用して、このワイルドカード証明書は、名前「_.contoso.com.pfx」を使用して記憶されることになり、ここで、「PFX」拡張子がホスト名に付加されており、「_」はワイルドカード証明書内の星印(「*」)を表す。
[0034]Webサーバーは、これらのバインドに対して以下のIP:ポート対ホスト名テーブルを生成することになる。
Figure 2015513810
[0035]複数のドメインを伴うサイトが、以下のバインド(IP/ポート/ホスト名)、すなわち
192.168.0.1/443/www.contoso.com
192.168.0.1/443/www.example.com
を有する場合がある。
[0036]これらの複数のドメインをホストするWebサイトは、複数のドメインを伴うSSL証明書を使用することが可能である。この場合でのSSL証明書は、www.contoso.comおよびwww.example.comの両方を列挙することになる。命名規則を使用して、この証明書は、証明書内で列挙されるドメインの各々に命名規則を適用することにより複数回記憶されることになる。証明書は、名前「www.contoso.com.pfx」を使用して1つの回で記憶され、次いで名前「www.example.com.pfx」を使用して2番目の回で記憶されることになる。したがって1つの実施形態では、命名規則は、複数のサブジェクト名を伴うSSL証明書に対しては、SSL証明書ファイルが同一であるにもかかわらず、存在するサブジェクト名と同じだけ多くの「PFX」ファイルが存在する必要があるということを規定する。
[0037]Webサーバーは、これらのバインドに対して以下のIP:ポート対ホスト名テーブルを生成することになる。
Figure 2015513810
[0038]SNIの能力がないブラウザーがサーバー上のWebサイトに到達することを試みるとき、ブラウザーは、IPアドレスおよびポート番号を送信するが、ホスト名は送信しない。サーバーは、IPアドレスおよびポート番号を使用して、IP:ポート対ホスト名テーブル内のホスト名をルックアップする。上記の表1および表2に例示されるように、IPアドレス/ポート番号に対応する複数の証明書が存在する場合がある。1つの実施形態ではWebサーバーは、IP:ポート対ホスト名テーブル内の最初に列挙されるホスト名を使用し、命名規則を適用する。例えば、IPアドレス/ポート番号に対応する最初のホスト名がwww.contoso.comであるならば、サーバーは、ファイル名「www.contoso.com.pfx」を伴う対応する証明書を最初に探索することになる。そのようなファイルが存在しないならば、サーバーは、フォーマット「_.contoso.com.pfx」を有する、より一致しないファイル名を使用して自動的に再試行することになる。
[0039]図1は、1つの実施形態による、SNIの能力があるブラウザーおよびSNIの能力がないブラウザーの両方をサポートするシステムのブロック図である。サーバー101は、Webサービスインスタンス102a〜nを使用するいくつかのテナントに対するWebサイトをサポートする。各々のテナントに対するエンドポイントは、IPアドレス(IP)およびポート番号(PORT)を使用して識別される。クライアントブラウザー103および104は、IPアドレスおよびポート番号を使用してWebサイトと通信する。他の実施形態では、Webサービスインスタンス102a〜nの1つまたは複数のグループが、2つ以上の個別のサーバー上に配置される場合がある。
[0040]SSL証明書は、セキュアなWebサイトとともに使用するためにSSL証明書ストアー105内で維持され得る。マルチテナント環境ではSSL証明書ストアー105は、サーバー101上のSSL証明書の管理を単純化するために使用され得る。各々のWebサービスインスタンス102のあちこちで証明書を複製する代わりに、Webサービス102は、共通のストアー105上のSSL証明書にアクセスすることが可能である。SSL証明書は、上記で考察された命名規則を使用して記憶される。特に、単一名証明書、および複数のサブジェクト名を伴う証明書は、証明書内で列挙される各々のドメインに対してフォーマットwww.domain.com.pfxを使用して記憶される。ワイルドカードSSL証明書は、証明書内の最上位レベルドメインに対するフォーマット「_.domain.com.pfx」を使用して記憶される。他の実施形態では各々のWebサービス102は、最近使用されたSSL証明書などの1つまたは複数のSSL証明書を記憶するために使用されるローカルキャッシュを有する場合がある。
[0041]SNIの能力があるブラウザー104がWebサービス102にアクセスするとき、SSL helloは、TLS拡張においてのホスト名(例えば、「www.contoso.com」)を含む。サーバー101は、ローカルキャッシュが利用可能であるならば、ローカルキャッシュ内の対応する証明書を探索する。キャッシュミスであるならば、サーバー101は、ホスト名(www.contoso.com)を使用して、SSL証明書ストアー105内の証明書をルックアップする。サーバー101は、命名規則(www.contoso.com.pfx)を使用して、ファイルサーバー105上の証明書を探し出す。
[0042]SNIの能力がないブラウザー103がWebサービス102にアクセスするとき、SNIの能力がないブラウザー103は、ホスト名を送信するのではなく、IPアドレスおよびポート番号を送信するのみである。IPアドレスおよびポートは常に利用可能であるが、ホスト名は、SNIの能力がないブラウザー103からは利用可能でない。SSL証明書を探し出すために、サーバー101は、IPアドレス/ポート番号を使用してIP:ポート対ホスト名マッピング106内の逆引き参照を遂行して、適切なホスト名を探し出す。上記の表1および表2に例示されるように、IPアドレス/ポート番号は、1つまたは複数のホスト名と相関させられる場合がある。サーバー101は、IP:ポート対ホスト名マッピング106内で探し出される、最初に列挙されるホスト名(例えば、www.contoso.com)を取得する。次いでサーバー101は、命名規則(例えば、www.contoso.com.pfx)を使用して、リモートファイルサーバー105上のSSL証明書を検索する。この検索は、適切な単一名SSL証明書、または複数のサブジェクト名を伴う証明書を、それらの証明書が存在するならば識別する。最初の試み(すなわち、www.contoso.com.pfx)と一致するSSL証明書が探し出されないならば、サーバー101は、代替の命名規則(例えば、_.contoso.com.pfx)を使用し、再度リモートファイルサーバー105を検索する。この検索は、適切なワイルドカードSSL証明書を、その証明書が存在するならば識別する。
[0043]図2は、1つの実施形態による、単一名SSL証明書、または複数のサブジェクト名を伴う証明書を有するWebサーバー202と通信する、SNIの能力がないブラウザー201をサポートするシステムを例示するブロック図である。Webサーバー202は、サポートされるIPアドレス/ポート番号/ホスト名の組み合わせを識別するIP:ポート対ホスト名マッピング203を含む。Webサーバー202は、1つまたは複数のSSL証明書を保持するSSL証明書ストアー204もまた含む。SSL証明書は、上記で説明された命名規則を使用して命名され、「PFX」拡張子が、SSL証明書内で列挙されるドメイン名に付加される。複数のサブジェクト名を伴うSSL証明書が存在するならば、その証明書は、証明書内で列挙される各々のサブジェクト名に対して命名規則を使用して複数回記憶される。
[0044]ブラウザー201はSNIをサポートせず、したがって、SSL helloのTLS拡張においてのホスト名を送信しない。代わりにブラウザー201は、Webサーバー202にIPアドレス(Addr1)およびポート番号(Port#)だけを送信する。サーバー202は、ホスト名が提供されていないということを決定する。IPアドレス/ポート番号を使用してサーバー202は、IP:ポート対ホスト名マッピング203を参照して、ブラウザー201により送信される情報に関連するホスト名を識別する。
[0045]1つのサブジェクト名を伴うSSL証明書の場合では、証明書は、www.contoso.comなどの1つのドメイン名とともに使用されるのみであり得る。IP:ポート対ホスト名テーブル203のコンテキストにおいては、この証明書に対してただ1つの行項目が存在することになる。ただ1つの行項目が存在するので、Webサーバー202は、命名規則を使用して、SSL証明書ストアー204内のそのドメイン名を検索することになる。Webサーバー202は、SSL証明書ストアー204内の最初の一致(例えば、www.contoso.com.pfx)を探し出すと、SSL証明書検索を終了することになる。
[0046]複数のサブジェクト名を伴うSSL証明書の場合では、証明書は、www.contoso.com、www.example.com、およびwww.1.comなどの複数のドメイン名とともに働くように設計される。Webサーバーは、証明書内で列挙される各々のドメインに対して1つの回で、複数のサブジェクト名を伴うSSL証明書を記憶する。したがって、ファイルwww.contoso.com.pfx、www.example.com.pfx、およびwww.1.com.pfxは、異なる名前で保存される同じSSL証明書のコピーである。
[0047]IP:ポート対ホスト名テーブル203のコンテキストにおいては、列挙されるドメインのいくつがWebサーバー202上で構成されるかに応じて、この証明書に対して複数の行項目が存在し得る。Webサーバー202は、テーブル203からの最初のIPアドレス/ポート名の一致に対するホスト名(例えば、www.contoso.com)を使用する。Webサーバー202は、命名規則を使用して、SSL証明書ストアー204内のそのドメイン名を検索する。Webサーバー202は、SSL証明書ストアー204内の最初の一致(例えば、www.contoso.com.pfx)を探し出すと、SSL証明書検索を終了することになる。
[0048]ブラウザー201が、www.contoso.comではなくwww.example.comまたはwww.1.comのドメインに到達することを試みている場合でも、処理はそれでもなお、正しいSSL証明書を取得することになる。これらのドメインはすべて、複数のサブジェクト名を伴う同じSSL証明書を使用するので、このSSL証明書は複数の名前で保存されている。したがって、同じSSL証明書を共有する任意のドメインが、関連する証明書を探し出すための検索変数として使用され得る。
[0049]図3は、1つの実施形態による、ワイルドカードSSL証明書を有するWebサーバー302と通信する、SNIの能力がないブラウザー301をサポートするシステムを例示するブロック図である。Webサーバー302は、サポートされるIPアドレス/ポート番号/ホスト名の組み合わせを識別するIP:ポート対ホスト名マッピング303を含む。Webサーバー302は、1つまたは複数のSSL証明書を保持するSSL証明書ストアー304もまた含む。SSL証明書は、上記で説明された命名規則を使用して命名され、「PFX」拡張子が、SSL証明書内で列挙されるドメイン名に付加される。加えて、ワイルドカードSSL証明書が存在するとき、その証明書は、証明書内で列挙されるサブドメインに対して、命名規則によってフォーマット_.domain.pfxを使用して記憶される。
[0050]ブラウザー301はSNIをサポートせず、したがって、SSL helloのTLS拡張においてのホスト名を送信しない。代わりにブラウザー301は、Webサーバー302にIPアドレス(Addr1)およびポート番号(Port#)だけを送信する。サーバー302は、ホスト名が提供されていないということを決定する。IPアドレス/ポート番号を使用してサーバー302は、IP:ポート対ホスト名マッピング303を参照して、ブラウザー301により送信される情報に関連するホスト名を識別する。
[0051]ワイルドカードSSL証明書の場合では、ドメイン名が同じままである限りは、同じ証明書が複数のサブドメインに対して使用され得る。より具体的には、*.contoso.comを伴うSSL証明書サブジェクト名は、images.contoso.com、members.contoso.com、secure.contoso.com等々のような、サブドメインの任意のものに対して使用され得る。
[0052]IP:ポート対ホスト名テーブル303のコンテキストにおいては、列挙されるドメインのいくつがWebサーバー302上で構成されるかに応じて、この証明書に対して複数の行項目が存在し得る。Webサーバー302は、テーブル303からの最初のIPアドレス/ポート名の一致に対するホスト名(例えば、images.contoso.com)を使用する。Webサーバー302は、命名規則(すなわち、ホスト名に「PFX」を付加すること)を使用して、SSL証明書ストアー304を検索する。ワイルドカードSSL証明書の場合では、Webサーバー302は、最初の既定の検索パラメーター(すなわち、www.images.contoso.com.pfx)を使用することでは、SSL証明書ストアー304内での一致を探し出せないことになる。
[0053]最初の試みが失敗するとき、Webサーバー302は、ワイルドカード文字を伴う代替の検索形式(例えば、_.contoso.com.pfx)を使用する。この検索パラメーターは、ストアー304内の_.contoso.com.pfxのSSL証明書への一致をもたらすことになる。Webサーバー302は、SSL証明書ストアー304内のこの一致を探し出すと、SSL証明書検索を終了することになる。
[0054]ブラウザー301が、images.contoso.comではなくmember.contoso.comまたはsecure.contoso.comのドメインに到達することを試みている場合でも、これらのドメインはすべて、同じワイルドカードSSL証明書を使用するので、処理はそれでもなお、正しいSSL証明書を取得することになる。したがって、最上位レベルドメインに対するワイルドカードドメイン検索が、サブドメインの任意のものに対する適正な証明書を探し出すための検索変数として使用され得る。
[0055]複数のドメイン名が存在するので、最初の一致を探し出すと抜けることは、上記で述べられた再試行ロジックを理由として機能的に正しい。命名規約は、ワイルドカード証明書が_.contoso.com.pfxと命名されるということを規定する。images.contoso.comが最初の照合ホスト名であるならば、サーバーは最初に、探し出されないことになるimages.contoso.com.pfxを探索することを試行することになる。次いで再試行ロジックが始動し、探し出されることになる_.contoso.com.pfxを探索することを試行する。そして定義により、*.contoso.com証明書は任意のサブドメインに対して使用され得るので、この証明書は、images.contoso.comとともに正しく働く。
[0056]図3の例で例示されるように、最初の照合ホスト名が、images.contoso.com、members.contoso.com、またはsecure.contoso.comであるかどうかは問題ではない。それらのサブドメインはすべて初期には、「ファイルが見つかりません」というエラーをもたらすことになるが、Webサーバーは、定義によりサブドメインのすべてとともに働くことになる、代替の_.contoso.com.pfx検索を使用して、SSL証明書を正しく位置特定することになる。
[0057]図4は、Webサーバー上でSSL証明書を識別するための方法または処理のフローチャートである。ステップ401では、Webサーバーは、クライアントからSSL Helloメッセージを受信する。ステップ402では、Webサーバーは、SSL Helloメッセージがホスト名を含まないということを決定する。ステップ403では、SSL Helloメッセージに関連するIPアドレスを使用して、1つまたは複数の対応するホスト名が、IPアドレス対ホスト名マッピングから識別される。Webサーバーは、SSL証明書を検索するためにホスト名の1つを選択する。1つの実施形態では選択されるホスト名は、IPアドレス対ホスト名マッピング内の1つまたは複数の対応するホスト名の、最初に列挙されるホスト名(例えば、images.contoso.com)である。
[0058]ステップ404では、選択されたホスト名が、SSL証明書検索名(例えば、images.contoso.com.pfx)を作成するために、ファイル拡張子(例えば、.pfx)を(例えば末尾に)追加することにより変更される。ステップ405では、新しく作成されたSSL証明書検索名が、SSL証明書ストアーを検索するために使用される。SSL証明書検索名に対応するSSL証明書がSSL証明書ストアー内で識別されるならば、処理はステップ409に進み、そのSSL証明書は、ステップ410でクライアントに送信される。
[0059]ステップ406で、そのSSL証明書に対応するSSL証明書が識別されないならば、SSL証明書検索名が、変更されたSSL証明書検索名を作成するためにステップ407で変更される。SSL証明書検索名は、SSL証明書検索名内のサブドメイン(例えば、images.)をワイルドカード文字(例えば、「_」)で置換することにより変更され得る。変更されたSSL証明書検索名(例えば、_.contoso.pfx)が、ステップ408で再度SSL証明書ストアーを検索するために使用される。変更されたSSL証明書検索名に対応するSSL証明書がSSL証明書ストアー内で識別されるならば、処理はステップ409に進み、そのSSL証明書は、ステップ410でクライアントに送信される。
[0060]選択されたホスト名およびSSL証明書検索名は、本明細書で説明されたような命名規則(すなわち、ファイル拡張子を末尾に追加し、ワイルドカード文字を先頭に追加すること)を使用して、または、記憶されるSSL証明書の検索をサポートする任意の他の適切な変更を使用して変更され得る。
[0061]図5は、1つの実施形態による、Webサーバー上のSSL証明書ファイルストアー内に、単一名SSL証明書、または複数のサブジェクト名を伴う証明書を記憶するための、方法または処理のフローチャートである。ステップ501では、SSL証明書が、SSL証明書内で列挙される、Webサーバー上でホストされるドメインを識別することなどにより、Webサーバーに関連すると識別される。ステップ502では、SSL証明書内で列挙される1つまたは複数のサブジェクト名が識別される。ステップ503では、1つまたは複数の列挙されるサブジェクト名の各々に対して、関連するSSL証明書がSSL証明書ストアーに保存される。SSL証明書が保存される各々の回で、異なるファイル名が使用される。各々のファイル名は、1つの、または列挙されるサブジェクト名に末尾に追加されるファイル名拡張子を含む。
[0062]図6は、1つの実施形態による、Webサーバー上のSSL証明書ファイルストアー内に、ワイルドカードSSL証明書を記憶するための、方法または処理のフローチャートである。ステップ601では、ワイルドカードSSL証明書が、Webサーバーに関連すると識別される。ステップ602では、SSL証明書内で列挙される最上位ドメイン名(例えば、*.contoso.com)が識別される。ステップ603では、SSL証明書が、最上位ドメイン名に先頭に追加されるワイルドカード文字、および、列挙されるホスト名に末尾に追加されるファイル名拡張子を含むファイル名(例えば、_.contoso.com.pfx)を使用して、SSL証明書ストアーに保存される。
[0063]図4でのステップ401〜410、図5でのステップ501〜503、および図6でのステップ601〜603は、同時に、および/または順次実行され得るということが理解されよう。各々のステップは、任意の順序で遂行され得るものであり、1度または繰り返し遂行され得るということがさらに理解されよう。
[0064]図7は、図1〜図6の例が実装され得る、適したコンピューティングおよびネットワーキング環境700の例を例示する。コンピューティングシステム環境700は、適したコンピューティング環境の1つの例にすぎず、本発明の使用または機能の範囲に関するいかなる限定も示唆することは意図されていない。本発明は、多数の他の汎用または専用の、コンピューティングシステム環境または構成によって動作可能である。本発明とともに使用するのに適している可能性のある、よく知られているコンピューティングシステム、環境、および/または構成の例は、パーソナルコンピューター、サーバーコンピューター、ハンドヘルドまたはラップトップデバイス、タブレットデバイス、マルチプロセッサーシステム、マイクロプロセッサーベースのシステム、セットトップボックス、プログラマブルな消費者向け電気機器、ネットワークPC、ミニコンピューター、メインフレームコンピューター、上記のシステムまたはデバイスの任意のものを含む分散コンピューティング環境等々を含むが、それらに限定されない。
[0065]本発明は、コンピューターにより実行されるプログラムモジュールなどのコンピューター実行可能命令の一般的なコンテキストにおいて説明され得る。一般的にはプログラムモジュールは、特定のタスクを遂行する、または特定の抽象データー型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データー構造等々を含む。本発明は、通信ネットワークによってリンクされるリモート処理デバイスによりタスクが遂行される、分散コンピューティング環境内でもまた実践され得る。分散コンピューティング環境内でプログラムモジュールは、メモリー記憶デバイスを含むローカルおよび/またはリモートのコンピューター記憶媒体内に配置され得る。
[0066]図7を参照すると、本発明の様々な態様を実装するための例示的なシステムは、コンピューター700の形式での汎用コンピューティングデバイスを含み得る。コンポーネントは、処理装置701、システムメモリーなどのデーター記憶装置702、および、データー記憶装置702を含む様々なシステムコンポーネントを処理装置701に結合するシステムバス703を含み得るが、それらに限定されない。システムバス703は、種々のバスアーキテクチャーの任意のものを使用する、メモリーバスまたはメモリーコントローラー、周辺バス、およびローカルバスを含む、いくつかのタイプのバス構造の任意のものであり得る。例として、および限定としてではなく、そのようなアーキテクチャーは、業界標準アーキテクチャー(ISA)バス、マイクロ・チャネル・アーキテクチャー(MCA)バス、拡張ISA(EISA)バス、ビデオ電子標準協会(VESA)ローカルバス、および、メザニンバスとしても知られているペリフェラル・コンポーネント・インターコネクト(PCI)バスを含む。
[0067]コンピューター700は典型的には、種々のコンピューター可読媒体704を含む。コンピューター可読媒体704は、コンピューター701によりアクセスされ得る任意の利用可能な媒体であり得るものであり、揮発性および不揮発性の両方の媒体、ならびに、リムーバブルおよび非リムーバブルの媒体を含むが、伝達される信号は除外する。例として、および限定としてではなく、コンピューター可読媒体704は、コンピューター記憶媒体および通信媒体を備え得る。コンピューター記憶媒体は、コンピューター可読命令、データー構造、プログラムモジュール、または他のデーターなどの情報の記憶のために、任意の方法または技術で実装される、揮発性および不揮発性の、リムーバブルおよび非リムーバブルの媒体を含む。コンピューター記憶媒体は、所望の情報を記憶するために使用され得る、および、コンピューター700によりアクセスされ得る、RAM、ROM、EEPROM、フラッシュメモリーもしくは他のメモリー技術、CD−ROM、デジタルバーサタイルディスク(DVD)もしくは他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または任意の他の媒体を含むが、それらに限定されない。通信媒体は典型的には、キャリアー波または他のトランスポート機構などの変調されたデーター信号の形で、コンピューター可読命令、データー構造、プログラムモジュール、または他のデーターを実施するものであり、任意の情報配信媒体を含む。用語「変調されたデーター信号」は、その特性の1つまたは複数が、信号内に情報をエンコードするような様式でセットされる、または変化させられる信号を意味する。例として、および限定としてではなく、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、ならびに、アコースティック、RF、赤外線、および他のワイヤレス媒体などのワイヤレス媒体を含む。上記の任意のものの組み合わせもまた、コンピューター可読媒体の範囲内に含まれ得る。コンピューター可読媒体は、コンピューター記憶媒体上に記憶されるソフトウェアなどのコンピュータープログラム製品として実施され得る。
[0068]データー記憶装置またはシステムメモリー702は、読み取り専用メモリー(ROM)およびランダム・アクセス・メモリー(RAM)などの、揮発性および/または不揮発性のメモリーの形式でのコンピューター記憶媒体を含む。スタートアップの間などに、コンピューター700内部の要素間で情報を転送するのに役立つ基本ルーチンを包含する基本入出力システム(BIOS)は、典型的にはROM内に記憶される。RAMは典型的には、処理装置701に即時にアクセス可能である、および/または、処理装置701により作動状態で現在動作させられている、データーおよび/またはプログラムモジュールを包含する。例として、および限定としてではなく、データー記憶装置702は、オペレーティングシステム、アプリケーションプログラム、ならびに他のプログラムモジュールおよびプログラムデーターを保持する。
[0069]データー記憶装置702は、他のリムーバブル/非リムーバブルの、揮発性/不揮発性のコンピューター記憶媒体もまた含み得る。単に例として、データー記憶装置702は、非リムーバブルの不揮発性の磁気媒体に関しての読み出しまたは書き込みを行うハードディスクドライブ、リムーバブルの不揮発性の磁気ディスクに関しての読み出しまたは書き込みを行う磁気ディスクドライブ、および、CD ROMなどのリムーバブルの不揮発性の光ディスクまたは他の光媒体に関しての、読み出しまたは書き込みを行う光ディスクドライブであり得る。例示的な動作環境において使用され得る、他のリムーバブル/非リムーバブルの、揮発性/不揮発性のコンピューター記憶媒体は、磁気テープカセット、フラッシュメモリーカード、デジタルバーサタイルディスク、デジタルビデオテープ、ソリッドステートRAM、ソリッドステートROM等々を含むが、それらに限定されない。上記で説明され図7に例示される、ドライブおよびそれらの関連するコンピューター記憶媒体は、コンピューター700のためのコンピューター可読命令、データー構造、プログラムモジュール、および他のデーターの記憶をもたらす。
[0070]ユーザーは、タブレット、電子デジタイザー、マイク、キーボード、および/または、通常はマウス、トラックボール、もしくはタッチパッドと呼ばれるポインティングデバイスなどの、ユーザーインターフェイス705または他の入力デバイスを通して、コマンドおよび情報を入れることが可能である。他の入力デバイスは、ジョイスティック、ゲームパッド、パラボラアンテナ、スキャナー等々を含み得る。加えて、音声入力またはナチュラルユーザーインターフェイス(NUI)が使用され得る。これらおよび他の入力デバイスは、システムバス703に結合されるユーザー入力インターフェイス705を通して処理装置701に接続されることが多いが、パラレルポート、ゲームポート、またはユニバーサル・シリアル・バス(USB)などの、他のインターフェイスおよびバス構造により接続される場合がある。モニター706または他のタイプのディスプレイデバイスもまた、ビデオインターフェイスなどのインターフェイスによってシステムバス703に接続される。モニター706は、タッチスクリーンパネル等々と統合される場合もある。モニターおよび/またはタッチスクリーンパネルは、タブレットタイプのパーソナルコンピューターにおいてなどで、中にコンピューティングデバイス700が組み込まれる収納箱に物理的に結合される場合があるということに留意されたい。加えて、コンピューティングデバイス700などのコンピューターは、出力周辺インターフェイス等々を通して接続され得るスピーカーおよびプリンターなどの他の周辺出力デバイスもまた含み得る。
[0071]コンピューター700は、リモートコンピューターなど、1つまたは複数のリモートコンピューターへの論理接続707を使用して、ネットワーキングされた環境において動作する場合がある。リモートコンピューターは、パーソナルコンピューター、サーバー、ルーター、ネットワークPC、ピアーデバイス、または他の通常のネットワークノードであり得るものであり、典型的には、コンピューター700に関して上記で説明された要素の多くまたはすべてを含む。図7に図示される論理接続は、1つまたは複数のローカルエリアネットワーク(LAN)、および、1つまたは複数のワイドエリアネットワーク(WAN)を含むが、他のネットワークもまた含み得る。そのようなネットワーキング環境は、事業所、エンタープライズ内のコンピューターネットワーク、イントラネット、およびインターネットにおいてありふれたものである。
[0072]LANネットワーキング環境において使用されるとき、コンピューター700は、ネットワークインターフェイスまたはアダプター707を通してLANに接続され得る。WANネットワーキング環境において使用されるとき、コンピューター700は典型的には、インターネットなどのWANを介した通信を確立するためのモデムまたは他の手段を含む。内部または外部であり得るモデムは、ネットワークインターフェイス707または他の適切な機構によってシステムバス703に接続され得る。インターフェイスおよびアンテナを備えるようなワイヤレスネットワーキングコンポーネントが、アクセスポイントまたはピアーコンピューターなどの適したデバイスを通して、WANまたはLANに結合され得る。ネットワーキングされた環境では、コンピューター700に関して図示されるプログラムモジュール、またはそれらの一部分は、リモートメモリー記憶デバイス内に記憶され得る。示されるネットワーク接続は例示的であり、コンピューター間の通信リンクを確立する他の手段が使用され得るということが十分認識され得る。
[0073]主題が構造的特徴および/または方法論的行為に対しての具体的な文言で説明されたが、添付される特許請求の範囲において定義される主題は、上記で説明された具体的な特徴または行為に必ずしも限定されないということが理解されるべきである。むしろ、上記で説明された具体的な特徴および行為は、特許請求の範囲を実装する例の形式として開示されるものである。

Claims (10)

  1. Webサーバーが実行する方法であって、
    クライアントからSSL Helloメッセージを受信するステップと、
    前記SSL Helloメッセージがホスト名を含まないと判定するステップと、
    前記SSL Helloメッセージに関連するIPアドレスおよびポートを使用して、IP:ポート対ホスト名マッピングから、1つまたは複数の対応するホスト名を識別するステップと、
    SSL証明書検索名を作成するために、選択された対応するホスト名を変更するステップと、
    前記SSL証明書検索名を使用して、SSL証明書ストアーを検索するステップと
    を含む方法。
  2. 請求項1に記載の方法であって、
    前記SSL証明書検索名に対応する、前記SSL証明書ストアー内のSSL証明書を識別するステップと、
    前記クライアントに前記SSL証明書を送信するステップと
    をさらに含む方法。
  3. 請求項1に記載の方法であって、前記選択された対応するホスト名が、前記IP:ポート対ホスト名マッピングからの前記1つまたは複数の対応するホスト名の最初に列挙されるホスト名である、方法。
  4. 請求項1に記載の方法であって、
    前記SSL証明書検索名を作成するために、前記選択された対応するホスト名にファイル名拡張子を付加することにより、命名規則を使用して前記選択された対応するホスト名を変更するステップ
    をさらに含む方法。
  5. 請求項1に記載の方法であって、
    前記SSL証明書検索名に対応する、前記SSL証明書ストアー内のSSL証明書がないと判定するステップと、
    変更されたSSL証明書検索名を作成するために、前記SSL証明書検索名を変更するステップと、
    前記変更されたSSL証明書検索名を使用して、前記SSL証明書ストアーを検索するステップと
    をさらに含む方法。
  6. 請求項5に記載の方法であって、前記SSL証明書検索名内のサブドメインをワイルドカード文字で置換することにより、命名規則を使用して前記SSL証明書検索名を変更するステップ
    をさらに含む方法。
  7. 請求項1に記載の方法であって、前記IP:ポート対ホスト名マッピングが、IP:ポートを複数のホスト名に関連付けるエントリーを含む、方法。
  8. 請求項4に記載の方法であって、
    前記Webサーバーに関連するSSL証明書を識別するステップと、
    前記SSL証明書内で列挙される1つまたは複数のホスト名を識別するステップと、
    1つまたは複数の列挙される前記ホスト名の各々に対して、列挙される前記ホスト名に追加される前記ファイル名拡張子を含むファイル名を使用して、関連する前記SSL証明書を前記SSL証明書ストアーに保存するステップと
    をさらに含む方法。
  9. 請求項4に記載の方法であって、
    前記Webサーバーに関連するワイルドカードSSL証明書を識別するステップと、
    前記SSL証明書内で列挙される最上位ドメイン名を識別するステップと、
    前記最上位ドメイン名の先頭に追加されるワイルドカード文字、および、列挙される前記ホスト名に追加される前記ファイル名拡張子を含むファイル名を使用して、関連する前記SSL証明書を前記SSL証明書ストアーに保存するステップと
    をさらに含む方法。
  10. 1つまたは複数のプロセッサーと、
    システムメモリーと、
    コンピューター実行可能命令を記憶した1つまたは複数のコンピューター可読記憶媒体であって、前記コンピューター実行可能命令は、前記1つまたは複数のプロセッサーにより実行されるときに、前記プロセッサーに、SSL証明書を識別するための方法を実行させ、前記プロセッサーが、
    クライアントからSSL Helloメッセージを受信し、
    前記SSL Helloメッセージに関連するIPアドレスおよびポートを使用して、IP:ポート対ホスト名マッピングから、1つまたは複数の対応するホスト名を識別し、
    SSL証明書検索名を作成するために、選択された対応するホスト名を変更し、
    前記SSL証明書検索名を使用して、SSL証明書ストアーを検索する
    ように動作する、1つまたは複数のコンピューター可読記憶媒体と
    を備えるコンピューターシステム。
JP2014554755A 2012-01-27 2013-01-21 サーバー・ネーム・インディケーション(sni)を伴わない暗黙的なssl証明書管理 Active JP6058699B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/359,507 US8738902B2 (en) 2012-01-27 2012-01-27 Implicit SSL certificate management without server name indication (SNI)
US13/359,507 2012-01-27
PCT/US2013/022352 WO2013112389A1 (en) 2012-01-27 2013-01-21 Implicit ssl certificate management without server name indication (sni)

Publications (3)

Publication Number Publication Date
JP2015513810A true JP2015513810A (ja) 2015-05-14
JP2015513810A5 JP2015513810A5 (ja) 2016-03-10
JP6058699B2 JP6058699B2 (ja) 2017-01-11

Family

ID=48871366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014554755A Active JP6058699B2 (ja) 2012-01-27 2013-01-21 サーバー・ネーム・インディケーション(sni)を伴わない暗黙的なssl証明書管理

Country Status (6)

Country Link
US (1) US8738902B2 (ja)
EP (1) EP2807789B1 (ja)
JP (1) JP6058699B2 (ja)
KR (1) KR102025960B1 (ja)
CN (1) CN104094554B (ja)
WO (1) WO2013112389A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018101243A1 (ja) 2016-11-30 2018-06-07 日本電気株式会社 通信装置、通信方法、プログラム
WO2019092825A1 (ja) * 2017-11-09 2019-05-16 三菱電機株式会社 情報処理装置及び情報処理方法

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015469B2 (en) 2011-07-28 2015-04-21 Cloudflare, Inc. Supporting secure sessions in a cloud-based proxy service
WO2013123280A1 (en) * 2012-02-16 2013-08-22 F5 Network, Inc. Methods for secure cummunication between network device services and devices thereof
US9237168B2 (en) * 2012-05-17 2016-01-12 Cisco Technology, Inc. Transport layer security traffic control using service name identification
US8782774B1 (en) 2013-03-07 2014-07-15 Cloudflare, Inc. Secure session capability using public-key cryptography without access to the private key
US10200352B2 (en) * 2013-03-15 2019-02-05 Netop Solutions A/S System and method for secure application communication between networked processors
US9565198B2 (en) * 2014-01-31 2017-02-07 Microsoft Technology Licensing, Llc Tenant based signature validation
US10524122B2 (en) 2014-01-31 2019-12-31 Microsoft Technology Licensing, Llc Tenant based signature validation
US10389709B2 (en) 2014-02-24 2019-08-20 Amazon Technologies, Inc. Securing client-specified credentials at cryptographically attested resources
US9332003B2 (en) * 2014-03-20 2016-05-03 Symantec Corporation Systems and methods for discovering website certificate information
US10178181B2 (en) * 2014-04-02 2019-01-08 Cisco Technology, Inc. Interposer with security assistant key escrow
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
CN103973694B (zh) * 2014-05-14 2017-05-10 北京太一星晨信息技术有限公司 安全套接层协议实体访问非连续内存的方法及接口装置
US10171532B2 (en) 2014-09-30 2019-01-01 Citrix Systems, Inc. Methods and systems for detection and classification of multimedia content in secured transactions
US10303879B1 (en) 2014-11-06 2019-05-28 Amazon Technologies, Inc. Multi-tenant trusted platform modules
US9525672B2 (en) * 2014-12-19 2016-12-20 Amazon Technologies, Inc. Multi-faceted compute instance identity
US9756106B2 (en) 2015-02-13 2017-09-05 Citrix Systems, Inc. Methods and systems for estimating quality of experience (QoE) parameters of secured transactions
CN105991589B (zh) * 2015-02-13 2019-04-26 华为技术有限公司 一种用于重定向的方法、装置及系统
US10021221B2 (en) 2015-02-24 2018-07-10 Citrix Systems, Inc. Methods and systems for detection and classification of multimedia content in secured transactions using pattern matching
US20160255047A1 (en) * 2015-02-26 2016-09-01 Citrix Systems, Inc. Methods and systems for determining domain names and organization names associated with participants involved in secured sessions
JP6471537B2 (ja) 2015-02-27 2019-02-20 ブラザー工業株式会社 通信機器
US10193698B1 (en) 2015-06-26 2019-01-29 Juniper Networks, Inc. Avoiding interdicted certificate cache poisoning for secure sockets layer forward proxy
US9893883B1 (en) 2015-06-26 2018-02-13 Juniper Networks, Inc. Decryption of secure sockets layer sessions having enabled perfect forward secrecy using a diffie-hellman key exchange
US10291651B1 (en) 2015-06-26 2019-05-14 Juniper Networks, Inc. Unified secure socket layer decryption
US10305871B2 (en) 2015-12-09 2019-05-28 Cloudflare, Inc. Dynamically serving digital certificates based on secure session properties
US10505985B1 (en) * 2016-04-13 2019-12-10 Palo Alto Networks, Inc. Hostname validation and policy evasion prevention
GB2551580A (en) * 2016-06-24 2017-12-27 Sony Corp Data communications
US10326730B2 (en) 2016-06-27 2019-06-18 Cisco Technology, Inc. Verification of server name in a proxy device for connection requests made using domain names
JP6668183B2 (ja) * 2016-07-01 2020-03-18 株式会社東芝 通信装置、通信方法、通信システムおよびプログラム
US10320572B2 (en) * 2016-08-04 2019-06-11 Microsoft Technology Licensing, Llc Scope-based certificate deployment
US11063758B1 (en) 2016-11-01 2021-07-13 F5 Networks, Inc. Methods for facilitating cipher selection and devices thereof
US10545940B2 (en) * 2017-02-22 2020-01-28 Red Hat, Inc. Supporting secure layer extensions for communication protocols
CN107147497B (zh) * 2017-05-02 2018-07-06 北京海泰方圆科技股份有限公司 信息处理方法和装置
CN107493174B (zh) * 2017-09-05 2020-12-15 成都知道创宇信息技术有限公司 基于cdn网络的ssl证书智能绑定与管理方法
US10728238B2 (en) 2017-12-13 2020-07-28 Paypal, Inc. Systems and methods encrypting messages using multiple certificates
CN108156224B (zh) * 2017-12-14 2020-11-13 格尔软件股份有限公司 基于tls协议sni机制实现自定义代理隧道协议的方法
US10810279B2 (en) * 2018-02-07 2020-10-20 Akamai Technologies, Inc. Content delivery network (CDN) providing accelerated delivery of embedded resources from CDN and third party domains
CN110825400B (zh) * 2018-08-14 2024-04-23 杭州萤石软件有限公司 一种应用程序客户端的证书更新方法和系统
CN109413196A (zh) * 2018-11-13 2019-03-01 四川长虹电器股份有限公司 一种智能匹配https访问证书的方法
CN110213249A (zh) * 2019-05-20 2019-09-06 网宿科技股份有限公司 基于请求粒度的证书动态加载方法、装置和服务器
CN111147251A (zh) * 2019-12-18 2020-05-12 深圳市任子行科技开发有限公司 动态签发证书的方法及装置
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
US11336692B1 (en) * 2020-05-07 2022-05-17 NortonLifeLock Inc. Employing SNI hostname extraction to populate a reverse DNS listing to protect against potentially malicious domains
US11683301B2 (en) 2020-07-27 2023-06-20 Red Hat, Inc. Automatically obtaining a signed digital certificate from a trusted certificate authority
EP4009602B1 (en) * 2020-12-07 2022-11-09 Siemens Healthcare GmbH Providing a first digital certificate and a dns response
CN112714184B (zh) * 2020-12-29 2022-07-15 杭州迪普科技股份有限公司 握手过程处理方法及装置
CN113364795B (zh) * 2021-06-18 2023-03-24 北京天空卫士网络安全技术有限公司 一种数据传输方法和代理服务器
CN113746856B (zh) * 2021-09-09 2023-04-07 上海格尔安全科技有限公司 Ssl可选验证方法、装置、计算机设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002353959A (ja) * 2001-05-30 2002-12-06 Nec Corp 認証システム及び認証方法並びに認証用プログラム
JP2003271553A (ja) * 2002-03-18 2003-09-26 Matsushita Electric Ind Co Ltd ウェブサーバ端末とそのネットワークシステム、及びそのアクセス制御方法
US20070177731A1 (en) * 2003-06-25 2007-08-02 Terence Spies Identity-based-encryption messaging system with public parameter host servers
US20080263215A1 (en) * 2007-04-23 2008-10-23 Schnellbaecher Jan F Transparent secure socket layer
JP2009217676A (ja) * 2008-03-12 2009-09-24 Oki Electric Ind Co Ltd 保険金等申請受付装置、保険金等申請受付方法、およびプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7000108B1 (en) 2000-05-02 2006-02-14 International Business Machines Corporation System, apparatus and method for presentation and manipulation of personal information syntax objects
US7209479B2 (en) 2001-01-18 2007-04-24 Science Application International Corp. Third party VPN certification
US7363353B2 (en) * 2001-07-06 2008-04-22 Juniper Networks, Inc. Content service aggregation device for a data center
US7305492B2 (en) * 2001-07-06 2007-12-04 Juniper Networks, Inc. Content service aggregation system
US7739494B1 (en) 2003-04-25 2010-06-15 Symantec Corporation SSL validation and stripping using trustworthiness factors
EP1668815B1 (en) 2003-09-29 2019-06-12 Ayman, LLC Delegated certificate authority
WO2006020095A2 (en) * 2004-07-16 2006-02-23 Geotrust, Inc. Security systems and services to provide identity and uniform resource identifier verification
US7512974B2 (en) * 2004-09-30 2009-03-31 International Business Machines Corporation Computer system and program to update SSL certificates
JP4252620B1 (ja) 2008-08-27 2009-04-08 グローバルサイン株式会社 サーバ証明書発行システム
US8533333B2 (en) 2008-09-03 2013-09-10 Microsoft Corporation Shared hosting using host name affinity
US8971539B2 (en) * 2010-12-30 2015-03-03 Verisign, Inc. Management of SSL certificate escrow
US9015469B2 (en) * 2011-07-28 2015-04-21 Cloudflare, Inc. Supporting secure sessions in a cloud-based proxy service

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002353959A (ja) * 2001-05-30 2002-12-06 Nec Corp 認証システム及び認証方法並びに認証用プログラム
JP2003271553A (ja) * 2002-03-18 2003-09-26 Matsushita Electric Ind Co Ltd ウェブサーバ端末とそのネットワークシステム、及びそのアクセス制御方法
US20070177731A1 (en) * 2003-06-25 2007-08-02 Terence Spies Identity-based-encryption messaging system with public parameter host servers
US20080263215A1 (en) * 2007-04-23 2008-10-23 Schnellbaecher Jan F Transparent secure socket layer
JP2009217676A (ja) * 2008-03-12 2009-09-24 Oki Electric Ind Co Ltd 保険金等申請受付装置、保険金等申請受付方法、およびプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6016043031; Vincent Danen ほか: 'Apacheの設定を変更し、単一IPアドレス上で複数のSSLサイトを運用する' builder , 20091026, [オンライン] *
JPN6016043032; 池田 啓 ほか: 'Linuxでサーバを作ろう! 日本一やさしいLinux入門 第4回' NETWORK magazine 第13巻 第6号, 20080601, p.82-91, 株式会社アスキー・メディアワークス *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018101243A1 (ja) 2016-11-30 2018-06-07 日本電気株式会社 通信装置、通信方法、プログラム
US11290462B2 (en) 2016-11-30 2022-03-29 Nec Corporation Communication device, communication method, and program
WO2019092825A1 (ja) * 2017-11-09 2019-05-16 三菱電機株式会社 情報処理装置及び情報処理方法
JPWO2019092825A1 (ja) * 2017-11-09 2020-08-20 三菱電機株式会社 情報処理装置及び情報処理方法

Also Published As

Publication number Publication date
WO2013112389A1 (en) 2013-08-01
US8738902B2 (en) 2014-05-27
KR20140117449A (ko) 2014-10-07
US20130198511A1 (en) 2013-08-01
EP2807789A1 (en) 2014-12-03
EP2807789A4 (en) 2015-12-30
EP2807789B1 (en) 2019-02-27
JP6058699B2 (ja) 2017-01-11
KR102025960B1 (ko) 2019-09-26
CN104094554A (zh) 2014-10-08
CN104094554B (zh) 2017-05-03

Similar Documents

Publication Publication Date Title
JP6058699B2 (ja) サーバー・ネーム・インディケーション(sni)を伴わない暗黙的なssl証明書管理
US10033818B2 (en) Using listen ranges to deliver content to electronic devices from local caching servers
US11750709B2 (en) Secure in-band service detection
EP2933986B1 (en) Computer-implemented method and computer program product for processing named entity queries using a cached functionality in a domain name system
JP4698180B2 (ja) ピアツーピアネットワークでのセキュア階層名前空間
US8572691B2 (en) Selecting a web service from a service registry based on audit and compliance qualities
US7890614B2 (en) Method and apparatus for a secure network install
US10382593B2 (en) IPv4/IPv6 bridge
US9967290B2 (en) Systems and methods for automating client-side discovery of public keys of external contacts that are secured by DANE using DNSSEC
BR102012010346A2 (pt) Servidor de assinatura de extensão de segurança de sistema de nome de domínio (dnssec) e método de criptografar informações de sistema de nome de domínio (dns) utilizando o mesmo
TW201012156A (en) Secure resource name resolution
JP2010500786A (ja) 名前チャレンジ可能ゾーン
WO2015074391A1 (zh) 一种实现多虚拟机挂载外设部件的方法及装置
US20090019523A1 (en) Controlling network communications
JP6249015B2 (ja) 受信装置、受信装置制御方法、受信装置制御プログラム、ネットワークシステム、ネットワークシステム制御方法、及びネットワークシステム制御プログラム
US20100241740A1 (en) System and method for resolving network addresses
JP2003316743A (ja) ネットワークアクセス方法およびクライアント
US11909876B1 (en) Multi autonomous secure domain name systems
US11438393B1 (en) Origin server address rotation
Sawant Ubuntu Server Cookbook

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160121

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161028

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161207

R150 Certificate of patent or registration of utility model

Ref document number: 6058699

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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