throbber
as) United States
`a2) Patent Application Publication 0) Pub. No.: US 2004/0083380 Al
`(43) Pub. Date: Apr. 29, 2004
`
`Janke
`
`US 20040083380A1
`
`(54) SECURITY MODULE WITH VOLATILE
`MEMORYFOR STORING AN ALGORITHM
`CODE
`
`(76)
`
`Inventor: Marcus Janke, Munchen (DE)
`
`Correspondence Address:
`LERNER AND GREENBERG,P.A.
`POST OFFICE BOX 2480
`HOLLYWOOD, FL 33022-2480 (US)
`
`(21) Appl. No.:
`
`10/620,108
`
`(22)
`
`Filed:
`
`Jul. 15, 2003
`
`Related U.S. Application Data
`
`(63) Continuation of application No. PCT/EP02/00733,
`filed on Jan. 24, 2002.
`
`(30)
`
`Foreign Application Priority Data
`
`Feb. 16, 2001
`
`(DE)... ee eeeeeeeseeeneeeneees 101 07 373.9
`
`Publication Classification
`
`(SL) Ute C07 cacsccsssssssssssnssessesnstsntsnstsevee HO4L 9/00
`(52) US. Ch.
`cecescsssssssscnstssssetnsenssstn 713/194; 713/175
`
`(57)
`
`ABSTRACT
`
`Asecurity module for use with a terminal comprises a data
`interface adapted to be coupled to a terminal, for receiving
`at least part of an algorithm code or the complete algorithm
`code from the terminal, as well as an energy interface for
`receiving supply energy. A volatile memory coupled to the
`energy interface in order to have energy supplied thereto
`stores the part of the algorithm code or
`the complete
`algorithm code received via the data interface, with a
`processor performing the algorithm code in order to obtain
`an algorithm code result that can be delivered to the termi-
`nal. Due to the storing of at least part of an algorithm code
`in the volatile memory of the security module, according to
`the invention, the algorithm code of the security module is
`effectively protected against spying out by a potential
`attacker.
`
`20
`
`Terminal
`
`Chip card
`
`30
`
`Z
`
`Mutual authentication
`
`40
`
`Encrypted transferof part of the
`algorithm code with certificate
`
`50
`
` Storingin volatile
`memory
`
`
`
`
`
`
`
`
`
`Application of algorithm code
`
`Clearing of algorithm code
`(in particular in case of
`exeptions, such as system
`lock failure, power failure,...)
`
`
`
`1
`
`SAMSUNG 1022
`
`SAMSUNG 1022
`
`1
`
`

`

`Patent Application Publication Apr. 29, 2004 Sheet 1 of 3
`
`US 2004/0083380 Al
`
`20
`
`10
`
`Terminal
`
`Chip card
`
`Mutual authentication
`
`
`
`
`
`
`
`
`Encrypted transfer of part of the
`algorithm code with certificate
`
`50
`
` Storing in volatile
`
`memory
`
`Application of algorithm code
`
`Clearing of algorithm code
`(in particular in case of
`exeptions, such as system
`lock failure, power failure,...)
`
`
`
`FIG 1
`
`2
`
`

`

`Patent Application Publication Apr. 29, 2004 Sheet 2 of 3
`
`US 2004/0083380 Al
`
`100
`
`120
`
`
`Energy interface
`
`
`140
`
`110
`
`Data interface
`
`
`
`
`
`
`Processor
`
`FIG 2
`
`3
`
`

`

`Patent Application Publication Apr. 29, 2004 Sheet 3 of 3
`
`US 2004/0083380 Al
`
`210
`
`200 230
`
`
`
` Energyinterface
`
`Data interface
`
`
`
`FIG 3
`
`4
`
`

`

`US 2004/0083380 Al
`
`Apr. 29, 2004
`
`SECURITY MODULE WITH VOLATILE MEMORY
`FOR STORING AN ALGORITHM CODE
`
`CROSS-REFERENCE TO RELATED
`APPLICATION
`
`[0001] This application is a continuation of copending
`International Application No. PCT/EP02/00733, filed Jan.
`24, 2002, which designated the United States and was not
`published in English.
`
`BACKGROUND OF THE INVENTION
`
`[0002]
`
`1. Field of the Invention
`
`[0003] The present invention relates to security modules,
`as employed for example for pay TV applications, credit
`cards, telephone cards or as TPM plug-in cards, and refers
`in particular to securing the algorithm codethat is employed
`for the communication between security module and termi-
`nal against external attacks.
`
`[0004]
`
`2. Description of the Related Art
`
`[0005] With the increasing advent of cashless payment
`traffic and the increasing information-technological net-
`working as far as into individual households, such as e.g. in
`case of pay TV applications, there is an increasing demand
`for cryptographic algorithms in order to be able to perform
`digital signatures, authentications and encryption tasks.
`Known cryptographic algorithms comprise asymmetric
`encryption algorithms, such as e.g.
`the RSA algorithm,
`symmetric encryption processes, such as e.g. the DSE pro-
`cess, as well as processes based onelliptic curves.
`
`In order to be able top perform the computations
`[0006]
`prescribed by the cryptographic algorithms in everydaylife
`with an acceptable speed on the one hand and in as conve-
`nient mannerfor the user as possible on the other hand, chip
`cards, such as smart cards or signature cards, are employed
`comprising an individually provided cryptographic proces-
`sor for implementing the cryptographic algorithm. Depend-
`ing on the particular application or use, the cryptographic
`processor must be capable of performing authentications,
`signatures, certifications and encryptions or decryptions in
`accordancewith different cryptographic algorithms. In addi-
`tion to implementation of the cryptographic algorithms, the
`chip card contains stored, chip card-specific information,
`such as a secret key and, in case of a credit card, the credit
`card number, the account number and the balance and, in
`case of a pay TV smart card, a smart card ID, a customer ID
`and other customer-specific information. A chip card enables
`the user of the chip card to carry out certain transactions,
`such as e.g. debiting, on specifically provided terminals or
`other end apparatus, such as pay TV decoders, in simple and
`efficient manner.In this regard, the cryptographic algorithms
`implemented on the chip card provide for protection of the
`chip card traffic against criminal manipulations.
`
`[0007] For protecting chip card terminal systems against
`criminal manipulations, specific protocols are employed
`between terminal and chip card, comprising e.g. mutual
`authentication as well as encryption and decryption opera-
`tions making use of the cryptographic algorithms imple-
`mented in the cryptographic processor. A problem with
`conventional chip cards consists in that the algorithms used
`for the secret functions, e.g. for encryption, are fixedly
`provided on the chip card in the form ofa fixed wiring and/or
`
`in stored form and thus are susceptible to being spied out by
`potential attackers. Spying out of cryptographic algorithms
`implemented in chip cards by an attacker comprises, for
`example, the chemical removal ofthe circuit structure of the
`cryptographic processor and the optical analysis of the
`exposed semiconductorstructures. If an attacker, by way of
`the chip card in his possession, succeeds in obtaining the
`cryptographic algorithm implemented therein, the attacker
`will be in the position, due to his knowledge of the crypto-
`graphic algorithm and thus by the possibility of implement-
`ing the same, to carry out certain attacks against the chip
`card in order to obtain the secret data, such as the secret key
`or other data of crucial security of the chip card. When the
`underlying cryptographic algorithm is known, the attacks
`have a by far greater chance of success, and consequently
`the security chain of the chip card traffic is at risk.
`
`[0008] With conventional chip cards, the problem of spy-
`ing out is counteracted merely by specific hardware pro-
`cesses or technologies, such as by the hidden contact pro-
`cess.In case of this process, attempts are made to prevent the
`optical analysis of removed semiconductor structures and
`thus a conclusion to the underlying electronic circuit by
`means of hidden contacts and by the use of specific layout
`libraries for the underlying gates, in which different gates,
`such as AND gates and OR gates, differ from each other
`merely by different doping. These hardware concealing
`measures indeed increase the expenditure for finding out the
`underlying cryptographic algorithms
`for
`the potential
`attacker, but on the other hand increase also the circuitry and
`design expenditure, the chip area and thus the costs of the
`cryptographic processor and the chip card, respectively.
`
`[0009] Acchip card with increased security against foreign
`attacks and reduced circuit expenditure is very attractive for
`chip card manufacturers in particular with regard to the high
`market potential and the large numbers of pieces in which
`chip cards are produced.
`
`SUMMARYOF THE INVENTION
`
`It is the object of the present invention to make
`[0010]
`available a security module, a terminal and a process such
`that security module traffic with a higher level of security
`may be ensured.
`
`In accordance with a first aspect of the invention,
`(0011]
`this aspect is achieved by a security module for use with a
`terminal, comprising a data interface adapted to be coupled
`to a terminal, for receiving at least part of an algorithm code
`or of the complete algorithm code from the terminal, with
`the algorithm code concerning a processing of secrets, an
`energy interface for receiving supply energy from theter-
`minal; a volatile memoryfor storing the part of the algorithm
`code or the complete algorithm code received via the data
`interface, said volatile memory being coupled to the energy
`interface in order to have energy supplied thereto such that
`the same will be cleared upon an interruption of the receipt
`of the supply energy from the terminal; and a processor for
`performing the algorithm code in order to obtain an algo-
`rithm code result that can be delivered to the terminal.
`
`In accordance with a second aspect of the inven-
`[0012]
`tion, this aspect is achieved by a terminal for use with a
`security module, comprising: a data interface adapted to be
`coupled to the security module, for transmitting at least part
`of an algorithm code or the complete algorithm code from
`5
`
`5
`
`

`

`US 2004/0083380 Al
`
`Apr. 29, 2004
`
`the terminal to a volatile memoryof the security module and
`for receiving the algorithm code result from the security
`module, with the algorithm code concerning a processing of
`secrets; and an energy interface for delivering supply energy
`to the security module, with the volatile memory being
`supplied by the supply energy, such that the same will be
`cleared upon an interruption of the receipt of the supply
`energy from the terminal, with the terminal, for each com-
`munication operation between terminal and security module
`during one and the same communication operation with the
`security module, being designated to send atleast the part of
`the algorithm code or the complete algorithm code to the
`volatile memory of the security module; and, subsequently,
`during the further communication process, receive the algo-
`rithm code result from the security module.
`
`In accordance with a third aspect of the invention,
`[0013]
`this aspect
`is achieved by a process for computing an
`algorithm code result using a security module, comprising
`the steps of: receiving at least part of an algorithm code or
`the complete algorithm code by means of an energy inter-
`face, with the algorithm code concerning a processing of
`secrets; volatile-storing said part of the algorithm code or
`said complete algorithm code in a volatile memory of the
`security module, with the volatile memory being coupled to
`the energy interface, to be supplied with energy, such that the
`same will be cleared upon an interruption of the receipt of
`the supply energy from the terminal: performing said algo-
`rithm code on the security module in order to obtain an
`algorithm code result; delivering said algorithm code result
`to the terminal; and clearing said volatile memory upon an
`interruption of the receipt of the supply energy from the
`terminal.
`
`In accordance with a fourth aspect of the invention,
`[0014]
`this aspect is achieved by a process for controlling a security
`module using a terminalin order to obtain an algorithm code
`result from the security module, with the process comprising
`for each communication operation, performing the follow-
`ing steps during one and the same communication operation
`with the security module: delivering supply energy from the
`terminal to the security module; transmitting at least part of
`an algorithm code or the complete algorithm code from the
`terminal to a volatile memory of the security module; with
`the algorithm code concerning a processing of secrets, with
`the volatile memory being supplied by the supply energy,
`such that the same will be cleared uponan interruption of the
`receipt of the supply energy from the terminal; and receiving
`the algorithm code result from the security module.
`
`In accordance with a fifth aspect of the invention,
`[0015]
`this aspect is achieved by a process for communication
`between a security module and a terminal, comprising the
`steps of: transferring at least part of an algorithm codeor the
`complete algorithm code from the terminal to the security
`module, with the algorithm code concerning a processing of
`secrets; volatile-storing said part of the algorithm code or
`said complete algorithm code in a volatile memory of the
`security module, with the volatile memory being supplied by
`the supply energy; such that the same will be cleared upon
`interruption of the receipt of the supply energy from the
`terminal; performing said algorithm code on the security
`module in order to obtain an algorithm code result; deliv-
`ering said algorithm coderesult to the terminal; and clearing
`said volatile memory upon an interruption of the receipt of
`the supply energy from the terminal.
`
`[0016] The present invention is based on the finding that
`the security of a security module, such as e.g. a chip card,
`against foreign attacks may be enhancedinthatat leastpart
`of the algorithm code is not fixedly stored on the security
`module, but rather that this missing part of the algorithm
`code is stored in a volatile memory of the security module
`during communication between the terminal and the security
`module only, with the algorithm code comprising functions
`of crucial security, such as debiting functions, or crypto-
`graphic algorithmsor concerning the processing of secrets in
`general. It is thus effectively prevented that the complete
`algorithm code is provided on a security module in the
`power of a potential attacker, and consequently it will
`become impossible for the potential attacker to access the
`algorithm code in order to spy out secret keys or other secret
`data, and to run or perform the same in accordance with
`specific attack processes, using e.g. fault attacks or infor-
`mation leakage attacks. In other words,
`it will be made
`nearly impossible to a potential attacker to utilize the
`algorithm code, such as an encryption algorithm, in abusive
`manner since this code is not permanently stored on the
`security module in complete form and thus, outside the
`utilization at a corresponding terminal, is not in the posses-
`sion of the attacker.
`
`[0017] According to the invention, a security module, such
`as a chip card, comprises a TPM (Trusted Platform Module)
`in the form of a computer plug-in module or a smart card,
`for use with a terminal in addition to a data interface adapted
`to be coupled to the terminal and receiving from the terminal
`at least part of the algorithm code or the complete algorithm
`code, an energy interface receiving supply energy, as well as
`a volatile memory for storing the part of the algorithm code
`received via the data interface or of the complete algorithm
`code received, with the volatile memory being coupled to
`the energy interface in order to have energy suppliedthereto.
`A processor performs the algorithm code in order to obtain
`an algorithm code result that can be delivered to the termi-
`nal. The not received remainder of the algorithm code may
`be stored, for example, in a non-volatile memory, such as a
`ROM,ofthe security module. If there is not sufficient supply
`energy present, there is thus no complete algorithm code
`contained in the non-volatile memory of the security mod-
`ule, and consequently there is no complete algorithm code
`available to be run by a potential attacker.
`
`[0018] A terminal suitable for use with the security mod-
`ule described hereinbefore, such as e.g. an automatic cash
`dispenser, a mobile telephone with card reader, a pay TV
`decoder or a computer having a plug-in place for a TPM,
`comprises for example a data interface that is adapted to be
`coupled to the security module and transmits the part of the
`algorithm code or the complete algorithm code from the
`terminal to the volatile memory of the security module and
`receives the algorithm code result from the security module,
`as well as an energy interface delivering the supply energy
`to the security module.
`
`[0019] According to a specific embodiment, an authenti-
`cation, such as an authentication according to the challenge
`and response scheme, is carried out between the terminal
`and the security module during a communication between
`terminal and security module. The transfer of the algorithm
`code from the terminal to the security module is carried out
`in encrypted and certified form in order to counteract
`eavesdropping and manipulation of the communication con-
`6
`
`6
`
`

`

`US 2004/0083380 Al
`
`Apr. 29, 2004
`
`nection between terminal and security module. The terminal
`or the security module to this end contains suitable means
`for performing authentication, encryption and decryption as
`well as certification and certification examination, respec-
`tively. For increased security and for effectively preventing
`access of a potential attacker to the transferred part of the
`algorithm code, the security module may have in addition a
`monitoring means which, if predetermined security condi-
`tions are fulfilled, clears the volatile memory. Such security
`conditions may comprise the interruption, an irregularity
`and a fluctuation in the supply voltage and/or the processor
`or system clock or other operating parameters as they may
`be effected by manipulation of the security module while the
`latter interacts with the terminal.
`In the event
`that
`the
`
`monitoring means has not effected preliminary clearing of
`the memory, the volatile memory and thus the part stored of
`the algorithm codeis cleared at the latest upon termination
`of the communication between terminal and security module
`or upon interruption of the supply energy, respectively, such
`as e.g. by withdrawal or removal of the security module
`from the terminal, whereby this part of the algorithm code
`is no longer available to a potential attacker for performing
`in the scope of specific attacks.
`
`In order to further reduce the attackability of the
`[0020]
`it may be provided to transfer the part of the
`system,
`algorithm code from the terminal to the security module
`intermittently in modified form and repeatedly and, in doing
`so, to store each time the newly transferred, altered part of
`the algorithm code in the volatile memory instead of the old
`stored part of the algorithm code. This renders possible
`changes in a cryptographic algorithm during the communi-
`cation between terminal and security module, such as e.g. in
`case of pay TV applications, but also changes in the algo-
`rithm code each time upon initialization of a terminal-
`security module communication, such as e.g.
`in case of
`credit cards, wherebyit is further aggravated for a potential
`attacker
`to adjust
`to, or
`find out,
`the algorithm code
`employed.
`
`In addition to protecting the algorithm code of the
`[0021]
`security module against spying out by a potential attacker, an
`additional advantage of the present invention consists in that
`it is applicable to a multiplicity of application fields, such as
`e.g. EC cards, credit cards, multi-application cards or pay
`TV smart cards. Depending onthe particular application, the
`algorithm code or security function code received by the
`security module contains parts of a code for functions of
`crucial security or one or more cryptographic algorithms of
`the security module. For chip card producers or producers of
`security modules, the versatile applicability as well as the
`enhanced security against potential attacks means increased
`acceptance in the market and thus an increased marketshare.
`In addition thereto, the security of the security module is
`increased in inexpensive manneras the increased security is
`achieved by software loading of the volatile memory. The
`conventional and complex hardware measuresfor protecting
`the algorithm code against potential attackers, as described
`hereinbefore, may either be carried out in addition or be
`replaced by less expensive hardware techniques since the
`functions of crucial security or the underlying cryptographic
`algorithm of the security module are not permanently pro-
`vided on the chip card.
`
`alternative
`and further
`[0022] Further developments
`embodiments of the present invention are defined in the
`attached dependent claims.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0023] Preferred embodiments of the present invention
`will be elucidated in detail hereinafter with reference to the
`
`accompanying drawings in which
`
`[0024] FIG. 1 shows a schematic diagram illustrating the
`sequence of operations during communication of a chip card
`with a terminal according to the present invention;
`
`[0025] FIG. 2 shows a block diagram of a chip card
`structure according to an embodimentof the present inven-
`tion; and
`
`[0026] FIG. 3 showsa terminal construction according to
`an embodiment of the present invention.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`
`Itis pointed out that the following detailed descrip-
`[0027]
`tion of specific embodiments of the present invention refers
`to chip card applications by way of example only, and that
`the present invention is also applicable to other security
`modules, such as TPMs in the form of plug-in cards; the
`following description may easily be transferred to such
`applications. Accordingly,
`the following description also
`refers to terminals for chip cards, such as e.g. cash dispens-
`ing machines, by way of example only, although a terminal
`according to the present invention, in other fields of appli-
`cation, may also be a computer, for example, having a TPM
`in the plug-in spaces thereof, or a mobile telephone with a
`smart card in the card reader thereof, or the terminal may
`generally be an arbitrary apparatus capable of communicat-
`ing with the security module.
`
`[0028] Reference is madefirst to FIG. 1, illustrating the
`sequence of operations during communication between a
`terminal and a chip card, as it results for example when a
`chip card is introduced into a terminal. In case of chargeable
`radio broadcasting, the chip card may be, for example, a pay
`TV smart card and the terminal may be the respective end
`apparatus or decoder of a pay TV customer. In the event the
`chip card is a credit card, the terminal is a cash dispensing
`machine, for example.
`
`FIG.1 illustrates the chip card 10 and the terminal
`[0029]
`20 beside each other in the form of rectangles with rounded
`corners. Underneath the same, the various steps carried out
`during communication or interaction of the chip card 10
`with the terminal 20 are shown schematically by arrows and
`blocks in downward direction in the sequence of their
`occurrence. The directions of the arrows indicate the direc-
`tions of the data flows in which the data are transmitted,
`whereasthe blocks represent measures performed in the chip
`card 10.
`
`Thesteps illustrated in FIG. 1 have the prerequisite
`[0030]
`that a communication is already possible between the ter-
`minal and the chip card which, for example, may be the case
`upon introduction of the chip card into the terminal; in this
`regard,
`the terminal 20 may be a contactless or contact
`terminal, and the communication connection thus may take
`place without contact or via a contact.
`It
`is necessary
`7
`
`7
`
`

`

`US 2004/0083380 Al
`
`Apr. 29, 2004
`
`furthermore for communication that chip card 10 be sup-
`plied with energy from terminal 20, which may also be
`carried out in contactless manner via electromagnetic radia-
`tion or via a contact. After the communication connection
`
`between terminal 20 and chip chard 10 has been established
`and supply energy has been supplied to chip card 10,
`initializing steps may be carried out first, such as e.g. the
`mutual agreement on the relevant protocoletc.
`
`[0031] After the steps (not shown) of supplying energy to
`the chip card 10, establishing the communication connection
`as well as initializing the communication between terminal
`20 and chip card 10, mutual authentication between terminal
`20 and chip card 10 is carried out in a step 30, e.g. an
`authentication in accordance with the challenge
`and
`response process. The mutual authentication may comprise,
`for example, the inputting of a PIN (Personal Identification
`Number) by the card user, in which the mutual authentica-
`tion 30 makes use, for example, of chip card-specific data
`stored on the chip card 10, such as e.g. a chip card identi-
`fication number and a personal identification number, in
`connection with a chip card key stored on the chip card as
`well as an authentication code stored on the chip card and
`representing a cryptographic algorithm, such as e.g. a sym-
`metric or an asymmetric cryptographic algorithm. The
`authentication serves to make sure that only admitted chip
`cards may communicate with admitted terminals. If the
`authentication yields an error, the communication connec-
`tion is terminated.
`
`[0032] Upon successful mutual authentication 30, the ter-
`minal 20 in a step 40 transmits part of the algorithm code to
`the chip card 10 in encrypted and certified form. The
`encryption of the transferred part of the algorithm code
`protects the transmission against eavesdropping by a poten-
`tial attacker, while the certification in the terminal 20 of the
`chip card 10 is to provide a guaranteeas to the origin of the
`transferred part of the algorithm code. For decryption of the
`transferred part of the algorithm code and for examining the
`certificate as well as for performing the mutual authentica-
`tion 30, the chip card 10 comprises suitable authentication,
`decryption and certificate examining means which are con-
`stituted by part of the hardware and by codes stored in a
`non-volatile memory of the chip card, such as e.g.
`the
`authentication code. The cryptographic algorithms underly-
`ing said mutual authentication 30 and said encryption and
`certification 40 may comprise symmetric or asymmetric
`cryptographic processes, such as e.g. the RSA or the DES
`algorithm or an arbitrary other cryptographic algorithm.
`
`In case the certificate examination reveals that the
`[0033]
`certificate lacks genuineness; the communication between
`terminal 20 and chip card 10 is interrupted, and there may
`be provisions made that the chip card 10 does not longer
`carry out processings for a predetermined period of time. It
`is thus avoided that a potential attacker taps the communi-
`cation connection between terminal 20 and chip card 10 and
`enters a “false” code to the volatile memory of the chip card
`10 which, upon performing by the chip card 10, could effect
`the outputting of secret data stored on chip card 10, for
`example.
`
`Ifthe certificate examination revealed the genuine-
`[0034]
`ness of the certificate, the transferred part of the algorithm
`codeis thenstored, in a step 50, in a volatile memory of chip
`card 10 either in encrypted or in decrypted form. Depending
`
`on encrypted or decrypted storage, the algorithm code is
`decrypted before storage thereof or before performing by a
`cryptographic processor on chip card 10. The algorithm code
`having a part thereof transferred in step 40 may comprise the
`program code of one or a plurality of functions of crucial
`security of the chip card 10, such as e.g. a debiting or
`crediting function for charging or discharging the chip card
`10, or the program code for performing a cryptographic
`algorithm necessary during the further communication
`sequence, such as e.g. a symmetric or asymmetric crypto-
`graphic process, an RSA algorithm, encryption according to
`the DESstandard,an elliptic curve process or another secret
`algorithm, however without restriction to these examples. In
`the event of a pay TV application,
`the algorithm code
`comprises, for example, information with respect to decryp-
`tion of the television data of a chargeable program, such as
`e.g. the repermutation of the image lines of an image of the
`television data. Consequently,
`the algorithm code to be
`protected is present in complete form on chip card 10 only
`during the time of execution of the communication between
`terminal 20 and chip card 10.
`
`Ina step 60, the algorithm code now contained in
`[0035]
`complete form on chip card 10 is utilized and performed by
`a processor provided on the chip card 10. In the afore-
`mentioned pay TV example, the processor of chip card 10
`performs, for example, the repermutation of the image lines
`of the television images by wayof the algorithm codestored.
`In a debit application of the chip card 10, such as e.g. with
`telephone cards, the algorithm code indicating a debiting or
`crediting function is used for example for crediting or
`debiting a balance provided on the chip card 10. With credit
`card applications, step 60 comprises for example the per-
`forming of the algorithm code indicating a cryptographic
`algorithm by means of a cryptographic processor of chip
`card 10 in order to place moneytransfer orders, for example.
`
`Ina step 70, the part of the algorithm code stored
`[0036]
`in the volatile memory is cleared again. Clearing of the
`algorithm code may beeffected, for example, by taking out
`the chip card 10 from terminal 10 by the card user and by
`thus interrupting the delivery of supply energy from terminal
`20 to chip card 10. For preventing attempts of potential
`attackers to protect the volatile memory, e.g. a RAM,against
`loss of the stored part of the algorithm code, whereby these
`would comeinto possession of the complete algorithm code,
`the chip card 10 may have a specific monitoring means
`provided thereon whicheffects active clearing of the volatile
`memoryof the chip card 10 also if a monitoring operation
`reveals that specific security conditions are fulfilled, such as
`interruption of the system clock,
`the interruption of the
`delivery of supply energy or other indications for a possible
`attack, such as voltage fluctuationsor the like. Consequently,
`the algorithm code, after utilization of the chip card 10 in the
`terminal 20 or
`interference with the communication
`
`sequence, is no longer present on chip card 10 and thus is no
`longer exposedeither to potential attacks and spying out by
`potential attackers. An attacker in possession of the chip card
`cannot carry out security computations on the basis of the
`complete algorithm codesince the latter is not completely in
`the range of access of the attacker. The spying out of keys
`or algorithmsis thus effectively prevented.
`
`[0037] After the sequence of operations during commu-
`nication of a chip card with a terminal has been described
`with reference to FIG. 1, various possibilities will be
`8
`
`8
`
`

`

`US 2004/0083380 Al
`
`Apr. 29, 2004
`
`described first hereinafter as to which parts of an algorithm
`code are transferred from the terminal
`to the volatile
`
`memoryofthe chip card. In the event that the algorithm code
`contains the program code of a secret, not yet known
`cryptographic algorithm,
`it may be advantageous
`for
`example to completely transfer the algorithm code from the
`terminal to the volatile memory of the chip card, whereby
`this secret cryptographic algorithm would be effectively
`protected against spying out by a potential attacker.
`
`In the event that the part transmitted or transferred
`[0038]
`of the algorithm code contains part of a program code of a
`known cryptographic algorithm, the transferred part of the
`program code comprises, for example, memory addresses in
`which the computation components underlying the crypto-
`logic computation are stored, thereby effectively preventing
`that a potential attacker in possession of the chip card can
`perform the security computations based on this crypto-
`graphic algorithm, since the required memory addresses for
`performing the program code and for performing the
`memory accessing operations by the processor of the chip
`card, which are necessary therefor, are missing.
`
`In the event of a known cryptographic algorithm,
`[0039]
`the transferred part of the algorithm code may contain jump
`addresses pointing either as a start address to the beginning
`of a specific program codeor as conditional or unconditional
`program jumpsto the beginnings of specific partial routines.
`Without knowing these jump addresses, it is rendered very
`difficult for an attacker to spy out the chip card in his
`possession.
`
`Ina specific example, a plurality of program codes
`[0040]
`for various cryptographic algorithms may be provided on the
`chip card 10, with the transferred part of the algorithm code
`containing a start address of a specific one of the various
`cryptographic algorithm program codes that has just been
`selected by the terminal. The terminalselects, for example,
`for each new chip card terminal communication operation a
`new cryptographic algorithm from the p

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