CN101185105A - 电子电路装置以及操作这种电子电路装置的方法 - Google Patents

电子电路装置以及操作这种电子电路装置的方法 Download PDF

Info

Publication number
CN101185105A
CN101185105A CNA2006800190230A CN200680019023A CN101185105A CN 101185105 A CN101185105 A CN 101185105A CN A2006800190230 A CNA2006800190230 A CN A2006800190230A CN 200680019023 A CN200680019023 A CN 200680019023A CN 101185105 A CN101185105 A CN 101185105A
Authority
CN
China
Prior art keywords
random number
additional
electronic
circuit device
generation unit
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.)
Pending
Application number
CNA2006800190230A
Other languages
English (en)
Inventor
于尔根·施罗德
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 CN101185105A publication Critical patent/CN101185105A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C15/00Generating random numbers; Lottery apparatus
    • G07C15/006Generating random numbers; Lottery apparatus electronically
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0813Specific details related to card security

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

为了提供一种包括至少一个用于生成至少一个随机数(RN;RN1)的随机数生成单元(10)的电子电路装置(100),其中无法对用于软件(20)的所述随机数(RN;RN1)进行计算或者估计,尤其是无法通过物理测量方式,提出了用于生成至少一个附加的或者第二随机数(RN2)的至少一个附加的或者第二随机数生成单元(12)。

Description

电子电路装置以及操作这种电子电路装置的方法
技术领域
本发明主要涉及电子芯片卡和终端的认证的技术领域。
具体而言,本发明涉及如在权利要求1中所描述的一种电子电路装置以及如在权利要求6中所描述的操作这种电子电路装置的方法。
背景技术
出于安全性考虑,用于生成密匙(key),尤其是私匙(secretkey),和用于电子芯片卡和终端的认证的随机数必须是真正的随机数而不能是伪随机数,例如,伪随机数采用在软件中实现的算法来生成。
由于这个原因,现代芯片卡,尤其是现代智能卡,具有提供这些随机数的基于硬件的随机数生成器。这种基于硬件的随机数生成器必须按照这样的方式实现:随机数生成器产生的随机数的性质不能被外部物理特性比如温度、电源电压影响。在任何情况下,对一个或者多个物理参数无意或者有意的操作必须不会造成生成的随机数的可预测性。
由于很难在硅中实现上述要求(例如会有PN转换作为噪声源),因此使用内部逻辑状态和反馈移位寄存器来使得可以以不同参数生成的时钟频率进行切换。
如果中央处理器(CPU)现在读出移位寄存器或者据其得出的结果,则CPU接收到一个不被外部确定性地确定的相对好的随机数。用这种方法产生的随机数具有高质量的前提是与移位寄存器的时钟频率相比随机数被读取的时间间隔是很大的。
如图1所示,现有技术智能卡包括一个基于硬件实现的单个的随机数生成器10。这个随机数生成器10被设计成使得所生成的随机数RN不能通过物理测量方法而直接被计算或者估计。
作为安全功能,例如用于随机化CPU周期(添加附加等待状态)、用于随机化程序执行中的分支以及用于智能卡上的其它随机操作,一般使用从基于硬件的随机数生成器生成的随机数获取的数值。
这些操作必须被非常迅速而且非常频繁地执行;由于这些原因,这些操作不满足时间上的要求,也就是与移位寄存器的时钟频率相比随机数被读取的时间间隔是很大的。
然而,程序执行中的随机化、随机化的分支、随机跳转或者随机转换通过物理测量会变得可见(visible);此时使用的随机数能再次通过数学方法从这些可见的测量结果中推算出来。
如果随机数被用于密匙尤其是私匙的片上生成,以及用于电子芯片卡和终端的认证,那么在这个时间间隔期间,它必须结束而不执行所有的(安全)操作,其中通过该(安全)操作随机数生成器的内部状态能通过物理测量而变得可见。
对于前述现有技术,一般已知的是CPU的操作可以通过随机附加的电流传播来掩饰。
例如,现有技术文件US 6 419 159 B1公开了使用一种通过随机附加的电流传播来掩饰CPU的操作的随机数生成器。虽然对编码的操作被保密,这要求实现对指令的操作的掩蔽,但是故意让随机数生成器的状态外部可见。然而,现有技术文件US 6 419 159 B1没有考虑到软件同样需要随机数。
在另一个例子中,现有技术文件US 6 698 662 B1公开了使用一种通过随机附加的电流传播来掩饰CPU的操作并对电可擦写可编程只读存储器(EEPROM)进行编程的随机数生成器。虽然电流消耗被随机化,但是随机数生成器的状态是故意外部可见的。然而,现有技术文件US 6 698 662 B1没有考虑到软件同样需要随机数。
在现有技术文件EP 1 244 077 A2中,CPU所要处理的数据被变换并再次变换从而使得数据保密;这造成了在数据处理过程中的随机电流传播。因此,现有技术文件EP 1 244 077 A2的教义是基于在处理数据之前和之后打乱(随机化)数据,这是利用常数汉明权随机函数发生器而没有使用基于硬件的随机数生成器。
在现有技术文件EP 1 006 492 A1中,使用随机数生成器以便于通过随机地附加电流传播(在此情况下由指令的多处理引起)也即通过随机化处理顺序来掩饰CPU的操作。
现有技术文件US 2003/0194086 A1涉及指令的随机执行并且从而遮蔽加密操作;所以,使用了随机数生成器但是随机数生成器的状态是外部可见的。
发明内容
从上述优点和缺点开始并且考虑到讨论过的现有技术,本发明的目标是按照以下方式进一步开发在技术领域中所提到的那种电子电路装置以及在技术领域中所提到的那种方法,所述方式为:对在软件中使用的随机数的计算或者估计是不可能的,尤其是通过物理测量的方法。
本发明的目标通过包括权利要求1所述特征的电子电路装置以及包括权利要求6所述特征的方法实现。本发明的优选实施方式以及有利的改进在各个从属权利要求中公开。
本发明基于通过产生与第一随机数生成单元生成的随机数无关的随机数的至少一个附加随机数生成单元或者第二随机数生成单元来改进数据载体的,特别是芯片卡(如智能卡)的至少一个芯片的安全性的想法。
根据本发明的优选实施例,第一随机数生成单元被用于软件密匙生成并被保护,而附加的或者第二随机数生成单元被用来随机化CPU周期、等待状态、执行延迟等等并且是外部可见的,从而遮蔽用于密匙生成的软件操作。
因此,附加的或者第二安全的基于硬件的随机数生成单元能在数据载体上,尤其是芯片卡(如智能卡)上这样实现:数据载体完全独立于第一随机数生成器运行,即第一随机数生成器生成的随机数与附加的或者第二随机数生成器生成的随机数之间没有关联。
本发明进一步基于用于密匙(尤其是私匙)生成的随机数必须比用于实现安全功能的随机数更好地被保护的假设或者想法。
根据本发明的优选实施例,第一随机数生成器生成用于密匙尤其是私匙的片上生成的安全的随机数;这些安全的随机数优选地仅仅被软件使用。
根据本发明的优选实施例,附加的或者第二随机数生成器生成被硬件使用的随机数,例如用于随机化CPU周期(添加附加等待状态)或者用于在程序执行中进行随机化的分支。根据本发明的方法的原理,这些随机数是外部可见的。
根据上述实现,使用附加的或者第二随机数生成器的硬件功能可同时与用于片上密匙生成的随机数的生成一起使用。
这相对于现有技术尤其具有优势,其中在现有技术中,在对用于片上密匙(尤其是私匙)生成的随机数以及用于电子芯片卡和终端的认证的随机数进行使用的时间间隔期间,它必须结束而不执行所有的(安全)操作,其中通过该(安全)操作随机数生成器的内部状态能通过物理测量而变得可见。
不同于现有技术文件US 6 41 9 159 B1、现有技术文件EP 1 006492 A1以及现有技术文件US 2003/0194086 A1,本发明公开了保护附加的或者第二随机数生成器的状态,并因此保护由此生成来用于随后软件本身的使用的随机数的原理;这些生成的随机数从外看不是可见的(例如通过电流传播的方式)因此仍是秘密的。
由于使用第二随机数生成器的硬件操作起到掩饰数据载体上,尤其是芯片卡(如智能卡)上的内部处理过程的安全功能,所以数据载体的安全性由于附加的或者第二随机数生成器的存在而被提高。
由于在数据载体上具有附加的或者第二随机数生成器,无法再通过物理测量方法来基于内部状态估计或者计算用于由软件进行的密钥生成的随机数。
第一随机数生成器和附加的或者第二随机数生成器各自独立地工作并且被用于不同的任务。因此,实现了以下随机数的区分:
-由第一随机数生成器生成的外部不可见的随机数,其因此可被软件用于密匙(尤其是私匙)的安全生成,以及
-由附加的或者第二随机数生成器生成的外部可见的随机数。
本发明还涉及数据载体,尤其是芯片卡(如智能卡),其包括如上所述的至少一个电子电路装置。
本发明,特别是前面所描述的电子电路装置和/或前面所描述的方法,能应用于密匙(尤其是私匙)的片上生成以及电子芯片卡和终端的认证;这些处理经常需要用到随机数。
随机数还被用来
-用于安全功能,例如用于随机化CPU周期(加上附加的等待状态),
-用于在程序执行中的随机化的分支,以及
-作为“存储器串扰值”。
如前面已经讨论的,可以有多种选择来对本发明的教义以优选的方式进行实现和改进。出于这个目的,分别对基于根据权利要求1和6的一些权利要求做了参考;本发明的进一步的改进、特征和优点将在下面参考作为例子的优选实施方式以及参考附图来进行更详细的解释。
附图说明
图1示意性地显示了根据现有技术的电子电路装置;以及
图2示意性地显示了按照根据本发明的方式进行工作的根据本发明的电子电路装置。
相同的参考数字被用于在图1和图2中表示相对应的部分。
具体实施方式
如图2所示,通过本发明的方法实现为电子电路装置100的实施例包括,处在其它物体之间的,用于生成第一随机数RN1的第一随机数生成单元10,和用于生成附加或第二随机数RN2的附加的或者第二随机数生成单元12。电子电路装置100是在智能卡上实现的具有改进的安全功能的智能卡芯片的一部分。
附加的或者第二安全随机数生成单元12按照这样的方式完全独立于第一随机数生成单元10,该方式为:由第一随机数生成单元10生成的随机数RN1和由附加的或者第二随机数生成单元1 2生成的随机数RN2之间没有出现关联。
第一随机数生成单元10生成用于密匙生成的并且仅仅用于智能卡内部的软件20的安全的第一随机数RN1,同时,第二随机数生成单元12生成用于智能卡的硬件30中的第二随机数RN2,例如用于随机化CPU周期、用于添加附加的等待状态或者用于在程序执行中的随机化的分支。
第二随机数生成单元12从智能卡外看来是可见的,即存在信息泄漏32,但是无法对用于软件20中的随机数RN1进行任何计算和任何估计。
根据本发明,使用了第二随机数生成单元12的硬件30的功能和生成用于片上密匙生成的随机数RN1的功能现在被允许同时操作,至今为止,如果不是冒着智能卡上生成的密匙能从外部通过计算或者估计而被发现的风险,这是不可能做到的,其中所述计算或者估计是基于通过对智能卡的处理器的内部物理状态的调查而得到的关于随机数的信息。
参考数字表
100 电子电路装置
10  随机数生成单元,尤其是第一随机数生成单元
12  附加的或者第二随机数生成单元
20  软件
22  软件20的保护
30  硬件
32  信息泄漏但是没有对用于软件20的第一随机数RN1的计算或者估计
RN  随机数(=现有技术;比较图1)
RN1 随机数,尤其是第一随机数
RN2 附加的或者第二随机数

Claims (10)

1.一种电子电路装置(100),包括用于生成至少一个随机数(RN;RN1)的至少一个随机数生成单元(10),所述电子电路装置(100)的特征在于包括至少一个附加的或者第二随机数生成单元(12),其用于生成至少一个附加的或者第二随机数(RN2)。
2.如权利要求1所述的电子电路装置,其特征在于由所述附加的或者第二随机数生成单元(12)所生成的所述附加的或者第二随机数(RN2)与由所述第一随机数生成单元(10)生成的随机数(RN;RN1)不存在任何关联。
3.如权利要求2所述的电子电路装置,其特征在于
-由所述第一随机数生成单元(10)生成的所述随机数(RN;RN1)
--被用于软件(20)的操作,尤其是用于密匙的生成,例如私匙的生成,并且
--被保护(22),和/或
-由所述附加的或者第二随机数生成单元(12)所生成的所述附加的或者第二随机数(RN2)
--被用于硬件(30)的操作,尤其是用于随机化中央处理器的周期、添加附加的等待状态、在程序执行中随机化的分支和/或延迟等类似的操作,并且
--是外部可见的,因此遮蔽了用于密匙生成的软件(20)的操作。
4.如权利要求1到3中至少一个权利要求所述的电子电路装置,其特征在于把使用所述附加的或者第二随机数生成单元(12)的所述硬件(30)的操作用作至少一种安全功能,该安全功能用来掩饰在至少一个数据载体上的,尤其是至少一个芯片卡(如至少一个智能卡)上的内部处理过程,所述数据载体的安全性被所述附加的或者第二随机数生成单元(12)改善。
5.一种数据载体,尤其是芯片卡,例如智能卡,其特征在于根据权利要求1到4中至少一个权利要求所述的至少一个电子电路装置(100)  。
6.一种操作电子电路装置(100)的方法,利用所述方法能生成至少一个随机数(RN;RN1),所述方法的特征在于产生至少一个附加的或者第二随机数(RN2)。
7.如权利要求6所述的方法,其特征在于所述附加的或者第二随机数(RN2)与所述第一随机数(RN1)不存在任何关联。
8.如权利要求6或者7所述的方法,其特征在于
-所述第一随机数(RN1)
--被用于软件(20)的操作,尤其是用于密匙的生成,例如私匙的生成,并且
--被保护(22),和/或
-所述附加的或者第二随机数(RN2)
--被用于硬件(30)的操作,尤其是用于随机化中央处理器的周期、添加附加的等待状态、在程序执行中随机化的分支和/或延迟等类似的操作,并且
--是外部可见的,因此遮蔽了用于密匙生成的软件(20)的操作。
9.如权利要求6到8中至少一个权利要求所述的方法,其特征在于硬件(30)的操作作为至少一种安全功能,该安全功能用来掩饰在至少一个数据载体上的,尤其是至少个芯片卡(如至少一个智能卡)上的内部处理过程,所述数据载体的安全性被附加的或者第二随机数(RN2)改善。
10.一种对根据权利要求1到4中至少一个权利要求的至少一个电子电路装置(100)的使用和/或对根据的权利要求6到9中至少一个权利要求的方法的使用
-用于至少一个密匙的片上生成,尤其是至少一个私匙的片上生成,
-用于对至少一个电子数据载体,尤其对至少一个芯片卡(如智能卡)的认证,以及对至少一个终端的认证,
-用于安全功能,例如用于随机化至少一个中央处理器的至少一个周期,
-用于添加附加的等待状态,
-用于在至少一个程序的执行中随机化的分支,
-作为至少一个存储器串扰值。
CNA2006800190230A 2005-05-31 2006-05-16 电子电路装置以及操作这种电子电路装置的方法 Pending CN101185105A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP05104664 2005-05-31
EP05104664.7 2005-05-31

Publications (1)

Publication Number Publication Date
CN101185105A true CN101185105A (zh) 2008-05-21

Family

ID=37074458

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006800190230A Pending CN101185105A (zh) 2005-05-31 2006-05-16 电子电路装置以及操作这种电子电路装置的方法

Country Status (6)

Country Link
US (1) US20080260146A1 (zh)
EP (1) EP1894168A1 (zh)
JP (1) JP2008542894A (zh)
KR (1) KR20080016887A (zh)
CN (1) CN101185105A (zh)
WO (1) WO2006129214A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10289826B2 (en) * 2009-03-03 2019-05-14 Cybrsecurity Corporation Using hidden secrets and token devices to control access to secure systems
KR101981621B1 (ko) * 2017-12-11 2019-08-28 국민대학교산학협력단 공개키 암호 알고리즘의 키 비트 변수 램덤화를 위한 장치 및 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2776410B1 (fr) * 1998-03-20 2002-11-15 Gemplus Card Int Dispositifs pour masquer les operations effectuees dans une carte a microprocesseur
DE69942574D1 (de) * 1998-07-31 2010-08-26 Nxp Bv Datenverarbeitungsgerät mit mitteln zum entgegenwirken von analyseverfahren zur entdeckung eines geheimen charakteristischen wertes
US6477251B1 (en) * 1998-11-25 2002-11-05 Gtech Rhode Island Corporation Apparatus and method for securely determining an outcome from multiple random event generators
US7599491B2 (en) * 1999-01-11 2009-10-06 Certicom Corp. Method for strengthening the implementation of ECDSA against power analysis
US6419159B1 (en) * 1999-06-14 2002-07-16 Microsoft Corporation Integrated circuit device with power analysis protection circuitry
DE50003679D1 (de) * 2000-01-18 2003-10-16 Infineon Technologies Ag Mikroprozessoranordnung mit verschlüsselung
AU4677701A (en) * 2000-03-29 2001-10-08 Feng Shui. Inc. Random number generation
US20030145216A1 (en) * 2002-01-25 2003-07-31 Matsushita Elec. Ind. Co., Ltd. Semiconductor integrated circuit and data carrier with said integrated circuit
DE10254657A1 (de) * 2002-11-22 2004-06-03 Philips Intellectual Property & Standards Gmbh Mikrocontroller und zugeordnetes Verfahren zum Abarbeiten der Programmierung des Mikrocontrollers

Also Published As

Publication number Publication date
EP1894168A1 (en) 2008-03-05
JP2008542894A (ja) 2008-11-27
WO2006129214A1 (en) 2006-12-07
KR20080016887A (ko) 2008-02-22
US20080260146A1 (en) 2008-10-23

Similar Documents

Publication Publication Date Title
US6419159B1 (en) Integrated circuit device with power analysis protection circuitry
CN100390695C (zh) 更少信息泄露的设备与方法
EP1260945A1 (en) Semiconductor integrated circuit on IC card protected against tampering
Knechtel et al. Protect your chip design intellectual property: An overview
KR20070085129A (ko) 인크립션 프로세싱 방법 및 인크립션 프로세싱 장치
US7412608B2 (en) Secure data processing unit, and an associated method
EP2876593A1 (en) Method of generating a structure and corresponding structure
US7500110B2 (en) Method and arrangement for increasing the security of circuits against unauthorized access
CN100446019C (zh) 一种软件版权保护方法
CN108182358B (zh) 文件保护方法、装置、计算设备及计算机存储介质
US20100011344A1 (en) Method making it possible to vary the number of executions of countermeasures in an executed code
CN101185105A (zh) 电子电路装置以及操作这种电子电路装置的方法
Leng Smart card applications and security
US20100250962A1 (en) Electronic token comprising several microprocessors and method of managing command execution on several microprocessors
US20090271463A1 (en) Pseudorandom number generator and data communication apparatus
EP3907633B1 (en) System and method for obfuscating opcode commands in a semiconductor device
US20170373837A1 (en) Protection method and device against a side-channel analysis
EP3046095B1 (en) A method of protecting diverse applications stored on an integrated circuit using PUFs
CN100470438C (zh) 具有微处理器的电子模块中逻辑或数学操作符的保护方法
Rankl Overview about attacks on smart cards
Sunkavilli et al. Dpredo: Dynamic partial reconfiguration enabled design obfuscation for fpga security
EP2677327A1 (en) Method for producing an electronic device with a disabled sensitive mode, and method for transforming such an electronic device to re-activate its sensitive mode
US9323955B2 (en) Method for protecting a logic or mathematical operator installed in an electronic module with a microprocessor as well as the associated embedded electronic module and the system
EP4195579A1 (en) Asynchronous code execution for enhanced performance and security measures protecting digital security devices
Agosta et al. Automated instantiation of side-channel attacks countermeasures for software cipher implementations

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20080521