throbber
6,008,737
`[11] Patent Number:
`[19]
`United States Patent
`
`Deluca et al.
`[45] Date of Patent:
`*Dec. 28, 1999
`
`USOO6008737A
`
`[54] APPARATUS FOR CONTROLLING
`UTILIZATION OF SOFTWARE ADDED TO A
`PORTABLE COMMUNICATION DEVICE
`
`[75]
`
`.
`-
`.
`Inventors EfigflieWAIEZerhffafiEsi? fiifim’fnoug
`’
`'
`’
`0
`0
`Parkland>a110fFla~
`
`[
`
`[73] Assignee: Motorola, Inc., Schaumburg, 111.
`*
`.
`.
`.
`.
`] Notice:
`ThIS. patent issued on a continued pros-
`ecution application filed under 37 CFR
`1.53(d), and is subject to the twenty year
`patent
`term provisions of 35 U.S.C.
`5400(2).
`
`.
`[21] Appl. No” 08/672’004
`[22]
`Filed:
`Jun. 24, 1996
`
`Related US. Application Data
`
`[63]
`
`Continuation—in—part of application No. 08/452,785, May
`30: 1995: Pat- N°~ 576127682
`
`...................... G07D 7/00
`Int. Cl.5
`[51]
`
`................................ 340/825.34; 340/825.34;
`[52] US. Cl.
`340/825.44; 455/408; 379/121; 705/32
`[58] Field 0f Search
`340/825 34 825 44
`340/8253382535825 22. 455/426 405’
`406 408? 39$202101 '20’005 230’ 232’
`’
`’
`228 ’229. 37’9/11i 121’
`’
`’
`’
`
`[56]
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`...................... 340/825.44
`4,875,038 10/1989 Siwiak et al.
`5,155,680 10/1992 Wiedemer .........
`395/232
`
`5,325,418
`6/1994 McGregor et al.
`..................... 455/406
`
`................... 340/825.34
`8/1994 Matchett et al.
`5,335,278
`
`340/825.33
`12/1994 Sharpe et a1.
`5,371,493
`
`
`..... 385/232
`2/1996 Cramer et al.
`5,493,492
`..................... 455/406
`5,577,100 11/1996 McGregor et al.
`5,606,497
`2/1997 Cramer et al.
`.......................... 395/232
`5,612,682
`3/1997 De Luca etal.
`.
`340/825.44
`
`5,633,932
`.. 340/825.34
`5/1997 Davis et al.
`5,652,793
`.
`7/1997 Priem etal.
`340/825.34
`
`5,664,006
`9/1997 M t
`t
`1.
`..... 455/405
`on e e a
`Primary Examiner—Edwin C. Holloway, III
`Assistant Examiner
`A ithony A. Asongwed
`
`[57]
`
`ABSTRACT
`.
`.
`.
`An apparatus at a fixed portion (102) of a communication
`system controls utilization of software (398) in a portable
`communication device (122) that
`includes a transceiver
`(302) for communicating with the fixed portion. The por-
`table communication device receives (604) a request for
`utilization of the software. In response, the portable com-
`munication device seeks (612) a usage authorization for
`utilizing the software by generating (614) an external autho-
`rization request (428) that includes at least one of a size
`(396) of the software, a software name (394), a secure
`cheeksum, and an address (313) identifying the portable
`C0mmuni€afi°9deYice> and by communicating (.616) the
`external authorization request
`to the fixed portion. The
`secure checksum is a secure cyclic redundancy check of the
`software for which the portable communication device is
`requesting usage authorization, and is generated (624) by the
`portable communication deVice from a secure polynomial
`311
`d '
`h
`bl
`'
`'
`d
`'
`d
`store
`in t e porta e communication
`eVice an
`
`separately by the apparatus from a same secure polynomial
`(230) stored in the apparatus. The portable communication
`device disallows (640) the utilization of the software, in
`response to the usage authorization being unobtainable.
`
`9 Claims, 7 Drawing Sheets
`
`606
`USER
`ECEIVES OTA
`
`
`
`
`
`R D
`
`61
`
`602
`HARDWARE OR
`EXECUTION OF A
`USER INSTALLS I USER REQUESTS
`SOFTWARE MODULE
`PROCESS
`AND SENDS
`REGISTRATION
` PROCESS EXECUTED
`
`
`
`
`
`
`PROGRAM
`
`
`Y
`
`INTERNAL
`AUTH.
`AVAILABL
`7
`
`514
`SEND TO TRANSMITTER
`ENCRYPTED AUTHORIZATION
`
`REQUEST. ADDRESS. PROCESS
`
`NAME AND SIZE, AND SECURE CRC
`
`616
`
`ENCRVPTED
`AUTHORIZATION
`EXECUTED
`
`
`REQUEST TRANSMITFED
`
`9 PROCESS
`PROCESS
`
`
`EXECUTION
`DENIED
`
`PROCESS
`DISCARDED
`FROM MEMORY
`
`AND ALERT
`
`CHOOSE RANDOM
`BYTES FOR
`POLYNOMIAL
`
`GENERATOR
`GENERATE CRC FOR
`
`PROCESS USING
`
`RANDOM CRC
`GENERATOR
`
`PROCESS
`
`EXECUTION
`
`
`DENIED; USE'
`
` TORE ADDRESS POINTERS,
`
`ALERTED
`
`PROCESS NAME AND SIZE,
`RANDOM CRC AND
`
`EXPIRATION TIME
`
`
`ENCRVPTED WITH SECURE
`POLYNOMIAL GENERATOR
`
`
`
`698
`
`
`
`
`
`
`PETITIONERS EX. 1004 Page 1
`
`PETITIONERS Ex. 1004 Page 1
`
`

`

`US. Patent
`
`Dec. 28, 1999
`
`Sheet 1 0f7
`
`6,008,737
`
`104
`
`I
`
`
`
`__
`
`118
`
`I
`I
`I
`
`|
`
`I
`
`I
`
`_|
`
`I____ ____ ____ __
`
`113
`
`120
`
`113
`
`'—
`
`1 a
`
`r
`I
`I V
`
`V
`
`K
`V
`
`V
`
`116
`
`K. 116
`
`11s
`
`BASE
`STATION
`
`BASE
`STATION
`
`BASE
`STATION
`
`114
`
`114
`
`114
`
`CONTROLLER
`
`1 12
`
`
`
`
` PUBLIC
`SWITCHED
`TELEPHONE
`NETWORK
`
`124
`
`TELEPHONE
`
`FIG. 1
`
`II
`
`I I
`
`I I I
`
`I I I I I I
`
`PETITIONERS EX. 1004 Page 2
`
`'—————————123 ———————— L— _____ '
`I
`K—
`I
`PORT
`
`I
`
`'
`I
`I
`
`I
`
`I
`
`I
`
`COMM
`DEV.
`
`f 122
`PORT.
`OMM.
`DEV.
`
`722
`PORT.
`OMM.
`DEV.
`
`122
`
`PORT.
`COMM
`
`DEV.
`
`PETITIONERS Ex. 1004 Page 2
`
`

`

`US. Patent
`
`Dec. 28, 1999
`
`Sheet 2 0f 7
`
`6,008,737
`
`PORTABLE DEVICE RECORDS
`
`PORTABLE DEVICE ADDRESS
`
`PROCESS RECORD
`
`218
`
`220
`
`220
`
`226
`
`PROCESS RECORD LIST OF PROCESSES
`
`PROCESS RECORD
`
`PORTABLE DEVICE ADDRESS
`
`PROCESS RECORD
`
`I
`
`XMTR
`
`101
`
`PROCESSOR
`
`TEL-
`
`J
`212
`
`228
`
`118
`
`' 203
`I
`
`210
`
`206
`
`I '
`
`
`
`I
`
`:0“
`230
`(I
`STATION
`I
`|
`
`
`
`I
`SECURE POLYNOMIAL
`231
`116 -------- I
`
`SECURE ENCRYPTION KEY
`232
`I
`
`CALL PROCESSING
`I
`234
`I
`
`PROCESS LISTER
`236 I
`I
`
`
`REQUEST RECEIVER
`233
`I
`I
`
`LIST CHECKER
`240
`I
`11:I
`
`
`' —M 242 I EXTERNAL AUTHORIZATION
`
`FIG 2
`AUTHORIZATION DENIAL
`
`
`CONTROLLER
`
`PETITIONERS EX. 1004 Page 3
`
`PETITIONERS Ex. 1004 Page 3
`
`

`

`US. Patent
`
`Dec. 28, 1999
`
`Sheet 3 0f 7
`
`6,008,737
`
`379
`
`380
`383,84
`386
`387
`388
`
`1—2—2
`FIG. 3
`
`K375
`39”
`IAUTHORIZATIONI
`2
`38384:
`MEDIUM
`:
`
`
`
`
`
`368
`
`366
`
`
`——
`——
`PROCESS SIZE
`
`RANDOM CRC
`
`EXPIRATION TIME
`
`——
`
`378
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ADDRESS POINTERS
`PROCESS NAME
`PROCESS SIZE
`RANDOM CRC
`EXPIRATION TIME
`
`SOFTWARE MODULE
`
`
`
`
`
`
`
`PROCESS NAME
`PROCESS SIZE
`
`PROCESS EXECUTABLE
`
`
`I
`I
`
`
`
`SOFTWARE MODULE
`
`
`
`
`
`
`
`PROCESS EXECUTABLE
`
`
`PROCESS NAME
`PROCESS SIZE
`
`374
`
`376
`
`PROGRAM
`INTERFACE
`
`308
`
`
`
`PROCESSOR
`
`364
`
`309
`
`313
`
`/¥
`
`306
`
`POWER
`SWITCH
`
`302
`
`3
`
`TRANSCEIVER
`
`399 REAL-TIME
`CLOCK
`
`HESS
`HEDIIIII
`
`'
`
`USER
`CONTROLS
`
`310
`
`
`
`SECURE POLYNOMIAL
`
`SECURE ENCRYPTION KEY
`
`CALL PROCESSING
`
`
`
`
`
`
`
`SECURITY
`
`
`H
`I
`
`311
`
`312
`
`314
`
`315
`
`PETITIONERS EX. 1004 Page 4
`
`PETITIONERS Ex. 1004 Page 4
`
`

`

`US. Patent
`
`Dec. 28, 1999
`
`Sheet 4 0f7
`
`6,008,737
`
`315
`
`315
`I
`AUTHORIZATION
`318
`FIRST ALLOWER
`320
`I
`SECOND ALLOWER
`322
`II
`HARDWARE PERFORMER
`SOFTWARE PERFORMER .|| 324
`INTERNAL AUTHORIZER
`H 323
`EXTERNAL AUTHORIZER
`II
`330
`DETERMINATION
`II
`332
`RADIo AUTHORIZER
`I
`334
`TRANSMITTER CONTROLLER
`I
`336
`SECURE CHECKSUM
`Ill
`CALCULATOR ~ 333
`SENDER
`III
`340
`CREATOR
`I
`344
`GENERATOR
`I
`345
`CHOOSER
`I
`343
`CHECKSUM CALCULATOR
`I
`350
`
`352
`
`ml 352
`PLACER
`l
`354
`
`DISALLOWER
`I
`356
`FIRST DISABLER
`II
`353
`
`—SECONDDISABLER
`I
`360
`
`THIRD DISABLER
`
`FIG. 4
`
`PETITIONERS EX. 1004 Page 5
`
`PETITIONERS Ex. 1004 Page 5
`
`

`

`US. Patent
`
`Dec. 28, 1999
`
`Sheet 5 0f 7
`
`6,008,737
`
`416
`
`418
`
`420
`
`A TH.
`5MB
`
`-------- 'l
`PROCESS NAME EXPIRATION TIME ;
`
`ENCRYPTED
`
`404
`
`MESSAGE OUTBOUND SEL. CALL
`
`MESSAGE
`VECTOR
`
`UTBOUND
`O
`MESSAGE
`
`
`
`
`
`SYNC
`
`ADDRESS
`
`406
`
`4a.
`
`412
`
`
`
`402
`
`
`
`
`INBOUND
`SYNC
`
`INBOUND
`MESSAGE
`
`
`
`
`
`
`ENCRYPTED
`
`430
`
`MESSAGE
`
`RQJE'ST ADDRESS PROCESS NAME PROCESS SIZE-
`
`432
`
`434
`
`436
`
`438
`
`44a
`
`400
`
`FIG. 5
`
`PETITIONERS EX. 1004 Page 6
`
`PETITIONERS Ex. 1004 Page 6
`
`

`

`US. Patent
`
`Dec. 28, 1999
`
`Sheet 6 0f7
`
`6,008,737
`
`CONTROLLER RECEIVES ENCRYPTED
`EXTERNAL AUTHORIZATION
`REQUEST MESSAGE
`
`CONTROLLER DECIPHERS ENCRYPTED
`MESSAGE FROM THE PORTABLE
`COMMUNICATION DEVICE
`
`CONTROLLER IDENTIFIES THE PORTABLE
`COMMUNICATION DEVICE BY SELECTIVE CALL
`ADDRESS, AND PROCESS IS IDENTIFIED BY
`
`PROCESS NAME, SIZE AND CRC
`508
`AUTH.
`
`
`REQUEST
`VALID
`
`7
`
`510
`
`
`
`502
`
`504
`
`506
`
`512
`
`CONTROLLER SENDS
`
`ENCRYPTED PROCESS
`AUTHORIZATION INCLUDING
`PROCESS NAME AND SIZE TO
`
`BASE TRANSMITTER
`
`CONTROLLER SENDS NOT
`AUTHORIZED COMMAND TO
`TRANSMITTER
`
`BASE TRANSMITTER
`TRANSMITS AUTHORIZATION
`MESSAGE
`
`514
`
`Y
`
`ACK
`RECEIVED
`?
`
`500
`
`F123. 6
`
`PETITIONERS EX. 1004 Page 7
`
`PETITIONERS Ex. 1004 Page 7
`
`

`

`US. Patent
`
`Dec. 28, 1999
`
`Sheet 7 0f7
`
`6,008,737
`
`9
`
`602
`
`
`
`USER INSTALLS
`HARDWARE OR
`SOFTWARE MODULE
`AND SENDS
`REGISTRATION
`
`USER REQUESTS
`EXECUTION OF A
`PROCESS
`
`USER
`RECEIVES OTA
`PROGRAM
`
`606
`
`PROCESS XECUTED
`
`
`610
`
`0
`
`6’2
`N
`
`614
`
`
`SEND TO TRANSMITTER
`ENCRYPTED AUTHORIZATION
`
`
`REQUEST, ADDRESS, PROCESS
`
`
`NAME AND SIZE, AND SECURE CRC
`
`638
`
`Y
`
`Y
`
`636
`
`N
`
`
`
`PROCESS
`EXECUTED
`
`
`PROCESS
`EXECUTION
`
`DENIED
`
`
`
`PROCESS
`DISCARDED
`
`FROM MEMORY
`
`AND ALERT
`
`
`
`
`
`616
`
`620
`
`ENCRYPTED
`AUTHORIZATION
`REQUEST TRANSMITTED
`
`51"
`
`Y
`
`
`
`-
`

`
`622
`
`
`
`v
`CHOOSE RANDOM
`BYTES FOR
`POLYNOMIAL
`
`
`GENERATOR
`
`
`
`
`
`TMO
`EXPIRED
`?
`
`Y
`
`
`
`
`GENERATE CRC FOR
`PROCESS USING
`RANDOM CRC
`GENERATOR
`
`
`
`
`6 4
`
`
`
`
`626
`
` TORE ADDRESS POINTERS,
`
`PROCESS NAME AND SIZE,
`
`
`RANDOM CRC AND
`EXPIRATION TIME
`ENCRYPTED WITH SECURE
`
`
`POLYNOMIAL GENERATOR
`
`PROCESS
`EXECUTION
`
`DENIED; USER
`ALERTED
`
`PETITIONERS EX. 1004 Page 8
`
`PETITIONERS Ex. 1004 Page 8
`
`

`

`6,008,737
`
`1
`APPARATUS FOR CONTROLLING
`UTILIZATION OF SOFTWARE ADDED TO A
`PORTABLE COMMUNICATION DEVICE
`
`This application is a continuation-in-part of application
`Ser. No. 08/452,785 filed May 30, 1995, by Deluca et al.,
`entitled “Method and Apparatus for Controlling Utilization
`of a Process Added to a Portable Communication Device”,
`now US. Pat. No. 5,612,682, issued Mar. 18, 1997.
`FIELD OF THE INVENTION
`
`to communication
`This invention relates in general
`systems, and more specifically to a method and apparatus for
`controlling utilization of a process added to a portable
`communication device.
`
`BACKGROUND OF THE INVENTION
`
`In the past, paging devices were limited to alpha-numeric
`and voice paging. With technology improvements in circuit
`integration and more efficient communication protocols that
`provide two-way communication, paging devices have
`grown in sophistication and services provided. With today’s
`technology improvements, paging devices are expected to
`acquire more sophisticated functions such as electronic
`mailing services, spread sheet applications,
`investment
`finance services such as stock market charts, quotation
`requests, purchase and sale transactions, etc. These services
`require sophisticated software applications and/or hardware
`modules to be operated in the paging device. Paging devices
`using sophisticated services such as these will require a
`means for registration and licensing to prevent unauthorized
`use of processes, including software applications and hard-
`ware modules. In prior art devices registration has been
`accomplished by mailing a signed certificate with a purchase
`receipt of a software application or hardware module. This
`form of registration, however, does not prevent an unscru-
`pulous user from using pirated software applications and/or
`unauthorized hardware modules.
`
`is needed is a method and apparatus for
`Thus, what
`controlling utilization of a process added to a portable
`communication device. Preferably, the method and appara-
`tus should serve as a mechanism to prevent unauthorized use
`of software applications and hardware modules.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is an electrical block diagram of a communication
`system in accordance with the preferred embodiment of the
`present invention.
`FIG. 2 is an electrical block diagram of elements of a fixed
`portion of the communication system in accordance with the
`preferred embodiment of the present invention.
`FIGS. 3 and 4 are elements of an electrical block diagram
`of a portable communication device in accordance with the
`preferred embodiment of the present invention.
`FIG. 5 is a timing diagram of elements of an outbound
`protocol and an inbound protocol of the fixed and portable
`portions of the communication system in accordance with
`the preferred embodiment of the present invention.
`FIG. 6 is a flow chart depicting an authorization operation
`of the fixed portion in response to a message originated by
`the portable communication device in accordance with the
`preferred embodiment of the present invention.
`FIG. 7 is a flow chart depicting an authorization operation
`of the portable communication device as it attempts to
`obtain authorization to use a process in accordance with the
`preferred embodiment of the present invention.
`
`2
`DESCRIPTION OF THE PREFERRED
`EMBODIMENT
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Referring to FIG. 1, an electrical block diagram of a
`communication system in accordance with the preferred
`embodiment of the present
`invention comprises a fixed
`portion 102 and a portable portion 104. The fixed portion
`102 includes a plurality of base stations 116, for communi-
`cating with the portable portion 104, utilizing conventional
`techniques well known in the art, and coupled by commu-
`nication links 114 to a controller 112 which controls the base
`
`stations 116. The hardware of the controller 112 is preferably
`a combination of the Wireless Messaging Gateway
`(WMGTM) Administrator!TM paging terminal and the
`RF-Conductor!® message distributor manufactured by
`Motorola, Inc. The hardware of the base stations 116 is
`preferably a combination of the Nucleus® RF-Orchestra! TM
`transmitter and RF-Audience!TM receivers manufactured by
`Motorola, Inc.
`It will be appreciated that other similar
`hardware can be utilized as well for the controller 112 and
`base stations 116.
`
`Each of the base stations 116 transmits radio signals to the
`portable portion 104 comprising a plurality of portable
`communication devices 122 via a transmitting antenna 120.
`The base stations 116 each receive radio signals from the
`plurality of portable communication devices 122 via a
`receiving antenna 118. The radio signals comprise selective
`call addresses and messages transmitted to the portable
`communication devices 122 and acknowledgments received
`from the portable communication devices 122. It will be
`appreciated that the portable communication devices 122
`can also originate messages other than acknowledgments, as
`will be described below. The controller 112 preferably is
`coupled by telephone links 101 to a public switched tele-
`phone network (PSTN) 110 for receiving selective call
`originations therefrom. Selective call originations compris-
`ing voice and data messages from the PSTN 110 can be
`generated, for example, from a conventional telephone 124
`coupled to the PSTN 110 in a manner that is well known in
`the art.
`Data and control transmissions between the base stations
`
`116 and the portable communication devices 122 preferably
`utilize a protocol similar to Motorola’s well-known FLEXTM
`digital selective call signaling protocol. This protocol uti-
`lizes well-known error detection and error correction tech-
`
`niques and is therefore tolerant to bit errors occurring during
`transmission, provided that the bit errors are not too numer-
`ous in any one code word.
`Outbound channel
`transmissions comprising data and
`control signals from the base stations 116 preferably utilize
`two and four-level frequency shift keyed (FSK) modulation,
`operating at sixteen-hundred or thirty-twohundred symbols-
`per-second (sps), depending on traffic requirements and
`system transmission gain. Inbound channel transmissions
`from the portable communication devices 122 to the base
`stations 116 preferably utilize four-level FSK modulation at
`a rate of ninety-six-hundred bits per second (bps). Inbound
`channel
`transmissions preferably occur during predeter-
`mined data packet time slots synchronized with the out-
`bound channel transmissions. It will be appreciated that,
`alternatively, other signaling protocols, modulation
`schemes, and transmission rates can be utilized as well for
`either or both transmission directions. The outbound and
`
`inbound channels preferably operate on a single carrier
`frequency utilizing well-known time division duplex (TDD)
`techniques for sharing the frequency. It will be further
`appreciated that, alternatively, the outbound and inbound
`
`PETITIONERS EX. 1004 Page 9
`
`PETITIONERS Ex. 1004 Page 9
`
`

`

`6,008,737
`
`3
`channels can operate on two different carrier frequencies
`using frequency division multiplexing (FDM) without
`requiring the use of TDD techniques.
`US. Pat. No. 4,875,038 to Siwiak et al., which describes
`a prior art acknowledge-back radio communication system,
`is hereby incorporated herein by reference. For further
`information on the operation and structure of an
`acknowledge-back radio communication system, please
`refer to the Siwiak et al., patent.
`Referring to FIG. 2, an electrical block diagram of ele-
`ments 200 of the fixed portion 102 in accordance with the
`preferred embodiment of the present invention comprises
`portions of the controller 112 and the base stations 116. The
`controller 112 comprises a processor 210 for directing
`operation of the controller 112. The processor 210 preferably
`is coupled through a transmitter interface 208 to a transmit-
`ter 202 via the communication links 114. The communica-
`tion links 114 use conventional means well known in the art,
`such as a direct wire line (telephone) link, a data commu-
`nication link, or any number of radio frequency links, such
`as a radio frequency (RF) transceiver link, a microwave
`transceiver link, or a satellite link, just to mention a few. The
`transmitter 202 transmits two and four-level FSK data
`
`messages to the portable communication devices 122. The
`processor 210 is also coupled to at least one receiver 204
`through a receiver interface 206 via the communication links
`114. The receiver 204 demodulates four level FSK and can
`
`10
`
`15
`
`20
`
`25
`
`be collocated with the base stations 116, as implied in FIG.
`2, but preferably is positioned remote from the base stations
`116 to avoid interference from the transmitter 202. The
`
`30
`
`receiver 204 is for receiving one or more acknowledgments
`and/or messages from the portable communication devices
`122.
`
`The processor 210 is coupled to a telephone interface 212
`for communicating with the PSTN 110 through the tele-
`phone links 101 for receiving selective call originations. The
`processor 210 is also coupled to a random access memory
`(RAM) 214 comprising a database of portable device
`records 216 and a database of processes 226. The database
`of portable device records 216 contains, as a minimum, a list
`of process records 220 for each portable communication
`device 122. To access the list of process records 220 of a
`portable communication device 122, a portable device
`address 218 corresponding to the address of a portable
`communication device 122 is used to search the database of
`
`portable device records 216. The list of process records 220
`specifies the software and hardware processes which are
`authorized for use by a portable communication device 122
`having the portable device address 218. Each process record
`220 contains a list of process verification elements used for
`process authorization of external authorization requests
`transmitted by the portable communication devices 122, as
`will be described below. The verification elements contained
`
`in the process record 220 for both hardware and software
`processes include a process name, a process size and a
`secure cyclic redundancy check (CRC).
`The database of processes 226 preferably comprises
`binary executables (machine code) of many of the autho-
`rized software processes available for use by the portable
`communication devices 122. The software processes stored
`in the RAM 214 of the controller preferably can be delivered
`to portable communication devices 122 by way of over-the-
`air (OTA) programming utilizing techniques well known in
`the art.
`
`The processor 210 also is coupled to a read-only memory
`(ROM) 228.
`It will be appreciated that other types of
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`memory, e.g., electrically erasable programmable ROM
`(EEPROM) or magnetic disk memory, can be utilized for the
`ROM 228, as well as the RAM 214. It will be further
`appreciated that the RAM 214 and the ROM 228, singly or
`in combination, can be integrated as a contiguous portion of
`the processor 210. Preferably, the processor 210 is similar to
`the DSP56100 digital signal processor (DSP) manufactured
`by Motorola, Inc. It will be appreciated that other similar
`processors can be utilized for the processor 210, and that
`additional processors of the same or alternate type can be
`added as required to handle the processing requirements of
`the controller 112.
`The first two elements in the ROM 228 include a secure
`
`polynomial 230 and a secure encryption key 231. The secure
`polynomial 230 is used as a secure polynomial generator for
`CRC verification of process executables requested by exter-
`nal authorization request messages transmitted by portable
`communication devices 122. The portable communication
`devices 122 use the same secure polynomial generator for
`CRC generation. Using the same secure polynomial genera-
`tor for both the fixed portion 102 and portable portion 104
`of the communication system provides a means for verifying
`authenticity of software and hardware processes requested
`by the portable communication devices 122. The secure
`encryption key 231 is used for encryption and decryption of
`authorization messages transmitted between the portable
`communication devices 122 and the base stations 116.
`
`Similarly, the portable communication devices 122 use the
`same secure encryption key for external authorization mes-
`sage transactions. Using secure encryption between the fixed
`portion 102 and the portable portion 104 of the communi-
`cation system provides a method for transmitting secure
`two-way messages which are unlikely to be breached. The
`encryption process converts an unscrambled sequence to a
`pseudo-random sequence coded by a scrambler and decoded
`by a descrambler. The scrambler and descrambler use pref-
`erably polynomial generators with feedback paths which use
`modulo 2 (Exclusive Or) addition on the feedback taps. The
`descrambler uses the same architecture as the scrambler for
`
`descrambling the message. Using a nonlinear feedback shift
`register (NFSR) architecture provides a secure approach for
`message encryption which makes it difficult, if not compu-
`tationally intractable for a person to decipher the encryption
`key. The present invention preferably uses a conventional
`self-synchronizing stream encryption system which utilizes
`a NFSR architecture, as is well known by one of ordinary
`skill in the art. It will be appreciated that, alternatively, other
`methods which provide suitably secure encryption can be
`used. It will be further appreciated that, alternatively, mes-
`sage transactions between the base stations 116 and the
`portable communication devices 122 can be non-encrypted.
`To protect against unauthorized access, the secure poly-
`nomial 230 and the secure encryption key 231 preferably are
`stored in a secure portion of the ROM 228 which can only
`be accessed by the processor 210. Preferably, this portion of
`the ROM 228 is integrated with the processor 210 as a
`protected mask read only memory (MROM), and is pro-
`grammed during the manufacturing process of the processor
`210. As is well known by one of ordinary skill in the art,
`once a protected MROM has been programmed the pro-
`tected portion of the MROM is only accessible by the
`processor 210 and cannot be accessed by external hardware
`coupled to the processor 210. Alternatively,
`the secure
`polynomial 230 and the secure encryption key 231 can be
`included in a re-programmable non-volatile memory such as
`a FLASH memory, an EEPROM memory or magnetic disk
`memory, but accessibility of the secure polynomial 230 and
`
`PETITIONERS EX. 1004 Page 10
`
`PETITIONERS Ex. 1004 Page 10
`
`

`

`6,008,737
`
`5
`secure encryption key 231 are preferably restricted by the
`service provider to authorized personnel only. Using
`re-programmable non-volatile memories provides flexibility
`of adding more polynomial elements and encryption keys
`for system and subscriber unit expansion.
`The ROM 228 of the processor 210 also includes firm-
`ware elements for use by the processor 210. The firmware
`elements include a call processing element 232, a process
`lister element 234, a request receiver element 236, a list
`checker element 238, an external authorization element 240
`and an authorization denial element 242. The call processing
`element 232 handles the processing of an incoming call for
`a called party and for controlling the transmitter 202 to send
`a selective call message to the portable communication
`device 122 corresponding to the called party, utilizing tech-
`niques well known in the art. The process lister element 234
`manages the database of portable device records 216 stored
`in the RAM 214 for each portable communication device
`122 utilizing database management techniques well known
`in the art. The request receiver element 236 processes
`encrypted external authorization request messages received
`by the receiver 204 of the base station 116 and originating
`from the portable communication devices 122. The
`encrypted external authorization request message is
`decrypted with the secure encryption key 231 described
`above. The external authorization request for hardware and
`software processes comprises at least a process name and a
`process size corresponding to the process, along with a
`secure checksum and an address identifying the portable
`communication device 122. Optionally, an authorization
`request command can accompany the external authorization
`request message. Preferably, the authorization request com-
`mand is included in the address portion of the portable
`communication device 122 address. Alternatively, the autho-
`rization request command can be in a separate element in the
`external authorization request message. The secure check-
`sum is preferably a secure CRC of the software process for
`which the portable communication device 122 is requesting
`authorization. The CRC is generated by the portable com-
`munication device 122 by using a polynomial generator
`stored in its memory, which is the same as the secure
`polynomial 230 used by the controller 112, as described
`above. The secure checksum provides a means for verifying
`that the process being used by the portable communication
`device 122 is an authorized version. The list checker element
`
`238 uses the address, corresponding to the portable com-
`munication device 122, received in the external authoriza-
`tion request message as a portable device address 218. The
`processor 210, as described above, searches through the
`database of portable device records 216 to find the list of
`process records 220 corresponding to the portable device
`address 218 matching the address of the portable commu-
`nication device 122. The list checker element 238 then
`
`checks each process record 220 for a match to the process
`name, process size and secure CRC received in the external
`authorization request message. If a match is found, then
`authorization is given to the portable communication device
`122 for using the requested software or hardware process. If
`a match is not found, then authorization is denied. When the
`list checker element 238 authorizes a process requested by
`the portable communication device 122, the processor 210
`calls on the external authorization element 240 to process
`the external authorization response message to be transmit-
`ted to the portable communication device 122. The external
`authorization response message preferably comprises an
`authorization command, the process name of the authorized
`process and an expiration time for the process. It will be
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`the external authorization
`appreciated that, alternatively,
`response message can include a plurality of process names
`and expiration times authorizing a plurality of processes
`requested by the portable communication device 122.
`Before the external authorization element 240 sends the
`
`external authorization response message to the transmitter
`202 of the base station 116,
`the external authorization
`response message is encrypted, using the method described
`above, to secure the RF transmission of the message. When
`the list checker element 238 denies authorization of a
`
`process to a portable communication device 122, the pro-
`cessor 210 calls on the authorization denial element 242 to
`
`process the external authorization denial response message
`to be transmitted to the portable communication device 122.
`The external authorization denial response message com-
`prises an authorization command which includes a “not
`authorized” signal denying authorization, and a process
`name of the process being denied. It will be appreciated that
`the external authorization denial response message can
`include a plurality of process names denying authorization
`to a plurality of processes requested by the portable com-
`munication device 122. As is done with the external autho-
`
`rization response message, the external authorization denial
`response message is encrypted before it is transmitted to the
`portable communication device 122 by the base stations 116.
`According to an auditing operation of the fixed portion
`102, the processor 210 is programmed by way of the ROM
`228 to periodically audit the portable communication device
`122 through a radio channel of the communication system to
`determine a catalog of internal authorizations 382 (FIG. 3)
`stored in the portable communication device 122.
`In
`addition, the processor 210 is programmed to periodically
`audit
`the portable communication device 122 through a
`radio channel of the communication system to determine a
`quantitative usage of each of the processes 398 (FIG. 3) used
`by the portable communication device 122, and to bill a user
`of the portable communication device 122 in response to the
`quantitative usage determined. The processor 210 is also
`programmed by way of the ROM 228 to maintain a list of
`authorized processes 398 in the process records 220 corre-
`sponding to the portable communication device 122, and to
`compare the catalog of internal authorizations 382 with the
`list of authorized processes 398 corresponding to the por-
`table communication device to determine whether any of the
`internal authorizations 382 stored in the portable commu-
`nication device 122 are invalid. The processor 210 is further
`programmed by way of the ROM 228 to store an indication
`in a user database entry (not shown) in the RAM 214
`corresponding to the portable communication device 122
`that an invalid internal authorization 382 has been found
`
`therein, in response to determining that at least one of the
`internal authorizations 382 stored in the portable commu-
`nication device 122 is invalid. The processor 210 is also
`programmed to transmit a command to the portable com-
`munication device 122 to delete at least one of the internal
`
`authorizations 382, in response to determining that the at
`least one of the internal authorizations 382 stored in the
`
`portable communication device 122 is invalid. These opera-
`tional features will be described further herein below.
`
`According to a message sending operation of the fixed
`portion 102, the processor 210 is programmed by way of the
`ROM 228 to queue a message for transmission to the
`portable communication device 122, the message requiring
`a predetermined process 398 in the portable communication
`device 122 in order to process the message. In addition, the
`processor 210 is programmed to determine that the portable
`communication device 122 does not have a predetermined
`
`PETITIONERS EX. 1004 Page 11
`
`PETITIONERS Ex. 1004 Page 11
`
`

`

`6,008,737
`
`7
`usage authorization 382 for utilizing the predetermined
`process 398; and in response, to grant the predetermined
`usage authorization 382 to the portable communication
`device 122 through the radio channel of the communication
`system (after verifying, for example, that the account of the
`user of the portable communication device 122 is in good
`standing). Preferably, the processor 210 determines that the
`portable communication device 122 does not have the
`predetermined usage authorization 382 by auditing the por-
`table communication device 122 over the radio channel. It
`
`will be appreciated that, alternatively, the processor 210 can
`determine from its own internal process records 220 that the
`portable communication device 122 has not been previously
`authorized for utilizing the predetermined process 398.
`If the predetermined process 398 is a software process, the
`processor 210 is further programmed to determine that the
`portable communication device 122 does not have the
`software process, e.g., by receiving from the portable com-
`munication device 122 a request for the software process;
`and in response, to download the software process to the
`portable communication device 122 through the radio chan-
`nel. Preferably, before downloading the software process,
`the processor 210 is further programmed to transmit terms of
`a licensing agreement to the portable communication device
`122, to receive from the portable communication device 122
`a reply indicating whether the user of the portable commu-
`nication device 122 agrees to the terms, and to omit down-
`lo

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