JP2022522555A - セミトラステッドな中継者を使用したセキュアなメッセージ受け渡し - Google Patents

セミトラステッドな中継者を使用したセキュアなメッセージ受け渡し Download PDF

Info

Publication number
JP2022522555A
JP2022522555A JP2021502755A JP2021502755A JP2022522555A JP 2022522555 A JP2022522555 A JP 2022522555A JP 2021502755 A JP2021502755 A JP 2021502755A JP 2021502755 A JP2021502755 A JP 2021502755A JP 2022522555 A JP2022522555 A JP 2022522555A
Authority
JP
Japan
Prior art keywords
computer
encrypted
message
relay
encryption key
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.)
Pending
Application number
JP2021502755A
Other languages
English (en)
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.)
Citrix Systems Inc
Original Assignee
Citrix Systems Inc
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 Citrix Systems Inc filed Critical Citrix Systems Inc
Publication of JP2022522555A publication Critical patent/JP2022522555A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network 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 asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/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/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0471Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0827Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving distinctive intermediate devices or communication paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys

Landscapes

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

Abstract

セキュアなメッセージ受け渡しのための技術が提供される。送信者プロセスには、暗号化されたメッセージとして受信者プロセスに受け渡すクリアな(暗号化されていない)テキストメッセージがある。送信者は、メッセージを暗号化するためのメッセージ暗号鍵(MEK)を生成し、MEKを暗号化する第1の中継者プロセスにMEKを送信する。送信者はMEKを用いてメッセージを暗号化し、暗号化されたメッセージと暗号化されたMEKの両方を第2の中継者プロセスに渡す。第2の中継者は、送信者がメッセージを送信する権限を有することを検証し、暗号化されたメッセージと暗号化されたMEKとを保持する。第2の中継者は、暗号化されたメッセージと暗号化されたMEKとを受信者に渡し、受信者は第1の中継者に暗号化されたMEKの復号を要求する。次に、第1の中継者は、MEKを復号し、受信者に返す。最後に、受信者はMEKを使用してメッセージを復号する。

Description

メッセージにセンシティブな情報や機密情報が含まれている場合、複数のコンピュータ間で安全にメッセージを受け渡すことがしばしば必要である。状況によっては、受信者のアドレスや場所が不明であるか、受信者が到達不能であるために、メッセージの送信者が受信者に直接メッセージを送信できない場合がある。このような場合、送信者はメッセージを中継者(intermediary)に渡すことができ、中継者は、受信者がメッセージを取得するまでメッセージを一時的に保持する。メッセージを中継者に受け渡す場合、送信者はメッセージの受信を許可された受信者のID(identity)を示すことができるので、中継者は、メッセージが適切な受信者に渡されることを保証することができる。その後、受信者は中継者にメッセージを要求できる。中継者が、送信者によって以前に示されたIDに対して受信者のIDを確認すると、中継者はメッセージを受信者に渡し、受信者はメッセージを処理する。
一部のシステムでは、中継者は、暗号化されていないメッセージで信頼されている。他のシステムでは、送信者は、メッセージを中継者に渡す前にメッセージを暗号化する。送信者がメッセージを暗号化するシステムでは、受信者によって実行される処理には、メッセージの内容にアクセスするためのメッセージの復号が含まれる場合がある。
1つの例示的な実施形態は、第1の中継者コンピュータにより、送信者コンピュータに配置されたメッセージを暗号化するために前記送信者コンピュータにより生成された第1の暗号鍵を受信することを含む方法を提供する。メッセージは、第1の中継者コンピュータとは分離されており、独立であり、かつ別個の第2の中継者デバイスを介して、送信者コンピュータと受信者コンピュータとの間で受け渡される。本方法は、さらに、第1の中継者コンピュータにより、第1の暗号鍵の暗号化バージョンを生成するために、第1の中継者コンピュータに配置された第2の暗号鍵を用いて第1の暗号鍵を暗号化することを含む。本方法は、さらに、第1の中継者コンピュータにより、メッセージに含めるために、第1の暗号鍵の暗号化バージョンを送信者コンピュータに送信することを含む。本方法は、さらに、第1の中継者コンピュータにより、受信者コンピュータから第1の暗号鍵の暗号化バージョンを受信することを含む。本法は、さらに、第1の中継者コンピュータにより、第1の暗号鍵の復号バージョンを生成するために、第1の中継者コンピュータに配置された第2の暗号鍵を用いて第1の暗号鍵の暗号化バージョンを復号することを含む。本方法は、さらに、第1の中継者コンピュータにより、メッセージを復号するために、第1の暗号鍵の復号バージョンを受信者コンピュータに送信することを含む。
場合によっては、本方法は、第1の中継者コンピュータにより、第1の暗号鍵の暗号化バージョンにデジタル署名することを含む。場合によっては、本方法は、第1の中継者コンピュータにより、受信者コンピュータから第1の暗号鍵のデジタル署名され暗号化されたバージョンを受信し、第1の暗号鍵の暗号化バージョンを復号する前に、受信者コンピュータに関連付けられた受信者識別子(RID)に基づいて、受信者コンピュータが、第1の暗号鍵の暗号化バージョンの復号を要求する権限を有することを検証することを含む。場合によっては、本方法は、第1の中継者コンピュータにより、第1の暗号鍵の暗号化バージョンとRIDとにデジタル署名することをさらに含む。
場合によっては、本方法は、第2の中継者コンピュータにより、第1の暗号鍵の暗号化バージョンと、第1の暗号鍵を用いて送信者コンピュータによって暗号化されたメッセージとを、送信者コンピュータから受信することと、第2の中継者コンピュータにより、暗号化されたメッセージと第1の暗号鍵の暗号化バージョンとを受信者コンピュータに受け渡す要求を受信することと、第2の中継者コンピュータにより、第1の暗号鍵の暗号化バージョンと、第1の暗号鍵を用いて送信者コンピュータによって暗号化されたメッセージとを、受信者コンピュータに受け渡すことと、を含む。
場合によっては、本方法は、中継者コンピュータにより、送信者コンピュータから第1の暗号鍵を受信したことに応答して、送信者コンピュータが第1の暗号鍵の暗号化を要求する権限を有することを検証することを含む。場合によっては、第1の暗号鍵は、対称暗号化プロセスを使用して暗号化される。場合によっては、第1の暗号鍵は、非対称暗号化プロセスを使用して暗号化される。
別の例示的な実施形態は、第2の中継者コンピュータにより、送信者コンピュータと受信者コンピュータとの間で受け渡される暗号化されたメッセージを受信することを含む方法を提供する。メッセージは、送信者コンピュータによって第1の暗号鍵を用いて暗号化される。本方法は、さらに、第2の中継者コンピュータとは分離されており、独立であり、かつ別個の第1の中継者デバイスによって暗号化された第1の暗号鍵の暗号化バージョンを受信することを含む。本方法は、さらに、第2の中継者コンピュータにより、暗号化されたメッセージと第1の暗号鍵の暗号化バージョンとを受信者コンピュータに受け渡す要求を受信することを含む。本方法は、さらに、第2の中継者コンピュータにより、暗号化されたメッセージと、第1の中継者デバイスに配置された第2の暗号鍵を用いて第1の中継者コンピュータによって暗号化された第1の暗号鍵の暗号化バージョンとを、受信者コンピュータに受け渡すことを含む。
場合によっては、本方法は、受信者コンピュータに暗号化されたメッセージを送信する前に、受信者コンピュータに関連付けられた受信者識別子(RID)に基づいて、受信者コンピュータが受信者コンピュータへの暗号化されたメッセージの受け渡しを要求する権限を有することを、第2の中継者コンピュータによって検証することを含む。
場合によっては、本方法は、第1の中継者コンピュータにより、メッセージを暗号化するために送信者コンピュータによって使用される第1の暗号鍵を受信することと、第1の中継者コンピュータにより、第1の暗号鍵の暗号化バージョンを生成するために、第1の中継者デバイスに配置された第2の暗号鍵を用いて第1の暗号鍵を暗号化することと、第1の中継者コンピュータにより、受信者コンピュータに受け渡されるメッセージに含めるために、第1の暗号鍵の暗号化バージョンを送信者コンピュータに送信することと、第1の中継者コンピュータにより、送信者コンピュータからのメッセージの受信に続いて、受信者コンピュータから第1の暗号鍵の暗号化バージョンを受信することと、第1の中継者コンピュータにより、第1の暗号鍵の復号バージョンを生成するために、第2の暗号鍵を用いて第1の暗号鍵の暗号化バージョンを復号することと、中継者コンピュータにより、メッセージを復号するために、第1の暗号鍵の復号バージョンを受信者コンピュータに送信することと、を含む。
場合によっては、本方法は、第1の中継者コンピュータにより、第1の暗号鍵の暗号化バージョンを受信者から受信し、暗号化されたメッセージ暗号鍵(MEK)を復号する前に、受信者コンピュータに関連付けられた受信者識別子(RID)に基づいて、受信者が暗号化された第1の暗号鍵の復号を要求する権限があることを検証することを含む。場合によっては、第1の暗号鍵は、対称暗号化プロセスを使用して暗号化される。場合によっては、第1の暗号鍵は、非対称暗号化プロセスを使用して暗号化される。
さらに別の例示的な実施形態は、セキュアなメッセージ受け渡しのためのシステムを提供する。システムは、第1のメモリと、第1のメモリに結合された少なくとも1つの第1のプロセッサとを含む第1の中継者を含み、第1の中継者は、送信者コンピュータに配置されたメッセージであって送信者コンピュータと受信者コンピュータとの間で受け渡されるメッセージを暗号化するために、送信者コンピュータによって生成されたメッセージ暗号鍵(MEK)を受信し、MEKの暗号化バージョンを生成するために、第1の中継者に配置されたガード鍵を用いてMEKを暗号化し、メッセージに含めるために、MEKの暗号化バージョンを送信者コンピュータに送信し、MEKの暗号化バージョンを受信者コンピュータから受信し、MEKの復号バージョンを生成するために、第1の中継者に配置されたガード鍵を用いて暗号化されたMEKを復号し、メッセージを復号するために、MEKの復号バージョンを受信者コンピュータに送信するように構成される。
システムはさらに、第2のメモリと、第2のメモリに結合された少なくとも1つの第2のプロセッサとを含む第2の中継者を含み、第2の中継者は、第1の中継者とは分離されており、独立であり、かつ別個の第2の中継者は、MEKの暗号化バージョンとMEKを用いて送信者コンピュータによって暗号化されたメッセージとを送信者コンピュータから受信し、暗号化されたメッセージとMEKの暗号化バージョンとを受信者コンピュータに送信する要求を受信し、MEKの暗号化バージョンとMEKを用いて送信者コンピュータによって暗号化されたメッセージとを、受信者コンピュータに送信する、ように構成される。
場合によっては、第1の中継者は、MEKの暗号化バージョンと、受信者コンピュータに関連付けられた受信者識別子(RID)とにデジタル署名するようにさらに構成される。場合によっては、第1の中継者は、受信者からMEKのデジタル署名され暗号化されたバージョンを受信し、暗号化されたMEKを復号する前に、RIDに基づいて、受信者がMEKの暗号化バージョンの復号を要求する権限を有することを検証するように、さらに構成される。
場合によっては、第1の中継者は、送信者コンピュータからMEKを受信したことに応答して、送信者コンピュータがMEKの暗号化を要求する権限を有することを検証するようにさらに構成される。場合によっては、送信者コンピュータは、MEKを用いてメッセージを暗号化するように構成され、受信者コンピュータは、復号されたMEKを用いてメッセージを復号するように構成される。場合によっては、MEKは、対称暗号化プロセスを使用して暗号化される。
他の態様、実施例、これらの態様及び実施例の利点は、以下で詳細に説明される。前述の情報及び以下の詳細な説明は、さまざまな態様及び特徴の実例にすぎず、特許請求される態様及び実施例の性質及び特徴を理解するための概観又はフレームワークを提供することを意図していることが理解されよう。本明細書に開示される任意の実施例又は特徴は、任意の他の実施例又は特徴と組み合わせることができる。異なる実施例への言及は、必ずしも相互に排他的ではなく、実施例に関連して説明された特定の特徴、構造、又は特性が、少なくとも1つの実施例に含まれ得ることを示すように意図されている。したがって、「他の(other)」及び「別の(another)」のような用語は、本明細書で説明される実施例を参照する場合、あらゆる種類の排他性又はグループ化を伝えることを意図しておらず、むしろ読みやすさを向上させるために含まれる。
少なくとも1つの実施例の様々な態様が、縮尺通りに描画することが意図されていない添付の図面を参照して以下で説明される。図面は、様々な態様の例示及びさらなる理解を提供するために含まれており、本明細書に組み込まれ、その一部を構成するが、任意の特定の実施例への限定の定義として意図されていない。図面は、本明細書の残りの部分と共に、説明され、特許請求された態様の原理及び動作を説明するのに役立つ。これらの図面では、様々な図面に図示されている同一又は略同一の各構成要素は、同様の数字によって表されている。分かり易くするために、すべての構成要素がすべての図において符号を付されている訳ではない。
図1は、本開示の一実施形態による、例示的なメッセージ受け渡しプロセスの概略図である。
図2は、本開示の一実施形態による、別の例示的なメッセージ受け渡しプロセスの概略図である。
図3は、本開示の一実施形態による、さらに別の例示的なメッセージ受け渡しプロセスの概略図である。
図4は、本開示の実施形態による、例示的なセキュアなメッセージ受け渡しプロセスの概略図である。
図5は、図4の例示的なセキュアなメッセージ受け渡しプロセスに対応するデータフロー図である。
図6は、本開示の一実施形態による、例示的なセキュアなメッセージ受け渡しプロセスのフロー図である。
図7は、本開示の一実施例による、セキュアなメッセージ受け渡しプロセスを実行するように構成されたコンピューティング・プラットフォームのブロック図である。
概要
前述したように、受信者が送信者から直接メッセージを受信することができない場合に、中継者を用いてメッセージを送信者から受信者に伝えることができる。しかしながら、中継者を利用する技術は、高度に制御された環境では有効であるが、それにもかかわらず、それらの利用は、確立されたセキュリティ対策を回避し、それらの実装の弱点及び脆弱性を悪用しようとする攻撃に対して脆弱である。また、これらの技術は、中継者とトラステッドな(信頼できる)関係を確立する必要があるため、又はエンティティ間で多くの暗号鍵/復号鍵を作成し、維持し、交換する必要があるため、大規模に実装される場合には高いコストと複雑さとを有する。
この目的を達成するために、これらの脆弱性、コスト、及び複雑さを克服する技術が、セミトラステッドな(半信頼できる)中継者を使用して、セキュアなメッセージ受け渡しのために提供される。本開示の一実施形態によれば、送信者プロセスとしてホストするコンピュータは、受信者プロセスをホストする別のコンピュータに渡す、送信する、又は他の方法で伝えるクリアな(暗号化されていない)メッセージを有する。送信者は、メッセージを暗号化するための対称なメッセージ暗号鍵(MEK:message encryption key)を生成し、MEKを暗号化するための第1の中継者に対する要求とともに、MEKを第1の中継者プロセスに送信する。送信者は、受信者に一意に関連付けられた受信者識別子(RID:recipient identifier)も要求に含める。RID には、例えば、システムで使用される認証レルム内の任意の一意の識別子を含めることができる。例えば、マイクロソフトのアクティブディレクトリでは、RIDはセキュリティ識別子(SID:Security Identifier) である。一部の認証システムでは、RIDはユーザIDやサービスID、又はメッセージの受信者を一意に識別するために使用できるその他の値とすることができる。第1の中継者は、送信者が鍵の暗号化を要求する権限を有することを検証する。第1の中継者は、ガード鍵とも呼ばれる独自の鍵を持っている。ガード鍵は、MEKの暗号化バージョン(即ち、元のMEKの暗号化)と、RIDの暗号化バージョン(即ち、元のRIDの暗号化)とを生成するために使用される。暗号化されたMEKと暗号化されたRIDの組み合わせは、セキュリティを強化するために、第1の中継者がまとめて署名できる。これにより、第1の中継者は、暗号化されたMEKとRIDとが第1の中継者によって以前に処理されたことを後で確認できる。第1の中継者は、暗号化/署名されたMEK/RIDを送信者に送り返す。次に、送信者は最初に生成された(暗号化されていない)MEKを使用してメッセージを暗号化する。次に、送信者は、暗号化されたメッセージ、RID、及び暗号化/署名されたMEK/RIDを第2の中継者プロセス(メッセージリポジトリなど)に送信する。第2の中継者プロセスは、送信者がメッセージを送信する権限を有していることを確認し、受信者のためにデータを保持する。第2の中継者プロセスは、RIDを使用して、メッセージが対象とする受信者を識別する。いくつかの実施形態では、第2の中継者は、メッセージを取得可能であることを受信者(及び、任意選択で送信者)に知らせるために、受信者に通知するか、情報を付与することができる。次に、受信者は、第2の中継者から暗号化されたメッセージと暗号化/署名されたMEK/RIDを取得しようと試みる。受信者は、暗号化されたメッセージを取得するのに適切な任意の技術を使用できる。例えば、受信者は、定期的に又は非定期的に第2の中継者をポーリングして、第2の中継者が受信者のために保持している任意のメッセージの配信を要求することができる。受信者が暗号化されたメッセージを取得しようとすると、第2の中継者は、受信者のIDがRIDと一致することを確認し、要求を承認する。受信者は、暗号化されたメッセージと暗号化/署名されたMEK/RIDを第2の中継者から受信し、第1の中継者に暗号化されたMEKの復号を要求する。第1の中継者は、暗号化されたMEK/RIDの組み合わせが第1の中継者によって署名されたこと、及び受信者のIDがRIDと一致することを確認した後で、MEKを復号して受信者に送信する。最後に、受信者は、MEKを用いてメッセージを復号する。第1の中継者及び第2の中継者は、どちらも暗号化されていないメッセージの保存又は処理については信頼されていないが、鍵の確実な暗号化、暗号化されたメッセージの保存、及び指定された送信者と受信者へのアクセスのみの許可については信頼されているので、セミトラステッドと見なされる。
本開示の実施形態は、対称暗号化と複数の中継者の分離とを利用して、完全にトラステッドな中継者と比較して単純さを維持しながらセキュリティを向上させると共に、受信者毎に非対称鍵を用いてメッセージを暗号化する場合と比較してセキュリティを犠牲にすることなく複雑さを低減する、単純で、低コストで、高性能のオプションを提供する。メッセージの機密性は、送信者においてメッセージを暗号化し、受信者においてメッセージを復号することによって維持される。即ち、送信者と受信者のみが、暗号化されていないクリアなメッセージにアクセスできる。いくつかの実施形態では、少なくとも2つのセミトラステッドな中継者が使用される。即ち、1つは鍵の暗号化/復号のために使用され、もう1つはメッセージ及び鍵の受け渡しのために使用される。少なくとも2つの中継者が存在するので、攻撃者がそれらのうちの1つを攻撃しても侵害は発生しない。さらに、2つの中継者は分離されており、独立であり、かつ別個であるので、インフラストラクチャの所有者には、両方の中継者が危険にさらされる前に、アクティブな攻撃を検出し、対処するための追加の時間が与えられることになる。しかしながら、少なくとも2つの中継者を有するにもかかわらず、第1の中継者はステートレスであるため、2つの永続的なデータストアは必要ない。換言すれば、第1の中継者は、セキュアなメッセージ受け渡しプロセスの一部として受信したり生成したりするデータを保存しない。むしろ、第1の中継者は、メッセージを暗号化するために送信者によって使用され、メッセージを復号するために受信者によって使用されるメッセージ暗号鍵を暗号化及び復号するために、第1の中継者によって使用される単一の「ガード」鍵を保持する。暗号化されたメッセージ暗号鍵は、暗号化されたメッセージと共に第2の中継者を介して送信者から受信者に渡される。これは、配備コスト及び複雑さが、完全にトラステッドな中継者を使用する場合と同等であることを意味する。これにより、すべての送信者と受信者が独自の公開暗号鍵と秘密暗号鍵とを持つ必要がある方式と比較して、大規模な又は動的な環境でメッセージ暗号鍵を管理するコストと複雑さとが軽減される。したがって、開示された技術は、任意の規模の環境において、そのようなコストと複雑さとを回避する。
本開示の実施形態は、マイクロソフトのウィンドウズ(登録商標)又は他のプラットフォーム(例えば、モバイルコンピューティングプラットフォーム、及び低電力要件が非対称暗号化技術の使用を制限し得るモノのインターネット (IoT:Internet of Things)デバイス)を含む、広範囲のプラットフォーム上で実施され得る。
本明細書で説明される方法及びシステムの例の適用は、以下の説明に記載されるか、又は添付の図面に示される構成の詳細及び構成要素の配置に限定されない。方法及びシステムは、他の例で実装することができ、様々な方法で実施又は実行することができる。特定の実装の例は、本明細書では、例示のみを目的として提供されており、限定することを意図していない。特に、任意の1つ又は複数の例に関連して説明される動作、構成要素、要素、及び特徴は、任意の他の例における同様の役割から除外されることを意図しない。
一般的な用語
本明細書で使用される「メッセージ」という用語は、その平易で通常の意味に加えて、電子的、光学的、音響的、電磁的、又は任意の他の適切なタイプの通信を使用するなど、任意の伝達手段によって、1つのコンピューティングサービス、デバイス、又はコンピュータ実装プロセスから、別のコンピューティングサービス、デバイス、又はコンピュータ実装プロセスに送信され、受け渡され、又は別の方法で伝達される任意のデータ又は情報を指す。
本明細書で使用される「送信者(sender)」という用語は、その平易で通常の意味に加えて、1つ又は複数の受信者へのメッセージの送信者など、一意の検証可能なIDを有する任意のコンピュータ実装プロセスを指す。例えば、送信者は、ユーザ又はメッセージの送受信に使用されるコンピュータに関連付けることができる。
本明細書で使用される「暗号化(encryption)」及び「復号(decryption)」という用語は、その平易で通常の意味に加えて、それぞれ、メッセージ又は他のデータを、理解できない形式に変換したり、理解できない形式から変換したりする任意の1つ又は複数のプロセスを指す。例えば、暗号化されたメッセージは、理解できないメッセージであり、復号されたメッセージは、少なくとも1つのエンティティには、追加の変換なしで理解可能である。
本明細書で使用される「受信者(recipient)」という用語は、その平易で通常の意味に加えて、別のエンティティ(例えば、送信者)から渡されたメッセージの受信者など、一意の検証可能なIDを有する任意のコンピュータ実装プロセスを指す。受信者は、ユーザ又はメッセージの送受信に使用されるコンピュータに関連付けることができる。
本明細書で使用される「中継者(intermediary)」という用語は、その平易で通常の意味に加えて、メッセージの送信者と受信者との間のメッセージの伝送経路に沿って配置されたエージェントを指す。中継者は、いくつかの実施形態では、送信者及び受信者が中継者によって提供されるサービスにアクセスする権限を有することを確認する認可機関(authorization authority)として機能するコンピュータ実装プロセスである。
いくつかの実施形態では、本明細書で説明する1つ又は複数のプロセス(例えば、送信者、受信者、及び中継者)は、それぞれ、相互の呼び出しを受信して応答するように構成されたアプリケーションプログラムインタフェース(API)を実装し、公開することができることに留意されたい。例えば、中継者はそれぞれ、送信者と受信者からの呼び出しを受信して応答するように構成されたAPIを実装し、公開することができる。いくつかの実施形態では、これらのAPIは、プロセスが相互運用することを可能にする。さらに、いくつかの実施形態では、上述の1つ又は複数のプロセスは、それぞれ、プロセスの私的使用のために割り当てられたローカルストレージを含むことができる。
プロセス概要
上述したように、中継者を利用する2つ以上のコンピュータ実装プロセス間のセキュアなメッセージ受け渡しには、少なくとも2つの一般的な技術がある。これらの技術は、トラステッドな中継者を使用してメッセージを伝達すること、及びデータへの不正アクセスを防止するためにメッセージを暗号化することを含む。これらの技術は、制御された環境では効果的であるが、セキュリティ対策を回避し、それらの実装における弱点や脆弱性を悪用しようとするエンティティによる攻撃に対しても脆弱である。例えば、一例では、トラステッドな中継者は、メッセージの送信者と受信者の間に位置するエージェントである。トラステッドな中継者は、エンティティ間でクリアテキストメッセージを伝達する。しかしながら、停止中(即ち、保管中)及び処理中に多数のクリアテキストメッセージを保護するには、コストがかかる。また、クリアテキストメッセージなど、中継者に保存されているデータを危険にさらす可能性がある攻撃から、中継者自体を保護する必要がある。一旦トラステッドな中継者が侵害されると、このようなメッセージは攻撃者にとってすべて利用可能になるため、クリアテキストメッセージは、非常に価値のある侵害の標的を作り出す。暗号化はセキュリティを提供するが、大規模な環境でメッセージの暗号化と復号に使用される鍵の配布と管理が難しいために、他のコストと複雑さをもたらす。
本開示の様々な実施形態によれば、1つ又は複数のセキュアな通信チャネルが、送信者から受信者へなどのメッセージを交換するプロセス間に存在するか、又は既存の技術を使用して作成できることが理解されよう。さらに、送信者、受信者、及び任意の中継者を含むすべてのプロセスは、既存の技術を使用して他のプロセスのIDを確実に認証するように構成することができることが理解されよう。上述したように、受信者が送信者から直接到達不能である場合、1つ又は複数の中継者を使用して、送信者から受信者にメッセージを渡すことができる。特定の実施形態によれば、送信者も受信者も互いに直接到達不能であるか、又は常に利用可能ではないため、メッセージの受け渡しに中継者を使用することは有用である。中継者は、送信者がメッセージを送信し、受信者が利用可能になりメッセージを受信する準備ができるまでメッセージを保持するために、送信者が確実に利用可能な「中間者(man in the middle)」を提供する。
図1は、本開示の一実施形態による、例示的なメッセージ引渡しプロセス100の概略図である。送信者プロセス(「送信者」)102は、メッセージ104を受信者106に渡すことによって、メッセージ104を受信者プロセス(「受信者」)106に直接送信する。メッセージ104は、例えば、受信者106による受信のみを意図したセンシティブな情報又は機密情報を含むことができる。送信者102は、受信者106とは分離されており、独立であり、かつ別個である(即ち、送信者102及び受信者106は、少なくとも2つの異なるスレッドによって実装される)。例えば、送信者102及び受信者106は、異なるネットワークアドレスを有する物理的に異なるサーバ上に実装することができ、処理環境及びデータストレージ環境を分離することができる。場合によっては、送信者102と受信者106は、例えば、送信者102と受信者106との間のデータ交換を防止又は制限するためのネットワークファイアウォール又は他の適切なセキュリティデバイスを使用して、互いに物理的又は論理的に分離することができる。
この構成では、送信者102と受信者106との間に中継者は存在しない。受信者106は到達可能であり、送信者102から直接メッセージ104を受信可能でなければならない。しかしながら、場合によっては、受信者106は、オフラインであるか、又はメッセージ102を受信することができない場合がある。このような場合、プロセス100は、メッセージの受け渡しに適していない。
図2は、本開示の一実施形態による、別の例示的なメッセージ受け渡しプロセス200の概略図である。この構成では、中継者プロセス(「中継者」)202は、送信者102と受信者106との間に配置される。送信者102は、メッセージ104を、受信者106に関連付けられた受信者識別子と共に、中継者202に渡す。中継者202は、送信者102からメッセージ104を受信し、受信者106がメッセージ要求204を中継者202に送信するまでメッセージ104を保持する。受信者106は、例えば、受信者106がメッセージ104を受信することを期待しているとき、又は受信者106がメッセージについて中継者202にポーリングするとき(例えば、特定の時間間隔でのポーリング、又は電源投入、ドメインコントローラへの認証などの特定のイベントに応答してのポーリング)はいつでも、メッセージ要求204を中継者202に送信することができる。中継者202は、受信者106のIDが受信者識別子と一致する場合、メッセージ104を受信者106に渡すことによって、メッセージ要求204に応答する。
プロセス200は、プロセス100の制限のいくつかに対処する。例えば、プロセス200を使用すると、中継者202は受信者106がそれを取得するまでメッセージ104を保持するので、受信者106は送信者102から到達可能である必要はない。
図3は、本開示の一実施形態による、さらに別の例示的なメッセージ受け渡しプロセス300の概略図である。この構成では、少なくとも2つの中継者(例えば、第1の中継者302及び第2の中継者312)が、送信者102と受信者106との間に配置される。送信者102は、メッセージ暗号鍵306を使用してメッセージ104を暗号化するか、又はメッセージ104を保護して、暗号化された(ロックされた)メッセージ304を生成する。送信者102は、鍵306を、鍵306を格納する第1の中継者302に送信する。送信者102は、暗号化されたメッセージ304を別途第2の中継者312に渡す。第2の中継者312は、受信者106からメッセージ304に対する要求314を受信するまで、メッセージ304を保持する。第2の中継者312は、メッセージ要求314を受信すると、暗号化されたメッセージ104を受信者106に渡す。第1の中継者302に格納されている鍵306は、受信者106からの鍵要求316に応答して、第1の中継者302から受信者106に渡される。次に、鍵306は、暗号化されたメッセージ304を復号(ロック解除)するために、受信者106によって使用される。
いくつかの実施形態によれば、メッセージ104を暗号化及び復号するための鍵306は、例えば、データに対しスクランブルをかける及び/又はスクランブルを解除するために特別に生成されたランダムなビット列を含むことができる。このような鍵は、各鍵が一意でかつ予測不能であることを保証するように設計されたプロセスを使用して作成できる。例えば、256ビットの高度暗号化標準 (AES:Advanced Encryption Standard) 鍵を使用して、メッセージ104を暗号化できる。しかしながら、対称プロセス及び非対称プロセスを含む、任意の適切な暗号化プロセスを使用できることを理解されたい。対称鍵暗号化、即ち、秘密鍵暗号化は、暗号化と復号の両方に単一の鍵を使用する。対称鍵暗号化は、大量のデータを効率的に暗号化するために使用される。256ビットのAES鍵は、対称鍵である。非対称鍵暗号化、即ち、公開鍵/秘密鍵暗号化(public/private encryption)では、鍵のペアが使用される。公開鍵/秘密鍵のペアの一方の鍵で暗号化されたデータは、公開鍵/秘密鍵のペアの他方の鍵でのみ復号される。非対称鍵のペアが生成されると、通常、公開鍵は暗号化に使用され、秘密鍵は復号に使用される。
上述したように、図2のプロセス200において、中継者202が、送信者102と受信者106との間でメッセージ104を交換するエージェントとして機能するのと同様に、第1の中継者302は、送信者102と受信者106との間で鍵306を交換するエージェントとして機能する。しかしながら、上述したように、送信者102からメッセージ104を受信する代わりに、送信者102は、メッセージ104無しで、鍵306を第1の中継者302に渡す。代わりに、暗号化されたメッセージ304は、受信者106が配信を要求するまで暗号化されたメッセージ304を保持する第2の中継者312(例えば、メッセージ及びメッセージを記述するメタデータを格納するように編成されたメッセージリポジトリ)を介して、送信者102から受信者106に渡される。暗号化されていないメッセージ104はまったく受け渡しされない。このようにすることで、第1の中継者302は、元の暗号化されていないメッセージ104又は暗号化されたメッセージ304のいずれにもアクセスできない。
第1の中継者302は、暗号化されたメッセージ304を保持していないので、鍵306だけでは、メッセージ304内の情報にアクセスするのに役に立たないことに留意されたい。これは、第1の中継者302の攻撃に対する保護の追加のレイヤーを提供する。その他の点では、プロセス300はセキュリティ問題を解決するが、メッセージ毎に送信者102から受信者106に個別の暗号鍵を格納し転送することに関連する追加コスト及び管理の複雑さがある(多くのメッセージについては、大規模な場合、これは多くのストレージ及び処理コストが発生する可能性がある)。
セキュアなメッセージの受け渡し方法の例
図4は、本開示の一実施形態による、例示的なセキュアなメッセージ受け渡しプロセス400の概略図である。この構成では、少なくとも2つの中継者(例えば、第1の中継者402及び第2の中継者412)が、送信者102と受信者106との間に配置される。ここで、メッセージ104を暗号化及び復号するプロセスは、第1の中継者402がメッセージ104を暗号化するために送信者102によって生成された暗号鍵を保持しない点で、プロセス300とは異なる。むしろ、第1の中継者402は、以下でさらに詳細に説明されるように、送信者102によって生成された対称なメッセージ暗号鍵(MEK)406を暗号化するために使用される別個の「ガード」鍵408を保持する。最初に、送信者102は、MEK406を生成し、MEK406を暗号化するための第1の中継者402への要求と共に、MEK406を第1の中継者402に渡す。MEK406を生成するために、任意の適切な技術を使用することができる。例えば、MEK406は、乱数発生器又は擬似乱数発生器を用いてランダムに生成され得る。別の例では、MEK406は、ハッシュ値としてのパスフレーズと、そのパスフレーズをMEK406に変換する暗号化ハッシュ関数とを用いて生成することができる。送信者102はまた、MEK406に、受信者106に関連付けられた受信者識別子(RID)を含める。RIDは、例えば、受信者106に固有の識別子を含むことができる。次に、第1の中継者402は、送信者102がMEK406の暗号化を要求する権限を有することを検証する。例えば、第1の中継者402は、送信者102が別個のプロセスを介して信頼されている認可機関として構成され得るし、認可機関にアクセスすることもできる。
第1の中継者402が、送信者102がMEK406の暗号化を要求する権限を有していることを確認すると、第1の中継者402は、第1の中継者402に配置されたガード鍵408を用いてMEK406を暗号化する。ガード鍵408は、ガード鍵408が第1の中継者402によってのみ保持され、他のいかなるエンティティとも共有されないという点で、他の鍵とは異なる。これは、いったんMEK406が暗号化されると、第1の中継者402のみが、MEK406を復号することができるため重要である。暗号化された形式では、MEKは、元の(暗号化されていない)MEKを使用して暗号化されたメッセージ104などのデータを復号するための鍵として使用できない。いくつかの実施形態では、第1の中継者402はまた、RIDを暗号化する。暗号化されたMEKとRID(RIDは、特定の実施形態では暗号化され、特定の他の実施形態では暗号化されない)との組み合わせは、第1の中継者402によって一緒にデジタル署名されて、暗号化/署名されたMEK/RID410を生成し、送信者102に送信する。第1の中継者402は、暗号化/署名されたMEK/RID410を送信者102に送信した後は、MEK、暗号化されたMEK、RID、又は暗号化/署名されたMEK/RID410を保持しない。次に、送信者102は、暗号化されていない元のMEK406を用いて、送信者102に配置されたメッセージ104を暗号化し、暗号化された(ロックされた)メッセージ404を生成する。例えば、256ビットAESプロセスは、MEK406を用いてメッセージ104を暗号化するのに使用することができる。送信者102は、暗号化されていない元のMEK406を、第1の中継者402以外の任意のエンティティと共有しないことに留意されたい。
次に、送信者102は、暗号化されたメッセージ404と、暗号化/署名されたMEK/RID410とを、第2の中継者412に渡す。第2の中継者412は、第1の中継者402とは分離されており、独立であり、かつ別個である(即ち、第1の中継者402及び第2の中継者412は、少なくとも2つの異なる実行環境によって実装される)。例えば、第1の中継者402及び第2の中継者412は、異なるネットワークアドレスを有する物理的に異なるサーバ上に実装することができ、処理環境及びデータストレージ環境を分離することができる。場合によっては、第1の中継者402及び第2の中継者412は、例えば、第1の中継者402と第2の中継者412との間のデータの交換を防止又は制限するためのネットワークファイアウォール又は他の適切なセキュリティデバイスを使用して、互いに物理的又は論理的に分離することができる。
次に、第2の中継者412は、送信者102が暗号化されたメッセージ404を渡す権限を有することを検証する。例えば、第2の中継者412は、送信者102が別個のプロセスを介して信頼されている認可機関として構成され得るし、認可機関にアクセスすることもできる。送信者102が暗号化されたメッセージ404を渡す権限を有していない場合、第2の中継者412は、暗号化されたメッセージ404を削除するか、他の方法で破棄する。第2の中継者412が、送信者102が暗号化されたメッセージ404を渡す権限を有していることを確認すると、第2の中継者412は、暗号化されたメッセージ404を保持する。第2の中継者412は、第2の中継者412のIDが受信者106のRIDと一致しないため、暗号化されていないMEK406にアクセスできず、暗号化されていないMEK406にアクセスできないため、暗号化されたメッセージ404を復号することができない。さらに、第1の中継者402は、第2の中継者412又は一致するRIDを有するエンティティ(受信者106など)以外の任意のエンティティからの任意の復号要求を拒否して、復号鍵を提供するように構成することができ、それによって、第2の中継者412が暗号化されたメッセージ404を復号することをさらに防止する。
次に、受信者106は、メッセージ要求414を第2の中継者412に送信し、これにより、第2の中継者412に対して、暗号化されたメッセージ404及び暗号化/署名されたMEK/RID410を受信者106に渡すように要求する。受信者106は、様々なイベントのいずれかに応答して、要求メッセージ414を生成し、送信することができる。例えば、受信者106は、定期的又は非定期的に第2の中継者412をポーリングして、第2の中継者412が受信者106に代わって保持している任意のメッセージの配信を要求することができる。次に、第2の中継者412は、RIDを用いて、受信者106が暗号化されたメッセージ404を受信する権限を有することを検証する。例えば、上述したように、第2の中継者412は、受信者106が別個のプロセスを介して信頼されている認可機関として構成することができるか、又は認可機関にアクセスすることができる。いくつかの実施形態では、RIDが必ずしも使用されないことに留意されたい。しかしながら、RID又は他の識別情報の使用は、メッセージの配信を要求するエンティティ(例えば、受信者106)がメッセージを受信する権限を有することを保証するのに役立つ。
第2の中継者412が、受信者106が暗号化されたメッセージ404を受信する権限を有していることを確認すると、第2の中継者412は、暗号化されたメッセージ404及び暗号化/署名されたMEK/RID410を受信者106に渡す。暗号化されたメッセージ404と暗号化/署名されたMEK/RID410とは、一緒に又は別々に渡すことができる。暗号化されたメッセージ404と暗号化/署名されたMEK/RID410の両方が必要であり、暗号化/署名されたMEK/RID410が無ければ、暗号化されたメッセージ404は復号できず、暗号化されたメッセージ404が無ければ、暗号化/署名されたMEK/RID410を使用してメッセージを取得できないことに留意されたい。
次に、受信者106は、暗号化/署名されたMEK/RID410を、暗号化されたMEKを復号するための第1の中継者402への要求と共に、第1の中継者402に送信する。受信者106は、第1の中継者402への復号要求にRIDも含める。次に、第1の中継者402は、受信者106が暗号化MEKの復号を要求する権限を有すること、及びRIDが受信者106のRIDと一致することを検証する。例えば、上述したように、第1の中継者402は、受信者106が別個のプロセスを介して信頼されている認可機関として構成することができ、又は認可機関にアクセスすることができる。いくつかの実施形態では、第1の中継者402はまた、暗号化されたMEKとRIDとの組み合わせが、改ざん防止手段として第1の中継者によって以前に署名されたことを確認する。
第1の中継者402が、受信者106が暗号化されたMEKの復号を要求する権限を有しており、RIDが受信者106のRIDと一致することを確認すると、第1の中継者402は、ガード鍵408を使用して暗号化されたMEKを復号する。ガード鍵408は、上述したように、第1の中継者402のみによって保持され、他のいかなるエンティティとも共有されない。次に、復号されたMEK406は、受信者106に渡される。次に、受信者106は、復号されたMEK406を使用して暗号化されたメッセージ404を復号し、復号された(ロック解除された)メッセージ104を生成する。
いくつかの実施形態によれば、MEK406及び暗号化/署名されたMEK/RID410は、例えば、データに対しスクランブルをかける及び/又はスクランブルを解除するために特別に生成されたランダムなビット列を含むことができる。このような鍵は、各鍵が一意でかつ予測不能であることを保証するように設計されたプロセスを使用して作成できる。例えば、256ビットのAESプロセス鍵を使用して、メッセージ104を暗号化することができる。しかしながら、対称暗号化/復号プロセス及び非対称暗号化/復号プロセスを含む、任意の適切な暗号化プロセスが使用可能であることが理解されよう。また、プロセス400は、任意の数の送信者、受信者、及び中継者を用いて実施可能であることも理解されよう。例えば、1人の送信者は、プロセス400を使用して、複数の受信者にメッセージを渡すことができる。同様に、複数の送信者は、プロセス400を使用して、単一の受信者にメッセージを渡すことができる。他の実施形態及び変形例は、本開示に照らして明らかであろう。
データフローの例
図5は、本開示の一実施形態による、図4の例示的なセキュアなメッセージ受け渡しプロセス400に対応するデータフロー図500である。図5を参照すると、
(1) 上述したように、最初に、送信者102は、対称なメッセージ暗号鍵(MEK)406を生成し、MEK406を、MEK406を暗号化するための第1の中継者402への要求と共に、第1の中継者402に送る。また、送信者102は、第1の中継者402への要求に、受信者に関連付けられた受信者識別子(RID)を含める。次に、第1の中継者402は、送信者102がMEK406の暗号化を要求する権限を有することを検証する。
(2) 第1の中継者402が、送信者102がMEK406の暗号化を要求する権限を有していることを確認すると、第1の中継者は、MEK406を暗号化して、暗号化されたMEKを生成する。暗号化されたMEKとRIDの暗号化された組み合わせは、暗号化/署名されたMEK/RIDを生成するために第1の中継者によって署名され、送信者102に送り返される。次に、送信者102は、暗号化されていない(元の)MEK406を用いてメッセージ104を暗号化し、暗号化された(ロックされた)メッセージ404を生成する。
(3) 次に、送信者102は、暗号化されたメッセージ404と、暗号化/署名されたMEK/RID 10とを、第2の中継者412に渡す。第2の中継者412は、暗号化されたメッセージ404及び暗号化/署名されたMEK/RID410を受信するが、第1の中継者402は、暗号化されていないメッセージ104又は暗号化されたメッセージ404のいずれをも受信することがなく、又は他の方法でもアクセスすることはない、ということに留意されたい。これにより、第1の中継者402に対する任意の攻撃が、クリアテキスト又は暗号化された形式のメッセージにアクセスすることを防止する。次に、第2の中継者412は、送信者102が暗号化されたメッセージ404を渡す権限を有することを検証する。第2の中継者412が、送信者102が暗号化されたメッセージ404を渡す権限を有していることを確認すると、第2の中継者412は、暗号化されたメッセージ404及び暗号化/署名されたMEK/RID410を保持する。
(4) 次に、受信者106は、暗号化されたメッセージ404及び暗号化された/署名されたMEK/RID 410を第2の中継者412に要求する(414)。
(5) 次に、第2の中継者412は、RIDを用いて、受信者106が暗号化されたメッセージ404を受信する権限を有することを検証する。第2の中継者412は、受信者106が暗号化されたメッセージ404を受信する権限を有していることを確認すると、第2の中継者412は、暗号化されたメッセージ404及び暗号化/署名されたMEK/RID410を受信者106に渡す。
(6) 次に、受信者106は、暗号化/署名されたMEK/RID410を、暗号化されたMEKを復号するための第1の中継者402への要求と共に、第1の中継者402に送信する。次に、第1の中継者402は、受信者106が暗号化されたMEKの復号を要求する権限を有すること、RIDが受信者106のRIDと一致すること、及び暗号化されたMEKとRIDの組み合わせが以前に第1の中継者402によって署名されていることを検証する。
(7) 第1の中継者402が、受信者106が暗号化されたMEKの復号を要求する権限を有していること、RIDが受信者106のRIDと一致すること、及び暗号化されたMEKとRIDの組み合わせが以前に第1の中継者402によって署名されていることを確認すると、第1の中継者402は暗号化されたMEKを復号する。次に、復号されたMEK406は、受信者106に渡される。
(8) 次に、受信者106は、復号されたMEK406を使用して暗号化されたメッセージ404を復号し、復号された(ロック解除された)メッセージ104を生成する。
方法論の例
図6は、本開示の一実施形態による、例示的なセキュアなメッセージ受け渡しプロセス600のフロー図である。最初に、送信者(例えば、図4の送信者102)として動作するコンピュータ実装プロセスが、対称なメッセージ暗号鍵(MEK)を生成し(601)、ガードとして動作する別のコンピュータ実装プロセス(例えば、図4の第1の中継者(ガード)402)に、MEKを暗号化するためのガードへの要求と共に、MEKを送信する。方法600は、ガードによってMEKを受信するステップ602を含む。いくつかの実施形態では、MEKを受信するステップ602は、送信者によって受信者(図4の受信者106)として識別された別のコンピュータ実装プロセスに関連付けられた受信者識別子(RID)を受信することをさらに含む。RIDは、例えば、受信者を一意に識別するために使用することができる任意の値のセットを含むことができる。ガードは、送信者がMEKの暗号化を要求する権限を有することを検証する。方法600は、ガードのみがアクセス可能な鍵を使用して、MEKを暗号化するステップ604をさらに含む。いくつかの実施形態では、暗号化されたMEKとRIDとの組み合わせは、ガード鍵を使用してガードによって署名され(604)、暗号化/署名されたMEK及びRIDを生成する。方法600は、ガードによって、暗号化/署名されたMEK/RIDを送信者に送信するステップ606をさらに含む。
いくつかの実施形態では、方法600は、送信者によって、暗号化されていないMEKを使用してメッセージを暗号化し、暗号化された(ロックされた)メッセージを生成するステップ608を含む。次に、送信者は、暗号化されたメッセージと暗号化/署名されたMEK/RIDを、メッセージリポジトリ(例えば、図4の第2の中間者(メッセージリポジトリ)412)として機能する別のコンピュータ実装プロセスに渡す。方法600は、さらに、メッセージリポジトリによって、暗号化されたメッセージ及び暗号化/署名されたMEK/RIDを受信するステップ610を含む。メッセージリポジトリが、暗号化されたメッセージ及び暗号化/署名されたMEK/RIDを受信し、保持する一方で、ガードは、暗号化されていないメッセージ又は暗号化されたメッセージのいずれにもアクセスすることはなく、又は他の方法でもアクセスすることができないことに留意されたい。これにより、ガードに対する攻撃が、クリアテキスト又は暗号化された形式のメッセージにアクセスするのを防ぐ。次に、メッセージリポジトリは、送信者が暗号化されたメッセージを受け渡す権限を有することを検証する。メッセージリポジトリが、送信者が暗号化されたメッセージを受け渡す権限を有していることを確認すると、メッセージリポジトリは暗号化されたメッセージを保持する。
次に、受信者は、暗号化されたメッセージと暗号化/署名されたMEK/RIDをメッセージリポジトリに要求する。次に、メッセージリポジトリは、RIDを用いて、受信者が暗号化されたメッセージを受信する権限を有することを検証する。メッセージリポジトリが、受信者が暗号化されたメッセージを受信する権限を有していることを確認すると、方法600は、メッセージリポジトリによって、暗号化されたメッセージ、及び暗号化/署名されたMEK/RIDを受信者に渡すステップ612を継続する。
次に、受信者は、暗号化/署名されたMEK/RIDを、暗号化されたMEKを復号するためのガードへの要求と共に、ガードに送信する(613)。方法600は、ガード402によって、暗号化されたMEKを受信するステップ614をさらに含む。 いくつかの実施形態では、ガードは、受信者が暗号化されたMEKの復号を要求する権限を有すること、及びRIDが受信者のRIDと一致することを検証する。ガードは、受信者が暗号化されたMEKの復号を要求する権限を有していること、RIDが受信者のRIDと一致すること、及び暗号化されたMEKとRIDの組み合わせが以前にガードによって署名されたことを確認すると、方法600は、ガードによって、暗号化されたMEKを復号するステップ616を継続する。方法600は、ガードによって、復号されたMEKを受信者に送信するステップ618をさらに含む。いくつかの実施形態では、方法600は、受信者によって復号された(ロック解除された)メッセージを生成するために、復号されたMEK406を用いて暗号化されたメッセージを復号するステップ620をさらに含む。
コンピューティング・プラットフォームの例
図7は、本開示の一例による、セキュアなメッセージ受け渡しプロセスを実行するように構成されたコンピューティング・プラットフォーム700のブロック図である。場合によっては、プラットフォーム700は、ワークステーション、ラップトップコンピュータ、タブレット、モバイルデバイス、又は任意の適切なコンピュータ又は通信デバイスであってもよい。
コンピューティング・プラットフォーム又はデバイス700は、1つ又は複数のプロセッサ710、揮発性メモリ720(例えば、ランダムアクセスメモリ)、不揮発性メモリ730、1つ又は複数のネットワーク又は通信インタフェース740、ユーザインタフェース760、ディスプレイスクリーン770、及び通信バス750を含む。コンピューティング・プラットフォーム700は、コンピュータ又はコンピュータシステムとも呼ばれる。
不揮発性(一時的でない)メモリ730は、以下のものを含むことができる。1つ又は複数のハードディスクドライブ(HDD)又は他の磁気又は光ストレージメディア、フラッシュドライブ又は他のソリッドステートストレージメディアなどの1つ又は複数のソリッドステートドライブ(SSD)、1つ又は複数のハイブリッド磁気ドライブ及びソリッドステートドライブ、及び/又は、クラウドストレージなどの1つ又は複数の仮想ストレージボリューム、又はそのような物理的なストレージボリュームと仮想ストレージボリューム又はアレイとの組合せ。
ユーザインタフェース760は、1つ又は複数の入出力(I/O)デバイス(例えば、マウス、キーボード、マイクロフォン、1つ又は複数のスピーカ、1つ又は複数の生体認証スキャナ、1つ又は複数の環境センサ、及び1つ又は複数の加速度計など)を含むことができる。
ディスプレイスクリーン770は、グラフィカルユーザインタフェース(GUI)を提供することができ、場合によっては、タッチスクリーン又は任意の他の適切なディスプレイデバイスであってもよい。
不揮発性メモリ730は、例えば、オペレーティングシステム(「OS」)725及びアプリケーション734のコンピュータ命令が、プロセッサ710によって揮発性メモリ720から読み出されて実行されるように、オペレーティングシステム725、1つ又は複数のアプリケーション734、及びデータ736を格納する。いくつかの例では、揮発性メモリ720は、メインメモリよりも高速な応答時間を提供できる1つ又は複数のタイプのRAM及び/又はキャッシュメモリを含むことができる。データは、ユーザインタフェース760を介して入力することができる。コンピューティング・プラットフォーム700の様々な構成要素は、通信バス750を介して通信することができる。
図示されたコンピューティング・プラットフォーム700は、単なる一例のコンピュータとして示されており、本明細書に記載するように動作可能な適切なハードウェア及び/又はソフトウェアを有することができる任意のタイプのマシン又はマシンのセットを備えた、任意のコンピューティング環境又は処理環境によって実装することができる。
プロセッサ710は、1つ又は複数のプログラム可能プロセッサによって実装されて、コンピュータプログラムのような1つ又は複数の実行可能命令を実行することができ、システムの機能を実行する。本明細書で使用される「プロセッサ」という用語は、機能、動作、又は動作のシーケンスを実行する回路を表す。機能、動作、又は動作のシーケンスは、回路内にハードコーディングされるか、又はメモリデバイス内に保持され、回路によって実行される命令によってソフトコーディングされることが可能である。プロセッサは、デジタル値を使用して、及び/又はアナログ信号を使用して、機能、動作、又は動作のシーケンスを実行することができる。
いくつかの例では、プロセッサは、1つ又は複数の特定用途向け集積回路(ASIC)、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、グラフィックス処理ユニット(GPU)、マイクロコントローラ、フィールド・プログラマブル・ゲート・アレイ(FPGA)、プログラマブル・ロジック・アレイ(PLA)、マルチコア・プロセッサ、又は関連するメモリを備えた汎用コンピュータで実施することができる。
プロセッサ710は、アナログ、デジタル、又は混合とすることができる。いくつかの例では、プロセッサ710は、1つ又は複数の物理プロセッサ、又は1つ又は複数の仮想(例えば、遠隔に位置する又はクラウド上の)プロセッサとすることができる。複数のプロセッサコアを含む1つのプロセッサ及び/又は複数のプロセッサは、複数の命令の並列、同時実行のための機能、又は複数のデータに対する1つの命令の並列、同時実行のための機能を提供することができる。
ネットワークインタフェース740は、コンピューティング・プラットフォーム700が、セルラー接続を含む様々な有線接続及び/又は無線接続を介して、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、パーソナルエリアネットワーク(PAN)、又はインターネットのようなコンピュータネットワーク780にアクセスできるようにするための1つ又は複数のインタフェースを含むことができる。いくつかの例では、ネットワーク780は、分散コンピューティングを可能にするために、他のコンピューティング・プラットフォーム790との通信を可能にしてもよい。いくつかの例では、ネットワーク780は、図1~図4の送信者102、受信者106、中継者202又は302、第1の中継者402、及び第2の中継者412のうちの1つ又は複数との通信を可能にすることができる。
様々な実施形態の前述の説明及び図面は、例としてのみ提示されている。これらの実施例は、網羅的であることや、本発明を開示された通りの形態に限定することを意図するものではない。変更、修正、及び変形は、本開示に照らして明らかであり、特許請求の範囲に記載される本発明の範囲内にあることが意図されている。
また、本明細書中で使用される表現及び用語は、説明を目的とするものであり、限定的なものとみなされるべきではない。本明細書において単数形で言及されるシステム及び方法の例、構成要素、要素、又は動作への任意の言及はまた、複数形を含む例を包含することができる。本明細書において複数形で言及される任意の例、構成要素、要素、又は動作への任意の言及はまた、単数のみを含む例を包含することができる。単数形又は複数形の言及は、現在開示されているシステム又は方法、それらの構成要素、行為、又は要素を限定することを意図していない。本明細書における「含む(including)」、「備える(comprising)」、「有する(having)」、「含む(containing)」、「含む(involving)」、及びその変形の使用は、その後に列挙される項目及びその均等物ならびに追加の項目を包含することを意味する。「又は(or)」への言及は、「又は」を使用して記載される任意の用語が、記載される用語のうちのいずれか1つ、2つ以上、及びすべてを示すことができるように、包括的であると解釈され得る。さらに、本文書と参照により本明細書に組み込まれる文書との間で用語の使用が矛盾する場合、組み込まれる参照における用語の使用は、本文書の用語の使用を補足するものであり、整合不能に矛盾する場合、本文書における用語の使用が優先される。

Claims (20)

  1. 第1の中継者コンピュータにより、送信者コンピュータに配置されたメッセージであって前記第1の中継者コンピュータとは分離されており、独立であり、かつ別個の第2の中継者デバイスを介して前記送信者コンピュータと受信者コンピュータとの間で受け渡されるメッセージを暗号化するために、前記送信者コンピュータにより生成された第1の暗号鍵を受信することと、
    前記第1の中継者コンピュータにより、前記第1の暗号鍵の暗号化バージョンを生成するために、前記第1の中継者コンピュータに配置された第2の暗号鍵を用いて前記第1の暗号鍵を暗号化することと、
    前記第1の中継者コンピュータにより、前記メッセージに含めるために、前記第1の暗号鍵の前記暗号化バージョンを前記送信者コンピュータに送信することと、
    前記第1の中継者コンピュータにより、前記受信者コンピュータから前記第1の暗号鍵の前記暗号化バージョンを受信することと、
    前記第1の中継者コンピュータにより、前記第1の暗号鍵の復号バージョンを生成するために、前記第1の中継者コンピュータに配置された前記第2の暗号鍵を用いて前記第1の暗号鍵の前記暗号化バージョンを復号することと、
    前記第1の中継者コンピュータにより、前記メッセージを復号するために、前記第1の暗号鍵の復号バージョンを前記受信者コンピュータに送信することと、
    を含む方法。
  2. 前記第1の中継者コンピュータにより、前記第1の暗号鍵の前記暗号化バージョンにデジタル署名することをさらに含む、請求項1に記載の方法。
  3. 前記第1の中継者コンピュータにより、前記受信者コンピュータから前記第1の暗号鍵の前記デジタル署名され暗号化されたバージョンを受信し、前記第1の暗号鍵の前記暗号化バージョンを復号する前に、前記受信者コンピュータに関連付けられた受信者識別子(RID)に基づいて、前記受信者コンピュータが前記第1の暗号鍵の前記暗号化バージョンの復号を要求する権限を有することを検証することをさらに含む、請求項2に記載の方法。
  4. 前記第1の中継者コンピュータにより、前記第1の暗号鍵の前記暗号化バージョンと前記RIDとにデジタル署名することをさらに含む、請求項3に記載の方法。
  5. 前記第2の中継者コンピュータにより、前記第1の暗号鍵の前記暗号化バージョンと、前記第1の暗号鍵を用いて前記送信者コンピュータによって暗号化されたメッセージとを、前記送信者コンピュータから受信することと、
    前記第2の中継者コンピュータにより、前記暗号化されたメッセージと前記第1の暗号鍵の前記暗号化バージョンとを、前記受信者コンピュータに受け渡す要求を受信することと、
    前記第2の中継者コンピュータにより、前記第1の暗号鍵の前記暗号化バージョンと、前記第1の暗号鍵を用いて前記送信者コンピュータによって暗号化された前記メッセージとを、前記受信者コンピュータに受け渡すことと、
    をさらに含む、請求項1記載の方法。
  6. 前記中継者コンピュータにより、前記送信者コンピュータから前記第1の暗号鍵を受信したことに応答して、前記送信者コンピュータが前記第1の暗号鍵の暗号化を要求する権限を有することを検証することをさらに含む、
    請求項1に記載の方法。
  7. 前記第1の暗号鍵は、対称暗号化プロセスを使用して暗号化される、請求項1に記載の方法。
  8. 前記第1の暗号鍵は、非対称暗号化プロセスを使用して暗号化される、請求項1に記載の方法。
  9. 第2の中継者コンピュータにより、送信者コンピュータと受信者コンピュータとの間で受け渡される暗号化されたメッセージであって前記送信者コンピュータによって第1の暗号鍵を用いて暗号化された前記メッセージを受信し、前記第2の中継者コンピュータとは分離されており、独立であり、かつ別個の第1の中継者デバイスによって暗号化された前記第1の暗号鍵の暗号化バージョンをさらに受信することと、
    前記第2の中継者コンピュータにより、前記暗号化されたメッセージと前記第1の暗号鍵の前記暗号化バージョンとを前記受信者コンピュータに受け渡す要求を受信することと、
    前記第2の中継者コンピュータにより、前記暗号化されたメッセージと、前記第1の暗号鍵の前記暗号化バージョンであって前記第1の中継者デバイスに配置された第2の暗号鍵を用いて前記第1の中継者コンピュータによって暗号化された前記第1の暗号鍵の前記暗号化バージョンとを、前記受信者コンピュータに受け渡すことと、
    を含む方法。
  10. 前記受信者コンピュータに前記暗号化されたメッセージを送信する前に、前記受信者コンピュータに関連付けられた受信者識別子(RID)に基づいて、前記受信者コンピュータが、前記受信者コンピュータへの前記暗号化されたメッセージの受け渡しを要求する権限を有することを、前記第2の中継者コンピュータによって検証することをさらに含む、請求項9に記載の方法。
  11. 前記第1の中継者コンピュータにより、前記メッセージを暗号化するために前記送信者コンピュータによって使用される前記第1の暗号鍵を受信することと、
    前記第1の中継者コンピュータにより、前記第1の暗号鍵の前記暗号化バージョンを生成するために、前記第1の中継者デバイスに配置された前記第2の暗号鍵を用いて前記第1の暗号鍵を暗号化することと、
    前記第1の中継者コンピュータにより、前記受信者コンピュータに受け渡される前記メッセージに含めるために、前記第1の暗号鍵の前記暗号化バージョンを前記送信者コンピュータに送信することと、
    前記第1の中継者コンピュータにより、前記送信者コンピュータからの前記メッセージの受信に続いて、前記受信者コンピュータから前記第1の暗号鍵の前記暗号化バージョンを受信することと、
    前記第1の中継者コンピュータにより、前記第1の暗号鍵の復号バージョンを生成するために、前記第2の暗号鍵を用いて前記第1の暗号鍵の前記暗号化バージョンを復号することと、
    前記中継者コンピュータにより、前記メッセージを復号するために、前記第1の暗号鍵の復号バージョンを前記受信者コンピュータに送信することと、
    をさらに含む、請求項10に記載の方法。
  12. 前記第1の中継者コンピュータにより、前記第1の暗号鍵の前記暗号化バージョンを前記受信者から受信し、前記暗号化されたメッセージ暗号鍵(MEK)を復号する前に、前記受信者コンピュータに関連付けられた受信者識別子(RID)に基づいて、前記受信者が前記暗号化された第1の暗号鍵の復号を要求する権限があることを検証することをさらに含む、請求項11に記載の方法。
  13. 前記第1の暗号鍵は、対称暗号化プロセスを使用して暗号化される、請求項9に記載の方法。
  14. 前記第1の暗号鍵は、非対称暗号化プロセスを使用して暗号化される、請求項9に記載の方法。
  15. セキュアなメッセージ受け渡しシステムであって、
    第1のメモリと、前記第1のメモリに結合された少なくとも1つの第1のプロセッサとを含む第1の中継者であって、
    送信者コンピュータに配置されたメッセージであって前記送信者コンピュータと受信者コンピュータとの間で受け渡されるメッセージを暗号化するために、前記送信者コンピュータによって生成されたメッセージ暗号鍵(MEK)を受信し、
    前記MEKの暗号化バージョンを生成するために、前記第1の中継者に配置されたガード鍵を用いてMEKを暗号化し、
    前記メッセージに含めるために、前記MEKの前記暗号化バージョンを前記送信者コンピュータに送信し、
    前記MEKの前記暗号化バージョンを前記受信者コンピュータから受信し、
    前記MEKの復号バージョンを生成するために、前記第1の中継者に配置された前記ガード鍵を用いて暗号化されたMEKを復号し、
    前記メッセージを復号するために、前記MEKの前記復号バージョンを前記受信者コンピュータに送信する、ように構成された第1の中継者と、
    第2のメモリと、前記第2のメモリに結合された少なくとも1つの第2のプロセッサとを含み、前記第1の中継者とは分離されており、独立であり、かつ別個の第2の中継者であって、
    前記MEKの前記暗号化バージョンと前記MEKを用いて前記送信者コンピュータによって暗号化された前記メッセージとを前記送信者コンピュータから受信し、
    暗号化された前記メッセージと前記MEKの前記暗号化バージョンとを受信者コンピュータに送信する要求を受信し、
    前記MEKの前記暗号化バージョンと前記MEKを用いて前記送信者コンピュータによって暗号化された前記メッセージとを、前記受信者コンピュータに送信する、ように構成された第2の中継者と、
    を含む、システム。
  16. 前記第1の中継者は、前記MEKの前記暗号化バージョンと、前記受信者コンピュータに関連付けられた受信者識別子(RID)とにデジタル署名するようにさらに構成された、請求項15に記載のシステム。
  17. 前記第1の中継者は、前記受信者から前記MEKの前記デジタル署名され暗号化されたバージョンを受信し、前記暗号化されたMEKを復号する前に、前記RIDに基づいて、前記受信者が前記MEKの前記暗号化バージョンの復号を要求する権限を有することを検証するように、さらに構成される、請求項16に記載のシステム。
  18. 前記第1の中継者は、前記送信者コンピュータから前記MEKを受信したことに応答して、前記送信者コンピュータが前記MEKの暗号化を要求する権限を有することを検証するようにさらに構成される、請求項15に記載のシステム。
  19. 前記送信者コンピュータは、前記MEKを用いてメッセージを暗号化するように構成され、前記受信者コンピュータは、前記復号されたMEKを用いて前記メッセージを復号するように構成される、請求項15に記載のシステム。
  20. 前記MEKは、対称暗号化プロセスを使用して暗号化される、請求項15に記載のシステム。
JP2021502755A 2020-01-29 2020-11-09 セミトラステッドな中継者を使用したセキュアなメッセージ受け渡し Pending JP2022522555A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/775,901 2020-01-29
US16/775,901 US11159497B2 (en) 2020-01-29 2020-01-29 Secure message passing using semi-trusted intermediaries
PCT/US2020/059670 WO2021154368A1 (en) 2020-01-29 2020-11-09 Secure message passing using semi-trusted intermediaries

Publications (1)

Publication Number Publication Date
JP2022522555A true JP2022522555A (ja) 2022-04-20

Family

ID=73646588

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021502755A Pending JP2022522555A (ja) 2020-01-29 2020-11-09 セミトラステッドな中継者を使用したセキュアなメッセージ受け渡し

Country Status (6)

Country Link
US (2) US11159497B2 (ja)
EP (1) EP4078915A1 (ja)
JP (1) JP2022522555A (ja)
CN (1) CN113475038A (ja)
AU (1) AU2020286292B2 (ja)
WO (1) WO2021154368A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10049218B2 (en) * 2016-12-07 2018-08-14 Google Llc Rollback resistant security

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002087146A1 (fr) * 2001-04-18 2002-10-31 Pumpkin House Incorporated Systeme de chiffrement et procede de commande dudit systeme
JP2004297755A (ja) * 2003-02-12 2004-10-21 Pumpkin House:Kk 暗号システムにおける鍵管理サーバおよび復号装置を制御するプログラム,ならびに署名/検証システムにおける鍵管理サーバおよび検証装置を制御するプログラム
JP2004364188A (ja) * 2003-06-06 2004-12-24 Ahkun Co Ltd 暗号システム及びその暗号文処理方法
WO2006059390A1 (ja) * 2004-12-03 2006-06-08 Mobile Technika Inc. 暗号システム
JP2006277517A (ja) * 2005-03-30 2006-10-12 Nomura Research Institute Ltd ファイル転送システム及びファイル転送方法
US20070269041A1 (en) * 2005-12-22 2007-11-22 Rajat Bhatnagar Method and apparatus for secure messaging
WO2009153974A1 (ja) * 2008-06-20 2009-12-23 コニカミノルタホールディングス株式会社 データ管理システム、データ管理方法、およびコンピュータプログラム

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6959288B1 (en) * 1998-08-13 2005-10-25 International Business Machines Corporation Digital content preparation system
US6697942B1 (en) * 1999-02-04 2004-02-24 Earthlink, Inc. Method for remotely managing a remote device using an electronic mail message
US7096355B1 (en) * 1999-04-26 2006-08-22 Omniva Corporation Dynamic encoding algorithms and inline message decryption
WO2001063831A1 (en) * 2000-02-24 2001-08-30 Valicert Corporation Mechanism for efficient private bulk messaging
US8972717B2 (en) * 2000-06-15 2015-03-03 Zixcorp Systems, Inc. Automatic delivery selection for electronic content
AU779440B2 (en) * 2000-06-21 2005-01-27 Sony Corporation Information recording/reproducing apparatus and method
US6986047B2 (en) * 2001-05-10 2006-01-10 International Business Machines Corporation Method and apparatus for serving content from a semi-trusted server
US20030061481A1 (en) * 2001-09-26 2003-03-27 David Levine Secure broadcast system and method
US20030204722A1 (en) * 2002-04-26 2003-10-30 Isadore Schoen Instant messaging apparatus and method with instant messaging secure policy certificates
US7221757B2 (en) * 2002-08-15 2007-05-22 Opentv, Inc. Method and system for accelerated data encryption
KR100549504B1 (ko) * 2003-10-10 2006-02-03 한국전자통신연구원 서명 암호화를 이용한 웹서비스 보안에서의 soap메시지 생성 및 검증 방법
US7523314B2 (en) * 2003-12-22 2009-04-21 Voltage Security, Inc. Identity-based-encryption message management system
DE602005007526D1 (de) * 2004-02-27 2008-07-31 Ibm System zum Erreichen einer anonymen Kommunikation einer Nachricht unter Verwendung einer Geheimschlüsselkryptographie
US7535905B2 (en) * 2004-03-31 2009-05-19 Microsoft Corporation Signing and validating session initiation protocol routing headers
US7370202B2 (en) * 2004-11-02 2008-05-06 Voltage Security, Inc. Security device for cryptographic communications
US8209751B2 (en) * 2004-11-18 2012-06-26 Biogy, Inc. Receiving an access key
US7890634B2 (en) * 2005-03-18 2011-02-15 Microsoft Corporation Scalable session management
US7949138B2 (en) * 2005-06-30 2011-05-24 Microsoft Corporation Secure instant messaging
US8503681B1 (en) * 2005-11-04 2013-08-06 Cisco Technology, Inc. Method and system to securely transport data encryption keys
GB2434947B (en) * 2006-02-02 2011-01-26 Identum Ltd Electronic data communication system
US8976008B2 (en) * 2006-08-24 2015-03-10 Privacydatasystems, Llc Cross-domain collaborative systems and methods
US8082446B1 (en) * 2006-11-30 2011-12-20 Media Sourcery, Inc. System and method for non-repudiation within a public key infrastructure
US20080162527A1 (en) * 2006-12-29 2008-07-03 Ceelox Inc. System and method for secure and/or interactive dissemination of information
US20080165972A1 (en) * 2007-01-08 2008-07-10 I-Fax.Com Inc. Method and system for encrypted email communication
CN101715638A (zh) * 2007-03-20 2010-05-26 迪姆威奇软件有限责任公司 为获取解密密钥而请求密钥获取的安全电子消息***
JP5361031B2 (ja) * 2008-01-07 2013-12-04 アルパイン株式会社 暗号認証処理方法及び装置
US8194858B2 (en) * 2009-02-19 2012-06-05 Physical Optics Corporation Chaotic cipher system and method for secure communication
US20100313016A1 (en) * 2009-06-04 2010-12-09 Microsoft Corporation Transport Pipeline Decryption for Content-Scanning Agents
GB2476045B (en) * 2009-12-08 2015-04-22 Metaswitch Networks Ltd Provision of text messaging services
US8726009B1 (en) * 2010-01-26 2014-05-13 David P. Cook Secure messaging using a trusted third party
US9077709B1 (en) * 2012-01-31 2015-07-07 Teradici Corporation Method for authenticated communications incorporating intermediary appliances
US8769260B1 (en) * 2012-04-10 2014-07-01 Trend Micro Incorporated Messaging system with user-friendly encryption and decryption
US8938613B2 (en) * 2012-05-31 2015-01-20 Novell, Inc. Techniques for secure message offloading
US9049235B2 (en) * 2012-07-16 2015-06-02 Mcafee, Inc. Cloud email message scanning with local policy application in a network environment
WO2014108835A2 (en) * 2013-01-08 2014-07-17 Bar-Ilan University A method for providing security using secure computation
CN104641617B (zh) * 2013-03-05 2019-01-18 华为技术有限公司 一种密钥交互方法及装置
SG11201508725SA (en) * 2013-04-25 2015-11-27 Treebox Solutions Pte Ltd Method performed by at least one server for processing a data packet from a first computing device to a second computing device to permit end-to-end encryption communication
US20150180845A1 (en) * 2013-12-19 2015-06-25 Robert Uomini Electronic mail system and methods
US9832179B2 (en) * 2015-02-25 2017-11-28 Red Hat Israel, Ltd. Stateless server-based encryption associated with a distribution list
US11444897B2 (en) * 2015-07-06 2022-09-13 Cryptomill Inc. System and method for providing privacy control to message based communications
US9641544B1 (en) * 2015-09-18 2017-05-02 Palo Alto Networks, Inc. Automated insider threat prevention
US10979393B2 (en) * 2016-01-11 2021-04-13 Mimecast North America, Inc. Identity-based messaging security
FR3057123A1 (fr) * 2016-09-30 2018-04-06 Orange Procede et systeme de detection d'intrusions sur un reseau
US10298551B1 (en) * 2016-12-14 2019-05-21 EMC IP Holding Company LLC Privacy-preserving policy enforcement for messaging
WO2018208787A1 (en) * 2017-05-08 2018-11-15 ZeroDB, Inc. High-performance access management and data protection for distributed messaging applications
US10715504B2 (en) * 2017-07-12 2020-07-14 Wickr Inc. Provisioning ephemeral key pools for sending and receiving secure communications
US11095662B2 (en) * 2017-08-29 2021-08-17 Amazon Technologies, Inc. Federated messaging
GB2568966A (en) * 2017-12-04 2019-06-05 Wellness Tech And Media Group Ltd An encryption process
FR3079045B1 (fr) * 2018-03-19 2021-12-03 Psa Automobiles Sa Procede d’emission de donnees depuis un vehicule automobile et procede de reception desdites donnees par un autre vehicule, a travers un canal de communication radio.
US11212294B2 (en) * 2018-09-12 2021-12-28 Grid7 LLC Data packet security with expiring time-based hash message authentication codes (HMACs)
US11159309B2 (en) * 2018-12-20 2021-10-26 Fortanix, Inc. Obtaining quorum approval to perform an operation with a cryptographic item of a key management system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002087146A1 (fr) * 2001-04-18 2002-10-31 Pumpkin House Incorporated Systeme de chiffrement et procede de commande dudit systeme
JP2004297755A (ja) * 2003-02-12 2004-10-21 Pumpkin House:Kk 暗号システムにおける鍵管理サーバおよび復号装置を制御するプログラム,ならびに署名/検証システムにおける鍵管理サーバおよび検証装置を制御するプログラム
JP2004364188A (ja) * 2003-06-06 2004-12-24 Ahkun Co Ltd 暗号システム及びその暗号文処理方法
WO2006059390A1 (ja) * 2004-12-03 2006-06-08 Mobile Technika Inc. 暗号システム
JP2006277517A (ja) * 2005-03-30 2006-10-12 Nomura Research Institute Ltd ファイル転送システム及びファイル転送方法
US20070269041A1 (en) * 2005-12-22 2007-11-22 Rajat Bhatnagar Method and apparatus for secure messaging
WO2009153974A1 (ja) * 2008-06-20 2009-12-23 コニカミノルタホールディングス株式会社 データ管理システム、データ管理方法、およびコンピュータプログラム

Also Published As

Publication number Publication date
US20210234845A1 (en) 2021-07-29
AU2020286292A1 (en) 2021-08-12
US20220006795A1 (en) 2022-01-06
AU2020286292B2 (en) 2022-12-08
CN113475038A (zh) 2021-10-01
US11159497B2 (en) 2021-10-26
EP4078915A1 (en) 2022-10-26
WO2021154368A1 (en) 2021-08-05

Similar Documents

Publication Publication Date Title
US11855767B2 (en) Methods and systems for distributing encrypted cryptographic data
US9609024B2 (en) Method and system for policy based authentication
US8813247B1 (en) Providing cryptographic security for objective-oriented programming files
US10594479B2 (en) Method for managing smart home environment, method for joining smart home environment and method for connecting communication session with smart device
US20140096213A1 (en) Method and system for distributed credential usage for android based and other restricted environment devices
CN110505055B (zh) 基于非对称密钥池对和密钥卡的外网接入身份认证方法和***
JP7160605B2 (ja) 安全にデータを転送する方法およびシステム
US10958630B2 (en) System and method for securely exchanging data between devices
EP4246892A2 (en) Method and system for controlling the exchange of privacy-sensitive information
US11438316B2 (en) Sharing encrypted items with participants verification
CN108199838B (zh) 一种数据保护方法及装置
EP3877879B1 (en) Methods and systems of securely transferring data
CN110519222B (zh) 基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和***
CN106992978B (zh) 网络安全管理方法及服务器
US20220006795A1 (en) Secure message passing using semi-trusted intermediaries
CA3104787C (en) Secure message passing using semi-trusted intermediaries
JP6830635B1 (ja) データ管理方法
Arvin S. Lat et al. SOUL System: secure online USB login system
US20240012933A1 (en) Integration of identity access management infrastructure with zero-knowledge services
US11736462B1 (en) Hybrid content protection architecture for email
CN114826702B (zh) 数据库访问密码加密方法、装置和计算机设备
Nepal et al. Portable Key Management Service for Cloud Storage
JP2015015674A (ja) 通信システム、鍵供給装置、通信方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210604

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210115

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220713

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20221115