DESIGN AND DEVELOPMENT OF SECURE MOBILE COMMUNICATION OVER GSM NETWORK USING OPEN SOURCE OPERATING SYSTEM (OS)

With the rapidly advancing technology of today, exchange of information and data is a very pertinent matter. The world has just recently witnessed the effects of information leakage through the issue of WikiLeaks. There are huge amounts of data being shared over different platforms nowadays. Global System for Mobile Communication (GSM) is one of the most reliable platforms known to and used by almost all people in the world for text as well as voice communication. With the tools like Android Studio and NetBeans available, it is now possible to encrypt the text that has to be sent over the GSM, so that it can be decrypted at the other end of the communication path. However, the encryption and decryption of voice being transmitted over the GSM network still remains a question. In the domain of real time voice encryption, much of the work being carried out pertains to the voice being exchanged through the Internet Protocol. As compared to the Voice over Internet Protocol (VoIP), voice over the GSM network has not seen much research work related to its security aspects. The purpose of this paper is to document the results of a project aimed at developing a platform for mobile phones in order to communicate over the GSM network in a secure manner. The most suitable method for achieving the above mentioned objective is to use an open source Operating System (OS), so that the source code is easily accessible and usable. In this paper, the Android OS will be under discussion, which is compatible with all the Android mobile phones. In this way, the maximum number of mobile phone users can be benefitted because Android cell phones are being widely used nowadays. The use of cryptographic algorithms for securing the voice communication over the GSM network is also a part of this paper. The work revolves around the Java programming language since the Android application development has been carried out in Java through the use of Android Studio. Also, NetBeans has been employed for developing algorithms for voice encryption.

1. Introduction.The prime objective of this paper is to analyse the voice communication over the Global System for Mobile Communication in terms of the security of the data being transmitted.Secure communication is fundamentally aimed at creating a barrier between information assets and threats.It comprises the following three aspects: Confidentiality: Whenever sensitive information is being exchanged, it is deemed necessary to let only the authorized parties have access to it since sharing it with other people may have catastrophic results.This aspect of information security falls under the category of confidentiality [1].Integrity: While data is transmitted from one end to the other end, it is important to make sure that no intruder is involved in the communication.In simple words, the data must not be tampered through malicious attacks or other ways.The protection of data in a way that it remains in the same form at both the sender and the receiver ends can be considered as protecting the integrity of the data [2].
In this approach, a sound recording application was made.A Java application as well as an Android Studio application was built.The Android Studio application was successfully compiled and run on both the Android emulator and the Android smart phone.An important feature of both of these applications is that they store the audio in wav format.
After this, the wav format file was read through a NetBeans Java application and bytes were formed from the wav format audio.
The byte arrays were made to pass through an AES open source algorithm.Two different methods were used for this approach.
A. Method 1 -Complete Wav File Encryption.Wav format audio file was created and stored by the sound recording application.It was initialized in the NetBeans Java compiler.In this approach, the complete file was read at one time and all the bytes were extracted in one go.Then, Open Source Advanced Encryption Standard (AES) algorithm was implemented in Java on the array of bytes.Application was successfully built and run both on the Android emulator as well as Android smart phone.However, the sequence of bytes was observed to be too long for the application to execute.Secondly, the bytes appear in an unfathomable form.Symbols were being used to represent bytes.

B.
Method 2 -Limited Number of Bytes from the Wav File.In this approach, all other techniques were same except that the number of bytes to be used for encryption were controlled and limited within the program.It was tried to convert the bytes into an understandable form.Characters were generated from the bytes read/ extracted from the wav file.Attempt was also made to regenerate the audio wav format file after decryption.Random integers were generated: [62, -103, 77, -38, 16, -98, -105, 127, -99, 39, -121, 12, -110, -5, -55, 72, -59, -67, -128, -34, 125, -49, 23, -57, -59, 40, -110, -20, -102, 53, -43, ………] As a result of this method, the number of integers generated were limited because the number of bytes to be encrypted were limited too.For example, the random integers generated from 20 bytes were as follows: [52, 36, -9, 2, -24, 74, 79, 77, -56, - This shows that each time the program is run, a unique sequence of integers was generated, with the number of integers varying because of the variable number of bytes.

Messaging Application.
After the encryption of the audio wav file, it was necessary to develop a mechanism by which the encrypted data can be exchanged through the GSM network.Another important aspect was the decryption of the data at the other end of the communication path.To meet the former objective, a text messaging application was developed.The encrypted data consists of random integers, which can be treated as text despite the fact that those numbers have been derived from recorded audio.The application was successfully built and run on both the Android emulator for Galaxy_Nexus_API_24 and actual Android smart phone.

Summary.
The initial aim was to develop a single platform that could capture the voice being transmitted over the Global System for Mobile Communication (GSM) and tamper it in a way that additional security was added to it.It is worth mentioning that security ciphers are already implemented on the communication being conducted over the GSM network.These include the A5/1, A5/2 and A5/3, but attempts at deciphering the algorithms pertaining to these ciphers have been successfully carried out.This raises a pertinent question that if these algorithms can be cracked, does GSM provide us with a foolproof system of communication, which is secure from all aspects?Therefore, it becomes necessary for GSM users to devise a system of communication which provides indigenous security through GSM.
As a result of this work, a successful approach has been concluded for secure voice communication over the GSM.Further work can now be carried out for developing this approach into a viable, real time voice communication solution for GSM users.The work suggests that a suitable platform for secure GSM voice communication should first record the audio message to be transmitted.For example, in this work, the audio message was recorded in the wav format.The recorded audio file can then be encrypted through an appropriate cryptographic algorithm.GSM can then be used to transmit this encrypted data.
At the receiving end, only the text i.e. the random integers generated from the actual audio file will be received after which the process of decryption can be carried out according to the specific algorithm used.Once the process of decryption is complete, the regenerated bytes can then be used to create an audio file.
At this point, a topic of utmost concern would be the quality of the voice generated.Also, using this approach would present a drawback of time delay.Whilst developing this approach, it would be necessary to keep the time delay to a minimum.
The algorithm used for this work was the Advanced Encryption Standard.After the proposed suggestions are implemented, the choice of the cryptographic algorithm would have to be sorted out.An appropriate algorithm, preferably a stream cipher, will have to be chosen for live voice encryption.

Problems Related To Real Time Audio Encryption Over
The GSM Network.It is important to incorporate in this work some of the key issues that can hinder the progress towards real time encryption and transmission of voice being exchanged through the GSM.Firstly, the encryption algorithm needs to be decided for encrypting the real time voice.In this work, an open source Advanced Encryption Standard was implemented in Java.After the choice of the cryptographic algorithm, the questions related to the key generation and sharing need to be addressed.It would also be necessary in future work to match the voice generated after decryption with the one that was encrypted.
Another important fact that needs to be considered is that no open source Android application exists that provides encryption of real time voice over the GSM.This is primarily because GSM uses a lossy algorithm, which makes the encryption of real time audio extremely difficult.
The lossy algorithm is based on the Linear Predictive Coding (LPC).The LPC helps to predict the upcoming voice by analyzing the previous voice samples.The LPC filter literally filters out all of the real time voice encryption.This is because as per its model, it considers all of the encrypted data as noise.So, any step forward in this respect should incorporate a method of cheating the LPC filter.
One method available includes the use of GSM codebooks [4].The basic proposition, in this case, is to split the encrypted voice into three parameters before transmission over the GSM.The three parameters comprise the pitch energy and Linear Spectral Frequency (LSF).
Another question that needs to be addressed is the hardware implementation of this work.GSM communication has a well-established hardware, which gives us an indication towards the fact that this work may be hindered in future due to the hardware limitations.In such a case, it may become necessary to have customized hardware for secure voice communication.

Recommendations.
Based on the results of this project, the first step forward is to create a single Android application combining all the different steps indicated in Fig. 1.However, there would still be need to proceed further for real time voice encryption.
A major focus of this project was on the Android Operating System (OS), which is why all of the work was carried out with the help Android Studio and NetBeans.Both are Java based platforms.The reason behind choosing the Android OS was mainly that it provides an open source platform, which not only includes the liberty of compiling applications as per one's desires and requirements, but also the kernel of the OS is available.A more invasive method of achieving the target can be the exploration and development of the Android OS in Linux/ Ubuntu.In the process, additional security features may be added with respect to the voice communication over the GSM network.This may give rise to a customized Android OS for particular GSM users.