940 likes | 2.12k Views
Mobile Handsets: A Panoramic Overview. Dong Xuan Associate Professor CSE Dept., The Ohio State University. Outline. Introduction Handset Architecture Handset Operating Systems Networking Applications Security Risks and Mitigation Strategies. What Is A Mobile Handset?.
E N D
Mobile Handsets: A Panoramic Overview Dong Xuan Associate Professor CSE Dept., The Ohio State University
Outline • Introduction • Handset Architecture • Handset Operating Systems • Networking • Applications • Security Risks and Mitigation Strategies
What Is A Mobile Handset? • A mobile handset (handset) is an electronic device that provides services to users, e.g.: • Managing address book • Scheduling calendar • Cellular telephony • Accessing Internet, email • Handsets include smartphones and PDAs Example handsets: Apple iPhone, BlackBerry Storm, Palm TreoPro
Handsets: Your Next Computer? • Handsets’ small form factor, mobility have yielded meteoric sales [1] • 3.3 billion mobile phone subscriptions as of Jan. 2008 • 2.7 billion subscriptions correspond to one person; some people have multiple phones! • Rapid replacement rate: young adults replace phones every 6 months in South Korea [1] • These statistics are just for phones • Your handset: your next computer? [2]
What’s Inside a Mobile Handset? Source: [3]
Handsets use several hardware components: Microprocessor ROM RAM Digital signal processor Radio module Microphone and speaker Hardware interfaces LCD display Handset Architecture (1)
Handset Architecture (2) • Handsets store system data in electronically-erasable programmable read-only memory (EEPROM) • Service providers can reprogram phones without requiring physical access to memory chips • OS is stored in ROM (nonvolatile memory) • Most handsets also include subscriber identity module (SIM) cards
Handset Microprocessors • Handsets use embedded processors • Intel, ARM architectures dominate market. Examples include: • BlackBerry 8700, uses Intel PXA901 chip [4] • iPhone, uses Samsung ARM 1100 chip [5] • Low power use and code size are crucial [3] • Microprocessor vendors often package all the chip’s functionality in a single chip (package-on-package) for maximum flexibility
Example: The iPhone’s CPU • The iPhone: a real-world mobile handset [6–7] • Runs on Samsung S3C6400 chip, supports ARMv6 architecture • Very few details are known about the “ARM Core”, esp. given Apple’s secrecy • Highly modular architecture • Similar to Apple’s iPod Touch, which lacks telephony capability [8] Source: [6]
SIM Cards • They include their own microprocessor and 16 KB – 4 MB EEPROM • They come in two sizes • Their versatility arises from portability of information • SIM card identifies subscriber to network • Stores personal information, address books, messages, service-related information
Other Memory Cards • Some handsets include other peripheral memory cards: • Compact Flash • Multimedia Card • Secure Digital • Handsets synchronize with a computer • Nowadays, computers include slots of various sizes to hold these memory cards
Currently, handsets run several OSes: Symbian OS iPhone OS (an embedded version of OS X) Windows Mobile BlackBerry OS Google Android Platform (based on Linux) With the exceptions of Symbian and Android, these OSes are proprietary [9–10] Telecom carriers frequently “lock down” handset firmware, OSes to prevent user modifications Handset Operating Systems
Handset OS Usage • According to British analysis firm Canalys, handset OS usage in 3Q 2008 had the following ranking (most to least): [11] • Symbian OS • iPhone OS • BlackBerry OS • Windows Mobile • Linux (Android, etc.) • Others • iPhone OS surged ahead of BlackBerry OS, but with new BlackBerries and Android phones, this ranking may easily change in the future [11] • We’ll now examine each OS individually
Symbian OS • Dominant OS in the mobile handset market • Runs exclusively on ARM processors • Owned by British firm Symbian Ltd. • Descendant of Psion EPOC OS (dev. in 1990s) • Sony Ericsson, Nokia, et al. bought shares in the firm until Nokia bought Symbian in 2008, formed Symbian Foundation to further future open handset development [12] • Nokia plans to open-source the OS by 2009 [9]
Design of Symbian OS • Based on Psion EPOC; desktop OS features include: [13] • “Bare-bones” microkernel (nanokernel) • Pre-emptive multitasking • Memory protection • Handset-centric design, can operate several months without reboot • Supports multiple UIs based on smartphone form factor (e.g., 320 × 240)
Symbian OS Devices • Numerous handsets use Symbian OS; UIs largely based on manufacturer & device • Nokia S60: includes J2ME, std. UI (mostly Nokia phones) • Nokia S80: QWERTY keyboard, Web browser, enterprise office-doc. support (older Nokia Communicators) • Nokia S90: used only on Nokia 7710 • UIQ: Sony Ericsson/Motorola GUI platform used primarily on those companies’ handsets • FOMA platform: closed-dev. software platform used by handsets on NTT DoCoMo’s network (Japan)
Symbian OS v9 Architecture Source: [15] (heavily modified)
Symbian OS Development • Native language is C++ • Nokia provides free Eclipse-based Carbide.c++ development tools, Carbide.vs Visual Studio plugin • Mac & Linux development is possible • Can program in many other languages: C, Java, Ruby, Python, Perl, OPL, Visual Basic, Simkin • Applications needing any capabilities beyond bare minimum must be cryptographically signed (see http://www.symbiansigned.com) • Can also program in Adobe Flash Lite (mobile version of Flash)
iPhone OS • Runs on both the iPhone and iPod Touch • Variation of Mach microkernel-based OS X that fits in 512 MB flash memory, runs on ARM architecture [21] • Four abstraction layers: Core OS, Core Services, Media, Cocoa Touch [22] • Core Animation and PowerVR MBX 3D hardware provide interface animations • 320 × 480 LCD display that supports multi-touch gestures
iPhone Developer Program • iPhone Developer Program provides dev. tools, iPhone emulator, means to upload to App Store (SDK) • To download SDK, you must apply to be a member, pay fees • Standard Developer: $99 • Enterprise Developer: $299 • Exception: Apple’s free iPhone Developer University Program for higher-ed. institutions [23] • SDK only runs on Mac OS X Leopard on Intel-based Macs (go figure)
iPhone Web App Development • You can develop Web apps for iPhone – so long as they run on Safari [24] • Safari features: [25–26] • Auto-resizes Web pages to fit browser size • Multi-touch functionality • XHTML 1.1, CSS 2.1, JavaScript, W3C DOM Level 2, AJAX technology, cookies, … • Does not support Flash or Java • iPhone Web apps should: • Minimize user awareness of browser experience • Reproduce control style, layout, behavior of iPhone apps • Integrate with built-in iPhone features & services
BlackBerry OS • BlackBerry OS is Research in Motion’s (RIM’s) proprietary OS for its BlackBerry handsets • Provides multitasking, heavily uses BlackBerry input devices, e.g., thumbwheel • Current OS 4 provides a subset of Java’s Mobile Information Device Profile (MIDP) 2.0 • Developers can use these APIs, proprietary APIs to write software • All applications must be digitally signed so to “link” an app with the developer
BlackBerry Software • Email from BlackBerry service, MS Exchange, Domino, Yahoo, etc. can be “pushed” to the handset • Can view PDF, MS Word, Excel, PowerPoint attachments • BlackBerry Browser (only supports JavaScript) • Other online apps include: • BlackBerry Maps • Facebook services • Yahoo Messenger, Google Talk • Calendar, Address Book, and PIM Sync via USB • GPS • See http://www.blackberry.com for much more information about handset and desktop software
BlackBerry Wireless Platform • RIM provides standards-based platform and developer tools to develop and deploy custom wireless applications • HTML Web browser • Java Mobile Edition development tools • .NET applications • BlackBerry handsets support standard networking protocols and connect to any type of server application
BlackBerry Mobile Data System • BlackBerry Mobile Data System (MDS) supports MS Exchange, Lotus Domino, Novell GroupWire, and RIM’s own MDS systems for messaging applications
BlackBerry Mobile Voice System • With this service, there’s only one business number BlackBerry users must remember • Calls are routed to a BlackBerry handset, regardless of whether the call is directed to an office or mobile phone [27] • Provides security and authentication through BlackBerry Enterprise Servers [28] • IT administrators can lock down handsets, route calls through their telecom infrastructure, etc. [27–28]
BlackBerry Internet Services • BlackBerry Internet Service leverages centrally-hosted wireless gateways, allowing users to access up to 10 supported email accounts, browse Internet
BlackBerry Developer Tools • RIM provides several development tools: • BlackBerry MDS Studio • Developers can quickly create rich client apps using component-based drag-and-drop approach • Tool requires MDS runtime • BlackBerry plugin for MS Visual Studio (development on MDS platform) • BlackBerry Java Development Environment (JDE) • Provides IDE, simulation tools for Java ME app for Java-based BlackBerry so developers can create standalone or client-server apps
Windows Mobile • Windows Mobile is powered by Microsoft’s Windows CE embedded OS; Windows CE runs on x86, MIPS, ARM, Hitachi SuperH processors • Latest version, 6.1, includes Windows Live services, Exchange 2007 mail access • Designed to closely mimic desktop Windows: • Windows Mobile 6.1 includes mobile versions of Office applications, Outlook (w/HTML email), Internet Explorer, Windows Media Player • SQL Server 2005 included in ROM • .NET Compact Framework 2.0 included
Windows Mobile Development (1) • Native code is developed with MS Visual C++ • Microsoft strongly recommends development with managed code [19] • Managed code is written in one of the .NET framework object-oriented languages • Compiled to MS Intermediate Language (MSIL) that all the languages share • At execution time, MSIL is compiled “just in time” to native object code • Contrast with Java: • Java code is compiled to Java bytecode • Java interpreter interprets bytecode, dynamically compiles frequently-accessed bytecode into native object code (HotSpot) .NET Framework in Context. Source: [19]
Windows Mobile Development (2) • Windows Mobile development tools include: • Plugins for MS Visual Studio 2005, 2008, etc. • SDKs for Windows Mobile-based handsets • Microsoft gives away Visual Studio to students for free with its DreamSpark program [20]
Android Mobile Handset Platform • Android is a software development platform for mobile handsets that is based on Linux • Developed by Google and Open Handset Alliance (OHA) for different handset manufacturers • The Alliance includes T-Mobile, Sprint Nextel, Google, Intel, Samsung, Wind River Systems, et al. [29] • Its purpose is to build a fully free and open mobile handset platform to facilitate development of handsets, software, services [30] • First Android-based handset is T-Mobile G1 [31]
Android Features and Software • Features • 3D: OpenGL ES 1.0 • SQLite: Database engine • WebKit: Web browser • Dalvik: Register-based VM similar to Java VM [32] • FreeType: Bitmap and vector font rendering • Connectivity: Bluetooth, 802.11, GPS • Core Applications • Email client, SMS program, calendar, Google Maps (and Apps), browser, etc. • Written in Java • App Framework • Full access to same framework APIs • Architecture designed for component reuse • Runtime • Core C++ library • Multiple Dalvik VMs run in a process, rely on Linux kernel for process isolation [32]
Android SDK • Android SDK provides required tools and APIs to develop apps on Android platform using Java • Android is licensed under the Apache open-source license • The Android Development Tools (ADT) Eclipse plugin eases development • Download the Android SDK at http://code.google.com/android/ and the Eclipse plugin at https://dl-ssl.google.com/android/eclipse
Palm OS • Palm OS originally designed by Palm Computing Inc. for Palm handsets, sold to Japanese firm ACCESS [16] • From Jan. 2004 – Jun. 2005, there has been no development on Palm OS past v6.1 [16] • ACCESS and Palm are working on new versions of the OS that are Linux-based [16] • ACCESS’ version is called the ACCESS Linux Platform • Palm’s version will be called Palm OS; should be available Q1 2009
Handsets communicate with each other and with service providers via many networking technologies There are two “classes” of these technologies: Cellular telephony Wireless networking Most handsets support both, some also support physical connections such as USB Handset Networking
Cellular Telephony Basics (1) • There are many types of cellular services; before delving into details, focus on basics (helps navigate the “acronym soup”) • Cellular telephony is a radio-based technology; radio waves are electromagnetic waves that antennas propagate • Most signals are in the 850 MHz, 900 MHz, 1800 MHz, and 1900 MHz frequency bands Cell phones operate in this frequency range (note the logarithmic scale)
Cellular Telephony Basics (2) • Digital signal processors (DSPs) are key to radio reception in handsets • They transform signals from one form to another, e.g.: • Fourier transforms • Discrete cosine transform Source: [3]
Cellular Telephony Basics (3) • Cells and base stations • Space is divided into cells, and each cell has a base station (tower and radio equipment) • Base stations coordinate themselves so mobile users can access the network • If you move from one cell to another, the first cell notices your signal strength decreasing, the second cell notices your signal strength increasing, and they coordinate handover so your handset switches to the latter cell
Cellular Telephony Basics (4) • Statistical multiplexing • Time Division Multiple Access (TDMA) • A 30 kHz-wide and 6.7 ms-long band is split into 3 time slots • Each conversation gets the radio 1/3 of the time; voice data is converted to digital information and compressed to use less transmission space
Cellular Telephony Basics (5) • Statistical multiplexing cont’d. • Frequency Division Multiple Access (FDMA) • Analogous to TDMA, but each conversation uses a different frequency in the same band • Code Division Multiple Access (CDMA) [38] • Uses spread-spectrum technology and different pseudo-noise codes so multiple users share the same physical channel
Cellular Telephony • It is useful to think of cellular telephony in terms of generations: [33–37] • 0G: Briefcase-size mobile radio telephones • 1G: Analog cellular telephony • 2G: Digital cellular telephony • 3G: High-speed digital cellular telephony (including video telephony) • 4G: IP-based “anytime, anywhere” voice, data, and multimedia telephony at faster data rates than 3G (to be deployed in 2012–2015) • We will focus on 2G and 3G technologies
Cellular Telephony – 2G • There are two main 2G technologies: • Global System for Mobile communications (GSM), which uses TDMA [39] • Interim Standard 95 (IS-95, aka cdmaOne™), which uses CDMA [40] • There are other TDMA networks such as PDC (Japan-only), iDEN (Nextel-only), and IS-136 (now converted to GSM) • We won’t worry about these
Mobile Stations (MSes) – handsets Each handset has a SIM card Base Station Subsystems (BSSes) – provide air link for MSes A BSS consists of a Base Station Controller (BSC), which includes the TransCoder Unit (TCU) and the Base Transceiver System (BTS) A BSC controls several BTSes, which is responsible for communication with the NSS and OSS Network SubSystems (NSSes) – connect calls between network users Composed of several Mobile Switching Centers (MSC) in conjunction with location registers (Home Location Registers – HLRs, Visitor Location Register – VLRs) and authentication centers (AUCs) Operation SubSystems (OSSes) – provide network admins with remote network monitoring, mgmt. capabilities Operations & Maintenance Center (OMC) provides network with remote monitoring, maintenance as well as alarms, event logging GSM (1) GSM network architecture includes the following subsystems:
GSM (2) • GSM network architecture is as follows:
GSM (3) • Short Message Service (SMS) [41] • 1985 GSM standard that allows messages of at most 160 chars. (incl. spaces) to be sent between handsets and other stations • Over 2.4 billion people use it; multi-billion $ industry • General Packet Radio Service (GPRS) • GSM upgrade that provides IP-based packet data transmission up to 114 kbps • Users can “simultaneously” make calls and send data • GPRS provides “always on” Internet access and the Multimedia Messaging Service (MMS) whereby users can send rich text, audio, video messages to each other [42] • Performance degrades as number of users increase • GPRS is an example of 2.5G telephony – 2G service similar to 3G
GSM (4) • Enhanced Data rate for GSM Evolution (EDGE) [43] • GSM revision that provides 3× GPRS’ data rate (max. 236.8 kbps); considered 3G tech. • Deployed on GSM networks starting in 2003 • EDGE Evolution increases bit rates to (theoretical) max. of 1 Mbps, decreases latency from 200 ms to 100 ms
IS-95, CDMA2000, and 3G • Qualcomm developed IS-95 in the 1990s as first CDMA-based mobile standard [40] • Unlike GSM, which is open,Qualcomm owns patents on CDMA technology • CDMA2000, IS-95’s hybrid 2.5G/3G successor, is supplanting it [44] • The Telecommunications Industry Association owns the trademarks “cdmaOne” and “CDMA2000” in the U.S. • There are two competing 3G technologies: the Universal Mobile Telecommunications System (UMTS) and CDMA2000
UMTS and HSPA • The UMTS is an international standard designed to replace GSM (aka 3GSM) [45] • UMTS is a 3G standard and is being developed into a 4G standard • Its air interface is Wideband CDMA (W-CDMA), which was developed by NTT DoCoMo for Japan’s 3G wireless network [46] • W-CDMA has been deployed in Europe and Asia • In theory, High Speed Packet Access (HSPA) protocols extend UTMS’ performance to 14.4 Mbps and 5.76 Mbps downlink and uplink, respectively [47] • In practice, max speeds are 7.2 Mbps and 1.4 – 5.8 Mbps, respectively (depending on carrier)