diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
commit | 4bfd864f10b68b71482b35c818559068ef8d5797 (patch) | |
tree | e3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc1949.txt | |
parent | ea76e11061bda059ae9f9ad130a9895cc85607db (diff) |
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc1949.txt')
-rw-r--r-- | doc/rfc/rfc1949.txt | 1011 |
1 files changed, 1011 insertions, 0 deletions
diff --git a/doc/rfc/rfc1949.txt b/doc/rfc/rfc1949.txt new file mode 100644 index 0000000..00d0691 --- /dev/null +++ b/doc/rfc/rfc1949.txt @@ -0,0 +1,1011 @@ + + + + + + +Network Working Group A. Ballardie +Request for Comments: 1949 University College London +Category: Experimental May 1996 + + + Scalable Multicast Key Distribution + +Status of this Memo + + This memo defines an Experimental Protocol for the Internet + community. This memo does not specify an Internet standard of any + kind. Discussion and suggestions for improvement are requested. + Distribution of this memo is unlimited. + +Abstract + + The benefits of multicasting are becoming ever-more apparent, and its + use much more widespread. This is evident from the growth of the + MBONE [1]. Providing security services for multicast, such as traffic + integrity, authentication, and confidentiality, is particularly + problematic since it requires securely distributing a group (session) + key to each of a group's receivers. Traditionally, the key + distribution function has been assigned to a central network entity, + or Key Distribution Centre (KDC), but this method does not scale for + wide-area multicasting, where group members may be widely-distributed + across the internetwork, and a wide-area group may be densely + populated. + + Even more problematic is the scalable distribution of sender-specific + keys. Sender-specific keys are required if data traffic is to be + authenticated on a per-sender basis. + + This memo provides a scalable solution to the multicast key + distribution problem. + + NOTE: this proposal requires some simple support mechanisms, which, + it is recommended here, be integrated into version 3 of IGMP. This + support is described in Appendix B. + +1. Introduction + + Growing concern about the integrity of Internet communication [13] + (routing information and data traffic) has led to the development of + an Internet Security Architecture, proposed by the IPSEC working + group of the IETF [2]. The proposed security mechanisms are + implemented at the network layer - the layer of the protocol stack at + which networking resources are best protected [3]. + + + + +Ballardie Experimental [Page 1] + +RFC 1949 Scalable Multicast Key Distribution May 1996 + + + Unlike many network layer protocols, the Core Based Tree (CBT) + multicast protocol [4] makes explicit provision for security; it has + its own protocol header, unlike existing IP multicast schemes + [10,11], and other recently proposed schemes [12]. + + In this document we describe how the CBT multicast protocol can + provide for the secure joining of a CBT group tree, and how this same + process can provide a scalable solution to the multicast key + distribution problem. These security services are an integral part + of the CBT protocol [4]. Their use is optional, and is dependent on + each individual group's requirements for security. Furthermore, the + use of the CBT multicast protocol for multicast key distribution does + not preclude the use of other multicast protocols for the actual + multicast communication itself, that is, CBT need only be the vehicle + with which to distribute keys. + + Secure joining implies the provision for authentication, integrity, + and optionally, confidentiality, of CBT join messages. The scheme we + describe provides for the authentication of tree nodes (routers) and + receivers (end-systems) as part of the tree joining process. Key + distribution (optional) is an integral part of secure joining. + + Network layer multicast protocols, such as DVMRP [7] and M-OSPF [9], + do not have their own protocol header(s), and so cannot provision for + security in themselves; they must rely on whatever security is + provided by IP itself. Multicast key distribution is not addressed to + any significant degree by the new IP security architecture [2]. + + The CBT security architecture is independent of any particular + cryptotechniques, although many security services, such as + authentication, are easier if public-key cryptotechniques are + employed. + + What follows is an overview of the CBT multicasting. The description + of our proposal in section 6.1 assumes the reader is reasonably + familiar with the CBT protocol. Details of the CBT architecture and + protocol can be found in [7] and [4], respectively. + +2. Overview of BCT Multicasting + + CBT is a new architecture for local and wide-area IP multicasting, + being unique in its utilization of just one shared delivery tree per + group, as opposed to the source-based delivery tree approach of + existing IP multicast schemes, such as DVMRP and MOSPF. + + A shared multicast delivery tree is built around several so-called + core routers. A group receiver's local multicast router is required + to explicitly join the corresponding delivery tree after receiving an + + + +Ballardie Experimental [Page 2] + +RFC 1949 Scalable Multicast Key Distribution May 1996 + + + IGMP [8] group membership report over a directly connected interface. + A CBT join message is targeted at one of the group's core routers. + The resulting acknowledgement traverses the reverse-path of the join, + resulting in the creation of a tree branch. Routers along these + branches are called non-core routers for the group, and there exists + a parent-child relationship between adjacent routers along a branch + of the same tree (group). + +3. How the CBT Architecture Complements Security + + The CBT architecture requires "leaf" routers to explicitly join a CBT + tree. Hence, CBT is not data driven; the ack associated with a join + "fixes" tree state in the routers that make up the tree. This so- + called "hard state" remains until the tree re-configures, for + example, due to receivers leaving the group, or because an upstream + failure has occurred. The CBT protocol incorporates mechanisms + enabling a CBT tree to repair itself in the event of the latter. + + As far as the establishment of an authenticated multicast + distribution tree is concerned, DVMRP, M-OSPF, and PIM, are at a + disadvan- tage; the nature of their "soft state" means a delivery + tree only exists as long as there is data flow. Also, routers + implementing a multicast protocol that builds its delivery tree based + on a reverse-path check (like DVMRP and PIM dense mode) cannot be + sure of the previous-hop router, but only the interface a multicast + packet arrived on. + + These problems do not occur in the CBT architecture. CBT's hard state + approach means that all routers that make up a delivery tree know who + their on-tree neighbours are; these neighbours can be authenticated + as part of delivery tree set-up. As part of secure tree set-up, + neighbours could exchange a secret packet handle for inclusion in the + CBT header of data packets exchanged between those neighbours, + allowing for the simple and efficient hop-by-hop authentication of + data packets (on-tree). + + The presence of tree focal points (i.e. cores) provides CBT trees + with natural authorization points (from a security viewpoint) -- the + formation of a CBT tree requires a core to acknowledge at least one + join in order for a tree branch to be formed. Thereafter, + authorization and key distribution capability can be passed on to + joining nodes that are authenticated. + + In terms of security, CBT's hard state approach offers several + additional advantages: once a multicast tree is established, tree + state maintained in the routers that make up the tree does not time + out or change necessarily to reflect underlying unicast topology. + The security implications of this are that nodes need not be subject + + + +Ballardie Experimental [Page 3] + +RFC 1949 Scalable Multicast Key Distribution May 1996 + + + to repeated authentication subsequent to a period of inactivity, and + tree nodes do not need to re-authenticate themselves as a result of + an underlying unicast topology change, unless of course, an network + (node) failure has occurred. + + Hard-state protocol mechanisms are often thought of as being less + fault tolerant than soft-state schemes, but there are pros and cons + to both approaches; we see here that security is one of the pros. + +4. The Multicast Key Distribution Problem + + We believe that multicast key distribution needs to be combined with + group access control. Without group access control, there is no point + in employing multicast key distribution, since, if there are no group + restrictions, then it should not matter to whom multicast information + is divulged. + + There are different ways of addressing group access control. The + group access control we describe requires identifying one group + member (we suggest in [14] that this should be the group initiator) + who has the ability to create, modify and delete all or part of a + group access control list. The enforcement of group access control + may be done by a network entity external to the group, or by a group + member. + + The essential problem of distributing a session (or group) key to a + group of multicast receivers lies in the fact that some central key + management entity, such as a key distribution centre (KDC) (A Key + Distribution Centre (KDC) is a network entity, usually residing at a + well-known address. It is a third party entity whose responsibility + it to generate and distribute symmetric key(s) to peers, or group + receivers in the case of multicast, wishing to engage in a "secure" + communication. It must therefore be able to identify and reliably + authenticate requestors of symmetric keys.), must authenticate each + of a group's receivers, as well as securely distribute a session key + to each of them. This involves encrypting the relevant message n + times, once with each secret key shared between the KDC and + corresponding receiver (or alternatively, with the public key of the + receiver), before multicasting it to the group. (Alternatively, the + KDC could send an encrypted message to each of the receivers + individually, but this does not scale either.) Potentially, n may be + very large. Encrypting the group key with the secret key (of a + secret-public key pair) of the KDC is not an option, since the group + key would be accessible to anyone holding the KDC's public key, and + public keys are either well-known or readily available. In short, + existing multicast key distribution methods do not scale. + + + + + +Ballardie Experimental [Page 4] + +RFC 1949 Scalable Multicast Key Distribution May 1996 + + + The scaling problem of secure multicast key distribution is + compounded for the case where sender-specific keys need to be + distributed to a group. This is required for sender-specific + authentication of data traffic. It is not possible to achieve per- + sender authentication, given only a group session key. + + Recently a proposal has emerged, called the Group Key Management + Protocol (GKMP) [15]. This was designed for military networks, but + the authors have demonstrated how the architecture could be applied + to a network like the Internet, running receiver-oriented multicast + applications. + + GKMP goes a considerable way to addressing the problems of multicast + key distribution: it does not rely on a centralised KDC, but rather + places the burden of key management on a group member(s). This is the + approach adopted by the CBT solution, but our solution can take this + distributed approach further, which makes our scheme that much more + scalable. Furthermore, our scheme is relatively simple. + + The CBT model for multicast key distribution is unique in that it is + integrated into the CBT multicast protocol itself. It offers a + simple, low-cost, scalable solution to multicast key distribution. We + describe the CBT multicast key distribution approach below. + +5. Multicast Security Associations + + The IP security architecture [2] introduces the concept of "Security + Associations" (SAs), which must be negotiated in advance during the + key management phase, using a protocol such as Photuris [20], or + ISAKMP [21]. A Security Association is normally one-way, so if two- + way communication is to take place (e.g. a typical TCP connection), + then two Security Associations need to be negotiated. During the + negotiation phase, the destination system normally assigns a Security + Parameter Index to the association, which is used, together with the + destination address (or, for the sender, the sender's user-id) to + index into a Security Association table, maintained by the + communicating parties. This table enables those parties to index the + correct security parameters pertinent to an association. The + security association parameters include authentication algorithm, + algorithm mode, cryptographic keys, key lifetime, sensitivity level, + etc. + + The establishment of Security Associations (SA) for multicast + communication does not scale using protocols like Photuris, or + ISAKMP. This is why it is often assumed that a multicast group will + be part of a single Security Association, and hence share a single + SPI. It is assumed that one entity (or a pair of entities) creates + the SPI "by some means" (which may be an SA negotiation protocol, + + + +Ballardie Experimental [Page 5] + +RFC 1949 Scalable Multicast Key Distribution May 1996 + + + like [20] and [21]), which is then simply multicast, together with + the SA parameters, to the group for subsequent use. However, this + precludes multicast receivers from performing sender-specific origin + authentication; all a receiver can be sure of is that the sender is + part of the multicast Security Association. + + We advocate that the primary core, either alone, or in conjunction + with the group initiator, establish the security parameters to be + used in the group communication. These are distributed as part of the + secure join process. Thereafter, individual senders can distribute + their own key and security parameters to the group. In the case of + the latter, there are two cases to consider: + + + the sender is already a group member. In this case, the sender + can decide upon/generate its own security parameters, and multi- + cast them to the group using the current group session key. + + + the sender is not a group member. In this case, before the + sender begins sending, it must first negotiate the security + parameters with the primary core, using a protocol such as Pho- + turis [20] or ISAKMP [21]. Once completed, the primary core + multicasts (securely) the new sender's session key and security + parameters to the group. + + Given that we assume the use of asymmetric cryptotechniques + throughout, this scheme provides a scalable solution to multicast + origin authentication. + + Sender-specific keys are also discussed in section 8. + +6. The CBT Multicast Key Distribution Model + + The security architecture we propose allows not only for the secure + joining of a CBT multicast tree, but also provides a solution to the + multicast key distribution problem [16]. Multicast key distribution + is an optional, but integral, part of the secure tree joining + process; if a group session key is not required, its distribution may + be omitted. + + The use of CBT for scalable multicast key distribution does not + preclude the use of other multicast protocols for the actual + multicast communication. CBT could be used solely for multicast key + distribution -- any multicast protocol could be used for the actual + multicast communication itself. + + The model that we propose does not rely on the presence of a + centralised KDC -- indeed, the KDC we propose need not be dedicated + to key distribution. We are proposing that each group have its own + + + +Ballardie Experimental [Page 6] + +RFC 1949 Scalable Multicast Key Distribution May 1996 + + + group key distribution centre (GKDC), and that the functions it + provides should be able to be "passed on" to other nodes as they join + the tree. Hence, our scheme involves truly distributed key + distribution capability, and is therefore scalable. It does not + require dedicated KDCs. We are proposing that a CBT primary core + initially take on the role of a GKDC. + +6.1 Operational Overview + + When a CBT group is created, it is the group initiator's + responsibility to create a multicast group access control list (ACL) + [14]. It is recommended that this list is a digitally signed + "document", the same as (or along the lines of) an X.509 certificate + [9], such that it can be authenticated. The group initiator + subsequently unicasts the ACL to the primary core for the group. This + communication is not part of the CBT protocol. The ACL's digital + signature ensures that it cannot be modified in transit without + detection. If the group membership itself is sensitive information, + the ACL can be additionally encrypted with the public key of the + primary core before being sent. The ACL can be an "inclusion" list + or an "exclusion" list, depending on whether group membership + includes relatively few, or excludes relatively few. + + The ACL described above consists of group membership (inclusion or + exclusion) information, which can be at the granularity of hosts or + users. How these granularities are specified is outside the scope of + this document. Additionally, it may be desirable to restrict key + distribution capability to certain "trusted" nodes (routers) in the + network, such that only those trusted nodes will be given key + distribution capability should they become part of a CBT delivery + tree. For this case, an additional ACL is required comprising + "trusted" network nodes. + + The primary core creates a session key subsequent to receiving and + authenticating the message containing the access control list. The + primary core also creates a key encrypting key (KEK) which is used + for re-keying the group just prior to an old key exceeding its life- + time. This re-keying strategy means that an active key is less + likely to become compromised during its lifetime. + + The ACL(s), group key, and KEK are distributed to secondary cores as + they become part of the distribution tree. + + Any tree node with this information can authenticate a joining + member, and hence, secure tree joining and multicast session key + distribution are truly distributed across already authenticated tree + nodes. + + + + +Ballardie Experimental [Page 7] + +RFC 1949 Scalable Multicast Key Distribution May 1996 + + +6.2 Integrated Join Authentication and Multicast Key Distribution + + For simplicity, in our example we assume the presence of an + internetwork-wide asymmetric key management scheme, such as that + proposed in [17]. However, we are not precluding the use of + symmetric cryptographic techniques -- all of the security services we + are proposing, i.e. integrity, authentication, and confidentiality, + can all be achieved using symmetric cryptography, albeit a greater + expense, e.g. negotiation with a third party to establish pairwise + secret keys. For these reasons, we assume that a public (asymmetric) + key management scheme is globally available, for example, through the + Domain Name System (DNS) [17] or World Wide Web [18]. + + NOTE: given the presence of asymmetric keys, we can assume digital + signatures provide integrity and origin authentication services + combined. + + The terminology we use here is described in Appendix A. We formally + define some additional terms here: + + + grpKey: group key used for encrypting group data traffic. + + + ACL: group access control list. + + + KEK: key encrypting key, used for re-keying a group with a new + group key. + + + SAparams: Security Association parameters, including SPI. + + + group access package (grpAP): sent from an already verified tree + node to a joining node. + + [token_sender, [ACL]^SK_core, {[grpKey, KEK, + SAparams]^SK_core}^PK_origin-host, + {[grpKey, KEK, SAparams]^SK_core}^PK_next-hop]^SK_sender + + NOTE: SK_core is the secret key of the PRIMARY core. + + As we have already stated, the elected primary core of a CBT tree + takes on the initial role of GKDC. In our example, we assume that a + group access control list has already been securely communicated to + the primary core. Also, it is assumed the primary core has already + participated in a Security Association estabishment protocol [20,21], + and thus, holds a group key, a key-encrypting key, and an SPI. + + NOTE, there is a minor modification required to the CBT protocol + [4], which is as follows: when a secondary core receives a join, + instead of sending an ack followed by a re-join to the primary, + + + +Ballardie Experimental [Page 8] + +RFC 1949 Scalable Multicast Key Distribution May 1996 + + + the secondary forwards the join to the primary; the ack travels + from the primary (or intermediate on-tree router) back to the join + origin. All routers (or only specific routers) become GKDCs after + they receive the ack. + + We now demonstrate, by means of an example, how CBT routers join a + tree securely, and become GKDCs. For clarity, in the example, it is + assumed all routers are authorised to become GKDCs, i.e. there is no + trusted-router ACL. + + In the diagram below, only one core (the primary) is shown. The + process of a secondary joining the primary follows exactly what we + describe here. + + In the diagram, host h wishes to join multicast group G. Its local + multicast router (router A) has not yet joined the CBT tree for the + group G. + + b b b-----b + \ | | + \ | | + b---b b------b + / \ / KEY.... + / \/ + b C C = Core (Initial Group Key Dist'n Centre) + / \ A, B, b = non-core routers + / \ + / \ ======= LAN where host h is located + B b------b + \ + \ NOTE: Only one core is shown, but typically +host h A a CBT tree is likely to comprise several. + o | +===================== + + Figure 1: Example of Multicast Key Distribution using CBT + + A branch is created as part of the CBT secure tree joining process, + as follows: + + + Immediately subsequent to a multicast application starting up on + host h, host h immediately sends an IGMP group membership + report, addressed to the group. This report is not suppressible + (see Appendix B), like other IGMP report types, and it also + includes the reporting host's token, which is digitally signed + + h --> DR (A): [[token_h]^SK_h, IGMP group membership report] + + + + +Ballardie Experimental [Page 9] + +RFC 1949 Scalable Multicast Key Distribution May 1996 + + + (A host's token differs in two respects compared with tokens + defined in [9]. To refresh, a token assists a recipient in the + verification process, and typically contains: recipient's + unique identity, a timestamp, and a pseudo-random number. A + token is also usually digitally signed by its originator. + Firstly, A host's token does not contain the intended + recipient's identity, since this token may need to traverse + several CBT routers before reaching a GKDC. A host does not + actually know which router, i.e. GKDC, will actually + acknowledge the join that it invoked. Secondly, the host's + token is digitally signed -- this is usual for a token. + However, tokens generated by routers need not be explicitly + digitally signed because the JOIN-REQUESTs and JOIN-ACKs that + carry them are themselves digitally signed.) + + + In response to receiving the IGMP report, the local designated + router (router A) authenticates the host's enclosed token. If + successful, router A formulates a CBT join-request, whose target + is core C (the primary core). Router A includes its own token in + the join, as well as the signed token received from host h. The + join is digitally signed by router A. + + NOTE 1: router A, like all CBT routers, is configured with the + unicast addresses of a prioritized list of cores, for different + group sets, so that joins can be targeted accordingly. + + NOTE 2: the host token is authenticated at most twice, once by + the host's local CBT router, and once by a GKDC. If the local + router is already a GKDC, then authentication only happens once. + If the local router is not already a GKDC, a failed authentica- + tion check removes the overhead of generating and sending a CBT + join-request. + + Router A unicasts the join to the best next-hop router on the + path to core C (router B). + + A --> B: [[token_A], [token_h]^SK_h, JOIN-REQUEST]^SK_A + + + B authenticates A's join-request. If successful, B repeats the + previous step, but now the join is sent from B to C (the pri- + mary, and target), and the join includes B's token. Host h's + token is copied to this new join. + + B --> C: [[token_B], [token_h]^SK_h, JOIN-REQUEST]^SK_B + + + C authenticates B's join. As the tree's primary authorization + point (and GKDC), C also authenticates host h, which triggered + the join process. For this to be successful, host h must be + + + +Ballardie Experimental [Page 10] + +RFC 1949 Scalable Multicast Key Distribution May 1996 + + + included in the GKDC's access control list for the group. If h + is not in the corresponding access control list, authentication + is redundant, and a join-nack is returned from C to B, which + eventually reaches host h's local DR, A. + + Assuming successful authentication of B and h, C forms a group + access package (grpAP), encapsulates it in a join-ack, and digi- + tally signs the complete message. C's token, host h's signed + token, a signed ACL, and two (group key, KEK) pairs are included + in the group access package; one for the originating host, and + one for the next-hop CBT router to which the join-ack is des- + tined. Each key pair is digitally signed by the issuer, i.e. the + primary core for the group. The host key pair is encrypted using + the public key of the originating host, so as to be only deci- + pherable by the originating host, and the other key pair is + encrypted using the public key of the next-hop router to which + the ack is destined -- in this case, B. Host h's token is used + by the router connected to the subnet where h resides so as to + be able to identify the new member. + + C --> B: [[token^h]^SK_h, grpAP, JOIN-ACK]^SK_C + + + B authenticates the join-ack from C. B extracts its encrypted + key pair from the group access package, decrypts it, authenti- + cates the primary core, and stores the key pair in encrypted + form, using a local key. B also verifies the digital signature + included with the access control list. It subsequently stores + the ACL in an appropriate table. The originating host key pair + remains enciphered. + + The other copy of router B's key pair is taken and deciphered + using its secret key, and immediately enciphered with the public + key of next-hop to which a join-ack must be passed, i.e. router + A. A group access package is formulated by B for A. It contains + B's token, the group ACL (which is digitally signed by the pri- + mary core), a (group key, KEK) pair encrypted using the public + key of A, and the originating host's key pair, already + encrypted. The group access package is encapsulated in a join- + ack, the complete message is digitally signed by B, then for- + warded to A. + + B --> A: [[token^h]^SK_h, grpAP, JOIN-ACK]^SK_B + + + A authenticates the join-ack received from B. A copy of the + encrypted key pair that is for itself is extracted from the + group access package and deciphered, and the key issuer (primary + core) is authenticated. If successful, the enciphered key pair + is stored by A. The digital signature of the included access + + + +Ballardie Experimental [Page 11] + +RFC 1949 Scalable Multicast Key Distribution May 1996 + + + control list is also verified, and stored in an appropriate + table. The key pair encrypted for host h is extracted from the + group access package, and is forwarded directly to host h, which + is identified from the presence of its signed token. On + receipt, host h decrypts the key pair for subsequent use, and + stores the SA parameters in its SA table. + + A --> h: [[token^h]^SK_h, {grpKey, KEK, SAparams}^PK_h] + + Going back to the initial step of the tree-joining procedure, if the + DR for the group being joined by host h were already established as + part of the corresponding tree, it would already be a GKDC. It would + therefore be able to directly pass the group key and KEK to host h + after receiving an IGMP group membership report from h: + + A --> h: [[token^h]^SK_h, {grpKey, KEK, SAparams}^PK_h] + + If paths, or nodes fail, a new route to a core is gleaned as normal + from the underlying unicast routing table, and the re-joining process + (see [4]) occurs in the same secure fashion. + +7. A Question of Trust + + The security architecture we have described, involving multicast key + distribution, assumes that all routers on a delivery tree are trusted + and do not misbehave. A pertinent question is: is it reasonable to + assume that network routers do not misbehave and are adequately + protected from malicious attacks? + + Many would argue that this is not a reasonable assumption, and + therefore the level of security should be increased to discount the + threat of misbehaving routers. As we described above, routers + periodically decrypt key pairs in order to verify them, and/or re- + encrypt them to pass them on to joining neighbour routers. + + In view of the above, we suggest that if more stringent security is + required, the model we presented earlier should be slightly amended + to accommodate this requirement. However, depending on the security + requirement and perceived threat, the model we presented may be + acceptable. + + We recommend the following change to the model already presented + above, to provide a higher level of security: + + All join-requests must be authenticated by a core router, i.e. a join + arriving at an on-tree router must be forwarded upstream to a core if + the join is identified as being a "secure" join (as indicated by the + presence of a signed host token). + + + +Ballardie Experimental [Page 12] + +RFC 1949 Scalable Multicast Key Distribution May 1996 + + + The implication of this is that key distribution capability remains + with the core routers and is not distributed to non-core routers + whose joins have been authenticated. Whilst this makes our model + somewhat less distributed than it was before, the concept of key + distribution being delegated to the responsibility of individual + groups remains. Our scheme therefore retains its attractiveness over + centralized schemes. + +8. The Multicast Distribution of Sender-Specific Keys + + Section 5, in part, discussed the scalable distribution of sender- + specific keys and sender-specific security parameters to a multicast + group, for both member-senders, and non-member senders. If asymmetric + cryptotechniques are employed, this allows for sender-specific origin + authentication. + + For member-senders, the following message is multicast to the group, + encrypted using the current group session key, prior to the new + sender transmitting data: + + {[sender_key, senderSAparams]^SK_sender}^group_key + + Non-member senders must first negotiate (e.g. using Photuris or + ISAKMP) with the primary core, to establish the security association + parameters, and the session key, for the sender. The sender, of + course, is subject to access control at the primary. Thereafter, the + primary multicasts the sender-specific session key, together with + sender's security parameters to the group, using the group's current + session key. Receivers are thus able to perform origin + authentication. + + Photuris or ISAKMP + 1. sender <----------------------> primary core + + 2. {[sender_key, senderSAparams]^SK_primary}^group_key + + For numerous reasons, it may be desirable to exclude certain group + members from all or part of a group's communication. We cannot offer + any solution to providing this capability, other than requiring new + keys to be distributed via the establishment of a newly-formed group + (CBT tree). + + + + + + + + + + +Ballardie Experimental [Page 13] + +RFC 1949 Scalable Multicast Key Distribution May 1996 + + +9. Summary + + This memo has offered a scalable solution to the multicast key + distribution problem. Our solution is based on the CBT architecture + and protocol, but this should not preclude the use of other multicast + protocols for secure multicast communication subsequent to key + distribution. Furthermore, virtually all of the functionality present + in our solution is in-built in the secure version of the CBT + protocol, making multicast key distribution an optional, but integral + part, of the CBT protocol. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Ballardie Experimental [Page 14] + +RFC 1949 Scalable Multicast Key Distribution May 1996 + + +Appendix A + + The following terminology is used throughout this document: + + + PK_A indicates the public key of entity A. + + + SK_A indicates the secret key of entity A. The secret key can be + used by a sender to digitally sign a digest of the message, + which is computed using a strong, one-way hash function, such as + MD5 [19]. + + + Unencrypted messages will appear enclosed within square brack- + ets, e.g. [X, Y, Z]. If a message is digitally signed, a super- + script will appear outside the right hand bracket, indicating + the message signer. Encrypted messages appear enclosed within + curly braces, with a superscript on the top right hand side out- + side the closing curly brace indicating the encryption key, e.g. + {X, Y, Z}^{PK_A}. + + + a token is information sent as part of a strong authentication + exchange, which aids a receiver in the message verification pro- + cess. It consists of a timestamp, t (to demonstrate message + freshness), a random, non-repeating number, r (to demonstrate + message originality), and the unique name of the message + recipient (to demonstrate that the message is indeed intended + for the recipient). A digital signature is appended to the + token by the sender (which allows the recipient to authenticate + the sender). The token is as follows: + + [t_A, r_A, B]^{SK_A} -- token sent from A to B. + + + A --> B: -- denotes a message sent from A to B. + +Appendix B + + The group access controls described in this document require a few + simple support mechanisms, which, we recommend, be integrated into + version 3 of IGMP. This would be a logical inclusion to IGMP, given + that version 3 is expected to accommodate a variety of multicast + requirements, including security. Furthermore, this would remove the + need for the integration of a separate support protocol in hosts. + + To refresh, IGMP [8] is a query/response multicast support protocol + that operates between a multicast router and attached hosts. + + Whenever an multicast application starts on a host, that host + generates a small number of IGMP group membership reports in quick + succession (to overcome potential loss). Thereafter, a host only + + + +Ballardie Experimental [Page 15] + +RFC 1949 Scalable Multicast Key Distribution May 1996 + + + issues a report in response to an IGMP query (issued by the local + multicast router), but only if the host has not received a report for + the same group (issued by some other host on the same subnet) before + the host's IGMP random response timer expires. Hence, IGMP, + incorporates a report "suppression" mechanism to help avoid "IGMP + storms" on a subnet, and generally conserve bandwidth. + + We propose that IGMP accommodate "secure joins" - IGMP reports that + indicate the presence of a digitally signed host (or user) token. + These report types must not be suppressible, as is typically the case + with IGMP reports; it must be possible for each host to independently + report its group presence to the local router, since a GKDC bases its + group access control decision on this information. + + This functionality should not adversely affect backwards + compatibility with earlier versions of IGMP that may be present on + the same subnet; the new reports will simply be ignored by older IGMP + versions, which thus continue to operate normally. + +Security Considerations + + Security issues are discussed throughout this memo. + +Author's Address + + Tony Ballardie, + Department of Computer Science, + University College London, + Gower Street, + London, WC1E 6BT, + ENGLAND, U.K. + + Phone: ++44 (0)71 419 3462 + EMail: A.Ballardie@cs.ucl.ac.uk + +References + + [1] MBONE, The Multicast BackbONE; M. Macedonia and D. Brutzman; + available from http://www.cs.ucl.ac.uk/mice/mbone_review.html. + + [2] R. Atkinson. Security Architecture for the Internet Protocol; RFC + 1825, SRI Network Information Center, August 1995. + + [3] D. Estrin and G. Tsudik. An End-to-End Argument for Network Layer, + Inter-Domain Access Controls; Journal of Internetworking & Experience, + Vol 2, 71-85, 1991. + + + + + +Ballardie Experimental [Page 16] + +RFC 1949 Scalable Multicast Key Distribution May 1996 + + + [4] A. Ballardie, S. Reeve, N. Jain. Core Based Tree (CBT) Multicast - + Protocol Specification; Work in Progress, 1996. Available from: + ftp://cs.ucl.ac.uk/darpa/IDMR/draft-ietf-idmr-cbt-spec-XX.txt. + + [5] R. Atkinson. IP Authentication Header; RFC 1826, SRI Network + Information Center, August 1995. + + [6] R. Atkinson. IP Encapsulating Security Payload; RFC 1827, SRI Net- + work Information Center, August 1995. + + [7] A. Ballardie. Core Based Tree (CBT) Multicast Architecture; Work + in progress, 1996. Available from: + ftp://cs.ucl.ac.uk/darpa/IDMR/draft-ietf-idmr-cbt-arch-XX.txt + + [8] W. Fenner. Internet Group Management Protocol, version 2 (IGMPv2), + Work in progress, 1996. + + [9] CCITT Data Communication Networks Directory (Blue Book). Recommen- + dation X.509, Authentication Framework. + + [10] T. Pusateri. Distance-Vector Multicast Routing Protocol (DVMRP) + version 3. Working draft, February 1996. + + [11] J. Moy. Multicast Extensions to OSPF; RFC 1584, SRI Network + Information Center, March 1994. + + [12] D. Estrin et al. Protocol Independent Multicast, protocol specif- + ication; Work in progress, January 1996. + + [13] R. Braden, D. Clark, S. Crocker and C. Huitema. Security in the + Internet Architecture. RFC 1636, June 1994. + + [14] A. Ballardie and J. Crowcroft. Multicast-Specific Security + Threats and Counter-Measures. In ISOC Symposium on Network and Distri- + buted System Security, February 1995. + + [15] H. Harney, C. Muckenhirn, and T. Rivers. Group Key Management + Protocol (GKMP) Architecture. Working draft, 1994. + + [16] N. Haller and R. Atkinson. RFC 1704, On Internet Authentication. + SRI Network Information Center, October 1994. + + [17] C. Kaufman and D. Eastlake. DNS Security Protocol Extensions. + Working draft, January 1996. + + [18] T. Berners-Lee, R. Cailliau, A. Luotonen, H. Frystyk Nielsen, A. + Secret. The World Wide Web. Communications of the ACM, 37(8):76-82, + August 1994. + + + +Ballardie Experimental [Page 17] + +RFC 1949 Scalable Multicast Key Distribution May 1996 + + + [19] R. Rivest. RFC 1321, The MD-5 Message Digest Algorithm, SRI Net- + work Information Center, 1992. + + [20] P. Karn, W. Simpson. The Photuris Session Key Management Proto- + col; Working draft, January 1996. + + [21] D. Maughan, M. Schertler. Internet Security Association and Key + Management Protocol; Working draft, November 1995. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Ballardie Experimental [Page 18] + |