The present invention relates to a process and devices for selective collision detection.
Carrier Sense Multiple Access (CSMA) mechanism is a commonly used scheme in network communications, where all the devices can send a message at any time on the network. Generally, a device verifies the absence of other traffic before sending a packet. Anyway, in this context, two stations can send a message at same time, in which case a collision occurs.
To prevent from collisions, two types of countermeasure have been defined. The Collision Detection (CSMA/CD) has been defined in the IEEE802.3 standard, document IEEE Standard 802.3—2002 Edition, dated 8 Mar. 2002. The Collision Avoidance (CSMA/CA) has been defined in the IEEE802.11 standard, document IEEE Standard 802.11—2003 Edition.
With CSMA/CD, a device detects the collisions by listening to the carrier at the time of sending the message. A collision is detected if there is a difference between what was sent and what was received.
With CSMA/CA, a device avoids collision by asking availability of the medium before emitting. The IEEE802.11 standard defines the Request To Send packet, noted RTS and the Clear To Send packet, noted CTS. A first device willing to send a data packet first sends a RTS packet to a second device and waits for a CTS packet from the second device before sending the data packet. When the second device has successfully received the data packet, it sends an acknowledgement control packet, noted ACK. An emitter device that receives the ACK signalization deduces that no collision occurred.
In current technologies, the ACK signalization is not authenticated. Authenticated acknowledgment could be used to know if the sender of the acknowledgment is the correct receiver of the data packet. Nevertheless, it would require a preexisting context with the right key material, and cryptographic solution which cannot be always available.
A type of attack, as described hereafter, is made possible in a CSMA/CA scheme of a wireless local area network, noted WLAN, because all devices of the WLAN receive data at the same time.
In a WLAN of IEEE802.11 type, a first device sends data packet to a second device. When receiving the data packet the second device sends an ACK packet to the first device.
An attacker is comprised of a third device, located close to the first device and a fourth device located close to the second device. As soon as the first device sends a data packet to the second device, the fourth device sends a packet, which produces a collision in the network. In addition the third device always acknowledges the packets sent by the first device. As a result the second device does not receive any message from the first device, and the first device considers that the second device has correctly received the message.
This selective destruction of messages attack is often used to prepare a Man-In-The-Middle attack. The attacker may generate a collision for each packet, in an unselective way. In this case, no packet is correctly received on the network and all devices quickly discover that the network is unavailable or under attack.
The attacker may also generate a collision for some packets only, in a selective way. Generally, all the bits of a packet are not sent at the same time, but sequentially. The attacker then waits for getting information on source or destination address. And as soon as it gets the information on the addresses, it generates a collision.
The present invention concerns a method in a network comprising at least a first device and a second device, where the sending of a packet by two devices simultaneously generates a collision.
According to the invention, the method comprises the steps of:
On detection of a collision in the reception of a packet, the second device sends collision detection information to the first device. Surprisingly, the second device does not send a collision detection packet to the first device for all the collision it detects. It sends a collision detection packet only if the collision occurs after the second has received a part of the packet, and this part has been correctly received without any collision. The collisions occurring during the reception of the first part of the packet are not pointed out. If a selective attack as described above in the document occurs, the method enhances the detection of collisions related to the selective attack, because an attacker has to wait for getting information on source or destination address before performing the attack.
According to the invention, in the case of the second device not detecting any collision during the reception of the packet, the method comprises the steps of issuing a packet indicating no collision detection by the second device.
Even if the second device has not detected a collision during the reception of the packet, it sends a confirmation to the first device that it has not detected any collision. The first device may then know that the second device has received the packet at least without any collision.
According to an embodiment the step of emitting by the first device a packet comprising a first part comprises a step of indicating by the first device a collision detection information in the first part; and the step of receiving the first part of the packet by the second device comprises a step of detecting the collision detection information in the first part of the packet by the second device.
The first part of the packet comprises an indication on whether the collision detection mechanism is to be performed on the packet or not. Advantageously the indication is located in the first part of the packet. If a selective attack as described above in the document occurs, the second device is then aware of the collision detection mechanism before the attack.
According to an embodiment the network is a wireless local area network.
Another object of the invention is a device intended to send a packet on a network where the sending of a packet by two devices simultaneously generates a collision, wherein the packet comprises a first part and a second part containing at least an identification of a source and a destination of the packet. The device comprises means for indicating collision detection information in the first part of the packet to be sent on the network; and means for sending the packet with the collision detection information.
Another object of the invention is a device intended to receive a packet, the packet comprising a first part with collision detection information and a second part containing at least an identification of a source and a destination of the packet, in a network where the sending of a packet by two devices simultaneously generates a collision. The device comprises means for identifying collision detection information in the first part of the received packet, means for detecting a collision during the reception of the second part of the packet and means for issuing a packet indicating a collision detection in the case of detecting a collision by the detecting means and for issuing a packet indicating no collision detection in the case of not detecting any collision by the detecting means.
The invention will be better understood and illustrated by means of the following embodiment and execution examples, in no way restrictive, with reference to the appended figures among which:
In
The exemplary embodiment comes within the framework of a transmission on an IEEE802.11 wireless local area network, but the invention is not limited to this particular environment and may be applied within other types of network, where collision may occur.
The
Of course the network 3 may comprise other devices which are not shown in the figure.
The
The collision detection is performed selectively for some packets received by the second device. It might be done for all the packets received. It might be done for a subset of packet, as for example all the data packets. According to the embodiment it can be done for a selection of some packets. The first device indicates collision detection information in the packet, so that the second device can identify such packets.
A packet with collision detection information is a protected packet; it involves the collision detection mechanism in the receiver.
The
The collision detection packet, noted COLL, is a control packet, identified with type field value of 01 and subtype field value of 0010. The no collision detection packet, noted NoCOLL, is a control packet with type field value of 01 and subtype field value of 0001.
The collision detection information is indicated in the frame prior to the address fields. It could be indicated with other means than the type and subtype fields if some fields are available in the frame prior to the source and destination fields of the packet.
According to the embodiment, the first part of the packet corresponds to the fields of the frame located before the address fields, comprising the frame control and the duration fields. The second part of the packet comprises the address fields and the remaining fields of the frame.
In another embodiment, the frame does not comprise any address field but a connection identifier, as in the IEEE802.16 standard. The connection identifier implicitly indicates the source and the destination addresses of the packet. The collision detection information is then also indicated in the frame prior to the connection identifier field.
The bits of a packet are not sent at the same time, but sequentially. The receiver receives the frame control before it receives the address fields. It can identify whether the packet is protected even before receiving the address field, i.e. before knowing if it is the destination of the packet. An attacker also waits for the reception of the address fields before creating a selective collision. When a collision occurs, the receiver already knows that the packet is protected.
The behaviour of the second device is indicated in the
When the second device receives a packet, it checks whether the collision detection information is indicated or not 4.2. If it is not indicated it does not start the collision detection mechanism 4.3. If the collision detection information is indicated, it starts the collision detection mechanism for this packet; it checks whether it detects a collision or not 4.5. If a collision occurs it sends a COLL packet 4.6. If no collision occurs, it sends a NoCOLL packet 4.7. The COLL and the NoCOLL packets are addressed to the first device, but they do not comprise any source or destination address.
The mechanism permits to detect a collision that occurs at the same time as the reception of the identification of the source and destination addresses of the packet.
Even if the COLL and NoCOLL packets do not comprise any source or destination addresses, the first device knows for which packet they are related. The first device is not intended to use the collision detection mechanism for many packets, and even less simultaneously. It is then able to detect the emitter of the COLL and NoCOLL packets, and then the packet they are related to.
The behaviour of the first device is depicted in
The first device decides on using the collision detection mechanism for the packet or not 5.1.
If the first device does not set the flag, the mechanism is not initiated for this packet 5.2. If it sets the flag, the mechanism is used for this packet.
If the first device receives a COLL packet 5.3, a collision has been detected 5.4.
If the first device does not receive a COLL and receives a NoCOLL packet 5.5, the packet has been correctly sent to the receiving device 5.6.
If the first device does not receive a COLL neither a NoCOLL, the first device assumes that the second device has not received the packet 5.7.
The
The
Number | Date | Country | Kind |
---|---|---|---|
06300033.5 | Jan 2006 | EP | regional |