Android API-based voice recording system in emergency situations
Jeong-Kyung Moon & Jin-Mook Kim
Multimedia Tools and Applications An International Journal ISSN 1380-7501 Multimed Tools Appl DOI 10.1007/s11042-016-3644-3
1 23
Your article is protected by copyright and all rights are held exclusively by Springer Science +Business Media New York. This e-offprint is for personal use only and shall not be selfarchived in electronic repositories. If you wish to self-archive your article, please use the accepted manuscript version for posting on your own website. You may further deposit the accepted manuscript version in any repository, provided it is only made publicly available 12 months after official publication or later and provided acknowledgement is given to the original source of publication and a link is inserted to the published article on Springer's website. The link must be accompanied by the following text: "The final publication is available at link.springer.com”.
1 23
Author's personal copy Multimed Tools Appl DOI 10.1007/s11042-016-3644-3
Android API-based voice recording system in emergency situations Jeong-Kyung Moon 1 & Jin-Mook Kim 1
Received: 20 May 2015 / Revised: 18 May 2016 / Accepted: 26 May 2016 # Springer Science+Business Media New York 2016
Abstract Smartphones are evolving in various ways, recording technology has also developed. However, most of research is the study of the Call Record and high quality. This paper focuses on prepare to emergency rather than to quality. The system uses the Android APIbased recording technology. Voice upload system can save the voice recording by running application. And upload to the web server after encrypted. Upload data includes location information together with status information. Location information refers to information received from the GPS. The state information is a input value when pressing shortcut button. In the case of an emergency situation, a message is sent to the pre-registered PC or smart phone. This may reduce the risk situation. After the accident there can be help to resolve the incident by analysis of the accident’s last recording with LBS information. Audio files and location information was guaranteed confidentiality using the LEA algorithm. And ensure the integrity by using the HASH algorithm and SALT. Keywords Voice recording . LBS . Push . Voice upload . Android API
1 Introduction Smartphones has a wider range of service to the development of a wide range of applications. Smartphone function of Call Record or record with reality basically is a feature commonly used. In this paper, we use a smartphone to record and recording techniques. And at the same time to be stored in the cell phone to develop a system of uploading in connection with the server In particular, a smart phones which has been recently introduced GPS (Global Positioning System) receiver, a Bluetooth communication module, Wi-Fi communication module, NFC (Near Field Communication) module, the acceleration and the gyroscope sensor, the
* Jin-Mook Kim
[email protected]
1
Division of IT Education, Sunmoon University, 70, 221 bun-gil, Sunmoon-ro, Tangjeon-myeon, Asan-si, ChungNam 31460, South Korea
Author's personal copy Multimed Tools Appl
earth magnetic sensor, height sensor and the like are built. Use this function to be uploaded with the recording information and the location information [7]. The uploaded data can be prepared for the cell phone damage or loss. You can escape even if there is situations when you are recording a dangerous situation because of you have preregistered guardians. This can be used as a mechanism to protect the personal safety when exposed to the dangerous. After the accident, the system is also expected to be used to arrest the perpetrators with the last recorded status and location information. In this paper, Section 2 introduces the LBS system and the LEA algorithm and push technology as related research. Chapter 3 explains step-by-step system of Auto Voice Upload. Chapter 4 describes the screen design and Section 5 describes the conclusions of this paper.
2 Related research 2.1 LBS (location based service) LBS is identified in real-time location information of the mobile communication terminal through the collected positioning technology. Also, refers to all types of services provided for user is used and the technology used to it. Location positioning system for measuring the position information can be separated by a combination of network-based, satellite-based signals (GPS), WiFi-based and mixed signal based positioning. Location tracking method of the smartphone is GPS using method that accept incoming data from satellite and method for measuring a position through the carrier base [2]. GPS can be obtained from the threedimensional velocity information and accurate time even less margin of error regardless of the weather. Further, using the DGPS and CDGPS can be reduced to less than 1 cm [13]. Table 1. It shows the latitude, longitude, altitude and speed information sample.
2.2 LEA algorithms LEA (Lightweight Encryption Algorithm) LEA is an encryption algorithm for a smart phone which require high-speed, light-weight and low power. It performs the decryption of 128bit block units and it can use the secret key of 128, 192 and 256bits. Number of rounds varies by bit that has 24times when 128bits, 28times when 192-bit and 32times when 256bits. LEA algorithm operate only three operations that Addition, Rotation and operates XOR [3]. Therefore, the operation speed is fast and the key schedule is very simple. In addition, the light can be implemented because it does not use the S-box [6]. Table 2 shows explanation of terms.
Table 1 The latitude, longitude, altitude and speed ID
Time
Latitude
Longitude
Altitude (fit)
Speed
356885061281234 356885061281234
11–10 11–15
36.799575 36.799013
127.070067 127.073830
19.7 12.3
0.01 0.01
356885061281234
11–20
36.799144
127.076834
13.2
0.02
356885061281234
11–25
36.798113
127.077918
12.9
0.01
Author's personal copy Multimed Tools Appl Table 2 Explanation of terms Term
Explanation
RKi[j]
Round key. Each round consists of 32 bits
δ[i] ⋅
Round constants used in the key schedule. δ[0] ~ δ[7] ⋅ ⋅
Xi
Value of the i-th round. The encryption/decryption process when the intermediate value. (Xi = Xi[0]||Xi[1]||Xi[2]||Xi[3])
x⊕y⋅ x⊞y⋅
Exclusive OR Addition in modulo 232
x⊟y⋅
Subtraction in modulo 232
ROTLi(x)
x cyclic shift to the left by i-bits
ROTRi(x)
x cyclic shift to the right by i-bits
LEA encryption process is encrypted using 192-bit round key obtained through the key scheduling. 128-bit block is divided four words 32-bits. This process after the Addition, Rotation, XOR operation to the proceed to the next round. The figure shows an encryption process. LEA decoding process and decodes the reverse direction using a 192-bit round key obtained through the key scheduling [4]. Figure 1 shows process of LEA encryption round.
2.3 Recording technology Audio signal compression codecs are MP3, AAC, OGG, and WAV. MPEG (Moving Picture Expert Group) Audio coding techniques among various compression codecs can be divided into a high quality of general-purpose music signal system and audio signal aimed for communication system. MP3 is today’s audio standard format that compressed digital audio signal with high efficiency as a standard for encoding. MPEG-4 audio includes that audio encoding, a mobile Internet communication, speech synthesis (Text To Speech), and music synthesis (MIDI, Structured Audio). An audio encoding method has a time frequency transform coding scheme (audio coding), the main voice signal CELP (Code Excited Linear Prediction) coding [10], parametric coding (a low bit speech and music), and the hierarchical coding (a wide range of bit rates into a single bit stream response), etc [14]. Figure 2 shows audio coding
Fig. 1 Process of LEA encryption round
Author's personal copy Multimed Tools Appl
Fig. 2 MPEG-4 audio coding area
The recording technology is degraded by the noise. Therefore, various noise reduction beamforming techniques have been studied to ensure a stable performance. Among the studies, particularly GSC (generalized side lobe canceller) beamforming algorithm is known that the LCMV (linearly constrained minimum variance) algorithms equivalent functionally decomposition forms [5].
2.4 Push technology PUSH server is can send to desired server the content without a request from the client. Such a transmission scheme can reduce the search time and effort on the client side [1] [11]. How to implement the PUSH function on the HTTP server is a PULLING, LONG PULLING and STREAM, etc. PULLING method is a way to ask the client that the content delivered repeatedly to the server. LONG PULLING is a way to wait until server response that the client asked once to the server. STREAM method is a way to send wants contents anytime that the client requests contents to the server once. Representative PUSH service used by the mobile has a SMS (Short Message Service), MMS (Multimedia Message Service), APNS (Apple Push Notification Service) of apple and C2DM (Cloud to Device Messaging) of Google.
Fig. 3 Data Delivery Options
Author's personal copy Multimed Tools Appl
Fig. 4 System Architecture
Figure 3 shows the PUSH transmission mode as a periodic method and Non-Periodic method. Then divide each show Unicast and Multicast. There are multicast AMP (Asynchronous Multicast Push) methods of non-periodic and multicast CMP (Continuous Multicast Push) method of periodic [8] [9]. Also, Virtualized server is vulnerable to security. ITU-T, CSA, ENISA has issued a number of risks for computing security threats [12].
Fig. 5 Android API-based recording
Author's personal copy Multimed Tools Appl
3 The proposed system 3.1 Structure of the system Voice Upload System has three levels. The first step is to proceed with the Android API-based recording from the app on your smartphone. In this step, the process stores the current location information from the GPS. At this time, the state information is divided into a general recording and emergency recording according to a user’s state. If you are in danger, upload status information with a value of 1 and record files stored on your smartphone. Voice Upload System has three levels. The first step is to proceed with the Android APIbased recording from the app on your smartphone. In this step, the process stores the current location information from the GPS. At this time, the state information is divided into a general recording and emergency recording according to a user’s state. If you are in danger, upload status information with a value of 1 and record files stored on your smartphone. The second step is to upload the stored information to the server. Smart phone and the server sends an encrypted data that audio file, state information and location information, etc. This is to ensure the protection and integrity of interceptions. The third step is to download the information stored in the event of receiving the permission emergency. Download file can play; can see the location information and the recording information. Figure 4. It shows system architecture.
3.2 Step-by-step functional design 3.2.1 Android API-based recording system For normal recording or Android API-based call recording and voice recording. Connect Manager consists of Telephony Manager and contacts stored. Telephony Manager provides incoming and outgoing call information. Contacts manager provides the address book stored on the smartphone. Device Manager consists of Media Player for voice recording and buffer
Fig. 6 Smartphone-server transfer
Author's personal copy Multimed Tools Appl
Fig. 7 Operating procedures
for recording data management. Sound Recoding manages the recording. File Manager manage that the storage and voice data compression. This step is divided into two how to record. It is separated that general recording when you run the application and emergency recording when you are dangerous. General Recording is done by clicking on the button in the application. The emergency recording is transferred to a smartphone or PC audio recordings that are stored in advance. The emergency recording will start recording by pressing the preset button. Figure 5 shows the Android API-based record structure.
3.2.2 Smartphone-server transfer step Recorded file using a smart phone app is transferred to the server over the wireless network. The recorded file is sent to the server search, playback, and can be downloaded. Figure 6. It shows a transfer module between the smart phone and the server.
Table 3 Explanation of Terms Term
Explanation
Ls_key
Secret key using LEA algorithm
Key
Session key
Vo_file
Audio file
Lb_file St_info
Latitude, longitude, altitude, speed information file State information files, normal/emergency
U_Info
User information (user ID, user password, the device ID, Timestamp)
F_Info
File information (voice recording file, location information, state information, Timestamp)
Author's personal copy Multimed Tools Appl
Android API module is required to record a file. LBS sensor module is to get information that time, latitude, longitude, altitude and speed from the GPS. In this paper, for encryption used the light LEA encryption algorithm using by smartphones. This will be preventing even though confirm the contents of recorded file or location from intercept data. In addition, by using the Hash algorithm to ensure the integrity. When the server is an emergency occurs or there is a download request of the data, make sure that the device is the registration. This means that the pre-authentication is required for the device. If there is a download request will be granted only for the national authorities of the material.
3.3 System operation procedures In this paper, Operational procedures of the system proposed are divided into three steps. Step 1 is a step of pre-authentication device. Step 2 is a file transfer step. Step 3 is proceeding manually or automatically. If the status information transmitted from the second step is emergency situation automatically transmitted. If you do not download from the authentication device passively. Figure 7 is step-by-step operating procedures. This paper has its constraints. The system of the present paper is LEA algorithm operates on a 32-bit environment and extracts LEA-128bit round key. Therefore, in each round key is composed of four 32-bit word, four rounds is executed.
Fig. 8 Main display
Author's personal copy Multimed Tools Appl
Figure 7 shows a system operating procedures. The system is divided into three parts. Table 3 is descripting of the terms. The first step is that each device request the authentication request to the authentication server and receives the token. Table 3 shows Explanation of terms. The first step is a device authentication phase. 1) Authentication requests ENCkey {U_Info | (U_Info)’} * U_Info = User_ID | User_PWD | Device_ID(n) | TS U_Info is listing information that User ID, Password, Device_ID and Timestamp. (U_Info)’ is a HASH value using the MD5 algorithm. It is transmits that two data encrypted issuing a temporary session key. Authentication Server proceeds authentication to decode the data is received. And stores user information in a table. 2) Response ENCkey {Ls_key (U_Info) | Sa(s_key) | (s_key)’ | TS} The authentication server generates a secret key after checking the authentication of the device. The server encrypts U_info using secret key created by LEA algorithm. The generated secret key performs SALT. And generate a HASH value of the generated secret key. The server lists the encrypted information, SALT secret key, and the hash value. And it sends after encryption as the session key once again.
Fig. 9 Recording screen
Author's personal copy Multimed Tools Appl
SALT is an algorithm that creates equal length to put any characters before or after the password as one-way function. The hash value is a method for compressing a message. Hash will prevent counterfeiting and tampering. The second step is a file upload phase. 3) File storage request ENCkey {Ls_key (F_Info) | (F_Info)‘ | TS } * F_Info = Vo_file | Lb_info | St_info | TS The listed data are encrypted with the algorithms LEA. The listed data includes a voice file, the location information received from the GPS, state information for determining whether normal or emergency and Timestamp. And it transmits the encrypted session key to listed create a HASH value for F_info. The status information is stored in the value 1 in case of emergency. Otherwise is stored in the value 0. This is ensured integrity if two values match with the HASH value and the decrypted F_info value. 4) Judgement The server confirms that the transmitted information has not been tampered with. And the server performs an analysis to St_info value. At this time, if the case of an emergency event stores a 1 and the other stores a 0. IF St_info is 1, Server is stored the value of the received data and then will be executed 6) step. 5) Upload encrypted file ENCkey {Ls_key (F_Info) | (F_Info)‘ | TS }
Fig. 10 File list
Author's personal copy Multimed Tools Appl
Fig. 11 Option
* F_Info = Vo_file | Lb_info | St_info | TS Upload until the end of file. The third step is the file download phase. 6) ENCkey {SMS_ Device_ID(-n) | Ls_key (F_Info) | (F_Info)‘ } If St_info value is zero, it is possible to download whenever there is a request from the preregistered devices. But if St_info value is 1, the Dangerous situation is transferred to the preregistered devices after save the data. The server is sends the encrypted data with the session key to the pre-registered devices. This data includes SMS, encrypted F_info and contains the HASH value of F_info. 7) DECkey {SMS_ Device_ID(-n) | Lkey (F_Info) | (F_Info)‘} Device has received the data can be confirmed after decoding by the session key to SMS and file information. The proposed method in this paper were encrypted using the LEA algorithm to ensure the information can be seen even if the information leaked by the interception. Further, the HASH + SALT algorithm was used to demonstrate the integrity of the data. These algorithms are lighter to be used in smart phones.
Fig. 12 Structure of data
Author's personal copy Multimed Tools Appl
4 Screen design of proposed system There are three ways Recording using the smart phone. The first is to run the application and select the BStarting Recording^ button to record the current situation. The second to run the application and select BEmergency Recording^ button to record the dangerous situation. This is uploaded to the server and then judgment to whether emergency. It sends data that emergency letter and recorded files to the pre-registered PC or smart phone. This is emergency recoding using shortcut button when a dangerous situation arises. This feature is only available for Android 4.0 and later versions. First screen of the app have four buttons. START RECORDING button is the general recording. Only, the file upload function was added after the voice recording. EMERGENCY RECORDING button is use to inform the dangerous situations after voice recording. FILE LIST button is use to upload the files recorded on the smart phone or download the files stored on the server. Press the OPTION button to set the network settings, changing the password and settings, emergency numbers pre-registered, audio quality, etc. Fig. 8. It shows first screen of running app. Pressing the START RECORDING button is displayed on the screen as the file name and save the time to start recording. During recording, you can use the Pause and Save button. If you press the stop button saved and moved to the main screen automatically. Figure 9, It shows the recording screen. Pressing the FILE LIST button display a list of files containing the play button on the right. When the recorded file is played, the media player runs on the bottom of the screen. Also, it has a check box to the left for each files. Selected file using the checkboxes is uploaded to the server. Figure 10, It shows the file list screen. The OPTION button has five different setting. In the Audio Quality button, you can select value between 44.1 and 192 khz sampling. Password button is used to set permissions to view the file list and play. The Network settings button sets whether or not to upload when cannot use Wifi. Emergency numbers Register^ button registers a pc or smart phone number to transfer the emergency. Figure 11, It shows the option setting screen. The file is stored on a server managed by a Database. It shows structure of data stored on the server. The Database structure consists of condition information, the date and time, location
Fig. 13 Recorded file structure
Author's personal copy Multimed Tools Appl
information, record file, telephone number, incoming or outgoing, and a permission order. Figures 12 and 13, it shows the record file structure in the web server. For each component was described below. – – – – – – – –
St_info: 1 or 0 Date/Time: record file’s date/time LBS info: Latitude, longitude, altitude, motion velocity Recording file: file File info: file size, file type, comments Phone number: Phone number when you upload the Call Recording Incoming call: Incoming call or Outgoing calls Rights: Authenticated user permissions
5 Conclusion It has been using in various ways that smartphone recording. Apps that are currently available are being published around the high quality and secret recordings. This paper focused as to protect the recording files in preparation for the damage or loss of the smartphones. The most important is that it uploads the recorded file to the server automatically. If the smartphone user is in danger inform dangerous situation for the accident to the protector. After accident, it can use download the recorded files in accident emergency situations and the location information by the cooperation of law enforcement agencies. In this paper, provide a security service of Confidentiality, integrity, authentication. Using the LEA algorithm ensures confidentiality. Using the SALT and HASH algorithm ensures integrity. And it ensures authenticate that device and user by the pre-authentication. In this paper, we found that the lack of a linkage of the server.
References 1. Bozdag E, Meshbah A (2007) A comparison of push and pull techniques for Ajax, WSE 2007. 9th IEEE Int Workshop; pp.15–22 2. Chiu H-H, Tang Y-J, Wang M-S (2015) Using dead reckoning, GPS and fingerprinting for ubiquitous positioning, ubiquitous computing application and wireless sensor. LNEE 331:31–43 3. Deukjo H, Jung-Keun L, Dong-Chan K, Daesung K, Kwon Ho R, Dong-Geon L (2014) LEA: a 128-Bit block cipher for fast encryption on common processors. Inf Security Appl Lecture Notes Comput Sci 8267: 3–27 4. Donggeon L, Dong-Chan K, Daesung K, Howon K (2014) Efficient hardware implementation of the lightweight block encryption algorithm LEA. Sensors 14(1):975–994 5. Gannot S et al (2001) Signal enhancement using beamforming and nonstationarity with applications to speech. IEEE Trans Signal Process 49(8):1614–1626 6. Hongbo W, Zheng H, Hu B, Tang H (2013) Improved lightweight encryption algorithm based on optimized S-box, Comput Inf Sci (ICCIS), 2013, pp. 734–737 7. Kang E, Kim J (2013) SmartPhone recording system for mobile office environment. Korean Contests Assoc 13(9):1–9 8. Nonnenmacher J, Biersack EW (1997) Asynchronous multicast push: AMP. Proc Int Conf Comput Commun 9. Pablo R, Biersack EW (1998) Continuous multicast push of web documents over the internet. Network, IEEE 12(2):18–31 10. Pisanski K, Fraccaro PJ, Tigue CC, O’Connor JJM, Feinberg DR (2014) Return to Oz: voice pitch facilitates assessments of men’s body size. J Exp Psychol Hum Percept Perform 40(4):1316–1331
Author's personal copy Multimed Tools Appl 11. Pour G (2000) The push to make software engineering respectable. IEEE Comput 33(5):35–43 12. Subashini S, Kavitha V (2011) A survey on security issues in service delivery models of cloud computing. J Netw Comput Appl 34(1):1–11 13. Tilson D, Lyytinen K, Baxter R (2004) A framework for selecting a location based service (LBS) strategy and service portfolio, in Proc. 37Annual Hawaii Int Conf Syst Sci 14. Tsai W-H, Ma C-H (2014) Speech and singing discrimination for audio data indexing, Big Data (BigData Congress), 2014 I.E. International Congress; pp.276–280
Jeong-Kyung Moon received the MS degree in Electronic Commerce from Dankook University in 2006. And she received the PhD. Candidate in Computer science from College of Engineering/Kongju National University in 2013. She is a professor of Contract in Division of Information Technology Education, Sunmoon University currently. She’s research interests includes Cloud Computing, Information security, Network security and Authentication.
Jin-Mook Kim received the Ph.D in computer engineering, computer security and authentication from the Kwangwoon University in 2006. Currently, He is a assistant professor in the Division of IT Education at Sunmoon University in Korea. His research interests include network control architecture, security engineering, authentication on the network, and Smart-phone security.