JP7232827B2 - 確立したセッション内で暗号および鍵を変更するための方法およびシステム(確立したセッション内での暗号および鍵の変更) - Google Patents

確立したセッション内で暗号および鍵を変更するための方法およびシステム(確立したセッション内での暗号および鍵の変更) Download PDF

Info

Publication number
JP7232827B2
JP7232827B2 JP2020521398A JP2020521398A JP7232827B2 JP 7232827 B2 JP7232827 B2 JP 7232827B2 JP 2020521398 A JP2020521398 A JP 2020521398A JP 2020521398 A JP2020521398 A JP 2020521398A JP 7232827 B2 JP7232827 B2 JP 7232827B2
Authority
JP
Japan
Prior art keywords
cipher
server
client
session
suites
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
JP2020521398A
Other languages
English (en)
Other versions
JP2021502014A (ja
Inventor
プナディカル、サーシン、カンドラカン
ソラ、プスカラ、バラサヘブ
エダ、サシカンス
パティル、サンディープ、ラメッシュ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2021502014A publication Critical patent/JP2021502014A/ja
Application granted granted Critical
Publication of JP7232827B2 publication Critical patent/JP7232827B2/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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)

Description

本発明は、セキュアな通信に関し、より詳細にはネットワーク上でのセキュアな通信に関する。
セキュア・ソケット・レイヤ(SSL)接続は、ハンドシェイクとデータ転送との2つのフェーズを有している。暗号アルゴリズムの取り決めおよび対称な暗号化鍵交換をセットアップするためのハンドシェイクの間、非対称な鍵暗号化アルゴリズムが使用される。データ転送フェーズの間、所与の暗号アルゴリズムで、取り決められた(agree upon)鍵で接続が確立され、次いで接続を共有するデバイス間で暗号化されたデータを交換することができる。
本発明の実施形態によると、暗号化されたリンクを複数の暗号により確立する方法が本明細書で説明される。セキュアなセッションを確立する際のハンドシェイク・プロトコルの間に、クライアントによって暗号スイートの少なくとも2つのセットがサーバに送信される。次に、暗号スイートの少なくとも2つのセットのそれぞれのセット用の選択暗号スイート(choice cipher suite)を、クライアントによってサーバから受信することができる。クライアントは、サーバから受信した選択暗号スイートの中から、第1の選択暗号スイートを選択する。クライアントは、第1の選択暗号スイートを使用しサーバとの接続を確立して、接続を暗号化する。
本発明の実施形態によると、暗号化されたリンクを複数の暗号により確立する方法が本明細書で説明される。サーバは、ハンドシェイクの間に、暗号スイートの少なくとも2つのセットをクライアントから受信する。選択暗号スイートは暗号スイートの少なくとも2つのセットのそれぞれのセットについて選択される。選択暗号スイートがクライアントに送信される。第1の選択暗号スイートを使用し接続を確立して、接続を暗号化する。
コンピューティング・システムおよびコンピュータ・プログラム製品は、本開示の方法および構造を具体化することができる。コンピューティング・システムは、ネットワークと、暗号スイートを記憶するよう構成されたメモリと、メモリと通信するプロセッサとを備えることができる。コンピューティング・システムは方法を実施するように構成することができる。
上述の概要は、本発明の例示された各実施形態またはあらゆる実装形態を説明することを意図されていない。
本明細書の図面は本明細書に組み込まれ、また本明細書の一部を形成する。図面は本発明の実施形態を例示しており、説明と共に本発明の原理を説明するよう機能する。図面は本発明の特定の実施形態を例示するに過ぎず、本開示を限定するものではない。
本発明の実施形態による、複数の暗号でセキュアなリンクを確立するための例示のシステムのブロック図である。 本発明の実施形態による、SSL接続のライフタイムの一例の図である。 本発明の実施形態による、SSLのハンドシェイク・プロトコルの一例の図である。 本発明の実施形態による、暗号化されたリンクを開始するための、クライアント側デバイス用のプロセス例のフローチャートである。 本発明の実施形態による、暗号化されたリンクを開始するための、サーバ側デバイス用のプロセス例のフローチャートである。 本発明の実施形態による、本明細書で説明される方法またはモジュール、および任意の関連の機能または動作のうち1つまたは複数を実装する際に使用されるコンピュータ・システム例の高次ブロック図である。
本発明は様々な変更形態および代替的な形態に従う一方、その具体例は図面に例として示してあり、詳細に説明される。しかしながら、本発明は、説明された特定の実施形態に限定されることを意図されていないことが理解されるべきである。逆に、本発明の範囲に入るすべての変更形態、均等物、および代替形態をカバーすることを意図されている。
本発明の態様は、セキュアな通信に関し、より詳細な態様はネットワーク上のセキュアな通信に関する。本発明は必ずしもそのような用途に限定されないが、本発明の様々な態様はこのコンテキストを使用して様々な例の議論を通じて理解することができる。
セキュア・ソケット・レイヤ(SSL)プロトコル、およびトランスポート層セキュリティ(TLS)などの他の類似の通信セキュリティ・プロトコルは、ネットワーク通信をセキュアにするために対称および非対称の鍵アルゴリズムの組合せを使用する。非対称な鍵暗号化アルゴリズムは、セッションを確立して参加者(例えば、クライアントおよびサーバ)を認証するために使用することができる。さらには、暗号化された通信は、参加者によって取り決められた暗号アルゴリズムと関連の対称な暗号化鍵とを使用する。それぞれのセッションは、単一の取り決められた暗号スイート(暗号化アルゴリズムと関連付けられる暗号化鍵との組合せ)を使用して確立される。新しい暗号と鍵との組合せを選択することが望ましくなってゆく場合、既存のセッションは閉じられ、新しい暗号および鍵を選択する際に支援するように修正された設定情報を有する新しいハンドシェイクで、新しいセッションが開始されなければならない。
使用中の暗号と鍵との組合せを変更する1つの理由は、モバイル・デバイスのバッテリー寿命を節約することである。セキュアな通信がデータを保護するために一般的に好ましいことがある一方で、これらのプロトコルは電力供給上とても消耗が多く(draining)なり得る。デバイスはバッテリーを保存するために、セキュアなセッションを閉じ、セキュリティの低い暗号および鍵を用いて新しいセッションを開始するほうを選ぶことがある。しかしながら、それぞれのセッションを確立することは非対称鍵の暗号化/復号を必要とするため、所与の動作のための複数のセッションを確立することは、プロセッサ使用量およびプロセスに必要な合計時間の観点から、コスト高である。
固定された暗号化(暗号と鍵との組合せ)により単一セッションを維持することは、それ自体のコストがかかる。「強力な」暗号化が使用される場合、プロセッサ使用量および必要な時間は相当なものである。中程度または弱い暗号化が使用される場合、データはセキュリティの脅威にさらされることがある。
本明細書に提供されるのは、複数の暗号スイートおよび関連付けられる暗号化鍵により暗号化されたリンクを提供するためのシステム、方法、およびコンピュータ・プログラム製品である。デバイスが複数の暗号および鍵によりセッションを確立できるようにすることによって、セッションの暗号化の強度は、使用中の暗号を変更することにより変えられて、新しいセッションを初期化することなく電力使用量を最適化することができる。
本明細書で説明されるのは、メモリおよびプロセッサを含むシステムである。メモリは、暗号スイートの2つ以上のセットを含む。プロセッサはメモリと通信しており、セキュアなセッションを確立することによるなどして、セキュアな通信を実施するよう構成することができる。通信をセキュアなものにするためにプロセッサによって使用される方法は、下記に説明されるようなものとしうる。
本明細書に説明されるように、セキュアな通信リンクを確立する方法は、一般的にクライアントとサーバとの間で行われ得る。本発明の実施形態において、クライアントは、サーバへ「hello」メッセージを送信することにより、ハンドシェイクを介してセキュアな接続の確立を開始することができる。ハンドシェイクの間に、クライアントは暗号スイートの2つ以上の異なるセットをサーバに送信する。暗号スイートのそれぞれのセットは、異なるレベルのセキュリティを表現することがある。例えば、クライアントは、スループットのスイートのセットとセキュアのスイートのセットとの2つの暗号スイートを、サーバに送信することができる。本発明の実施形態において、クライアントはまた、スイートの第3のセット、例えばスイートの中間セットなどを送信することがある。
次いで、クライアントは、送信された暗号スイートのセットに応答して、暗号スイートの少なくとも2つのセットの各セットについての選択暗号スイートを、サーバから受信する。選択暗号スイートは一般的に、サーバがそれ自体の設定に最も適していると見出した各セットにあるスイートであり得る。例えば、上述のようにサーバが、クライアントから暗号スイートの2つのセット、すなわちスループットのセットとセキュアのセットとを受信する場合、サーバは、2つの選択スイート、すなわち選択スループット暗号スイートと選択セキュア暗号スイートとをクライアントに選択して返すことになる。サーバは、所定のパラメータのセット、例えばサーバ自体の設定ファイルに従って、選択スループット暗号スイートおよび選択セキュア暗号スイートのそれぞれを選択する。実施形態において、サーバは、選択暗号スイートを送信する際にサーバ鍵交換を含むことができるか、またはクライアント証明書のリクエストをサブミットすることができるか、あるいはその両方である。
それぞれのセットについてサーバの選択スイートを受信した後、クライアントは、サーバによって識別された2つ以上の選択暗号スイートの中から第1の暗号スイートを選択するよう進むことができる。第1の暗号スイートは一般的に、サーバに転送されるクライアント・データの第1の部分について、適切なセキュリティのレベルに従って選ぶことができる。例えば、クライアントが転送したいデータの第1の部分が慎重を要するデータである場合、クライアントは、サーバによって第1の暗号スイートとして識別された2つ以上の選択暗号スイートの中から最もセキュアな暗号スイートを選択することができる。第1の暗号スイートが選択されると、クライアントは、暗号化されたリンクを、変更暗号プロトコル(change cipher protocol)を使用して暗号化/復号するために第1の暗号スイートを使用するよう、サーバに知らせることができる。クライアントは、接続を暗号化するための第1の暗号スイートを使用することにより、サーバとのセキュアな接続の確立を終了することができる。クライアントは、追加的に、変更暗号プロトコルに先立ってサーバとの鍵交換に参加することができる。クライアントは、クライアントの証明書のサーバ・リクエストに応答して、サーバにクライアント証明書をサブミットすることができ、追加的に証明書の確認を実施することができる。実施形態において、クライアント、サーバ、または任意の送信デバイスは、暗号化されたリンクを暗号化するために使用される選択暗号スイートのうち1つを選択し、変更暗号プロトコルを使用して、現在使用中の暗号を変更することができる。
本発明の実施形態において、第2の選択暗号スイートを選択することができる。第2の選択暗号スイートは、第1の選択暗号スイートとして選択されたものではない任意の選択暗号スイートであってもよい。例えば、クライアントが、暗号スイートの2つのセット、すなわちセキュアのセットとスループットのセットとを送信する場合、クライアントは、サーバから2つの選択スイート、すなわち選択セキュア・スイートと選択スループット・スイートとを受信する。クライアントが、転送されるクライアント・データの第1の部分に適しているとして、選択セキュア・スイートを第1の選択スイートとして選択するものの、後にセキュリティの低いデータを転送する場合、次にクライアントは、選択スループット・スイートを選択し、変更暗号プロトコルを使用して、リンクを暗号化するのに使用される暗号を選択セキュア・スイートから選択スループット・スイートに変更してもよい。
第2の選択暗号スイートが選択されると、クライアントは、第2の選択暗号スイートを使用してサーバとの変更暗号プロトコルを開始することができる。それに応答して、クライアントは、変更暗号プロトコルが完了したとの指標をサーバから受信する。クライアントは、この指標を受信すると、暗号化のための第2の選択暗号スイートによる送信を始めることができる。
本発明の実施形態において、サーバまたは他の受信デバイスは、ハンドシェイクの間に、クライアントから暗号スイートの少なくとも2つのセットを受信する。サーバは、暗号スイートの少なくとも2つのセットの各セットについて選択暗号スイートを選択する。サーバは、サーバ自体の設定に従って選択暗号スイートを選択すること、その設定に最適な各セットにおけるスイートを選択することができる。サーバは、サーバ自体の設定に最適な1つまたは複数の暗号スイートを含む設定ファイルを参照することができる。サーバは、選択暗号スイートをクライアントに送信する。次にサーバは、クライアントと共にセキュアな接続の確立に参加し、その際にクライアントは、接続を暗号化するためにクライアントまたは他の送信デバイスによって選択された第1の選択暗号スイートを使用する。本発明の実施形態において、サーバは、サーバとのセキュアな接続を確立する際にクライアント鍵交換を受信することができる。第1の選択暗号スイートは、変更暗号プロトコルを使用して確立することができる。
本発明の実施形態において、サーバは、クライアントまたは他の送信デバイスから、第2の選択暗号スイートを確立する変更暗号プロトコルを受信することができる。それに応じて、サーバまたは受信デバイスは、変更暗号プロトコルを使用して、第2の選択暗号スイートを初期化することができる。サーバは、変更暗号プロトコルが完了したという指標を、クライアントに送信することができる。次いでサーバは、第2の選択暗号スイートを使用して暗号化されたデータを送受信することができる。実施形態において、サーバはまた、変更暗号プロトコルを使用して、取り決められた暗号のうちの1つをサブミットすることによりセッションの暗号化を変更することができる。
次に図1を参照すると、本発明の実施形態による、複数の暗号によりセキュアなリンクを確立するための例示のシステム100のブロック図が描かれている。限定されないが、ネットワーク・リンクを介して接続される3つ以上のデバイスを有するシステムを含めて、他のあり得る編成/設定が可能であることから、図1にあるような2つのコンピュータ112A、112Bとしてシステム100の図示された編成は非限定的であることを理解されたい。
システム100はネットワーク・リンク114を介して通信する2つのコンピュータ112Aおよび112Bを描いている。コンピュータ112A、112Bのそれぞれは、ネットワーク・プロトコルを含むネットワーク層110A、110Bを含み、ネットワーク・リンク114を有効にし、かつサポートしている。ネットワーク・プロトコルはアドレッシング、ルーティング、およびトラフィック制御を含むことができる。
コンピュータ112A、112Bのそれぞれは、主にInternet Protocol(IP)およびIPアドレスに関するデータ・パケットの適切な取り扱いに関係しているインターネット層108A、108Bを含む。
コンピュータ112A、112Bのそれぞれは、トランスポート層106A、106Bを含む。トランスポート層106A、106Bは一般的にはネットワーク上のポイント間のデータ・セグメントの送信を担当することができる。この役割にはセグメント化、確認応答、および多重化が含まれ得る。
コンピュータ112A、112Bのそれぞれは、主に認証メカニズムに関係し得るセキュリティ層104A、104Bを含む。実施形態において、本明細書で説明される方法はセキュリティ層104A、104Bによって実行することができる。
コンピュータ112A、112Bのそれぞれは、アプリケーション層102A、102Bを含む。アプリケーション層は、リソース共有およびリモート・ファイル・アクセスなどの高次のアプリケーション・プログラミング・インターフェースを含むことができる。
次に図2を参照すると、本発明の実施形態による、SSL接続のライフタイム200の例が描かれている。この例では、接続のライフタイム200はホストA212からホストB214に向かうものとして示されている。最初のハンドシェイクおよび暗号ネゴシエーションの後、ホストB214はホストB214からホストA212への同一の通信チャネル上で独立的にデータおよび暗号変更を送信することができることを理解されたい。同様に、本発明の実施形態において、ホストB214はハンドシェイクおよび暗号ネゴシエーションを開始することができる。
202において、ホストA212は、ハンドシェイクおよび複数の暗号ネゴシエーションを開始することにより接続を開始する。この例の開始デバイスであるホストA212は、この例の受信デバイスであるホストB214にデータ・パケットを送信することにより、202でハンドシェイクを開始することができる。本発明の実施形態において、ホストA212はブラウザであってもよく、ホストB214はhttpサーバであってもよい。ホストA212は、ハンドシェイクの間に、暗号スイートの2つ以上のセットをホストB214にサブミットすることにより、複数の暗号ネゴシエーションをさらに開始することができる。暗号スイートのセットは、提供されるセキュリティの程度によって編成することができるか、または本発明の実施形態において、セットにランダムにソートしてもよい。例えば、ホストA212は、それぞれが高セキュリティの暗号化を含む暗号スイートの2つのセットをサブミットすることができる。このように、ホストA212は、6つの高セキュリティ暗号スイートを含むことができるか、また6つの高セキュリティのスイートを3つのスイートの2つのセットにランダムに編成することができる。暗号スイートを2つのセットでホストB214にサブミットすることにより、ホストA212は、ホストB214に、ホストA212が2つの高セキュリティ暗号化をネゴシエートしてセッション中で使用しようとしていることを知らせる。実施形態において、ホストA212は、セット内の暗号スイートを優先順位の順でサブミットすることができる。ホストB214は、サーバがサポート可能と判断したそれぞれのセット内で第1のスイートを選択することにより、ホストA212の優先順に重み付けすることができる。
204において、ホストA212は、変更暗号プロトコルを使用して第1の暗号をセットする。206において、ホストA212は、第1の暗号を使用してホストB214にデータを転送する。
208において、ホストA212は、第2の暗号をセットするために変更暗号プロトコルを使用することにより暗号を変更する。208において、ホストA212は、現在の暗号化でのセキュリティ・リスクを検出したことに応答して暗号を変更することができるか、または定期的なもしくはランダムな間隔で暗号を変更することができる。上の例のように、ハンドシェイクの間に複数の高セキュリティのスイートが取り決められる場合、使用中の暗号化はセッションのセキュリティを高めるために交代することができる。
次に210において、ホストA212は、第2の暗号を使用して、データをホストB214に転送することができる。
ホストB214がホストA212から第2の暗号を含む変更暗号プロトコルのパケットを受信すると、ホストB214は、受信される後続のデータが第2の暗号で暗号化されると判断することができる。まず、ホストB214は、第2の暗号を初期化する前に、復号のために第1の暗号を使用して、その読み取り保留バッファ内のすべてのデータを読み取ることができる。実施形態において、ホストB214は、読み取り保留バッファ内のデータを復号するために、第1および第2の暗号のそれぞれを試行することができる。
次に図3を参照すると、本発明の実施形態による、クライアント302とサーバ304との間のSSLハンドシェイク・プロトコルの例が描かれている。限定されないが、プロトコルまたはプロトコルの一部、例えば変更暗号プロトコルを開始するサーバ304を含めて、他の可能な編成/設定が可能であることから、クライアント302からサーバ304へ向けられるものとして描かれるプロトコルの編成は、非限定的であることを理解されたい。
クライアント302または他の送信デバイスは、クライアント「hello」メッセージ306を使用してハンドシェイクおよび複数の暗号ネゴシエーションを開始する。クライアント「Hello」メッセージは、2つ以上の暗号セットを含むことができ、暗号セットは、与えられた異なるセキュリティ・レベルに従って暗号スイートをセット内にソートさせることができる。スイートはセットごとに優先順位の順で一覧にすることができる。
サーバ304または他の受信デバイスは、サーバ「hello」メッセージ308に応答する。サーバ「hello」メッセージ308は、クライアント「hello」メッセージ306内でクライアントによってサブミットされたそれぞれのセットから、開始された暗号化されたリンクのセッション中に使用するためにサーバによって選択された、選択暗号スイートを含むことができる。本発明の実施形態において、サーバ「hello」メッセージ308は、任意選択でクライアント証明書のリクエストを含むことができる。サーバ「hello」メッセージ308は、選択された暗号スイートのそれぞれについてサーバ鍵交換を含むことができる。
クライアント「hello」メッセージ306およびサーバ「hello」メッセージ308は共に、ハンドシェイク・プロトコルの第1のフェーズを含むことができる。このフェーズの間に、クライアント302およびサーバ304のそれぞれは、各自の「hello」メッセージに含まれているパケットを介してデータを互いに交換することができる。クライアントとサーバは、セキュリティ機能(プロトコルのバージョンを含む)、セッションID、暗号スイート、圧縮方法、および最初の乱数の確立に関するパケットを交換することができる。
本発明の実施形態において、サーバ304はまた、サーバ「hello done」メッセージ310を与えることができる。
サーバ「hello done」メッセージ310は、ハンドシェイク・プロトコルの第2のフェーズを含むことができる。実施形態において、第2のフェーズは、サーバ証明書メッセージ、サーバ鍵交換、およびクライアント証明書のサーバ・リクエストをさらに含むことができる。
本発明の実施形態において、クライアント302は、例えばサーバによってリクエストされる場合、任意選択でクライアント証明書メッセージ312を与えることができる。
クライアント302およびサーバ304は、一連の鍵交換に参加し、1つの鍵交換は、サーバによって選択されたそれぞれの暗号スイートについてである。プロトコル内に提示される例では、スループット鍵交換314、セキュリティ鍵交換316、および中間鍵交換318、の3つの鍵交換がある。鍵交換の数は、プロトコルのフェーズ1の間にクライアント302によってサブミットされた暗号スイートのセットの数に従って、決定される。交換される鍵は、サーバとクライアントの両方に共通している。
本発明の実施形態において、クライアント302は、任意選択でクライアント証明書確認メッセージ320を与えることができる。
クライアント証明書メッセージ312、鍵交換314、316、318、およびクライアント証明書確認メッセージ320は、プロトコルの第3のフェーズを含むことができる。
クライアント302は、変更暗号プロトコルのメッセージ322を使用して、暗号化のための最初の選択暗号スイートを選択することができる。最初の選択暗号スイートは、サーバ304に転送されるデータの第1の部分の保護必要度に従って、クライアント302によって選択することができる。
サーバ304は、選択された暗号スイートを初期化し、変更暗号プロトコルのメッセージ324を使用して、サーバ304が最初の選択暗号スイートで暗号化されたデータを受信するよう準備されたことをクライアント302にアラートする。
本発明の実施形態において、変更暗号プロトコルのメッセージ322および324は、プロトコルの第4のフェーズであり得る。クライアント302およびサーバ304のそれぞれは、各自の変更暗号プロトコルの部分を完了した後、「finished」メッセージを追加的に与えることができる。ハンドシェイク・プロトコルはこの第4のフェーズの間に完了することができる。
次いで、クライアント302およびサーバ304は、選択された暗号スイートを使用してデータ転送326用の暗号化されたリンクを使用することができる。実施形態において、クライアント302およびサーバ304のそれぞれは、変更暗号プロトコルと、ハンドシェイクの間に取り決められた選択暗号スイートのうちの1つとをサブミットすることにより、セッションの暗号化を変更することができる。
本発明の実施形態において、セッション接続はいったん確立されると双方向のものになり得る。サーバ304およびクライアント302のそれぞれは、互いにデータを送信することができ、それぞれはデータを同時に送信および受信の両方ともできる。送信側として作用する場合、それぞれは変更暗号プロトコルを独立的に実行し、転送されるデータについて取り決められた暗号のうちの1つを選択することができる。この方法では、チャネル上には2つの異なる暗号があり得、1つはサーバからクライアントへのリンク上に、もう一方はクライアントからサーバへのリンク上にある。
データ転送326に続いて、クライアント302およびサーバ304は、別の変更暗号プロトコル328に参加し、その別の選択暗号プロトコルを用いてデータ転送330などのさらなる通信を暗号化することができる。例えば、クライアント302は、暗号プロトコルの2つのセットを、クライアント「hello」メッセージ306と共にサーバにサブミットすることができる。クライアント302は、暗号スイートQ、R、およびSを有するセット、ならびにスイートX、Y、およびZを有する別のセットをサブミットすることができる。サーバ304は、クライアント302の優先順位およびサーバ304自体の設定に従って、スイートQおよびXを選択暗号スイートとして選択することができる。変更暗号プロトコル・メッセージ322を使用して、クライアント302は、そのセッション用の現在の暗号化アルゴリズムとしてスイートQを確立することができる。次いでデータ転送326内のデータを、暗号スイートQを使用して暗号化および復号することができる。次いで、暗号変更プロトコル328を使用して、クライアント302またはサーバ304のいずれかは、現在の暗号化アルゴリズムを別の取り決められた選択暗号スイート、この例ではスイートXに変更することができる。次いでデータ転送330内のデータを、暗号スイートXを使用して暗号化および復号することができる。実施形態において、サーバ304または受信デバイスは、変更暗号プロトコル・メッセージ328が受信されると、転送326からのデータを読み取り保留バッファ内に有することができる。サーバ304は、変更暗号プロトコル・メッセージ328に応答してスイートXの初期化が完了する前に、スイートQを使用してデータ転送326からのデータの読み取りを完了することができる。
次に図4を参照すると、本発明の実施形態による、暗号化されたリンクを開始するための、クライアント側デバイス用の、例示のプロセス400のフローチャートが描かれている。
動作404において、クライアントまたは他の送信デバイスは、最初のデータ・パケットを送信することによりハンドシェイクを開始する。最初のデータ・パケットは、クライアント「hello」メッセージと、クライアントがセッションの間に使用することを提案する2つ以上の暗号スイートのセットとを含むことができる。
動作412において、クライアントは、サーバまたは他の受信デバイスから、サーバのデータ・パケットを受信する。サーバのデータ・パケットは、動作404でクライアントによって提案された暗号スイートのそれぞれのセットからのサーバの選択暗号スイートを含むことができる。
動作414において、例えばサーバがクライアント証明書をリクエストする場合、クライアントは証明書をサーバに送信することができる。動作416において、クライアントは、クライアント鍵交換をそれぞれの選択暗号スイートについて送信する。動作418において、例えばサーバがクライアント証明書をリクエストしておいた場合、クライアントは、クライアント証明書確認を送信することができる。動作420において、クライアントは、リンクを暗号化するための最初の暗号スイート、および最初の暗号スイートをセットするための変更暗号プロトコルを送信する。動作426において、クライアントは、サーバが暗号変更プロトコルのサーバ側を完了して最初の暗号スイートをセットしたという確認を受信する。
次に図5を参照すると、本発明の実施形態による、暗号化されたリンクを開始するための、サーバ側デバイス用の、例示のプロセス401のフローチャートが描かれている。限定されないが、サーバにより開始されるプロセス400およびクライアントにより実行されるプロセス401を含めて他の可能な編成/設定が可能であることから、クライアントからサーバへ向けられるものとして描かれたプロセス400および401の編成は、非限定的であることを理解されたい。
動作406において、サーバは、クライアントの最初のデータ・パケットを受信する。最初のデータ・パケットは、例えばそれぞれのスイートによって与えられる様々なセキュリティの程度に従って、セットに分割される数多くの暗号スイートを含むことができる。
動作408において、サーバは、それぞれのセットに与えられる暗号スイートの中から、サーバがサポートすることができるそれぞれのセット由来の1つの暗号スイートを選択する。実施形態において、サーバは、所与のセットのうちサーバがサポートしうる暗号スイートを決定するためのパラメータについて、設定ファイルを、例えばサーバ自体の設定ファイルを参照することができる。本発明の実施形態において、受信されたセットは、含まれている暗号スイートをクライアントの優先順位の順に配置することができ、サーバは、適合するものとして識別するそれぞれのセット内の第1のスイートを選択することができる。
本発明の実施形態において、サーバは、クライアントによってサブミットされるセットよりも少ない選択暗号スイートを選択することができる。例えば、クライアントは、暗号スイートの2つのセットをサブミットすることができるが、サーバは、そのセットのうちの1つに適合するスイートを見つけられないことがある。そのような状況では、サーバは、1つの選択暗号スイートのみを返すことがある。
動作410において、サーバは、選択暗号スイート、すなわちセッションが開始される間に使用するためにサーバが選択しておいたそれぞれのセットからの暗号スイートを、クライアントまたは他の送信デバイスに送信する。実施形態において、サーバは、クライアント証明書リクエストまたは選択暗号スイート用のサーバ鍵交換あるいはその両方を追加的に転送することができる。
動作422において、サーバは、クライアントから第1の暗号と共に暗号変更プロトコルを受信する。第1の暗号は、サーバへ転送されるデータについての所望のセキュリティの程度に従って、クライアントまたは他の送信デバイスによって選択することができる。サーバは、暗号変更プロトコルに応答して、第1の暗号スイートを初期化する。サーバは、例えばサーバがリクエストしていれば、クライアント証明書確認およびクライアント側鍵交換を伴って、またはそれを伴わずに、クライアント証明書を追加的に受信することができる。
動作424において、サーバは、サーバがプロトコルのその部分を完了して第1の暗号スイートを初期化したことを示すために、暗号変更プロトコル・メッセージをクライアントに送信する。本発明の実施形態において、セッションの間を通じてクライアントまたはサーバのいずれかがさらなる暗号変更プロトコルを開始することができ、転送されるデータのセキュリティの必要性または所望の程度に従って、さらにはバッテリー寿命などの電力節約を考慮して、暗号化のセキュリティを調節している。
次に図6を参照すると、本発明の実施形態による、(例えば1つまたは複数の、プロセッサ回路またはコンピュータのコンピュータ・プロセッサを使用して)本明細書で説明される方法またはモジュール、および任意の関連の機能または動作のうち、1つまたは複数を実装する際使用することができる、例示のコンピュータ・システム(すなわちコンピュータ)500の高次ブロック図が示されている。本発明のいくつかの実施形態において、コンピュータ・システム500の主要なコンポーネントは、1つまたは複数のプロセッサまたはCPU502、メモリ・サブシステム504、端末インターフェース512、I/O(入力/出力)デバイス・インターフェース514、ストレージ・インターフェース516、およびネットワーク・インターフェース518を備えることができ、これらのすべては、メモリ・バス503、I/Oバス508、およびI/Oバス・インターフェース・ユニット510を介するコンポーネント間通信のために、直接的または間接的に通信可能に接続され得る。
コンピュータ・システム500は、1つまたは複数の汎用でプログラム可能な中央処理装置(CPU)502A、502B、502C、および502Dを含むことができ、本明細書においては一般的にCPU502と称する。本発明のいくつかの実施形態において、コンピュータ・システム500は、比較的大規模なシステムに典型的である複数のプロセッサを含むことができるが、本発明の他の実施形態において、コンピュータ・システム500は、代替的に単一CPUのシステムであってもよい。それぞれのCPU502は、メモリ・サブシステム504に記憶される命令を実行することができ、1つまたは複数のレベルのオンボード・キャッシュを含むことができる。
本発明のいくつかの実施形態において、メモリ・サブシステム504は、ランダムアクセスの半導体メモリ、ストレージ・デバイス、またはデータおよびプログラムを記憶するための(揮発性または非揮発性いずれかの)記憶媒体を含むことができる。本発明のいくつかの実施形態において、メモリ・サブシステム504は、コンピュータ・システム500の仮想メモリ全体を表現することができ、またコンピュータ・システム500に接続されるか、またはネットワークを介して接続される他のコンピュータ・システムの仮想メモリを含むことができる。メモリ・サブシステム504は、概念的に単一のモノリシックなエンティティであってもよいが、本発明のいくつかの実施形態において、メモリ・サブシステム504は、キャッシュおよび他のメモリ・デバイスの階層構造などのより複雑な配置構成であってもよい。例えば、メモリは、複数のレベルのキャッシュに存在することができ、1つのキャッシュが命令を保持する一方で、別のキャッシュはプロセッサによって使用される非命令のデータを保持するように、これらのキャッシュは機能によってさらに分割することができる。メモリは、様々ないわゆるnon-uniform memory access(NUMA)のコンピュータ・アーキテクチャのいずれかで知られるように、異なるCPUまたはCPUセットに、さらに分散され関連付けられてもよい。本発明のいくつかの実施形態において、主メモリまたはメモリ・サブシステム504は、CPU502によって使用されるメモリの制御およびフローの要素を含むことができる。これはメモリ・コントローラ505を含むことができる。メモリ504は、暗号スイートの複数のセットを含むことができる。例示のシステムでは、スループット暗号スイート520Aのセットおよびセキュア暗号スイート520Bのセットが描かれている。実施形態において、暗号スイートの他のセット、例えば中間のセキュリティの暗号スイートのセット、またはセキュリティ以外の他の基準に従って編成された暗号スイートが記憶されてもよい。
図6では、メモリ・バス503は、CPU502、メモリ・サブシステム504、およびI/Oバス・インターフェース510間で直接的な通信経路を与える単一のバス構造として示されているが、メモリ・バス503は、本発明のいくつかの実施形態において、複数の異なるバスまたは通信経路を含むことができ、それらは階層構造、星状もしくはウェブ状の構成におけるポイントツーポイントのリンク、複数の階層構造的なバス、並列および冗長な経路または他の適当なタイプの構成などの様々な形態のいずれかで配置構成され得る。さらには、I/Oバス・インターフェース510およびI/Oバス508は、単一の個々のユニットとして示されているが、コンピュータ・システム500は、本発明のいくつかの実施形態において、複数のI/Oバス・インターフェース・ユニット510、複数のI/Oバス508またはその両方を含んでもよい。さらには、複数のI/Oインターフェース・ユニットが示され、様々なI/Oデバイスへつながる様々な通信経路からI/Oバス508を隔てているが、本発明の他の実施形態において、I/Oデバイスのいくつかまたは全ては、1つまたは複数のシステムI/Oバスに直接的に接続することができる。
本発明のいくつかの実施形態において、コンピュータ・システム500は、マルチユーザのメーンフレーム・コンピュータ・システム、シングルユーザのシステム、または直接的なユーザ・インターフェースを有していないか殆ど有していないサーバ・コンピュータもしくは類似のデバイスであり得るが、他のコンピュータ・システム(クライアント)からのリクエストを受信する。さらには、本発明のいくつかの実施形態において、コンピュータ・システム500は、デスクトップ・コンピュータ、ポータブル・コンピュータ、ラップトップもしくはノートブック型コンピュータ、タブレット・コンピュータ、ポケット・コンピュータ、電話機、スマートフォン、モバイル・デバイス、またはあらゆる他の適切なタイプの電子デバイスとして実装することができる。
図6は例示的なコンピュータ・システム500の代表的な主要なコンポーネントを描くよう意図されていることに留意されたい。しかしながら、本発明のいくつかの実施形態において、個別のコンポーネントは図6で表現されるものと比べて多かれ少なかれ複雑さを有することがあり、図6で示されるもの以外にまたはそれらに追加的にコンポーネントが存在してもよく、そのようなコンポーネントの数、タイプ、および設定は変わることがあってもよい。
本発明は、インテグレーションのあらゆる可能な技術的詳細レベルにおけるシステム、方法、またはコンピュータ・プログラム製品あるいはその組合せであってもよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体を含むことができる。
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持および記憶することができる有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子記憶装置デバイス、磁気記憶装置デバイス、光学記憶装置デバイス、電磁気記憶装置デバイス、半導体記憶装置デバイスまたは前述のあらゆる適切な組合せであってもよいが、それに限定はしない。コンピュータ可読記憶媒体のより具体的な例の非網羅的な列挙としては、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、静的ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピー・ディスク、命令を記録されて有するパンチカードまたは溝に刻まれた構造などの機械的にエンコードされたデバイス、および前述のあらゆる適切な組合せ、を含む。本明細書において使用される場合、コンピュータ可読記憶媒体は、電波または他の自由に伝搬する電磁波、導波路もしくは他の送信媒体(例えば、光ファイバ・ケーブルを通過する光パルス)を介して伝搬する電磁波、または電線を介して送信される電気的信号など、一過性の信号そのものであると解釈されてはならない。
本明細書において説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から、個別の計算/処理デバイスに、あるいは、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくは無線ネットワークまたはその組合せなどのネットワークを介して、外部のコンピュータもしくは外部の記憶装置デバイスに、ダウンロードすることができる。ネットワークは、銅の送信ケーブル、光学送信ファイバ、無線送信、ルータ、ファイヤウォール、スイッチ、ゲートウェイ・コンピュータまたはエッジ・サーバあるいはその組合せを備えることができる。それぞれの計算/処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、個別の計算/処理デバイス内のコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、あるいはSmalltalk、C++などのオブジェクト指向プログラミング言語、および”C”プログラミング言語などの手続き型プログラミング言語もしくは類似するプログラミング言語、を含む1つまたは複数のプログラミング言語の任意の組合せで記述された、ソース・コードまたはオブジェクト・コードのいずれかであってもよい。コンピュータ可読プログラム命令は、すべてユーザのコンピュータ上で、一部はユーザのコンピュータ上でスタンドアロンのソフトウェア・パッケージとして、一部はユーザのコンピュータ上かつ一部は遠隔のコンピュータ上で、またはすべて遠隔のコンピュータ上もしくはサーバ上で、実行することができる。後者のシナリオにおいて、遠隔のコンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含むあらゆるタイプのネットワークを介してユーザのコンピュータに接続されてもよく、または接続は外部のコンピュータ(例えば、インターネット・サービス・プロバイダを使用するインターネットを介して)に対してなされてもよい。一部の実施形態において、例えば、プログラマブル論理回路、フィールドプログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行して電子回路を個別化することができる。
本発明の態様は本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照しながら本明細書において説明される。フローチャート図またはブロック図あるいはその両方のそれぞれのブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実装され得ることが理解されよう。
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能/作用を実装する手段を作成するように、汎用コンピュータ、特殊目的コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて機械を生成するものであってよい。これらのコンピュータ可読プログラム命令はまた、命令を記憶して有するコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能/作用の態様を実装するための命令を含む製造物品を備えるように、コンピュータ、プログラマブル・データ処理装置、または他のデバイスあるいはその組合せに特定のやり方で機能するように指示することができるコンピュータ可読記憶媒体に記憶されてもよい。
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル装置、または他のデバイスで実行する命令がフローチャートまたはブロック図あるいはその両方のブロックに指定される機能/作用を実装するように、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードされて、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作可能なステップを実施させ、コンピュータ実装処理を生成するものであってもよい。
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装形態の、アーキテクチャ、機能性、および動作を図示している。この点において、フローチャートまたはブロック図のそれぞれのブロックは、指定される論理機能を実装するための1つまたは複数の実行可能な命令を含む、命令のモジュール、セグメント、または部分を表現することができる。一部の代替的な実装形態において、ブロックにおいて示した機能は、図面で示した順とは異なって発生してもよい。例えば、連続して示される2つのブロックは、実際には実質的に同時に実行されてもよく、またはブロックは、関与する機能性によっては時に逆の順で実行されてもよい。ブロック図またはフローチャート図あるいはその両方のそれぞれのブロック、およびブロック図またはフローチャート図あるいはその両方のブロックの組合せは、指定される機能もしくは作用を実施する、または特殊目的ハードウェアおよびコンピュータ命令の組合せを実行する、特殊目的ハードウェア・ベースのシステムによって実装され得ることにも留意されたい。
例示を目的として本発明の様々な実施形態の説明を提示してきたが、網羅的であること、または開示された本発明の実施形態に限定することは意図されていない。本発明の説明された実施形態の範囲から逸脱することなく、多くの変更および変形が当業者にとって明らかとなろう。本明細書において使用される用語は、本発明の原理、実践的な用途もしくは市場で見られる技術を超える技術的な改善を説明するため、または他の当業者が本明細書に開示される本発明の実施形態を理解できるように選ばれたものである。

Claims (17)

  1. 暗号化されたリンクを提供するシステムであって、
    暗号スイートの2つ以上のセットを含むメモリと、
    前記メモリと通信しているプロセッサと
    を備え、前記プロセッサは方法を実施するように構成され、前記方法は、
    ハンドシェイクの間に、それぞれが異なるセキュリティ・レベルのデータ・セキュリティを提供する暗号スイートの少なくとも2つのセットであって、各セットがセキュリティ・レベルに応じた複数の暗号スイートを含む、前記暗号スイートの少なくとも2つのセットをサーバに送信することと、
    前記暗号スイートの少なくとも2つのセットのそれぞれのセットについての選択暗号スイートを前記サーバから受信することと、
    前記暗号スイートの少なくとも2つのセットの暗号スイートの第1のセットから第1の選択暗号スイートを選択することと、
    前記第1の選択暗号スイートを使用し前記サーバとのセッションを確立して、前記セッションを暗号化することと、
    前記セッションの間に、前記第1の選択暗号スイートを使用し前記サーバと通信して、前記セッションを暗号化することと、
    前記セッションについての状態変更を検出することと、
    前記暗号スイートの少なくとも2つのセットの暗号スイートの第2のセットから、第2の選択暗号スイートに変更することと、
    前記セッションの間に、前記第2の選択暗号スイートを使用し前記サーバとの通信を継続し、前記セッションを暗号化することと
    を含む、システム。
  2. 前記暗号スイートの少なくとも2つのセットの少なくとも1つは、セキュアな暗号である、請求項に記載のシステム。
  3. 前記方法は、クライアント鍵交換を実施することをさらに含む、請求項1に記載のシステム。
  4. 前記サーバから選択暗号スイートを受信することは、サーバ鍵交換を含む、請求項1に記載のシステム。
  5. 暗号化されたリンクを確立するデバイスが実行する方法であって、
    ハンドシェイクの間に、それぞれが異なるセキュリティ・レベルのデータ・セキュリティを提供する暗号スイートの少なくとも2つのセットであって、各セットがセキュリティ・レベルに応じた複数の暗号スイートを含む、前記暗号スイートの少なくとも2つのセットをサーバに送信することと、
    前記暗号スイートの少なくとも2つのセットのそれぞれのセットについての選択暗号スイートを前記サーバから受信することと、
    前記暗号スイートの少なくとも2つのセットの暗号スイートの第1のセットから第1の選択暗号スイートを選択することと、
    前記第1の選択暗号スイートを使用し前記サーバとのセッションを確立して、前記セッションを暗号化することと、
    前記セッションの間に、前記第1の選択暗号スイートを使用し前記サーバと通信して、前記セッションを暗号化することと、
    前記セッションについての状態変更を検出することと、
    前記暗号スイートの少なくとも2つのセットの暗号スイートの第2のセットから、第2の選択暗号スイートに変更することと、
    前記セッションの間に、前記第2の選択暗号スイートを使用し前記サーバとの通信を継続し、前記セッションを暗号化することと
    を含む方法。
  6. 前記サーバとの接続を確立することは、鍵交換と、前記第1の選択暗号スイートを使用する変更暗号プロトコルとを含む、請求項に記載の方法。
  7. 前記第2の選択暗号スイートを選択することと、
    前記第2の選択暗号スイートにより前記サーバとの変更暗号プロトコルを開始することと、
    前記変更暗号プロトコルが完了したという指標を前記サーバから受信することと、
    前記変更暗号プロトコルが完了したという前記指標を受信したことに応答して、前記第2の選択暗号スイートを使用して暗号化されたデータを送信することと
    をさらに含む、請求項に記載の方法。
  8. 変更暗号プロトコルおよび前記第2の選択暗号スイートを前記サーバから受信することと、
    前記変更暗号プロトコルが完了したという指標を前記サーバに送信することと、
    前記第2の選択暗号スイートにより暗号化したデータを前記サーバから受信することと、
    前記第2の選択暗号スイートを使用して、受信された前記データを復号することと
    をさらに含む、請求項に記載の方法。
  9. 前記第1の選択暗号スイートを使用してデータを前記サーバに転送することをさらに含み、前記第1の選択暗号スイートは、前記転送されたデータに関連付けられたセキュリティ・レベルに従って選択される、請求項に記載の方法。
  10. クライアント証明書を送信することをさらに含む、請求項に記載の方法。
  11. 暗号化されたリンクを確立するデバイスが実行する方法であって、
    ハンドシェイクの間に、クライアントから、それぞれが異なるセキュリティ・レベルのデータ・セキュリティを提供する暗号スイートの少なくとも2つのセットであって、各セットがセキュリティ・レベルに応じた複数の暗号スイートを含む、前記暗号スイートの少なくとも2つのセットを受信することと、
    前記暗号スイートの少なくとも2つのセットのそれぞれのセットについて選択暗号スイートを選択することと、
    前記選択暗号スイートを前記クライアントに送信することと、
    第1の選択暗号スイートを使用し前記クライアントとのセッションを確立して、前記セッションを暗号化することであって、第1の選択暗号スイートが前記暗号スイートの少なくとも2つのセットの暗号スイートの第1のセットから選択される、暗号化することと、
    前記セッションの間に、前記第1の選択暗号スイートを使用し前記クライアントと通信して、前記セッションを暗号化することと、
    前記セッションについての状態変更を検出することと、
    前記暗号スイートの少なくとも2つのセットの暗号スイートの第2のセットから、第2の選択暗号スイートに変更することと、
    前記第1の選択暗号スイートおよび前記第2の選択暗号スイートの1つまたは複数との
    前記セッションを介して送信されたデータの一部の復号を試みることと、
    前記セッションの間に、前記第2の選択暗号スイートを使用し前記クライアントとの通信を継続し、前記セッションを暗号化することと
    を含む方法。
  12. 前記クライアントとの接続を確立することは、鍵変更と、前記第1の選択暗号スイートを使用する変更暗号プロトコルとを含む、請求項11に記載の方法。
  13. 変更暗号プロトコルを使用して前記クライアントから前記第2の選択暗号スイートを受信することと、
    前記第2の選択暗号スイートを初期化することと、
    前記変更暗号プロトコルが完了したという指標を前記クライアントに送信することと、
    第2の選択暗号スイートを使用して前記セッションを暗号化することと
    をさらに含む、請求項11に記載の方法。
  14. 変更暗号プロトコルおよび前記第2の選択暗号スイートを前記クライアントに送信することと、
    前記変更暗号プロトコルが完了したという指標を前記クライアントから受信することと、
    前記第2の選択暗号スイートを使用してデータ・セットを暗号化することと、
    前記第2の選択暗号スイートにより暗号化された前記データ・セットを、前記クライアントに送信することと
    をさらに含む、請求項11に記載の方法。
  15. 前記選択暗号スイートのそれぞれは、設定ファイルに従って選択される、請求項11に記載の方法。
  16. 前記設定ファイルは、適合する暗号スイートを識別する、請求項15に記載の方法。
  17. 前記第1の選択暗号スイートを使用してデータを前記クライアントに転送することをさらに含み、前記第1の選択暗号スイートは、前記転送されたデータに関連付けられたセキュリティ・レベルに従って選択される、請求項11に記載の方法。
JP2020521398A 2017-11-03 2018-09-26 確立したセッション内で暗号および鍵を変更するための方法およびシステム(確立したセッション内での暗号および鍵の変更) Active JP7232827B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/802,632 2017-11-03
US15/802,632 US10764328B2 (en) 2017-11-03 2017-11-03 Altering cipher and key within an established session
PCT/IB2018/057436 WO2019086973A1 (en) 2017-11-03 2018-09-26 Altering cipher and key within an established session

Publications (2)

Publication Number Publication Date
JP2021502014A JP2021502014A (ja) 2021-01-21
JP7232827B2 true JP7232827B2 (ja) 2023-03-03

Family

ID=66328985

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020521398A Active JP7232827B2 (ja) 2017-11-03 2018-09-26 確立したセッション内で暗号および鍵を変更するための方法およびシステム(確立したセッション内での暗号および鍵の変更)

Country Status (6)

Country Link
US (1) US10764328B2 (ja)
JP (1) JP7232827B2 (ja)
CN (1) CN111264052B (ja)
DE (1) DE112018004266T5 (ja)
GB (1) GB2581096B (ja)
WO (1) WO2019086973A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3821577A1 (en) * 2018-07-12 2021-05-19 Telefonaktiebolaget Lm Ericsson (Publ) Security information exchange between a client and a server
DE102020001199A1 (de) * 2020-02-25 2021-08-26 Daimler Ag Kommunikationsvorrichtung und Verfahren zur kryptografischen Absicherung der Kommunikation
CN112217833B (zh) * 2020-10-21 2022-03-25 新华三信息安全技术有限公司 一种安全套接字协议卸载方法、装置、存储介质及电子设备
US11757840B2 (en) * 2021-09-12 2023-09-12 Netflow, UAB Configuring a protocol in a virtual private network
US20230144993A1 (en) * 2021-11-10 2023-05-11 Arbor Networks, Inc. Decryption of perfect forward secrecy (pfs) and non-pfs sessions

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006191207A (ja) 2004-12-28 2006-07-20 Matsushita Electric Works Ltd 通信装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7853781B2 (en) * 2001-07-06 2010-12-14 Juniper Networks, Inc. Load balancing secure sockets layer accelerator
JP2003179595A (ja) * 2001-12-13 2003-06-27 Celestar Lexico-Sciences Inc 暗号化通信方法、暗号化通信システム、暗号化通信を行うコンピュータ、記憶媒体及びプログラム
CN101567784B (zh) * 2008-04-21 2016-03-30 华为数字技术(成都)有限公司 一种获取密钥的方法、系统和设备
US20100042841A1 (en) 2008-08-15 2010-02-18 Neal King Updating and Distributing Encryption Keys
US8769257B2 (en) 2008-12-23 2014-07-01 Intel Corporation Method and apparatus for extending transport layer security protocol for power-efficient wireless security processing
JP5267169B2 (ja) * 2009-02-02 2013-08-21 富士通株式会社 ゲートウェイ、情報処理方法、プログラム及びデータ暗号化端末
US8914631B2 (en) 2009-07-01 2014-12-16 Oracle International Corporation Performing secure and non-secure communication over the same socket
CN102510387B (zh) * 2011-12-29 2014-06-04 西安西电捷通无线网络通信股份有限公司 一种安全传输层协议tls握手方法和装置及ttp
US9176838B2 (en) * 2012-10-19 2015-11-03 Intel Corporation Encrypted data inspection in a network environment
WO2014209190A1 (en) 2013-06-28 2014-12-31 Telefonaktiebolaget L M Ericsson (Publ) Encrypting and storing data
EP2846509B1 (en) * 2013-09-09 2019-08-28 Alcatel Lucent Tls protocol extension
JP2015130549A (ja) * 2014-01-06 2015-07-16 株式会社日立製作所 消費エネルギーを計測するメータと、消費エネルギーを管理する管理システムと、を含むシステム。
JP2016029787A (ja) * 2014-07-16 2016-03-03 キヤノン株式会社 情報処理装置、暗号化通信方法、およびプログラム
US9749305B1 (en) 2014-08-28 2017-08-29 Amazon Technologies, Inc. Malicious client detection based on usage of negotiable protocols
CN104735058B (zh) 2015-03-04 2018-03-16 深信服网络科技(深圳)有限公司 一种基于安全协议ssl的加密方法及系统
CN105610783B (zh) 2015-11-05 2018-11-30 珠海格力电器股份有限公司 一种数据传输方法及物联网系统
US10630654B2 (en) * 2017-03-22 2020-04-21 Microsoft Technology Licensing, Llc Hardware-accelerated secure communication management
CN107302428B (zh) 2017-05-26 2020-06-30 北京中电普华信息技术有限公司 一种配电网中数据传送业务的密码算法的协商方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006191207A (ja) 2004-12-28 2006-07-20 Matsushita Electric Works Ltd 通信装置

Also Published As

Publication number Publication date
JP2021502014A (ja) 2021-01-21
US20190141078A1 (en) 2019-05-09
DE112018004266T5 (de) 2020-05-07
GB2581096A (en) 2020-08-05
US10764328B2 (en) 2020-09-01
GB202006226D0 (en) 2020-06-10
CN111264052A (zh) 2020-06-09
WO2019086973A1 (en) 2019-05-09
GB2581096B (en) 2022-06-22
CN111264052B (zh) 2022-08-16

Similar Documents

Publication Publication Date Title
JP7232827B2 (ja) 確立したセッション内で暗号および鍵を変更するための方法およびシステム(確立したセッション内での暗号および鍵の変更)
US11792169B2 (en) Cloud storage using encryption gateway with certificate authority identification
US9794064B2 (en) Client(s) to cloud or remote server secure data or file object encryption gateway
US20190097983A1 (en) Secure session capability using public-key cryptography without access to the private key
EP3518458B1 (en) Method and device for secure communications over a network using a hardware security engine
CN107534665B (zh) 利用ssl会话票证扩展的可扩缩中间网络设备
CN113424185A (zh) 快速不经意传输
US9306734B2 (en) Communication device, key generating device, and computer readable medium
JP2018529271A (ja) 二重暗号化を用いたキー生成方法および装置
US11539747B2 (en) Secure communication session resumption in a service function chain
US10291600B2 (en) Synchronizing secure session keys
CN108768633A (zh) 实现区块链中信息共享的方法及装置
US20160277372A1 (en) Optimization of a secure connection with enhanced security for private cryptographic keys
US10411886B1 (en) Authenticating secure channel establishment messages based on shared-secret
CN106027646B (zh) 一种加速https的方法及装置
WO2018231519A1 (en) Cloud storage using encryption gateway with certificate authority identification
US9578016B2 (en) Optimizing secure communications between a client authenticating server and a mobile client
US20240048375A1 (en) Distributed storage system and method of reusing symmetric keys for encrypted message transmissions
CN115174061A (zh) 基于区块链中继通信网络系统的消息传输方法及装置
US20200084029A1 (en) Slave secure sockets layer proxy system
US20210281608A1 (en) Separation of handshake and record protocol
Iyappan et al. Pluggable encryption algorithm in secure shell (SSH) protocol
US11997189B2 (en) Encrypted communication using counter mode encryption and secret keys

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200529

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200501

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20200424

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20200423

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220401

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220502

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220902

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

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20220905

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220926

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

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220927

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

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20221014

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20221018

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20221108

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20221206

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20230110

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20230207

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20230207

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20230207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230220

R150 Certificate of patent or registration of utility model

Ref document number: 7232827

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150