13.07.2015 Views

Page 2 Lecture Notes in Computer Science 2865 Edited by G. Goos ...

Page 2 Lecture Notes in Computer Science 2865 Edited by G. Goos ...

Page 2 Lecture Notes in Computer Science 2865 Edited by G. Goos ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

A New Framework for Build<strong>in</strong>g Secure Collaborative Systems 1733. Upon receipt of the broadcast message, each member attempts to remove the tuplefrom the space <strong>in</strong> order to add its contribution. Because take() request will withdrawthe tuple from the space; the other take() will block until the tuple is returnedto the space. The member who receives the tuple then adds an entry <strong>in</strong> the tuplefor itself and updates all exist<strong>in</strong>g <strong>in</strong>termediate values and the card<strong>in</strong>al value. Thisstep is repeated until M 2… M n-1have written their contributions <strong>in</strong>to the tuple.4. The last member of the group has special role <strong>in</strong> the key generation process. Thelast member is not pre-determ<strong>in</strong>ed; it is simply the last member to send a take() request.M nfirst performs a take() operation on the tuple. It then exponentiates each<strong>in</strong>termediate value <strong>in</strong> the tuple with its secret exponent, Sn, and adds <strong>in</strong> an <strong>in</strong>termediatevalue for itself. Unlike its predecessors, M ndoes not update the card<strong>in</strong>alvalue, as the f<strong>in</strong>al card<strong>in</strong>al value is the group key. Instead, it writes the tuple back<strong>in</strong>to the space with the previous card<strong>in</strong>al value and the updated <strong>in</strong>termediate values.Mn then sends a broadcast message to the group, which <strong>in</strong>forms them of theterm<strong>in</strong>ation of the key generation phase.Upon receipt of the broadcast message, each member read()s its <strong>in</strong>termediate valueand uses it to compute the group key.Member Addition – jo<strong>in</strong>()A jo<strong>in</strong>() operation denotes the addition of a s<strong>in</strong>gle group member. Semantics for jo<strong>in</strong>()entail a modification of the group key, such that the new member's share is <strong>in</strong>cluded<strong>in</strong> the group key. The steps required for jo<strong>in</strong>() follow.1. M n+1take()s the tuple out of the space, adds its <strong>in</strong>termediate value, updates eachexist<strong>in</strong>g <strong>in</strong>termediate values, and write()s the tuple back <strong>in</strong>to the space.2. M GCperforms a take() on the tuple, updates the card<strong>in</strong>al value, write()s the tupleback <strong>in</strong>to the space, and notifies all group members that the key generation is complete.Follow<strong>in</strong>g a jo<strong>in</strong>() operation, the new member becomes new group controller (i.e.,M n+1= M GC).By default, jo<strong>in</strong> does not ensure forward or backward secrecy. In many scenarios,this may be admissable; however, a simple extension to the jo<strong>in</strong> operation can ensureforward and backward secrecy. The revised protocol requires the exist<strong>in</strong>g group controller,M n, factor its secret, S nout of the exist<strong>in</strong>g card<strong>in</strong>al and <strong>in</strong>termediate values,choose a new secret, S n, and exponentiate each <strong>in</strong>termediate value with it.Member Removal - leave()Leave entails the removal of a group member's contribution to the group key, there<strong>by</strong>prohibit<strong>in</strong>g it from decrypt<strong>in</strong>g subsequent group messages. The follow<strong>in</strong>g protocolassumes that the departure is voluntary. If the departure is not voluntary, the first stepis clearly omitted, however, the excluded member is still unable to derive the groupkey.1. The depart<strong>in</strong>g member, M p, factors its contribution out of each entry <strong>in</strong> the tuple.2. The group controller, M GC, chooses a new secret S GCand exponentiates each entry<strong>in</strong> the tuple with it.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!