throbber
USO08045958B2
`
`(12) United States Patent
`Kahandaliyanage
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 8,045,958 B2
`Oct. 25, 2011
`
`(54) SYSTEMAND METHOD FOR APPLICATION
`PROGRAM OPERATION ON A WIRELESS
`DEVICE
`
`(75) Inventor: Shawn Kahandaliyanage, Kitchener
`(CA)
`(73) Assignee: Research In Motion Limited, Waterloo,
`Ontario (CA)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 324 days.
`(21) Appl. No.: 11/282,564
`
`(*) Notice:
`
`(22) Filed:
`
`Nov. 21, 2005
`
`(65)
`
`Prior Publication Data
`US 2007/O118558 A1
`May 24, 2007
`
`(51) Int. Cl.
`(2006.01)
`H04M I/66
`(52) U.S. Cl. ........ 455/410; 455/411; 455/418; 455/419;
`455/42O
`(58) Field of Classification Search .................. 455/418,
`455/419, 420, 186.1, 557, 558,410, 41.1;
`709/203, 206, 224
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5,261,102 A 11/1993 Hoffman
`5,560,008 A
`9, 1996 Johnson et al.
`5,778,348 A
`7/1998 Manduley et al.
`5,944,821 A
`8/1999 Angelo
`5,977,821 A 11, 1999 Shibata
`6,061,794. A
`5/2000 Angelo et al.
`6,065,054 A
`5, 2000 Dutcher et al.
`6,101,607 A
`8, 2000 Bachand et al.
`6,167.445 A 12/2000 Gaiet al.
`6,167,521 A 12/2000 Smith et al.
`
`2/2001 Gong
`6,192.476 B1
`3/2001 Donohue
`6,202,207 B1
`4/2001 Reardon
`6.212,635 B1
`4/2001 Barkan et al.
`6,216,116 Bl
`1 1/2002 Andrews et al.
`6,487,665 B1
`1/2003 Serkowski
`6,513,121 B1
`7/2005 Spyker et al.
`6,922,782 B1
`8, 2005 Sato et al.
`6,931,379 B1
`9/2005 Donaghey et al.
`6,941,355 B1
`6/2009 Adams et al.
`7,546,956 B2
`7,815, 100 B2 10/2010 Adams et al.
`2001/0002485 A1
`5, 2001 Bisbee et al.
`2001/0007133 A1
`7/2001 Moriconi et al.
`10/2001 Miyabe et al.
`2001/0032188 A1
`2002/018305.6 A1
`12/2002 Lundblade et al.
`2003/0O23774 A1*
`1/2003 Gladstone et al. ............ TO9,328
`(Continued)
`
`CA
`
`FOREIGN PATENT DOCUMENTS
`2579541
`8, 2007
`(Continued)
`OTHER PUBLICATIONS
`Nobels, Jonathan, Research in Motion Limited, “Give Me A Sign'.
`BlackBerry Developer Journal, Writing Efficient 32ME Software, 3
`pages, May 2004 http://www.blackberry.com/developers journal/
`may 2004/give me a sign.shtml.
`(Continued)
`Primary Examiner — Ajit Patel
`Assistant Examiner — Khai MNguyen
`(74) Attorney, Agent, or Firm — Bereskin & Parr
`LLP/S.E.N.C.R.L., s.r.l.
`
`ABSTRACT
`(57)
`Embodiments described herein address mobile devices with
`non-secure operating systems that do not provide a sufficient
`security framework. More particularly, the embodiments
`described herein provide a set of applications to the device for
`providing security features to the non-secure operating sys
`tem.
`
`15 Claims, 6 Drawing Sheets
`
`
`
`Security
`Management
`Module
`
`APPLE 1020
`
`1
`
`

`

`US 8,045,958 B2
`Page 2
`
`U.S. PATENT DOCUMENTS
`2003/0081621 A1
`5/2003 Godfrey et al.
`2003/O135555 A1
`7/2003 Birrel et al.
`2003,019 1719 A1 10, 2003 Ginter et al.
`2003/0233577 A1 12, 2003 Bellino
`2004/00399.11 A1
`2/2004 Oka et al.
`2004/OO78565 A1
`4/2004 Hofmeister et al.
`2004/017727O A1
`9, 2004 Little et al.
`2004/0260760 Al 12/2004 Curnyn
`2005/0050319 A1
`3/2005 Suraski
`2005/0129042 A1
`6, 2005 Muhonen et al.
`2005. O190083 A1
`9/2005 Tyneski et al.
`2005/O1981 79 A1
`9/2005 Savilampi
`2005/0252963 A1 11/2005 Adams et al.
`2005/0257209 A1 11, 2005 Adams et al.
`2005/0278419 A1 12, 2005 Morris
`2006, O16804.6 A1
`7/2006 Qureshi
`2006/0272028 A1 11, 2006 Maes
`2006/0282896 A1 12/2006 Qi
`2007/0204324 A1
`8, 2007 Roberts et al.
`2007/0204326 A1
`8/2007 Bocking et al.
`2007/0294744 A1 12/2007 Alessio et al.
`2009, 0224036 A1
`9, 2009 Adams et al.
`
`CA
`EP
`EP
`EP
`EP
`EP
`EP
`EP
`GB
`GB
`GB
`JP
`JP
`JP
`JP
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`
`FOREIGN PATENT DOCUMENTS
`2619 196
`8, 2008
`O813132
`12/1997
`O828209
`3, 1998
`1168141
`1, 2002
`1185923 B1
`3, 2004
`1427166
`6, 2004
`1465.041
`6, 2004
`1826944
`5, 2009
`2312767
`5, 1997
`233.3865
`4f1999
`2378780
`22003
`2002056360
`2, 2002
`2002091598
`3, 2002
`200217OO63
`6, 2002
`2002182963
`6, 2002
`98.44404
`10, 1998
`WO99/45454
`9, 1999
`WOOO,56O27
`9, 2000
`20006O434
`10, 2000
`200171590
`9, 2001
`O177811
`10, 2001
`200178395
`10, 2001
`2002O97620
`12/2002
`O30584.11
`T 2003
`O3063524
`T 2003
`2005106678 A1 11, 2005
`OTHER PUBLICATIONS
`Research in Motion Limited, BlackBerry Wireless application
`deployment in the enterprise, originally posted: Feb. 2003, last
`revised: Jul. 2003, 4 pages, www.blackberry.com.
`Research in Motion Limited, BlackBerry Application Security for
`Java-based BlackBerry Handhelds, originally posted: Feb. 2003, 5
`pages, www.blackberry.com.
`Research in Motion Limited, BlackBerry Security White Paper
`Release 4.0, 2004. www.blackberry.com.
`Research in Motion Limited, BlackBerry Java Development Envi
`ronment Version 3.6 Developer Guide vol. 2–Advanced Topics,
`Mar. 24, 2003, chapter 1. Using Controlled APIs.
`Research in Motion Limited, Controlled APIs, 3 pages from black
`berry.comprinted Dec. 2, 2004 http://www.blackberry.com/develop
`ers/najava/tools/controlled APIs.shtml.
`Research in Motion Limited, BlackBerry IT Policy Manager, 19
`pages, 2002.
`Research in Motion Limited. Implementing the IT Policy Manager
`for BlackBerry, 12 pages, originally posted Mar. 2002.
`Research in Motion Limited, Wireless IT Policy and IT Administra
`tion BlackBerry Enterprise Server version 3.5 for Microsoft
`Exchange, 17 pages, 2002.
`Search/Exam Report for EP patent application No. 06110449 dated
`May 29, 2006.
`
`Exam Report for EP patent application No. 06110449.3, dated Mar.
`30, 2007.
`Exam Report for EP patent application No. 05111046 dated Jun. 28.
`2007.
`Summons to Attend Oral Proceedings for corresponding EP patent
`application No. EP 05111046.8 dated Apr. 10, 2008.
`European Decision dated Dec. 16, 2008, European Application No.
`O5111046.8
`Co-pending U.S. Appl. No. 1 1/362,481, "Method Customizing a
`Standardized IT Policy”, filed Feb. 27, 2006. (Retrievable from
`PAIR).
`Office Action dated Jul. 20, 2009, U.S. Appl. No. 1 1/362.481.
`Co-pending U.S. Appl. No. 1 1/679,470, "Method of Customizing a
`Standardized IT Policy”, filed Feb. 27, 2007. (Retrievable from
`PAIR).
`Canadian Office Action dated Aug. 31, 2009, Canadian Patent Appli
`cation No. 2,567,715.
`Office Action Response dated Oct. 20, 2009, U.S. Appl. No.
`1 1/362,481.
`Final Office Action dated Mar. 9, 2010, U.S. Appl. No. 1 1/362.481.
`Office Action dated Nov. 9, 2009, U.S. Appl. No. 1 1/679,470.
`Office Action Response dated Jan. 28, 2010, U.S. Appl. No.
`1 1/679,470.
`Co-pending U.S. Appl. No. 11/118,844, "System and Method of
`Owner Application Control of Electronic Devices', filed Apr. 29.
`2005. (Retrievable from PAIR).
`Office Action dated May 29, 2008, U.S. Appl. No. 1 1/118,844.
`Office Action Response dated Dec. 1, 2008, U.S. Appl. No.
`1 1/118,844.
`Office Action dated Mar. 10, 2009, U.S. Appl. No. 1 1/118,844.
`Office Action Response dated May 8, 2009, U.S. Appl. No.
`1 1/118,844.
`Office Action dated Aug. 20, 2009, U.S. Appl. No. 1 1/118,844.
`Office Action Response dated Nov. 19, 2009, U.S. Appl. No.
`1 1/118,844.
`Notice of Allowance dated Feb. 23, 2010, U.S. Appl. No. 1 1/118,844.
`BOS, “Re: CCS: Extended tiling. Proposal”, online May 5, 2004,
`pp. 1-2, XP002462798, www-style(a).w3.org. http://lists.w3.org/Ar
`chives/Public/www-style/2004 May/0020.html.
`W3C, "CSS3 Border Module” online Nov. 7, 2002, pp. 1-14,
`XP002462799, www.w3.org/TR/2002/WD-css3-border-20021107/.
`W3C, "CSS3 Backgrounds and Borders Module” online Feb. 16,
`2005, pp. 1-29, XP002462800, www.w3.org/TR/2005/WD-css3
`backrounds-20050216.
`Co-pending U.S. Appl. No. 12.468,441. “System and Mehtod of
`Operation Control on an Electronic Device', filed May 19, 2009.
`(Retrievable from PAIR).
`Rooker. T: “The Reference Monitor: An Idea Whose Time Has
`Come” Proceedings. ACM SIGSAC New Security Paradigms Work
`shop, Proceedings of New Security Paradigms Workshop, Aug. 3,
`1993, pp. 192-197, XP001147934.
`Microsoft: “Computer Dictionary” Microsoft Press, Dec. 31, 2002, p.
`33, XP001147934.
`Extended European Search and Examination Report for correspond
`ing EP patent application No. EP 05 11 1046 dated Jun. 9, 2006.
`United States Office Action dated May 24, 2010, U.S. Appl. No.
`1 1/679,470.
`United States Office Action Response dated Aug. 5, 2010, U.S. Appl.
`No. 1 1/679,470.
`United States Office Action dated Mar. 22, 2010, U.S. Appl. No.
`12/468,441.
`United States Office Action Response dated Jun. 22, 2010, U.S. Appl.
`No. 12/468.441.
`United States Notice of Allowance dated Aug. 11, 2010, U.S. Appl.
`No. 12/468.441.
`Takaragi; Angou Houshiki to Ouyou Encryption System and Appli
`cation; Journal of Information Processing; vol. 32, No. 6; Japan
`Information Processing Society of Japan; Jun. 1991; pp. 714-723.
`United States Office Action Response dated Jun. 4, 2010, U.S. Appl.
`No. 1 1/362.481.
`Amendment dated May 24, 2010, U.S. Appl. No. 1 1/118,844.
`United States Notice of Allowance dated Jun. 10, 2010, U.S. Appl.
`No. 1 1/118,844.
`
`2
`
`

`

`US 8,045,958 B2
`Page 3
`
`Co-pending U.S. Appl. No. 12/885,281, filed Sep. 17, 2010.
`Office Action. U.S. Appl. No. 1 1/362,481. Dated: Feb. 17, 2011.
`Office Action. U.S. Appl. No. 1 1/679,470. Dated: Feb. 18, 2011.
`Amendment/Response. U.S. Appl. No. 1 1/679,470. Dated: Apr. 19.
`2011.
`
`United States Office Action dated Jul. 6, 2011, U.S. Appl. No.
`1 1/362,481.
`Office Action Response dated May 9, 2011, U.S. Appl. No.
`1 1/362,481.
`
`* cited by examiner
`
`3
`
`

`

`U.S. Patent
`
`Oct. 25, 2011
`
`Sheet 1 of 6
`
`US 8,045,958 B2
`
`100
`
`126
`
`SM/RUM
`
`128
`SM/RUIM
`interface
`
`132
`
`130
`
`Battery
`
`Battery
`
`
`
`Operating
`
`134
`
`110
`Display
`
`Programs
`Message
`Application
`138
`
`Flash Memory
`106
`
`136
`
`Device State 140
`Module
`
`104
`Communication
`2 Subsystem
`
`Main
`Processor
`
`102
`
`El
`Auxiliary I/O
`
`Data Port
`114
`
`Keyboard
`
`116
`Speaker
`Speaker
`118
`
`
`
`Connect
`OneC
`
`144
`
`146
`
`148
`
`Integration
`Module
`
`Security
`Motent
`
`OCUle
`
`200
`
`Other Device
`Subsystems
`
`Short-Range
`Communications
`
`F.G. 1
`
`
`
`
`
`
`
`
`
`4
`
`

`

`U.S. Patent
`U.S. Patent
`
`Oct. 25, 2011
`Oct. 25, 2011
`
`Sheet 2 of 6
`Sheet 2 of 6
`
`US 8,045,958 B2
`US 8,045,958 B2
`
`
`
`|
`
`154
`
`i
`
`|
`
`160
`
`|
`:
`
`
`
`102
`
`102 [ne
`
`
`
`5
`
`

`

`U.S. Patent
`
`Oct. 25, 2011
`
`Sheet 3 of 6
`
`US 8,045,958 B2
`
`
`
`HYOMLAN
`
`(NLSd)
`
`22
`
`ose
`
`LSOH
`
`WALSAS
`
`6
`
`

`

`U.S. Patent
`
`Oct. 25, 2011
`
`Sheet 4 of 6
`
`US 8,045,958 B2
`
`
`
`092
`
`
`
`
`
`
`
`
`
`
`
`
`36essaw
`
`?uauuefieuew
`
`Januas
`
`7
`
`

`

`U.S. Patent
`
`Oct. 25, 2011
`
`Sheet 5 of 6
`
`US 8,045,958 B2
`
`
`
`
`
`
`
`
`
`302
`
`
`
`
`
`
`
`app 306 calling a fin
`exposed by app 302
`app 304 calling
`afn exposed
`by app 302
`
`
`
`Malicious
`application
`
`306
`
`app 304 calling
`afn exposed by
`the OS 134
`
`ad
`
`app 306 calling
`afn exposed by
`the OS 134
`
`Operating system
`
`3OO
`
`FIGURE 5
`
`312
`
`app 304 calling
`afn of app 302
`
`application
`
`application
`
`app 304 calling
`a fin of the OS 134
`
`
`
`Sensitive
`
`/
`
`302
`
`Application
`
`
`
`
`
`
`
`
`
`
`
`FIGURE 6
`
`3O6
`
`
`
`
`
`
`
`
`
`144
`
`Connect
`module
`
`
`
`148
`Security
`Management
`module
`
`8
`
`

`

`U.S. Patent
`
`Oct. 25, 2011
`
`Sheet 6 of 6
`
`US 8,045,958 B2
`
`32O
`
`
`
`
`
`
`
`
`
`
`
`Controlled
`AP Called ?
`
`324
`
`is general usage
`iZar?
`Authorized
`
`Failure - AP
`function returns
`
`328
`
`330
`
`FIGURE 7
`
`
`
`
`
`
`
`Controlled
`AP called ?
`
`340
`
`344
`
`
`
`
`
`ls usage by
`calling application
`authorized?
`
`Failure - AP
`function returns
`
`348
`
`
`
`AP function
`
`350
`
`FIGURE 8
`
`9
`
`

`

`US 8,045,958 B2
`
`1.
`SYSTEMAND METHOD FORAPPLICATION
`PROGRAM OPERATION ON A WIRELESS
`DEVICE
`
`FIELD
`
`The embodiments described herein relate generally to
`wireless devices, and more particularly to providing a secure
`environment for applications running on wireless devices
`with non-secure operating systems.
`
`BACKGROUND
`
`Wireless devices, hereafter referred to as mobile devices,
`include mobile phones, and mobile e-mail devices that typi
`cally have applications which allow users of these devices to
`perform a wide variety of functions including accessing or
`sending information, playing games, etc. These applications
`may be installed during the manufacture of these devices.
`Alternatively, these applications may be made by a third party
`and installed after the manufacture of these devices.
`The operating system of a mobile device provides an appli
`cation programming interface (API) that provides access to
`data which may be sensitive and a task manager for control
`ling application execution. However, typical operating sys
`tems lack a robust framework for addressing security and
`manageability of API access control as well as application
`control. Accordingly, sensitive APIs (i.e. APIs that provide
`access to sensitive information) may be accessed by rogue
`applications without passing through any security frame
`work. For example, a sensitive API can be an API that allows
`access to a database of a corporate e-mail application. That
`being said, there are legitimate uses of APIs that must also be
`taken into consideration. In addition, non-secure operating
`systems on a mobile device often have no framework for
`allowing IT administrators to control which applications can
`be executed. Both API access control and application control
`for mobile systems are of particular concern to IT adminis
`trators who have a responsibility to protect confidential cor
`porate information that reside on or are accessible by mobile
`devices.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`45
`
`For a better understanding of the embodiments described
`herein and to show more clearly how they may be carried into
`effect, reference will now be made, by way of example only,
`to the accompanying drawings which show at least one exem
`plary embodiment and in which:
`50
`FIG. 1 is a block diagram of an exemplary embodiment of
`a mobile device;
`FIG. 2 is a block diagram of an exemplary embodiment of
`a communication Subsystem component of the mobile device
`of FIG. 1;
`FIG. 3 is an exemplary block diagram of a node of a
`wireless network;
`FIG. 4 is a block diagram illustrating components of a host
`system in one exemplary configuration for use with the wire
`less network of FIG. 3 and the mobile device of FIG. 1;
`FIG. 5 is a block diagram of an exemplary embodiment of
`a non-secure operating system with several applications that
`may be executed on the mobile device of FIG. 1;
`FIG. 6 is an exemplary block diagram of a non-secure
`operating system that operates under the security and man
`65
`agement policies enforced by a security management mod
`ule:
`
`55
`
`60
`
`2
`FIG. 7 is a flowchart of an exemplary embodiment of a
`controlled API access process; and,
`FIG. 8 is a flowchart of another exemplary embodiment of
`a controlled API access process.
`
`DETAILED DESCRIPTION
`
`It will be appreciated that for simplicity and clarity of
`illustration, elements shown in the figures have not necessar
`ily been drawn to scale. Further, where considered appropri
`ate, reference numerals may be repeated among the figures to
`indicate corresponding or analogous elements. In addition,
`numerous specific details are set forth in order to provide a
`thorough understanding of the embodiments described
`herein. However, it will be understood by those of ordinary
`skill in the art that the embodiments described herein may be
`practiced without these specific details. In other instances,
`well-known methods, procedures and components have not
`been described in detailso as not to obscure the embodiments
`described herein. Also, the description is not to be considered
`as limiting the scope of the embodiments described herein.
`The embodiments described herein generally relate to a
`mobile wireless communication device, hereafter referred to
`as a mobile device, that has a non-secure operating system.
`Examples of applicable communication devices include pag
`ers, cellular phones, cellular Smart-phones, wireless organiz
`ers, personal digital assistants, computers, laptops, handheld
`wireless communication devices, wirelessly enabled note
`book computers and the like.
`The mobile device is a two-way communication device
`with advanced data communication capabilities including the
`capability to communicate with other mobile devices or com
`puter systems through a network of transceiver stations. The
`mobile device may also have the capability to allow voice
`communication. Depending on the functionality provided by
`the mobile device, it may be referred to as a data messaging
`device, a two-way pager, a cellular telephone with data mes
`saging capabilities, a wireless Internet appliance, or a data
`communication device (with or without telephony capabili
`ties). To aid the reader in understanding the structure of the
`mobile device and how it communicates with other devices
`and host systems, reference will now be made to FIGS. 1
`through 4.
`Referring first to FIG. 1, shown therein is a block diagram
`of an exemplary embodiment of a mobile device 100. The
`mobile device 100 includes a number of components such as
`a main processor 102 that controls the overall operation of the
`mobile device 100. Communication functions, including data
`and Voice communications, are performed through a commu
`nication subsystem 104. The communication subsystem 104
`receives messages from and sends messages to a wireless
`network 200. In this exemplary implementation of the mobile
`device 100, the communication subsystem 104 is configured
`in accordance with the Global System for Mobile Communi
`cation (GSM) and General Packet Radio Services (GPRS)
`standards. The GSM/GPRS wireless network is used world
`wide and it is expected that these standards will be superseded
`eventually by Enhanced Data GSM Environment (EDGE)
`and Universal Mobile Telecommunications Service (UMTS).
`New standards are still being defined, but it is believed that
`they will have similarities to the network behavior described
`herein, and it will also be understood by persons skilled in the
`art that the embodiments described herein are intended to use
`any other suitable standards that are developed in the future.
`The wireless link connecting the communication Subsystem
`104 with the wireless network 200 represents one or more
`different Radio Frequency (RF) channels, operating accord
`
`10
`
`

`

`US 8,045,958 B2
`
`10
`
`3
`ing to defined protocols specified for GSM/GPRS communi
`cations. With newer network protocols, these channels are
`capable of Supporting both circuit Switched Voice communi
`cations and packet Switched data communications.
`Although the wireless network 200 associated with mobile 5
`device 100 is a GSM/GPRS wireless network in one exem
`plary implementation, other wireless networks may also be
`associated with the mobile device 100 in variant implemen
`tations. The different types of wireless networks that may be
`employed include, for example, data-centric wireless net
`works, Voice-centric wireless networks, and dual-mode net
`works that can Support both Voice and data communications
`over the same physical base stations. Combined dual-mode
`networks include, but are not limited to, Code Division Mul
`tipleAccess (CDMA) or CDMA2000 networks, GSM/GPRS
`networks (as mentioned above), and future third-generation
`(3G) networks like EDGE and UMTS. Some other examples
`of data-centric networks include WiFi 802.11, MobitexTM and
`DataTACTM network communication systems. Examples of 20
`other voice-centric data networks include Personal Commu
`nication Systems (PCS) networks like GSM and Time Divi
`sion Multiple Access (TDMA) systems.
`The main processor 102 also interacts with additional sub
`systems such as a Random Access Memory (RAM) 106, a 25
`flash memory 108, a display 110, an auxiliary input/output
`(I/O) subsystem 112, a data port 114, a keyboard 116, a
`speaker 118, a microphone 120, short-range communications
`122 and other device subsystems 124.
`Some of the subsystems of the mobile device 100 perform 30
`communication-related functions, whereas other Subsystems
`may provide “resident” or on-device functions. By way of
`example, the display 110 and the keyboard 116 may be used
`for both communication-related functions, such as entering a
`text message for transmission over the network 200, and 35
`device-resident functions such as a calculator or task list.
`The mobile device 100 may send and receive communica
`tion signals over the wireless network 200 after required
`network registration or activation procedures have been com
`pleted. Network access is associated with a subscriber or user 40
`of the mobile device 100. To identify a subscriber, the mobile
`device 100 requires a SIM/RUIM card 126 (i.e. Subscriber
`Identity Module or a Removable User Identity Module) to be
`inserted into a SIM/RUIM interface 128 in order to commu
`nicate with a network. The SIM card or RUIM 126 is one type 45
`of a conventional “smart card” that can be used to identify a
`subscriber of the mobile device 100 and to personalize the
`mobile device 100, among other things. Without the SIM card
`126, the mobile device 100 is not fully operational for com
`munication with the wireless network 200. By inserting the 50
`SIM card/RUIM 126 into the SIM/RUIM interface 128, a
`subscriber can access all subscribed services. Services may
`include: web browsing and messaging Such as e-mail, Voice
`mail, Short Message Service (SMS), and Multimedia Mes
`saging Services (MMS). More advanced services may 55
`include: point of sale, field service and sales force automa
`tion. The SIM card/RUIM 126 includes a processor and
`memory for storing information. Once the SIM card/RUIM
`126 is inserted into the SIM/RUIM interface 128, it is coupled
`to the main processor 102. In order to identify the subscriber, 60
`the SIM card/RUIM 126 can include some user parameters
`such as an International Mobile Subscriber Identity (IMSI).
`An advantage of using the SIM card/RUIM 126 is that a
`Subscriber is not necessarily bound by any single physical
`mobile device. The SIM card/RUIM 126 may store additional 65
`subscriber information for a mobile device as well, including
`datebook (or calendar) information and recent call informa
`
`15
`
`4
`tion. Alternatively, user identification information can also be
`programmed into the flash memory 108.
`The mobile device 100 is a battery-powered device and
`includes a battery interface 132 for receiving one or more
`rechargeable batteries 130. In some embodiments, the battery
`130 can be a smart battery with an embedded microprocessor.
`The battery interface 132 is coupled to a regulator (not
`shown), which assists the battery 130 in providing powerV+
`to the mobile device 100. Although current technology makes
`use of a battery, future technologies such as micro fuel cells
`may provide the power to the mobile device 100.
`The mobile device 100 also includes an operating system
`134 and software components 136 to 148 which are described
`in more detail below. The operating system 134 and the soft
`ware components 136 to 148 that are executed by the main
`processor 102 are typically stored in a persistent store Such as
`the flash memory 108, which may alternatively be a read-only
`memory (ROM) or similar storage element (not shown).
`Those skilled in the art will appreciate that portions of the
`operating system 134 and the software components 136 to
`148. Such as specific device applications, or parts thereof,
`may be temporarily loaded into a Volatile store Such as the
`RAM 106.
`The operating system 134, in the absence of additional
`Software components or controls, is a non-secure operating
`system which lacks a comprehensive security and manage
`ment framework. This results in a number of shortcomings in
`areas such as: user authentication (ensuring that only the
`intended user can access the device 100), memory security
`(ensuring that an application's data in memory is private to
`that application only), flash security (ensuring that an appli
`cation’s data in flash memory is private to that application
`only), and API Security (ensuring that only authorized appli
`cations can access sensitive APIs), as well as other security
`issues.
`The subset of software applications 136 that control basic
`device operations, including data and Voice communication
`applications, will normally be installed on the mobile device
`100 during its manufacture. Other software applications 136
`include a message application 138 that can be any Suitable
`software program that allows a user of the mobile device 100
`to send and receive electronic messages. Various alternatives
`exist for the message application 138 as is well known to
`those skilled in the art. Messages that have been sent or
`received by the user are typically stored in the flash memory
`108 of the mobile device 100 or some other suitable storage
`element in the mobile device 100. In some embodiments,
`Some of the sent and received messages may be stored
`remotely from the device 100 such as in a data store of an
`associated host system that the mobile device 100 communi
`cates with.
`The message application 138 can include an address book
`that provides information for a list of contacts for the user. For
`a given contact in the address book, the information can
`include the name, phone number, work address and e-mail
`address of the contact, among other information. In some
`embodiments, the address book may be a separate Software
`application.
`The software applications can further include a device state
`module 140, a Personal Information Manager (PIM) 142, and
`other suitable modules (not shown). The device state module
`140 provides persistence, i.e. the device state module 140
`ensures that important device data is stored in persistent
`memory, such as the flash memory 108, so that the data is not
`lost when the mobile device 100 is turned off or loses power.
`The PIM 142 includes functionality for organizing and
`managing data items of interest to the user, Such as, but not
`
`11
`
`

`

`5
`limited to, e-mail, calendar events, Voice mails, appoint
`ments, and task items. A PIM application has the ability to
`send and receive data items via the wireless network 200. PIM
`data items may be seamlessly integrated, synchronized, and
`updated via the wireless network 200 with the mobile device
`Subscriber's corresponding data items stored and/or associ
`ated with a host computer system. This functionality creates a
`mirrored host computer on the mobile device 100 with respect
`to such items. This can be particularly advantageous when the
`host computer system is the mobile device subscribers office
`computer system.
`Other types of software applications can also be installed
`on the mobile device 100. These software applications can be
`third party applications which are added after the manufac
`ture of the mobile device 100. Examples of third party appli
`cations may be games, calculators, or other utilities. Unfor
`tunately, if these applications have a malicious intent, the
`non-secure operating system 134 cannot properly limit or
`prevent the operation of these malicious applications without
`additional Support.
`Advantageously, the mobile device 100 can operate with a
`set of applications that provide security features including a
`connect module 144, an integration module 146 and a secu
`rity management module 148. These modules can be installed
`after the manufacture of the mobile device 100 to provide
`extra functionality for the mobile device 100. These modules
`can also provide security features for the mobile device 100 to
`mitigate the security and management shortcomings ofthe
`non-secure operating system 134.
`The connect module 144 implements the communication
`30
`protocols that are required for the mobile device 100 to com
`municate with the wireless infrastructure and any host sys
`tem, such as an enterprise system, that the mobile device 100
`is authorized to interface with. Examples of a wireless infra
`structure and an enterprise system are given in FIGS. 3 and 4.
`35
`which are described in more detail below. The connect mod
`ule 144 includes a set of APIs that can be integrated with the
`mobile device 100 to allow the mobile device 100 to use any
`number of services associated with the enterprise system. The
`connect module 144 allows the mobile device 100 to establish
`an end-to-end secure, authenticated communication pipe
`with the host system. A subset of applications for which
`access is provided by the connect module 144 can be used to
`pass IT policy commands from the host system to the mobile
`device 100. These instructions can then be passed to the
`security management module 148 to modify the security and
`management features of the device 100. Alternatively, in
`Some cases, the IT policy update can also be done over a wired
`connection.
`The integration module 146 is an interface between the
`APIs that can be provided by the connect module 144 and the
`host environment of the mobile device 100 which includes the
`operating system 134, any applications 136, network Ser
`vices, etc. Accordingly, the integration module 146 includes
`several sub-modules (not shown) that integrate the APIs pro
`vided by the connect module 144 with host environment APIs
`including APIs of the operating system 134, APIs of the
`applications 136 that are executed by the mobile device 100
`(i.e. the message application 138), APIs associated with the
`communication subsystem 104 and the like. When the con
`nect and integration modules 144 and 146 are installed on the
`mobile device 100, the integration module 146 begins carry
`ing out tasks to provide services to the mobile device 100 via
`the APIs of the connect module 144.
`The integration module 146 does not make any changes to
`the device environment per se, but augments the behavior of
`the device environment and the applications 136 by interfac
`
`50
`
`40
`
`45
`
`55
`
`60
`
`65
`
`US 8,045,958 B2
`
`10
`
`15
`
`25
`
`6
`ing with the corresponding APIs. In this fashion, the integra
`tion module 146 in combination with the security manage
`ment module 148 can affect the security capabilities of the
`non-secure operating system 134. The security management
`module 148 can provide several security features including at
`least one of application execution control, API access control,
`user authentication, device data removal, application feature
`specific control, and the like. The security management mod
`ule 148 is described in more detail below.
`The additional applications can be loaded onto the mobile
`device 100 through at least one of the wireless network 200,
`the auxiliary I/O subsystem 112, the data port 114, the short
`range communications Subsystem 122, or any other Suitable
`device subsystem 124. This flexibility in application installa
`tion increases the functionality of the mobile device 100 and
`may provide enhanced on-device functions, communication
`related functions, or both. For example, secure communica
`tion applications may enable electronic commerce functions
`and other such financial transactions to be performed using
`the mobile device 100.
`The data port 114 enables a subscriber to set preferences
`through an external device or Software application and
`extends the capabilities of the mobile device 100 by providing
`for information or software downloads to the mobile device
`100 other than through a wireless communication network.
`The alternate download path may, for example, be used to
`load an encryption key onto the mobile device 100 through a
`direct and thus reliable and trusted connection to provide
`secure device communication.
`The data port 114 can be any suitable port that enables data
`communication between the mobile device 100 and another
`computing device. The data port 114 can be a serial or a
`parallel port. In some instances, the data port 114 can be a
`USB port that includes data lines for data transfer and a
`Supply line that can provide a charging current to charge the
`battery 130 of the mobile device 100.
`The short-range communications Subsystem 122 provides
`for communication between the mobile device 100 and dif
`ferent systems or devices, without the use of the wireless
`network 200. For example, the subsystem 122 may include an
`infrared device and associated circuits and components for
`short-range communication. Examples of short-range com
`munication standards include standards developed by the
`Infrared Data Association (IrDA), Bluetooth, and the 802.11
`family of standards developed by IEEE.
`In use, a received signal Such as a text message, an e-mail
`message, or

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket