IP Library Granted Patent US 9,106,413
Granted Patent B2
US 9,106,413 · App. 13/837,440 · Granted Aug 11, 2015

Method and apparatus for resilient end-to-end message protection for large-scale cyber-physical system communications

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,106,413
App. No.
13/837,440
Granted
Aug 11, 2015
Kind
B2
Abstract

To address the security requirements for cyber-physical systems, embodiments of the present invention include a resilient end-to-end message protection framework, termed Resilient End-to End Message Protection or REMP, exploiting the notion of the long-term key that is given on per node basis. This long term key is assigned during the node authentication phase and is subsequently used to derive encryption keys from a random number per-message sent. Compared with conventional schemes, REMP improves privacy, message authentication, and key exposure, and without compromising scalability and end-to-end security. The tradeoff is a slight increase in computation time for message decryption and message authentication.

Claims (39)

1. A method of secure communication between a group of publishers and a group of subscribers in a network, said method comprising the steps of:

assigning by one, or more authentication servers a long-term key on per node basis to said publishers in the group of publishers and subscribers in the group of subscribers during a node authentication phase; and

using said long term key to derive encryption keys from a random number per-message set, wherein a publisher in the group of publishers executes encryption using a separate key per message sent and wherein a subscriber in the group of subscribers computes a decryption key when a message is received, computation of said decryption key being enabled by said long-term key that was assigned; and

wherein for a group, the authentication servers distribute four kinds of long term keys: a single publishing master key, a publishing key per publisher in the group of publishers, a single access-ticket key, and an authentication key per member and for a group m, given the single publishing master key pm, a publisher in the group of publishers with identity i is assigned a publishing key p_i=AESpm(i); and

wherein message brokers multicast messages from publishers in a group of publishers to subscribers in the group, wherein for publisher subscriber groups, the authentication servers are responsible for member authentication and key distribution to publishers in the group of publishers, subscribers in the group of subscribers and message broker members of the group of publishers and subscribers, wherein in a group, a member is authenticated and then assigned keys; and a message broker authenticated for a group maintaining security state for subscribers authenticated for that group and when a message broker receives a message from a publisher in the group of publishers the message is accompanied by an authentication ticket, the broker then uses the assigned single access ticket key to decrypt the authentication ticket and verifies if the source of the message is a publisher permitted to access the group.

2. The method of claim 1 , wherein a publishing master pm is given to all subscribers and p_i and pm are subsequently used to compute keys for message encryption and decryption respectively.

3. A method of secure communication between a group of publishers and a group of subscribers in a network, said method comprising the steps of:

assigning, by one, or more authentication servers a long-term key on per node basis to said publishers in the group of publishers and subscribers in the group of subscribers during a node authentication phase; and

using said long term key to derive encryption keys from a random number per-message set, wherein a publisher in the group of publishers executes encryption using a separate key per message sent and wherein a subscriber in the group of subscribers computes a decryption key when a message is received, computation of said decryption key being enabled by said long-term key that was assigned; and

wherein for a group, authentication servers distribute four kinds of long term keys: a single publishing master key pm, a publishing key p_i per publisher in the group of publishers, a single access-ticket key tk, and an authentication key per member, a_i for publishers, and, a_j for subscribers, and for a group m, given the single publishing master key pm, a publisher with identity i in the group of publishers is assigned the publishing key p_i=AESpm(i), and access tickets Ti=Etk(i∥a_i∥‘W’) for publishers with identity i in the group of publishers, and Tj=Etk(j∥a_j∥‘R’) for subscribers with identity j in the group of subscribers are assigned; and

wherein session keys are computed using a key derivation function for message encryption and decryption, a key being pseudo-randomly generated from the publishing key p_i, and a random number rnk; and

wherein given the publishing key p_i, for the random number rnk, a publisher, i, in the group of publishers computes an encryption key s_k=AESp_i(rnk), further including the steps of:

upon receiving an encrypted message from publisher, I, in the group of publishers, a subscriber in the group of subscribers computes the publishing key p_i using the publishing master key pm; and

from p_i a decryption key s_k is computed, the decryption key being able to be computed given the publishing master key, pm, and the random number, rnk; and

wherein for a subscriber with identity j of group m, given a message broker B, a security association is established between B and j; and when B receives a message, B verifies whether the message comes from a publisher permitted for group m; and

wherein after subscriber j is authenticated, subscriber j generates encryption Aj, which contains identity j, time stamp tsi, and j's address, wherein Aj is encrypted with j's authentication key a_j, and subscriber j sends a control message containing Ai and j's access-ticket Tj to message broker B who holds the access-ticket key tk given by an authentication server; and

wherein for a given the authentication key a_i, and an encrypted message Xk=(Es_k(Mk), rnk, m), publisher i creates an E2E authenticator that contains identity i and a cryptographic hash of Xk using the publishing key p_i, {i∥Hp_i(Xk)}, and then encrypts the E2E authenticator using the authentication key, a_i; and

wherein Xk, the encrypted E2E authenticator, and access-ticket Ti are together sent to message broker B, and upon reaching B, identity i and authentication key a_i are extracted from Ti using the assigned access-ticket key tk, and then identity i is extracted from Ea_i(i∥Hp_i(Xk)) using a_i, wherein if the two identities are equal, B newly encrypts the E2E authenticator {i∥Hp_i(Xk)}, using the authentication key a_j of subscriber j where Xk will be sent; and

when an encrypted message, Xk, reaches message broker B, broker B can compute both the authentication key a_j and access right of subscriber j from Tj using tk, and then verify Aj using a_j, and upon verification, message broker B can establish a security a security association with subscriber j.

4. The method of claim 3 , wherein when subscriber j receives E a-j(i∥Hp-i (X k )) together with X k , it extracts {i∥H p-i (X k )} using its authentication key a_j wherein H p-i (X k ) is verified using the publishing key p_i.

5. An apparatus for providing secure communication between a group of publishers and a group of subscribers in a network, said apparatus comprising: a communications interface for enabling communications over a network; and

a hardware processor which when programmed with executable program code is operable to:

assign a long-term key on per node basis to said publishers and subscribers during a node authentication phase; and

assign a long-term authentication key on per node basis to said publishers and subscribers during node authentication phase: and

assign an access-ticket on per node basis to said publishers and subscribers during a node authentication phase; and

use said long term key to derive encryption keys from a random number per-message sent, wherein a publisher executes encryption using a separate key per message sent, and wherein a subscriber computes a decryption key when a message is received, computation of said decryption key being enabled by said long-term key that was assigned; and

wherein session keys are computed using a key derivation function for message encryption and decryption, a key being pseudo-randomly generated from a publishing key and a random number; and

wherein given publishing key p_i, for a random number rnk, a publisher i computes an encryption key s_k=AESp_i(rnk), further including the steps of:

upon receiving an encrypted message from publisher i, a subscriber computes the publishing key p_i using a publishing master key pm; and

from p_i a decryption key s_k is computed, the decryption key being able to be computed given the publishing key p_i, and the random number rnk; and

wherein for a subscriber with identity j of group m, given a message broker B, a security association is established between B and j; and

when B receives a message, B verifies whether the message comes from a publisher permitted for group, group m; and

wherein after a subscriber, with identity j, in a group of subscribers is authenticated, subscriber j generates encryption Aj, which contains identity j, time stamp tsj, and j's address, wherein Aj is encrypted with j's authentication key a_j, and subscriber j sends a control message containing Aj and j's access-ticket Tj to message broker B who holds an access-ticket key tk given by an authentication server, and when the message reaches message broker B, broker B can compute both the authentication key a_j and access right of subscriber j from Tj using tk, and then verify Aj using a_j and upon verification, message broker B can establish a security association with subscriber j; and

wherein for a given assigned authentication key a_i, and an encrypted message Xk=(Es_k(Mk), rnk, m), publisher i creates an E2E authenticator that contains identity i and a cryptographic hash of Xk using the assigned publishing key p_i, i∥Hp_i(Xk) {i∥Hp_i(Xk)}, and then encrypts the authenticator using a_i; and

wherein Xk, the encrypted E2E authenticator, and access-ticket Ti are together sent to message broker B, and upon reaching B, identity I, and authentication key a_i are extracted from Ti using the access-ticket key tk, and then identity i from Ea_i(i∥HP_i(Xk)) using a_i, wherein if the two identities are equal, B newly encrypts the E2E authenticator {i∥Hp_i(Xk)} using the assigned authentication key, a_j, of subscriber j where Xk will be sent.

6. The apparatus of claim 5 , wherein message brokers multicast messages from publishers in a group to subscribers in the group, wherein for publisher subscriber groups, authentication servers are responsible for member authentication and key distribution to publisher, subscriber, or message broker members, wherein in a group, a member is authenticated and then assigned keys; and a message broker authenticated for a group maintaining security state for subscribers authenticated for that group and when a message broker receives a message, it verifies if the source of the message is a publisher permitted to access the group.

7. The apparatus of claim 6 , wherein for a group, authentication servers distribute four kinds of long term keys: a single publishing master key, a publishing key per publisher, a single access-ticket key, and an authentication key per member and for a group m, given a single publishing master key pm, a publisher with identity i is assigned a publishing key p_i=AES pm (i).

8. The apparatus of claim 7 , wherein a publishing master pm is given to all subscribers and p_i and pm are subsequently used to compute keys for message encryption and decryption respectively.

9. The apparatus of claim 1 , wherein when subscriber j receives E a-j (i∥H p-i (X k )) together with X k , it extracts {i∥H p-i (X k )} using its authentication key a_j wherein H p-i (X k ) is verified using the publishing key p_i.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Jun 3, 2021
From: TERRIER SSC, LLC
To: WSOU INVESTMENTS, LLC
Reel/Frame 056526/0093 →
SECURITY INTEREST Recorded Jun 1, 2021
From: WSOU INVESTMENTS, LLC
To: OT WSOU TERRIER HOLDINGS, LLC
Reel/Frame 056990/0081 →
RELEASE OF SECURITY INTEREST Recorded May 21, 2019
From: OCO OPPORTUNITIES MASTER FUND, L.P. (F/K/A OMEGA CREDIT OPPORTUNITIES MASTER FUND LP
To: WSOU INVESTMENTS, LLC
Reel/Frame 049246/0405 →
SECURITY INTEREST Recorded May 20, 2019
From: WSOU INVESTMENTS, LLC
To: BP FUNDING TRUST, SERIES SPL-VI
Reel/Frame 049235/0068 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2017
From: ALCATEL LUCENT
To: WSOU INVESTMENTS, LLC
Reel/Frame 044000/0053 →
SECURITY INTEREST Recorded Sep 21, 2017
From: WSOU INVESTMENTS, LLC
To: OMEGA CREDIT OPPORTUNITIES MASTER FUND, LP
Reel/Frame 043966/0574 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2014
From: ALCATEL-LUCENT USA INC.
To: ALCATEL LUCENT
Reel/Frame 032743/0222 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2013
From: KIM, YOUNG JIN; KOLESNIKOV, VLADIMIR; THOTTAN, MARINA K
To: ALCATEL-LUCENT USA INC.
Reel/Frame 030195/0157 →