CN1714328A - 微控制器和用于处理微控制器编程的相关方法 - Google Patents

微控制器和用于处理微控制器编程的相关方法 Download PDF

Info

Publication number
CN1714328A
CN1714328A CNA2003801037319A CN200380103731A CN1714328A CN 1714328 A CN1714328 A CN 1714328A CN A2003801037319 A CNA2003801037319 A CN A2003801037319A CN 200380103731 A CN200380103731 A CN 200380103731A CN 1714328 A CN1714328 A CN 1714328A
Authority
CN
China
Prior art keywords
microcontroller
random number
program
branch
programming
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2003801037319A
Other languages
English (en)
Other versions
CN100390696C (zh
Inventor
J·施洛伊德
D·米勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1714328A publication Critical patent/CN1714328A/zh
Application granted granted Critical
Publication of CN100390696C publication Critical patent/CN100390696C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30058Conditional branch instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

为了进一步开发微控制器(100),其中所述微控制器的编程是依照至少一种与机器相关的汇编程序语言进行的,并且其中除有条件的程序转移或者分支之外,所述汇编命令可以实质上独立于数据被执行,并且涉及一种用于处理微控制器(100)的编程的方法,所述微控制器依照至少一种与机器相关的汇编程序语言来进行,所述方式依照这样依照方式来实现,在微控制器(100)上运行的程序对于外部观察者而言完全是秘密的并且是不可预测的,即,是不可再生的,建议所述程序转移或者分支是依赖于至少一个随机数发生器(10)的状态和/或独立于微控制器(100)的编程的内部状态来执行的。

Description

微控制器和用于处理微控制器编程的相关方法
本发明涉及一种微控制器,所述微控制器的编程是依照至少一种与机器相关的汇编语言来进行的,除条件程序转移或者程序分支之外,所述汇编命令可基本上独立于数据被分别执行。
本发明还涉及一种处理上述类型的微控制器编程的方法,所述微控制器的编程是依照至少一种与机器相关的汇编程序语言来进行的。
把通常用于控制设备并且在其中将中央处理单元(CPU)、存储器和端口被集成到一个芯片上的单片微型计算机称为微控制器。微控制器的编程是依照与机器相关的汇编程序语言来执行的。在已知的汇编程序语言中,除条件程序转移或者程序分支之外,所有的汇编命令是独立于数据执行的。
条件程序转移或者程序分支总体上是如下来实现的:测试待检验的条件、通常是至少一个状态标志。如果发现应该出现转移或者分支,那么用新的程序地址(=装载新的“值”)加载所述程序计数器。如果没有转移或者分支将会出现,那么结束指令,当然,此后所述程序计数器自动地包含下一值,即,下一地址。
在条件程序转移或者条件程序分支的情况下,这种过程要求在执行指令过程中出现时间差。执行指令过程中的时间差的原因在于:在程序转移或者分支的情况下,所述程序计数器另外被设定为新值(设定为新的程序地址),然而在非转移或者非分支的情况下,在条件测试之后结束所述指令。
这意味着在微控制器程序中用于条件转移或者分支的命令的执行通常具有不同的执行时间,并且因此也具有不同的电流值,这可以根据是否执行条件转移或分支而借助于动态电流测量来确定。
软件分析的现有方法包括借助于专用定时分析来识别条件程序转移或者分支并且使用所识别的程序运行来得出与所处理数据相关的结果,但软件分析也例如可被黑客滥用来确定加密密钥。
因此可以借助于条件转移指令或者分支指令的时序来单独得出涉及此指令中测试的数据的结果,例如在对微控制器程序的特别的安全敏感区,诸如密钥进行未经授权的攻击的情况下,这是非常不利的。
在微控制器上执行动作的软件的实现方式中,其中所述动作对于未经授权的观察者是保持隐藏的,因此,由于——在摘要中表明的——所述未经授权的观察者可以借助于物理测量获得有关执行的代码和其执行中使用的数据的信息,故而存在较大的问题。这种问题特别是在例如在智能卡中使用与安全性相关的软件时发生。获得与所执行代码有关和与执行它时使用的数据有关的信息的典型用意包括:测量提供给所述微控制器的电流和/或电压。然而,与内部程序序列有关的信息也可以使用其他物理测量过程来获得。
在侦查在微控制器内部运行的程序的上述可能性的背景下,隐藏这种程序显现的可能性是合乎需要的。然而,只有关于执行的单独指令而不关于较大程序段的随机变化至今在传统上是已知的,故而在微控制器上内部运行的程序的隐藏只在有限方式中是可能的,或者根本不可能。
从上述缺点和缺陷着手,并且考虑以及提出的现有技术水平(=将在微控制器上运行的程序完全可再现处理成待处理的数据的函数),本发明的目的在于进一步开发上述类型的微控制器,以及上述类型的方法,通过如此,对于外部观察者而言,在微控制器上运行的程序是完全秘密的,并且是不可预测的、即不可再生的。
此目的是通过具有在权利要求1中具体说明的特征的微控制器,以及通过具有在权利要求5中具体说明的特征的方法来实现的。在相应的从属权利要求中描述了本发明的有益实施例和有用的方面。
因此,将把本发明的教导引入微控制器的编程的随机可控运行中。这意味着借助于适当处理至少一个随机数发生器生成的随机数,能够使在微控制器上运行的程序对于外部观察者而言是不可预测地和不可再生地运行。为此目的,可以从大量可能的指令序列中通过利用随机数发生器(RNG)来选择导致所期望的动作的指令序列,所述随机数发生器在某种意义上是本发明所必需的。因为多个不同的指令序列导致相同的结果,所以外部观察者无法通过所选择的指令序列来重构或者分析微控制器的当前动作。借助于依照本发明的此类随机程序运行,关于已处理数据的结果的产生是相当困难的或者被完全禁止。
据此,通过微控制器的硬件实现并且通过根据本发明的相关方法,观察在微控制器上运行的内部程序相比于理解和分析它就没有那么困难了。就此而论,假设对于未经授权的观察者来说,很可能得到有关已执行代码的信息。
本发明的主要内容是在独立于软件的内部状态的程序中随机地执行转移或者分支的可能性。微控制器的硬件连同所提供的硬件随机数发生器根据随机数发生器的状态提供了执行或者拒绝程序转移或者分支的可能性。所述随机数发生器的状态和值是从外部无法看到的。
根据尤其具有创造性的方法,可以通过执行各种、不同方式实现的程序转移或者分支来实现程序转移或者分支的等同的功能;即,为相同的功能提供不同的编码。作为选择,或者另外,程序转移或者分支的不同的功能可以依照所规定的方式来完成。
根据本发明的优选实施例,如果向前和向后的转移或者分支被组合,那么可以在显示不可见的条件转移或者分支的过程中获得进一步的改善,以便可以相对快速地产生非常大量的不同方式实现的程序转移或者分支,依照本发明这可以随机地选择和执行所述程序转移或者分支;由此,在依照向前转移的二叉树的例子的情况下,例如十六个转移,即,可以产生164=65,536个以不同方式执行程序的可能性。
依照本发明的程序运行向外部的观察者展现不可预测的并且不可再生的行为。因为无法根据这种具有大量转移或者分支的程序运行来得到涉及微控制器内部状态或者数据的结果,所以根据本发明的方法提供了一种有效用于对未经授权的观察者隐藏这些状态和/或数据的方法;由此可以使微控制器、特别是智能卡控制器在条件程序转移或者分支的所有情况下都分别可安全地操作。
采用随机数发生器的微控制器的硬件实现在许多方面都有益的并且是合理的,特别推荐的有四种重要的实现方法,这些方法彼此独立或者协同操作,以便执行根据本发明的方法,所述实现方法为:
(i)经由软件的寄存器读取由所述随机数发生器生成的随机数,并且随后利用条件程序转移或者分支评估读取的随机数;
(ii)如果在微控制器中设置至少一个尤其是位可寻址的随机数寄存器(RNR),那么测试随机数寄存器的每位和条件分支;
(iii)实现相应的汇编命令“按随机位转移”,把随机数寄存器已定义的位直接提供给条件转移或分支的条件输入;(=具有最少软件复杂度和成本的最快并且最方便的实现方式);和/或
(iv)依照第(iii)点描述的方法的变体:
临时替换算术逻辑单元(ALU)标志(ALU=在微控制器中找到的逻辑计算单元),其通常按照来自于随机数寄存器的位来控制条件转移或者分支;ALU标志的替换可以受到软件的影响,然后通过随机数寄存器的位来控制对应于ALU位的条件转移或者分支;在此期间,所述ALU标志对条件转移或者分支都是无效的。
总之,本发明的相当大的优势在于:在条件转移或者分支的情况下,基本上很难分析内部状态或者数据。因此,无论所述(微控制器)程序的结构如何,本发明都始终产生相同的动态电流值,并且由此防止以时间为条件的动态电流分析的滥用和未经授权的探测。
本发明最后涉及一种借助于涉受至少一个上述类型的微控制器控制的电气或者电子设备。
如上文已述的那样,存在各种可能的方式来方便地具体实现和进一步开发本发明的教导。一方面,关于这一点可以参考权利要求1和权利要求5的从属权利要求,另一方面,参照附图中示出的实施例阐明了本发明的其他实施例、特征和优势,其中:
图1以示意图表示方法来示出了根据本发明的微控制器的实施例的框图,所述微控制器是利用根据本发明的方法来操作的。
图1举例说明了微控制器100的实施例,所述微控制器100被配置为智能卡控制器,以便控制电气或者电子设备,对所述微控制器的编程是依照与机器相关的汇编程序语言来进行并且处理的。在此处理中,除条件程序转移或者分支之外,所述汇编命令依照独立于数据的方法来执行。
所述微控制器100是根据如下的实事来区别的,其中把随机数发生器10分配给所述微控制器100,借助这种方式,所述程序转移或者分支可以依据随机数发生器10的状态并且独立于微控制器100编程的内部状态来被执行。
因此,可以通过执行各种、不同方式实现的程序转移或者分支来实现程序转移或者分支的相同功能;即,为相同的功能提供不同的编码。
为了实现这点,经由软件的寄存器来读取由随机数发生器10生成的随机数,然后利用条件程序转移或者分支来评估。作为选择,或者除此之外,可以存在分配给随机数发生器10的位可寻址的随机数寄存器20,由此提供了可以对随机数寄存器20的每位进行测试,以及执行条件转移或者分支。
具有最少软件复杂性和成本的最便利的并且最快速的实现方式包括实现汇编命令(“按随机位转移”),把根据随机数寄存器20定义的位直接提供给用于条件转移或者分支的条件输入。
微控制器100的编程还允许上述方法的变体,其中算术逻辑单元(ALU)标志由随机数寄存器20的位通过软件来被替换,以便使对应于算术逻辑单元的条件转移受随机数寄存器20的位控制。
借助于图1所示的微控制器100并且借助于处理微控制器100编程的方法,由于通过适当的处理由随机数发生器10生成的随机数,使得在微控制器100上运行的程序对于外部观察者而言以不可预测的并且不可再生的方式来运行,故而在微控制器100上运行的此编程过程可以被完全隐藏。
为此目的,通过使用所述随机数发生器10,可以从大量合理的指令中选择导致所期望动作的指令。因为多个不同的指令导致相同的结果,所以外部观察者无法通过所选择的指令来重构或者分析微控制器100的当前动作。因此,通过此类随机程序运行,涉及得出已处理数据的结果相当困难或者被完全禁止。
附图标记列表
100微控制器,特别是智能卡控制器
10 Random Number Generator(RNG 10随机数发生器(RNG)
20 In particular bit-addressable random number register(RNR 20尤其是位可寻址的随机数寄存器(RNR)

Claims (10)

1.一种微控制器(100),其编程是依照至少一种与机器相关的汇编程序语言来进行的,其中除条件程序转移或者程序分支外,所述汇编命令可以分别在实质上独立于数据来执行,其特征在于,把至少一个随机数发生器(10)分配给所述微控制器(100),借助这种方式可以如下执行程序转移或者程序分支,
依赖于随机数发生器(10)的状态,和/或
独立于微控制器(100)的编程的内部状态。
2.如权利要求1所述的微控制器,其特征在于,把至少一个、尤其是位可寻址的随机数寄存器(20)分配给所述随机数发生器(10)。
3.如权利要求1或者2所述的微控制器,其特征在于,其是作为智能卡控制器来实现的。
4.一种借助于如权利要求1至3至少一项所述的至少一个微控制器(100)来控制的电气或者电子设备。
5.用于处理微控制器(100)的编程的方法,所述微控制器(100)是依照至少一种与机器相关的汇编程序语言来执行的,除条件程序转移或者分支外,所述汇编命令在实质上独立于数据来执行,其特征在于,所述程序转移或者程序分支以如下方式被执行,
依赖于至少一个随机数发生器(10)的状态,和/或
独立于微控制器(100)的编程的内部状态。
6.如权利要求5所述的方法,其特征在于,经由软件经由寄存器来读取由随机数发生器(10)生成的随机数,然后利用条件程序转移或者分支来评估读取的随机数。
7.如权利要求5或者6所述的方法,其特征在于,如果至少一个、特别是位可寻址的随机数寄存器(20)存在,那么可以对测试随机数寄存器(20)的每一位进行测试以及执行条件转移或者分支。
8.如权利要求5至7至少一项所述的方法,其特征在于,实现至少一个汇编命令(“按随机位转移”),把随机数寄存器(20)的已定义位提供给,尤其直接地提供给用于条件转移或者分支的条件输入。
9.如权利要求5至8至少一项所述的方法,其特征在于,通过随机数寄存器(20)的至少一位、尤其是经由所述软件来替换控制条件转移或者分支的至少一个算术逻辑单元(ALU)标志,以便对应于所述算术逻辑单元的位的条件转移或者分支可以受随机数寄存器(20)的位控制。
10.一种如权利要求1至3至少一项所述的微控制器(100)和/或如权利要求5至9至少一项所述的方法的用途,用于完全隐藏在微控制器(100)上运行的程序,以便使在微控制器(100)上运行的至少一个程序对于外部观察者而言是不可预测的并且是不可再生的。
CNB2003801037319A 2002-11-22 2003-11-17 微控制器和用于处理微控制器编程的相关方法 Expired - Fee Related CN100390696C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10254657A DE10254657A1 (de) 2002-11-22 2002-11-22 Mikrocontroller und zugeordnetes Verfahren zum Abarbeiten der Programmierung des Mikrocontrollers
DE10254657.6 2002-11-22

Publications (2)

Publication Number Publication Date
CN1714328A true CN1714328A (zh) 2005-12-28
CN100390696C CN100390696C (zh) 2008-05-28

Family

ID=32240319

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2003801037319A Expired - Fee Related CN100390696C (zh) 2002-11-22 2003-11-17 微控制器和用于处理微控制器编程的相关方法

Country Status (7)

Country Link
US (1) US20060149942A1 (zh)
EP (1) EP1565800A1 (zh)
JP (1) JP2006507594A (zh)
CN (1) CN100390696C (zh)
AU (1) AU2003278547A1 (zh)
DE (1) DE10254657A1 (zh)
WO (1) WO2004049142A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106919833A (zh) * 2015-12-28 2017-07-04 上海华虹集成电路有限责任公司 安全芯片中防止功耗泄露的方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101185105A (zh) * 2005-05-31 2008-05-21 Nxp股份有限公司 电子电路装置以及操作这种电子电路装置的方法
EP2234031A1 (en) * 2009-03-24 2010-09-29 SafeNet, Inc. Obfuscation
US8812826B2 (en) * 2010-10-20 2014-08-19 International Business Machines Corporation Processor testing
US10866805B2 (en) * 2018-01-03 2020-12-15 Arm Limited Speculation barrier instruction

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2745924B1 (fr) * 1996-03-07 1998-12-11 Bull Cp8 Circuit integre perfectionne et procede d'utilisation d'un tel circuit integre
WO1999063696A1 (en) * 1998-06-03 1999-12-09 Cryptography Research, Inc. Using unpredictable information to minimize leakage from smartcards and other cryptosystems
GB2365153A (en) * 2000-01-28 2002-02-13 Simon William Moore Microprocessor resistant to power analysis with an alarm state
EP1293856A1 (fr) * 2001-09-18 2003-03-19 EM Microelectronic-Marin SA Circuit Intégré sécurisé comprenant des parties à caractère confidentiel, et procédé pour sa mise en action

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106919833A (zh) * 2015-12-28 2017-07-04 上海华虹集成电路有限责任公司 安全芯片中防止功耗泄露的方法

Also Published As

Publication number Publication date
CN100390696C (zh) 2008-05-28
WO2004049142A1 (en) 2004-06-10
EP1565800A1 (en) 2005-08-24
AU2003278547A1 (en) 2004-06-18
JP2006507594A (ja) 2006-03-02
US20060149942A1 (en) 2006-07-06
DE10254657A1 (de) 2004-06-03

Similar Documents

Publication Publication Date Title
EP1130518B1 (en) Software analysis system having an apparatus for selectively collecting analysis data from a target system executing software instrumented with tag statements and method for use thereof
US5528753A (en) System and method for enabling stripped object software monitoring in a computer system
US8607094B2 (en) Operational system test method
US5309352A (en) Method and system for optimizing termination in systems of programmable devices
CN100440163C (zh) 对计算机程序进行运行时分析的方法和系统
CN1350675A (zh) 用于监控程序流程的方法
CN103314356A (zh) 处理设备、追踪单元及诊断设备
CN1516829A (zh) 数字集成电路中非所欲外部操作侦测之防止
CN101344857B (zh) 用于加速Java翻译的设备和方法
CN1228857A (zh) 特别用于芯片卡中的、具有一个控制单元和一个包围控制单元的外壳的微处理器
JPH04330527A (ja) プログラムの最適化方法及びコンパイラ・システム
KR101875225B1 (ko) 가상 머신에 의한 실행을 위한 프로그래밍의 중간 코드의 보안 프로세스, 컴퓨터 프로그램 및 장치
CN1714328A (zh) 微控制器和用于处理微控制器编程的相关方法
US20060277541A1 (en) Relocatable component file format
CA2359862A1 (en) Using identifiers and counters for controlled optimization compilation
CN1302428C (zh) 编程可写集成电路卡及其方法
CN1714337A (zh) 微控制器和用于处理微控制器的编程的相关方法
CN1332860A (zh) 电子元件及其用于屏蔽指令执行或数据处理的方法
CN1940888A (zh) 计算机程序测试方法
US7086054B2 (en) Method and device for reconstructing the process sequence of a control program
KR101256225B1 (ko) 디바이스 인터페이스 방법 및 그 장치
McLeod et al. Instrumenting bytecode for the production of usage data
CN1537259A (zh) 计算设备的配置管理的方法和装置
CN111209059B (zh) 一种嵌入式软件多版本控制系统及方法
US20070083351A1 (en) Integrated circuit test simulator

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: NXP CO., LTD.

Free format text: FORMER OWNER: KONINKLIJKE PHILIPS ELECTRONICS N.V.

Effective date: 20070720

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20070720

Address after: Holland Ian Deho Finn

Applicant after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Applicant before: Koninklijke Philips Electronics N.V.

C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080528

Termination date: 20101117