15.07.2013 Views

Proposal Protocol for DME and Airplane Communication

Proposal Protocol for DME and Airplane Communication

Proposal Protocol for DME and Airplane Communication

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

following 3 parts: data, P K<strong>DME</strong>, <strong>and</strong> an aggregated (combination of multiple signatures) signature.<br />

The aggregated signature contains the signature of the FAA on the CERTF AA <strong>and</strong> the signature<br />

of the <strong>DME</strong> on the data. The <strong>DME</strong> signs the data using its SK<strong>DME</strong>, <strong>and</strong> the plane verifies the<br />

signature using P K<strong>DME</strong>. It is important to note that this scheme tolerates packet loss because each<br />

packet is individually signed <strong>and</strong> does not require any previous or future packets <strong>for</strong> authentication.<br />

The proof of security <strong>and</strong> specifics of aggregated signatures are described in Boneh et al. [1].<br />

The signatures are done using 256-bit elliptic curves [2]. There<strong>for</strong>e, the P K<strong>DME</strong> <strong>and</strong> signature<br />

are 256 bits each. The authentication requires 512 bits. However, this number can be reduced by<br />

using lower bit curves, but this also leads to a lower security.<br />

This scheme can be written with a small amount of code ( 100 lines) assuming that we have a<br />

library that can do elliptic curve cryptography. In terms of speed, it takes about 3 milliseconds to<br />

generate a 256-bit elliptic curve signature <strong>and</strong> about 70 milliseconds to verify it.<br />

4 Hash Mac Scheme<br />

The scheme has a more detailed authentication protocol, but it only requires 288 bits. When the<br />

first approaches the <strong>DME</strong>, it has to wait 10 seconds (or time intervals) be<strong>for</strong>e we can determine<br />

if the data is authenticated or not. The key setup is the same as the signature scheme. However,<br />

additional calculations <strong>and</strong> setups have to be done daily <strong>and</strong> hourly. We describe the daily setup<br />

of the <strong>DME</strong>, the <strong>DME</strong> transmission over a 24 hour period, <strong>and</strong> then the verification done by the<br />

plane over this 24 hour period.<br />

4.1 <strong>DME</strong> Hash Chain Generation<br />

At a specified time at night (preferably when there is low air traffic), the <strong>DME</strong> generates a hash<br />

chain of keys to be used during each time interval during the day. Similar one-way chains have<br />

been used in other broadcasting protocols [3]. In this report, our chain will be 86,400 keys long,<br />

<strong>and</strong> we will assume each time interval is 1 second. To generate this chain, we start with the nth key<br />

(Kn). This key should be r<strong>and</strong>omly generated. The 0th key is found by applying a one-way (hash)<br />

function H n times (e.g. K0 = H n (Kn)). In our implementation, we use Secure Hash Algorithm<br />

(SHA) 256, which is a one way, collision resistant function that outputs 256 bits. <strong>and</strong> 128 bit keys.<br />

We take the least significant 128 bits be<strong>for</strong>e we apply the one way function. Given a key, Kj, Ki =<br />

H j−i (Kj) <strong>for</strong> j > i.<br />

The keys are used in reverse order. In other words, time interval 0 uses K0, time interval 1<br />

uses K1, etc. Knowing any previous key allows to see if a future key was generated from the same<br />

previous key. A one way function means that there is no known inverse function, so it would be<br />

very difficult to find Kj knowing Ki <strong>for</strong> j > i. We need some way to store this chain. We can<br />

calculate it all at once <strong>and</strong> store it, which would require O(n) space but constant time <strong>for</strong> retrieval.<br />

We can just calculate K0 <strong>and</strong> recompute the chain every time, which would require O(n) time but<br />

constant space. Re-generating the hash chain every time would be computationally expensive. For<br />

a chain with 86,400 keys, it takes about 135 milliseconds. Jakobsson [4], <strong>and</strong> Coppersmith <strong>and</strong><br />

Jakobsson [5] describe a method <strong>for</strong> computing the next value in the chain with n elements that<br />

requires O(log n) space <strong>and</strong> O(log n) time <strong>for</strong> each retrieval.<br />

4.2 Transmission of the <strong>DME</strong> over a 24 hour period<br />

Every 10 minute window contains 600 time intervals. Let Kw be the first key from the hash chain<br />

associated with the current 10 minute time window.<br />

2

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

Saved successfully!

Ooh no, something went wrong!