A communication device comprising: a memory for storing a first protocol device identity; a data transmitter for supporting communication links with other devices; and a communication controller capable of communicating by means of a first protocol and configured to periodically cause the data transmitter to transmit the stored first protocol device identity using the first protocol so that the communication device can be identified; characterised in that: the communication controller is capable of communicating by means of a second protocol, and the controller stores an algorithm for varying the stored first protocol device identity, the controller being configured to: negotiate, with another device with which the communication device is to communicate, the first protocol device identity out-of-band over a different protocol from that in which it is to be used, the different protocol being the second protocol; and periodically vary the stored first protocol device identity by calculating a first protocol device identity in accordance with the algorithm and to store the calculated first protocol device identity as the varied stored first protocol device identity and subsequently cause the data transmitter to transmit the varied stored first protocol device identity out-of-band using the second protocol, wherein the communication device is configured to pass the algorithm or parameters used in the algorithm to another device, with which the communication device is to communicate, over a secure channel. a memory for storing a first protocol device identity; a data transmitter for supporting communication links with other devices; and a communication controller capable of communicating by means of a first protocol and configured to periodically cause the data transmitter to transmit the stored first protocol device identity using the first protocol so that the communication device can be identified; the communication controller is capable of communicating by means of a second protocol, and the controller stores an algorithm for varying the stored first protocol device identity, the controller being configured to: negotiate, with another device with which the communication device is to communicate, the first protocol device identity out-of-band over a different protocol from that in which it is to be used, the different protocol being the second protocol; and periodically vary the stored first protocol device identity by calculating a first protocol device identity in accordance with the algorithm and to store the calculated first protocol device identity as the varied stored first protocol device identity and subsequently cause the data transmitter to transmit the varied stored first protocol device identity out-of-band using the second protocol, negotiate, with another device with which the communication device is to communicate, the first protocol device identity out-of-band over a different protocol from that in which it is to be used, the different protocol being the second protocol; and periodically vary the stored first protocol device identity by calculating a first protocol device identity in accordance with the algorithm and to store the calculated first protocol device identity as the varied stored first protocol device identity and subsequently cause the data transmitter to transmit the varied stored first protocol device identity out-of-band using the second protocol, wherein the communication device is configured to pass the algorithm or parameters used in the algorithm to another device, with which the communication device is to communicate, over a secure channel.