16
The fusionTrack device authentication
This chapter discusses the device authentication: a mechanism is provided to ensure the following situations
do not occur:
- A malicious attacker replaces a fusionTrack by one of its own system and send incorrect data on the
network cable linking the tracker to the end-user application;
- A malicious attacker replaces the firmware of a fusionTrack device by a malicious one.
The following scenarii are
not
covered:
- A malicious attacker installs a ‘man in the middle’ device between the fusionTrack device and the
end-user application. The device modifies data on the fly;
- A malicious attacker listens to the network traffic between the fusionTrack device and the end-user
application to gather information.
16.1
Implementation
A key is programmed in the fusionTrack device and in the end-user application by the integrator.
The Atracsys SDK let the integrator send ‘challenges’ to the tracker whenever the need arise. For
example, this can be done at startup and during surgical workflow transitions.
The challenge consist into sending data to the tracker and receiving back the encrypted version of the
data. The encryption is done using the pre-programmed keys. The encrypted challenge received from the
fusionTrack device is compared to the challenge encrypted by the SDK.
The chosen algorithm is
[3] (eXtended TEA), with a 128 bits key and 64 bits challenges. This
algorithm was chosen for its simplicity of implementation, execution speed and relative robustness. In order
to mitigate brute force attacks, the rate of challenge testing is limitted in the firmware 1 Hz. The integrator
is responsible for the key(s) handling, Atracsys only provides the storage in the fusionTrack device and
computation in both the SDK and the fusionTrack device firmware.
16.2
Setting the key in the fusionTrack device
A 128 bits key must first be uploaded in the fusionTrack device, this requires to use the
atnet
software.
First, the communication between the fusionTrack device and
atnet
must be established, as explained in
Section 10.1. A binary file containing the 128 bits key (i.e. 16 bytes) must be prepared beforehand, and the
upload procedure is the following:
1. Use the command ‘
set_cypherKey
’ to register the key in the device, for example:
87