WO0188674A2

Method and apparatus for managing secure collaborative transactions

Abstract

Different levels of security are provided in a security system so that users can decide the security level of their own communications. Users can choose a low level of security and maintain the security overhead as low as possible. Alternatively, they can choose higher levels of security with attendant increases in security overhead. The different levels of security are created by the use of one or more of two keys: an encryption key is used to encrypt plaintext data in a delta and a message authentication key is used to authenticate and insure integrity of the data. Two keys are used to avoid re-encrypting the encrypted data for each member of the telescape. In one embodiment, the security level is determined when a telespace is created and remains fixed through out the life of the telespace. For a telespace, the security level may range from no security at all to security between the members of the telespace and outsiders to security between pairs of members of the telespace. In another embodiment, subgroups called "tribes" can be formed within a telespace and each tribe adopts the security level of the telespace in which it resides.

WO0188674A2, drawing sheet 1
Sheet 1 of 1

Term

No projected expiry on record.

  1. Priority
  2. Filed
  3. Published
  4. Today

75 claims: 13 independent, 62 dependent

  1. 1
    CLAIMS 1. A method for managing secure collaborative transactions in which a first collaboration member and a second collaboration member update local data copies by exchanging delta messages which include data changes, comprising the steps of:(a) prior to performing collaborative transactions, selecting a level of security which determines whether authenticity and integrity and confidentiality of delta messages shall be protected;(b) if a level of security selected in step (a) requires protecting the authenticity and integrity of delta messages, prior to transmission of a delta message from a sender to a receiver, appending to the data therein, a message authentication code comprising selected information in the message, protected by a predetermined MAC algorithm using an authentication key;and (c) if a level of security selected in step (a) requires protecting the confidentiality of delta messages, prior to transmission of a delta message from a sender to a receiver, encrypting the data by a predetermined encryption algorithm using an encryption key which is different than the authentication key.
  2. 13
    A method of adding an invitee having a public/private key pair to a secure group of collaborators who communicate with messages protected with inter- member keys, the method comprising:(a) selecting at least one of the group members as a chair with authority to add new members to the group and a public/private key pair;(b) sending an invitation message from the chair to the invitee;the invitation message including a signed invitation nonce, invitation information encrypted with the invitee's public key and signed with the chair's private key;(c) sending an acceptance message from the invitee to the chair, the acceptance message including the signed invitation nonce, a signed acceptance nonce, acceptance information encrypted with the chair's public key;(d) sending a new member message from the chair to all members of the secure group of collaborators, the new member message including new inter-member keys;and (e) sending a group data message from the chair to the invitee, the group data message including a signed acceptance nonce and group information protected with the invitee's public key.
  3. 24
    A method for distributing new keys to a secure group of collaborators who communicate via messages containing data and protected with a group encryption key and inter-member keys, the method comprising:(a) encrypting data for a data message to be sent from a first member to a second member with a new group encryption key;(b) encrypting the new group encryption key with an inter-member key between the first and the second member;(c) piggybacking the encrypted group encryption key along with the data message;and (d) protecting the data message with the new group encryption key.
  4. 29
    An algorithm-independent architecture for providing a security service to an application comprising:a plurality of algorithm-independent abstract services, at least some of which can be combined to implement the security service;a plurality of static links between the security service and one or more of the abstract services which implement the security service;a plurality of algorithm-dependent concrete primitive sen/ices, at least some of which can be combined to implement the abstract services;and a plurality of dynamic links between the abstract primitive services and one or more of the concrete primitive sen/ices which links are established at runtime in order to implement the abstract services.
  5. 36
    Apparatus for managing secure collaborative transactions in which a first collaboration member and a second collaboration member update local data copies by exchanging delta messages which include data changes, comprising:a mechanism controlled by the user and operable prior to performing collaborative transactions, which selects a level of security that determines whether authenticity and integrity and confidentiality of delta messages shall be protected;a protocol engine that cooperates with the security level selecting mechanism and protects the authenticity and integrity of delta messages by, prior to transmission of a delta message from a sender to a receiver, appending to the data therein, a message authentication code comprising selected information in the message, protected by a predetermined MAC algorithm using an authentication key;and wherein the protocol engine protects the confidentiality of delta messages by, prior to transmission of a delta message from a sender to a receiver, encrypting the data by a predetermined encryption algorithm using an encryption key which is different than the authentication key.
  6. 48
    Apparatus for adding an invitee having a public/private key pair to a secure group of collaborators who communicate with messages protected with inter- member keys, comprising:a mechanism that selects at least one of the group members as a chair with authority to add new members to the group and a public/private key pair;a chair protocol engine that sends an invitation message from the chair to the invitee;the invitation message including a signed invitation nonce, invitation information encrypted with the invitee's public key and signed with the chair's private key;an invitee protocol engine that sends an acceptance message from the invitee to the chair, the acceptance message including the signed invitation nonce, a signed acceptance nonce, acceptance information encrypted with the chair's public key;a chair delta mechanism that sends a new member message from the chair to all members of the secure group of collaborators, the new member message including new inter-member keys;and a chair joining mechanism that sends a group data message from the chair to the invitee, the group data message including a signed acceptance nonce and group information protected with the invitee's public key.
  7. 59
    Apparatus for distributing new keys to a secure group of collaborators who communicate via messages containing data and protected with a group encryption key and inter-member keys, comprising:a first encryption module that encrypts data for a data message to be sent from a first member to a second member with a new group encryption key;a second encryption module that encrypts the new group encryption key with an inter-member key between the first and the second member;a protocol engine that piggybacks the encrypted group encryption key along with the data message;and a third encryption module that protects the data message with the new group encryption key.
  8. 64
    A computer program product for managing secure collaborative transactions in which a first collaboration member and a second collaboration member update local data copies by exchanging delta messages which include data changes, the computer program product comprising a computer usable medium having computer readable program code thereon, including:program code that, prior to performing collaborative transactions, selects a level of security which determines whether authenticity and integrity and confidentiality of delta messages shall be protected;program code operable if a selected level of security requires protecting the authenticity and integrity of delta messages and prior to transmission of a delta message from a sender to a receiver, for appending to the data therein, a message authentication code comprising selected information in the message, protected by a predetermined MAC algorithm using an authentication key;and program code operable if a selected level of security requires protecting the confidentiality of delta messages and prior to transmission of a delta message from a sender to a receiver, for encrypting the data by a predetermined encryption algorithm using an encryption key which is different than the authentication key.
  9. 68
    A computer program product for adding an invitee having a public/private key pair to a secure group of collaborators who communicate with messages protected with inter-member keys, the computer program product comprising a computer usable medium having computer readable program code thereon, including:program code for selecting at least one of the group members as a chair with authority to add new members to the group and a public/private key pair;program code for sending an invitation message from the chair to the invitee;the invitation message including a signed invitation nonce, invitation information encrypted with the invitee's public key and signed with the chair's private key;program code for sending an acceptance message from the invitee to the chair, the acceptance message including the signed invitation nonce, a signed acceptance nonce, acceptance information encrypted with the chair's public key;program code for sending a new member message from the chair to all members of the secure group of collaborators, the new member message including new inter-member keys;and program code for sending a group data message from the chair to the invitee, the group data message including a signed acceptance nonce and group information protected with the invitee's public key.
  10. 72
    A computer program product for distributing new keys to a secure group of collaborators who communicate via messages containing data and protected with a group encryption key and inter-member keys, the computer program product comprising a computer usable medium having computer readable program code thereon, including:program code for encrypting data for a data message to be sent from a first member to a second member with a new group encryption key;program code for encrypting the new group encryption key with an inter- member key between the first and the second member;program code for piggybacking the encrypted group encryption key along with the data message;and program code for protecting the data message with the new group encryption key.
  11. 73
    A computer data signal embodied in a carrier wave for managing secure collaborative transactions in which a first collaboration member and a second collaboration member update local data copies by exchanging delta messages which include data changes, the computer data signal comprising:program code that, prior to performing collaborative transactions, selects a level of security which determines whether authenticity and integrity and confidentiality of delta messages shall be protected;program code operable if a selected level of security requires protecting the authenticity and integrity of delta messages and prior to transmission of a delta message from a sender to a receiver, for appending to the data therein, a message authentication code comprising selected information in the message, protected by a predetermined MAC algorithm using an authentication key;and program code operable if a selected level of security requires protecting the confidentiality of delta messages and prior to transmission of a delta message from a sender to a receiver, for encrypting the data by a predetermined encryption algorithm using an encryption key which is different than the authentication key.
  12. 74
    A computer data signal embodied in a carrier wave for adding an invitee having a public/private key pair to a secure group of collaborators who communicate with messages protected with inter-member keys, the computer data signal comprising:program code for selecting at least one of the group members as a chair with authority to add new members to the group and a public/private key pair;program code for sending an invitation message from the chair to the invitee;the invitation message including a signed invitation nonce, invitation information encrypted with the invitee's public key and signed with the chair's private key;program code for sending an acceptance message from the invitee to the chair, the acceptance message including the signed invitation nonce, a signed acceptance nonce, acceptance information encrypted with the chair's public key;program code for sending a new member message from the chair to all members of the secure group of collaborators, the new member message including new inter-member keys;and program code for sending a group data message from the chair to the invitee, the group data message including a signed acceptance nonce and group information protected with the invitee's public key.
  13. 75
    A computer data signal embodied in a carrier wave for distributing new keys to a secure group of collaborators who communicate via messages containing data and protected with a group encryption key and inter-member keys, the computer data signal comprising:program code for encrypting data for a data message to be sent from a first member to a second member with a new group encryption key;program code for encrypting the new group encryption key with an inter- member key between the first and the second member;program code for piggybacking the encrypted group encryption key along with the data message;and program code for protecting the data message with the new group encryption key.
Independent claims13