FPGA tabanlı şifreli kablosuz haberleşme sistemi
FPGA based encrypted wireless communication system
Yazar: ILGAZ AZ
Danışman: DOÇ. DR. GÖKHAN İNALHAN
İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Disiplinlerarası Ana Bilim Dalı / Savunma Teknolojileri Bilim Dalı
Derece: Yüksek Lisans, 2014
Konu: Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering
Dizin: FPGA = FPGA ; İleri şifreleme standart algoritması = Advanced encryption standard algorithm

Özet:
Önerilen sistemde, iki farklı noktada bulunan kullanıcılar arasında şifreli mesaj, resim ve ses verisi gönderip alabilen düşük güçlü ve maliyet-etkin FPGA tabanlı kablosuz haberleşme sistemi tasarımı yapılmıştır. Kullanıcılar, donanım tabanlı sistemleri sayesinde birbirleri arasında ister şifreli ister şifresiz haberleşme kanalı üzerinden veri alış-verişi yapabilmektedir. Şifreli kanal seçimi kullanıcı tarafından arayüz programı yardımıyla yapılabilmektedir.
Donanım tabanlı olan sistem, FPGA geliştirme kartı üzerine kurulmuştur. FPGA geliştirme kartı, sistemin ana kontrolcüsü olarak çalışmaktadır. Sistemde kullanılan geliştirme kartı Digilent firmasına ait Nexys-2 modelindeki karttır. 
Sistemde kablosuz haberleşme, ses örnekleme ve ses çıktısı üretme işlemleri çevresel birim kartlarıyla gerçekleştirilmektedir. FPGA geliştirme kartına bağlanabilen çevresel birim kartları, IEEE 802.15.4 kablosuz haberleşme standardını gerçekleme, ses girdisi alma ve ses çıktısı üretme işlevlerini yerine getirmektedir. Mesaj ve resim verileri bilgisayar ortamında C# programlama dili kullanarak oluşturulan arayüz üzerinden girilebilmektedir. Kullanıcı arayüz programı ile FPGA kartı UART seri arayüz protokolü ile haberleşmektedir.
Sistemde kullanılan şifreleme algoritması AES-128 simetrik blok şifreleme algoritmasıdır. Algoritmanın hem şifreleme hem de şifre çözme adımları FPGA üzerinde gerçeklenmiştir. 
Sistemin yazılımsal altyapısı FPGA üzerinde VHDL kullanarak oluşturulmuştur. Şifre ve şifre çözme algoritmaları, kablosuz haberleşme, UART arayüzü, ses örnekleme ve ses çıkış ana kontrol ve alt birim yazılım modülleri VHDL kullanarak oluşturulmuştur.
Sistemin yazılımsal tasarımında, sistemi kontrol eden yapılar en küçük işlevsel bloklara kadar ayrılmış ve tasarımlarında alttan-üste (bottom-up) yaklaşımı kullanılmıştır. Alt birimleri kontrol eden yazılım modülleri tasarlandıktan sonra bu modülleri üst seviyede kontrol edecek yazılım modülleri tasarlanmıştır. Bu sayede, hata ayıklama işlemleri kolaylaştırılmıştır.
Sistem testlerinde, standardın verdiği mesafelerde konumlanan iki kullanıcıya donanım birimleri kurulmuş ve donanımlar UART arayüzü üzerinden kullanıcı arayüz programına bağlanmıştır. Bilgisayarda bulunan kullanıcı arayüz programı üzerinden şifreli haberleşme işlevi aktif edilmiş ve mesaj ve resim verileri gönderilip alınmıştır. Aynı zamanda, ses giriş biriminden alınan sayısal ses verisi, karşı kullanıcıya gönderilip ses çıkışı alınmıştır. Bu özelliklerinden ötürü, tüm sistem yakın konumlanan güvenli arayüze sahip haberleşme cihazı şeklinde çalıştığı düşünülebilir.
Sistem, iki kullanıcı arasında yarı-zamanlı (half-duplex) yapıda haberleşme arayüzü sağlamaktadır ancak yazılım altyapısında kurulan mimari sayesinde kullanıcılar birbirlerine veri gönderimi yaparken herhangi bir zamansal kısıtları bulunmamaktadır. Kullanıcılar aynı anda veri gönderimi yapsalar dahi, sistem bu verileri kaydedip haberleşme kanalının boş olduğu zamanda verilerin iletimini gerçekleştirmektedir. 
Sistem, yazılım teknikleri ve mimarisi sayesinde (saat darbesini gerekli zamanlarda aktif etme, aktif olmayan modülleri kapatma vb.) literatürde önerilen diğer sistem tasarımlarına göre görece düşük güç tüketimi değerlerine sahiptir. Kullanılan yazılım teknikleri sayesinde (en küçük işlevsel modüllere ayırma vb.) FPGA üzerinde az sayıda kaynak harcanarak tasarlanmaya çalışılmış ve daha ucuz FPGA yongalarıyla da bu tasarımın gerçeklenmesine çalışılmıştır.

Abstract:
Wireless communication is transmission method that uses electromagnetic waves, which has no physical connection between users. Most widespread used wireless communication systems are television, cellular mobile phones, radios, wireless modems, walkie-talkie and satellites. Given systems transmit or receive electromagnetic waves and render meaningful data. 
Cryptography is ciphering science. It is used to prevent of using, monitoring and changing data and information. It is practice and study techniques for secure communication in the presence of third parties. More generally, it is about constructing and analyzing protocols that overcome the influence of adversaries and which are related to various aspects information security such as data confidentially, data integrity, authentication and non-repudiation. Modern cryptography intersects the disciplines of mathematics, computer science and electrical engineering. Applications of cryptography include ATM cards, computer passwords and electronic commerce. 
Modern cryptography is heavily based on mathematical theory and computer science practice; cryptographic algorithms are designed around computational hardness assumptions, making such algorithms hard to break in practice by any adversary. It is theoretically possible to break such a system but it is infeasible to do so by any known practical means. These schemes are therefore termed computationally secure; theoretical advances, e.g., improvements in integer factorization algorithms, and faster computing technology require these solutions to be continually adapted. There exist information-theoretically secure schemes that provably cannot be broken even with unlimited computing power—an example is the one-time pad—but these schemes are more difficult to implement than the best theoretically breakable but computationally secure mechanisms.
For practical applications, implementation complexity and security level of algorithms has become increasingly important. Thus, hardware base of implementation becomes crucial. Today, cryptographic algorithms are generally implemented on Field Programmable Gate Arrays (FPGA) and Application-Specific Integrated Circuits for speed, area and power specific application fields.
One of the application fields of cryptographic algorithms are wireless communication systems. For wireless communication systems such as cellular phones, sensor networks, low-power consumption will arise as a main concern. So, it becomes important to choose right cryptographic algorithm for low power and low complexity required wireless communication applications. AES-Rijndael algorithm is good choice in terms of simplicity and high security level.
In thesis, wireless communication and cryptography topics are integrated in hardware basis. FPGA-based encrypted wireless communication system is designed for establishing secure communication link between distinctly located users.  Each user is capable to transmit and receive message, image and audio data. For communication, wireless personal area network (IEEE 802.15.4, WPAN) is preferred which is especially customized for low power applications. AES-128 algorithm is chosen for establishing data security between users.
Low power consumption, low cost design and high processing power are main concerns of implementation. To fulfill power consumption issue, WPAN protocol is chosen which designed for low power applications. In addition, software is designed by following power reduction schemes such as clock enabling, module enabling/disabling, sleeping and waking integrated circuits at relevant time. To fulfill low cost design issue, total resource usage of FPGA tries to be reduced with iterative implementations. To fulfill high processing power issue, it is followed recommended ways of software implementation in terms of parallelism of FPGA.
Hardware based system is implemented on FPGA development board. FPGA development board, which is the main controller of the system, is Nexys-2 that is produced and manufacturer by Digilent Inc. 
Main functions that are implemented on Nexys-2 FPGA board is transmitting and receiving data over UART interface, controlling audio sampling module, buffering digitized audio, controlling audio reconstruction unit, sending digitized audio to reconstruction unit, encrypting and decrypting buffered data and initializing wireless communication module and handling transceiving function of communication module.
Proposed system is able to transmit and receive message, image and audio. For given purposes, peripheral boards are plugged to FPGA development board. These boards are PmodRF2, PmodMIC and PmodI2S that are designed and manufactured as COTS products by Digilent Inc. PmodRF2 is IEEE 802.15.4 WPAN Protocol board that is used for transmission and reception of data. PmodMIC is audio sampling board. It has microphone unit and digitizing IC for sampling. PmodI2S is audio reconstruction board used for creating analog audio from digital audio data.  
Proposed system has two software bases, one is FPGA software and other is graphical user interface.  
VHDL is hardware description language to describe logic and logical interconnection of high speed integrated circuits such as FPGA and ASIC. VHDL can also be used as a general purpose programming language. 
FPGA software module designs are written with VHDL. Encryption/decryption module, UART interface module, audio controller module, wireless communication controller modules are all implemented with VHDL on FPGA. While designing given controller modules, low cost design and high processing power requirements of system are considered. 
In software module design, functionality and requirements of whole system is deeply examined.  After functionality of system becomes clear, it is divided into functional elementary submodules. Such submodules are responsible to implement minor functions. It is such as wireless, audio peripheral board controlling, UART communication with PC and encryption/decryption process controlling. These submodules are getting together with bottom-up design approach. By bottom-up approach and minor functionality submodule design, high processing power requirement is achieved. Given approaches makes simple and straightforward to describe desired functionality in terms of VHDL statements. Additionally, debugging processes becomes simpler when design has minor submodules.
System has graphical user interface to transmit and receive message and image from user's computer. There are message box that is used to write any type of message and history box that is used to monitor received message. There is selection box for image data. Any type of image can be selected from computer. User can also select to enable/disable encryption process and microphone module from GUI. GUI establishes communication link over UART interface between computer and FPGA. It is written with C# language.
System is able to transmit and receive different data types such as message, image and audio. To classify such data, data packaging protocol is implemented. Every data package has header, length of data, data and footer bytes. Thus, data types can be separated and related channeling can be provided. Message and image data can be routed to UART interface and audio data can be routed to peripheral board.
Encryption algorithm of system is symmetric-key block cipher AES-128 algorithm. Mathematical complexity of AES is suitable to implement it in hardware basis. Additionally, security level of AES is high because of consisting non-linear transformations and using long key length. AES is based on a design principle known as a substitution-permutation network, and is fast in both software and hardware. AES operates on a 4×4 column-major order matrix of bytes, termed the state, although some versions of Rijndael have a larger block size and have additional columns in the state. Most AES calculations are done in a special finite field. Algorithmic flow of AES includes; key addition, substitution of bytes, shifting rows of bytes, mixing columns of bytes. Given operations are iteratively applied on input data for several turns according to key length. 
The communication link style of system is point-to-point. There are two user in system and they can communicate directly each other. The frequency of the link is 2.4GHz ISM band. In the network, one user is coordinator and other user is full-function device. Nature of WPAN link is half-duplex, one should listen when other transmits. However, software implementation of system let the users not to care about transmission time slot. Before transmission, data are buffered and if the link is idle, data is transmitted. Otherwise, system waits the link to become idle. So, system automatically listens the line and transmit data when it is idle. 
In literature, cryptographic algorithm and wireless communication implementations on hardware are deeply studied. Most of studies are based on either algorithmic or wireless communication implementations. In our study, both of these topics are integrated and implemented. In addition, low power and low cost design approaches take into account in design phase. Our system gives relatively good results compared to other systems. 
There are also COTS products, which are communicating over GSM and 3G band. These devices are encrypted mobile phones. They are able to be used as usual mobile phone, but they are also capable to send message and voice after encrypted. Such products are TÜBİTAK's MilCep, GMSK's CryptoPhone, Nabishi's Q8500 and Tripleton's Enigma products.
The main purpose of the system is to close the gap and be an alternative between encrypted wireless sensor networks and encrypted mobile phones. 
For future works, it is planned to be communicated more users in designed system's network. Also, security level will be improved changing AES-128 to AES-256. Coverage area will be increased by changing wireless communication protocol. Finally, all implementation will be designed on a single pcb and mind to be manufactured.