`
`[19]
`
`[11] Patent Number:
`
`6,026,293
`
`Osborn
`
`[45] Date of Patent:
`
`Feb. 15, 2000
`
`US006026293A
`
`[54]
`
`SYSTEM FOR PREVENTING ELECTRONIC
`MEMORY TAMPERING
`
`[75]
`
`Inventor: William R. Osborn, Cary Wake, N.C.
`
`[73] Assignee: Ericssnn lnc., Research Triangle Park,
`NC‘
`
`FOR]-JIGN i>A'rEN'i' DOCUMENTS
`0 583 100
`2,/1994 European Pat. Otf. .
`2681965
`4/1990
`France .
`W091/09484 12/1990 WIPO ,
`
`OTHER PUBLICATIONS
`Preneel, B., “Cryptographic Hash Functions” European
`Transactions on Telecommunications and Related Technolo-
`
`[21] Appl- No: 08/706.574
`22
`Ffl d,
`S
`_ 5 1996
`ep
`0
`’
`]
`[
`[51] hit. Cl.7 .............................. .. H04L 9/28; H04L 9/30;
`HO4Q 7/'32
`............................... 455/411; 455/418; 380/4;
`380/25; 380/30; 711/164
`
`[52] U.S. C].
`
`gies, vol. 5, No. 4, pp. 17-34, Jul. 1994.
`“Mobile Station—Base Station Compatibility Standard for
`Dual—Mode Wideband Spread Spectrum Cellular System”,
`TIA/EIA/IS—95—A, Sections 2.3.12.1 through 2.3.12.1.9,
`Telecommunications Industry Association (May 1995).
`B. Schneier, Applied Cryptography, John Wiley & Sons,
`Inc., pp. 291-296, 321-346 (1994).
`
`[58] Field of Search ............................... .. 455/410, 411,
`455/418: 419? 711/163’ 1645 395/186; 380/4’
`25, 30
`
`p,.i,,m,.y Examme,._AndrcW M_ D0111-Jar
`Attorney, Agent, or Firm—Bums, Doane, Swecker &
`Mathis, L.L.P.
`
`ABSTRACT
`[57]
`Methods and apparatus for preventing tampering with
`memory in an electronic device, such as a cellular telephone,
`are disclosed. An electronic device having a memory and a
`processing means contains logic that is used to perform a
`‘
`.
`’
`.
`,
`one-way hash calculation on the device s memory contents
`tvhereby an audit hash value, or signature, of such contents
`is derived. The audit hash value 1S compared to a an
`authenticated valid hash value derived from authentic
`memory contents. A difference between the audit and valid
`51311135
`bgflflndlcatlvi 0fffl'1:1f;[—nOryt'[aH1pf1;r11—:,g,
`1'1-1
`accor ance W1
`ano er as ec o
`e inven ion, e ec ronic
`device memory contents calfi be updated by a data transfer
`-
`-
`-
`-
`-
`-
`device that is authenticated before being permitted access to
`Fhe memory °°““’“‘5~ D3.” “'fm5f"‘ d""1°"' a“Fh°““°a“°“
`involves the use of a public,/private key encryption scheme.
`When the data transfer device interfaces with a electronic
`device and requests memory access, a process to authenti-
`cate the data transfer device is initiated.
`
`50 Claims, 12 Drawing Sheets
`
`[56]
`
`References Cited
`U3, PATENT DOCUMENTS
`
`4,405,829
`
`............................ .. 380/'30
`
`
`
`9,/1983 Rivest et al.
`,
`" 38050
`$1988 sham“ el al‘
`4’748’668
`455/550
`3/1989 Krolopp et al.
`4,811,377
`455/419
`_
`9/1991 Zicker et al,
`5,046,082
`__ 380,30
`8/1992 Anderson _______ __
`5,142,579
`,_ 330,/44
`5,153,919 10,/1992 Rccds, 111 ct a1_
`,_ 380/23
`5,204,902
`4/1993 Reeds, 111 et a1,
`5,224,160
`6,/1993 Paulini et al.
`............................ .. 380/4
`....................................
`I
`--
`-
`~
`r’
`-,
`2
`-
`8'/1994 M°°"’ """""""
`" 380/4
`53431527
`1/1995 Henrickson et al
`380/'23
`5,384,847
`1/1995 Akiyama et al,
`........................N 380/4
`5,386,468
`3/1995 Niiyama et al.
`........................ 455/413
`5,400,389
`8/.1995 Ugon et ,1,
`371/25,1
`5,442,645
`8,/1995 Kung ,,,,,,,,_
`,, 33030
`5,442,705
`5,475,753 12,/1995 Kikuchi
`__ 330,/25
`5,551,073
`8/1996 Saniinarco
`455/411
`5,606,315
`2,/1997 Gaskins ....... ..
`380/4
`5,737,701
`4,/1998 Rosenthal et al.
`.................... .. 455/411
`
`
`
`
`
`420
`
`-422
`
`Flash Program
`Memory
`
`400
`
`
`
`
`410
`
`412
`414
`416
`418
`
` EEPROM
`
`User Profile
`I
`MIN
`ESN
`I
`Signedlunsigned I
`Hash Value Pair
`
`
`MicroprocessorI-
`
`int NMI
`::
`
`407’
`
`403
`
`
`
`-404
`
`421
`
`Boot Code
`Interrupt
`
`Controller
`
`HASH Code L’
`
`Public Key
`Hardware-based
`405
`Authentic.
`Timers T1 & T2
`
`406
`Code
`409
`
`
`
`
`401
`
`1
`
`APPLE 1001
`
`1
`
`APPLE 1001
`
`
`
`U.S. Patent
`
`Feb. 15, 2000
`
`Sheet 1 of 12
`
`6,026,293
`
`2
`
`
`
`U.S. Patent
`
`Feb. 15,2000
`
`Sheet 2 of 12
`
`6,026,293
`
`Receive MIN m and ESN m
`
`Look up ESNSYS
`
`Based on MIN m
`
`
`
`200
`
`202
`
`206
`
`Permit
`
`Access
`
`204
`
`No
`
`
`
`208
`
`
`
`Prior Art
`
`Figure 2
`
`3
`
`
`
`U.S. Patent
`
`Feb. 15,2000
`
`Sheet 3 of 12
`
`6,026,293
`
`Sn
`
`N_.m
`
`Em
`
`©_.m
`
`Em
`
`mom
`
`om:
`
`_%
`
`
`
`LTboEw_>_Em._m2n_
`
`fimm.5_>_OM
`
`Nun
`
`t<_o_._n_
`
`omm
`
`s_<m
`
`own
`
`En
`
`080som
`
`m93?.
`
`_ommooo5o.o__2
`
`8m
`
`Em
`
`mom
`
`4
`
`
`
`
`
`
`
`U.S. Patent
`
`Feb. 15, 2000
`
`Sheet 4 of 12
`
`6,026,293
`
`VmSm_u_
`
`080-.o_Em5=<
`
`3..ouoo_._w<_._.5__eEoo
`
`
`
`me.I3xo__§n__o$B-9maE2._Ev
`
`
`
`N._.wE.m.mc.__._.
`
`Nov_ommmuoE9_u__>_
`
`.22E.
`
`
`
`
`
`mowmuoo~oom_E:tmE_Ev
`
`
`
`
`
`._mn_m:_m>fin:
`
`0:»
`
`NE»
`
`3;»
`
`min
`
`Ev
`
`um:m_wc3Bmcm_m..
`
`%_
`
`NovA>._OF_0_>_
`
`vmw
`
`’oov
`
`
`
`EEmo._n_cmmi
`
`mmv
`
`mow
`
`_>_<mON.»
`
`5
`
`
`
`
`
`
`
`U.S. Patent
`
`Feb. 15, 2000
`
`Sheet 5
`
`of 12
`
`6,026,293
`
`IROM code
`
`
`
` lROM code
`
`computes audit
` 502
`hash value based
`
`
`
`on memory
`contents
`
`504
`
`
`
` IROM code
`authenticates hash
`
`value pair stored in
`EEPROM
`
`Phone boots up
`from
`
`microprocessor
`
`500
`
`Figure 5
`
`514
`
`
`
` IROM code stores
`authenticated hash
`506
`
`value in protected
`SRAM
`
`
`
`
`
` Does audit
`hash value match
`
`authenticated hash
`
`
`PSRAM?
`
`
`value in
`
`508
`
`
`
`No
`
`Put phone into
`infinite loop
`
`
`
`Begin normal
`mobile telephone
`operation using
`flash code
`
`
`
`initiate periodic
`hash calculation
`
`process, set
`
`program counter.
`
`510
`
`6
`
`
`
`U.S. Patent
`
`Feb. 15, 2000
`
`Sheet 6 of 12
`
`6,026,293
`
`
`
`
`Continue
`Normal
`
`Operation
`
` Generate
`NMI & Regular
`Interrupt
`
`604
`
`Capture Next Byte in
`Hash Value
`Calculation
`
`606
`
`Figure 6
`
`Continue Normal
`
`Operation
`
`Regular Interrupt
`Serviced
`
`
`
`
`
`Disable
`Phone
`
`614
`
`515
`
`618
`
`Disable
`Phone
`
`622
`
`
`
`
` Calculate Next
`Segment of Hash
`Value Calculation
`
`Hash Calculation
`
`
`
`Hash Value
`Match’?
`
`Reset Hardware
`Timers
`
`7
`
`
`
`U.S. Patent
`
`Feb. 15, 2000
`
`Sheet 7 of 12
`
`6,026,293
`
`Nmn
`
`map
`
`it
`
`9.9
`
`
`
`m.o_>mn_..£mcE._.Ema
`
`:E£:<
`
`Ev
`
`.ommmoo_n_mmzsomw
`
`H.22
`
`E_
`
`.ommmooEo._o__>_
`
`OIn
`
`mow
`
`s_<m
`
`omv
`
`mIn
`
`
`
`.__mn_WEN)EWNI
`
`EENinmEo.n_Em:‘
`1umcm_w:3Bm:m_wA3Diaoems
`
`
`
`Em.mo.Ecmm_u_
`
`9__EEeme%.m
`
`muoo
`
`Zmwmow
`
`N239”.
`
`.o=cm£:<
`
`muoo
`
`cmmm.n-Em>>EmI
`
`N._.wE.w._.mE_._.
`
`_£_m_o8..
`
`
`saga.'28owe.38:m<:_o__eEoo
`—$22...>_.n_me.>8.
`
`
`mimcgmmuoofloomE_.EmE_
`
`_.Nv
`
`Ev
`
`8
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Feb. 15, 2000
`
`Sheet 8 of 12
`
`6,026,293
`
`800
`
`
`
`Bring Telephone
`into Operation
`
`DTD Sends
`
`Programming
`Request Message
`with Rand1
`
`Figure 8
`
`822
`
`
`
`304
`
`Return Challenge
`Code (Rand2)
`
`
`
`Failure Message,
`Request Resend of
`Programming
`Request
`A
`
` Generate
`
`Authorization
`
`
`
`
`
`Generate
`
`
`
`Challenge
`Response based
`
`on Rand1, Rand2
`No
`and Private Key
`
`818
` Does Failure
`Count = MaxCount
`?
`
`Yes
`
`
`
`Return Challenge
`Response
`
`806
`
`303
`
`
`
`
`
`Count 5 Challenge
`
`
`Increment Failure
`
`and Public Key
`
`
`
`Response
`Valid?
`
` Put Telephone into
`
`Lock Telephone
`
`Programming
`Mode
`
`
`
`
`
`814
`
`810
`
`_ Process Challenge
`Response using
`Rand1, Rand2,
`
`9
`
`
`
`U.S. Patent
`
`Feb. 15, 2000
`
`Sheet 9 of 12
`
`6,026,293
`
`
`
`Bring Telephone
`into Operation
`
`
`DTD Sends ESN
`
`900
`
`902
`
`Programming
`Request Message
`with Randi
`
`906 _
`
`
`
`
`
`
`
`
`all Zeros
`'3
`
`Is ESN
`
`
`
`
`Initiate Challenge
`Response Process
`to Put Telephone
`into ESN
`
`Programming
`Mode
`
`904
`
`908
`
`
`
`10
`
`
`
`U.S. Patent
`
`Feb. 15, 2000
`
`Sheet 10 of 12
`
`6,026,293
`
`FIG. 10
`
`Bring Telephone
`Into Programming
`
`1002 \__/R
`
`DTD Downloads
`ESN
`Reprogramming
`
`Code Into PSRAM Controller Uses
`
`1004 \_/x Code in PSRAM to
`Zero ESN
`
`Initiate ESN
`1006 ‘\—-/‘\ Reprogramming
`Process
`
`Recalculate Hash
`
`/ "“
`
`Value
`
`1 008
`
`Pass New Hash
`
`Value Back to DTD
`
`1010 /__/
`
`’ for Digital
`Signature
`
`1012
`
`Return Signed
`Hash Value for
`
`Storage in
`EEPROM
`
`11
`
`11
`
`
`
`U.S. Patent
`
`Feb. 15,2000
`
`Sheet 11 of 12
`
`6,026,293
`
` PRO°E%S,3,OL$
`
`MEMORY
`cs R/W
`
` EEPROM
`CS RAN
`
`INT
`
`"W"
`
`
` _ _ _ _ _ _ _ _ _ _ . __.
`
`
`INTERRUPT
`CONTROLLER
`
`RIW
`
`cs
`
`<=
`
`
`
`CHIP SELECT "
`LOGIC i
`—-—_1
`
`A
`
`C
`
`SPVR
`
`' """ ' "S150" """" ‘ ' ‘
`
`HARDWARE
`
`BASED T1
`
`TIMERS T2
`CS
`
`
`
`12
`
`CD
`co
`LLI
`[E
`C}
`
`D <
`
`12
`
`
`
`U.S. Patent
`
`mF
`
`p.
`
`p.
`
`6,026,293
`
`5,___o
`
`M£3>8.%m_m>:n_
`
`m._:omw
`
`_omwmoo._n_
`
`MSESS
`
`13
`
`NF2:9“.
`
`13
`
`
`
`
`6,026,293
`
`1
`SYSTEM FOR PREVENTING ELECTRONIC
`MEMORY TAMPERING
`
`BACKGRO UND
`
`The invention relates to a system for preventing electronic
`memory manipulation, and in particular, to methods and
`apparatuses for preventing unauthorized manipulation of
`desirably secure memory contents in an electronic device.
`The invention disclosed herein relates to any electronic
`device whose memory contents are to be maintained in a
`secure or preferably unaltered state. Such a requirement may
`be necessitated by security reasons, such as preventing
`fraudulent manipulation of a cellular telephone memory, or
`for the purposes maintaining the integrity of electronic
`device operation in critical applications such as aircraft
`control or medical instrument operation. As disclosed and
`described herein, exemplary aspects of the invention are set
`out in the context of a system and method for securing one
`or more electronic memories within a cellular telephone.
`Also described herein is a system that permits access to, and
`manipulation of, one or more electronic memories in an
`electronic device, by use of a data transfer device that
`undergoes an authentication process before being permitted
`to access an electronic memory. The latter system also is
`described in the context of a cellular telephone application.
`Even though exemplary embodiments of the invention dis-
`closed herein are described in the context of a secure cellular
`
`telephone memory and a means for securely accessing and
`altering memory contents in a cellular telephone, it will be
`readily appreciated by those skilled in the art that systems in
`accordance with the invention can be applied to any elec-
`tronic system having one or more memories whose contents
`are to remain unaltered, or whose memories are to be
`accessed only by authorized means. Consequently, the scope
`of the invention is not intended to be limited by the exem-
`plary embodiments set out herein, but rather by the claims
`appended hereto and equivalents thereof.
`In the United States, losses due to cellular telephone fraud
`were projected at 600 million dollars in 1995. In response,
`manufacturers, service providers, the Federal Communica-
`tions Commission (FCC) and industry trade groups have
`been investigating a number of techniques for combating
`such fraud. Amajority of cellular telephone fraud carried out
`in the U.S. involves some form of memory manipulation to
`alter a cellular telcpho11e’s electronic serial number (ESN)
`which a cellular telephone must provide to establish com-
`munication. Consequently one fraud prevention technique,
`under consideration as a ruling by the FCC, is to require
`cellular telephone manufacturers to make all microprocessor
`code and the ESN unalterable. Some background on basic
`cellular communications is provided below to assist
`in
`illustrating the cellular telecommunications operating envi-
`ronment and associated problems that are addressed by
`systems incorporating the present invention.
`A simplified layout of a cellular communications system
`is depicted in FIG. 1. Mobile telephones M1—M10 commu-
`nicate with the fixed part of a public switched network by
`transmitting radio signals to, and receiving radio signals
`from, cellular base stations B1—B10. The cellular base
`stations B1—B10 are,
`in turn, connected to the public
`switched network via a Mobile Switching Center GVISC).
`Each base station B14310 transmits signals within a corre-
`sponding area, or “cell” C1—C1l). As depicted in FIG. 1, an
`idealized arrangement of base stations are organized so that
`the cells substantially cover an area in which mobile tele-
`phone communication ordinarily occurs (e.g., a metropolitan
`area), with a minimum amount of overlap.
`
`10
`
`25
`
`30
`
`35
`
`40
`
`45
`
`60
`
`65
`
`2
`When a user activates a mobile telephone within a cell,
`the mobile telephone transmits a signal indicating the mobile
`telephone’s presence to the cell’s base station. The mobile
`telephone transmits the signal, which may include its ESN,
`in a designated set-up chamnel that is continuously moni-
`tored by each base station. When the base station receives
`the mobile telephone’s signal, it registers the mobile tele-
`phone’s presence within the cell. This process can be
`:repeated periodically so that the mobile telephone is appro-
`priately registered in the event that it moves into another
`cell.
`
`When a mobile telephone number is dialed, a telephone
`company central oflice recognizes the number as a mobile
`telephone and forwards the call to the MSC. The MSC sends
`a paging message to certain base stations based on the dialed
`mobile telephone number and current registration informa-
`tion. One or more of the base stations transmits a page on its
`set-up channel. The dialed mobile telephone recognizes its
`identification on the set-up channel, and responds to the base
`station page. The mobile telephone also follows an instruc-
`tion to tune to an assigned voice channel and then initiates
`ringing. When a mobile user terminates a communication, a
`signaling tone is transmitted to the base station, and both
`sides release the voice channel.
`
`In the aforedescribed operation, mobile telephones are not
`connected permanently to a
`fixed network but
`instead,
`communicate through a so-ca1led“air interface” with a base
`station. This, of course, provides the flexibility of cellular
`communication systems, since a user can readily transport a
`mobile telephone without the restriction of being physically
`linked to a communication system. This same feature,
`however, also creates difficulties with respect to securing
`information transmitted over cellular telephone systems.
`For example,
`in ordinary wired telephone systems, a
`central office exchange can identify a particular subscriber to
`be billed for use of a telephone set by the communication
`line to which it is physically attached. Thus, fraudulent use
`of a subscriber’s account typically requires that a physical
`connection be made to the subscriber’s line. This presents a
`risk of discovery to a would-be fraudulent user.
`Cellular telecommunication systems, on the other hand,
`pose no such connection problem for the would-be fraudu-
`lent user since these systems communicate over an air
`interface. Absent protection schemes, fraudulent users can
`use another subscriber’s account by accessing the subscrib-
`er’s electronic serial number (ESN) which is transmitted by
`the mobile telephone to the network at various times for
`establishing and maintaining communications.
`In establishing a standard cellular connection, two iden-
`tification codes are transmitted by a mobile telephone to the
`system. These are the Mobile Identification Number (MIN)
`and the ESN. The MIN identifies a subscriber, while the
`ESN identifies the actual hardware being used by the sub-
`scriber. Accordingly, it is expected that the MIN correspond-
`ing to a particular ESN can, due to subscribers purchasing
`new equipment, change over time. The MIN is a 34-bit
`binary number derived from a 10-digit directory telephone
`number, while the ESN is a 32-bit binary number that
`uniquely identifies a mobile telephone. The ESN is typically
`set by the mobile telephone manufacturer.
`A conventional authentication method utilized in setting
`up communications in, for example, the Advanced Mobile
`Phone System (AMPS),
`is illustrated by the flowchart
`depicted in FIG. 2. Accord’ing to this method, a base station
`receives both an ESN and a MIN from the mobile telephone
`at block 200. These identification codes are designated
`
`14
`
`14
`
`
`
`6,026,293
`
`3
`ESN", and MIN,” to indicate that they are received from the
`mobile telephone. Next, at block 202 the base station
`retrieves an ESN”, which corresponds to MIN," from a
`system memory. ESNW, is then compared with ESN," at
`block 204. If the two serial numbers are the same, the flow
`proceeds to block 206 and system access is permitted.
`Otherwise, system access is denied at block 208.
`One drawback to this system is that it is relatively simple
`for a fraudulent user to assemble valid MIN/"ESN combina-
`tions by eavesdropping on the air interface or from other
`sources. Since accesses according to this conventional sys-
`tem are presumed valid if the MIN and ESN received from
`the mobile telephone correspond with those stored in system
`memory, all of the necessary information for fraudulent
`access can be obtained by electronic eavesdropping.
`In systems operating under the European GSM standard
`(Global System for Mobile Communication), the American
`TIA/EIA/"IS-136 standard and the Japanese Personal Digital
`Cellular standard radio communication systems,
`fraud
`resulting from eavesdropping is prevented by using a
`challenge-response method. According to the challenge-
`response method, each mobile telephone is associated with
`a unique secret key that
`is stored both in the mobile
`telephone and in a database in the network. An algorithm,
`which is unique to the system,
`is stored in each mobile
`telephone and in desired network nodes. When a call is set
`up, authentication is requested whereby the network sends a
`challenge (random number) to the mobile telephone. Based
`on the received challenge and the stored secret key, the
`mobile telephone calculates a response using the algorithm
`and transmits the response to the network. Simultaneously,
`the network calculates an “expected” response based on the
`same challenge and network-stored secret key. The network
`then receives the mobile telephone’s calculated response and
`compares the mobile telephone’s calculated response with
`the network’s calculated response. If a mismatch occurs,
`appropriate actions will take place, e.g., access is denied or
`a warning flag is set. Amethod for carrying out an authen-
`tication check between a base station and a mobile telephone
`in a mobile radio system is set out in U.S. Pat. No. 5,282,250
`to P. Dent et al.
`
`In a conventional analog system, such as AMPS, most
`fraud is perpetrated by fraudulent users who “clone” valid
`subscribers by acquiring valid MIN/ESN pairs and using the
`pairs to reprogram a cellular telephone. In more sophisti-
`cated cloning arrangements, a cellular telephone’s software
`is reprogrammed with so that it can use several MIN/ESN
`pairs in a practice called “tumbling.” A cellular telephone
`programmed with a tumbling routine randomly scrolls
`through and selects a MIN/ESN pair to initiate a call. As the
`fraud is identified by the service provider or subscriber, the
`MIN/ESN pairs are invalidated. When an invalid MIN/ESN
`pair is encountered when attempting to make a call, the
`tumbling routine simply cancels that MIN,/ESN pair and
`continues scrolling until a valid MIN/ESN pair is found.
`After all of the MIN/ESN pairs programmed into the cellular
`telephone are invalidated,
`the telephone user typically
`returns to the cloner to have a new set of MIN/ESN pairs
`programmed into the cellular telephone.
`Most cellular fraud involves some degree of memory
`manipulation. This is described in reference to FIG. 3 which
`depicts a block diagram of a conventional cellular telephone
`memory and processor arrangement. A controller 300 com-
`municates with a ROM or flash program memory 320, an
`EEPROM 310, and a random access memory (RAM) 330,
`using a memory bus 308. The program memory 320 is a
`non-volatile reacflwrite memory theat is used to store the
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`45
`
`60
`
`65
`
`4
`majority of code used for general operation of the cellular
`telephone. The EEPROM 310 is used to store the MIN/ESN
`pair 314 and 316, and user profile information 312 (e.g.,
`speed dialing numbers) and the RAM is used for read/write
`scratchpad memory. Cloners have been known to monitor
`messaging between the memories and the controller 300 to
`gather information that is used to bypass or modify infor-
`mation stored in the flash memory 320 or the EEPROM 310.
`The most common method of telephone fraud has been
`the illegitimate use of test commands, which commands are
`intended for telephone servicing and repair, to change the
`ESN. However, more recently produced telephones are
`resistant to such tampering and have effectively eliminated
`this avenue of attack. Consequently, cloners have resorted to
`more sophisticated modes of attack.
`One such technique involves removing the original
`EEPROM 310 containing the ESN 314 and replacing it.
`Following its removal, the EEPROM is studied to decipher
`its contents. The deciphered contents are then used to
`program a replacement EEPROM with a misappropriated
`ESN/MIN pair from a valid user’s account. This technique
`may be attractive to the cloner if he or she only wants to
`change one ESN at one time. But the technique. is labor
`intensive and poorly skilled cloners may damage printed
`circuits if not extremely careful.
`A large step in cloning sophistication involves analyzing
`a telephone’s microprocessor program code and rewriting
`one or more sections of the code to transmit a fraudulent
`
`identity (ESN/MIN pair) to a cellular base station. This often
`involves reverse engineering portions of the telephone hard-
`ware design, and requires significant understanding of
`imbedded software design. The obvious advantage of this
`method, however, is that once the modification is complete,
`the telephone can be reprogrammed with a new identity as
`often as desired.
`
`The most sophisticated attacks combine alterations of the
`cellular telephone’s microprocessor code as described
`above,
`in combination with hardware modification. One
`example of this technique uses a so-called “shadow
`memory” to avoid detection by conventional memory vali-
`dation routines which only execute during the boot-up
`process when the cellular telephone is first turned on. The
`boot-up process is carried out pursuant to a small portion of
`boot code 304 contained in the controller 300 (see FIG. 3)
`The boot-up process configures the cellular telephone into
`an in-service condition and sets a program counter in the
`microprocessor 301 to an appropriate location in the flash
`memory 320. When the process is complete, the controller
`300 may illuminate an LED 318 (or other equivalent signal)
`indicating to a user that the telephone is in service. A cloner
`can monitor a connection 306 between the controller 300
`and the LED 318 to subvert the execution of normal oper-
`ating code in the flash memory 320 as described in more
`detail as follows.
`
`The flash memory 320 contained in a typical modern
`cellular telephone has an addressable capacity of 512K. A
`cloner may remove the flash memory 320, and replace it
`with a 1024K shadow memory 322 after copying the con-
`tents of the original flash memory 320 into the first 512K of
`the 1024K shadow memory 322. During boot-up, any
`accesses to program memory are successfully directed in the
`first 512K of the flash memory 320. The cloner may then
`monitor a signal available in the telephone which indicates
`the boot process is complete (such as the LED signal 306)
`in order to switch all future program memory accesses to the
`shadow memory 322. Thereafter the cellular telephone oper-
`
`15
`
`15
`
`
`
`6,026,293
`
`5
`ates in accordance with instructions found in the shadow
`memory 322 which memory can be programmed to contain
`tumbling routine code and corresponding MIN/ESN pairs.
`Because most cellular fraud is based on some degree of
`memory manipulation, the Federal Communications Com-
`mission (FCC) is presently considering a solution directed to
`this aspect of cellular telephone fraud. The solution is
`incorporated in a proposed FCC Rule designated § 22.219.
`As presently written, § 22.919 prohibits a mobile tele-
`phone’s operating software from being alterable; requires an
`ESN to be factory set and incapable of being altered,
`transferred, removed or manipulated in any manner; and
`requires the mobile transmitter to become inoperable if any
`party, including a manufacturer, attempts to remove, tamper
`with or change the ESN, the system logic, or firmware of the
`cellular telephone.
`From a consumer’s standpoint, the present ability of a
`manufacturer or its factory authorized service representa-
`tives to program cellular telephones makes it easy to replace
`cellular telephones that are not operating properly. For
`example, if a subscriber’s cellular telephone is not operating
`properly, the subscriber can obtain a new unit from a factory
`authorized representative and have it programmed to contain
`the same electronic “personality” of the old unit. The
`electronic personality of a cellular telephone includes not
`only the ESN, but also the user profile and a substantial
`amount of information programmed into the unit by the
`subscriber such as personal and/or business telephone num-
`bers. Repair/replacement programs and the technology to
`make quick and easy ESN and other memory changes to
`cellular telephones have been developed at the insistence of
`cellular service providers who do not want their subscribers
`to be inconvenienced by defective terminals.
`Under FCC § ‘22.919 a subscriber in the situation
`described above will still be able to obtain a new mobile unit
`if their old unit is defective. However, because a new, fixed
`ESN will be associated with the new unit, the new ESN
`information will have to be communicated to the cellular
`
`carrier who will have to program it into their database. This
`can result in a lengthy period of time during which the
`subscriber will not have service. The subscriber will also
`have to reprogram their cellular telephone with any personal
`or business telephone numbers. A much more significant
`problem with § 22.919 is the adverse impact it will have on
`the ability of cellular service providers to furnish their
`subscribers with system upgrades by programming or
`re-programming of their cellular telephones.
`The practical impact § 22.919 may have on the cellular
`industry’s ability to upgrade systems is demonstrated as
`follows. The use of a digital control channel as specified, for
`example, in the TIA/EIA/IS-136 standard, enables cellular
`carriers to olfer new extended services such as a short
`
`messaging service. If carriers, manufacturers or authorized
`agents are allowed to make changes to the software and/or
`firmware of a cellular telephone, such services can be made
`available to subscribers quickly and efficiently through
`software upgrades of the terminals. Under § 22.919 (in its
`present form), neither a manufacturer, a manufacturer’s
`authorized service representative nor a cellular carrier will
`be able to make such software changes. The only way a
`carrier will be able to offer a subscriber a system enhance-
`ment will be to require the subscriber to purchase a new
`cellular telephone.
`To ameliorate the impact of § 22.919 on subscribers as
`well as on the manufacturing community, the FCC stated
`that the rule would be applicable to cellular telephones for
`
`10
`
`25
`
`30
`
`35
`
`40
`
`45
`
`60
`
`65
`
`6
`which applications for initial type acceptance were filed
`after Jan. 1, 1995. In etfect, the FCC has grandfathered the
`20 million cellular telephones currently in operation as well
`as the millions of cellular telephones placed in service after
`Jan. 1, 1995, based upon applications for type acceptance
`filed prior to Jan. 1, 1995. The fact that there are so many
`cellular units already in the marketplace whose electronic
`information can be manipulated for illegal purposes suggests
`that § 22.919 will have Very little impact on the fraud
`problem. Those entities who commit fraud by illegally
`tampering with E.SNs can continue to do so by using the
`millions of terminals that are not subject to the § 22.919
`restrictions.
`
`As can be appreciated from the foregoing, provision of a
`cellular telephone having a secure memory is highly desir-
`able. At present there appear to be no solutions for retrofit-
`ting cellular telephones to make them resistant to tampering.
`In addition there appear to be no methods or apparatuses for
`providing updates to electronic device memories in such a
`way that only authorized access is ensured.
`
`SUMMARY
`
`These and other drawbacks and limitations of conven-
`
`tional methods and proposed solutions for preventing cel-
`lular telephone memory tampering, and electronic memory
`tampering generally, are overcome by the present invention,
`exemplary embodiments of which protect electronic
`memory contents from unauthorized access and manipula-
`tion.
`
`In accordance with one aspect of the invention, security is
`achieved by periodically auditing electronic memory con-
`tents in an electronic device to ensure that the contents have
`
`not been tampered with. The audit involves performing a
`hash calculation over selected contents of the electronic
`memory to derive an audit hash value, or audit signature, of
`such contents. The audit hash value is compared with a valid
`hash Value previously derived from authentic memory con-
`tents. The valid hash value is preferably stored in an
`encrypted form within an electronic memory and decrypted
`only for purposes of comparison. A disparity between the
`audit hash value and the valid hash value can indicate
`memory tampering, wherefore an electronic device contain-
`ing the electronic memory can be rendered inoperative, or a
`waming indication can be made.
`In accordance with another aspect of the invention, elec-
`tronic memory contents, such as those contained in a cellular
`telephone memory (including the cellular telephone’s ESN),
`can be updated by a data transfer device that is authenticated
`before being permitted access to the memory contents. Data
`transfer device authentication involves the use of a public/
`private key authentication scheme. When the data transfer
`device interfaces with the electronic device and requests
`access, the electronic device initiates a process to authenti-
`cate the data transfer device. This can involve exchanging a
`series of messages between the electronic device and the
`data transfer device. A public key is maintained within the
`electronic device that
`is used to decrypt a message
`encrypted, or “signed” with a secret private key maintained
`within the data transfer device. More particularly, when the
`data transfer device requests to program the electronic
`device, an authentication process is initiated. The electronic
`device responds by sending a challenge message back to the
`data transfer device. The challenge message is signed with
`a digital signature using the private key maintained in the
`data transfer device. The signed challenge message is sent
`back to the electronic device which authenticates it using the
`
`16
`
`16
`
`
`
`6,026,293
`
`7
`public key. Once authenticated, the data transfer device is
`permitted access to privileged commands and capabilities in
`the electronic device.
`
`Following any reprogramming of an electronic memory,
`the electronic device performs a hash calculation to derive a
`new (valid) hash value on the modified memory contents.
`The new hash value is returned to the data transfer device for
`a digital signature by the private key. The signed new hash
`value is returned to the electronic device for storage. When
`the electronic device performs a subsequent memory audit,
`the resulting audit hash value is compared to the new valid
`hash value.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The foregoing and other objects, features and advantages
`of the present invention will be more readily understood
`upon reading this description in conjunction with the
`drawings, in which:
`FIG. 1 depicts an idealized layout of a cellular commu-
`nications system;
`FIG. 2 depicts a flow diagram illustrating a conventional
`cellular authentication method for setting up a cellular call;
`FIG. 3 depicts a conventional cellular telephone processor
`and memory arrangement;
`FIG. 4 depicts a cellular telephone processor and memory
`arrangement in accordance with an exemplary embodiment
`of the invention;
`FIG. 5 depicts a flow diagram illustrating an exemplary
`cellular telephone start up process in accordance with an
`embodiment of the invention;
`FIG. 6 depicts a flow diagram illustrating an exemplary
`periodic memory validation process in accordance with the
`invention;
`FIG. 7 depicts an exemplary data transfer device in
`accordance with an embodiment of the invention:
`
`FIG. 8 depicts a flow diagram illustrating an exemplary
`process for authenticating the data transfer device in accor-
`dance with an embodiment of the invention;
`FIG. 9 depicts a flow diagram illustrating an exemplary
`process for entering an initial ESN into a cellular memory in
`accordance with an embodiment of the invention;
`FIG. 10 depicts a flow diagram illustrating an exemplary
`process for reprogramming an established ESN in accor-
`dance with the invention; and
`in
`FIG. 11 depicts a protected memory arrangement
`accordance with an exemplary embodiment of the invention;
`and
`
`FIG. 12 depicts an exemplary cellular telephone program-
`mer in accordance with an embodiment of the inven