A method of modifying the error detection code (EDC) generation and
verification logic at both ends of a communications link in a data
communications device or system so that user packets and control packets
use different EDC algorithms to protect the communications device from
control packet spoofing and interference by randomly-generated test data.
Data packets are transmitted internally with a standard cyclic redundancy
check (CRC) or other error detection coding scheme while control packets
are given a different "control" EDC. At the receiving end of the link,
the received packet is tested to determine whether the EDC matches the
standard or control forms. If the EDC complies with neither of these two
requirements, then the packet is discarded. If, however, the packet
matches the control EDC but not the standard EDC, it is checked to see if
the header is in the expected control format. If the control EDC is
present but the header is incorrect, the packet is discarded. Otherwise,
the packet is a proper control packet having a control header and is
processed according to the usual means employed in such communications
device. If the EDC matches the standard data EDC form, the packet is
again checked for a control header. If a control header is present, a
spoof control packet has been received. The system then sets the
appropriate alerts and discards the packet. Otherwise, the packet is a
standard data packet having a standard header and is ready for further
processing.