EP0952718A2

Efficient, secure multicasting with minimal knowledge

Abstract

A system for secure multicast including a plurality of participants (103) that can send and receive multicast messages is disclosed. A traffic distribution component (102) is coupled to the participating entities, where the traffic distribution component supports multiple receiver communication. A participant key management component (109) operates within each participant entity (101) where the participant key management component uses a first key (110) that is shared with all the other participants, and a second key (107) that is shared with a sub group of the participants. A group key management component (108) is implemented using a flat data structure having a size that is logarithmically proportional to the number of participants.

EP0952718A2, drawing sheet 1
Sheet 1 of 5

Term

Term ended

Projected expiry passed 26 April 2019, 7.4 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

23 claims: 7 independent, 16 dependent

  1. 1
    A system for secure multicast comprising:a number (N) of participant entities each of which run on a participant computer system, the participant entities having a multicast application running thereon;a traffic distribution component coupled to each of the participant entities, the traffic distribution component supporting multiple receiver communication;a participant key management component within each participant entity, the participant key management component holding a first key that is shared with all of the number (N) of participant entities, and a set of second keys each of which is shared with a subset of the participating entities;and a group key management component having a flat key storage data structure storing the first key and the second keys, wherein each second key is stored in an entry in the data structure that is uniquely associated with a subset of the participants.
  2. 14
    A secure multicast participant system running on a computer system that is coupled to a multicast enabled traffic distribution network, the secure multicast participant system comprising:a traffic distribution component coupled to interface with the network;an admission control component coupled to receive and send messages on the traffic distribution component;a heartbeat message detector in the admission control component for detecting a heartbeat message identifying an address of a key owner and keys owned by that key owner;a group key management component comprising a flat database having a plurality of entries, wherein each entry includes a key field holding a key value and an associated owner field holding an ID of an owner of the key;a first key stored in an entry of the database wherein the first key is shared with a group of extemal participants and a set of second keys each of which is shared with a subgroup of the group of external participants;a traffic encryption/decryption component coupled to receive encrypted data packets from the traffic distribution component and decrypt the received data packets using the first and second keys;a transport component coupled to the traffic encryption/decryption component to receive the decrypted data packets and generate application data;and a receiver multicast application coupled to the transport component to receive the application data and provide receiver-side multicast services using the received application data.
  3. 15
    A secure multicast group comprising:a group of participants each having a unique network ID wherein at least one of the participants acts as a sender and at least one of the participants acts as a receiver;a participant key manager in each of the participants having a data structure holding a first key that is shared with all of the participants and a set of second keys;a group key manager having a data structure holding the first key and all of the second keys, wherein none of the data structures include data representing the unique network ID of all of the participants.
  4. 18
    A method for conducting secure multicast communication over an unsecure communication network with a group of participants, the method comprising the computer implemented steps of:creating a data structure within each participant, the data structure having a transmission encryption key (TEK) entry for storing a TEK and a set of entries for storing a set of key encryption keys (KEKs);causing one of the participants to generate the TEK and designating that participant as a TEK key holder;causing at least one of the participants to generate the KEKs and designating each participant that generates a KEK as the keyholder for the KEK that was generated;distributing a set of KEKs from each KEK keyholder to each of the participants such that each participant can only receive a unique set of KEKs;storing the unique set of KEKs in the set of entries of the data structure within each participant;for each participant, encrypting the TEK using the unique set of KEKs distributed to that participant;distributing the encrypted TEKs from the TEK keyholder to all of the participants;in each participant, decrypting one of the encrypted TEKs using the unique set of KEKs stored in the participant's data structure;storing the decrypted TEK in the TEK entry of each participant;generating a message within one of the participants;encrypting the message using the TEK held by the participant generating the message;and distributing the message to all of the participants;and decrypting the message in each of the participants that hold a TEK matching the TEK of the participant generating the message.
  5. 19
    A computer program product comprising:a computer usable medium having computer readable code embodied therein for conducting secure multicast communication over an unsecure communication network with a group of participants operating on participant computer systems, the computer program product comprising: computer program devices operating in the participant computer systems and configured to cause the participant computer to creating a data having a transmission encryption key (TEK) entry for storing a TEK and a set of entries for storing a set of key encryption keys (KEKs);computer program devices configured to cause the at least one participant computer system to generate the TEK and designating that participant as a TEK keyholder;computer program devices configured to cause the at least one of the participant to generate the KEKs and designating each participant that generates a KEK as the keyholder for the KEK that was generated;computer program devices configured to cause the participant computer system to distribute a set of KEKs from each KEK keyholder to each of the participants such that each participant can only receive a unique number of KEKs;computer program devices configured to cause the participant computer system to store the unique set of KEKs in the set of entries of the data structure within each participant;computer program devices operating in each in participant computer system configured to cause the participant computer system to encrypt the TEK using the unique set of KEKs distributed to that participant;computer program devices configured to cause the TEK keyholder to distribute the encrypted TEKs to all of the participants;computer program devices configured to cause each participant computer system to decrypt one of the encrypted TEKs using the unique set of KEKs stored in the participant's data structure;computer program devices configured to cause the participant computer system to store the decrypted TEK in the TEK entry;computer program devices configured to cause the participant computer system to generate a message within one of the participants;computer program devices configured to cause the participant computer system to encrypt the message using the TEK held by the participant generating the message;computer program devices configured to cause the participant computer system to distribute the message to all of the participants;and computer program devices configured to cause the participant computer system to decrypt the message in each of the participants that hold a TEK matching the TEK of the participant generating the message.
  6. 20
    A computer data signal embodied in a carrier wave for conducting secure multicast communication over an unsecure communication network with a group of participants operating on participant computer systems, the computer data signal comprising:a first code portion comprising code configured to cause the participant computer to creating a data having a transmission encryption key (TEK) entry for storing a TEK and a set of entries for storing a set of key encryption keys (KEKs);a second code portion comprising code configured to cause the at least one participant computer system to generate the TEK and designating that participant as a TEK keyholder;a third code portion comprising code configured to cause the at least one of the participant to generate the KEKs and designating each participant that generates a KEK as the keyholder for the KEK that was generated;a fourth code portion comprising code configured to cause the participant computer system to distribute a set of KEKs from each KEK keyholder to each of the participants such that each participant can only receive a unique set of KEKs;a fifth code portion comprising code configured to cause the participant computer system to store the unique set of KEKs in the set of entries of the data structure within each participant;a sixth code portion comprising code configured to cause the participant computer system to encrypt the TEK using the unique set of KEKs distributed to that participant;a seventh code portion comprising code configured to cause the TEK keyholder to distribute the encrypted TEKs to all of the participants;a eighth code portion comprising code configured to cause each participant computer system to decrypt one of the encrypted TEKs using the unique set of KEKs stored in the participant's data structure;a ninth code portion comprising code configured to cause the participant computer system to store the decrypted TEK in the TEK entry;a tenth code portion comprising code configured to cause the participant computer system to generate a message within one of the participants;a eleventh code portion comprising code configured to cause the participant computer system to encrypt the message using the TEK held by the participant generating the message;a twelfth code portion comprising code configured to cause the participant computer system to distribute the message to all of the participants;and a thirteenth code portion comprising code configured to cause the participant computer system to decrypt the message in each of the participants that hold a TEK matching the TEK of the participant generating the message.
  7. 21
    A method for managing encryption keys in a secure multicast group having a plurality of participants, the method comprising the steps of:creating a first encryption key in a first one of the participants, the first encryption key being associated with a unique subgroup of the participants;independently creating a second encryption key in another of the participants, the second encryption key being associated with the same unique subgroup of the participants as was the first encryption key;and combining the first and second keys to generate a single third encryption key wherein the third encryption key is associated with the same unique subgroup of the participants and supersedes the first and second encryption keys.