Transmission and reception of macsec frames
The method addresses the overhead issue in MACsec frame communication by selectively omitting the SCI from the SecTAG in routers, based on policy conditions, thereby improving throughput and integrity protection in MACsec protocols.
Patent Information
- Application Number
- PCT/CN2023/108071
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-19
- Publication Date
- 2025-01-23
AI Technical Summary
The existing MACsec protocol incurs significant overhead due to the fixed size of the SecTAG, which includes the Secure Channel Identifier (SCI), limiting efficient communication of MACsec frames, especially in scenarios where only point-to-point connectivity is required.
The proposed solution involves selectively omitting the SCI from the SecTAG of MACsec frames in routers, based on a policy condition, thereby reducing overhead. This is applicable even when MACsec frames are not transmitted between end-stations, allowing for flexible optimization of traffic throughput and integrity protection.
By omitting the SCI from the SecTAG under specific conditions, the method achieves reduced overhead in MACsec frame communication, enhancing traffic throughput while maintaining optimal integrity protection, thus addressing the limitations of existing MACsec protocols.
Smart Images

Figure CN2023108071_23012025_PF_FP_ABST
Abstract
Description
TRANSMISSION AND RECEPTION OF MACSEC FRAMESTECHNICAL FIELD
[0001] Embodiments presented herein relate to methods, routers, computer programs, and a computer program product for transmission and reception of MACsec frames.BACKGROUND
[0002] In general terms, Media Access Control Security (MACsec) , also known as IEEE 802.1AE, is a protocol layer 2 security protocol standardized by the IEEE that operates on Ethernet frames.
[0003] MACsec is based on Secure Channels (SCs) , where each SC is identified by a Secure Channel Identifier (SCI) . The SCI comprises a 48-bit MAC address concatenated with a 16-bit Port Identifier. Each SC comprises a succession of Secure Associations (SAs) , each with a different Security Association Key (SAK) . Each SA is identified by the SC identifier concatenated with a two-bit Association Number (AN) . A Secure Association Identifier (SAI) is thus created that allows the receiving MAC Security Entity (SecY) to identify the SA, and thus the SAK used to decrypt and authenticate the received frame.
[0004] For transmission, the each MACsec frame is first assigned to a transmit SC and to the SA identified by its AN that will be used by that SC to protect the transmitted frame. The AN is used to identify the SAK and the next Packet Number (PN) for that SA. The AN, the SCI, and the 32 least significant bits of the PN are encoded in the MACsec Header (SecTAG) along with the MACsec EtherType and the number of octets in the frame following the SecTAG if less than 48.
[0005] One issue with using MACsec is the format, or size, of the SecTAG that consists of 16 octets. Frequent transmission of MACsec could thus imply large amounts of overhead.
[0006] Hence, there is a need for improved communication of MACsec frames that requires less overhead.SUMMARY
[0007] An object of embodiments herein is to provide efficient communication of MACsec frames that requires less overhead.
[0008] It is in this context noted that the SCI can be omitted from the SecTAG for point-to-point Connectivity Associations (CAs) if only one transmit SC is in use. A CA is a security relationship, established and maintained by key agreement protocols (MKA) , that comprises a fully-connected subset of the service access points in end-points attached to a single local area network (LAN) that are to be supported by MACsec.
[0009] In case MAC Protocol Data Units (MPDUs) are transmitted by an end-station, it is allowed to clear (i.e., to not set) the SC bit and not include the SCI in the SecTAG. However, omitting the SCI from the SecTAG of a MACsec frame is only available for end-stations.
[0010] A particular object is therefore to enable the SCI to be omitted from the SecTAG of a MACsec frame even in case MACsec frames are not communicated between end-stations.
[0011] According to a first aspect there is presented a method for transmission of MACsec frames. The method is performed by a first router. The method comprises receiving data traffic packets from a first communication device. The method comprises selectively, and in accordance with a policy condition, including an SCI in a header of each MACsec frames in which the data traffic packets are to be sent towards a second router. The SCI is included in the header only when the policy condition is fulfilled. The method comprises sending the MACsec frames comprises the data traffic packets towards the second router.
[0012] According to a second aspect there is presented a first router for transmission of MACsec frames. The first router comprises processing circuitry. The processing circuitry is configured to cause the first router to receive data traffic packets from a first communication device. The processing circuitry is configured to cause the first router to selectively, and in accordance with a policy condition, include an SCI in a header of each MACsec frames in which the data traffic packets are to be sent towards a second router. The SCI is included in the header only when the policy condition is fulfilled. The processing circuitry is configured to cause the first router to send the MACsec frames comprises the data traffic packets towards the second router.
[0013] According to a third aspect there is presented a first router for transmission of MACsec frames. The first router comprises a receive module configured to receive data traffic packets from a first communication device. The first router comprises an include module configured to selectively, and in accordance with a policy condition, include an SCI in a header of each MACsec frames in which the data traffic packets are to be sent towards a second router. The SCI is included in the header only when the policy condition is fulfilled. The first router comprises a send module configured to send the MACsec frames comprises the data traffic packets towards the second router.
[0014] According to a fourth aspect there is presented a computer program for transmission of MACsec frames. The computer program comprises computer code which, when run on processing circuitry of a first router, causes the first router to perform actions. One action comprises the first router to receive data traffic packets from a first communication device. One action comprises the first router to selectively, and in accordance with a policy condition, include an SCI in a header of each MACsec frames in which the data traffic packets are to be sent towards a second router. The SCI is included in the header only when the policy condition is fulfilled. One action comprises the first router to send the MACsec frames comprises the data traffic packets towards the second router.
[0015] According to a fifth aspect there is presented a method for reception of MACsec frames. The method is performed by a second router. The method comprises receiving MACsec frames from a first router. The MACsec frames comprises data traffic packets. A header of each of the MACsec frames selectively, and in accordance with a policy condition, either includes an SCI or not. The method comprises extracting the SCIs of the MACsec frames from the headers when the policy condition is fulfilled, and otherwise from auxiliary information. The method comprises sending the data traffic packets towards a second communication device.
[0016] According to a sixth aspect there is presented a second router for reception of MACsec frames. The second router comprises processing circuitry. The processing circuitry is configured to cause the second router to receive MACsec frames from a first router. The MACsec frames comprises data traffic packets. A header of each of the MACsec frames selectively, and in accordance with a policy condition, either includes an SCI or not. The processing circuitry is configured to cause the second router to extract the SCIs of the MACsec frames from the headers when the policy condition is fulfilled, and otherwise from auxiliary information. The processing circuitry is configured to cause the second router to send the data traffic packets towards a second communication device.
[0017] According to a seventh aspect there is presented a second router for reception of MACsec frames. The second router comprises a receive module configured to receive MACsec frames from a first router. The MACsec frames comprises data traffic packets. A header of each of the MACsec frames selectively, and in accordance with a policy condition, either includes an SCI or not. The second router comprises an extract module configured to extract the SCIs of the MACsec frames from the headers when the policy condition is fulfilled, and otherwise from auxiliary information.
[0018] The second router comprises a send module configured to send the data traffic packets towards a second communication device.
[0019] According to an eighth aspect there is presented a computer program for reception of MACsec frames. The computer program comprises computer code which, when run on processing circuitry of a second router, causes the second router to perform actions. One action comprises the second router to receive MACsec frames from a first router. The MACsec frames comprises data traffic packets. A header of each of the MACsec frames selectively, and in accordance with a policy condition, either includes an SCI or not. One action comprises the second router to extract the SCIs of the MACsec frames from the headers when the policy condition is fulfilled, and otherwise from auxiliary information. One action comprises the second router to send the data traffic packets towards a second communication device.
[0020] According to a ninth aspect there is presented a computer program product comprising a computer program according to at least one of the fourth aspect and the eighth aspect and a computer readable storage medium on which the computer program is stored. The computer readable storage medium could be a non-transitory computer readable storage medium.
[0021] Advantageously, these aspects provide efficient communication of MACsec frames that requires less overhead.
[0022] Advantageously, these aspects enable the SCI to be omitted from the SecTAG of a MACsec frame even in case MACsec frames are not communicated between end-stations.
[0023] Advantageously, these aspects can be used to optimize MACsec traffic throughput.
[0024] Advantageously, these aspects enable a flexible compromise between MACsec traffic throughput and optimal integrity protection (or encryption) .
[0025] Other objectives, features and advantages of the enclosed embodiments will be apparent from the following detailed disclosure, from the attached dependent claims as well as from the drawings.
[0026] Generally, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field, unless explicitly defined otherwise herein. All references to "a / an / the element, apparatus, component, means, module, step, etc. " are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, module, step, etc., unless explicitly stated otherwise. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless explicitly stated.BRIEF DESCRIPTION OF THE DRAWINGS
[0027] The inventive concept is now described, by way of example, with reference to the accompanying drawings, in which:
[0028] Fig. 1 is a schematic diagram illustrating a communication network according to embodiments;
[0029] Figs. 2, 3, 6, and 7 are flowcharts of methods according to embodiments;
[0030] Figs. 4 and 5 are schematic illustrations of transmission and reception of MACsec frames according to embodiments;
[0031] Fig. 8 is a schematic diagram showing functional units of a router according to an embodiment;
[0032] Fig. 9 is a schematic diagram showing functional modules of a router according to an embodiment; and
[0033] Fig. 10 shows one example of a computer program product comprising computer readable means according to an embodiment.DETAILED DESCRIPTION
[0034] The inventive concept will now be described more fully hereinafter with reference to the accompanying drawings, in which certain embodiments of the inventive concept are shown. This inventive concept may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete, and will fully convey the scope of the inventive concept to those skilled in the art. Like numbers refer to like elements throughout the description. Any step or feature illustrated by dashed lines should be regarded as optional.
[0035] Fig. 1 is a schematic diagram illustrating a communication network 100 where embodiments presented herein can be applied. The communication network 100 comprises routers 200a, 200b. The routers 200a, 200b are configured for MACsec frame encoding and decoding. For illustrative purposes it is assumed that router 200a receives data traffic packets 130a from a first communication device 110a and includes the data traffic packets 130a in MACsec frames 140. The MACsec frames 140 are sent over an Ethernet Virtual Private Line (E-Line) network 120 to router 200b. Router 200b extracts the data traffic packets from the MACsec frames 140 and sends the thus extracted data traffic packets 130b to a second communication device 110b. This implies that, in the present example, router 200a performs the MACsec frame encoding and that router 200b performs the MACsec frame decoding. Further aspects of how the data traffic packets 130a can be included in the MACsec frames 140 and how data traffic packets 130b can be extracted from the MACsec frames 140 will be disclosed below.
[0036] Router 200a will hereinafter be referred to as a first router 200a, whereas router 200b will be referred to as a second router 200b. However, this does not exclude that MACsec frames 140 can be transmitted from router 200b to router 200a. Neither does this imply that there is a hierarchical relationship between the routers 200a, 200b or the communication devices 110a, 110b. Further in this respect, each of the communication devices 110a, 110b might be another router, a switch, a network node, a baseband unit, a radio unit, customer premises equipment, or the like. For example, when one of the communication devices 110a, 110b is another router, also the data traffic packets received from, or sent to, the communication devices 110a, 110b might be received over, or sent over, the E-Line network. In some examples, the communication devices 110a, 110b are of one and the same type. In other examples, the communication devices 110a, 110b are of different types with respect to each other. Further, the data traffic packets 130a, 130b can be communicated using any suitable communication protocol for wired or wireless transmission, for example depending on the type of data that is communicated, and / or which communication protocol, or protocols, that is, or are, supported by the communication devices 110a, 110b and the routers 200a, 200b. However, it is assumed that MACsec is neither used when data traffic packets 130a are sent by the communication device 110a towards the first router 200a nor used when data traffic packets 130b are sent by the second router 200b towards the second communication device 110b.
[0037] The embodiments disclosed herein relate to techniques for transmission and reception of MACsec frames. In order to obtain such techniques, there is provided a first router 200a, a method performed by the first router 200a, a computer program product comprising code, for example in the form of a computer program, that when run on processing circuitry of the first router 200a, causes the first router 200a to perform the method. In order to obtain such techniques, there is further provided a second router 200b, a method performed by the second router 200b, and a computer program product comprising code, for example in the form of a computer program, that when run on processing circuitry of the second router 200b, causes the second router 200b to perform the method.
[0038] Reference is now made to Fig. 2 illustrating a method for transmission of MACsec frames 140, 410, 510 as performed by the first router 200a according to an embodiment.
[0039] S104: The first router 200a receives data traffic packets 130a from the first communication device 110a.
[0040] S106: The first router 200a selectively, and in accordance with a policy condition, includes an SCI in a header of each MACsec frames 140, 410, 510 in which the data traffic packets 130a are to be sent towards the second router 200b. The SCI is included in the header only when the policy condition is fulfilled.
[0041] S112: The first router 200a sends the MACsec frames 140, 410, 510 comprising the data traffic packets 130a towards the second router 200b.
[0042] Embodiments relating to further details of transmission of MACsec frames 140, 410, 510 as performed by the first router 200a will now be disclosed with continued reference to Fig. 2.
[0043] Different examples of first communication devices 110a have been disclosed above.
[0044] There may be different ways in which the MACsec frames 140, 410, 510 are sent towards the second router 200b. In one embodiment, as illustrated in Fig. 1, the MACsec frames 140, 410, 510 are sent over an E-Line network 120.
[0045] As disclosed above, whether the first router 200a includes the SCI in a header of each MACsec frames 140, 410, 510 or not depends on whether a policy condition is fulfilled or not. It is therefore at least implicitly assumed that the first router 200a has access to information about which policy condition to use so that the first router 200a can determined whether the policy condition is fulfilled or not. In this respect, there might be different ways for the first router 200a to have access to the policy condition. In some aspects, the first router 200a obtains the policy condition. That is, in some embodiments, the first router 200a is configured to perform (optional) step S102.
[0046] S102: The first router 200a obtains the policy condition.
[0047] In other embodiments, the policy condition is hard-coded in the first router 200a.
[0048] Further in this respect, as will be disclosed next, there might be different types of policy conditions. It is envisioned that the policy conditions might be updated, changed, or even replaced over time. It is further envisioned more than one policy condition can be applied simultaneously, possibly using a conflict-resolution mechanism, or applying prioritization, in case one policy condition is fulfilled at the same time as another policy condition is not fulfilled.
[0049] A first example policy condition is to always include the SCI in the header. That is, in some embodiments, in accordance with the policy condition, the SCI is to always be included in the header.
[0050] A second example policy condition is to include the SCI in the header in accordance with configuration. That is, in some embodiments, the policy condition is defined by configuration in the first router 200a. In this way, an administration unit might determine whether to include the SCI in the header or not and configure the first router 200a accordingly.
[0051] A third example policy condition is to include the SCI in the header in accordance with traffic throughput. That is, in some embodiments, the policy condition pertains to traffic throughput. Further in this respect, a threshold value can be is defined, or set, for the MACsec traffic throughput. As long as the traffic throughput has not reached threshold value, the SCI is included in the header. Upon the traffic throughput reaching the threshold value, the SCI is no longer to be included in the header. That is, in some embodiments, in accordance with the policy condition, the SCI is to be included in the header only when the traffic throughput is below a threshold value. In some examples, the traffic throughput is given as a traffic throughput indication from a port at which the MACsec frames 140, 410, 510 are sent at the first router 200a.
[0052] There can be different ways for the first router 200a to indicate that whether the SCI is included in the header or not. In some aspects, an SC bit in the header is set when the SCI is included in the header, and thus when the policy condition is fulfilled. Therefore, in some embodiments, the first router 200a is configured to perform (optional) step S108a.
[0053] S108a: The first router 200a sets an SC bit in the header when the policy condition is fulfilled.
[0054] Likewise, the SC bit in the header is not set when the SCI is not included in the header, and thus when the policy condition is not fulfilled. Therefore, in some embodiments, the first router 200a is configured to perform (optional) step S108b.
[0055] S108b: The first router 200a clears the SC bit in the header when the policy condition is not fulfilled.
[0056] In this respect, it is envisioned that also other indications can be used, and even that the SC bit can be reversely used compared to what is stated in S108a and s108b.
[0057] Further, there could be different ways for the SCI to be conveyed to the second router 200b when the policy condition is not fulfilled and the SCI thus not is included in the header. In some aspects, the SCI is sent from the first router 200a to the second router 200b as a basic parameter of a MAC protocol data unit (MKPDU) advertisement message. Hence, in some embodiments, the first router 200a is configured to perform (optional) step S110.
[0058] S110: The first router 200a sends the SCI towards the second router 200b as a basic parameter of an MKPDU advertisement message when the policy condition is not fulfilled.
[0059] With respect to what has been disclosed above, the SCI can thus be sent towards the second router 200b as a basic parameter of the MKPDU advertisement message when S108b has been entered and the first router 200a thus has cleared the SC bit in the header. Further, in some embodiments, the MKPDU advertisement message is sent in using a MACsec Key Agreement (MKA) protocol.
[0060] Reference is now made to Fig. 3 illustrating a method for reception of MACsec frames 140, 410, 510 as performed by the second router 200b according to an embodiment.
[0061] As disclosed above, the first router 200a in step S112 sends MACsec frames 140, 410, 510 comprising the data traffic packets 130a towards the second router 200b. It is assumed that the second router 200b receives these MACsec frames 140, 410, 510.
[0062] S204: The second router 200b receives MACsec frames 140, 410, 510 from the first router 200a. The MACsec frames 140, 410, 510 comprises data traffic packets 130a. As disclosed above, the header of each of the MACsec frames 140, 410, 510 selectively, and in accordance with a policy condition, either includes an SCI or not.
[0063] S208: The second router 200b extracts the SCIs of the MACsec frames 140, 410, 510 from the headers when the policy condition is fulfilled, and otherwise from auxiliary information.
[0064] S210: The second router 200b sends the data traffic packets 130b towards the second communication device 110b.
[0065] Embodiments relating to further details of reception of MACsec frames 140, 410, 510 as performed by the second router 200b will now be disclosed with continued reference to Fig. 3.
[0066] Different examples of second communication devices 110b have been disclosed above.
[0067] There may be different ways in which the MACsec frames 140, 410, 510 are received from the first router 200a. In one embodiment, as illustrated in Fig. 1, the MACsec frames 140, 410, 510 are received over an E-Line network 120.
[0068] As disclosed above, whether the first router 200a includes the SCI in a header of each MACsec frames 140, 410, 510 or not depends on whether a policy condition is fulfilled or not. In some aspects, it is at least implicitly assumed that the second router 200b has access to information about whether the policy condition is fulfilled or not. In this respect, there might be different ways for the second router 200b to have access to the policy condition. In some aspects, the second router 200b obtains the policy condition. That is, in some embodiments, the second router 200b is configured to perform (optional) step S202.
[0069] S202: The second router 200b obtains the policy condition.
[0070] In other embodiments, the policy condition is hard-coded in the second router 200b.
[0071] Different examples of policy conditions have been disclosed above in conjunction with the method performed by the first router 200a. These examples of policy conditions apply also for the method performed by the second router 200b.
[0072] A first example policy condition is to always include the SCI in the header. That is, in some embodiments, in accordance with the policy condition, the SCI is always included in the header.
[0073] A second example policy condition is to include the SCI in the header in accordance with configuration. That is, in some embodiments, the policy condition is defined by configuration in the second router 200b. In this way, an administration unit might determine whether to include the SCI in the header or not and also configure the second router 200b accordingly.
[0074] A third example policy condition is to include the SCI in the header in accordance with traffic throughput. That is, in some embodiments, the policy condition pertains to traffic throughput. As disclosed above, a threshold value can be is defined, or set, for the MACsec traffic throughput. As long as the traffic throughput has not reached threshold value, the SCI is included in the header.
[0075] Upon the traffic throughput reaching the threshold value, the SCI is no longer to be included in the header. That is, in some embodiments, in accordance with the policy condition, the SCI is included in the header only when the traffic throughput is below a threshold value. The threshold value could be communicated between the first router 200a and the second router 200b so that the first router 200a and the second router 200b use the same threshold value. As further disclosed above, in some embodiments, the traffic throughput is given as a traffic throughput indication from a port at which the MACsec frames 140, 410, 510 are received at the second router 200b.
[0076] As disclosed above, there can be different ways for the first router 200a to indicate that whether the SCI is included in the header or not. In some aspects, an SC bit in the header is set when the SCI is included in the header, and thus when the policy condition is fulfilled. Therefore, in some embodiments, the SC bit in the header is set when the policy condition is fulfilled, and the SC bit otherwise is clear.
[0077] As further disclosed above, the SCI can be sent from the first router 200a to the second router 200b as a basic parameter of an MKPDU advertisement message when the policy condition is not fulfilled and the SCI thus not is included in the header. Hence, in some embodiments, the second router 200b is configured to perform (optional) step S206.
[0078] S206: The second router 200b receives auxiliary information from the first router 200a as a basic parameter of a MKPDU advertisement message when the policy condition is not fulfilled. The auxiliary information comprises the SCI.
[0079] In some embodiments, the MKPDU advertisement message is received using an MKA protocol.
[0080] Reference is next made to Figs. 4 and 5.
[0081] In Fig. 4 is illustrated an example of a communication network 400 identical to the communication network 100 of Fig. 1 but without the communication devices 110a, 110b, and where the SC bit in the header is clear (i.e., where the SC bit is not set) and thus where the policy condition is not fulfilled, and where the ES bit is clear (i.e., where the ES bit is not set) . In Fig. 4 is also shown an example MACsec frame 410 for this case. ICV is short for Integrity Check Value. TCI is short for TAG Control Information. SMAC is short for source MAC address. DMAC is short for destination MAC address. In this case, the SCI is thus not included in the header. In this case, the second router 200b extracts the SCIs from auxiliary information. The auxiliary information is received from the first router 200a as a basic parameter of an MKPDU advertisement message.
[0082] In Fig. 5 is illustrated an example of a communication network 500 identical to the communication network 100 of Fig. 1 but without the communication devices 110a, 110b, and where the SC bit in the header is set and thus where the policy condition is fulfilled, and where the ES bit is clear (i.e., where the ES bit is not set) . In Fig. 5 is also shown an example MACsec frame 510 for this case. In this case, the SCI is thus included in the header. In this case, the second router 200b can extract the SCIs of the MACsec frames from the headers of the MACsec frames.
[0083] One particular embodiment for transmission of MACsec frames 140, 410, 510 as performed by the first router 200a based on at least some of the above disclosed embodiments will now be disclosed in detail with reference to the flowchart of Fig. 6.
[0084] S301: The first router 200a uses the MKA protocol to establish a secure MKA session with the second router 200b.
[0085] S302: The first router 200a obtains an SAK for encoding MACsec frames to be sent to the second router 200b during the secure MKA session.
[0086] S303: The first router 200a checks, or selects, which policy condition that is to be applied for the MACsec frames.
[0087] S304: The first router 200a selectively, and in accordance with the policy condition, including an SCI in a header of each MACsec frame to be sent towards the second router 200b. The SCI is included in the header only when the policy condition is fulfilled. Step S305 is entered in case the SCI is not included in the header. Step S308 is entered in case the SCI is included in the header.
[0088] S305: The first router 200a checks if the recipient of data traffic packets in the MACsec frames is an end-station or not. Step S306 is entered in case the recipient is not an end-station. Step S307 is entered in case the recipient is an end-station
[0089] S306: The first router 200a, in each MACsec frame, omits the SCI from the header, clears the ES bit, and clears the SC bit, before sending the MACsec frames.
[0090] S307: The first router 200a, in each MACsec frame, omits the SCI from the header, sets the ES bit, and clears the SC bit, before sending the MACsec frames.
[0091] S308: The first router 200a, in each MACsec frame, includes the SCI in the header, and sets the SC bit, before sending the MACsec frames towards the second router 200b.
[0092] One particular embodiment for reception of MACsec frames 140, 410, 510 as performed by the second router 200b based on at least some of the above disclosed embodiments will now be disclosed in detail with reference to the flowchart of Fig. 7.
[0093] S401: The second router 200b uses the MKA protocol to establish a secure MKA session with the first router 200a.
[0094] S402: The second router 200b, in the control plane, obtains an SAK as a parameter of the MPDUs.
[0095] S403: The second router 200b checks, or selects, which policy condition that is to be applied for the MACsec frames.
[0096] S404: The second router 200b receives MACsec frames from the first router 200a. The MACsec frames comprises data traffic packets. As disclosed above, the header of each of the MACsec frames selectively, and in accordance with the policy condition, either includes an SCI or not. Step S405 is entered in case the SCI is included in the header (i.e., not excluded) . Step S408 is entered in case the SCI is not included in the header (i.e., excluded) .
[0097] S405: The second router 200b, in each MACsec frame, checks whether the SC bit is set or not. Step S406 is entered in case the SC bit is set. Step S407 is entered in case the SC bit is not set (i.e., when the SC bit is clear) .
[0098] S406: The second router 200b extracts the SCIs from the headers of the MACsec frames.
[0099] S407: Decryption fails.
[0100] S408: The second router 200b, in each MACsec frame, checks whether the SC bit is clear or not. Step S406 is entered in case the SC bit is not clear (i.e., when the SC bit is set) . Step S409 is entered in case the SC bit is clear (i.e., when the SC bit is not set) .
[0101] S409: The second router 200b extracts the SCIs from auxiliary information. The auxiliary information is received from the first router 200a as a basic parameter of an MKPDU advertisement message.
[0102] S410: The second router 200b uses the SCI to validate the ICV in each MACsec frame for integrity protection.
[0103] S411: The second router 200b, in the data plane, uses the SCI plus the AN to retrieve the SAK for decryption of the payload (i.e., the data traffic packets) of the MACsec frames. After decryption, the second router 200b sends the data traffic packets towards a communication device.
[0104] Fig. 8 schematically illustrates, in terms of a number of functional units, the components of a router 200a, 200b according to an embodiment. Processing circuitry 210 is provided using any combination of one or more of a suitable central processing unit (CPU) , multiprocessor, microcontroller, digital signal processor (DSP) , etc., capable of executing software instructions stored in a computer program product 1010a, 1010b (as in Fig. 10) , e.g. in the form of a storage medium 230. The processing circuitry 210 may further be provided as at least one application specific integrated circuit (ASIC) , or field programmable gate array (FPGA) .
[0105] Particularly, the processing circuitry 210 is configured to cause the router 200a, 200b to perform a set of operations, or steps, as disclosed above. For example, the storage medium 230 may store the set of operations, and the processing circuitry 210 may be configured to retrieve the set of operations from the storage medium 230 to cause the router 200a, 200b to perform the set of operations. The set of operations may be provided as a set of executable instructions.
[0106] Thus the processing circuitry 210 is thereby arranged to execute methods as herein disclosed. The storage medium 230 may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory. The router 200a, 200b may further comprise a communications (comm. ) interface 220 at least configured for communications with other entities, functions, nodes, and devices, as disclosed above. As such the communications interface 220 may comprise one or more transmitters and receivers, comprising analogue and digital components. The processing circuitry 210 controls the general operation of the router 200a, 200b e.g. by sending data and control signals to the communications interface 220 and the storage medium 230, by receiving data and reports from the communications interface 220, and by retrieving data and instructions from the storage medium 230. Other components, as well as the related functionality, of the router 200a, 200b are omitted in order not to obscure the concepts presented herein.
[0107] Fig. 9 schematically illustrates, in terms of a number of functional modules, the components of a router 200a, 200b according to an embodiment. The router 200a, 200b of Fig. 9 comprises a number of functional modules.
[0108] The router 200a, 200b, when configured to operate as the above-disclosed first router 200a, comprises a receive module 210b configured to perform step S104, an include module 210c configured to perform step S106, and a send module 210g configured to perform step S112. The router 200a, 200b, when configured to operate as the above-disclosed first router 200a, may further comprise a number of optional functional modules, such as any of an obtain module configured to perform step S102, a set module configured to perform step S108a, a clear module configured to perform step S108b, and a send module configured to perform step S110.
[0109] The router 200a, 200b, when configured to operate as the above-disclosed second router 200b, comprises a receive module 210i configured to perform step S204, an extract module 210k configured to perform step S208, and a send module 210l configured to perform step S210. The router 200a, 200b, when configured to operate as the above-disclosed second router 200b, may further comprise a number of optional functional modules, such as any of an obtain module 210h configured to perform step S202, and a receive module 210j configured to perform step S206.
[0110] In general terms, each functional module 210a: 210l may in one embodiment be implemented only in hardware and in another embodiment with the help of software, i.e., the latter embodiment having computer program instructions stored on the storage medium 230 which when run on the processing circuitry makes the router 200a, 200b perform the corresponding steps mentioned above in conjunction with Fig 9. It should also be mentioned that even though the modules correspond to parts of a computer program, they do not need to be separate modules therein, but the way in which they are implemented in software is dependent on the programming language used. Preferably, one or more or all functional modules 210a: 210l may be implemented by the processing circuitry 210, possibly in cooperation with the communications interface 220 and / or the storage medium 230. The processing circuitry 210 may thus be configured to from the storage medium 230 fetch instructions as provided by a functional module 210a: 210l and to execute these instructions, thereby performing any steps as disclosed herein.
[0111] Fig. 10 shows one example of a computer program product 1010a, 1010b comprising computer readable means 1030. On this computer readable means 1030, a computer program 1020a can be stored, which computer program 1020a can cause the processing circuitry 210 and thereto operatively coupled entities and devices, such as the communications interface 220 and the storage medium 230, to execute methods according to embodiments described herein. The computer program 1020a and / or computer program product 1010a may thus provide means for performing any steps of the first router 200a as herein disclosed. On this computer readable means 1030, a computer program 1020b can be stored, which computer program 1020b can cause the processing circuitry 210 and thereto operatively coupled entities and devices, such as the communications interface 220 and the storage medium 230, to execute methods according to embodiments described herein. The computer program 1020b and / or computer program product 1010b may thus provide means for performing any steps of the second router 200b as herein disclosed.
[0112] In the example of Fig. 10, the computer program product 1010a, 1010b is illustrated as an optical disc, such as a CD (compact disc) or a DVD (digital versatile disc) or a Blu-Ray disc. The computer program product 1010a, 1010b could also be embodied as a memory, such as a random access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM) , or an electrically erasable programmable read-only memory (EEPROM) and more particularly as a non-volatile storage medium of a device in an external memory such as a USB (Universal Serial Bus) memory or a Flash memory, such as a compact Flash memory. Thus, while the computer program 1020a, 1020b is here schematically shown as a track on the depicted optical disk, the computer program 1020a, 1020b can be stored in any way which is suitable for the computer program product 1010a, 1010b.
[0113] The inventive concept has mainly been described above with reference to a few embodiments. However, as is readily appreciated by a person skilled in the art, other embodiments than the ones disclosed above are equally possible within the scope of the inventive concept, as defined by the appended patent claims.
Claims
1.A method for transmission of MACsec frames (140, 410, 510) , wherein the method is performed by a first router (200a) , and wherein the method comprises:receiving (S104) data traffic packets (130a) from a first communication device (110a) ;selectively, and in accordance with a policy condition, including (S106) a Secure Channel Identifier, SCI, in a header of each MACsec frames (140, 410, 510) in which the data traffic packets (130a) are to be sent towards a second router (200b) , wherein the SCI is included in the header only when the policy condition is fulfilled; andsending (S112) the MACsec frames (140, 410, 510) comprising the data traffic packets (130a) towards the second router (200b) .2.The method according to claim 1, wherein the method further comprises:setting (S108a) a Secure Channel, SC, bit in the header when the policy condition is fulfilled; orclearing (S108b) the SC bit in the header when the policy condition is not fulfilled.3.The method according to claim 1 or 2, wherein the method further comprises:sending (S110) the SCI towards the second router (200b) as a basic parameter of a MAC protocol data unit, MKPDU, advertisement message when the policy condition is not fulfilled.4.The method according to claim 3, wherein the MKPDU advertisement message is sent in using a MACsec Key Agreement, MKA, protocol.5.The method according to any preceding claim, wherein the method further comprises:obtaining (S102) the policy condition.6.The method according to any preceding claim, wherein, in accordance with the policy condition, the SCI is to always be included in the header.7.The method according to any of claims 1 to 5, wherein the policy condition is defined by configuration in the first router (200a) .8.The method according to any of claims 1 to 5, wherein the policy condition pertains to traffic throughput.9.The method according to claim 8, wherein, in accordance with the policy condition, the SCI is to be included in the header only when the traffic throughput is below a threshold value.10.The method according to claim 8 or 9, wherein the traffic throughput is given as a traffic throughput indication from a port at which the MACsec frames (140, 410, 510) are sent at the first router (200a) .11.The method according to any preceding claim, wherein the MACsec frames (140, 410, 510) are sent over an Ethernet Virtual Private Line network (120) .12.A method for reception of MACsec frames (140, 410, 510) , wherein the method is performed by a second router (200b) , and wherein the method comprises:receiving (S204) MACsec frames (140, 410, 510) from a first router (200a) , wherein the MACsec frames (140, 410, 510) comprises data traffic packets (130a) , wherein a header of each of the MACsec frames (140, 410, 510) selectively, and in accordance with a policy condition, either includes a Secure Channel Identifier, SCI, or not;extracting (S208) the SCIs of the MACsec frames (140, 410, 510) from the headers when the policy condition is fulfilled, and otherwise from auxiliary information; andsending (S210) the data traffic packets (130b) towards a second communication device (110b) .13.The method according to claim 12, wherein a Secure Channel, SC, bit in the header is set when the policy condition is fulfilled, and the SC bit otherwise is clear.14.The method according to claim 12 or 13, wherein the method further comprises:receiving (S206) auxiliary information from the first router (200a) as a basic parameter of a MAC protocol data unit, MKPDU, advertisement message when the policy condition is not fulfilled, and wherein the auxiliary information comprises the SCI.15.The method according to claim 14, wherein the MKPDU advertisement message is received in using a MACsec Key Agreement, MKA, protocol.16.The method according to any of claims 12 to 15, wherein the method further comprises:obtaining (S202) the policy condition.17.The method according to any of claims 12 to 16, wherein, in accordance with the policy condition, the SCI is always included in the header.18.The method according to any of claims 12 to 16, wherein the policy condition is defined by configuration in the second router (200b) .19.The method according to any of claims 12 to 16, wherein the policy condition pertains to traffic throughput.20.The method according to claim 19, wherein, in accordance with the policy condition, the SCI is included in the header only when the traffic throughput is below a threshold value.21.The method according to claim 19 or 20, wherein the traffic throughput is given as a traffic throughput indication from a port at which the MACsec frames (140, 410, 510) are received at the second router (200b) .22.The method according to any of claims 12 to 21, wherein the MACsec frames (140, 410, 510) are received over an Ethernet Virtual Private Line network (120) .23.A first router (200a) for transmission of MACsec frames (140, 410, 510) , the first router (200a) comprising processing circuitry (210) , the processing circuitry being configured to cause the first router (200a) to:receive data traffic packets (130a) from a first communication device (110a) ;selectively, and in accordance with a policy condition, include a Secure Channel Identifier, SCI, in a header of each MACsec frames (140, 410, 510) in which the data traffic packets (130a) are to be sent towards a second router (200b) , wherein the SCI is included in the header only when the policy condition is fulfilled; andsend the MACsec frames (140, 410, 510) comprising the data traffic packets (130a) towards the second router (200b) .24.A first router (200a) for transmission of MACsec frames (140, 410, 510) , the first router (200a) comprising:a receive module (210b) configured to receive data traffic packets (130a) from a first communication device (110a) ;an include module (210c) configured to selectively, and in accordance with a policy condition, include a Secure Channel Identifier, SCI, in a header of each MACsec frames (140, 410, 510) in which the data traffic packets (130a) are to be sent towards a second router (200b) , wherein the SCI is included in the header only when the policy condition is fulfilled; anda send module (210g) configured to send the MACsec frames (140, 410, 510) comprising the data traffic packets (130a) towards the second router (200b) .25.The first router (200a) according to claim 23 or 24, further being configured to perform the method according to any of claims 2 to 11.26.A second router (200b) for reception of MACsec frames (140, 410, 510) , the second router (200b) comprising processing circuitry (210) , the processing circuitry being configured to cause the second router (200b) to:receive MACsec frames (140, 410, 510) from a first router (200a) , wherein the MACsec frames (140, 410, 510) comprises data traffic packets (130a) , wherein a header of each of the MACsec frames (140, 410, 510) selectively, and in accordance with a policy condition, either includes a Secure Channel Identifier, SCI, or not;extract the SCIs of the MACsec frames (140, 410, 510) from the headers when the policy condition is fulfilled, and otherwise from auxiliary information; andsend the data traffic packets (130b) towards a second communication device (110b) .27.A second router (200b) for reception of MACsec frames (140, 410, 510) , the second router (200b) comprising:a receive module (210i) configured to receive MACsec frames (140, 410, 510) from a first router (200a) , wherein the MACsec frames (140, 410, 510) comprises data traffic packets (130a) , wherein a header of each of the MACsec frames (140, 410, 510) selectively, and in accordance with a policy condition, either includes a Secure Channel Identifier, SCI, or not;an extract module (210k) configured to extract the SCIs of the MACsec frames (140, 410, 510) from the headers when the policy condition is fulfilled, and otherwise from auxiliary information; anda send module (210l) configured to send the data traffic packets (130b) towards a second communication device (110b) .28.The second router (200b) according to claim 26 or 27, further being configured to perform the method according to any of claims 13 to 22.29.A computer program (1020a) for transmission of MACsec frames (140, 410, 510) , the computer program comprising computer code which, when run on processing circuitry (210) of a first router (200a) , causes the first router (200a) to:receive (S104) data traffic packets (130a) from a first communication device (110a) ;selectively, and in accordance with a policy condition, include (S106) a Secure Channel Identifier, SCI, in a header of each MACsec frames (140, 410, 510) in which the data traffic packets (130a) are to be sent towards a second router (200b) , wherein the SCI is included in the header only when the policy condition is fulfilled; andsend (S112) the MACsec frames (140, 410, 510) comprising the data traffic packets (130a) towards the second router (200b) .30.A computer program (1020b) for reception of MACsec frames (140, 410, 510) , the computer program comprising computer code which, when run on processing circuitry (210) of a second router (200b) , causes the second router (200b) to:receive (S204) MACsec frames (140, 410, 510) from a first router (200a) , wherein the MACsec frames (140, 410, 510) comprises data traffic packets (130a) , wherein a header of each of the MACsec frames (140, 410, 510) selectively, and in accordance with a policy condition, either includes a Secure Channel Identifier, SCI, or not;extract (S208) the SCIs of the MACsec frames (140, 410, 510) from the headers when the policy condition is fulfilled, and otherwise from auxiliary information; andsend (S210) the data traffic packets (130b) towards a second communication device (110b) .31.A computer program product (1010a, 1010b) comprising a computer program (1020a, 1020b) according to at least one of claims 29 and 30, and a computer readable storage medium (1030) on which the computer program is stored.
Citation Information
Patent Citations
Method and system for tunneling macsec packets through non-macsec nodes
US20080123652A1
Selective exposure of feature tags in a MACSec packet
US8707020B1