13.08.2018 Views

[Studies in Computational Intelligence 481] Artur Babiarz, Robert Bieda, Karol Jędrasiak, Aleksander Nawrat (auth.), Aleksander Nawrat, Zygmunt Kuś (eds.) - Vision Based Systemsfor UAV Applications (2013, Sprin

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

The Dedicated Wireless Communication Device for Group of Unmanned Vehicles 253<br />

removes the security gap result<strong>in</strong>g from the use of an iterative hash functions. The<br />

HMAC value is calculated for each package separately and sent along with it.<br />

In order to assure safety of keys exchange between the devices it was decide to<br />

use the Diffie-Hellman key-exchange protocol. It allows to establish a common<br />

secret between two devices with the use of an unprotected channel. In order to run<br />

the DH protocol it is required to select group used for execut<strong>in</strong>g operations of<br />

exponentiation of large numbers. Dur<strong>in</strong>g experiments n<strong>in</strong>e numbers were chosen.<br />

Each of them is a safe prime number p. It means that both p and number p 2 computed<br />

by the equation:<br />

1<br />

2 , (1)<br />

are prime numbers.<br />

6 Data Encryption<br />

The communication protocol consists of two ma<strong>in</strong> parts: establish<strong>in</strong>g and ma<strong>in</strong>ta<strong>in</strong><strong>in</strong>g<br />

the connection. It is assumed that the addresses of the devices are <strong>in</strong> the<br />

range from 0 to 16 383 (with<strong>in</strong> 14 bits).<br />

6.1 Establish<strong>in</strong>g Connection<br />

The process of establish<strong>in</strong>g connection was divided <strong>in</strong>to two phases. Dur<strong>in</strong>g first<br />

phase the device <strong>in</strong>itiat<strong>in</strong>g the communication sends the PING packet to the receiver<br />

which replies with the PONG packet. Both packets are time and quantity<br />

secured by us<strong>in</strong>g counters of number of starts and time of execution. After receiv<strong>in</strong>g<br />

the PONG packet, the sender is assured about the existence of the receiver.<br />

Then the synchroniz<strong>in</strong>g SYN packet is send. The last 16 bytes of the SYN packet<br />

conta<strong>in</strong>s random value used as an aid dur<strong>in</strong>g generat<strong>in</strong>g random temp keys. The<br />

response for the synchroniz<strong>in</strong>g packet is SYNACK with the same structure as the<br />

SYN packet. After exchang<strong>in</strong>g those two packets both devices generate common<br />

temporary key us<strong>in</strong>g the function:<br />

tk := SHA256(AddrA || RunCntA || RndA || AddB ||<br />

RunCntB || RndB || AuthKey)<br />

6.2 Ma<strong>in</strong>ta<strong>in</strong><strong>in</strong>g the Connection<br />

Dur<strong>in</strong>g proper communication between the devices a smaller packet is used. The<br />

header’s length is 4 bytes and <strong>auth</strong>orization value’s length is 8 bytes. Transferred<br />

data is encoded by estimated channel. Its number is <strong>in</strong> the range from 0 to 32767<br />

and is written <strong>in</strong> first two bytes of the data. Third and fourth bytes conta<strong>in</strong> the<br />

sequential number of the packet. Due to the low throughput of the transmission<br />

there are no other protocol limitations.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!