title: Multicast encryption
text: # Multicast encryption
  
  Multicast is what enables a node on a network to address one unit of data to a specific group of receivers. In interactive multicast at the data link or network layer, such as IP multicast, Ethernet multicast or MBMS service over cellular network, receivers may join and leave the group using an interaction channel. Only one copy of the data is sent from the source, and multiple copies are created and then sent to the desired recipient by the network infrastructure nodes. In for example IP multicast, a multicast group is identified by a class D IP address. A host enters or exits a group using IGMP (Internet Group Management Protocol). A message sent via multicast is sent to all nodes on the network, but only the intended nodes accept the multicast frames. Multicasting is useful in situations such as video conferencing and online gaming. Multicast was used originally in LANs, with Ethernet being the best example. A problem with multicast communication is that it is difficult to guarantee that only designated receivers receive the data being sent. This is largely because multicast groups are always changing; users come and go at any time. A solution to the problem of ensuring that only the chosen recipient obtains the data is known as multicast encryption.
  
  ## ISO Standards
  
  The ISO (International Organization for Standardization) states that confidentiality, integrity, authentication, access control, and non-repudiation should all be considered when creating any secure system.
  
  * Confidentiality: No unauthorized party can access appropriate messages.
  * Integrity: Messages cannot be changed during transit without being discovered.
  * Authentication: The message needs to be sent by the person/machine who claims to have sent it.
  * Access control: Only those users enabled can access the data.
  * Non-repudiation: The receiver can prove that the sender actually sent the message.
  
  To be secure, members who are just being added to the group must be restricted from viewing past data. Also, members removed from a group may not access future data.
  
  ## Theories
  
  One theory for the creation of an encryption protocol explains that ideally, each member of a group should have a key which changes upon the entrance or exit of a member of the group. Another theory suggests a primary key subsidized by additional keys belonging to legitimate group members. One protocol called UFTP (encrypted UDP based FTP over multicast) was created in an attempt to solve this problem. The protocol is designed in three phases: announce/register, file transfer, and completion/confirmation. The latest version 5.0 was released on 4/22/2020 and the source code is available in the website.
  
  ## Current alternatives
  
  Today, one alternative in multicast encryption involves the use of symmetric key encryption where data is decoded by intended receivers using a traffic encryption key (TEK). The TEK is changed any time a member joins or leaves the group. This is not feasible for large groups. Users must be continuously connected to obtain the new keys. Another more common method involves asymmetric keys. Here, a private key is shared and those shares are given out asymmetrically. The initial member is given a number of shares, one of which is passed to each group member. If a member has a valid share of the key, he can view the message.
  
  