Patent Publication Number: US-2021182441-A1

Title: Cable Security

Description:
RELATED APPLICATION INFORMATION 
     The present application claims the benefit of U.S. Provisional Patent Application Ser. No. 62/947,000 of Haramaty et al, filed 12 Dec. 2019, the disclosure of which is hereby incorporated herein by reference. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates to systems and methods for frustrating counterfeiting of cables and related devices (termed herein “cables”, without loss of generality), particularly but not exclusively for frustrating counterfeiting of cables intended for use with a host device such as a switch. 
     SUMMARY OF THE INVENTION 
     The present invention, in certain embodiments thereof, seeks to provide improved systems and methods for frustrating counterfeiting of cables. 
     There is thus provided in accordance with an exemplary embodiment of the present invention a device including a cable transceiver including cable electrical connections including data electrical connections and control electrical connections, and a hardware memory device, the hardware memory device storing a string identifying a cable and being electrically accessible from externally to the cable transceiver via the control electrical connections. 
     Further in accordance with an exemplary embodiment of the present invention the device also includes the cable in electrical connection with the cable electrical connections. 
     Still further in accordance with an exemplary embodiment of the present invention the string includes a hash value based, at least in part, on one or more of the following hashing parameters: a serial number of the cable, a data code associated with the cable, a physical attenuation of the cable, a date-time indicator of production of the cable, and physical attributes associated with the cable. 
     Additionally in accordance with an exemplary embodiment of the present invention the hash value includes a cryptographically-signed hash value. 
     Moreover in accordance with an exemplary embodiment of the present invention the device also includes a challenging-response module including one or more of the following: a microcontroller, a hardware security module (HSM), and a trusted platform module (TPM), 
     Further in accordance with an exemplary embodiment of the present invention the challenge-response module is configured to receive, via the control electrical connections, a challenge originating externally to the device and to provide a response thereto. 
     Still further in accordance with an exemplary embodiment of the present invention the cable includes one of the following: an electrical cable, and an optical cable. 
     There is also provided in accordance with another exemplary embodiment of the present invention a device for verifying cable authenticity, the device including interface hardware for interfacing a plurality of cables with the device, and verifier circuitry configured to verify that each of the plurality of cables is genuine based on a string stored in a hardware memory device included in each of the plurality of cables. 
     Further in accordance with an exemplary embodiment of the present invention each of the plurality of cables includes one of the following: an electrical cable, and an optical cable. 
     Still further in accordance with an exemplary embodiment of the present invention each hardware memory device is disposed in a cable transceiver of each respective cable and is electrically accessible from externally to the cable transceiver via control electrical connections included in the cable transceiver. 
     Additionally in accordance with an exemplary embodiment of the present invention the string includes a hash value based, at least in part, on one or more of the following hashing parameters a serial number of the cable, a data code associated with the cable, a physical attenuation of the cable, a date-time indicator of production of the cable, and physical attributes associated with the cable. 
     Moreover in accordance with an exemplary embodiment of the present invention the hash value includes a cryptographically-signed hash value. 
     Further in accordance with an exemplary embodiment of the present invention the device also includes a verifying module adapted to send a challenge to a challenge-response module included in each of the plurality of cables and to evaluate correctness of a response received therefrom. 
     Still further in accordance with an exemplary embodiment of the present invention each challenge-response module includes one or more of the following: a microcontroller, a hardware security module (HSM), and a trusted platform module (TPM), and each challenge-response module is configured to receive the challenge and to provide the response. 
     Additionally in accordance with an exemplary embodiment of the present invention the verifier circuitry is implemented in one of the following: hardware, and a combination of hardware and software. 
     Further in accordance with an exemplary embodiment of the present invention the verifier circuitry is also configured to verify that no one of the plurality of cables stores the same string in the hardware memory device included therein as does any other one of the plurality of cables. 
     Still further in accordance with an exemplary embodiment of the present invention the verifier circuitry is configured to verify that no one of the plurality of cables stores a string in the hardware memory device included therein indicating a serial number which is the same as a serial number indicated by another string stored in the hardware memory device included in any other one of the plurality of cables. 
     Additionally in accordance with an exemplary embodiment of the present invention the device also includes verifier circuitry at a second device configured to verify that no one of a second plurality of cables interfacing with said second device stores a string in the hardware memory device comprised therein indicating a serial number which is the same as a serial number indicated by another string stored in the hardware memory device comprised in any other one of said second plurality of cables, and the verifier circuitry of the device and the verifier circuitry of the second device are in communication therebetween to verify that no one of said plurality of cables and said second plurality of cables, taken together, stores a string in the hardware memory device comprised therein indicating a serial number which is the same as a serial number indicated by another string stored in the hardware memory device comprised in any other one of said plurality of cables and said second plurality of cables, taken together. 
     Moreover in accordance with an exemplary embodiment of the present invention the string also includes a non-hashed value including one or more of the following non-hashing parameters: a serial number of the cable, a data code associated with the cable, a physical attenuation of the cable, a date-time indicator of production of the cable, and physical attributes associated with the cable, and the verifier circuitry is also configured to verify, for at least one of the non-hashing parameters and a corresponding one of the hashing parameters, that hashing the at least one of the non-hashing parameters according to a given hashing scheme produces the corresponding one of the hashing parameters. 
     There is also provided in accordance with another exemplary embodiment of the present invention a method for verifying cable authenticity, the method including using interface hardware to interface a plurality of cables with a device, and using verifier circuitry to verify that each of the plurality of cables is genuine based on a string stored in a hardware memory device included in each of the plurality of cables. 
     Further in accordance with an exemplary embodiment of the present invention each hardware memory device is disposed in a cable transceiver of each respective cable and is electrically accessible from externally to the cable transceiver via control electrical connections included in the cable transceiver. 
     Still further in accordance with an exemplary embodiment of the present invention the string includes a hash value based, at least in part, on one or more of the following hashing parameters: a serial number of the cable, a data code associated with the cable, a physical attenuation of the cable, a date-time indicator of production of the cable, and physical attributes associated with the cable. 
     Additionally in accordance with an exemplary embodiment of the present invention the method also includes using the verifier circuitry to verify that no one of the plurality of cables stores the same string in the hardware memory device included therein as does any other one of the plurality of cables. 
     Moreover in accordance with an exemplary embodiment of the present invention the method also includes using the verifier circuitry to verify that no one of the plurality of cables stores a string in the hardware memory device included therein indicating a serial number which is the same as a serial number indicated by another string stored in the hardware memory device included in any other one of the plurality of cables. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The present invention will be understood and appreciated more fully from the following detailed description, taken in conjunction with the drawings in which: 
         FIG. 1  is a simplified pictorial illustration of an exemplary system constructed and operative in accordance with an exemplary embodiment of the present invention; 
         FIG. 2  is a simplified pictorial illustration of an exemplary system constructed and operative in accordance with another exemplary embodiment of the present invention; 
         FIG. 3  is a simplified pictorial illustration of an exemplary system constructed and operative in accordance with another exemplary embodiment of the present invention; and 
         FIG. 4  is a simplified flowchart illustration of an exemplary method of operation of the system of  FIG. 3 , showing operation in a mode designed to frustrate use of counterfeit cables when working with a plurality of cables. 
     
    
    
     DETAILED DESCRIPTION OF AN EMBODIMENT 
     In exemplary embodiments, the present invention seeks to provide improved systems and methods for detecting a counterfeit cable, and for frustrating counterfeiting of cables. 
     While the example of a cable is used herein, it is appreciated that a cable is a non-limiting example; in exemplary embodiments, the present invention could also apply to transceivers and to adapters, such as network adapters. Without loss of generality, throughout the present specification and claims the term “cable” (in its various grammatical forms) may be used to apply to cables, transceivers, and adapters, as described immediately above. In some cases, where the context calls for more specificity, specific terns such as “transceiver” and/or “adapter” in their various grammatical forms are used. 
     A counterfeit cable, without limiting the generality of the foregoing, may be a cable which is supposedly manufactured by a given manufacturer (associated with a given brand), but which was not actually manufactured by that manufacturer. 
     By way of non-limiting example, a cable may be identified by OUI (Organizationally Unique Identifier; see, for example, the discussion at en.wikipedia.org/wiki/Organizationally_unique_identifier). A counterfeit cable may thus be identified as being manufactured by manufacturer A, but in fact the cable was not manufactured by manufacturer A but rather by manufacturer B. 
     Some cables (which may be termed herein “active cables”) include an embedded processor, generally in a transceiver located at an end of such cables. 
     The embedded processor may comprise a trusted platform module (TPM, such TPMs being known in the art), or another appropriate processor such as a hardware security module (HSM). 
     In general (not referring here specifically to cables) it is known in the art to use a TPM and/or an HSM to implement a challenge-response mechanism in order to verify authenticity of the TCM and/or the HSM, and thus to verify authenticity of a device in which the TCM and/or the HSM is comprised. Thus, an active cable, comprising a TCM and/or an HSM, may be able to participate in a challenge-response mechanism by receiving a challenge and providing a response. Such an active cable, appropriately configured and used, can provide a solution to the counterfeit cable problem described above. The well-known I 2 C mechanism may be used to query/challenge the TCM and/or the HSM (and similarly to query a memory device as described herein). Other appropriate alternatives to I 2 C, such as (by way of non-limiting example) MDIO, may alternatively be used. 
     For passive cables, which do not include an embedded processor but which do include a passive memory device, it is believed to be relatively easy to “forge” the memory content (which content is also termed herein a “memory map”) included in the memory device embedded in a given cable (typically but not necessarily, embedded as described above with reference to TPMs and HSMs, in a transceiver thereof), and thus to produce a counterfeit cable. 
     In passive cables having a passive memory device as described above, the memory content may be read by a host device which is in electrical connection with the (transceiver of) the passive cable. A host device may be any appropriate switch or any appropriate network interface card (NIC) or any other appropriate network device attached to the cable/transceiver or to an appropriate adapter (such as, without limiting the generality of the foregoing, a QSA (QSFP to SFP adapter)) attached to the cable. The cable/transceiver as described above (or, alternatively, the adapter) may comprise a memory device as described, which memory device comprises EPROM or any appropriate non-volatile memory (NVM), ROM, etc. 
     Generally speaking, the transceiver or adapter includes cable electrical connections adapted for connection to a host. The cable electrical connections, as is known in the art, comprise data electrical connections (through which data flows to/from the cable) and control electrical connections (used for control functions, generally from the host to the cable). In exemplary embodiments of the present invention, the host is configured and operative to access the memory content via the control electrical connections. 
     The memory map in the memory device may store information such as items in the following non-limiting illustrative list:
     Vendor_OUI (Organizationally Unique Identifier);   Vendor name (TEXT, ASCII);   Vendor_PN (Part number);   Vendor_SN (Serial Number);   DateCode (which may comprise a date/time stamp indicating a date/time of manufacture); and   various other attributes associated with the cable in which the memory device is comprised, including, by way of non-limiting example, one or more of: receive (Rx) power; transmit (Tx) power; and other appropriate cable physical attributes etc.   

     The following is a particular non-limiting example of a counterfeit situation: 
     A counterfeit cable which was produced by vendor X but has vendor_OUI of vendor Y 
     It will be appreciated from the above discussion that, as a result of counterfeit cables, Vendor X may lose revenue and may suffer damage to Vendor X′s brand recognition. 
     Based on the above discussion, in at least certain exemplary embodiments of the present invention, the following problem is to be solved: 
     provide a way for a host to detect counterfeit cables. For cables/transceivers/adapters implementing CPU and firmware (active cables), this can be solved by asking “smart questions” (such as via a challenge/response protocol, as is known in the art). For cables/transceivers/adapters without such a CPU and firmware for implementing a challenge/response protocol (passive cables), it will be appreciated that, as described above, the counterfeiting vendor can copy the memory content; the inventors of the present invention believe that it would be desirable to overcome this problem. It is further appreciated that, in certain exemplary embodiments of the present invention, a memory device as described herein may be disposed in an active cable; such a cable is then configured and operative to carry out both operations using a challenge/response protocol, and also to participate in operations based on the memory device, as described herein. 
     As described above, a standard cable has a memory device which may include various data fields, including (by way of non-limiting example): vendor_OUI; and SN (Serial Number). In exemplary embodiments of the present invention, an enciphered serial number, an enciphered hash of a serial number, or another enciphered string (typically but not necessarily an enciphered hash of one or more parameters) is added to the memory map; alternatively, a hashed value without enciphering may be used. 
     The serial number or other value as described above may be ciphered either using an asymmetric or a symmetric encryption system, as are known in the art. Alternatively, the serial number may be hashed, preferably using a cryptographically sound hashing scheme, as is known in the art. In any case, only Vendor A will have the private key which is needed in order to generate a ciphered serial number; or only Vendor A will know how to carry out the cryptographically sound hashing scheme, which is generally based on a private key. Thus, counterfeit vendors cannot generate a proper ciphered or hashed serial number. It is particularly appreciated, as described above, that serial number is just one example of an appropriate datum, or appropriate data, which may be hashed/enciphered as described. 
     Vendor A devices (switches, NICs etc., as described above) will compare the serial number to the ciphered or hashed serial number. If symmetric encryption is used, then only Vendor A devices can check for correctness. If asymmetric encryption is used, then the public key (from the private key/public key pair) can be published, and any device can check whether the serial number matches the encrypted serial number. If cryptographically sound hashing is used, only those who have the relevant hash function (which may be only vendor A devices) can perform such a check. Persons skilled in the art will appreciate (as described above) that serial number is a particular non-limiting example; any appropriate parameter that is different between different cables would be useable in this context. By way of non-limiting example, a precise date and time of cable manufacture (such as a date/time including seconds) could be used, since presumably (for a sufficiently precise time) only one cable would be manufactured by a given manufacturer at that time. 
     A further problem may arise in that a counterfeit vendor (vendor B) may produce many cables with the same serial number, and in such a case simply copy the memory map from a single non-counterfeit cable with that serial number. (Again, the example of serial number given here is not limiting, as will be appreciated by the discussion immediately above). This scenario, while possible, may be a problem for the counterfeit vendor since their customers may dislike having all cables with a single serial number. 
     Furthermore, in order to overcome such a scenario, Vendor A switches may check that all ports are connected to a cable having a unique serial number. If any 2 ports have the same SN then we know that “there is at least one rotten apple”. Note that it is assumed here that Vendor A makes both cables and hosts (host devices may, for example, comprise switches, NICs, etc., as described above), so that a Vendor A host would presumably be configured and operative to perform such a check. In a more complex scenario, a Vendor A host may need to check cables that the counterfeit vendor (vendor B) may generate with different serial numbers; for example, 1000 counterfeit cables with different serial numbers. However, Vendor A may still overcome this stratagem of the counterfeit Vendor B due to the “birthday paradox” or “balls in the bins” math: For a case of d bins and n balls the approximate probability P of any bin having 2 or more balls is given by: 
         P= 1− e {circumflex over ( )}(− n{circumflex over ( )} 2/(2 d ))
 
     For a discussion of the above, see Wikipedia:
 
en.wikipedia.org/wiki/Birthday_problem
 
     Consider the following particular non-limiting example. For a switch with n=32 ports, where a counterfeit vendor has d=1000 different SNs: 
         P  of 1 switch detection=1− e {circumflex over ( )}(−32{circumflex over ( )}2/(2*1000))=40%
 
     And if there are, for example  24  switches which are able to communicate between themselves, 
         P  of detecting in any of the switches=1 − {circumflex over ( )}(−((32*24){circumflex over ( )}2)/(2*1000))=˜1
 
     Even with 10,000 SNs: 
         P  of 1 switch detection=1− e {circumflex over ( )}(−32{circumflex over ( )}2/(2*10000))=5%
 
     And if there are, for example 24 switches, 
         P  of detecting in any of the switches=1− e {circumflex over ( )}(−((32*24){circumflex over ( )}2)/(2*10000))=˜1
 
     Furthermore, copying 10,000 cables from Vendor A is quite costly: The counterfeit vendor needs to buy 10,000 cables—so the counterfeit vendor could easily become known to vendor A. It also is significantly costly to buy 10,000 cables; this may cost, e.g. 10000*$50=$500,000. 
     Thus, in accordance with certain exemplary embodiments of the present invention, in order to defeat the above method that could be used by a counterfeit vendor, vendor A can proceed as follows: 
     Task of Vendor A Production 
     Encrypt the (hashed) serial number (or other information as described above) and add the result to the cable memory. 
     Tasks of Vendor A Devices 
     Decrypt (or perform other similar operations as described below, depending, by way of non-limiting example, on whether hashing followed by encryption was used in production) the stored result; in one non-limiting case, this produces the serial number.
 
Compare the decrypted result to the serial number stored unencrypted in the memory device; if these two values differ, it is already clear that the cable is counterfeit.
 
Check if any 2 ports have same serial number; if so, at least one of the cables having the same serial number is counterfeit.
 
     Referring to a hashing case as described above, consider an alternative exemplary embodiment in which the serial number is 16 bytes in size (16B), and there is not enough space in the memory device to add an additional 16B ciphered. In this case, an appropriate hash function can be applied to the serial number, producing (by way of non-limiting example) a 2B hash value which can be encrypted to a 2B enciphered value, so that only 2B need be added to the memory device. (Note that, in practice, by way of further non-limiting example, instead of a 2B hash value a 4B or 8B hash value may be used). 
     In certain exemplary embodiments, consider the following further enhancement: 
     When the ciphered SN is short, then VendorB can try all combinations and in this way defeat the protection of the VendorA switch, eventually finding a legitimate enciphered value. A solution to this is for a VendorA switch to wait an appropriate time such as, for example, 10 seconds, before reporting that a counterfeit cable has been found. 
     For example: if a “hacker” (or producer of counterfeit cables, or someone in league with such a producer) wants to test, for a given serial number, which cipher-text works, then with 2B of cipher text he has 2{circumflex over ( )}46=about 65000 options. Now trying 65000 options where each takes 10 seconds takes 7.5 days, which would not be practical. Typically the VendorA switch could have found that the cipher-text is correct of incorrect within about 10 msec; therefore, in certain exemplary embodiments, the VendorA switch waits before responding, thus increasing the amount of time necessary to test all options. 
     Further details of exemplary embodiments of the present invention will be appreciated with reference to the following description; the following description will be best understood in light of the above discussion. 
     Reference is hereby made to  FIG. 1 , which is a simplified pictorial illustration of an exemplary system constructed and operative in accordance with an exemplary embodiment of the present invention. The exemplary system of  FIG. 1  operates on the basis of a public key—private key system (as described above). 
     The system of  FIG. 1 , generally designated  100 , illustrates production of a passive cable  102  in accordance with the above description, and use thereof with a host device  104 , which may comprise an appropriate switch or NIC. 
     A private key  110  is retrieved from a private key database  115 , based (in exemplary embodiments) on a Key_ID  118 , which may be a 1 byte key ID. 
     Cable information  117  (which may include a cable serial number of length, for example, 1 kilobyte, and which may include other information such as, by way of non-limiting example, an OUI associated with a cable manufacturer) is input into a hashing device  120  which (using any appropriate hashing mechanism such as, for example, an appropriate cryptographically sound hashing mechanism, as is known in the art) produces therefrom a hash value  125 , which may be (by way of non-limiting example) 8 bytes in length. 
     The hash value  125  and the private key  110  are input, along with an initialization value (IV)  130 , which may be (by way of non-limiting example) of length 1 byte and which may be produced by a randomizer  135 , into an encryption engine  140 . The encryption engine  140  produces, from its inputs and using any appropriate encryption mechanism, an enciphered hash value  145 . The enciphered hash value  145  is stored in a hardware memory device  150  (which may be instantiated in EEPROM or in any other appropriate technology) of the cable  102 . Also stored in the hardware memory device  150  are the serial number  152  of the cable, the IV  130 , and the Key_ID  118 . Other information, such as (by way of non-limiting example) an OUI identifier  151  may also be stored in the hardware memory device  150 ; OUI identifiers are described above. Further non-limiting examples of information which may be stored include: a data code associated with the cable; a physical attenuation of the cable; a date-time indicator of production of the cable; and any appropriate physical attribute or attributes associated with the cable. 
     At the host system  104 , the Key_ID  118 , retrieved from the hardware memory device  150 , is input into a public key database  155 , the public key database  155  storing public keys corresponding to the private keys which are stored in the private key database  115 . A corresponding public key  156  is then retrieved from the public key database  155 ; the public key  156  and the initialization value  130  are then input into a decryption engine  160 . The decryption engine is configured to carry out a public key method on its inputs, as an inverse operation to that carried out by the encryption engine  140 . The enciphered hash value  145  is also input into the decryption engine  160 . A value  165  (shown, by way of particular non-limiting example as an 8 byte value) is output therefrom and is input into a comparator  175 . The contents  170  of the hardware memory device  150  (or an appropriate subset thereof including the serial number  152 ) shown, by way of particular non-limiting example as a 1k byte value  117 , is input to a hashing device  120  (which may be identical to, and at least carries out identical operations as, the hashing device  120  described above). The output of the hashing device  120  is a hashed value  170  (shown, by way of particular non-limiting example, as an 8 byte value), which is also input into the comparator  175 . If the two inputs to the comparator  175  are equal, this indicates that the cable  102  is genuine; if not equal, this indicates that the cable  102  is counterfeit. An genuineness indication of “pass/fail”  180  is output from the comparator accordingly. 
     Reference is hereby made to  FIG. 2 , which is a simplified pictorial illustration of an exemplary system constructed and operative in accordance with another exemplary embodiment of the present invention. 
     The system of  FIG. 2 , generally designated  200 , is similar to the system of  FIG. 1 , except as described below. 
     In the system of  FIG. 2 , instead of using separate hashing as in the system of  FIG. 1 , encryption (based on a symmetric key with a secret database) is used without separate hashing. Given this difference, the system of  FIG. 2  will be self-explanatory with reference to  FIG. 1  and the description thereof. (It appreciated that it is also possible to consider the encryption, in this case, to be combined encryption and hashing). 
     Reference is hereby made to  FIG. 3 , which is a simplified pictorial illustration of an exemplary system constructed and operative in accordance with another exemplary embodiment of the present invention. 
     The system of  FIG. 3 , generally designated  500 , has been depicted, for sake of simplicity of depiction and description, as corresponding to the system of  FIG. 1 . Persons skilled in the art will appreciate that other exemplary embodiments, similar to that of  FIG. 3  but corresponding to the systems of  FIG. 2 , may be provided, mutatis mutandis, based on the depiction and description of  FIG. 3 . 
     The system of  FIG. 3  comprises a transceiver  510  which (except as otherwise described below) may be similar to known transceivers used for connecting cables (which generally carry analog signals) to associated devices (which generally carry digital signals). Such associated devices are also termed herein “host devices” and/or “host systems”. 
     The transceiver  510  comprises a hardware memory device  520 , which may be similar in structure and function to the passive memory device described above with reference to passive cables, and to the hardware memory device  150  of  FIG. 1 . The hardware memory device  520  is shown storing data which is similar to the data stored in the hardware memory device  150  of  FIG. 1 ; persons skilled in the art will therefore appreciate that the transceiver  510  with the hardware memory device  520  comprised therein may function in the manner described above with reference to  FIG. 1  (and, mutatis mutandis, in the manner described above with reference to  FIG. 2 ). 
     The transceiver  510  comprises cable electrical connections  530 , which in turn comprise control electrical connections  540  and data electrical connections  550 . The cable electrical connections  530  comprising the control electrical connections  540  and the data electrical connections  550  are configured to be connected via any suitable connection to a host device or host system. By way of non-limiting example, such a host device/system is shown in  FIG. 3  as a network interface controller (NIC) or switch  560 , it being appreciated that other suitable host devices may be used. By way of non-limiting example, a suitable CPU or a suitable GPU (graphics processing unit) or a suitable DPU (data processing unit) may be used instead of or may be comprised in the NIC/switch  560 . By way of particular non-limiting example, an NVIDIA Mellanox BlueField®-2 DPU, commercially available (for example) from Mellanox Technologies Inc. may be used. 
     The NIC/switch  560  comprises verifier circuitry  570 , which may carry out functions similar to those described above with reference to the host device  104  of  FIG. 1  and, mutatis mutandis to functions described above with reference to  FIG. 2 . The verifier circuitry  570  may be implemented in a suitable CPU or a suitable GPU or a suitable DPU as explained above. 
     The transceiver  510  is shown attached to a cable  575 , which may comprise any suitable cable, it being appreciated that the cable  575  and the transceiver  510  would be chosen to be interoperable. By way of particular non-limiting example, if the cable  575  comprises an optical cable, then the transceiver  510  would comprise a suitable optical transceiver. By way of another particular non-limiting example, if the cable  575  comprises a particular kind of electrical cable, then the transceiver  510  would comprise a suitable electrical transceiver. 
     As depicted in  FIG. 3 , the NIC/switch  560  may also be capable of being simultaneously connected to a plurality of other cables, enabling scenarios as described above in which a plurality of counterfeit cables are connected, with at least two of such cables having the same serial number. In addition, a plurality of NICs/switches  560  may be in operative communication therebetween (as is known in the art), enabling scenarios as described above in which a plurality of switches may communicate in order to discover counterfeit cables at least two of which have the same serial number, even if those cables are connected to different switches. 
     It is appreciated that a subcombination of the system of  FIG. 3  without the NIC/switch  560  comprises an alternative exemplary embodiment of the present invention. Similarly, a subcombination of the system of  FIG. 3  comprising the NIC/switch  560  without the other elements of the system of  FIG. 3  may also comprise an alternative exemplary embodiment of the present invention. Other such subcombinations include: 
     the transceiver  510  without the other elements of the system of  FIG. 3 ; and 
     the transceiver  510  and the cable  575 , without the other elements of the system of  FIG. 3 . 
     Returning to a description of the control electrical connections  540  and the data electrical connections  550 , similar electrical connections are (except as described below) known in the art. In general, control electrical connections carry control signals from a host system to a cable and receive responses thereto, while data electrical connections carry data to/from a cable. 
     In the exemplary embodiment of  FIG. 3 , the control electrical connections  540  are shown as passing to the transceiver  510  via the hardware memory device  520 . In this way, the operations described above with reference to  FIG. 1  (and, mutatis mutandis, with reference to  FIG. 2 ) may be carried out. 
     It is appreciated that, without limiting the generality of the foregoing, communications over the control electrical connections may take place using I 2 C, MDIO, or any other appropriate mechanism, as described above. 
     It is appreciated that (in accordance with the above description) the transceiver  510  may also comprise a challenge-response module (not shown), which in turn may comprise one more of the following: an appropriate microcontroller; a trusted platform module (TPM); and a hardware security module (HSM), as are known in the art. Again, as described above, a TPM and/or an HSM may implement a challenge-response mechanism in order to verify authenticity of the TCM and/or the HSM, and thus to verify authenticity of a device in which the TCM and/or the HSM is comprised. Thus, an active cable (as described above), comprising a TCM and/or an HSM, may be able to participate in a challenge-response mechanism by receiving a challenge and providing a response. Such an active cable, appropriately configured and used, can provide a solution to the counterfeit cable problem described above. It is appreciated that such a challenge-response module may be employed in addition to the hardware memory device  520 , thus providing an additional mechanism for verifying cable authenticity. 
     Reference is now additionally made to  FIG. 4 , which is a simplified flowchart illustration of an exemplary method of operation of the system of  FIG. 3 , showing operation in a mode designed to frustrate use of counterfeit cables when working with a plurality of cables. The method of  FIG. 4 , as depicted, comprises the following steps, it being appreciated that some steps may be omitted or their order modified in certain exemplary modes of operation: 
     For each cable of a plurality of cables attached to a NIC or to a switch (or other appropriate device), determine identifying information for that cable (step  610 ). Exemplary methods of determination of identifying information are described above, inter alia with reference to  FIG. 1 . 
     For each cable, verify that the identifying information is genuine identifying information (step  620 ); again, relevant exemplary methods for carrying out step  620  are described above, inter alia with reference to  FIG. 1 . 
     Determine whether each of the plurality of cables has different identifying information than each other of the plurality of cables (step  630 ). For any two or more cables which have identifying information which is not different, store an indication that those cables are suspected to be counterfeit (step  640 ). A system user or administrator of the suspected counterfeit cables is then informed of the suspected counterfeit cables (step  650 ). In particular with regard to steps  640  and  650 , it is appreciated that other alternatives are available, such as: not storing the information, but rather immediately notifying a system user or administrator; storing the information, and only notifying a system user or administrator on request or periodically; and sending the information to a remote location, whether with or without previously storing the information. 
     For a better understanding of a motivation behind steps  630 ,  640 , and  650 , see the discussion above of the “birthday problem” or “birthday paradox”. 
     It is appreciated that software components of the present invention may, if desired, be implemented in ROM (read only memory) form. The software components may, generally, be implemented in hardware, if desired, using conventional techniques. It is further appreciated that the software components may be instantiated, for example: as a computer program product or on a tangible medium. In some cases, it may be possible to instantiate the software components as a signal interpretable by an appropriate computer, although such an instantiation may be excluded in certain embodiments of the present invention. 
     It is appreciated that various features of the invention which are, for clarity, described in the contexts of separate embodiments may also be provided in combination in a single embodiment. Conversely, various features of the invention which are, for brevity, described in the context of a single embodiment may also be provided separately or in any suitable subcombination. 
     It will be appreciated by persons skilled in the art that the present invention is not limited by what has been particularly shown and described hereinabove. Rather the scope of the invention is defined by the appended claims and equivalents thereof: