Prop osal Proto col for DME and Airplane Communication Dan Boneh and Frank Wang Department of Computer Science, Stanford University fdab o,frankwg@cs.stanford.edu 1 Introduction In this report, we provide 2 di erent authentication protocols for communication between airplanes and DME towers. The rst one, solely using signatures, is much simpler and does not require any knowledge of the data ahead of time but requires more authentication (512) bits to be transmitted to the airplane. The second one using message authentication codes (MACs) and signatures has more a detailed authentication scheme and requires knowledge of data one time interval ahead of time but requires half (256) the number of bits for the same level of security as the the rst scheme. 2 General Setup Both schemes have the same initial setup. The following keys and certi cations must be generated before either of the authentication schemes can be initiated: Every aviation authority (e.g FAA) generates a public and secret key pair (P KF AA, S KF AA). For simplicity, the schemes only consider one aviation authority, but they can easily be extended to include many authorities. Every plane contains all the public keys (P KF AA) for every authority, which is manually installed on all planes. For each public key there is an associated geographic region of DMEs where the public key can be used to certify DMEs. The plane also has a certi cation revocation list to revoke compromised DME secret keys. Every DME generates a public and secret key pair (P KD M E, S KF AA) and has it signed by the appropriate authority. The DME has the following, (P KD M E, S KF AA, C E R TF AA) contains (id, position, P KD M E where C E R TF AA DME DME F AA 1 , and signature of the FAA on these elds). The certi cate on the P Kis generated manually and sent to the DME. If the any S Kis stolen or compromised, the FAA generates a signed certi cate revocation list and distributes it to all active DMEs. If the S Kis stolen or compromised, a new public and secret key pair needs to be generated. The public key has to be manually installed in all airplanes. 3 Signature Scheme This scheme is simple and uses 512 bits for authentication. The general idea is that we sign all the messages individually and provide the key for verify the signatures. Each packet contains the following 3 parts: data, P KD M E, and an aggregated (combination of multiple signatures) signature. The aggregated signature contains the signature of the FAA on the C E R Tand the signature of the DME on the data. The DME signs the data using its S KD M EF AA, and the plane veri es the signature using P KD M E. It is important to note that this scheme tolerates packet loss because each packet is individually signed and does not require any previous or future packets for authentication. The proof of security and speci cs of aggregated signatures are described in Boneh et al. [1]. The signatures are done using 256-bit elliptic curves [2]. Therefore, the P KD M Eand signature are 256 bits each. The authentication requires 512 bits. However, this number can be reduced by using lower bit curves, but this also leads to a lower security. This scheme can be written with a small amount of code ( 100 lines) assuming that we have a library that can do elliptic curve cryptography. In terms of speed, it takes about 3 milliseconds to generate a 256-bit elliptic curve signature and about 70 milliseconds to verify it. 4 Hash Mac Scheme The scheme has a more detailed authentication protocol, but it only requires 288 bits. When the rst approaches the DME, it has to wait 10 seconds (or time intervals) before we can determine if the data is authenticated or not. The key setup is the same as the signature scheme. However, additional calculations and setups have to be done daily and hourly. We describe the daily setup of the DME, the DME transmission over a 24 hour period, and then the veri cation done by the plane over this 24 hour period. 4.1 DME Hash Chain Generation At a speci ed time at night (preferably when there is low air tra c), the DME generates a hash chain of keys to be used during each time interval during the day. Similar one-way chains have been used in other broadcasting protocols [3]. In this report, our chain will be 86,400 keys long, and we will assume each time interval is 1 second. To generate this chain, we start with the nth key (Kn). This key should be randomly generated. The 0th key is found by applying a one-way (hash) function H n times (e.g. K0= Hn(Kn)). In our implementation, we use Secure Hash Algorithm (SHA) 256, which is a one way, collision resistant function that outputs 256 bits. and 128 bit keys. We take the least signi cant 128 bits before we apply the one way function. Given a key, Kj, K= Hj i(Kj) for j > i. The keys are used in reverse order. In other words, time interval 0 uses K0i, time interval 1 uses K1, etc. Knowing any previous key allows to see if a future key was generated from the same previous key. A one way function means that there is no known inverse function, so it would be very di cult to nd Kjknowing Kfor j > i. We need some way to store this chain. We can calculate it all at once and store it, which would require O(n) space but constant time for retrieval. We can just calculate K0iand recompute the chain every time, which would require O(n) time but constant space. Re-generating the hash chain every time would be computationally expensive. For a chain with 86,400 keys, it takes about 135 milliseconds. Jakobsson [4], and Coppersmith and Jakobsson [5] describe a method for computing the next value in the chain with n elements that requires O(log n) space and O(log n) time for each retrieval. 4.2 Transmission of the DME over a 24 hour period Every 10 minute window contains 600 time intervals. Let Kwbe the rst key from the hash chain associated with the current 10 minute time window. 2 At the beginning of each 10 minute time window, the DME generates S I G, which is the signing of Kwusing S KD M ED M Eand an aggregated signature (AggSig) using the same method as above containing S I GD M Eand the FAA signature on C E R TD M E. Therefore, we have the following signature: = (P KD M E, AggSig, Kw S I GO V E R ALL64 i i+1 = MAC[Ki+1, datai+1 [data i i i+1 O V E R ALL i i i+1 O V E R ALL ) This is total of 640 bits because the public key is 256 bits, the aggregated signatures is 256 bits, and the key is 128 bits. This signature de nes a polynomial F over GF(2) of degree 9. The importance of the polynomial is described below. 4.2.1 Transmission every time interval At time interval i, the DME sends data. It computes the following: t|| (32-bit time)] Note that this MAC requires one time interval advance knowledge. Our implementation uses HMAC-SHA256. We take the least signi cant 64 bits. The 32-bit time is included in the MAC calculation to prevent replay attacks, but dataimay only contain the 16 least signi cant time bits. The 16 most signi cation bits are known to both the DME and the plane and need not be transmitted because it is within the 24 hour window. ,K ,t The DME sends the following: [data is 128 bits, ti+1 ,K i ,t 3 , F(i)] Kis 64 bits, and F(i) is 64 bits. Therefore, the authentication requires 256 bits. It is important to note that the polynomial changes every 600 time intervals. Any 10 packets are su cient to recover F which gives the plane S I Gand allows it to verify the signatures. This information dispersal allows for packet loss. 4.2.2 Last 16 time intervals in 24-hour p erio d DME sends the following: , F’(i)] Everything represents the same as above except F’ is the polynomial for the rst S I Gin the next 24 hour chain 4.3 Important Notes about the DME transmission 4.3.1 24 hour chain When switching between chains, the transition is smooth unless there is a burst of packet loss, in which the plane ill need to wait a few seconds until it receives a new complete signature. Increasing chain length would make this event less frequent, but will increase the time to rst build the chain and access the chain. The hash chain ensures that palnes can recover from a burst packet loss by dropping no more than on packet. However, if an attacker is able to block every other packet, the plane will be unable to authenticate any packet. We will show why this is the case in the plane veri cation section below. 4.3.2 10 minut e window Signature is used for 10 minutes, but this time is variable. Increasing the window size will make it harder for to verify key Kiit receives in current packet because it has to perform the hash function to get that key. Shrinking this window reduces the opportunity for recovering the signature. 4.3.3 Last 16 packets in 24 hour window Sending the signature on the new K0in last 16 packets of current chain. Increasing the number reduces the possibility of packet loss, but makes it more di cult for new planes coming into contact with the DME to verify the end of the previous chain because the signature is for the new chain. New planes joining at the end of a chain will, in the worst case, need to wait 16 seconds before they can authenticate data (as opposed to 10 seconds normally). Planes currently using DME are una ected by change of chain, unless there is packet loss during the change of chain. 4.4 Plane Veri cation Process 4.4.1 First Conta ct with the DME The plane collects 10 packs from the DME and reconstructs S I GO V E R ALLas described above. After reconstructing, it veri es the signatures. At this point, the plane has authenticated Kfor the current 10 minutes time window. This means that the plane knows the DME is the DME it claims to be. When the next packet P , which contains [datai, Ki, ti+1w, F(i)], is received, the plane checks that H(H(H..H(Ki)..)) = Kw, otherwise reject the packet if not. The plane can do this because it knows what time P was transmitted and when Kwas created. After that, the plane checks veri es that tiw(from the previous packet) is equal to MAC(Ki, [datai|| (32-bit time)]). If it is equal, then output valid, and reject the packet otherwise. If it is valid, that means the datai is authenticated and can be used securely. 4.4.2 Subsequent contac t The method is the same as above. If there is a gap in chain due to packet loss, the plane waits until the next packet is received. It ignores that packet but saves tfrom it. Then, when the next packet is received, the plane performs the MAC check described above. It is important to mention that if an attacker is able to block every other packet, the plane will be unable to authenticate any packet because we could never get the keys or data from the next packet to authenticate the MAC eld from the previous packet. If the packets happen to be the last packets in 24 hour chain, the plane collects S I GO V E R ALLon the new K0i+1. The plane veri es the signatures and then starts using the new chain. No interruption in the service is expected. If packet loss occurs and prevents the acquisition of the signature on Kfrom last 16 packets of previous chain, then use signatures on the new chain to verify K00as if the packets did not come. This method is more involved but has less bits. It can be written in about 500 lines of code. The signature veri cation is the same speed as above. References [1]D. Boneh, H. Shacham, and B. Lynn. Short signatures from the Weil pairing. J. of Cryptology 17(4): p.297-319, 2004. 4 [2]D. Freeman. Constructing Pairing-Friendly Elliptic Curves with Embedding Degree 10. Algorithmic Number Theory : p. 452-65, 2006. [3]A. Perrig, R. Canetti, J.D. Tygar, and D. Song. The TESLA Broadcast Authentication Protocol. RSA Cryptobytes 5: p.2002, 2002. [4]M. Jakobsson. Fractal hash sequence representation and traversal. In Proceedings of the 2002 IEEE International Symposium on Information Theory, p. 437-44, July 2002. [5]D. Coppersmith and M. Jakobsson. Almost optimal hash sequence traversal. In Proceedings of the Fourth Conference on Financial Cryptography, 2002. 5