Transmitting and Receiving Stations
By resetting packet numbers during retransmission in wireless LAN systems, the solution addresses the issue of improper encryption and decryption due to redone packet fragments, ensuring secure communication through synchronized packet number management.
Patent Information
- Application Number
- JP2023544806
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-08-30
- Publication Date
- 2025-01-17
- Estimated Expiration
- 2041-08-30
AI Technical Summary
Existing wireless LAN systems face issues with proper encryption and decryption when packet fragments are redone during retransmission, leading to potential mismatches in packet numbers between transmitting and receiving stations.
The solution involves a transmitting station with a fragmentation section, packet number assignment, encryption, and retransmission control to ensure that packet numbers are reset to initial values during retransmission, synchronizing them with the receiving station to maintain proper encryption and decryption processes.
This approach ensures that encryption and decryption are performed correctly even when fragments are redone, synchronizing packet numbers between stations to prevent mismatches and ensure secure communication.
Smart Images

Figure 0007616400000001 
Figure 0007616400000002 
Figure 0007616400000003
Abstract
Description
[Technical field]
[0001] The embodiments relate to a transmitting station and a receiving station. [Background technology]
[0002] Wireless LANs (Local Area Networks) are known as wireless systems between a transmitting station that transmits wireless signals and a receiving station that receives wireless signals, such as a base station and a terminal. In wireless LANs, packets are encrypted. This encryption is performed according to a method based on the Advanced Encryption Standard (AES), for example, called CCMP (Counter-mode with CBC-MAC protocol). [Prior art documents] [Non-patent literature]
[0003] [Non-Patent Document 1] IEEE Std 802.11-2016, “12.5.3 CTR with CBC-MAC protocol (CCMP)”, 7 December 2016 Summary of the Invention [Problem to be solved by the invention]
[0004] It has been considered to re-fragment packets in order to reconstruct them during retransmission, etc. However, when fragments are re-fragmented, encryption and decryption may not be performed properly.
[0005] The embodiments provide sending and receiving stations with proper encryption and decryption even if the fragments are replayed. [Means for solving the problem]
[0006] A transmitting station according to an embodiment includes a fragmentation unit, a packet number assignment unit, an encryption unit, a radio signal processing unit, and a retransmission control unit. The fragmentation unit divides data into fragments. The packet number assignment unit assigns first packet numbers to the fragments. The encryption unit encrypts the fragments based on the first packet numbers. The radio signal processing unit transmits the encrypted fragments to the receiving station as radio signals. The retransmission control unit controls retransmission of the data based on a response from the receiving station. When retransmitting the data, the retransmission control unit instructs the packet number assignment unit to reset the first packet number to an initial value, requests the receiving station to reset a second packet number managed in the receiving station to an initial value for decrypting the encrypted fragments, and instructs the fragmentation unit to reconstruct the fragments that have failed to be transmitted. Effect of the Invention
[0007] According to the embodiment, a sending station and a receiving station are provided in which encryption and decryption are performed properly even if the fragments are replayed. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 is a diagram illustrating an example of a configuration of a wireless system according to an embodiment. [Diagram 2] FIG. 2 is a diagram showing a specific example of a format of a MAC frame. [Diagram 3] FIG. 3 is a diagram illustrating an example of the configuration of a base station. [Figure 4] FIG. 4 is a diagram illustrating an example of a functional configuration of the base station. [Diagram 5] FIG. 5 is a diagram illustrating an example of the configuration of a terminal. [Figure 6] FIG. 6 is a diagram illustrating an example of a functional configuration of the terminal. [Figure 7] FIG. 7 is a diagram illustrating an example of a functional configuration of the MAC frame processing unit. [Figure 8] FIG. 8 is a diagram illustrating an example of the configuration of the encryption unit. [Figure 9] FIG. 9 is a diagram showing a specific example of an AAD. [Figure 10] FIG. 10 is a diagram showing a specific example of a Nonce. [Figure 11] FIG. 11 is a diagram showing a specific example of the Nonce flag. [Figure 12] FIG. 12 is a diagram showing a specific example of a frame format of an encrypted MPDU. [Figure 13] FIG. 13 is a diagram illustrating an example of a configuration of the decoding unit. [Figure 14] FIG. 14 is a flowchart showing the operation of the retransmission control unit in the transmitting station. [Figure 15A] FIG. 15A is a diagram illustrating an example of the configuration of an A-MPDU in a radio frame of a radio signal transmitted from a transmitting station. [Figure 15B] FIG. 15B is a diagram showing an example of a receiving state at a receiving station when the wireless signal shown in FIG. 15A is transmitted. [Figure 15C] FIG. 15C is a diagram illustrating an example of the configuration of an A-MPDU in a retransmission frame of a wireless signal transmitted from a transmitting station. [Figure 15D] FIG. 15D is a diagram showing an example of a receiving state at a receiving station when the wireless signal shown in FIG. 15C is transmitted. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Hereinafter, an embodiment will be described with reference to the drawings. Fig. 1 is a diagram showing an example of a configuration of a wireless system 1 according to an embodiment. As shown in Fig. 1, the wireless system 1 includes, for example, a base station 10, a terminal 20, and a server 30.
[0010] The base station 10 is connected to a network NW and used as an access point (AP) of a wireless LAN. For example, the base station 10 can wirelessly distribute data received from the network NW to the terminal 20. The base station 10 may be connected to the terminal 20 using one type of band or multiple types of bands. The communication between the base station 10 and the terminal 20 is based on, for example, the IEEE802.11 standard. Here, the communication based on the IEEE802.11 standard will be described as an example, but is not limited to this.
[0011] The terminal 20 is a wireless terminal such as a smartphone or a tablet PC. The terminal 20 can transmit and receive data to and from a server 30 on a network NW via a base station 10 connected wirelessly. The terminal 20 may be other electronic devices such as a desktop computer or a laptop computer. The terminal 20 is required to be at least capable of communicating with the base station 10.
[0012] The server 30 can hold various information, for example, data of content targeted for the terminal 20. The server 30 is connected to the network NW by wire, for example, and is configured to be able to communicate with the base station 10 via the network NW. Note that it is sufficient for the server 30 to be able to communicate with at least the base station 10. In other words, the communication between the base station 10 and the server 30 may be wired or wireless.
[0013] In the wireless system 1 according to the embodiment, wireless communication between the base station 10 and the terminal 20 complies with the IEEE 802.11 standard. The IEEE 802.11 standard specifies the first and second MAC sublayers of the OSI (Open Systems Interconnection) reference model. In the OSI reference model, communication functions are divided into seven layers (first layer: physical layer, second layer: data link layer, third layer: network layer, fourth layer: transport layer, fifth layer: session layer, sixth layer: presentation layer, seventh layer: application layer). The data link layer includes, for example, an LLC (Logical Link Control) layer and a MAC (Media Access Control) layer. In the LLC layer, for example, a DSAP (Destination Service Access Point) header, an SSAP (Source Service Access Point) header, or the like is added to data input from an upper application to form an LLC packet. In the MAC layer, for example, a MAC header is added to an LLC packet to form a MAC frame. This explanation focuses on the processing of the MAC sublayers of layers 1 and 2 defined by the IEEE 802.11 standard, and omits explanations of the processing of other layers.
[0014] Fig. 2 is a diagram showing a specific example of a format of a MAC frame used in communication between the base station 10 and the terminal 20 in the wireless system 1 according to the embodiment. As shown in Fig. 2, the MAC frame includes, for example, a Frame Control field, a Duration field, an Address1 field, an Address2 field, an Address3 field, a Sequence Control field, an Address4 field, a QoS Control field, an HT Control field, a Frame Body field, and an FCS (Frame Check Sequence) field. Some of these fields are included, while others are not, depending on the type of wireless frame.
[0015] The Frame Control field through the HT Control field correspond to the MAC header. The Frame Body field corresponds to the MAC payload. The FCS field stores an error detection code for the MAC header and Frame Body field. The FCS field is used to determine whether there is an error in the MAC frame.
[0016] The Frame Control field includes various control information such as a Type value, a Subtype value, a To DS (Distribution System) value, a From DS value, and a Retry value. The Type value indicates whether the MAC frame is a management frame, a control frame, or a data frame. The Subtype value indicates the frame type of the MAC frame when used in combination with the Type value. For example, "00 / 1000 (Type value / Subtype value)" indicates that the MAC frame is a beacon. Also, "00 / 0100 (Type value / Subtype value)" indicates that the MAC frame is a probe request. Also, "00 / 0101 (Type value / Subtype value)" indicates that the MAC frame is a probe response. The To DS value and the From DS value have different meanings depending on their combination. For example, when the MAC frame is a data frame, the To DS value "0" indicates that the receiving station is a terminal, and "1" indicates that the receiving station is a base station. Furthermore, when the MAC frame is a data frame, a From DS value of "0" indicates that the transmitting station is a terminal, and "1" indicates that the transmitting station is a base station. On the other hand, when the MAC frame is a management frame or a control frame, the To DS value and From DS value are fixed to, for example, "0". The Retry value indicates whether the MAC frame is a retransmitted frame. For example, a Retry value of "0" indicates that the MAC frame is not a retransmitted frame, i.e., it is the original MAC frame. On the other hand, a Retry value of "1" indicates that the MAC frame is a retransmitted frame.
[0017] The Duration field indicates the planned period for which the wireless line is to be used. The Address field indicates the BSSID, source MAC address, destination MAC address, sender terminal address, receiver terminal address, etc. The number of Address fields used varies depending on the frame type. The Sequence Control field indicates the sequence number and fragment number. The QoS Control field is used for the QoS (Quality of Service) function in the MAC frame. The QoS Control field may include a traffic type (TID) subfield. The HT Control field is a control field for high throughput functions. The Frame Body field contains information according to the frame type. For example, when the frame type is a data frame, the Frame Body field stores the transmission data.
[0018] Fig. 3 is a diagram showing an example of the configuration of the base station 10. As shown in Fig. 3, the base station 10 includes, for example, a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a wireless communication module 14, and a wired communication module 15.
[0019] The CPU 11 is a circuit capable of executing various programs, and controls the overall operation of the base station 10. The ROM 12 is a non-volatile semiconductor memory, and holds programs and control data for controlling the base station 10. The RAM 13 is, for example, a volatile semiconductor memory, and is used as a working area for the CPU 11. The wireless communication module 14 is a circuit used for transmitting and receiving data by wireless signals, and is connected to an antenna. The wired communication module 15 is a circuit used for transmitting and receiving data by wired signals, and is connected to a network NW.
[0020] Fig. 4 is a diagram showing an example of a functional configuration of the base station 10. As shown in Fig. 4, the base station 10 includes, for example, an LLC processing unit 110, a MAC frame processing unit 120, and a radio signal processing unit 130. The LLC processing unit 110, the MAC frame processing unit 120, and the radio signal processing unit 130 are realized by a wireless communication module 14 or a combination of the CPU 11 and the wireless communication module 14.
[0021] The LLC processing unit 110 may execute LLC layer processing on the input data. For example, the LLC processing unit 110 generates an LLC packet by adding a DSAP (Destination Service Access Point) header and an SSAP (Source Service Access Point) header to the data input from the server 30 via the network NW. The LLC processing unit 110 then outputs the LLC packet to the MAC frame processing unit 120. The LLC processing unit 110 also extracts data from the MAC frame input from the MAC frame processing unit 120. The LLC processing unit 110 then transmits the data to the server 30 via the network NW.
[0022] The MAC frame processing unit 120 performs MAC layer processing on the LLC packet input from the LLC processing unit 110 to generate a MAC frame. Then, the MAC frame processing unit 120 outputs the MAC frame to the radio signal processing unit 130. Also, the MAC frame processing unit 120 performs MAC layer processing on the MAC frame input from the radio signal processing unit 130 to restore the LLC packet. Then, the MAC frame processing unit 120 outputs the LLC packet to the LLC processing unit 110. The MAC frame processing unit 120 will be described in detail later.
[0023] The radio signal processing unit 130 may execute a physical layer process. For example, when the radio signal processing unit 130 receives a MAC frame from the MAC frame processing unit 120, the radio signal processing unit 130 generates a PHY frame by adding a PHY (physical) header to the MAC frame. Then, the radio signal processing unit 130 performs a predetermined modulation operation on the PHY frame to convert the PHY frame into a radio signal, and transmits the radio signal via an antenna. The predetermined modulation operation includes, for example, convolutional coding, interleaving, subcarrier modulation, inverse fast Fourier transform (IFFT), orthogonal frequency division multiplexing (OFDM) modulation, and frequency conversion. Furthermore, when the radio signal processing unit 130 receives a radio signal via an antenna, the radio signal processing unit 130 performs a predetermined demodulation operation on the received radio signal to restore the PHY frame. The predetermined demodulation operation includes, for example, frequency conversion, OFDM demodulation, fast Fourier transform (FFT), subcarrier demodulation, deinterleaving, and Viterbi decoding. Then, the radio signal processing unit 130 extracts the MAC frame from the PHY frame, and outputs the extracted MAC frame to the MAC frame processing unit 120.
[0024] Fig. 5 is a diagram showing an example of the configuration of the terminal 20. As shown in Fig. 5, the terminal 20 includes a CPU 21, a ROM 22, a RAM 23, a wireless communication module 24, a display 25, and a storage 26, for example.
[0025] The CPU 21 is a circuit capable of executing various programs, and controls the overall operation of the terminal 20. The ROM 22 is a non-volatile semiconductor memory, and holds programs and control data for controlling the terminal 20. The RAM 23 is, for example, a volatile semiconductor memory, and is used as a working area for the CPU 21. The wireless communication module 24 is a circuit used for transmitting and receiving data by wireless signals, and is connected to an antenna. The display 25 displays a GUI (Graphical User Interface) corresponding to application software, and the like. The display 25 may also function as an input interface for the terminal 20. The storage 26 is a non-volatile storage device, and holds system software, and the like, of the terminal 20.
[0026] Fig. 6 is a diagram showing an example of a functional configuration of the terminal 20. As shown in Fig. 6, the terminal 20 includes, for example, an LLC processing unit 210, a MAC frame processing unit 220, a wireless signal processing unit 230, and an application execution unit 240. The LLC processing unit 210, the MAC frame processing unit 220, and the wireless signal processing unit 230 are realized by the wireless communication module 24, or a combination of the CPU 21 and the wireless communication module 24. Furthermore, the application execution unit 240 is realized by the CPU 21.
[0027] The LLC processing unit 210 generates an LLC packet by adding a DSAP header, an SSAP header, and the like to data input from a higher-level device such as an application. Then, the LLC processing unit 210 outputs the LLC packet to the MAC frame processing unit 220. Also, the LLC processing unit 210 extracts data from the MAC frame input from the MAC frame processing unit 220. Then, the LLC processing unit 210 outputs the data to a higher-level device.
[0028] The MAC frame processing unit 220 performs MAC layer processing on the LLC packet input from the LLC processing unit 210 to generate a MAC frame. Then, the MAC frame processing unit 220 outputs the MAC frame to the radio signal processing unit 230. Also, the MAC frame processing unit 220 performs MAC layer processing on the MAC frame input from the radio signal processing unit 230 to restore the LLC packet. Then, the MAC frame processing unit 220 outputs the LLC packet to the LLC processing unit 210. The MAC frame processing unit 220 will be described in detail later.
[0029] The radio signal processing unit 230 may execute a process of the physical layer. For example, when the radio signal processing unit 230 receives a MAC frame from the MAC frame processing unit 220, the radio signal processing unit 230 generates a PHY frame by adding a PHY header to the MAC frame. Then, the radio signal processing unit 230 performs a predetermined modulation operation on the PHY frame to convert the PHY frame into a radio signal, and transmits the radio signal via an antenna. Also, when the radio signal processing unit 230 receives a radio signal via an antenna, the radio signal processing unit 230 performs a predetermined demodulation operation on the received radio signal to restore the PHY frame. Then, the radio signal processing unit 230 extracts the MAC frame from the PHY frame, and outputs the extracted MAC frame to the MAC frame processing unit 220.
[0030] The application execution unit 240 executes an application capable of using data input from the LLC processing unit 210. For example, the application execution unit 240 can display information about the application on the display 25. The application execution unit 240 can also operate based on an operation of an input interface.
[0031] Next, the MAC frame processing unit will be further described. Here, the MAC frame processing unit 120 of the base station 10 and the MAC frame processing unit 220 of the terminal 20 may have the same configuration. Therefore, in the following, the configuration of the MAC frame processing unit 120 and the MAC frame processing unit 220 will be described as the MAC frame processing unit 320 without distinguishing between them. FIG. 7 is a diagram showing an example of the functional configuration of the MAC frame processing unit 320. Here, in FIG. 7, the LLC processing unit 110 and the LLC processing unit 210 are regarded as the LLC processing unit 310, and the radio signal processing unit 130 and the radio signal processing unit 230 are regarded as the radio signal processing unit 330. In the following, as necessary, the station that transmits data between the base station 10 and the terminal 20 is regarded as the transmitting station, and the station that receives data is regarded as the receiving station.
[0032] The MAC frame processing unit 320 has an element for processing the MAC layer for transmission, an element for processing the MAC layer for reception, and an element for retransmission control. The element for processing the MAC layer for transmission has an A-MSDU aggregation unit 3211, a sequence number (SN) allocation unit 3212, a fragmentation unit 3213, a packet number (PN) allocation unit 3214, an encryption unit 3215, a header addition unit 3216, and an A-MPDU aggregation unit 3217. The element for processing the MAC layer for reception has an A-MPDU deaggregation unit 3221, an error detection unit 3222, a BACK (Block ACK) scoring unit 3223, a duplication detection and rearrangement unit 3224, a decoding unit 3225, a replay detection unit 3226, a defragmentation unit 3227, and an A-MSDU deaggregation unit 3228. The element that performs retransmission control includes a retransmission control unit 3231 and a retransmission control unit 3232 .
[0033] The A-MSDU aggregation unit 3211 creates one A-MSDU (Aggregated-MSDU) by combining data in units of a plurality of MSDUs (MAC Service Data Units) input from the LLC processing unit 310. The A-MSDU aggregation unit 3211 can combine data in units of MSDUs having the same destination and the same TID (Traffic Identifier) into an A-MSDU.
[0034] The SN assignment unit 3212 assigns one sequence number (SN) to one A-MSDU. In the SN assignment unit 3212, the sequence number is used to identify successfully received data. The SN assignment unit 3212 also has a buffer for storing A-MSDUs. The A-MSDUs stored in the buffer can be used to reconstruct fragments during retransmission.
[0035] The fragmentation unit 3213 divides each A-MSDU into fragments. The fragmentation unit 3213 assigns a fragment number (FN) to each fragment. The data constituting each fragment corresponds to the MPDU described later. The fragment numbers are assigned so as to close each sequence number. In other words, for fragments with the same sequence number, the fragment numbers are assigned consecutively from the beginning, and for fragments with different sequence numbers, the fragment numbers are assigned consecutively again from the beginning. The fragment numbers, together with the sequence number, are used to identify successfully received data.
[0036] The PN assigning unit 3214 assigns a packet number (PN) to each fragment. The packet number is, for example, a 48-bit number, and in principle is incremented by one each time a fragment is input. On the other hand, when a TK (temporary key) used in the encryption unit 3215 is reset or when an instruction to reset the packet number is received from the retransmission control unit 3231, the PN assigning unit 3214 resets the packet number. The packet number is one of the parameters used as a seed when the encryption unit 3215 performs encryption.
[0037] The encryption unit 3215 encrypts each fragment. The encryption unit 3215 performs encryption according to, for example, a CCMP (Counter-mode with CBC-MAC protocol) method. The encryption unit 3215 will be described in detail later.
[0038] The header adding unit 3216 adds a MAC header and FCS to the encrypted data output from the encryption unit 3215 to generate an encrypted MPDU (MAC Protocol Data Unit).
[0039] The A-MPDU aggregation unit 3217 generates one A-MPDU by combining a plurality of MPDUs. Then, the A-MPDU aggregation unit 3217 outputs the generated A-MPDU to the radio signal processing unit 330.
[0040] The A-MPDU deaggregation unit 3221 performs A-MPDU deaggregation on the MAC frame input from the radio signal processing unit 330. The A-MPDU deaggregation is a process of deaggregating (dividing) the A-MPDU into MPDU units.
[0041] The error detection unit 3222 performs error detection on each MPDU based on an error detection code, for example, a CRC.
[0042] The BACK scoring unit 3223 updates the scoring board according to the error detection result by the error detection unit 3222. The scoring board indicates the reception status of each MPDU. When an MPDU is received without error, the BACK scoring unit 3223 records, for example, 1 in the corresponding sequence number and fragment number on the scoring board. When an MPDU is not received without error, the BACK scoring unit 3223 records, for example, 0 in the corresponding sequence number and fragment number on the scoring board.
[0043] The duplication detection and rearrangement unit 3224 detects duplication of MPDUs according to the sequence numbers and fragment numbers. Then, the duplication detection and rearrangement unit 3224 discards MPDUs with duplicate sequence numbers and fragment numbers, and holds non-duplicate MPDUs in a buffer. The duplication detection and rearrangement unit 3224 also rearranges the MPDUs held in the buffer in the order of sequence numbers and fragment numbers, and outputs the rearranged MPDUs to the decoding unit 3225. The duplication detection and rearrangement unit 3224 also clears the buffer in response to a request from the retransmission control unit 3232 to clear the buffer.
[0044] The decryption unit 3225 decrypts the encrypted MPDU. The decryption by the decryption unit 3225 is performed according to a method corresponding to the encryption by the encryption unit 3215. The decryption unit 3225 will be described in detail later.
[0045] The replay detection unit 3226 detects replays. For example, the replay detection unit 3226 compares the packet number input from the decoding unit 3225 together with the MPDU with the packet number managed by the replay detection unit 3226, and outputs the input MPDU as is if the input packet number is a consecutive number and is not equal to or less than the packet number managed by the replay detection unit 3226. On the other hand, if the input packet number is not a consecutive number or is equal to or less than the packet number managed by the replay detection unit 3226, the replay detection unit 3226 discards the input MPDU. The packet number managed by the replay detection unit 3226 is incremented by 1 each time decoding is performed. On the other hand, when an instruction to reset the packet number is received from the retransmission control unit 3232, the replay detection unit 3226 resets the packet number managed by the replay detection unit 3226.
[0046] The defragmentation unit 3227 reconstructs the A-MSDU by combining the MPDUs that have been divided into fragment units and that are output from the replay detection unit 3226 .
[0047] The A-MSDU deaggregation unit 3228 is a process for dividing the restored A-MSDU into MSDU units. Each of the divided MSDUs is input to the LLC processing unit 310.
[0048] The retransmission control unit 3231 is a retransmission control unit on the data transmission side. After completing data transmission, the retransmission control unit 3231 transmits a BAR (Block ACK request) to the receiving station via the radio signal processing unit 330. Then, the retransmission control unit 3231 judges whether there is an MPDU that needs to be retransmitted by the BACK received from the receiving station. Then, when there is an MPDU that needs to be retransmitted, the retransmission control unit 3231 copies the A-MSDU held in the SN assignment unit 3212 and inputs it to the fragmentation unit 3213, and instructs the fragmentation unit 3213 to reconstruct the fragments corresponding to the MPDU that needs to be retransmitted. When the retransmission control unit 3231 instructs the fragmentation unit 3213 to reconstruct the fragments, the retransmission control unit 3231 instructs the PN assignment unit 3214 to reset the packet number to be assigned. Furthermore, the retransmission control unit 3231 transmits a request to reset the packet number managed by the replay detection unit 3226 of the receiving station and to clear the buffer of the duplication detection and rearrangement unit 3224 via the radio signal processing unit 330.
[0049] The retransmission control unit 3232 is a retransmission control unit on the data receiving side. When the retransmission control unit 3232 receives a BAR, it generates a BACK by referring to a scoring board managed by the BACK scoring unit 3223. Then, the retransmission control unit 3232 transmits the BACK to the transmitting station via the radio signal processing unit 330. In addition, in response to a request from the transmitting station to reset the packet number and clear the buffer, the retransmission control unit 3232 instructs the replay detection unit 3226 to reset the packet number managed by the replay detection unit 3226 and instructs the duplication detection and rearrangement unit 3224 to clear the buffer.
[0050] Fig. 8 is a diagram showing an example of the configuration of encryption unit 3215. Here, encryption unit 3215 in Fig. 8 is an example of the configuration of an encryption unit of the CCMP method. Encryption unit 3215 does not necessarily have to be an encryption unit of the CCMP method.
[0051] The encryption unit 3215 in the example of FIG. 8 has a receiving unit 401, an AAD (additional authentication data) configuration unit 402, a PN increment unit 403, a Nonce configuration unit 404, a CCMP encryption unit 405, and a CCMP header configuration unit 406.
[0052] The receiving unit 401 receives the fragments and the MAC header as the plaintext MPDU from the PN allocation unit 3214. Then, the receiving unit 401 outputs the MAC header to the AAD configuration unit 402 and the MAC header addition unit 3216. Furthermore, the receiving unit 401 extracts information necessary for encryption from the received plaintext MPDU, and outputs the extracted information to the Nonce configuration unit 404 and the CCMP encryption unit 405. The receiving unit 401 outputs the value of the Address2 field and the priority value of the MPDU to the Nonce configuration unit 404. The priority value is determined by, for example, the TID. Furthermore, the receiving unit 401 outputs the fragment data to the CCMP encryption unit 405.
[0053] The AAD configuration unit 402 configures the AAD from the MAC header. Fig. 9 is a diagram showing a specific example of the AAD. The AAD may include an FC (MPDU frame control) field, an A1 (address1) field, an A2 (address2) field, an A3 (address3) field, an SC (sequence control) field, an A4 (address4) field, and a QC (Qos control) field. If the A4 field is omitted in the MAC header, the A4 field is also omitted from the AAD.
[0054] The PN increment section 403 increments the packet number input from the PN assignment section 3214. Then, the PN increment section 403 outputs the packet number to the Nonce construction section 404 and the CCMP header construction section 406.
[0055] Nonce configuration section 404 configures a nonce based on the value of the Address2 field, the priority value of the MPDU, and the packet number. Fig. 10 is a diagram showing a specific example of a nonce. The nonce includes a nonce flag, an A2 field, and a PN field. Fig. 11 is a diagram showing a specific example of a nonce flag. As shown in Fig. 11, the nonce flag has a priority subfield, a management subfield, and a zero portion.
[0056] The CCMP encryption unit 405 encrypts the fragment data using CCM (Counter-mode with CBC-MAC) based on 128-bit AES (Advanced Encryption Standard). The data is encrypted by block encryption using an XOR (Exclusive OR) operation between a counter created using AAD, Nonce, and TK (Temporary Key) and the data. Here, TK is changed for each session. In addition to encrypting the data, the CCMP encryption unit 405 also generates a MIC (Message Integrity Code) for integrity check. The CCMP encryption unit 405 then outputs the encrypted data and the MIC to the header addition unit 3216.
[0057] The CCMP header construction section 406 constructs a CCMP header including information required for decryption based on the packet number and key ID input from the PN increment section 403. The key ID is an ID for designating a TK.
[0058] The header adding unit 3216 adds a MAC header and FCS to the encrypted data, MIC, and CCMP header to construct an encrypted MPDU. FIG. 12 is a diagram showing a specific example of a frame format of an encrypted MPDU. As shown in FIG. 12, the CCMP header includes a PN0 subfield to a PN5 subfield, a key ID subfield, and an Ext IV (extended IV) subfield. The PN0 subfield to the PN5 subfield each store a 48-bit packet number by one oct. For example, the PN0 subfield stores the lowest 8-bit value of the packet number. The PN5 subfield stores the highest 8-bit value of the packet number. The Key ID subfield stores a key ID. The value of the Ext IV subfield is usually fixed to "1".
[0059] Fig. 13 is a diagram showing an example of the configuration of the decryption unit 3225. Here, the decryption unit 3225 in Fig. 13 is an example of the configuration of a decryption unit of the CCMP method. The decryption unit 3225 only needs to correspond to the encryption unit 3215. In addition, a part of the decryption unit 3225 may be configured as a common element with the encryption unit 3215.
[0060] The encryption unit 3215 in the example of FIG. 13 has a receiving unit 501, an AAD construction unit 502, a Nonce construction unit 503, a CCMP decryption unit 504, and a header addition unit 505.
[0061] The receiving unit 501 receives the encrypted MPDU from the duplication detection and rearrangement unit 3224. Then, the receiving unit 501 outputs the MAC header to the AAD configuration unit 502 and the header addition unit 505. Furthermore, the receiving unit 501 extracts information necessary for decryption from the encrypted MPDU, and outputs the extracted information to the Nonce configuration unit 503 and the CCMP decryption unit 504. The receiving unit 501 outputs the value of the Address2 field, the priority value of the MPDU, and the packet number to the Nonce configuration unit 503. Furthermore, the receiving unit 501 outputs the encrypted fragment data to the CCMP decryption unit 504.
[0062] The AAD construction unit 502 constructs an AAD from the MAC header in the same manner as the AAD construction unit 402.
[0063] Nonce construction section 503, like nonce construction section 404, constructs a nonce based on the value of the Address2 field extracted from the CCMP header, the priority value of the MPDU, and the packet number.
[0064] The CCMP decryption unit 504 decrypts the fragment data using CCM based on 128-bit AES. The data is decrypted using the AAD, Nonce, a decryption key specified by the key ID extracted from the CCMP header, and MIC. The CCMP decryption unit 504 then outputs the decrypted plaintext fragment data to the header addition unit 505.
[0065] The header adding unit 505 adds a MAC header to the plaintext fragment data to construct a plaintext MPDU. Then, the header adding unit 505 outputs the plaintext MPDU to the replay detection unit 3226.
[0066] The replay detection unit 3226 compares the packet number PN extracted from the CCMP header with the packet number PN' managed by the replay detection unit 3226 itself. PN' corresponds to the packet number assigned by the PN assignment unit 3214, and is incremented each time decryption is performed. If the packet number PN is a consecutive number and is not equal to or less than the packet number PN', the replay detection unit 3226 outputs the plaintext MPDU input from the header addition unit 505 to the defragmentation unit 3227 as is. On the other hand, if the packet number PN is not a consecutive number or is equal to or less than the packet number PN', the replay detection unit 3226 discards the plaintext MPDU input from the header addition unit 505.
[0067] Next, an operation of the wireless system 1 according to the embodiment will be described. Fig. 14 is a flowchart showing the operation of the retransmission control unit 3231 in the transmitting station. It is assumed that, prior to the operation in Fig. 14, the transmitting station transmits data to the receiving station, and then receives a BACK from the receiving station as a response to the BAR transmitted to the receiving station.
[0068] In step S1, retransmission control unit 3231 detects successfully transmitted sequence numbers based on BACK. Successfully transmitted sequence numbers are sequence numbers for which the reception status for all corresponding fragment numbers is "1".
[0069] In step S2, the retransmission control unit 3231 instructs the SN allocation unit 3212 to sequentially delete A-MSDUs of sequence numbers that have been successfully transmitted from the buffer. That is, even if there is a sequence number for which the reception status for all fragment numbers is "1", if the previous sequence number is a reception failure, the retransmission control unit 3231 does not instruct the SN allocation unit 3212 to delete A-MSDUs of sequence numbers that have been successfully transmitted.
[0070] In step S3, the retransmission control unit 3231 determines whether or not there are any sequence numbers for which transmission has failed. If it is determined in step S3 that there are no sequence numbers for which transmission has failed, that is, that all data has been successfully transmitted, the retransmission control unit 3231 ends the process in Fig. 14. If it is determined in step S3 that there are sequence numbers for which transmission has failed, the retransmission control unit 3231 transitions the process to step S4.
[0071] In step S4, the retransmission control unit 3231 instructs the PN assignment unit 3214 to reset the packet number assigned to the PN assignment unit 3214 to an initial value.
[0072] In step S5, the retransmission control unit 3231 uses the radio signal processing unit 330 to transmit to the receiving station a request to reset the packet number to the initial value and a request to clear the buffer in the duplication detection and sorting unit 3224.
[0073] In step S6, the retransmission control unit 3231 instructs the fragmentation unit 3213 to reconstruct the packet, that is, to re-fragment from the A-MSDU with the earliest sequence number among the sequence numbers including the fragment number for which transmission has failed. After that, the retransmission control unit 3231 ends the process in Fig. 14. After that, a retransmission frame, which is a MAC frame for retransmission, is generated as described in Fig. 7, and retransmission is performed.
[0074] The process in Fig. 14 will now be described in detail. For example, it is assumed that a wireless signal including a wireless frame made up of an A-MPDU shown in Fig. 15A is transmitted from a transmitting station.
[0075] The A-MPDU shown in Fig. 15A is generated from an A-MSDU with sequence number SN#1, an A-MSDU with sequence number SN#2, and an A-MSDU with sequence number SN#3. In Fig. 15A, the A-MSDU with sequence number SN#1 is divided into two fragments (MPDU) A and B. The A-MSDU with sequence number SN#2 is divided into two fragments (MPDU) C and D. The A-MSDU with sequence number SN#3 is divided into two fragments (MPDU) E and F. Here, the header and FCS are omitted from Fig. 15A.
[0076] As described above, a fragment number is assigned for each sequence number. Therefore, the fragment numbers assigned to MPDUA and B, the fragment numbers assigned to MPDUC and D, and the fragment numbers assigned to MPDUE and F are FN#1 and FN#2, respectively.
[0077] Meanwhile, as described above, packet numbers are assigned each time encryption is performed. Therefore, the packet numbers assigned to MPDUs A and B are PN#1 and PN#2, the packet numbers assigned to MPDUs C and D are PN#3 and PN#4, and the packet numbers assigned to MPDUs E and F are PN#5 and PN#6.
[0078] Assume that the reception state when a wireless signal including A-MPDU shown in FIG. 15A is transmitted is as shown in FIG. 15B. In the example of FIG. 15B, reception of MPDU D of fragment number FN#2 of sequence number SN#2 has failed. Here, in the replay detection unit 3226 of the receiving station, the packet number to be managed corresponding to MPDU A is PN'#1, the packet number to be managed corresponding to MPDU B is PN'#2, the packet number to be managed corresponding to MPDU C is PN'#3, the packet number to be managed corresponding to MPDU D is PN'#4, the packet number to be managed corresponding to MPDU E is PN'#5, and the packet number to be managed corresponding to MPDU F is PN'#6. In reality, since reception of MPDU D has failed, MPDU D is discarded in the error detection unit 3222. In this case, the order of the MPDUs held in the buffer is not aligned, so the duplication detection and rearrangement unit 3224 does not output the MPDU to the decoding unit 3225. As a result, neither the decoding unit 3225 nor the replay detection unit 3226 performs replay detection, and the packet number managed by the replay detection unit 3226 remains unchanged from PN'#2.
[0079] The BACK scoring unit 3223 updates the scoring board according to the error detection result by the error detection unit 3222. In the example of Fig. 15B, the BACK scoring unit 3223 records 0 in the SN#2 and FN#2 parts of the scoring board and records 1 in the other parts. The retransmission control unit 3232 generates a BACK by referring to the scoring board updated according to the BAR from the transmitting station. Then, the retransmission control unit 3232 transmits the BACK to the transmitting station.
[0080] By the BACK, the retransmission control unit 3231 detects that the transmission of sequence number SN#1 was successful and that the transmission of sequence number SN#2 was unsuccessful. Therefore, the retransmission control unit 3231 performs processing for retransmitting packets with sequence numbers SN#2 and onward. In the retransmission in the embodiment, the fragments after the fragment that failed to be received are reconstructed. As described above, the packet number is incremented each time encryption is performed, so if the fragments are reconstructed as is, the reconstructed fragments are assigned packet numbers in order starting from packet number PN#7. This causes a mismatch between the packet numbers assigned to the MPDU reconstructed in the transmitting station and the packet numbers managed by the replay detection unit 3226 of the receiving station. Therefore, the replay detection by the replay detection unit 3226 is not performed correctly.
[0081] For this reason, the retransmission control unit 3231 instructs the PN assignment unit 3214 to reset the packet number assigned to the initial value. The retransmission control unit 3231 also requests the receiving station to reset the packet number and clear the buffer. After that, the retransmission control unit 3231 instructs the fragmentation unit 3213 to reconstruct packets with sequence numbers SN#2 and onward.
[0082] Fig. 15C shows an example of A-MPDU included in a retransmission frame of a wireless signal retransmitted in the embodiment. The A-MPDU shown in Fig. 15C is generated from an A-MSDU with sequence number SN#2, which is a sequence number including fragment number FN#2 of sequence number SN#2 that has failed to be transmitted, and an A-MSDU with sequence number SN#3 thereafter. Here, since the packet numbers to be assigned are reset, the packet numbers assigned to MPDUs C and D are PN#1 and PN#2, and the packet numbers assigned to MPDUs E and F are PN#3 and PN#4.
[0083] On the other hand, in the receiving station, the packet number is reset and the buffer is cleared in response to a request from the transmitting station. Therefore, as shown in Fig. 15D, in the replay detection unit 3226 of the receiving station, the packet number managed corresponding to MPDU C is PN'#1, the packet number managed corresponding to MPDU D is PN'#2, the packet number managed corresponding to MPDU E is PN'#3, and the packet number managed corresponding to MPDU F is PN'#4. In this way, in the embodiment, the packet number assigned by the transmitting station and the packet number managed by the receiving station are synchronized. Therefore, replay detection by the replay detection unit 3226 can be performed correctly.
[0084] As described above, in the embodiment, when fragments are reconstructed for retransmission, both the packet number assigned by the transmitting station and the packet number managed by the receiving station are reset. Therefore, replay detection during decryption can be performed correctly. In this way, in the embodiment, encryption and decryption can be performed appropriately even if fragments are reconstructed for retransmission.
[0085] Furthermore, in the embodiment, the packet numbers are synchronized between the transmitting station and the receiving station simply by issuing an instruction to reset the packet number during retransmission, so that the configurations of the conventional encryption unit and decryption unit can be applied as is.
[0086] In this embodiment, retransmission is performed by a GBN (Go-Back-N) method, in which data following the sequence number including the fragment number for which transmission failed is retransmitted. For this reason, when retransmitting, the receiving station is requested to reset the packet number and clear the buffer in the duplication detection and sorting unit 3224. As a modified example of this, only the fragments that have failed to be transmitted may be reconstructed and retransmitted. In this case, a request to clear the buffer in the duplication detection and rearrangement unit 3224 is not required. For example, in a reception situation as shown in FIG. 15B, the retransmission control unit 3231 may construct a retransmission frame only with fragment number FN#2 of sequence number SN#2. In this case, the duplication detection and rearrangement unit 3224 may rearrange the MPDUs including the MPDU with fragment number FN#2 of the received sequence number SN#2, and output the rearranged MPDU to the decoding unit 3225. In addition, when the transmission has failed from a fragment in the middle of the A-MSDU with the same sequence number as the MPDU D with sequence number SN#2, the retransmission control unit 3231 may reconstruct the fragments after the fragment that has failed to be transmitted as the retransmission target. Also, in the embodiment, when a fragment is reconstructed, the packet number is reset to the initial value. However, the packet number does not necessarily have to be reset to the initial value. In other words, as long as the packet numbers are synchronized between the transmitting station and the receiving station, for example, the transmitting station may transmit the packet number used to encrypt the fragment to the receiving station, and the receiving station may update the packet number managed by itself using the packet number received from the transmitting station. In this case, the packet number used for encryption may be the same as the packet number used to encrypt the original fragment, or may be different from the packet number used to encrypt the original fragment.
[0087] Furthermore, each process according to the above-mentioned embodiment and modified examples can be stored as a program that can be executed by a processor, which is a computer. Alternatively, the program can be stored in a storage medium of an external storage device, such as a magnetic disk, an optical disk, or a semiconductor memory, and distributed. The processor can then read the program stored in the storage medium of the external storage device, and the processor's operation is controlled by the read program, thereby executing the above-mentioned process.
[0088] The present invention is not limited to the above-mentioned embodiment, and can be modified in various ways without departing from the gist of the present invention. The embodiments may be combined as appropriate, and in that case, the combined effect can be obtained. Furthermore, the above-mentioned embodiment includes various inventions, and various inventions can be extracted by combinations selected from the multiple components disclosed. For example, if the problem can be solved and the effect can be obtained even if some components are deleted from all the components shown in the embodiment, the configuration from which the components are deleted can be extracted as an invention. [Explanation of symbols]
[0089] 1. Radio system 10...Base station 11,21…CPU 12,22…ROM 13,23…RAM 14,24…Wireless communication module 15...Wired communication module 20…Terminal 25…Display 26…Storage 30…Server 110, 210, 310...LLC Processing Section 120, 220, 320...MAC frame processing section 130, 230, 330...Radio signal processing unit 240…Application execution unit 401...Receiver 402...AAD component 403...PN increment section 404…Nonce component 405...CCMP encryption section 406...CCMP header configuration section 501...Receiving unit 502...AAD component 503…Nonce component 504…CCMP decoding unit 505...Header addition section 3211…A-MSDU aggregation section 3212: Sequence number (SN) allocation section 3213…Fragment section 3214...Packet number (PN) allocation section 3215...Encryption section 3216...Header addition section 3217…A-MPDU aggregation section 3221...A-MPDU deaggregation unit 3222: Error detection unit 3223…BACK Scoring Department 3224…Duplicate detection and sorting unit 3225…Decoding section 3226…Replay detection unit 3227…Defragmentation section 3228…A-MSDU Deaggregation Section 3231, 3232...Retransmission control section
Claims
1. a fragmentation unit for dividing the data into fragments; a packet number assigning unit that assigns a first packet number to the fragment; an encryption unit for encrypting the fragment based on the first packet number; a radio signal processor for transmitting the encrypted fragment as a radio signal to a receiving station; a retransmission control unit that controls retransmission of the data based on a response from the receiving station; Equipped with The retransmission control unit, when retransmitting the data, instructing the packet number assignment unit to reset the first packet number to an initial value; requesting the receiving station to reset a second packet number managed in the receiving station for decrypting the encrypted fragment to an initial value; instructing the fragmentation unit to reassemble the fragments that were not successfully transmitted; Transmitting station.
2. The retransmission control unit, when retransmitting the data, further requesting the receiving station to delete fragments subsequent to the unsuccessfully transmitted fragment; instructing the fragmentation unit to reassemble fragments having sequence numbers subsequent to the sequence number including the fragment that failed to be transmitted; A transmitting station according to claim 1.
3. The encryption unit encrypts the fragment using a counter-mode with CBC-MAC protocol (CCMP) method. A transmitting station according to claim 1 or 2.
4. an error detection unit that detects whether an encrypted fragment included in a wireless signal received from a transmitting station has been successfully received; a decryption unit that decrypts the successfully received encrypted fragment based on a first packet number assigned to the successfully received encrypted fragment; a replay detection unit that detects replay of the decrypted fragment based on the first packet number and a second packet number that corresponds to and is managed by the decrypted fragment; a retransmission control unit that transmits a response including a reception status of the encrypted fragment to the transmitting station in response to a detection result of the error detection unit; Equipped with the retransmission control unit resets the second packet number to an initial value in response to a request from the transmitting station when retransmitting data. Receiving station.
5. a buffer for holding the successfully received fragments; the retransmission control unit clears the buffer in response to a request from the transmitting station when retransmitting the data. A receiving station according to claim 4.
6. The decryption unit decrypts the encrypted fragment using a CCMP (Counter-mode with CBC-MAC protocol) method. A receiving station according to claim 4 or 5.
Citation Information
Patent Citations
Data communication system
JP2003218876A
Information processing apparatus, image processing apparatus, and image forming apparatus
JP2006261802A
Method and device for processing packet resending in radio communication system
JP2007259454A
Communication device, communication system, communication method, and program
WO2006093021A1