JP6006423B2 - ネットワーク環境における暗号化データ検査 - Google Patents

ネットワーク環境における暗号化データ検査 Download PDF

Info

Publication number
JP6006423B2
JP6006423B2 JP2015531353A JP2015531353A JP6006423B2 JP 6006423 B2 JP6006423 B2 JP 6006423B2 JP 2015531353 A JP2015531353 A JP 2015531353A JP 2015531353 A JP2015531353 A JP 2015531353A JP 6006423 B2 JP6006423 B2 JP 6006423B2
Authority
JP
Japan
Prior art keywords
node
network flow
shared secret
encrypted
copy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015531353A
Other languages
English (en)
Other versions
JP2016500207A (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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JP2016500207A publication Critical patent/JP2016500207A/ja
Application granted granted Critical
Publication of JP6006423B2 publication Critical patent/JP6006423B2/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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/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/0464Network 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 using hop-by-hop encryption, i.e. wherein an intermediate entity decrypts the information and re-encrypts it before forwarding it
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer

Landscapes

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

Description

本開示は、概して、ネットワークセキュリティの分野、より具体的には、ネットワーク環境における暗号化データを検査することに関する。
ネットワークセキュリティの分野は、今日の社会においてますます重要になってきている。インターネットは、世界中の異なるコンピュータネットワークを相互接続することが可能になってきている。しかし、インターネットは、複数の悪意のあるオペレータがこれらのネットワークを活用する多くの機会も引き起こしてきている。一度、複数の特定のタイプの悪意のあるソフトウェア(例えば、ボット)が、ホストコンピューターに感染されてしまうと、そのソフトウェアは、遠隔のオペレータから複数のコマンドを受信するよう構成されることができる。そのソフトウェアは、そのホストコンピューターからスパムまたは悪意のある電子メールを送信する、そのホストコンピューターに関連する仕事または個人から慎重に扱うべき情報を盗む、他の複数のホストコンピューターに伝播する、および/または複数のサービスアタックの分配された否認を手助けするなどの任意の数の悪意のある動作を実行するように指示されることができる。さらに、悪意のあるオペレータは、複数の他の悪意のあるオペレータにアクセスを売る、またはさもなくば与えることができ、そのことによってホストコンピューターの搾取をエスカレートさせる。したがって、安定した複数のコンピュータおよびシステムを効果的に保護および維持する能力は、コンポーネントの製造、システムの設計、およびネットワークオペレータに対して複数の重要な課題を提示することを継続する。
複数の企業環境は、複数のファイアウォール、複数のネットワーク侵入検知/防御(NIDS/NIPS)システム、複数のトラフィックシェーパー、および複数の他のシステムを含む様々なネットワーク管理を展開する。これらのシステムの多くは、マルウェアの増殖の検出/防御、一般的な会計監査およびネットワーク管理機能と同様に企業の知的財産が明確に定義された企業の境界の範囲外に漏れないことを確保することを含む、豊富なサービスを提供するためにネットワークトラフィックの検査に頼っている。ネットワークトラフィックは、セキュアソケット層(SSL)/トランスポート層セキュリティ(TLS)などのプロトコルを用いることにより暗号化されることもできる。
本開示と特徴と効果に関してのより完全な理解を提供するために、参照は、添付図面とともに考慮して、以下の説明をする。本明細書で、同様の参照符号は、同様の部分を表す。
実施形態に従ってファイアウォールがネットワークフローをインターセプトできるネットワーク環境の簡略ブロック図である。 実施形態に従ってネットワーク環境200の例示的な図である。 実施形態に従ったSSL/TLSハンドシェイク通信でのネットワーク環境の実例である。 有利な実施形態に従ったSSL/TLSについてのネットワーク環境400のブロック図である。 例示の実施形態に従ったプロキシとしてのセキュリティモジュールの実例である。 実施形態に従ったデータダイヤグラムの実例である。 実施形態に従った共用ライブラリを用いることにより共有シークレットを抽出するための処理を図示する単純化されたフローチャートである。 実施形態に従ったメモリ領域から共有シークレットを抽出するための処理を図示する単純化されたフローチャートである。 実施形態に従った暗号化されたネットワークフローを分析するための処理を図示する単純化されたフローチャートである。 実施形態に従ったプロセッサに連結されたメモリも図示する。 実施形態に従ったポイントツーポイント(PtP)構成で構成されたコンピューティングシステムを図示する。
図1に戻り、図1は、実施形態に従ったネットワークフローをインターセプトできるファイアウォールのネットワーク環境の簡略ブロック図である。図1に示される実施形態において、ネットワーク環境100は、インターネット102、クライアント104、ファイアウォール106、ポリシーサーバ108、メールサーバ110、およびウェブサーバ112を含むことができる。一般的に、クライアント104は、限定されるものではないが、デスクトップ型コンピュータ、サーバ、ラップトップ、モバイルデバイス、携帯電話、また、メールサーバ110またはウェブサーバ112などの他のノードと接続を受信または確立できる任意の他のタイプのデバイスを含む、ネットワーク接続における任意のタイプの終端ノードでよい。ファイアウォール106は、承認された通信を許可しながら、承認されていないアクセスをブロックすることによりなど、インターネット102または他のネットワークに参加されたクライアント104および複数の他のノードとの間で複数の通信を制御してよい。いくつかの例において、ファイアウォール106は、侵入防御システム、ネットワークアクセス制御デバイス、ウェブゲートウェイ、電子メールゲートウェイ、モバイルデバイス、またはインターネット102とクライアント104との間の任意の他のタイプのゲートウェイと、連結または一体化されてよい。さらに、ユーザクライアント104に近接したルーティングトポロジーでのファイアウォール106の配置は、任意である。
ポリシーサーバ108は、ファイアウォール106と連結され、または一体化されてよく、クライアント104を管理、複数のネットワークポリシーを運営および分配するために用いられてよい。したがって、この例示的な実施形態において、クライアント104は、ファイアウォール106のかたちで実装される複数のポリシーにより許可され、ポリシーサーバ108により管理されている場合、ファイアウォール106を介した接続を確立することにより、メールサーバ110またはウェブサーバ112などの、インターネット102に参加している複数のサーバと通信してよい。
図1の複数の要素のそれぞれは、ネットワーク通信についての実行可能な経路を提供する複数の単純なインターフェースを介して、または任意の他の適した接続(有線または無線)を介して互いに連結してよい。更に、これらの要素の1つ又は複数は、組み合わされ、または特定の構成ニーズの基づくアーキテクチャから除去されてよい。ネットワーク環境100は、ネットワークでの複数のパケットの送信または受信のための伝送制御プロトコル/インターネットプロトコル(TCP/IP)通信で可能な構成を含んでよい。ネットワーク環境100は、また、ユーザデータグラムプロトコル/IP(UDP/IP)または適切な特定のニーズに基づく任意の他の適したプロトコルと併用して動作してよい。
例示的な実施形態におけるネットワークセキュリティを提供するための技術を例示することを目的として、所与のネットワーク内で起こるアクティビティを理解することが重要である。以下の基礎的情報は、本開示が適切に説明されうる基準として見なされる。そのような情報は、説明のためにのみ誠実に提示されている。従って、本開示およびその可能性のある複数の適用の広い範囲を制限するためのいかなる方法でも解釈されるべきでない。複数の組織および複数の個人により用いられる典型的なネットワーク環境は、例えば、インターネットに接続される複数のサーバにホストされる複数のウェブページにアクセスする、電子的メール(すなわち、電子メール)メッセージを送信または受信する、または複数のファイルを交換するために、インターネットを用いることで、複数の他のネットワークと電子的に通信する能力を含む。しかし、悪意のあるユーザは、マルウェアを拡散し、機密情報へのアクセスを得るべく、インターネットを用いる新たな方策を発展させることを継続する。マルウェアは、概して、コンピュータの所有者のインフォームド・コンセントなしにコンピュータをアクセスおよび/または制御するために設計された任意のソフトウェアを含み、コンピュータウイルス、ボット、スパイウェア、アドウェアなどの任意の敵意をもった、押し付けがましい、または迷惑なソフトウェアの標識として最も頻繁に用いられる。一度、危険にさらされると、マルウェアは、ホストを破し、スパムまたは情報窃盗などの悪意のあるアクティビティにホストを利用するかもしれない。また、マルウェアは、一般的に、組織のネットワーク内に拡散され、または複数の他の組織または個人に他のネットワークに横切ることを可能にする1または複数の伝播ベクターを含む。複数の共通の伝播ベクターは、ローカルネットワーク内の複数のホストでの既知の脆弱性を活用すること、添付された悪意のあるプログラムを有する複数の電子メールを送信すること、または電子メール内で複数の悪意のあるリンクを提供することを含む。
セキュリティモジュールおよび抽出モジュールのいくつかの例の技術を図示することを目的として、介入者(MITM)技術を理解することが重要である。1または複数の実施形態は、複数のセキュリティデバイスでの遮蔽SSL(またはTLS)トラフィックについてのいくつかの実施形態が、宛先をなりすます証明書を用いることでセキュリティデバイスがSSL接続を終了して、次に第2のSSL接続を介してその宛先にデータをプロキシする複数のMITM技術を使用することを認識および考慮する。ユーザは、このなりすましを理解することができ、各接続についてこのなりすましを明示的に無視するか、セキュリティデバイスを信頼するようにユーザの機械を設定するかのいずれかで、警告はなくなる。
MITMを、セキュリティデバイスに実装するのにはお金がかかる。なぜなら、すべてのトラフィックを復号化および暗号化するニーズがあるからである。また、MITMは、それぞれの接続が隠されている状態で、高価な公開鍵暗号化動作を実行することをセキュリティデバイスに要求する。
MITMに伴う追加の問題は、ユーザが、目標のウェブサイト(サーバ)の真のSSL認証を得られないことにある。これは、SSLセキュリティのきわめて重要な恩恵である。しかし、ユーザは、セキュリティデバイスが到達されたことを知っているだけであり、本当にアクセスされているウェブサイトを知らない。この欠陥は、信頼のあるサイトのように見えるが、実際にはそのようなサイトを利用している複数のサイトに複数のユーザを案内する複数のフィッシング電子メールを複数の攻撃者に利用され得る。
更に、本開示の異なる実施形態は、ネットワークデバイスが2つの終点間のSSL/TLSセッションを終了し、再確立する、信頼されたクライアントが信頼されていないサーバと通信している状況を認識し、考慮する。これは、また、しばしば、ブレイクメイク接続と称される。信頼されたクライアントは、ネットワークアプライアンス(例えば、銀行のウェブサイト)を越える終点と通信しているにもかかわらず、ネットワークデバイス/ドメインの証明書でプロビジョニングされ、複数のセキュアセッションセットアップ処理でこれを受け入れる。実際には、このセッションは、クライアントの代わりに、最終的な終点への第2の別個のセッションを示す、ネットワークアプライアンスで終了される。このメカニズムは、セキュア通信チャネルに対する「介入者」のように、ネットワークアプライアンスがTLSトラフィックへの可視性を得ることを可能にする。このアプローチは、あらゆるクライアント/セッションに対する接続をプロキシする必要があるので、ネットワークアプライアンス上で負担が生じる。よって、これらのプロキシ接続のすべてに対する複数のリソースを管理する必要がある。この状況は、ネットワークアプライアンスに著しいオーバヘッドを追加する。
また、本開示の異なる実施形態は、信頼されていないクライアントが信頼されたサーバと通信し、ネットワークアプライアンスが、SSL/TLSセッションを認証するために用いられる公開/秘密鍵ペア(例えば、複数のRSA鍵)を含むその信頼されたサーバの証明書に対するアクセスを(いくつかのOOBのやり方で)得る他の状況を認識し、考慮する。クライアントが、サーバの公開鍵で暗号化されたプレマスターシークレットをそのサーバに送信するSSL/TLS動作のために、ネットワークアプライアンスは、途中でこの情報をキャプチャ/復号化し、SSL/TLSハンドシェイク上でスヌープすることができる。これは、ネットワークアプライアンスが、複数のSSL/TLSセッション鍵を別々に計算し、その後、2つの終点間で暗号化された通信を復号化することを可能にする。しかし、この状況は、サーバの秘密鍵の所有権を信頼し、侵入保護またはファイアウォールなどのセキュリティデバイスをプロビジョニングすることにより、インターネット上で複数のサーバと接続している複数のクライアントマシンを持つ複数のユーザを保護することが求められる組織の共通の状況で適用されない。
本開示の異なる実施形態は、複数の企業がSSL/TLSトラフィックをスキャンする緊急のニーズを有する、マルウェア検出、データ損失保護、すでに使用されている複数のMITM技術、認証および暗号化の両方の複数のMITM偽装、ユーザが認証を忘れたことに気づき、信頼が損なわれる、ユーザがすべての接続に対して警告メッセージを見るとき、または信頼が正しいかどうかを全く知らないときの苛立ちの要因、といったことを認識し、考慮する。
この開示の1または複数の実施形態は、ネットワークデバイスの大きなオーバヘッドを低減するとともに、複数の暗号化されたネットワークストリームの可視性を単純化する新規のアプローチを提供する。
図2は、実施形態に従うネットワーク環境200の例示的な図示である。この開示の態様で、ネットワーク環境200は、クライアント202、ファイアウォール204、およびサーバ206を含む。図1に示されるように、ネットワーク環境200は、ネットワーク環境100の一例でよい。実施形態において、ネットワーク環境200は、クライアント202、ファイアウォール204およびサーバ206間で動作する暗号化プロトコルセッション208を含んでよい。暗号化プロトコルセッション208は、さらに、ネットワークフロー210、対象データ211、および共有シークレット212を含んでよい。サーバ206は、さらに、権限の証明書214を含んでよい。ファイアウォール204は、さらに、順に、ネットワークフローのコピー222および暗号化されていないネットワークフロー224を含んでよいセキュリティモジュール220を含んでよい。クライアント202は、さらに、信頼リスト216、抽出モジュール230、共用ライブラリ232、およびアプリケーション234を含んでよい。
本開示の実施形態において、サーバ206は、権限214の証明書を含む。権限214の証明書は、デジタル証明書を発行するエンティティでよい。デジタル証明書は、証明書の名前付けされた対象者による公開鍵の所有権を認証する。これは、クライアント202が認証された公開鍵に対応する秘密鍵により作られたシグネチャまたはアサーションを信頼することを可能にする。
信頼関係のこのモデルにおいて、権限214の証明書は、証明書上でサーバ206およびクライアント202の両方により信頼された、信頼されたサードパーティである。クライアント202上で、信頼リスト216は、保持されてよい。信頼リスト216は、クライアント202が信頼するデジタル証明書を含んでよい。
1または複数の実施形態において、暗号化プロトコルセッション208は、クライアント202、ファイアウォール204、およびサーバ206間で動作する。暗号化プロトコルセッション208は、ネットワークフロー210を含む。ネットワークフロー210は、クライアント202とサーバ206との間の両方向で動作するデータの暗号化フローである。ファイアウォール204は、検査および解析のために、ネットワークフロー210をインターセプトしてよい。実施形態において、暗号化プロトコルセッション208について用いられる複数のプロトコル(複数のセキュア通信)は、トランスポート層セキュリティ(TLS)またはその先行オペレーション、セキュアソケット層(SSL)でよい。これらのプロトコルは、インターネットを介した通信を提供する複数の暗号化プロトコルである。これらのプロトコルは、この開示で交換可能に用いてもよい。TLSおよびSSLは、鍵交換についての非対称暗号化、機密性についての対称暗号化、およびメッセージインテグリティについての複数のメッセージ確認コードを用いることで、トランスポート層に対するアプリケーション層でネットワーク接続の複数のセグメントを暗号化する。
クライアント202およびサーバ206は、また、ネットワークフロー210でのデータの認証について共有シークレット212(例えば、パスワード、鍵など)を維持してよい。共有シークレット212は、暗号化プロトコルセッション208間に構成されてよい。共有シークレット212は、クライアント202およびサーバ206間で共有され、知られている値でよい。実施形態において、例えば、共有シークレット212は、SSL/TLSで用いられるようなマスターシークレットまたは複数のセッション鍵でよい。複数のセッション鍵は、セッションコンテキストでよく、公正なセッション鍵と同様に、初期化ベクター、用いられる暗号アルゴリズムを含んでよい。セッションコンテキストは、ペイロード(例えば、暗号化/インテグリティ/複数の圧縮アルゴリズム、複数の関連する鍵、複数の鍵サイズ、初期化ベクターなど)をデカプセル化するのに必要な暗号化情報を含んでよい。対照的に、公開/秘密非対称鍵構造は、それぞれの当事者が異なる鍵を持つので、クライアント202とサーバ206との間で共有されない。
抽出モジュール230は、クライアント202から共有シークレット212を抽出するよう構成される。具体的に、抽出モジュール230は、マスターシークレット、プレマスターシークレット、ハッシュベースメッセージ確認コード(HMAC)、および/または複数のセッション鍵を抽出してよい。抽出モジュール230は、クライアント202にロードされてよく、または、他の実施形態において、クライアント202へのアクセスをもつ別個のモジュールでよい。
実施形態において、抽出モジュール230は、共用ライブラリ232をアプリケーション234にロードしてよい。これは、抽出モジュール230がアプリケーション234を介して暗号化プロトコルセッション208にアクセスして、共有シークレット212を特定することを可能にする。共用ライブラリ232は、共用ライブラリでよく、または、共有オブジェクトは、実行可能なファイルによって共有されることを意図し、さらに共有されるオブジェクトファイルであるファイルである。共用ライブラリ232は、例えば、ダイナミックリンクライブラリ(DLL)でよい。アプリケーション234は、暗号化プロトコルセッション208を介してサーバ206と通信している処理でよい。アプリケーション234は、例えば、ウェブブラウザでよい。
別の実施形態では、抽出モジュール230は、ネットワーク層でネットワークフロー210を監視し、SSL初期ハンドシェイクなどのネットワークハンドシェイクの進捗度を検知するよう構成され、それで、アプリケーション234のメモリ空間231がネゴシエーションされる暗号化接続についての共有シークレット212を含んでよい時点を判断してよい。
抽出モジュール230は、例えば、マイクロソフト(登録商標)、ウィンドウズ(登録商標)、リナックス(登録商標)における同一のコンピュータシステム上の対象処理の処理メモリにアクセスするための複数のデバッギングシステムコールを用いることにより、アプリケーション234を実行する処理のメモリ空間231を開放するよう構成されてよい。抽出モジュール230は、メモリ空間231を検索し、共有シークレット212を特定するようにも構成されてよい。抽出モジュール230は、共有シークレット212をセキュリティモジュール220に送信するよう構成される。セキュリティモジュール220の送信のパスは、セキュアチャネルでもよい。共有シークレット212とともに、セキュリティモジュール220は、クライアント202およびサーバ206が用いるような同一の暗号化/復号化処理を用いることでネットワークフロー210を復号化することを可能にしてよい。セキュリティモジュール220は、異なるモードの動作で動作してよい。
一実施形態では、セキュリティモジュール220は、ネットワークフロー210をコピーしてネットワークフローのコピー222を作成するよう構成されてよい。ネットワークフローのコピー222は、次いで、冒されたネットワークフロー210なしに復号化して、暗号化されていないネットワークフロー224を作成してよい。
いくつかの実施形態では、セキュリティモジュール220は、暗号化モジュール230からの共有シークレット212を待つべくネットワークフロー210を遅延させ、ネットワークフローのコピー222を復号化する時間を割き、ネットワークフロー210を修正し、複数のセキュリティ問題または遅延のための任意の他の適した理由について暗号化されていないネットワークフロー224を検査してよい。他の実施形態において、セキュリティモジュール220は、ネットワークフロー210を遅延させず、単にネットワークフロー210をコピーしてよい。実施形態において、セキュリティモジュール220は、対象データ211について(一度復号化され、暗号化されていないネットワークフロー224のような)ネットワークフロー210および/またはネットワークフローのコピー222をスキャンするよう構成されてよい。対象データ211は、セキュリティモジュール220が、探しているデータ、例えば、ホスタイル、侵入、またはコンピュータウイルス、ボット、スパイウェア、アドウェアなどの迷惑なソフトウェアなどを含んでよい。対象データ211は、マルウェアでよい。
使用可能な専門用語において、および特定の一つの実施形態において、TLSまたはSSL接続の実例は、以下のように開始してよい。ネゴシエーションフェーズの間に、クライアント202が、サポートする最も高いTLSプロトコルバージョン、乱数、提示された暗号スイートのリスト、および提示された圧縮方法を特定するメッセージを送信する。暗号スイートは、認証、暗号化、および、複数のTLSまたはSSLネットワークプロトコルを用いるネットワーク接続についてのセキュリティ設定をネゴシエーションするために用いられるメッセージ確認コード(MAC)アルゴリズムの名前付けされた組み合わせである。また、クライアント202は、再開されたハンドシェイクを実行することを試みている場合、セッションIDを送信してよい。
応答において、サーバ206は、選択されたプロトコルバージョン、他の乱数、選択された暗号スイート、およびクライアントによって提示された複数の選択の中から選択された圧縮方法を含むメッセージで応答する。再開されたセッションを確認または許可すべく、サーバ206は、同一のセッションIDを送信してよい。新たなセッションを開始すべく、サーバ206は、新たなセッションIDを送信してよい。また、クライアント202は、プレマスターシークレット、公開鍵を含むまたはなにも含まない他のメッセージで応答してよい。プレマスターシークレットは、サーバ証明書の公開鍵を用いることで暗号化される。クライアント202およびサーバ206は、次いで、乱数およびプレマスターシークレットを使用して、「マスターシークレット」と称される共通シークレットを計算する。この接続についてのすべての他の鍵データは、このマスターシークレットから導出される。マスターシークレットは、クライアント202とサーバ206との間のそれぞれの通信セッションについての複数のセッション鍵を作成するために用いられてよい。プレマスターシークレット、マスターシークレット、およびセッション鍵は、共有シークレット212のすべての例である。
1または複数の実施形態は、SSL/TLS接続を監視し、マスターシークレット、プレマスターシークレットおよび/またはセッション鍵を直接抽出する、特定の明確に定義された複数のアプリケーションプログラミングインタフェース(API)をインターセプトすることができるクライアント202上で、信頼されたエージェントとも称される抽出モジュール230を提供する。クライアント202上の抽出モジュール230は、共有シークレット212の抽出を実行してよい。この情報は、セキュアアウトオブバンド(OOB)チャネルを介して、セキュリティモジュール220、信頼され許可されたネットワークアプライアンスに安全に共有される。他の実施形態において、情報は、安全でないチャネルを介して共有される。これは、セキュリティモジュール220が、暗号化プロトコルセッション208、SSL/TLS通信を復号化し、ネットワークフロー210内への可視性を得ることを可能にする。
使用可能な専門用語において、特定の1つの実施形態において、それぞれの暗号化プロトコルセッション208が確立されるときに、クライアント202、ユーザワークステーション上の特別なソフトウェア、抽出モジュール208は、共有シークレット212、SSL鍵を探し出す。次に、発見プロトコルは、共有シークレット212を安全にセキュリティモジュール220に伝送する。クライアント202は、目標サイトの完全な認証で、SSL接続エンドツーエンドを確立する。しかし、セキュリティモジュール220は、まだ、クライアント202を保護するためにその接続をスキャンできる。
さらに、共有シークレット212は、公開鍵ハンドシェイクが生じた後にのみ、セキュリティモジュール230で共有されてよい。したがって、セキュリティモジュール230は、データアイテムを通じた単一の対称復号化を用いるセッションを復号化できる。この処理は、MITMより速い。
本開示の1または複数の実施形態は、(1)ネットワークへの受動的な接続に用いることができるエンドツーエンド認証を予約し、(2)暗号化された複数のトラフィックストリーム内で可視性を得るために、第2の独立したSSL/TLS接続が、構築されなければならず、あらゆる単一の接続についての状態を格納するセキュリティモジュール上のオーバヘッドを軽減し、(3)(MITMにサポートされていない)SSLでのユーザのクライアント側の複数の証明書と互換性がある。
この開示の実施形態は、SSL/TLSマスターシークレットおよび/または複数のセッション鍵を抽出するアプローチに基づき、区別されたセキュアチャネルを用いる許可されたセキュリティモジュールでこれらを共有するクライアントを提供する。複数の実施形態は、また、エンドツーエンド認証を実行すべく、かつ複数のセキュリティデバイス(IPS、ファイアウォール、セキュリティモジュール)が実装できる非常に効率のよい方法で、クライアントの能力を取り除くことなく、ネットワークフローをスキャンすることを可能にする。この開示の複数の実施形態は、クライアントの信頼を危険にさらすことなく、複数の暗号化プロトコルセッション(SSL/TLSセッション)を復号化するシステムを提供する。
複数の実施形態は、SSLハンドシェイクが、変更なしにパスされ、元々の証明書、元々のCAトラスト、抽出モジュールがセキュリティモジュールとセッション鍵を共有し、鍵は、存続時間が短い認証情報であり、このセッションのみ影響し、復号化は、また、MITMより速く、復号化は、また、SSL相互認証クライアント側およびサーバ認証をサポートでき、トラフィックの受動的モードの検査をサポートできることを提供する。複数の実施形態は、また、セキュリティデバイスは、プロキシ環境でも用いられることでき、本明細書でプロキシは、SSL平文を修正する必要があるかもしれない、認証および信頼は、まだエンドツーエンドであり、接続は、すべてのデータがパススルーされる「検査モード」で開始し、もしプロキシが平文を変更する(例えば、URLを修正、添付ファイルを取り除く)必要がある場合、接続は、「プロキシモード」に切り替わることを提供する。複数の実施形態の1または複数で、暗号化の状態は、ホストとサーバとの間で分割される。クライアントの復号化の状態は、初期状態のサーバの暗号化の状態になるようにコピーされる。サーバの復号化の状態は、初期状態のクライアントの暗号化の状態になるようにコピーされる。
セキュリティデバイスは、分けられた状態を用いることで、SSLデータを復号および再暗号化の両方を行う。SSL平文は、これらのステップの間に変更されうる。一度プロキシが平文を修正すると、プロキシ内の暗号化の状態は、受信された状態および再暗号化された状態の間で、分化する。一度、再暗号化が開始されると、接続が終了するまで継続する。セキュリティモジュールは、SSL鍵情報を用いて、SSLセッション情報を復号/検証し、マルウェア検出またはデータ損失保護のためにさらに複数のSSLパケットを検査してよい。
本開示の1または複数の実施形態は、ネゴシエーションされることができる複数のSSLパラメータを変更するために、SSL/TLSハンドシェイクを変更するために提供する。そのような複数の実施形態において、初期化ベクター(IV)は、また、SSL/TLSフィニッシュハンドシェイクメッセージの修正を許可するよう導出されなければならない。これは、共有シークレットのようなマスターシークレットを用いることにより達成されてよい。
別の実施形態では、IVは、抽出モジュールによって直接的に抽出され、SSL/TLSセッション鍵を共有するのと同一のやり方で、セキュリティモジュールで共有されてよい。
実施形態において、ハンドシェイクは、以下のように書き換えられてよい。ServerHello/ClientHelloについて、
A)許可されたリストにHello内の暗号スイートのリストを限定
B)許可されたリストにClientHello内に暗号スイートのリストを変更
C)許可されたリスト内の1つにServerHello内の選択された暗号化スイートを変更
D)クライアント/サーバからさらなるセキュアソースにランダムデータを変更
E)ClientHelloからセッションを取り除くことによりセッションの再開を不許可
ClientCertificateについて
A)1または複数のClientCertificateをサポート
B)1または複数のClientCertificateを置き換え
C)1または複数のClientCertificateを取り除く
ClientKeyExchangeについて、ランダムデータをクライアント/サーバから追加のセキュアソースに変更
1つの例示の実装において、クライアント202および/またはファイアウォール204は、ネットワークアプライアンス、サーバ、ルータ、スイッチ、ゲートウェイ、ブリッジ、ロードバランサ、プロセッサ、モジュール、またはネットワーク環境で情報を交換動作可能な任意の他の適したデバイス、コンポーネント、要素またはオブジェクトを包含するよう意図する複数のネットワーク要素である。複数のネットワーク要素は、ネットワーク環境で、データまたは情報を受信、送信、および/またはさもなくば通信するための複数の適したインターフェースとともに、複数の動作を促進する任意の適したハードウェア、ソフトウェア、コンポーネント、モジュール、またはオブジェクトを含んでよい。これは、データまたは情報の有効な交換を可能にする適切なアルゴリズムおよび通信プロトコルを含んでよい。しかし、ユーザクライアント202は、ネットワーク接続において中間点としてのサービスを行う傾向にあるゲートウェイまたはルータと対照的に、ネットワーク接続についての終点としてのサービスを行う傾向にあるように、複数の他のネットワーク要素と区別されてよい。
クライアント202は、また、スマートフォン、または他の同様な電気通信デバイスなどの複数の無線ネットワークノードの代表的なものであってよい。
ネットワーク環境200に関連する内部構造に関して、クライアント202および/またはファイアウォール204のそれぞれは、本明細書で、概説される動作で用いられるための情報を格納する複数のメモリ要素を含むことができる。クライアント202および/またはファイアウォール204のそれぞれは、任意の適したメモリ要素(例えば、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、消去可能プログラマブルROM(EPROM)、電子的消去可能プログラマブルROM(EEPROM)、特定用途向け集積回路(ASIC)など)、ソフトウェア、ハードウェア、または、適切な、特定の必要性に基づく任意の他の適したコンポーネント、デバイス、要素、またはオブジェクトに、情報を保持してよい。本明細書で、開示される複数の任意のメモリアイテム(例えば、メモリ要素250および252)は、広義の用語「メモリ要素」の範囲内に包含されるように解釈されるべきである。クライアント202および/またはファイアウォール204により使用、トラッキング、送信、受信される情報は、任意のデータベース、レジスタ、キュー、テーブル、キャッシュ、制御リスト、または他のストレージ構造で提供されることができ、それらのすべては、任意の適したタイムフレームで参照されることができる。任意のそのようなストレージオプションは、本明細書中で用いられる広義の用語「メモリ要素」内に含まれてよい。
特定の例示の実装において、本明細書で概説される複数の機能は、非一時的媒体を含みうる1または複数の有形の媒体(例えば、ASICで提供される埋め込み論理、デジタルシグナルプロセッサ(DSP)命令、プロセッサにより実行されるソフトウェア(潜在的にオブジェクトコードおよびソースコードを含む)、または他の同様な機械など)にエンコードされているロジックにより実装されてよい。これらの例のいくつかにおいて、メモリ要素は、本明細書で説明される動作について用いられるデータを格納できる。これは、本明細書で説明されるアクティビティを実行するために実行されるソフトウェア、ロジック、コード、またはプロセッサ命令を格納できるメモリ要素を含む。
1つの例示の実装において、クライアント202および/またはファイアウォール204は、本明細書で概説されるような複数の動作を達成または発展させるためのソフトウェアモジュール(例えば、抽出モジュール230および/またはセキュリティモジュール220)を含んでよい。他の実施形態において、そのような動作は、ハードウェアによって実行され、これらの要素に外的に実装され、または意図される機能を達成するいくつかの他のネットワークデバイスに含まれてよい。代替的に、これらの要素は、本明細書で概説されるような動作を達成するために、協調できるソフトウェア(または往復ソフトウェア)を含んでよい。さらに、複数の他の実施形態において、これらのデバイスの1またはすべては、動作を促進する任意の適したアルゴリズム、ハードウェア、ソフトウェア、コンポーネント、モジュール、インターフェース、またはオブジェクトを含んでよい。
更に、クライアント202および/またはファイアウォール204のそれぞれは、本明細書で説明されるようなアクティビティを実行するソフトウェアまたはアルゴリズムを実行できるプロセッサ260および262を含んでよい。
プロセッサは、本明細書で詳説される複数の動作を達成するためのデータに関連する任意のタイプの複数の命令を実行できる。一例において、プロセッサは、1つの状態または状況から他の状態または状況に要素または項目(例えば、データ)を変換しうる。他の例において、本明細書で概説されるアクティビティは、固定論理またはプログラマブル論理(例えば、プロセッサによって実行されるソフトウェア/コンピュータ命令)で実装されてよく、本明細書で特定される複数の要素は、いくつかのタイプのプログラマブルプロセッサ、プログラマブルデジタルロジック(例えば、フィールドプログラマブルゲートアレイ(FPGA)、EPROM、EEPROM)、または、デジタルロジック、ソフトウェア、コード、電子命令、またはそれらの任意の適した組み合わせを含むASICでありうる。本明細書で説明される複数の任意の潜在的な処理要素、モジュール、および機械は、広義の用語「プロセッサ」内に包含されるように解釈されるべきである。
図3は、実施形態に従ったSSL/TLSハンドシェイク通信を伴うネットワーク環境の実例である。ネットワーク環境300は、クライアント302、ファイアウォール304、およびサーバ306を含む。さらに、クライアント202は、抽出モジュール308を含み、ファイアウォール304は、セキュリティ検査316を実行するセキュリティモジュール310を含み、サーバ306は、サーバ証明書312を含む。
サーバ証明書312は、図2の権限214の証明書の一例でよい。サーバ証明書312は、クライアント202にパススルーされる。クライアント202は、真の認証局トラスト314にサーバ証明書312を格納してよい。真の認証局トラスト314は、図2の信頼リスト216の一例でよい。
ネットワーク環境300は、また、メッセージ320―336を含む。メッセージ320―336は、SSL/TLSセッションに対するハンドシェイクの一部として含まれるメッセージでよい。SSL/TLSセッションは、図2の暗号化プロトコルセッション208の一例でよい。
メッセージ320および322は、ClientHelloおよびServerHelloを含む初期メッセージでよい。ファイアウォール304は、メッセージ320がパススルーすることを可能にしてよい。メッセージ320および322は、別々にラベル付されるけれども、それらは、同一の情報を含む。
メッセージ324および326は、サーバ306がクライアント302に送信するサーバ証明書312でよい。ファイアウォール304は、また、これらのメッセージをパススルーする。
メッセージ324および326は、別々にラベル付されるけれども、それらは、同一の情報を含んでよい。サーバ証明書312をパススルーすることにより、クライアント302は、複数の通信がサーバ306から来たことを確認できる。
メッセージ328および330は、ネゴシエーションのためのフィニッシングメッセージである。メッセージ324および326は、別々にラベル付されるけれども、それらは、同一の情報を含む。他の実施形態において、セキュリティモジュール310が暗号スイートを選択したい場合、セキュリティモジュール310は、メッセージ328および/または330を変更してよい。この場合、それらは、同一でなくてよい。
メッセージ332は、抽出モジュール308が共有シークレットにセキュリティモジュール310を送信する場合でよい。メッセージ332は、また、セキュアメッセージでよい。
メッセージ334および336は、ネットワークフローを表わしてよい。これらのメッセージは、ファイアウォール306をパススルーされるデータを示す。1または複数の実施形態において、ファイアウォール306は、これらのメッセージがパススルーすることを許可し、複数の他の実施形態において、ファイアウォール306は、メッセージ334および336間を進む。後の状況で、ファイアウォール306は、メッセージ334および336を遅延、終了、修正してよい。
図4は、有利な実施形態に従ってSSL/TLSについてのネットワーク環境400のブロック図である。ネットワーク環境400は、クライアント402、ファイアウォール404、およびサーバ406を含む。さらに、クライアント202は、抽出モジュール408を含み、ファイアウォール304は、セキュリティモジュール310を含む。クライアント402は、図2に示されるようなクライアント202の一例でよい。ファイアウォール404は、図2に示されるようなファイアウォール204の一例でよい。サーバ406は、図2に示されるようなサーバ206の一例でよい。
クライアント202は、さらに、アプリケーション412およびオペレーティングシステム(OS)414を含む。アプリケーション412は、サーバ406とともに、暗号化プロトコルセッションを開始する処理でよい。アプリケーション412は、サーバ406へのデータの実際の送信を扱うオペレーティングシステム414にロードされてよい。
抽出モジュール408は、オペレーティングシステム414および/またはアプリケーション412から共有シークレットを抽出してよい。抽出モジュールは、セキュリティモジュール410に共有シークレット(SSLセッション鍵またはマスターシークレット)を送信する鍵シェアリングを実行する。これは、セキュリティモジュールがオペレーティングシステム414とサーバ406との間のネットワークフローで復号化416を実行することを可能にする。ネットワークフローは、SSL/TLS暗号化トラフィックでよい。
図5は、例示の実施形態に従うプロキシとしてのセキュリティモジュールの実例である。ネットワーク環境502は、ネットワークフロー504、セキュリティモジュール506、クライアントの復号化の状態508、サーバの復号化の状態510、クライアントの暗号化の状態512、およびサーバの暗号化の状態514を含んでよい。
図5の一部分(a)におけるセキュリティモジュール506は、検査モードでのプロキシでよい。検査モードの場合、セキュリティモジュール506は、ネットワークフロー504をコピーし復号化している。セキュリティモジュール506は、クライアントから来るネットワークフロー504を復号化するためのクライアントの復号化の状態508、およびサーバから来るネットワークフロー504を復号化するためのサーバの復号化の状態510を使用する。
図5の一部分(b)において、セキュリティモジュール502は、プロキシモードに移行している。セキュリティモジュール506は、サーバの暗号化の状態514を作成するためのクライアントの復号化の状態508を引き受け、クライアントの暗号化の状態512を作成するためのサーバの復号化の状態510を引き受けてよい。検査モードにおける一部分(a)のような復号化に加えて、セキュリティモジュール506は、また、一部分(c)におけるプロキシモードで暗号化できる。
一部分(c)において、セキュリティモジュール506は、ネットワークフロー504の間にある。プロキシモードの間に、セキュリティモジュール506は、ネットワークフロー504をパススルー、復号化/暗号化、終了、および/または修正してよい。ネットワークフロー504を修正するために、セキュリティモジュールは、一部分(a)の前のように復号化してよいが、次に、クライアントの暗号化の状態512および/またはサーバの暗号化の状態514を使用して、ネットワークフロー504を暗号化してもよい。実施形態において、一度、セキュリティモジュールがネットワークフロー504の変更を開始すると、セキュリティモジュール506は、暗号化プロトコルSSL/TLSセッションの残りについてのネットワークフロー504の残りを暗号化/復号化してよい。
図6は、実施形態に従ったデータダイヤグラムの実例である。データダイヤグラム600は、SSL/TLSデータ構造を示す。データダイヤグラム600は、データ構造602―616を含む。
抽出モジュールは、APIフックまたはシグネチャベーススキャンでデータ構造602―616に関連した対象のアプリケーションのメモリおよびアドレスを検査してよい。クライアントは、セキュアOOBチャネルを介してセキュリティモジュールに送信される前に、慎重に扱うべきSSL鍵情報を保護するために、複数の他のセキュリティサービスによって保護されてよい。
実施形態において、復号化パスは、CFSM:RunworkItem,Cfsm:Run、CFSM:SecureReceive、ICSECURESOCKET::RECEIVE_FSM、ICSecuresocket: :DecryptData、およびICSecuresocket::DecryptDataを含むWininet.dllでよい。それから、DecryptMessageおよびLsaunsealMessageを含むSspiceli.dllでよい。それから、SpunsealMessage、SslUnsealMessageStream、TlsDecryptHandler、およびTlsDecryptMessagを含むSchannel.dllでよい。
それから、SslDecryptpacket、SPSslDecryptPacket、およびTlsDecryptPacketを含むNcrypt.dllでよい。それから、BcryptDecryptを含むBcrypt.dllでよい。それから、MSCryptDecrypt、MSBlockDecrypt、およびAescbcDecryptを含むBcryptprimitives.dllでよい。
実施形態において、関数は、DecryptMessage()関数でよい。この関数は、以下のように用いられてよい。
SECURITY_STATUS SEC_Entry
DecryptMessage( in PCtxtHandle phContext, inout PSecBufferDesc pMessage, _in ULONG MessageSeqNo, _out PULONG pfQOP )
CtxtHandleは、追加的なコンテキスト情報でよい。
CtxtHandleは、CtxtHandle {Void * P_vtable; LSA_SEC_HANDLE usercontext;...}によりLSA_SEC_HANDLEにアクセスしてよい。
LSA_SEC_HANDLEを用いて、NCRYPT_KEY_HANDLEがアクセスされてよい。CSslContextは、Cipher ID、ReadKey、WriteKeyおよびSessionlDを含む。
NCRYPT_KEY_HANDLEを用いて、BCRYPT KEY HANDLEがアクセスされてよい。SSL_KEY_HANDLEは、hmac_keyおよびbcrypt_key handleを含んでよい。
BCRYPT_KEY_HANDLEを用いて、共有シークレット(セッション鍵)は、取得されてよい。MSCRYPT_SYMMKEY_HANDLEは、セッション鍵およびラウンド鍵を含む。
図7は、実施形態に従って、共用ライブラリを用いることで共有シークレットを抽出するための処理を例示する単純化されたフローチャートである。フロー700は、暗号化プロトコルセッションの間および/または前に動作する処理でよい。710で、抽出モジュールは、アプリケーションに共用ライブラリをロードする。720で、抽出モジュールは、アプリケーションで、任意の暗号化構造を特定する。730で、抽出モジュールは、複数の抽出関数で暗号化構造をフックする。
暗号化構造が呼び出されることに応答して、740で、実行モジュールは、複数の抽出関数を実行して、共有シークレットを特定する。750で、抽出モジュールは、共有シークレットを抽出する。750の後に、抽出モジュールは、共有シークレットをセキュリティモジュールにセキュアに伝送してよい。
使用可能な条件下で、および特定の1つの実施形態において、抽出モジュールは、アプリケーション(例えば、ウェブブラウザ)の処理空間にDLLを挿入する。これを行うために、抽出モジュールは、LoadLibrary関数Kernel32.dllを探すためにGetProcessAddressを使用し、パスを伴う文字列を、VirtualAllocExおよびWriteProcessMemoryを介してウェブブラウザ処理空間に挿入されたDLLに配置し、スレッド法としてLoadLibraryを用いることでウェブブラウザ処理空間にスレッドを起動するためのCreateRemoteThreadを呼び出し、独立変数としてのみ、上記で割り当たられた文字列をパスする。それから、挿入されたDLLは、SCHAEL.DLLを処理空間にプリロードし、暗号化データ構造の基数を探し、複数のカスタム関数でSCHANNEL.DLLの暗号化関数をフックする。次に、アプリケーションが複数の暗号化関数を要求する場合、フックされた複数の関数が呼び出され、その結果、複数のオリジナルのSCHANNEL関数を呼び出し、暗号化鍵素材について上記で探し出されたデータ構造を検査し、マスターシークレットも同様に見つけ出すかもしれず、複数のオリジナルのSCHANNEL関数によって戻された複数の値を戻す。
図8は、実施形態に従ったメモリ空間から共有シークレットを抽出するための処理を例示する単純化されたフローチャートである。フロー800は、暗号化プロトコルセッションの間および/または前に動作する処理でよい。810で、抽出モジュールは、ネットワーク層でネットワークフローを監視する。抽出モジュールは、暗号化プロトコルセッションについてのハンドシェイクの開始を検索している。
820で、抽出モジュールは、暗号化プロトコルセッションのハンドシェイクの開始を特定する。開始を特定することに応答して、830で、抽出モジュールは、暗号化されたプロトコルセッションンを開始する処理のメモリ空間を開放する。1または複数の実施形態で、処理は、アプリケーションでよい。
840で、抽出モジュールは、処理のメモリ空間内暗号化プロトコルセッションで共有シークレットを特定する。850で、抽出モジュールは、共有シークレットを抽出する。850の後に、抽出モジュールは、セキュリティモジュールに共有シークレットを伝送してよい。
使用可能な条件下で、特定の1つの実施形態において、抽出モジュールは、複数のClientHelloメッセージを見つけるための複数のTCPストリーム内にフックしてよい。ClientHelloメッセージが見つかる場合、セッションについての鍵素材が見つかるまで、すべてのTLSメッセージが検査される。
SessionIDは、そのServerHelloメッセージに対して抽出される。検査された処理によりそれぞれのパケットが処理される前および後に、その処理は、SCHANNEL.DLLがロードされたかどうかを見つけ、SCHANNEL.DLL内に暗号化データ構造の基数を見つけ、ServerHelloメッセージ内に見つかったセッションIDに対する鍵素材を見つけ、そこでプレマスターおよび/またはマスターシークレットも見つけるかもしれない、EnumProcessModulesおよびReadProcessMemoryを介してクエリーが行われる。一度、鍵素材が見つかると、鍵素材は、セキュリティモジュールに送信される。この処理は、適切なデータ構造についての処理空間を検索することにより、静的にリンクされるそれらを含む、図7における鍵素材を見つけることに拡張してよい。
図9は、実施形態に従った暗号化されたネットワークフローを分析するための処理を例示する単純化されたフローチャートである。フロー900は、暗号化プロトコルセッションの間に動作する処理でよい。902で、セキュリティモジュールは、第1ノードと第2ノードとの間で暗号化されたネットワークフローを監視する。ネットワークフローは、第1ノードから開始される。実施形態において、第1ノードは、クライアントでよく、第2ノードはサーバでよい。暗号化されたネットワークフローは、第1ノードと第2ノードとの間で双方向に行き来する。
904で、セキュリティモジュールは、暗号化されたネットワークフローのコピーを形成すべく、暗号化されたネットワークフローを複製する。906で、セキュリティモジュールは、共有シークレットを用いることで、暗号化されたネットワークフローのコピーを復号化する。共有シークレットは、第1ノードおよび第2ノードに関連する。第1ノードおよび第2ノードの両方は、共有シークレットを知っている。実施形態において、第1ノードは、共有シークレットを提供する。共有シークレットを知ることにより、セキュリティモジュールは、ネットワークフローを干渉することなく、ネットワークフローを復号化できる。
908で、セキュリティモジュールは、対象データについてのネットワークフローのコピーをスキャンする。対象データは、クライアント、ユーザ、セキュリティモジュール、ファイアウォール、セキュリティソフトウェア、ポリシーサーバ、または他のエンティティにより対象とされるデータでよい。更に、1または複数の実施形態で、抽出モジュールは、902の前に、第1ノードから共有シークレットを抽出してよい。更に、1または複数の実施形態で、セキュリティモジュールは、902での監視の一部として、暗号化されたネットワークフローを遅延させ、暗号化されたネットワークフローを転送してよい。その実施形態において、セキュリティモジュールは、ネットワークフローのコピーをスキャンするための時間を与えるために転送を遅延させてよい。ネットワークフローのコピーでの対象データを特定することに応答して、セキュリティモジュールは、暗号化されたネットワークフローを終了してよい。
図10は、実施形態に従ったプロセッサ1000に連結されたメモリ1002も例示する。メモリ1002は、当業者に知られ、またはさもなくば利用可能であるように、(様々な層のメモリ階層を含む)任意の多種多様なメモリでよい。メモリ1002は、プロセッサ1000により実行される1または複数の命令でよいコード1004を含んでよい。プロセッサ1000は、コード1004により示される複数の命令のプログラムシーケンスに従う。それぞれの命令は、フロントエンドロジック1006に入り、1または複数のデコーダ1008により処理される。
デコーダは、事前に定義されたフォーマットでの固定幅マイクロオペレーションなどのマイクロオペレーションを出力として生成し、もしくはオリジナルのコード命令を反映する他の複数の命令、複数のマイクロ命令、または複数の制御信号を生成してよい。フロントエンドロジック1006は、概して複数のリソースを割り当て、実行のための変換命令に対応する動作をキューするレジスタリネーミングロジック1010およびスケジューリングロジック1012も含む。
プロセッサ1000は、一セットの実行ユニット1016−1〜1016−Nを有する実行ロジック1014を含むように示される。いくつかの実施形態は、複数の特定の関数または複数の関数の複数のセットに対して専用の多数の実行ユニットを含んでよい。複数の他の実施形態は、特定の関数を実行できる1つのみの実行ユニット、または1つの実行ユニットを含んでよい。実行ロジック1014は、複数のコード命令により特定される複数の動作を実行する。
複数のコード命令により特定される動作の実行が完了した後、バックエンドロジック1018が、コード1004の命令をリタイアさせる。一実施形態では、プロセッサ1000は、アウトオブオーダー実行を許可するが、複数の命令のインオーダーリタイアメントを要求する。リタイアメントロジック1020は、当業者により知られている様々な形式(例えば、再注文バッファ処理など)を扱ってよい。このやり方で、プロセッサ1000は、レジスタリネーミングロジック1010により利用されるデコーダ、ハードウェアレジスタ、およびテーブルと、実行ロジック1014により変更される任意のレジスタ(不図示)とにより生成される出力に少なくとも関して、コード1004の実行中に変換される。
図10には例示されないが、処理要素は、プロセッサ1000とともにチップ上に複数の他の要素を含んでよい。例えば、処理要素は、プロセッサ1000と共にメモリ制御ロジックを含んでよい。処理要素は、I/O制御ロジックを含んでよく、および/またはメモリ制御ロジックと一体化されたI/O制御ロジックを含んでよい。処理要素は、1または複数のキャッシュも含んでよい。
図11は、実施形態に従ったポイントツーポイント(PtP)構成で構成されたコンピューティングシステム1100を図示する。具体的には、図11は、複数のプロセッサ、メモリ、および入出力デバイスが、多数のポイントツーポイントインターフェースにより相互接続されたシステムを示す。
図11に図示されるように、システム1100は、プロセッサ1102および1104の2つのみが明確に図示されているが、複数のプロセッサを含んでよい。プロセッサ1102および1104は、それぞれ、プログラムの複数の処理を実行する一セットのコア1103および1105を含んでよい。プロセッサ1102および1104は、また、それぞれ、メモリ1110および1112と通信する内蔵型メモリコントローラロジック(MC)1106および1108を含んでよい。メモリ1110および/または1112は、これらがメモリ1112を参照して開示されるなどの様々なデータを格納してよい。代替の実施例において、メモリコントローラロジック1106および1108は、プロセッサ1102および1104から分離された別個のロジックでよい。
プロセッサ1102および1104は、これらが図1のプロセッサ102を参照して開示されるなどの任意のタイプのプロセッサでよい。プロセッサ1102および1104は、それぞれ、ポイントツーポイントインターフェース回路1116および1118を用いることで、ポイントツーポイント(PtP)インターフェース1114を介してデータを交換してよい。プロセッサ1102および1104は、それぞれ、ポイントツーポイントインターフェース回路1126、1128、1130および1132を用いることで、個々のポイントツーポイントインターフェース1122および1124を介してチップセット1120とデータを交換してよい。チップセット1120は、また、PtPインターフェース回路でありうるインターフェース回路1137を用いることにより、高パフォーマンスグラフィクスインターフェース1136を介して、高パフォーマンスグラフィクス回路1134とデータを交換してよい。代替の実施例において、図11に図示される任意のまたはすべてのPtPリンクは、1つのPtPリンクではなく、マルチドロップバスとして実装されることができる。
少なくとも1つ実施形態は、本明細書で開示されるように、プロセッサ1102および1104内で提供されてよい。しかしながら、他の実施形態は、図11のシステム1100内の他の回路、ロジックユニット、またはデバイスに存在してよい。さらに、他の実施形態は、図11に図示される複数の回路、ロジックユニット、またはデバイスの至る所に割り振られてよい。
チップセット1120は、インターフェース回路1141を介してバス1140と通信してよい。バス1140は、バス1140を介して通信する、バスブリッジ1142およびI/Oデバイス1143などの1または複数のデバイスを有してよい。バス1144を介して、バスブリッジ1143は、キーボード/マウス1145(または、例えばタッチスクリーンなどの他の入力装置)、通信デバイス1146(モデム、ネットワークインターフェースデバイス、またはコンピュータネットワークを介して通信できる他のタイプの通信デバイスなど)、オーディオI/Oデバイス1147、および/または、データストレージデバイス1148などの複数の他のデバイスと通信してよい。
データ記憶デバイス1148は、プロセッサ1102および/または1104により実行されてよいコード1149を含んでよい。代替の実施例において、バスアーキテクチャの任意の一部は、1または複数のPtPリンクで実装されることができる。
図10および11に示されるコンピュータシステムは、本明細書で開示される様々な実施形態で利用されてよい複数のコンピューティングシステムの複数の実施形態の略図である。図10および11に示される複数のシステムの様々なコンポーネントは、システムオンチップ(SoC)アーキテクチャまたは他の適した構成で組み合わせられてよいことは理解されよう。例えば、本明細書で開示される複数の実施形態は、例えば、スマートセルラーフォンなどのモバイルデバイス、タブレットコンピュータ、携帯情報端末、ポータブルゲームデバイスなどのシステム内に組み込まれることができる。
これらのモバイルデバイスは、少なくともいくつかの実施形態でSoCアーキテクチャを備えてよいことは理解されよう。
特定の例の実装において、本明細書で概説されるセキュリティモジュールおよび抽出モジュールの機能は、1または複数の有形の媒体(例えば、特定用途向け集積回路(ASIC)で提供される埋め込み論理、デジタルシグナルプロセッサ(DSP)命令、プロセッサ、または他の同様な機械によって実行されるソフトウェア(潜在的にオブジェクトコードおよびソースコードを含有)など)にエンコードされているロジックによって実装されてよいことに留意すべきである。これらの例のいくつかにおいて、メモリ要素は、本明細書で説明される動作のために用いられるデータを格納できる。
これは、本明細書で説明されるアクティビティを実行すべく、実行されるソフトウェア、ロジック、コードまたはプロセッサ命令を格納することができるメモリ要素を含む。プロセッサは、ここで、本明細書で詳説される動作を達成するためのデータに関連する任意のタイプの命令を実行できる。一例において、プロセッサは、1つの状態または状況から他の状態または状況に要素または項目(例えば、データ)を変換できる。他の例において、本明細書で概説される複数のアクティビティは、固定論理またはプログラマブル論理(例えば、プロセッサによって実行されるソフトウェア/コンピュータ命令)で実装されてよい。本明細書で説明される複数の要素は、いくつかのタイプのプログラマブルプロセッサ、プログラマブルデジタルロジック(例えば、FPGA、EPROM、EEPROM)またはデジタル論理、ソフトウェア、コード、電子命令および任意の適したそれらの組み合わせを含むASICでありうる。
1つの例示の実装において、セキュリティモジュールおよび抽出モジュールは、本明細書で概説される複数のセキュリティアクティビティを達成するためにソフトウェアを含んでよい。セキュリティモジュールおよび抽出モジュールは、本明細書で開示されるように、複数のセキュリティアクティビティを達成するのに用いられる情報を格納するための複数のメモリ要素を含むことができる。更に、セキュリティモジュールおよび抽出モジュールは、本明細書で開示されるように、複数のセキュリティアクティビティを実行するソフトウェアまたはアルゴリズムを実行できるプロセッサを含んでよい。これらのデバイスは、任意の適したメモリ要素(ランダムアクセスメモリ(RAM)、ROM、EPROM、EEPROM、ASICなど)、ソフトウェア、ハードウェアに、または任意の他の適したコンポーネント、デバイス、要素、または適切な特定の必要性に基づくオブジェクトに、情報をさらに保持してよい。更に、セキュリティモジュールおよび抽出モジュールは、ソフトウェア、ハードウェア、ファームウェア、またはそれらの組み合わせでありうる。本明細書で説明される任意のメモリアイテム(例えば、データベース、テーブル、ツリー、キャッシュなど)は、広義の用語「メモリ要素」内に包含されるように解釈されるべきである。同様に、本明細書で記載される潜在的な処理要素、モジュールおよび機械は、広義の用語「プロセッサ」内に包含されるように解釈されるべきである。
上記で提供される例は、本明細書で提供される様々な他の例と同様に、インタラクションが、2、3、4つの要素に関して説明されてよいことを留意すべきである。しかし、これは、明確性および単なる例示を目的としている。特定の場合、限定された数要素を参照することのみにより所与のセットの複数のフローの1または複数の機能を説明することを容易にできる。セキュリティモジュールおよび抽出モジュール(およびそれらの教示)は、より複雑な/高機能な構成および設定と同様に、多数のコンポーネントを容易に拡張および適合されてよい。従って、提供される例は、または、無数の他のアーキテクチャに潜在的に適用されるようなセキュリティモジュールおよび抽出モジュールの範囲を制限せず、それらの広い教示を妨げるべきでない。
先行するフロー図における複数の動作は、セキュリティモジュールおよび抽出モジュールにより、または内で実行されてよい可能な複数のシナリオおよび複数のパターンのいくつかのみを例示していることを留意すべきことも重要である。
これらの動作のいくつかは、適切に削除または取り除かれてよく、または本開示の範囲から大幅に逸脱しないで、修正または変更されてよい。さらに、これらの動作の多数は、同時にまたはパラレルに、1または複数の追加の動作を実行するように説明されている。しかし、これらの動作のタイミングは、大幅に変更されてよい。先行の動作フローは、例示および説明を目的として提示されている。
セキュリティモジュールおよび抽出モジュールは、任意の適した構成、年代、設定、およびタイミングメカニズムが本開示の教示を逸脱せずに提供されうる、かなりのフレキシビリティを提供する。
本開示は、特定の構成よび設定を参照して詳述されているけれども、これらの例示的な設定および構成は、本開示の範囲を実質的に逸脱することなくかなり変更されてよい。
以下の複数の例は、本明細書に従った複数の実施形態に関連する。1または複数の実施形態は、暗号化されたネットワークフローを分析するための方法を提供してよい。方法は、第1ノードから開始された暗号化されたネットワークフローを第1ノードと第2ノードとの間で監視する段階と、暗号化されたネットワークフローのコピーを形成すべく、暗号化されたネットワークフローを複製する段階と、第1ノードと第2ノードとに関連する共有シークレットを用いることにより、暗号化されたネットワークフローのコピーを復号化する段階と、対象データについてのネットワークフローのコピーをスキャンする段階とを含んでよい。
一例の実施形態は、さらに、第1ノードから共有シークレットを抽出する段階を含む。
一例の実施形態は、さらに、暗号化されたネットワークフローを遅延させ、暗号化されたネットワークフローを転送することを含む。
一例の実施形態は、さらに、ネットワークフローのコピー内の対象データを特定することに応答して、暗号化されたネットワークフローを終了する段階を含む。
一例の実施形態は、さらに、ネットワークフローのコピー内の対象データを特定することに応答して、転送の前に、共有シークレットを用いることにより暗号化されたネットワークフローを復号化する段階と、対象データを除去すべく、暗号化されていないネットワークフローを修正する段階と、共有シークレットを用いることにより修正されたネットワークフローを暗号化する段階と、修正されたネットワークフローを転送する段階とを含む。
一例の実施形態は、さらに、第1ノードから共有シークレットを抽出する段階が、暗号化プロトコルセッションにアクセスする第1ノード上のアプリケーションに、アプリケーションを介した暗号化プロトコルセッションへのアクセスを許可する共用ライブラリをロードする段階と、暗号化プロトコルセッション内の共有シークレットを特定する段階とを含むことを含む。
一例の実施形態は、さらに、第1ノードから共有シークレットを抽出する段階が、ネットワーク層でネットワークフローを監視する段階と、暗号化プロトコルセッションのハンドシェイクの開始を特定する段階と、開始を特定することに応答して、暗号化プロトコルセッションを開始する処理のメモリ空間を開放する段階と、処理のメモリ空間内の暗号化プロトコルセッションでの共有シークレットを特定する段階を含むことを含む。 一例の実施形態は、さらに、共有シークレットは、マスターシークレット、プレマスターシークレット、セッションコンテキストの少なくとも1つである。
本明細書中で用られるように、文言「少なくとも1つ」は、リストの任意の1つまたは組み合わせを意味することができる。例えば、A、BおよびCの少なくとも1つは、A、BまたはC、あるいはそれらの組み合わせを意味することができる。
一例の実施形態は、さらに、第1ノードと第2ノードとの間のネットワークフローを暗号化するために用いられる暗号化方式の数を制限する段階を含む。
1または複数の実施形態は、第1ノードから共有シークレットを抽出するための方法、装置、および/または機械アクセス可能な記憶媒体を提供する。方法は、第1ノード上のアプリケーションに共用ライブラリをロードする段階と、暗号化プロトコルセッションで共有シークレットを特定する段階を含む。アプリケーションは、暗号化プロトコルセッションにアクセスする。共用ライブラリは、アプリケーションを介した暗号化プロトコルセッションへのアクセスを許可する。
1または複数の実施形態は、第1ノードからの共有シークレットを抽出するための方法、装置、および/または機械アクセス可能な記録媒体を提供する。
方法は、ネットワーク層でネットワークフローを監視する段階と、暗号化プロトコルセッションのハンドシェイクの開始を特定する段階と、開始を特定することに応答して、暗号化プロトコルセッションを開始する処理のメモリ空間を開放する段階と、処理のメモリ空間内の暗号化プロトコルセッションでの共有シークレットを特定する段階とを含む。
一例の実施形態は、さらに、処理のメモリ空間から共有シークレットを抽出する段階を含む。 一例の実施形態は、さらに、セキュリティモジュールに共有シークレットを送信する段階を含む。 1または複数の実施形態は、装置を提供する。
装置は、第1ノードから開始された暗号化されたネットワークフローを第1ノードと第2ノードとの間で監視し、暗号化されたネットワークフローのコピーを形成すべく、暗号化されたネットワークフローを複製し、第1ノードと第2ノードとに関連する共有シークレットを用いることにより、暗号化されたネットワークフローのコピーを復号化し、対象データについてのネットワークフローのコピーをスキャンするよう構成されるセキュリティモジュールを備える。
一例の実施形態は、第1ノードから共有シークレットを抽出するよう構成された抽出モジュールをさらに備える。
一例の実施形態は、さらに、セキュリティモジュールが、暗号化されたネットワークフローを遅延させ、暗号化されたネットワークフローを転送するようさらに構成されることを含む。
一例の実施形態は、さらに、セキュリティモジュールがネットワークフローのコピー内の対象データを特定することに応答して、暗号化されたネットワークフローを終了するようさらに構成されることを含む。
一例の実施形態は、さらに、セキュリティモジュールが、ネットワークフローのコピー内の対象データを特定することに応答して、転送の前に、共有シークレットを用いることにより暗号化されたネットワークフローを復号化し、対象データを除去すべく、暗号化されていないネットワークフローを修正し、共有シークレットを用いることにより修正されたネットワークフローを暗号化し、修正されたネットワークフローを転送するようさらに構成されることを含む。
一例の実施形態は、さらに、第1ノードから共有シークレットを抽出するよう構成された抽出モジュールが、暗号化プロトコルセッションにアクセスする第1ノード上のアプリケーションに、アプリケーションを介した暗号化プロトコルセッションへのアクセスを許可する共用ライブラリをロードし、暗号化プロトコルセッション内の共有シークレットを特定するよう構成された抽出モジュールを含むことを含む。
一例の実施形態は、さらに、第1ノードから共有シークレットを抽出するよう構成された抽出モジュールは、ネットワーク層でネットワークフローを監視し、暗号化プロトコルセッションのハンドシェイクの開始を特定し、開始を特定することに応答して、暗号化プロトコルセッションを開始する処理のメモリ空間を開放し、処理のメモリ空間内の暗号化プロトコルセッションでの共有シークレットを特定する構成された抽出モジュールを含むことを含む。
一例の実施形態は、共有シークレットは、マスターシークレット、プレマスターシークレット、セッションコンテキストの少なくとも1つであることをさらに含む。
一例の実施形態は、さらに、セキュリティモジュールが、第1ノードと第2ノードとの間のネットワークフローを暗号化するために用いられる暗号化方式の数を制限するようさらに構成されることを含む。
1または複数の実施形態は、暗号化されたネットワークフローを分析するための命令が格納された少なくとも1つの機械アクセス可能な記憶媒体を提供する。命令は、機械で実行される場合、機械に、第1ノードから開始された暗号化されたネットワークフローを第1ノードと第2ノードとの間で監視する段階と、暗号化されたネットワークフローのコピーを形成すべく、暗号化されたネットワークフローを複製する段階と、記第1ノードと第2ノードとに関連する共有シークレットを用いることにより、暗号化されたネットワークフローのコピーを復号化する段階と、対象データについてのネットワークフローのコピーをスキャンする段階とを実行させる。
一例の実施形態は、さらに、命令は、機械で実行される場合、機械に、第1ノードから共有シークレットを抽出する段階を実行させることを含む。
一例の実施形態は、さらに、命令は、機械で実行される場合、機械に、暗号化されたネットワークフローを遅延させる段階、暗号化されたネットワークフローを転送する段階を実行させることを含む。
一例の実施形態は、さらに、命令は、機械で実行される場合、機械に、ネットワークフローのコピー内の対象データを特定することに応答して、暗号化されたネットワークフローを終了する段階を実行させることを含む。
一例の実施形態は、さらに、命令は、機械で実行される場合、機械に、ネットワークフローのコピー内の対象データを特定することに応答して、転送の前に、共有シークレットを用いることにより暗号化されたネットワークフローを復号化する段階と、対象データを除去すべく、暗号化されていないネットワークフローを修正する段階と、共有シークレットを用いることにより修正されたネットワークフローを暗号化する段階と、修正されたネットワークフローを転送する段階とを実行させることを含む。
一例の実施形態は、さらに、命令は、機械で実行される場合、機械に、第1ノードから共有シークレットを抽出させ、さらに命令は、機械で実行される場合、機械に、暗号化プロトコルセッションにアクセスする第1ノード上のアプリケーションに、アプリケーションを介した暗号化プロトコルセッションへのアクセスを許可する共用ライブラリをロードする段階と、暗号化プロトコルセッション内の共有シークレットを特定する段階とを実行させることを含む。
一例の実施形態は、さらに、命令は、機械で実行される場合、機械に、第1ノードから共有シークレットを抽出させ、さらに命令は、機械で実行される場合、機械に、ネットワーク層でネットワークフローを監視する段階と、暗号化プロトコルセッションのハンドシェイクの開始を特定する段階と、開始を特定することに応答して、暗号化プロトコルセッションを開始する処理のメモリ空間を開放する段階と、処理のメモリ空間内の暗号化プロトコルセッションでの共有シークレットを特定する段階とを実行させることを含む。
一例の実施形態は、さらに、共有シークレットが、マスターシークレット、プレマスターシークレット、セッションコンテキストの少なくとも1つであることを含む。
一例の実施形態は、さらに、命令は、機械で実行される場合、機械に、第1ノードと第2ノードとの間のネットワークフローを暗号化するために用いられる暗号化方式の数を制限する段階を実行させることを含む。

Claims (53)

  1. コンピュータに暗号化されたネットワークフローを分析させるためのプログラムであって、
    前記コンピュータに、
    第1ノードから開始された前記暗号化されたネットワークフローを前記第1ノードと第2ノードとの間で監視する段階と、
    前記暗号化されたネットワークフローのコピーを形成すべく、前記暗号化されたネットワークフローを複製する段階と、
    前記第1ノードから共有シークレットを抽出する段階と、
    前記第1ノードと前記第2ノードとに関連する前記共有シークレットを用いることにより、前記暗号化されたネットワークフローの前記コピーを復号化する段階と、
    対象データについての前記ネットワークフローのコピーをスキャンする段階と
    を実行させ
    前記共有シークレットを抽出する段階は、
    ネットワーク層でネットワークフローを監視する段階と、
    暗号化プロトコルセッションのハンドシェイクの開始を特定する段階と、
    前記開始を特定することに応答して、前記暗号化プロトコルセッションを開始する処理のメモリ空間を開放する段階と、
    前記処理の前記メモリ空間内の前記暗号化プロトコルセッションでの前記共有シークレットを特定する段階とを含む、プログラム。
  2. 暗号化プロトコルセッションにアクセスする前記第1ノード上のアプリケーションに、前記アプリケーションを介した前記暗号化プロトコルセッションへのアクセスを許可する共用ライブラリをロードする段階と、
    前記暗号化プロトコルセッション内の前記共有シークレットを特定する段階と
    をさらに前記コンピュータに実行させる、請求項1記載のプログラム。
  3. 前記暗号化されたネットワークフローを遅延させる段階と、
    前記暗号化されたネットワークフローを転送する段階と
    を前記コンピュータにさらに実行させる、請求項1または2に記載のプログラム。
  4. 前記ネットワークフローのコピー内の対象データを特定することに応答して、前記暗号化されたネットワークフローを終了する段階をさらに前記コンピュータに実行させる、請求項1または2に記載のプログラム。
  5. 前記ネットワークフローのコピー内の対象データを特定することに応答して、前記共有シークレットを用いることにより前記暗号化されたネットワークフローを復号化する段階と、
    前記対象データを除去すべく、暗号化されていない前記ネットワークフローを修正する段階と、
    前記共有シークレットを用いることにより、修正されたネットワークフローを暗号化する段階と、
    前記修正されたネットワークフローを転送する段階と
    をさらに前記コンピュータに実行させる、請求項1、2および4のいずれか1つに記載のプログラム。
  6. 前記共有シークレットは、マスターシークレット、プレマスターシークレット、およびセッションコンテキストのうちの少なくとも1つである、請求項1から請求項のいずれか1つに記載のプログラム。
  7. 前記第1ノードと前記第2ノードとの間のネットワークフローを暗号化するために用いられる暗号化方式の数を制限する段階を前記コンピュータにさらに実行させる、請求項1から請求項のいずれか1つに記載のプログラム。
  8. 暗号化されたネットワークフローを分析するための方法であって、
    第1ノードから開始された、前記第1ノードと第2ノードとの間の前記暗号化されたネットワークフローを、監視する段階と、
    前記暗号化されたネットワークフローのコピーを形成すべく、前記暗号化されたネットワークフローを複製する段階と、
    前記第1ノードから共有シークレットを抽出する段階と、
    前記第1ノードと前記第2ノードとに関連する前記共有シークレットを用いることにより前記暗号化されたネットワークフローの前記コピーを復号化する段階と、
    対象データについての前記ネットワークフローのコピーをスキャンする段階と
    を備え
    前記共有シークレットを抽出する段階は、
    ネットワーク層でネットワークフローを監視する段階と、
    暗号化プロトコルセッションのハンドシェイクの開始を特定する段階と、
    前記開始を特定することに応答して、前記暗号化プロトコルセッションを開始する処理のメモリ空間を開放する段階と、
    前記処理の前記メモリ空間内の前記暗号化プロトコルセッションでの前記共有シークレットを特定する段階とを含む、方法。
  9. 前記ネットワークフローのコピー内の対象データを特定することに応答して、前記暗号化されたネットワークフローを終了する段階をさらに備える、請求項に記載の方法。
  10. 前記ネットワークフローのコピー内の対象データを特定することに応答して、前記共有シークレットを用いることにより前記暗号化されたネットワークフローを復号化する段階と、
    前記対象データを除去すべく、暗号化されていない前記ネットワークフローを修正する段階と、
    前記共有シークレットを用いることにより修正されたネットワークフローを暗号化する段階と、
    前記修正されたネットワークフローを転送する段階と
    をさらに備える、請求項8または9に記載の方法。
  11. 第1ノードから開始された暗号化されたネットワークフローを前記第1ノードと第2ノードとの間で監視し、
    前記暗号化されたネットワークフローのコピーを形成すべく、前記暗号化されたネットワークフローを複製し、
    前記第1ノードと前記第2ノードとに関連する共有シークレットを用いることにより、前記暗号化されたネットワークフローの前記コピーを復号化し、
    対象データについての前記ネットワークフローのコピーをスキャンするよう構成されるセキュリティモジュールと、
    前記第1ノードから前記共有シークレットを抽出するよう構成された抽出モジュールと
    を備え、
    前記抽出モジュールは、
    ネットワーク層でネットワークフローを監視し、
    暗号化プロトコルセッションのハンドシェイクの開始を特定し、
    前記開始を特定することに応答して、前記暗号化プロトコルセッションを開始する処理のメモリ空間を開放し、
    前記処理の前記メモリ空間内の前記暗号化プロトコルセッションでの前記共有シークレットを特定する、装置。
  12. 前記抽出モジュールは、
    暗号化プロトコルセッションにアクセスする前記第1ノード上のアプリケーションに、前記アプリケーションを介した前記暗号化プロトコルセッションへのアクセスを許可する共用ライブラリをロードし、
    前記暗号化プロトコルセッション内の前記共有シークレットを特定する請求項11に記載の装置。
  13. 前記セキュリティモジュールは、
    前記暗号化されたネットワークフローを遅延させ、
    前記暗号化されたネットワークフローを転送するようさらに構成される、請求項11または12に記載の装置。
  14. 前記セキュリティモジュールは、前記ネットワークフローのコピー内の対象データを特定することに応答して、前記暗号化されたネットワークフローを終了するようさらに構成される、請求項11から請求項13のいずれか1つに記載の装置。
  15. 前記セキュリティモジュールは、
    前記ネットワークフローのコピー内の対象データを特定することに応答して、前記共有シークレットを用いることにより前記暗号化されたネットワークフローを復号化し、
    前記対象データを除去すべく、暗号化されていない前記ネットワークフローを修正し、
    前記共有シークレットを用いることにより、修正されたネットワークフローを暗号化し、
    前記修正されたネットワークフローを転送するようさらに構成される、請求項11、12、及び14のいずれか1つに記載の装置。
  16. 請求項から請求項10のいずれか1つに記載の方法を実行するための手段を備える装置。
  17. 前記手段は、プロセッサおよびメモリを有する、請求項16に記載の装置。
  18. コンピュータに第1ノードから共有シークレットを抽出させるためのプログラムであって、
    前記コンピュータに、
    ネットワーク層でネットワークフローを監視する段階と、
    暗号化プロトコルセッションのハンドシェイクの開始を特定する段階と、
    前記開始を特定することに応答して、前記暗号化プロトコルセッションを開始する処理のメモリ空間を開放する段階と、
    前記処理の前記メモリ空間内の前記暗号化プロトコルセッションでの前記共有シークレットを特定する段階と
    を実行させるためのプログラム。
  19. 前記処理の前記メモリ空間から前記共有シークレットを抽出する段階をさらに前記コンピュータに実行させる、請求項18に記載のプログラム。
  20. セキュリティモジュールに前記共有シークレットを送信する段階を前記コンピュータに実行させる、請求項18または請求項19に記載のプログラム。
  21. 暗号化されたネットワークフローを分析するための方法であって、
    ファイヤウォールで、第1ノード上のアプリケーションに関連する処理によって開始される前記第1ノードと第2ノードとの間の暗号化プロトコルセッションの前記暗号化されたネットワークフローを監視する段階と、
    前記暗号化されたネットワークフローのコピーを形成すべく、前記暗号化されたネットワークフローを複製する段階と、
    前記ファイヤウォールで、前記暗号化されたネットワークフローに関連する共有シークレットを含むメッセージを前記第1ノード上の抽出モジュールから受信する段階であって、前記共有シークレットは、少なくとも部分的に、前記第1ノードと前記第2ノードとの間で交換された情報に基づいて、前記第1ノード及び前記第2ノードにより決定され、前記暗号化されたプロトコルセッションのハンドシェイクの開始を前記第1ノードで特定することに応答して、前記抽出モジュールが、前記ファイヤウォールに送信する前記共有シークレットを抽出すべく、前記処理のメモリ空間を開放する、段階と、
    前記ファイヤウォールで、ネットワークフローのコピーを形成すべく、前記抽出モジュールから受信された前記共有シークレットを用いて前記暗号化されたネットワークフローの前記コピーを復号化する段階と、
    対象データについての前記ネットワークフローのコピーをスキャンする段階と
    を備える方法。
  22. 前記共有シークレットは、前記ファイヤウォールによる受信される前に前記第1ノードから抽出される、請求項21に記載の方法。
  23. 前記ファイヤウォールで、前記共有シークレットが受信されるまでに、前記暗号化されたネットワークフローを遅延させる段階と、
    前記暗号化されたネットワークフローを転送する段階と
    をさらに備える、請求項21または22に記載の方法。
  24. 前記ネットワークフローのコピー内の対象データを特定することに応答して、前記暗号化されたネットワークフローを終了する段階をさらに備える、請求項21から23のいずれか1つに記載の方法。
  25. 前記ネットワークフローのコピー内の対象データを特定することに応答して、前記暗号化されたネットワークが転送される前に前記暗号化されたネットワークフローを復号化する段階と、
    前記対象データを除去すべく、暗号化されていない前記ネットワークフローを修正して、修正されたネットワークフローを形成する段階と、
    前記共有シークレットを用いて前記修正されたネットワークフローを暗号化する段階と、
    暗号化された前記修正されたネットワークフローを転送する段階と
    をさらに備える、請求項21から24のいずれか1つに記載の方法。
  26. 前記抽出モジュールは、
    前記第1ノードで、前記暗号化プロトコルセッションの前記ハンドシェイクの前記開始を特定すべく、ネットワーク層でのネットワークフローを監視し、
    前記処理の前記メモリ空間を開放した後に前記処理の前記メモリ空間内の前記暗号化プロトコルセッションにおいて前記共有シークレットを特定する、請求項21から25のいずれか1つに記載の方法。
  27. 前記共有シークレットは、マスターシークレット、プレマスターシークレット、およびセッションコンテキストのうちの少なくとも1つである、請求項21から26のいずれか1つに記載の方法。
  28. 前記第1ノードと前記第2ノードとの間のネットワークフローを暗号化するために用いられる暗号化方式の数を制限する段階をさらに備える、請求項21から27のいずれか1つに記載の方法。
  29. 少なくとも1つのメモリ要素に連結された少なくとも1つのプロセッサと、
    セキュリティモジュールと
    を備え、
    前記セキュリティモジュールは、前記少なくとも1つのプロセッサ上で、
    第1ノード上のアプリケーションに関する処理により開始される前記第1ノードと第2ノードとの間の暗号化プロトコルセッションの暗号化されたネットワークフローを監視すること、
    前記暗号化されたネットワークフローのコピーを形成すべく、前記暗号化されたネットワークフローを複製すること、
    前記暗号化されたネットワークフローに関連する共有シークレットを含むメッセージを他のノード上の抽出モジュールから受信すること、
    ネットワークフローのコピーを形成すべく、前記抽出モジュールから受信された前記共有シークレットを用いて前記暗号化されたネットワークフローの前記コピーを復号化すること、
    対象データについての前記ネットワークフローのコピーをスキャンすること
    を実行し、
    前記共有シークレットは、少なくとも部分的に、前記第1ノードと前記第2ノードとの間で交換された情報に基づいて、前記第1ノード及び前記第2ノードにより決定され、前記暗号化されたプロトコルセッションのハンドシェイクの開始を前記第1ノードで特定することに応答して、前記抽出モジュールが、前記他のノードとは別個のファイヤウォールに送信する前記共有シークレットを抽出すべく、前記処理のメモリ空間を開放する、装置。
  30. 前記抽出モジュールは、前記共有シークレットが前記ファイヤウォールにより受信される前に前記第1ノードから前記共有シークレットを抽出する、請求項29に記載の装置。
  31. 前記抽出モジュールは、
    前記暗号化プロトコルセッションの前記ハンドシェイクの前記開始を特定すべく、他のノードで、ネットワーク層でのネットワークフローを監視し、
    前記処理の前記メモリ空間を開放した後に、前記処理の前記メモリ空間内の前記暗号化プロトコルセッションにおいて前記共有シークレットを特定する、請求項29または30に記載の装置。
  32. 前記セキュリティモジュールは、前記少なくとも1つのプロセッサ上で、
    前記共有シークレットが受信されるまで前記暗号化されたネットワークフローを遅延させること、
    前記暗号化されたネットワークフローを転送すること
    を実行する、請求項29から31のいずれか1つに記載の装置。
  33. 前記セキュリティモジュールは、前記少なくとも1つのプロセッサ上で、
    前記ネットワークフローのコピー内の対象データを特定することに応答して、前記暗号化されたネットワークフローを終了することを実行する、請求項29から32のいずれか1つに記載の装置。
  34. 前記セキュリティモジュールは、前記少なくとも1つのプロセッサ上で、
    前記ネットワークフローのコピー内の対象データを特定することに応答して、前記暗号化されたネットワークが転送される前に前記暗号化されたネットワークフローを復号化すること、
    前記対象データを除去すべく、暗号化されていない前記ネットワークフローを修正して、修正されたネットワークフローを形成すること、
    前記共有シークレットを用いて前記修正されたネットワークフローを暗号化すること、
    暗号化された前記修正されたネットワークフローを転送すること
    を実行する、請求項29から33のいずれか1つに記載の装置。
  35. 前記共有シークレットは、マスターシークレット、プレマスターシークレット、およびセッションコンテキストのうちの少なくとも1つである、請求項29から34のいずれか1つに記載の装置。
  36. 前記セキュリティモジュールは、前記少なくとも1つのプロセッサ上で、
    前記第1ノードと前記第2ノードとの間のネットワークフローを暗号化するために用いられる暗号化方式の数を制限すること
    を実行する、請求項29から35のいずれか1つに記載の装置。
  37. 前記第1ノードと前記他のノードとは別個のノードである、請求項29から36のいずれか1つに記載の装置。
  38. ファイヤウォールで、第1ノード上のアプリケーションに関する処理により開始される前記第1ノードと第2ノードとの間の暗号化プロトコルセッションの暗号化されたネットワークフローを監視する段階と、
    前記暗号化されたネットワークフローのコピーを形成すべく、前記暗号化されたネットワークフローを複製する段階と、
    前記ファイヤウォールで、前記暗号化されたネットワークフローに関連する共有シークレットを含むメッセージを他のノード上の抽出モジュールから受信する段階と、
    前記ファイヤウォールで、ネットワークフローを形成すべく、前記抽出モジュールから受信された前記共有シークレットを用いて前記暗号化されたネットワークフローの前記コピーを復号化する段階と、
    対象データについての前記ネットワークフローの前記コピーをスキャンする段階と
    をコンピュータに実行させ、
    前記共有シークレットは、少なくとも部分的に、前記第1ノードと前記第2ノードとの間で交換された情報に基づいて、前記第1ノード及び前記第2ノードにより決定され、前記暗号化されたプロトコルセッションのハンドシェイクの開始を前記第1ノードで特定することに応答して、前記抽出モジュールが、前記ファイヤウォールに送信する前記共有シークレットを抽出すべく、前記処理のメモリ空間を開放し、前記ファイヤウォールと前記他のノードとは別個のノードである、プログラム。
  39. 前記共有シークレットは、前記ファイヤウォールにより受信される前に前記第1ノードから抽出される、請求項38に記載のプログラム。
  40. 前記暗号化プロトコルセッションの前記ハンドシェイクの前記開始を特定すべく、前記第1ノードで、ネットワーク層でのネットワークフローを監視することと、
    前記処理の前記メモリ空間を開放した後に、前記処理の前記メモリ空間内の前記暗号化プロトコルセッションにおいて前記共有シークレットを特定すること
    を前記コンピュータにさらに実行させる、請求項38または39に記載のプログラム。
  41. 前記ファイヤウォールで、前記共有シークレットが受信されるまで前記暗号化されたネットワークフローを遅延させること、
    前記暗号化されたネットワークフローを転送すること
    を前記コンピュータにさらに実行させる、請求項38から40のいずれか1つに記載のプログラム。
  42. 前記ネットワークフローのコピー内の対象データを特定することに応答して、前記暗号化されたネットワークフローを終了することをさらに前記コンピュータに実行させる、請求項38から41のいずれか1つに記載のプログラム。
  43. 前記ネットワークフローのコピー内の対象データを特定することに応答して、前記暗号化されたネットワークフローが転送される前に前記暗号化されたネットワークフローを復号化すること、
    前記対象データを除去すべく、暗号化されていない前記ネットワークフローを修正して、修正されたネットワークフローを形成すること、
    前記共有シークレットを用いて前記修正されたネットワークフローを暗号化すること、
    暗号化された前記修正されたネットワークフローを転送すること
    を前記コンピュータにさらに実行させる、請求項38から42のいずれか1つに記載のプログラム。
  44. 前記共有シークレットは、マスターシークレット、プレマスターシークレット、およびセッションコンテキストのうちの少なくとも1つである、請求項38から43のいずれか1つに記載のプログラム。
  45. 前記第1ノードと前記第2ノードとの間のネットワークフローを暗号化するために用いられる暗号化方式の数を制限すること
    を前記コンピュータさらに実行させる、請求項38から44のいずれか1つに記載のプログラム。
  46. 前記第1ノードと前記他のノードとは同じノード及び別個ノードの一方である、請求項38から45のいずれか1つに記載のプログラム。
  47. 第1ノードから共有シークレットを抽出するための方法であって、
    前記第1ノードで、抽出モジュールにより、前記第1ノードと第2ノードとの間のネットワークフローを、ネットワーク層で監視する段階と、
    前記第1ノードと前記第2ノードとの間の暗号化プロトコルセッションのハンドシェイクの開始を特定する段階と、
    前記開始を特定することに応答して、前記暗号化プロトコルセッションを開始する処理であって、前記第1ノード上のアプリケーションに関連する前記処理のメモリ空間を前記抽出モジュールが開放する段階と、
    前記処理の前記メモリ空間内の前記暗号化プロトコルセッションにおける前記共有シークレットであって、前記第1ノードと前記第2ノードとの間で交換される情報に少なくとも部分的に基づいて、前記第1ノードにより演算された前記共有シークレットを、前記抽出モジュールにより特定する段階と、
    前記抽出モジュールにより、前記処理の前記メモリ空間から前記共有シークレットを抽出する段階と、
    前記第1ノードと前記第2ノードとの間のファイヤウォールに前記共有シークレットを送信する段階と
    を備える、方法。
  48. 前記処理の前記メモリ空間から前記共有シークレットを抽出すべく、アプリケーションプログラミングインタフェース(API)をインターセプトする段階をさらに備える、請求項47に記載の方法。
  49. 第1ノードで、抽出モジュールにより、前記第1ノードと第2ノードとの間のネットワークフローを、ネットワーク層で監視する段階と、
    前記第1ノードと前記第2ノードとの間の暗号化プロトコルセッションのハンドシェイクの開始を特定する段階と、
    前記開始を特定することに応答して、前記抽出モジュールが、前記暗号化プロトコルセッションを開始する処理であって、前記第1ノード上のアプリケーションに関連する前記処理のメモリ空間を開放する段階と、
    前記抽出モジュールにより、前記処理の前記メモリ空間内の前記暗号化プロトコルセッションにおける共有シークレットであって、前記第1ノードと前記第2ノードとの間で交換される情報に少なくとも部分的に基づいて、前記第1ノードにより演算された前記共有シークレットを特定する段階と、
    前記抽出モジュールにより、前記処理の前記メモリ空間から前記共有シークレットを抽出する段階と、
    前記第1ノードと前記第2ノードとの間のファイヤウォールに前記共有シークレットを送信する段階と
    をコンピュータに実行させるためのプログラム。
  50. 前記処理の前記メモリ空間から前記共有シークレットを抽出すべく、アプリケーションプログラミングインタフェース(API)をインターセプトする段階を前記コンピュータにさらに実行させる、請求項49に記載のプログラム。
  51. 前記共有シークレットは、アウトオブバンドチャネルを介して前記ファイヤウォールに送信される、請求項49または50に記載のプログラム。
  52. 前記抽出モジュールは、他のノード上で実行され、前記他のノード及び前記第1ノードは、別個のノード及び同じノードの一方である、請求項49から51のいずれか1つに記載のプログラム。
  53. 請求項1から7、18から20、38から46、49から51のいずれか1つに記載のプログラムを格納するコンピュータ可読記録媒体。
JP2015531353A 2012-10-19 2013-10-18 ネットワーク環境における暗号化データ検査 Active JP6006423B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/656,406 2012-10-19
US13/656,406 US9176838B2 (en) 2012-10-19 2012-10-19 Encrypted data inspection in a network environment
PCT/US2013/065680 WO2014063050A1 (en) 2012-10-19 2013-10-18 Encrypted data inspection in a network environment

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016175937A Division JP6407926B2 (ja) 2012-10-19 2016-09-08 ネットワーク環境における暗号化データ検査

Publications (2)

Publication Number Publication Date
JP2016500207A JP2016500207A (ja) 2016-01-07
JP6006423B2 true JP6006423B2 (ja) 2016-10-12

Family

ID=50486636

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2015531353A Active JP6006423B2 (ja) 2012-10-19 2013-10-18 ネットワーク環境における暗号化データ検査
JP2016175937A Active JP6407926B2 (ja) 2012-10-19 2016-09-08 ネットワーク環境における暗号化データ検査

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2016175937A Active JP6407926B2 (ja) 2012-10-19 2016-09-08 ネットワーク環境における暗号化データ検査

Country Status (6)

Country Link
US (2) US9176838B2 (ja)
EP (1) EP2909782B1 (ja)
JP (2) JP6006423B2 (ja)
KR (1) KR101662614B1 (ja)
CN (1) CN104662551B (ja)
WO (1) WO2014063050A1 (ja)

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8467527B2 (en) 2008-12-03 2013-06-18 Intel Corporation Efficient key derivation for end-to-end network security with traffic visibility
US9176838B2 (en) 2012-10-19 2015-11-03 Intel Corporation Encrypted data inspection in a network environment
TW201427366A (zh) * 2012-12-28 2014-07-01 Ibm 企業網路中為了資料外洩保護而解密檔案的方法與資訊裝置
US9298911B2 (en) 2013-03-15 2016-03-29 Intel Corporation Method, apparatus, system, and computer readable medium for providing apparatus security
US10270748B2 (en) 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
US9887983B2 (en) 2013-10-29 2018-02-06 Nok Nok Labs, Inc. Apparatus and method for implementing composite authenticators
US9367676B2 (en) 2013-03-22 2016-06-14 Nok Nok Labs, Inc. System and method for confirming location using supplemental sensor and/or location data
US9961077B2 (en) 2013-05-30 2018-05-01 Nok Nok Labs, Inc. System and method for biometric authentication with device attestation
WO2015128609A1 (en) 2014-02-28 2015-09-03 British Telecommunications Public Limited Company Profiling for malicious encrypted network traffic identification
EP3111614B1 (en) 2014-02-28 2018-04-18 British Telecommunications public limited company Malicious encrypted network traffic identification
WO2015128612A1 (en) * 2014-02-28 2015-09-03 British Telecommunications Public Limited Company Malicious encrypted traffic inhibitor
US9654469B1 (en) 2014-05-02 2017-05-16 Nok Nok Labs, Inc. Web-based user authentication techniques and applications
US9577999B1 (en) 2014-05-02 2017-02-21 Nok Nok Labs, Inc. Enhanced security for registration of authentication devices
US9413533B1 (en) 2014-05-02 2016-08-09 Nok Nok Labs, Inc. System and method for authorizing a new authenticator
US9584492B2 (en) * 2014-06-23 2017-02-28 Vmware, Inc. Cryptographic proxy service
US9875347B2 (en) 2014-07-31 2018-01-23 Nok Nok Labs, Inc. System and method for performing authentication using data analytics
US9455979B2 (en) 2014-07-31 2016-09-27 Nok Nok Labs, Inc. System and method for establishing trust using secure transmission protocols
US9749131B2 (en) 2014-07-31 2017-08-29 Nok Nok Labs, Inc. System and method for implementing a one-time-password using asymmetric cryptography
US10148630B2 (en) 2014-07-31 2018-12-04 Nok Nok Labs, Inc. System and method for implementing a hosted authentication service
US9736154B2 (en) 2014-09-16 2017-08-15 Nok Nok Labs, Inc. System and method for integrating an authentication service within a network architecture
JP6369554B2 (ja) * 2014-09-25 2018-08-08 日本電気株式会社 解析システム、解析方法、及び、解析プログラム
JP6369553B2 (ja) * 2014-09-25 2018-08-08 日本電気株式会社 解析システム、解析方法、及び、解析プログラム
JP6850530B2 (ja) * 2014-10-20 2021-03-31 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited セキュアセッションの確立と暗号化データ交換のためのコンピュータ利用システム及びコンピュータ利用方法
US9774631B2 (en) * 2014-10-29 2017-09-26 International Business Machines Corporation TLS connection abandoning
US10375112B2 (en) * 2014-11-19 2019-08-06 At&T Intellectual Property I, L.P. Method and apparatus for decryption of encrypted SSL data from packet traces
CN106031097A (zh) * 2015-01-14 2016-10-12 华为技术有限公司 业务处理方法及装置
WO2016146610A1 (en) 2015-03-17 2016-09-22 British Telecommunications Public Limited Company Malicious encrypted network traffic identification using fourier transform
CN107637041B (zh) 2015-03-17 2020-09-29 英国电讯有限公司 识别恶意加密网络流量的方法与系统以及计算机程序元件
US10110566B2 (en) * 2015-07-21 2018-10-23 Baffle, Inc. Systems and processes for executing private programs on untrusted computers
CN107005400B (zh) * 2015-08-25 2020-08-07 华为技术有限公司 业务处理方法及装置
US9942202B2 (en) * 2015-09-08 2018-04-10 Microsoft Technology Licensing, Llc Trust status of a communication session
US10462116B1 (en) * 2015-09-15 2019-10-29 Amazon Technologies, Inc. Detection of data exfiltration
US10218682B1 (en) * 2016-01-19 2019-02-26 Amazon Technologies, Inc. Secure network protocol cryptographic processing
US10127368B2 (en) 2016-03-01 2018-11-13 Filevine, Inc. Systems for identity validation and association
US10116630B2 (en) * 2016-04-04 2018-10-30 Bitdefender IPR Management Ltd. Systems and methods for decrypting network traffic in a virtualized environment
JP6699377B2 (ja) * 2016-06-09 2020-05-27 富士ゼロックス株式会社 通信データ中継装置及びプログラム
US10291600B2 (en) 2016-06-16 2019-05-14 International Business Machines Corporation Synchronizing secure session keys
US10291405B2 (en) 2016-07-15 2019-05-14 International Business Machines Corporation Seamless abort and reinstatement of TLS sessions
RU2756304C2 (ru) * 2016-07-28 2021-09-29 Конинклейке Филипс Н.В. Идентификация сетевого узла, на который будут реплицироваться данные
US10637853B2 (en) 2016-08-05 2020-04-28 Nok Nok Labs, Inc. Authentication techniques including speech and/or lip movement analysis
US10769635B2 (en) 2016-08-05 2020-09-08 Nok Nok Labs, Inc. Authentication techniques including speech and/or lip movement analysis
US10079810B1 (en) * 2016-09-30 2018-09-18 EMC IP Holding Company LLC Decryption and analysis of network traffic using key material collected from endpoint devices of a computer network
US10454961B2 (en) 2016-11-02 2019-10-22 Cujo LLC Extracting encryption metadata and terminating malicious connections using machine learning
US10091195B2 (en) 2016-12-31 2018-10-02 Nok Nok Labs, Inc. System and method for bootstrapping a user binding
US10237070B2 (en) 2016-12-31 2019-03-19 Nok Nok Labs, Inc. System and method for sharing keys across authenticators
DE102017202002A1 (de) 2017-02-08 2018-08-09 Siemens Aktiengesellschaft Verfahren und Computer zum kryptografischen Schützen von Steuerungskommunikation in und/oder Service-Zugang zu IT-Systemen, insbesondere im Zusammenhang mit der Diagnose und Konfiguration in einem Automatisierungs-, Steuerungs- oder Kontrollsystem
US10476673B2 (en) 2017-03-22 2019-11-12 Extrahop Networks, Inc. Managing session secrets for continuous packet capture systems
US10819749B2 (en) 2017-04-21 2020-10-27 Netskope, Inc. Reducing error in security enforcement by a network security system (NSS)
US10855694B2 (en) * 2017-05-30 2020-12-01 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems, and computer readable media for monitoring encrypted packet flows within a virtual network environment
US10542041B2 (en) * 2017-06-01 2020-01-21 International Business Machines Corporation Cacheless session ticket support in TLS inspection
US10903985B2 (en) 2017-08-25 2021-01-26 Keysight Technologies Singapore (Sales) Pte. Ltd. Monitoring encrypted network traffic flows in a virtual environment using dynamic session key acquisition techniques
US10992652B2 (en) * 2017-08-25 2021-04-27 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems, and computer readable media for monitoring encrypted network traffic flows
US10536268B2 (en) 2017-08-31 2020-01-14 Cisco Technology, Inc. Passive decryption on encrypted traffic to generate more accurate machine learning training data
JP6869859B2 (ja) * 2017-09-14 2021-05-12 Kddi株式会社 解析装置、監視システム、監視方法及び解析プログラム
US9967292B1 (en) 2017-10-25 2018-05-08 Extrahop Networks, Inc. Inline secret sharing
US10764328B2 (en) * 2017-11-03 2020-09-01 International Business Machines Corporation Altering cipher and key within an established session
JP6919523B2 (ja) * 2017-11-22 2021-08-18 大日本印刷株式会社 セキュアエレメント、クライアント端末、情報処理方法及び情報処理プログラム
US11868995B2 (en) 2017-11-27 2024-01-09 Nok Nok Labs, Inc. Extending a secure key storage for transaction confirmation and cryptocurrency
US10778642B2 (en) * 2017-12-23 2020-09-15 Mcafee, Llc Decrypting transport layer security traffic without man-in-the-middle proxy
US11831409B2 (en) 2018-01-12 2023-11-28 Nok Nok Labs, Inc. System and method for binding verifiable claims
US10389574B1 (en) 2018-02-07 2019-08-20 Extrahop Networks, Inc. Ranking alerts based on network monitoring
US10270794B1 (en) 2018-02-09 2019-04-23 Extrahop Networks, Inc. Detection of denial of service attacks
US10979404B2 (en) * 2018-03-29 2021-04-13 Paypal, Inc. Systems and methods for inspecting communication within an encrypted session
EP3588900B1 (en) * 2018-06-29 2022-10-05 AO Kaspersky Lab System and method of analyzing the content of encrypted network traffic
RU2706894C1 (ru) 2018-06-29 2019-11-21 Акционерное общество "Лаборатория Касперского" Система и способ анализа содержимого зашифрованного сетевого трафика
US10411978B1 (en) 2018-08-09 2019-09-10 Extrahop Networks, Inc. Correlating causes and effects associated with network activity
US10893030B2 (en) 2018-08-10 2021-01-12 Keysight Technologies, Inc. Methods, systems, and computer readable media for implementing bandwidth limitations on specific application traffic at a proxy element
US11310246B2 (en) * 2018-08-10 2022-04-19 Cisco Technology, Inc. Endpoint-assisted inspection of encrypted network traffic
WO2020073267A1 (en) * 2018-10-11 2020-04-16 Entit Software Llc Asymmetric-man-in-the-middle capture based application sharing protocol traffic recordation
US11063921B2 (en) * 2018-11-06 2021-07-13 International Business Machines Corporation Extracting data from passively captured web traffic that is encrypted in accordance with an anonymous key agreement protocol
CN111147134B (zh) * 2018-11-06 2021-09-14 中国电信股份有限公司 数据传输装置和方法、数据测试系统以及存储介质
US11025601B2 (en) * 2018-12-04 2021-06-01 Citrix Systems, Inc. System and apparatus for enhanced QOS, steering and policy enforcement for HTTPS traffic via intelligent inline path discovery of TLS terminating node
US11087179B2 (en) 2018-12-19 2021-08-10 Netskope, Inc. Multi-label classification of text documents
US11070363B1 (en) * 2018-12-21 2021-07-20 Mcafee, Llc Sharing cryptographic session keys among a cluster of network security platforms monitoring network traffic flows
US11386207B2 (en) 2019-01-30 2022-07-12 EMC IP Holding Company LLC Metadata-based floating code signature generation for endpoint devices of a computer network
US12041039B2 (en) 2019-02-28 2024-07-16 Nok Nok Labs, Inc. System and method for endorsing a new authenticator
US11019044B2 (en) * 2019-03-08 2021-05-25 Gigamon Inc. Correlating network flows through a proxy device
JP6821092B1 (ja) * 2019-03-11 2021-01-27 三菱電機株式会社 データ管理装置、データ管理システム、データ管理方法及びプログラム
US11792024B2 (en) 2019-03-29 2023-10-17 Nok Nok Labs, Inc. System and method for efficient challenge-response authentication
US10965702B2 (en) 2019-05-28 2021-03-30 Extrahop Networks, Inc. Detecting injection attacks using passive network monitoring
CN110545256A (zh) * 2019-07-15 2019-12-06 中移(杭州)信息技术有限公司 数据传输方法、系统、电子设备、中转服务器及存储介质
US11470065B2 (en) 2019-07-17 2022-10-11 Red Hat, Inc. Protection of private data using an enclave cluster
US10742530B1 (en) 2019-08-05 2020-08-11 Extrahop Networks, Inc. Correlating network traffic that crosses opaque endpoints
US11388072B2 (en) 2019-08-05 2022-07-12 Extrahop Networks, Inc. Correlating network traffic that crosses opaque endpoints
US10742677B1 (en) 2019-09-04 2020-08-11 Extrahop Networks, Inc. Automatic determination of user roles and asset types based on network monitoring
CN110995422B (zh) * 2019-11-29 2023-02-03 深信服科技股份有限公司 一种数据分析方法、系统、设备及计算机可读存储介质
US11165823B2 (en) 2019-12-17 2021-11-02 Extrahop Networks, Inc. Automated preemptive polymorphic deception
KR102713059B1 (ko) * 2019-12-18 2024-10-02 후아웨이 테크놀러지 컴퍼니 리미티드 네트워크 구성을 위한 보안 협상 실행
US11388146B2 (en) 2020-01-10 2022-07-12 Bitglass, Llc Secure low-latency trapdoor proxy
US11856022B2 (en) 2020-01-27 2023-12-26 Netskope, Inc. Metadata-based detection and prevention of phishing attacks
US11190417B2 (en) 2020-02-04 2021-11-30 Keysight Technologies, Inc. Methods, systems, and computer readable media for processing network flow metadata at a network packet broker
US11405369B1 (en) * 2020-03-25 2022-08-02 Amazon Technologies, Inc. Distributed encrypted session resumption
US11394563B2 (en) 2020-04-30 2022-07-19 Zscaler, Inc. Encrypted traffic inspection in a cloud-based security system
CN113630251B (zh) * 2020-05-08 2024-09-06 瞻博网络公司 使用签名后的统一资源定位符进行网络业务监测或存储
US11310256B2 (en) 2020-09-23 2022-04-19 Extrahop Networks, Inc. Monitoring encrypted network traffic
US11463466B2 (en) 2020-09-23 2022-10-04 Extrahop Networks, Inc. Monitoring encrypted network traffic
CN114553446B (zh) * 2020-11-10 2023-02-14 华为技术有限公司 网络安全防护方法以及防护设备
CN112291138B (zh) * 2020-11-16 2022-07-26 北京北信源软件股份有限公司 一种邮件数据审核方法、装置、电子设备及存储介质
CN113162764B (zh) * 2021-04-20 2022-10-18 河北布数智能科技有限公司 一种加密的网络握手方法
US11349861B1 (en) 2021-06-18 2022-05-31 Extrahop Networks, Inc. Identifying network entities based on beaconing activity
US11296967B1 (en) 2021-09-23 2022-04-05 Extrahop Networks, Inc. Combining passive network analysis and active probing
CN114143116B (zh) * 2022-01-29 2022-07-26 奇安信科技集团股份有限公司 加密流量分析方法、装置、电子设备、介质及程序
KR102460695B1 (ko) * 2022-02-24 2022-10-31 프라이빗테크놀로지 주식회사 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
US11843606B2 (en) 2022-03-30 2023-12-12 Extrahop Networks, Inc. Detecting abnormal data access based on data similarity

Family Cites Families (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835726A (en) * 1993-12-15 1998-11-10 Check Point Software Technologies Ltd. System for securing the flow of and selectively modifying packets in a computer network
JPH08204702A (ja) 1995-01-30 1996-08-09 Nec Corp 暗号鍵管理装置
US5974549A (en) * 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
US6167136A (en) 1997-05-16 2000-12-26 Software Security, Inc. Method for preventing copying of digital video disks
US6754820B1 (en) 2001-01-30 2004-06-22 Tecsec, Inc. Multiple level access system
US7055027B1 (en) * 1999-03-22 2006-05-30 Microsoft Corporation System and method for trusted inspection of a data stream
US6745385B1 (en) * 1999-09-01 2004-06-01 Microsoft Corporation Fixing incompatible applications by providing stubs for APIs
US20080192928A1 (en) 2000-01-06 2008-08-14 Super Talent Electronics, Inc. Portable Electronic Storage Devices with Hardware Security Based on Advanced Encryption Standard
US6983366B1 (en) 2000-02-14 2006-01-03 Safenet, Inc. Packet Processor
US6636838B1 (en) * 2000-02-23 2003-10-21 Sun Microsystems, Inc. Content screening with end-to-end encryption
US6546486B1 (en) * 2000-02-23 2003-04-08 Sun Microsystems, Inc. Content screening with end-to-end encryption within a firewall
US7231517B1 (en) 2000-03-03 2007-06-12 Novell, Inc. Apparatus and method for automatically authenticating a network client
JP3864675B2 (ja) 2000-03-09 2007-01-10 株式会社日立製作所 共通鍵暗号装置
US7093126B1 (en) 2000-04-14 2006-08-15 International Business Machines Corporation Encryption schemes with almost free integrity awareness
US6963976B1 (en) 2000-11-03 2005-11-08 International Business Machines Corporation Symmetric key authenticated encryption schemes
US7350076B1 (en) * 2001-05-16 2008-03-25 3Com Corporation Scheme for device and user authentication with key distribution in a wireless network
US7516485B1 (en) * 2001-05-29 2009-04-07 Nortel Networks Limited Method and apparatus for securely transmitting encrypted data through a firewall and for monitoring user traffic
US7266703B2 (en) 2001-06-13 2007-09-04 Itt Manufacturing Enterprises, Inc. Single-pass cryptographic processor and method
US7900042B2 (en) 2001-06-26 2011-03-01 Ncipher Corporation Limited Encrypted packet inspection
US20030097409A1 (en) * 2001-10-05 2003-05-22 Hungchou Tsai Systems and methods for securing computers
US7281128B2 (en) 2001-10-22 2007-10-09 Extended Systems, Inc. One pass security
WO2003051056A1 (en) 2001-12-10 2003-06-19 International Business Machines Corporation Access to encrypted broadcast content
US20030131245A1 (en) * 2002-01-04 2003-07-10 Michael Linderman Communication security system
US7188365B2 (en) * 2002-04-04 2007-03-06 At&T Corp. Method and system for securely scanning network traffic
US7487365B2 (en) 2002-04-17 2009-02-03 Microsoft Corporation Saving and retrieving data based on symmetric key encryption
US20030200463A1 (en) * 2002-04-23 2003-10-23 Mccabe Alan Jason Inter-autonomous system weighstation
US7590844B1 (en) * 2002-04-26 2009-09-15 Mcafee, Inc. Decryption system and method for network analyzers and security programs
US7007163B2 (en) 2002-05-31 2006-02-28 Broadcom Corporation Methods and apparatus for accelerating secure session processing
US7475241B2 (en) 2002-11-22 2009-01-06 Cisco Technology, Inc. Methods and apparatus for dynamic session key generation and rekeying in mobile IP
US20040202317A1 (en) 2002-12-20 2004-10-14 Victor Demjanenko Advanced encryption standard (AES) implementation as an instruction set extension
US7263614B2 (en) * 2002-12-31 2007-08-28 Aol Llc Implicit access for communications pathway
US8245032B2 (en) * 2003-03-27 2012-08-14 Avaya Inc. Method to authenticate packet payloads
US20040210663A1 (en) * 2003-04-15 2004-10-21 Paul Phillips Object-aware transport-layer network processing engine
US7543142B2 (en) 2003-12-19 2009-06-02 Intel Corporation Method and apparatus for performing an authentication after cipher operation in a network processor
US7346773B2 (en) 2004-01-12 2008-03-18 Cisco Technology, Inc. Enabling stateless server-based pre-shared secrets
US7685434B2 (en) 2004-03-02 2010-03-23 Advanced Micro Devices, Inc. Two parallel engines for high speed transmit IPsec processing
US7490350B1 (en) 2004-03-12 2009-02-10 Sca Technica, Inc. Achieving high assurance connectivity on computing devices and defeating blended hacking attacks
US8015211B2 (en) 2004-04-21 2011-09-06 Architecture Technology Corporation Secure peer-to-peer object storage system
EP1746791A1 (en) * 2004-05-12 2007-01-24 Nippon Telegraph and Telephone Corporation Network attack combating method, network attack combating device and network attack combating program
US7657940B2 (en) * 2004-10-28 2010-02-02 Cisco Technology, Inc. System for SSL re-encryption after load balance
US7797745B2 (en) 2004-12-22 2010-09-14 Electronics And Telecommunications Research Institute MAC security entity for link security entity and transmitting and receiving method therefor
US7657737B2 (en) * 2005-02-28 2010-02-02 International Business Machines Corporation Method for mapping an encrypted https network packet to a specific url name and other data without decryption outside of a secure web server
US20070180227A1 (en) 2005-03-01 2007-08-02 Matsushita Electric Works, Ltd. Decryption apparatus for use in encrypted communications
CN100550725C (zh) 2005-06-17 2009-10-14 中兴通讯股份有限公司 一种用户与应用服务器协商共享密钥的方法
GB0517303D0 (en) * 2005-08-23 2005-10-05 Netronome Systems Inc System and method for processing secure transmissions
JP4648148B2 (ja) * 2005-09-30 2011-03-09 富士通株式会社 接続支援装置
US7725719B2 (en) 2005-11-08 2010-05-25 International Business Machines Corporation Method and system for generating ciphertext and message authentication codes utilizing shared hardware
DE102006008752B4 (de) 2006-02-24 2012-11-29 Smiths Medical Deutschland Gmbh Verfahren zum Herstellen einer Komponente einer Fluiddruckmesseinheit, Verfahren zum Herstellen einer Fluiddruckmesseinheit, Komponente zum Einsatz in einer Fluiddruckmesseinheit sowie Fluiddruckmesseinheit
US8832449B2 (en) 2006-03-22 2014-09-09 Lg Electronics Inc. Security considerations for the LTE of UMTS
US20070240212A1 (en) * 2006-03-30 2007-10-11 Check Point Software Technologies, Inc. System and Methodology Protecting Against Key Logger Spyware
JP4810289B2 (ja) 2006-04-17 2011-11-09 ルネサスエレクトロニクス株式会社 メッセージ認証子生成装置、メッセージ認証子検証装置、及びメッセージ認証システム
US7913084B2 (en) 2006-05-26 2011-03-22 Microsoft Corporation Policy driven, credential delegation for single sign on and secure access to network resources
US8107397B1 (en) 2006-06-05 2012-01-31 Purdue Research Foundation Protocol for secure and energy-efficient reprogramming of wireless multi-hop sensor networks
JP4863777B2 (ja) * 2006-06-07 2012-01-25 富士通株式会社 通信処理方法及びコンピュータ・システム
JP4994741B2 (ja) * 2006-08-08 2012-08-08 キヤノン株式会社 通信暗号化処理装置
US8352728B2 (en) * 2006-08-21 2013-01-08 Citrix Systems, Inc. Systems and methods for bulk encryption and decryption of transmitted data
EP2115569A1 (en) * 2007-01-26 2009-11-11 Verdasys, Inc. Ensuring trusted transactions with compromised customer machines
JP2008219454A (ja) 2007-03-05 2008-09-18 Hitachi Ltd 通信内容監査支援システム
CN101043335A (zh) 2007-03-12 2007-09-26 中国建设银行股份有限公司 一种信息安全控制系统
US9209967B2 (en) 2007-03-12 2015-12-08 Exelis, Inc. Precalculated encryption key
US8467527B2 (en) 2008-12-03 2013-06-18 Intel Corporation Efficient key derivation for end-to-end network security with traffic visibility
US20090119510A1 (en) 2007-11-06 2009-05-07 Men Long End-to-end network security with traffic visibility
US20080244268A1 (en) 2007-03-30 2008-10-02 David Durham End-to-end network security with traffic visibility
US9319220B2 (en) 2007-03-30 2016-04-19 Intel Corporation Method and apparatus for secure network enclaves
US8549282B2 (en) * 2007-06-22 2013-10-01 Trend Micro Incorporated Method and system for monitoring encrypted data transmissions
CN101335621B (zh) 2007-06-26 2011-03-16 中国科学院声学研究所 一种802.11i密钥管理方法
US8255931B2 (en) * 2008-02-11 2012-08-28 Blue Coat Systems, Inc. Method for implementing ejection-safe API interception
US8194854B2 (en) 2008-02-27 2012-06-05 Intel Corporation Method and apparatus for optimizing advanced encryption standard (AES) encryption and decryption in parallel modes of operation
US8788805B2 (en) * 2008-02-29 2014-07-22 Cisco Technology, Inc. Application-level service access to encrypted data streams
US20110055585A1 (en) 2008-07-25 2011-03-03 Kok-Wah Lee Methods and Systems to Create Big Memorizable Secrets and Their Applications in Information Engineering
US8051287B2 (en) 2008-10-15 2011-11-01 Adobe Systems Incorporated Imparting real-time priority-based network communications in an encrypted communication session
CN101783791B (zh) * 2009-01-16 2012-10-10 深圳市维信联合科技有限公司 实现网络接入认证、传输加密、utm的系统及方法
CN101807998A (zh) 2009-02-13 2010-08-18 英飞凌科技股份有限公司 认证
US8914878B2 (en) * 2009-04-29 2014-12-16 Juniper Networks, Inc. Detecting malicious network software agents
US8370920B2 (en) * 2009-10-28 2013-02-05 Aunigma Network Security Corp. System and method for providing unified transport and security protocols
CN101795271B (zh) * 2010-01-20 2012-10-31 西安电子科技大学 网络安全打印系统及打印方法
US8856317B2 (en) * 2010-07-15 2014-10-07 Cisco Technology, Inc. Secure data transfer in a virtual environment
US8694779B2 (en) 2010-08-13 2014-04-08 Bmc Software, Inc. Monitoring based on client perspective
CN101980500B (zh) * 2010-11-08 2013-11-13 中国电信股份有限公司 基于数字签名的点对点流量控制方法与系统
US8649275B2 (en) * 2011-01-19 2014-02-11 Ixia Fast SSL testing using precalculated cryptographyc data
JP2012213036A (ja) * 2011-03-31 2012-11-01 Panasonic Corp 通信装置及び通信システム
US8763106B2 (en) * 2011-09-08 2014-06-24 Mcafee, Inc. Application state sharing in a firewall cluster
US8800024B2 (en) * 2011-10-17 2014-08-05 Mcafee, Inc. System and method for host-initiated firewall discovery in a network environment
US9176838B2 (en) 2012-10-19 2015-11-03 Intel Corporation Encrypted data inspection in a network environment

Also Published As

Publication number Publication date
US20160173288A1 (en) 2016-06-16
KR101662614B1 (ko) 2016-10-14
JP2017022751A (ja) 2017-01-26
EP2909782A4 (en) 2016-06-29
EP2909782A1 (en) 2015-08-26
US9893897B2 (en) 2018-02-13
JP6407926B2 (ja) 2018-10-17
CN104662551A (zh) 2015-05-27
US9176838B2 (en) 2015-11-03
CN104662551B (zh) 2017-09-15
EP2909782B1 (en) 2018-11-21
KR20150046176A (ko) 2015-04-29
US20140115702A1 (en) 2014-04-24
JP2016500207A (ja) 2016-01-07
WO2014063050A1 (en) 2014-04-24

Similar Documents

Publication Publication Date Title
JP6407926B2 (ja) ネットワーク環境における暗号化データ検査
US10652210B2 (en) System and method for redirected firewall discovery in a network environment
US11805097B2 (en) Decrypting transport layer security traffic without Man-in-the-Middle proxy
JP6175520B2 (ja) コンピュータプログラム、処理方法及びネットワークゲートウェイ
US8800024B2 (en) System and method for host-initiated firewall discovery in a network environment
US10469533B2 (en) Controlling and auditing SFTP file transfers
CN110622482A (zh) Tls检查中的无高速缓存会话票证支持
Liu et al. Building generic scalable middlebox services over encrypted protocols
Liu et al. SplitPass: a mutually distrusting two-party password manager

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160628

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160908

R150 Certificate of patent or registration of utility model

Ref document number: 6006423

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250