Abstract:
A method of message authentication in communication networks with multicast-enabled routers or switches is disclosed. The latter are tasked to support the packet source authentication: On reception of a multicast packet, the router attests the authenticity of the sender of the packet, and adds corresponding authentication information to the packet, before forwarding it in the normal multicast manner. Any receiver of the multicast packet then uses the authentication information collected by the packet while traversing the network to verify the original packet source.

Description:
RELATED APPLICATIONS  
       [0001]     This application claims priority under 35 U.S.C. §119 to EP Application 05405012.5 filed in Europe on Jan. 12, 2005, and as a continuation application under 35 U.S.C. §120 to PCT/CH2006/000020 filed as an International Application on Jan. 11, 2006, designating the U.S., the entire contents of which are hereby incorporated by reference in their entireties. 
     
    
     TECHNICAL FIELD  
       [0002]     The disclosure relates to the field of message authentication in communication networks with multicast-enabled routers or switches.  
       BACKGROUND INFORMATION  
       [0003]     Novel types of group communication, like multiparty videoconferencing and real-time push-based information delivery systems such as stock quote services require multicast to minimize the volume of network traffic they generate. Conceptually, multicast-enabled routers take each packet sent over a multicast channel and route it to every receiver listening on that channel. The set of senders and receivers on a particular multicast channel is called a multicast group. Multicast allows a sender to send a data packet to the multicast group by using a destination address to which all group members listen. This allows a more efficient use of the communication network than by addressing each receiver of the multicast group individually.  
         [0004]     For encrypted multicast, a group key is distributed—using separate secure means—to all members of the multicast group, including the sender(s). This shared secret can then be used to encrypt the multicast packet, so that no one outside the group can eavesdrop. For the purpose of authentication, a secret shared by all group members can only be used to verify that the multicast packet was sent by some group member and has not been injected by someone outside the secure group. Message-authentication however attempts to prove that a message is indeed generated from the claimed source, and thus could also be called a source-authentication of the message. It typically includes a proof that its content has not been tampered with, and thus certifies the integrity of the message.  
         [0005]     The use of a shared secret-key based Message Authentication Code (MAC) is an efficient cryptographic solution for authentication on a group level. The messages are sent with a message authentication code (MAC), also known as a message integrity code, integrity check value, cryptographic checksum or keyed hash that may be calculated by first calculating a hash value or a message digest which depends on all the bits of the message. This value or digest is subsequently encrypted, using a secret key known to the members of the multicast group or by means of a similar MAC algorithm. However, as outlined in the preceding paragraph, inadequacies may arise because any registered receiver knowing the secret key may masquerade as a registered sender and thus generate fake or tampered messages with valid MACs.  
         [0006]     The most desirable form of authentication allows registered receivers to precisely identify the registered individual sender who sent each received packet. State of the art solutions for such a kind of “source authentication” involve extending and modifying the standard cryptographic packet authentication schemes as described e.g. in the article “A survey of security issues in multicast communications,” M. J. Moyer, J. R. Rao, and P. Rohatgi, IEEE Network, Vol. 13, no. 6, November/December 1999, pp. 12-23. The following two schemes require complex modifications of the cryptographic algorithms in each sender and receiver of multicast packets, and do not comply with the requirement that the authentication information should be of restricted size and inexpensive to generate and verify.  
         [0007]     (1.) The sender adds its own signature, signed with its own private key; all receivers can verify the signature using the known public key of the sender. This solution obviously works in a fully unreliable environment and protects against message spoofing and collusion attacks as described in the following paragraph, but is computationally rather expensive and requires secure distribution of the public key of each possible sender.  
         [0008]     (2.) The sender adds multiple Message Authentication Codes (MAC), each based on a different key as a shared secret. This collection of appended MACs is known as an asymmetric MAC. Each member of the multicast group knows only a subset of all keys, and preferably, no subgroup of N receivers should know all the keys known by any other receiver. A receiver can verify only those MACs of which it knows the secret keys; if all these MACs are valid, the receiver accepts the message as genuine. A single receiver cannot by itself forge an asymmetric MAC, as it does not know all the keys of a sender or even all the keys known to some other recipient. Only a subgroup of more than N receivers could collude to forge an asymmetric MAC to fool some other receiver. By proper allocation of the subset of keys, this may be sufficient to authenticate the packet source with high probability.  
         [0009]     U.S. Pat. No. 6,725,276 is concerned with the transmission of messages between a first and a second multicast domain. A first border router authenticates the messages via the first-domain MAC generated and appended to the messages by a sending router. The border router then adds a second or intermediate MAC to the message before transmitting it to a second border router. By authenticating the intermediate message, the second router confirms that the message originated from the sending router in the first domain.  
       SUMMARY  
       [0010]     Inexpensive authentication of the source of a multicast message transmitted to a destination over a routed network is possible. A method of authenticating a source of a multicast message and a router for routing multicast messages are disclosed.  
         [0011]     In routed communication networks, messages pass through routers which, on reception of multicast packets, duplicate and forward these packets towards the members of a multicast group. In some kind of “distributed authentication scheme”, these multicast capable routers are tasked to support the packet source authentication: On reception of a multicast packet, the router attests the authenticity of the sender of the packet, and adds corresponding authentication information to the packet, before forwarding it in the normal multicast manner. Any receiver of the multicast packet then uses the authentication information collected by the packet while traversing the network to verify the original packet source.  
         [0012]     A routed communication network is any wide or local area network including at least one router, switch or other active intelligent intermediary for forwarding messages. On the other hand, a local broadcast medium such as a bus wire or wireless transmission, where the medium itself provides for the multicasting, is not considered a routed network. Furthermore, in the context of the present disclosure, the authentication of the sender of a message, i.e. its original source or any forwarding router, includes any or all of the authentication of the sender, the authentication of the content of the message, or the authentication of the content of the information added by any forwarding router.  
         [0013]     Accordingly, the authentication information about the multicast source is contributed through the first router along the transmission path. Said first router receiving the multicast packet from the source may use local information on the sender, such as local source addresses and router interface number or switch port number, to verify the authenticity of the source. It may even perform some local individual entity authentication of the source. The first router adds authentication information including some estimated level of trustworthiness of the authentication of the source to the packet. In general, the router may have more means to verify source authenticity than the final receivers. The latter in turn verifies, potentially via further intermediate routers, the authenticity of the first router. From this and from some source-authenticity information added to the message by the first router, the final receiver is able to confirm the authenticity of the source.  
         [0014]     In an exemplary embodiment, the source adds a Message Authentication Code (MAC) to the message, permitting the first router to validate its authenticity.  
         [0015]     It is assumed that it is more difficult and less likely to compromise routers than to compromise individual senders attempting to spoof multicast packets. Nevertheless, in another exemplary embodiment, the authentication information added by the routers is protected via a further message authentication code. Advantageously, this further code is based on a separate router key, such that subsequent routers do not need to share a message authentication key with the source.  
         [0016]     Intermediate routers may or may not add their own authentication information to the packet. Several ways for routers to collect this authentication information can be envisaged, and the information may include some estimated level of trustworthiness of the authentication. On the other hand, the information may be of binary manner and comprised in the aforementioned message authentication code added to the forwarded message by the routers.  
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0017]     The subject matter of the invention will be explained in more detail in the following text with reference to exemplary embodiments which are illustrated in the attached drawings, of which:  
         [0018]      FIG. 1  depicts an exemplary routed network comprising several multicast participants, and  
         [0019]      FIG. 2  shows an exemplary multicast packet with header fields. 
     
    
     DETAILED DESCRIPTION  
       [0020]      FIG. 1  shows an exemplary IP network with multicast IP routers carrying multicast data packets. Host H 1  as part of a first subnet is connected to a first router R 1  representing its gateway router to the rest of the network. Host H 1  is the source of the multicast packet. The first router R 1  encountered by the multicast packet verifies the multicast source H 1  by its own means, and adds this authentication information to the multicast packet before forwarding the latter. Further intermediate multicast routers R 2 , R 3  and an ultimate router R 4  do forward the original message to an exemplary destination host H 3  and possibly add their own authentication information to the message. Any multicast destination host H 3  uses the information added to the multicast message to verify the authenticity of the multicast source H 1 .  
         [0021]     If there are more than two hosts H 1 , H 2  on one and the same subnet, i.e. communicating without any intervening gateway router, the fact that e.g. destination host H 2  does not receive any additional authentication information about the source host H 1  may have to be taken into account.  
         [0022]      FIG. 2  illustrates how the various pieces of authentication information may be added to the header of a multicast packet. An exemplary chain of authentication information, contributed to the authentication header of the multicast packet by the intermediate routers located between the source and destination host, comprises the following fields and contents. In the first field, denoted “MAC 0”, the source of the multicast packet may be required to write a source message authentication code MAC  0  using a common key known at least to the first router R 1  encountered by the multicast packet, i.e. the gateway router on the same subnet as the packet sender H 1 , or even shared by all the members of the multicast group. This source MAC is a hash of the data to be authenticated, i.e. the message payload plus source and destination addresses.  
         [0023]     The second field, denoted “AUTH 1”, comprises the information that and possibly how the first router R 1  has authenticated the multicast source H 1 , e.g. by verifying the content of the first header field “MAC 0”. This packet source authentication information certifies that the message originates from a registered multicast sender on the first subnet. The field “AUTH 1” is appended to the data and included in the calculation of a message authentication code MAC  1  supplied by the router R 1  and written to the field denoted “MAC 1”. This code involves a separate router key known at least to the router R 1  and possibly all its neighbouring routers R 2 , R 7 .  
         [0024]     Every further intermediate router Ri adds further authentication information AUTH i certifying that Router Ri has itself, by evaluating the respective MACs or by any other means, authenticated the source, and/or has authenticated at least some or all intervening routers between the source and the further intermediate router Ri. This information is included in the calculation of a further message authentication code MAC i by router Ri. Calculating further MACs requires some cooperation of the multicast routers, but allows to protect the authentication scheme against compromised routers. This procedure is repeated for all routers up to the ultimate router Rn, i.e. the gateway router on the same subnet as the destination host. The latter therefore should know the key employed for the ultimate message authentication code MAC n in order to authenticate the ultimate router Rn.  
         [0025]     Depending on the keys employed and their availability to the destination host, the latter may itself verify all the MACs added by the intermediate multicast-forwarding routers, or verify just the content of the ultimate field “MAC n” in order to authenticate the ultimate router Rn. Subsequently, and depending on the extent of the authentication information AUTH i included by the intermediate routers in the respective individual fields, the destination host evaluates the information from all the authentication fields of the received message, or restricts itself to the ultimate field “AUTH n” in order to authenticate the multicast source of the message received.  
         [0026]     In the abovementioned embodiment, the steps of calculating any further message authentication codes apart from MAC n and, correspondingly, adding further authentication information apart from AUTH  1  may possibly be omitted if the routers are considered secure. On the other hand, the further message authentication codes may supplant the corresponding separate authentication information, i.e. the mere fact that a field “MAC i” is appended by the router Ri authenticates all the previous intervening routers as well as the source. In this case, the destination host only needs to evaluate the field “MAC n” of the ultimate router, and thus only needs to know the key employed by the latter. However, with such a binary identification, no detailed authentication information related to trust levels or failed authentication attempts is transmittable.  
         [0027]     If the source or the intermediate routers Ri choose from several secret, common or router, keys for each transmission, the MAC fields may include further a key identifier (or a “Security Parameter Index” according to the IPSec standard header), indicating the particular key employed for generating the message authentication code currently written to the MAC field.  
         [0028]     So far, the disclosure has been in the context of a routed IP network of e.g. a wide-area type. However, and despite of the fact that local networks restricted to a physically secured environment may be considered to be less vulnerable to attacks, the disclosure is also applicable to switched Ethernet networks. On the Ethernet level, the routers and packets described above are denoted switches and frames, respectively, and the payload comprises for instance an Internet packet consisting of an IP header, a TCP header and user data. It is noted that the Virtual Local Area Network (VLAN) switches already add their own header information into multicast packets, in particular based on the port on which the multicast packet is received (port-based VLAN). The insertion of additional authentication information into. Ethernet multicast packet headers is therefore a straightforward extension of the VLAN mechanism.  
         [0029]     It will be appreciated by those skilled in the art that the present invention can be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The presently disclosed embodiments are therefore considered in all respects to be illustrative and not restricted. The scope of the invention is indicated by the appended claims rather than the foregoing description and all changes that come within the meaning and range and equivalence thereof are intended to be embraced therein.