Design and Implementation of an Encryption Architecture for APCO P25 Using an Open Source SDR Platform in an OSSIE Environment
Total Page:16
File Type:pdf, Size:1020Kb
UC San Diego UC San Diego Electronic Theses and Dissertations Title Design and implementation of an encryption framework for APCO P25 using an open source SDR platform in an OSSIE environment Permalink https://escholarship.org/uc/item/52w2h896 Author Nwokafor, Anthony Anelechi Publication Date 2012 Peer reviewed|Thesis/dissertation eScholarship.org Powered by the California Digital Library University of California UNIVERSITY OF CALIFORNIA, SAN DIEGO Design and Implementation of an Encryption Framework for APCO P25 using an open source SDR platform in an OSSIE Environment A Thesis submitted in partial satisfaction of the requirements for the degree Master of Science in Electrical Engineering (Signal Image Processing) by Anthony Anelechi Nwokafor Jr. Committee in charge: Professor William Hodgkiss, Chair Professor Tara Javidi Professor George C. Papen 2012 Copyright Anthony Anelechi Nwokafor Jr., 2012 All rights reserved. This Thesis of Anthony Anelechi Nwokafor Jr. is ap- proved, and it is acceptable in quality and form for pub- lication on microfilm and electronically: Chair University of California, San Diego 2012 iii DEDICATION To my best friend, Ariel J. Willingham. iv TABLE OF CONTENTS Signature Page.................................. iii Dedication..................................... iv Table of Contents.................................v List of Figures.................................. vii List of Tables................................... viii List of Abbreviations............................... ix Acknowledgements................................ xi Abstract of the Thesis.............................. xii Chapter 1 Introduction............................1 1.1 What is APCO P25?....................2 1.2 Overview...........................3 1.2.1 Background.....................3 1.2.2 Encryption Framework...............3 1.2.3 Summary......................3 Chapter 2 Background............................4 2.1 Encryption..........................4 2.2 Software Defined Radio...................5 2.3 SDR Hardware Environment................7 2.3.1 GPP.........................8 2.3.2 Overo Tide COM and Tobi Expansion board...8 2.3.3 USRP N210 and WBX RF Daughterboard....9 2.4 SDR Software Environment................ 10 2.4.1 OSSIE SCA Implementation............ 10 2.4.2 DVSI AMBE+2TM Vocoder Library........ 11 2.4.3 OpenEmbedded, BitBake and TI DSP/BIOS Link 13 2.4.4 Universal Hardware Driver (UHD) library.... 13 2.5 P25 Implementation.................... 14 2.5.1 Development of components and modifications.. 14 Chapter 3 Encryption Framework...................... 18 3.1 P25 Encryption Specifications............... 18 3.1.1 P25 Encryption Schedule.............. 20 3.2 Architecture and Design.................. 23 v 3.2.1 GPP (Host PC) Encryption Component..... 24 3.2.2 OMAP Encryption Component.......... 26 3.3 Implementation....................... 28 3.3.1 OpenSSL Cryptography Library......... 29 3.3.2 Phase One: Pseudo Code............. 30 3.3.3 Phase Two: As Standalone executable...... 33 3.3.4 Phase Three: On SDR Platform......... 35 3.4 Integration.......................... 43 3.5 Testing............................ 44 3.5.1 Functional Tests.................. 44 3.5.2 Performance Tests.................. 45 3.6 Issues and Fixes....................... 46 Chapter 4 Summary............................. 48 4.1 Future Work......................... 49 4.1.1 Encryption Framework Enhancements....... 50 4.1.2 Alternate SDR Architectures............ 50 4.1.3 Key Management.................. 51 4.1.4 TripleDES and other encryption algorithms.... 51 Appendix A Source code............................ 53 A.1 Standalone Implementation of Encryption Framework. 53 A.2 P25 Implementation with Encryption on an open-source SDR platform in OSSIE environment........... 53 Bibliography................................... 54 vi LIST OF FIGURES Figure 2.1: Generic SDR Architecture.....................6 Figure 2.2: SDR Hardware and Software Environment............7 Figure 2.3: GPP Components.........................8 Figure 2.4: Gumstix Boards..........................9 Figure 2.5: USRP Components.........................9 Figure 2.6: Block Diagram of P25 Implementation without Encryption.. 16 Figure 3.1: Output Feedback (OFB) Mode Encryption............ 19 Figure 3.2: P25 Superframe.......................... 20 Figure 3.3: P25 LDU1 and LDU2 frame details................ 21 Figure 3.4: Block Diagram of P25 Implementation with Encryption.... 24 Figure 3.5: Encryption Device Block Diagram................ 26 Figure 3.6: Omap Encryption Component Block Diagram......... 27 Figure 3.7: State machine in ARM and DSP Encryption components.... 38 Figure 3.8: OFB Mode XOR operation workaround............. 41 Figure 3.9: Data path of Encrypted Voice Transmission........... 42 vii LIST OF TABLES Table 3.1: P25 Superframe Encrypted Information............. 22 Table 3.2: P25 Encryption Framework Timing Performance Measurements 46 viii LIST OF ABBREVIATIONS AES Advanced Encryption Standard ALGID Algorithm ID AMBE Advanced Multiband Excitation APCO Association of Public-Safety Communications Officials-International CF Core Framework COM Computer On Module DDC Digital Down-Converter DES Data Encryption Standard DUC Digital Up-Converter DVSI Digital Voice Systems, Inc. ES Encryption Sync FDMA Frequency Division Multiple Access GPP General Purpose Processor HDU Header Data Unit IMBE Improved Multi-Band Excitation JPEO Joint Program Executive Office JTRS Joint Tactical Radio System KID Key ID LC Link Control LDU Logical Link Data Unit LSD Low Speed Data MI Message Indicator OE OpenEmbedded OFB Output Feed Back P25 Project 25 PTT Push-To-Talk SCA Software Communication Architecture SDR Software Defined Radio TDEA Triple Data Encryption Algorithm TDES Triple DES ix TDMA Time Division Multiple Access TDU Terminator Data Unit TIA Telecommunications Industry Association UHD Universal Hardware Driver USRP Universal Software Radio Peripheral VC Voice Codeword x ACKNOWLEDGEMENTS First, I would like to thank my Lord and Savior Jesus Christ for all the wonderful blessings he's surrounded me with. I would like to acknowledge my adviser, Dr. William S. Hodgkiss for the time and effort he put into advising me on this work. Thank you. It is very much appreciated. I would also like to acknowledge the input from the WISE Group at California Institute for Telecommunications and Information Technology (CALIT2), specifically Per Johansson, Zhongren Cao, Wenhua Zhao, Jeff Cuenco and Justyn Bell. Their input and help was instrumental in figuring out various aspects of integration and debugging the encryption framework. A big thanks to Miss. Ariel Willingham (Pookie) for her understanding, support and companionship throughout my years in school. I could not have asked for a better "best friend". I would love to acknowledge and thank my family; Dad, Mom, Chioma, Kelechi and Ugochi, for their love, concern, prayers, help and support, everyday. I would like to acknowledge all my friends and well wishers who through their concern, advice, prayers and moral support have made my journey through Graduate school memorable. Thank you all so much! Last, but not least, I would like to acknowledge that this work was sup- ported by the Joint Program Executive Office (JPEO) of the Joint Tactical Ra- dio System (JTRS) through SPAWAR Systems Center Pacific under contract no. N66001-08-D-0155/T.O.0001 xi ABSTRACT OF THE THESIS Design and Implementation of an Encryption Framework for APCO P25 using an open source SDR platform in an OSSIE Environment by Anthony Anelechi Nwokafor Jr. Master of Science in Electrical Engineering (Signal Image Processing) University of California, San Diego, 2012 Professor William Hodgkiss, Chair Secure and reliable communication is one of the most important issues in the public safety domain. For public safety and emergency response organiza- tions such as the Police and Fire departments, reliability and security of their communications is fundamental and requires both authentication of users as well as encryption of voice and data communication. Project 25 (P25) public safety waveform is the waveform of choice for most public safety and emergency response organizations in Northern America and includes features to enhance reliability and security of communications. This thesis describes the design and implementation of an encryption framework for a P25 waveform in a Software Communication Ar- chitecture (SCA) environment on an open-source Software Defined Radio (SDR) xii platform. The design and implementation of the framework which starts with a high level modeling of its state machine using pseudocode, goes through a bit- true intermediate implementation and ends with the final cycle-true and bit-true platform-specific implementation is discussed. This thesis proposes an encryption framework that is feasible for implementing the P25 encryption specifications and can be rapidly prototyped in an SCA environment on a cheap off-the-shelf SDR platform involving multiple processors. xiii Chapter 1 Introduction Public safety and emergency response operations often require coordination across multiple government and civilian agencies. These operations are often ge- ographically distributed, as different teams or agencies could be spread out over the region of operation carrying out specialized tasks while the command center may be situated in a remote location. Since different participating agencies may use different communication systems, a communication bottle neck may develop that can negatively impact