CN1308752A - 保护存取的数据载体 - Google Patents

保护存取的数据载体 Download PDF

Info

Publication number
CN1308752A
CN1308752A CN99808244A CN99808244A CN1308752A CN 1308752 A CN1308752 A CN 1308752A CN 99808244 A CN99808244 A CN 99808244A CN 99808244 A CN99808244 A CN 99808244A CN 1308752 A CN1308752 A CN 1308752A
Authority
CN
China
Prior art keywords
data
order
auxiliary
data carrier
subclass
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
CN99808244A
Other languages
English (en)
Other versions
CN1174347C (zh
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.)
Jiejia De Mobile Safety Co Ltd
Original Assignee
Giesecke and Devrient GmbH
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=27218381&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN1308752(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from DE19822218.1A external-priority patent/DE19822218B4/de
Priority claimed from DE19822217.3A external-priority patent/DE19822217B4/de
Priority claimed from DE19822220.3A external-priority patent/DE19822220B4/de
Application filed by Giesecke and Devrient GmbH filed Critical Giesecke and Devrient GmbH
Publication of CN1308752A publication Critical patent/CN1308752A/zh
Application granted granted Critical
Publication of CN1174347C publication Critical patent/CN1174347C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • 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
    • 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/77Protecting 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 in smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/073Special arrangements for circuits, e.g. for protecting identification code in memory
    • G06K19/07309Means for preventing undesired reading or writing from or onto record carriers
    • G06K19/07363Means for preventing undesired reading or writing from or onto record carriers by preventing analysis of the circuit, e.g. dynamic or static power analysis or current analysis
    • 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
    • G07F7/082Features insuring the integrity of the data on or in the card
    • 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/10Mechanisms 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 together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Storage Device Security (AREA)
  • Control Of Vending Devices And Auxiliary Devices For Vending Devices (AREA)

Abstract

本发明涉及一种包括一块半导体芯片(5)的数据存储介质(1)。为了防止未授权的人通过侦听所述芯片(5)黑客从截获到的信号模式判定芯片(5)的保密数据,与安全有关的操作只能用操作程序的命令或命令串来进行,该操作程序的使用不允许从信号模式推断出所处理的数据。

Description

保护存取的数据载体
本发明涉及存储机密数据的半导体芯片的数据载体。本发明特别地涉及一种智能卡。
包含芯片的数据载体使用在许多不同的方面,例如,用于对换货币、交付货款或服务费、或作为存取或入场的控制识别部件。在所有这些应用中,数据载体的芯片通常用于处理需要避免未被授权的第三者用户存取的机密数据。这种保护尤其是要通过在很小尺度上给出芯片的内部结构、使得怀有探查(spy out)所述结构中被处理的数据的目的、来存取所述结构很困难,从而确保数据的安全。为更进一步地阻止这种未被授权的第三者用户存取数据,将该芯片嵌入在很结实的块体中,要强行去掉保护这种块将毁坏半导体板或至少毁坏其中储存的机密数据。在其生产过程中同样可以提供一种具有非毁坏半导体板就不能移去保护层的半导体板。
由于虽然相应的技术设备尽管极端昂贵,但从根本上讲黑客是可以找得到的,而且黑客用它就能够在显露和检测芯片内部结构方面获得成功。例如通过专门的蚀刻技术或者合适的磨削处理能够实现这种显露。因此用微探针接触芯片的显露结构,诸如传导的路径,或通过其它的方法进行检测以判定所述结构中的信号模式。然后黑客为了用它达到操纵的目的,尝试从载体的已探测到的信号机密数据中判定出诸如密钥的内容。他同样能够尝试选择性地经由微探针影响显露的结构中的信号模式。
本发明是基于保护载体芯片中的机密数据免于被未被授权者存取的问题。
这个问题通过独立的权利要求的特征组合得到解决。
不象现有技术那样,本发明的解决方法不涉及防止芯片内部结构的显露和微探针安装的措施。采用代替措施使潜在的黑客难于从任何截获的信号模式中推断出机密信息。这种信号模式依赖于芯片中正在运行的操作。所述操作靠芯片的存储器中存储的操作程序的帮助进行控制。这个操作程序是由一系列独立命令组成,每一这样的命令触发一个精确指定的操作。为了该芯片能实现预定的函数,需要为所述每一函数定义一相应命令串。例如,这样的函数可以是靠密钥的帮助加密数据。为了给通过他在芯片上安装的微探针进行截获处理的黑客尽可以少的、关于该芯片上特殊命令的执行和执行命令所用的数据的信息,最好使用这样一种命令、或以这样一种方式使用命令、来实现所要的函数,也就是即使探查信息不是不可能,也至少很困难。换句话说,不使用允许用简单的方式推断通过截获处理的数据的命令和命令串。
当一条命令处理很少的数据、例如一位的时候,总是特别容易推断出这个数据。由于这个原因,按照本发明的一个优选实施例,最好使用同时处理多位、例如一个字节的命令,至少对所有与安全相关的操作、诸如加密数据是这样。这种同时处理多位模糊了信号模式上的单个位所具有的影响,这种影响由针对很难推断单个位的总体信号的命令引起。这种信号模式比用单个位处理的模式要复杂得多,并且该信号的那部分属于处理过的数据的那个位不很明显。
另外或还有一种方法,按照本发明,人们可以通过使用与安全相关的操作的单独命令阻止对处理过的数据的侵袭,这里的命令触发一个相同的或非常相似的信号模式,或者对处理的数据在信号模式方面的影响很小或者没有影响的命令。
按照本发明的另一具有优势的优选实施例,人们不以不具有真实的机密数据而是以具有伪造的机密数据执行与安全相关的操作,而伪造的机密数据在没有附加更多的机密信息的情况下,不能判定真实的机密数据。这就意味着即使黑客成功判定了在一项操作中使用的机密数据,也不能引起任何破坏,原因是所探查的数据并不是真实的机密数据,而是伪造的机密数据。
为了保证数据载体起作用,在不论伪造的机密数据是否正确使用时,人们都必须确保数据载体发送出正确结果。这可以通过用于伪造真实机密数据的第一专用函数得到,例如将随机数与机密数据进行EXOR操作的函数。用该专用函数伪造真实的机密数据。这种伪造的机密数据被用于执行数据载体中所有的那些操作,而在该数据载体中对机密数据的伪造随后将进行补偿。在EXOR伪造的机密数据时,这些相对于EXOR操作而言总是线性的操作。在一项操作执行以前,不允许进行这样的补偿,例如一种相对于EXOR而言是非线的那种操作,因此必须恢复这种真实的机密数据以便使用真实的机密数据进行所述操作。在补偿函数执行之后,真实的机密数据得到恢复,例如这种补偿函数具有经过EXOR的函数值,该函数值是通过伪造的机密数据判定的,并且是用于伪造的随机数的相应函数值。在本文中,重要的是在安全的环境中预先判定和存储随机数和函数值,从而使得随机数的函数值的计算不被截获。
上述过程意味着真实的机密数据仅仅用来实施诸如非线性操作这样的操作,对这种操作这是绝对必要,也就是不能用伪造的机密数据交替进行操作。由于这样的操作通常很复杂,并且不容易分析,所以潜在的黑客从分析由所述操作导致的信号模式中发现出真实的机密数据,如果不是不可能的话,也是极端困难的。由于允许对伪造的进行随后补偿的简单结构化的函数和伪造的机密数据一起实施,所以这种被描述的过程使得从非法截获的信号模式中判定出数据载体中的真实的机密数据极端困难。
信号模式依赖于芯片中正执行的操作。如果总是按照相同的固定模式,也就是相同的次序执行所述操作,并且黑客知道这种次序,那么黑客要探查数据所需要克服的困难比他还不知道那时正在执行的操作的情形所遇到的困难小得多。因此按照本发明的一个更进一步的实施例,当在智能卡内执行与安全相关的操作时,尽可能地远离固定流程模式(rigid flow pattern),从而不给黑客提供往下分析机密数据所使用的任何线索。这种方式能通过执行尽可能多的操作,最理想地是执行所有的操作而得到,在不需要由其它操作所确定的数据的每一操作范围内,这些操作彼此是相互独立的,可变次序的,例如操作是随机的或依赖于输入数据的。这获得这样的结果:通常适应于操作次序的黑客不易发现那项操作正在执行。这特别适用于相对于用相同的输入数据产生的信号模式而言,操作极为相似或甚至相同的情况。如果黑客确实还不知道这种正在执行的操作类型,但仍然选择性地探查机密数据是极端困难的。如果有黑客为了平均出顺序的随机变化,而进行大量探测尝试的危险,那么使得变化依赖于输入数据的做法是值得推荐的。
通过参照如下图中所示的实施例,对本发明进行阐述,其
图1给出一块智能卡的正面图,而
图2给出图1中智能卡上的芯片放大很多倍的详细电路图。
图3给出在这块智能上一种操作顺序的部分流程示意框图,而
图4给出在图3中的操作顺序的变化。
图5给出在该智能卡上执行某些操作顺序的示意框图。
图1所示的智能卡1是作为数据载体的一个例子。智能卡1由卡本体2和在本体2上中特意配置的缝隙中设置的芯片模块3组成。芯片模块3的主要组成部分是接触表面4,它与外部装置的电连接经由该接触表面4构成,并且芯片5与该连接表面4电连接。替代地或附加到接触表面4上的还有:未在图1中给出的线圈或者其它传输元件,它们能够用于在芯片5和一个外部装置之间产生通讯连接。
图2给出图1从正面看芯片5的放大很多倍的详细电路图。图2的特征在于表明芯片5的有效(active)表面,也就是图2省略通常保护芯片5的有效层的所有层。为了得到芯片内部信号模式的信息,例如用微探针与揭示结构6接触。这些微探针是用精确定位装置与揭示结构6、例如传导的路径、电接触的非常细的针。为了推断芯片中的机密数据,采用合适的测量和评估装置对用微探针拾取的信号模式进行处理。
本发明所取得这样的成果:黑客即使成功在不毁坏电路的情况下,使用微探针接触芯片5的揭示结构6或者用别的方式截获该芯片、来移去芯片5的保护层,仍不能获得对芯片5中特别机密的数据的存取,或者有极大的困难。当然,如果黑客用另外的方法获得存取芯片5的信号模式,本发明也是有效的。
按照本发明,至少在所有与安全相关的操作中按这样的方式选择这种芯片的操作程序的命令或命令串,这样的方式就是:从截获的信号模式中要么根本推断不出用这些命令处理过的数据,要么至少有极大困难。
这样的方式是能获得的。例如,在安全操作中从根本不使用处理单个位,诸如单个位的移位命令,意思是导致位串的位一个置换(permutation)。例如使用诸如拷贝或旋转命令这样的字节命令替代位命令、以处理不是单个的位,而是包含8个位的一个完整的字节。用字节命令比用位命令触发一个复杂许多的信号模式,也就是使单个位与信号模式的局部范围发生联系是极端困难的。这样就模糊了用字节命令处理的信息,从而更难探查所述信息。
更进一步,本发明提供一种在与安全相关的操作中仅仅主要使用触发非常相似的信号模式的命令的可能性,使得通过信号模式区分正执行的命令是非常困难的。也可能设计命令使得这种处理的数据对用这项命令触发的信号模式产生很小的影响或者没有影响。
所描述变化能够要么交替地使用,要么相对于单个命令组合使用。这样,与安全相关的命令的一个发明性的集合是由属于一或多项上述变化的命令组成。人们同样也能使用属于相同变化的所有命令集,以及还允许属于其它变化的一些或所有命令的指令集。例如允许单字节命令,最好是使用另外触发非常相似的信号模式的那些命令。
举例来说,与安全相关的操作包括智能卡中频繁使用的加密操作。这种加密涉及执行一系列导致在数据字中进行逐位改变的单独操作。按照本发明,采用用字节命令和/或用上述涉及的发明性的措施代替所有这些命令。这使得黑客从所截获的信息模式中推断出用于加密的机密密钥更加困难,因此可以防止所述机密密钥的滥用。
图3给出在这块智能卡上一个操作顺序的部分流程示意框图。选择一个加密操作示例性地说明这一原理。然而通过这一个例子说明的原理还可以应用到任何其它的、与安全相关的操作上面。在图3给出的加密操作的开始部分,用明码电文或加密的电文表示的数据abc提供给逻辑点(logic point)7。在逻辑点7中的数据abc与密钥K1组合。在本例中,这种组合是一个EXOR的操作,但是也能使用其它适当组合形式。然后把非线性函数g作用于函数块8中组合的结过上面。图3中为了显示函数块8表示一个非线性函数,将其表示为一个失真(distorted)的矩形。在逻辑点9用随机数Z对用函数块8产生的数据执行EXOR的操作,接着处理函数块10中的数据。与随机数Z的组合导致了伪造的数据,该伪造的数据使得黑客难于分析函数块10中用函数f表示的线性映象(mapping)的过程。在图3中把不失真的矩形作为一个线性函数的符号。在逻辑点11上把函数块10中产生的数据与以前产生的,也就是在卡的生产过程中通过将函数f作用于随机数Z而产生的数据f(Z)进行组合。这种组合在逻辑点9用随机数Z对该伪造的数据进行补偿。这种补偿是必须的,因为非线性函数g接着作用于函数块12中的数据,当非线性函数作用于该数据后,不再可能对伪造的数据进行补偿。更进一步,在逻辑点11用必须与加密操作有关的密钥K2对该数据执行EXOR操作。
在逻辑点11中,不是用单个分量Z2和f(Z),就是用所述这两个分量的一个EXOR操作的结果实现与数据f(Z)和密钥Z2的组合。后面的过程展现了在明码电文中不需要密钥K2但还是有效的可能性,其中不包括用f(Z)对密钥K2执行EXOR操作。如果以前计算了这种组合的值并存储在卡的、也就是在初始化或做标记阶段的这种智能卡1的存储器中,那么在智能卡1中用明码电文存储密钥K2是不必要的。这更进一步增加了智能卡1的安全性。
在函数g作用于函数块12中的数据之后,由此确定的结果在逻辑点13依次与随机数Z组合,因而是伪造的。然后线性函数f作用于在函数块14中结合出来的结果上。最后将该结果与用函数f作用于随机数Z的结果、以及与在逻辑点15中的密钥K3执行EXOR操作。该操作可以跟随更进一步的处理步骤,在图3中没有给出。
总而言之,图3中的过程能够概述为为了防止机密数据被探查,用随机数Z通过执行EXOR的操作对在这种加密的操作中处理的数据进行伪造,在任何时候都是可能的。从根本上讲,用显示相对于EXOR操作的线性性能的所有函数f进行数据伪造都是可能的。非伪造的数据必须与非线性函数g一起使用。因此非线性函数g作用于这种数据之前,通过用函数值f(Z)对该数据执行EXOR操作来补偿伪造的数据是必要的。从安全的观点来看,非线性函数g仅仅作用于非伪造的数据具有较小的危险性,因为探查用非线性函数g作用的数据、比探查用线性函数f作用的数据要困难得多。图3所示的框图不但是关于同一函数g或函数f可应用于两者,而且还可以是不同的个别函数应用于两者。
由图3所示的框图获得的结果表明在数据abc处理的过程中探查机密数据几乎是不可能的。然而,由于还是依次用黑客探测尝试的目标即所述密钥来执行关于机密密钥K1,K2和K3操作的规定,所以建议在密钥处理的过程中采取相应安全措施。本发明的一个实施例涉及到的这种安全措施如图4所示。
本发明适合于更一步变化的智能卡的操作顺序与图3对应的部分如图4所示。数据abc的处理同图3所示的一样,因此在下面不再进行解释。然而与图3相反,在图4中的密钥K1,K2和K3不是在逻辑点7,11,15上给出。而是与所需的、用于补偿伪造的随机数Z1,Z2和Z3一起提供,但该伪造密钥最好先给出,然后再给出随机数。这确保专门的密钥K1,K2和K3根本出现。这一过程在从通常的密钥K导出的密钥K1,K2和K3的加密方法方面有特别明显的优点。在这种情况下,用随机数Z伪造的密钥K存储在智能卡1中,而由密钥导出的方法应用于随机数Z所确定的随机数Z1,Z2和Z3也存储在智能卡1中。这种存储必须在安全环境下,例如在智能卡1的个性化阶段实施。
为了实现图4所示的函数框图,人们不但需要存储的数据,而且需要伪造的导出密钥K1′,K2′和K3′。当需要时,能从伪造的密钥K导出所述密钥。由于在这过程中不使用真实的密钥K或真实的导出密钥K1,K2和K3实施这些操作,所以实际不可能探查所述密钥。由于也可以预先确定导出随机数Z1,Z2和Z3,并将其存储在的智能卡中,所以不再实施黑客能探查的操作。这样通过探查伪造导出的密钥K1′,K2′和K3′,不可能存取真实的导出密钥K1,K2和K3,因为这需要导出的随机数Z1,Z2和Z3。
为了更进一步地增加安全性,对每个EXOR的操作也可能使用不同的随机数Z,确保在每种情况下仍然给出供补偿伪造用的f(Z)。在一个实施例中,所有随机数Z和函数值f(Z)存储在智能卡的存储器中。然而也可能只存储少量的随机数R和函数值f(Z),无论何时需要所述这些值,就能通过执行EXOR的操作或用几个存储的随机数Z和函数值f(Z)的另一种合适的组合确定新的随机数Z和函数值f(Z)。以随机的方式从一组存储的随机数Z中选择随机数Z以执行EXOR的操作。
在更进一步的实施例中,不存储随机数Z和函数值f(Z),因为无论何时需要,就由合适的发生器来产生它们。重要的是这个发生器或这些发生器通过线性函数f作用于随机数Z不能产生函数值f(Z),而用另外的方式产生成对的随机数Z和函数值f(Z),因为通过截获函数f作用于随机数Z还可能探查随机数Z,而且靠这种信息的辅助来判定更进一步的机密数据。
按照本发明,从根本上讲,所有与安全相关的数据,例如靠更进一步的数据辅助,诸如靠随机数的辅助能够伪造密钥,然后供给处理。这样获得的结果是:黑客探查的所述处理只能确定无价值的数据,因为它们是伪造的数据。在该处理的末尾伪造处理未完成。
图5给出在该智能卡上某些操作在执行过程中的顺序的示意框图。图5特别给出了必须按顺序执行的智能卡1的哪几项操作,因为他们是相互依赖并且其操作基本上并行因而可以按任何一种次序执行哪几项操作。在这些操作的衔接方面,图5给出了在处理数据abc的过程中智能卡的程序运行的部分流程。图5按顺序地给出了必须按顺序执行的所有操作。并行地执行不要求按特别的次序执行的所有操作。
从用框体70形式表示的操作P1开始数据abc的处理。接在这个框体之后的是表示操作P2的框体80。因此图5表明操作P1和P2的处理次序不能相互交换的,也就是受约束的。在框体80之后,图5中的框图分叉为分别表示操作P3,P4,P5,P6和P7的五个框体90,100,110,120,130。这导致同时因而也可按任何一种次序执行框体P3,P4,P5,P6和P7。按照本发明,在每一次运行中执行操作P3,P4,P5,P6和P7的次序是变化的,也就是对黑客来说,在操作P2之后接下来执行所述操作中的哪项操作,以及在这项操作之后还执行哪项操作等,是不可预见的。依照固定的模式或更好的随机静止模式,或依照用随机数固定的输入数据,或通过一下执行的操作P3,P4,P5,P6和P7中的操作的输入数据实现这种次序的变化。执行独立操作的这种可能随机的变化使得用这些操作探查处理的数据很困难。当执行所有操作P3,P4,P5,P6和P7之后,接着必须是操作P8,这种次序是不变的。操作P8用框体140表示。操作P8以后可以接更进一步的操作,这些操作既可以是变化,也可以是固定的,这在图5中没有给出来。
例如本发明可以用于执行经常包含处理次序是变化的相似操作的加密算法。该处理次序可以或者在第一个变化的操作连同与这第一个变化的操作所有可互换的操作之前固定,或者在一组剩余变化的操作中的每一个变化的操作之前,确定下一个要处理的操作。对于这两种情况,能使用随机数固定这种处理的次序。

Claims (41)

1.带有一块具有至少一个存储器的半导体芯片(5)的数据载体,在其中的存储器中储存着含有多条命令的操作程序,每条命令使来自半导体芯片(5)之外的信号可被检测到,其特征在于,该数据载体是设计用来单独执行此类操作程序命令,或以这样的方式执行所述命令,即按相应命令处理的数据不能从探测到的信号来推断出,以实施与安全有关的多项操作。
2.如权利要求1所述的数据载体,其特征在于,所采用的命令是为至少逐字节地处理数据而设计的。
3.两项权利要求中任何一项所述的数据载体,其特征在于,所采用的多条命令就由此引起的信号模式而言相互没有差别,或差别很小。
4.如上述权利要求中任何一项所述的数据载体,其特征在于,所采用的多条命令中的每一条导致一种信号模式,这种信号模式不依赖或仅在很小的程度上依赖于该命令所处理的数据。
5.如上述权利要求中任何一项所述的数据载体,其特征在于,其操作程序能够执行一系列操作(f),因此执行操作(f)所需要的输入数据及执行操作(f)所产生的输出数据:
-在执行一项或多项操作(f)之前,通过与辅助数据(Z)组合来伪造输入数据,
-为了补偿伪造的输入数据,把通过执行一项或多项操作(f)所确定的输出数据与辅助函数值(f(Z))组合起来,
-因此,以作为安全环境中的输入数据的辅助数据(Z),通过一项或多项操作(f)执行预先确定辅助函数值,且把它与辅助数据(Z)一起储存到数据载体上。
6.如权利要求5所述的数据载体,其特征在于,在关于产生伪造的组合是非线性的操作(g)执行之前,立即实施与用于补偿伪造的辅助函数值(f(Z))的组合。
7.如权利要求5和6中任何一项所述的数据载体,其特征在于,辅助数据(Z)是变化的,而对应的辅助函数值(f(Z))储存在数据载体的存储器中。
8.如权利要求7所述的数据载体,其特征在于,新的辅助值(Z)和新的辅助函数值(f(Z))是由两个或多个已有的辅助数据(Z)和辅助函数值(f(Z))的组合产生的。
9.如权利要求8所述的数据载体,其特征在于,每一个供组合用的已有的辅助数据(Z)和辅助函数值(f(Z))都是随机选取的。
10.如权利要求5至7中任何一项所述的数据载体,其特征在于,辅助数据(Z)和辅助函数值(f(Z))对由一个不作用于辅助数据(Z)的操作(f(Z))的发生器产生。
11.如权利要求5至10中任何一项所述的数据载体,其特征在于,其辅助数据(Z)是一个随机数。
12.如权利要求5至11中任何一项所述的数据载体,其特征在于,其组合是EXOR操作。
13.如上述权利要求中任何一项所述的数据载体,其特征在于,多项操作可按操作程序执行,至少对所述操作的一个子集成立,即执行该子集的几项操作所获得的总结果不依赖于执行这些操作的次序,而当该子集含有一项或多项与安全有关的操作时,至少执行这个被陈述的子集的操作次序是变化的。
14.如权利要求13所述的数据载体,其特征在于,每次通过操作的这个被陈述的子集运行时,其执行次序是变化的。
15.如权利要求13或14所述的数据载体,其特征在于,执行的次序是按一条固定的原则变化的。
16.如权利要求13或14所述的数据载体,其特征在于,执行的次序是随机变化的。
17.如权利要求13和14中任何一项所述的数据载体,其特征在于,执行的次序是依照用这些操作处理的数据而变化的。
18.如权利要求13至17中任何一项所述的数据载体,其特征在于,对于该子集的、其执行预定为直接连续的所有操作来说,在执行该子集的第一项操作执行之前,执行次序是固定的。
19.如权利要求13至18中任何一项所述的数据载体,其特征在于,预定该子集的执行为连续的该子集的哪一项操作将接着执行是固定的。
20.如上述权利要求中任何一项所述的数据载体,其特征在于,与安全有关的操作是其它机密数据的一次或多次密钥置换。
21.如上述权利要求中任何一项所述的数据载体,其特征在于,该数据载体是一块智能卡。
22.在一种带半导体芯片(5)的数据载体中执行与安全有关的操作的方法,该数据载体至少具有一个存储器,在该存储器中储存着含有多条命令的操作程序,每条命令使来自半导体芯片(5)之外的信号可被检测到,其特征在于,该数据载体单独运用此类操作程序命令,或以这样的方式运用所述的命令,即按相应命令处理的数据不能从探测到的信号来推断出,以实施与安全有关的多项操作。
23.如权利要求22所述的方法,其特征在于,采用的命令占用数据至少是逐字节地出现的。
24.如权利要求22和23中任何一项所述的方法,其特征在于,所采用的多条命令就由此引起的信号模式而言相互没有差别,或差别很小。
25.如权利要求22至24中任何一项所述的方法,其特征在于,所采用的多条命令中的每一条导致一种信号模式,这种模式不依赖或仅在很小的程度上依赖于该命令所处理的数据。
26.保护作为一项或多项操作的输入数据的机密数据的方法,其特征在于:
-在执行一项或多项操作(f)之前,通过与辅助数据(Z)的组合来伪造输入数据,
-为了补偿伪造的输入数据,把通过执行一项或多项操作所确定的输出数据与辅助函数值(f(Z))组合起来;
-因此,以作为安全环境中的输入数据的辅助数据(Z),通过一项或多项操作(f)的执行预先确定辅助函数值,且把它与辅助数据(Z)一起储存起来。
27.如权利要求26所述的方法,其特征在于,在关于产生伪造的补偿是非线性操作(g)执行之前,立即实施与用于补偿伪造的辅助函数值(f(Z))的组合。
28.如权利要求26和27中任何一项所述的方法,其特征在于,辅助数据(Z)是变化的,而对应的辅助函数值(f(Z))储存在数据载体的存储器中。
29.如权利要求28所述的方法,其特征在于,新的辅助值(Z)和新的辅助函数值(f(Z))是由两个或多个已有的辅助数据(Z)和辅助函数值(f(Z))的组合产生的。
30.如权利要求29所述的方法,其特征在于,每一个供组合用的已有的辅助数据(Z)和辅助函数值(f(Z))都是随机选取的。
31.如权利要求26至30中任何一项所述的方法,其特征在于,辅助数据(Z)和辅助函数值(f(Z))对由一个不作用于辅助数据(Z)的操作(f(Z))的发生器产生。
32.如权利要求26至31中任何一项所述的方法,其特征在于,其辅助数据(Z)是一个随机数。
33.如权利要求26至32中任何一项所述的方法,其特征在于,其组合是EXOR操作。
34.在一个数据载体的操作系统中执行多项操作的方法,至少对所述操作的一个子集成立,即执行该子集的几项操作所获得的总体结果不依赖于执行这些操作的次序,而当该子集含有一项或多项与安全有关的操作时,至少执行这个被陈述的子集的操作次序是变化的。
35.如权利要求34所述的方法,其特征在于,每次通过这个被陈述的子集的操作运行时,其执行次序是变化的。
36.如权利要求34或35所述的方法,其特征在于,执行的次序是按一条固定的原则变化的。
37.如权利要求34或35所述的方法,其特征在于,执行的次序是随机变化的。
38.如权利要求34和35中任何一项所述的方法,其特征在于,执行的次序是依照用这些操作处理的数据而变化的。
39.如权利要求34至38中任何一项所述的方法,其特征在于,在执行该子集的第一项操作之前,对于该子集的所有操作,其执行的次序是确定的。
40.如权利要求34至39中任何一项所述的方法,其特征在于,预定该子集的执行为连续的该子集的哪一项操作将接着执行是固定的。
41.如权利要求22至40中任何一项所述的方法,其特征在于,与安全有关的操作是其它机密数据的一次或多次密钥的置换。
CNB998082449A 1998-05-18 1999-05-17 保护存取的数据载体 Expired - Lifetime CN1174347C (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
DE19822218.1A DE19822218B4 (de) 1998-05-18 1998-05-18 Zugriffsgeschützter Datenträger
DE19822220.3 1998-05-18
DE19822218.1 1998-05-18
DE19822217.3A DE19822217B4 (de) 1998-05-18 1998-05-18 Zugriffsgeschützter Datenträger
DE19822217.3 1998-05-18
DE19822220.3A DE19822220B4 (de) 1998-05-18 1998-05-18 Zugriffsgeschützter Datenträger

Publications (2)

Publication Number Publication Date
CN1308752A true CN1308752A (zh) 2001-08-15
CN1174347C CN1174347C (zh) 2004-11-03

Family

ID=27218381

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB998082449A Expired - Lifetime CN1174347C (zh) 1998-05-18 1999-05-17 保护存取的数据载体

Country Status (8)

Country Link
US (2) US8457302B1 (zh)
EP (1) EP1080454B1 (zh)
JP (1) JP4611523B2 (zh)
CN (1) CN1174347C (zh)
AU (1) AU4144399A (zh)
CA (3) CA2885956C (zh)
ES (1) ES2660057T3 (zh)
WO (1) WO1999060534A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100380348C (zh) * 2002-09-04 2008-04-09 松下电器产业株式会社 有加密部分或外部接口的半导体器件
CN100462915C (zh) * 2005-05-10 2009-02-18 希捷科技有限公司 用于在嵌入式系统中安全执行的协议脚本语言

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19837808A1 (de) * 1998-08-20 2000-02-24 Orga Kartensysteme Gmbh Verfahren zur Ausführung eines Verschlüsselungsprogramms zur Verschlüsselung von Daten in einem mikroprozessorgestützten, tragbaren Datenträger
DE19841676A1 (de) * 1998-09-11 2000-03-16 Giesecke & Devrient Gmbh Zugriffsgeschützter Datenträger
DE19963407A1 (de) * 1999-12-28 2001-07-12 Giesecke & Devrient Gmbh Tragbarer Datenträger mit Zugriffsschutz durch Nachrichtenverfremdung
DE19963408A1 (de) * 1999-12-28 2001-08-30 Giesecke & Devrient Gmbh Tragbarer Datenträger mit Zugriffsschutz durch Schlüsselteilung
FR2810138B1 (fr) * 2000-06-08 2005-02-11 Bull Cp8 Procede de stockage securise d'une donnee sensible dans une memoire d'un systeme embarque a puce electronique, notamment d'une carte a puce, et systeme embarque mettant en oeuvre le procede
FR2820577B1 (fr) * 2001-02-08 2003-06-13 St Microelectronics Sa Procede securise de calcul cryptographique a cle secrete et composant mettant en oeuvre un tel procede
DE10201441A1 (de) * 2002-01-16 2003-08-14 Infineon Technologies Ag Schiebevorrichtung und Verfahren zum Verschieben
EP2237247A4 (en) 2007-12-03 2012-09-26 Internat Frontier Tech Lab Inc REAL AND FORGET CERTIFICATION MEMBER
DE102010010851A1 (de) 2010-03-10 2011-09-15 Giesecke & Devrient Gmbh Ausspähungsschutz bei der Ausführung einer Operationssequenz in einem tragbaren Datenträger
GB2494731B (en) * 2011-09-06 2013-11-20 Nds Ltd Preventing data extraction by sidechannel attack
JP6280371B2 (ja) * 2014-01-20 2018-02-14 株式会社東芝 携帯可能電子装置、電子回路および端末
US9430676B1 (en) 2015-03-17 2016-08-30 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Processor related noise encryptor

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4249180A (en) * 1978-09-20 1981-02-03 Northern Telecom Limited Past dependent microcomputer cipher apparatus
GB2112190B (en) 1981-12-23 1985-12-18 Omron Tateisi Electronics Co Personal identification system
JPS62134679A (ja) * 1985-12-09 1987-06-17 松下電器産業株式会社 暗号文書作成読出装置
JPS62190583A (ja) 1986-02-17 1987-08-20 Mitsubishi Electric Corp 登録カ−ドを用いた個人識別システム
JPH01114995A (ja) * 1987-10-29 1989-05-08 Toppan Printing Co Ltd Icカード
US5016274A (en) * 1988-11-08 1991-05-14 Silvio Micali On-line/off-line digital signing
FR2638869B1 (fr) * 1988-11-10 1990-12-21 Sgs Thomson Microelectronics Dispositif de securite contre la detection non autorisee de donnees protegees
JP2731945B2 (ja) * 1989-06-05 1998-03-25 エヌ・ティ・ティ・データ通信株式会社 個別鍵による認証が可能なicカード
FR2650458B1 (fr) * 1989-07-25 1991-10-11 Trt Telecom Radio Electr Procede de traitement d'une permutation irreguliere de donnees protegees par chiffrement
US5003596A (en) * 1989-08-17 1991-03-26 Cryptech, Inc. Method of cryptographically transforming electronic digital data from one form to another
CA2037857C (en) * 1990-03-20 2001-01-16 Roy Allen Griffin, Iii Prevention of determination of time of execution of predetermined data processing routine in relation to occurrence of prior observable external event
US5655096A (en) 1990-10-12 1997-08-05 Branigin; Michael H. Method and apparatus for dynamic scheduling of instructions to ensure sequentially coherent data in a processor employing out-of-order execution
JP2933180B2 (ja) * 1991-04-25 1999-08-09 沖電気工業株式会社 暗証符号照合装置
SE470001B (sv) * 1991-09-12 1993-10-18 Televerket Förfarande för identifiering och kryptonyckelutbyte mellan två kommunicerande apparater för krypterad trafik
US5297201A (en) * 1992-10-13 1994-03-22 J.D. Technologies, Inc. System for preventing remote detection of computer data from tempest signal emissions
US5655023A (en) * 1994-05-13 1997-08-05 Pitney Bowes Inc. Advanced postage payment system employing pre-computed digital tokens and with enhanced security
US5606616A (en) * 1995-07-03 1997-02-25 General Instrument Corporation Of Delaware Cryptographic apparatus with double feedforward hash function
JPH0973416A (ja) * 1995-09-05 1997-03-18 Dainippon Printing Co Ltd Icカード
FR2745924B1 (fr) * 1996-03-07 1998-12-11 Bull Cp8 Circuit integre perfectionne et procede d'utilisation d'un tel circuit integre
JPH09265516A (ja) * 1996-03-29 1997-10-07 Toshiba Corp プリペイド用icカード処理装置
US6226383B1 (en) * 1996-04-17 2001-05-01 Integrity Sciences, Inc. Cryptographic methods for remote authentication
CA2177622A1 (en) * 1996-05-29 1997-11-30 Thierry Moreau Cryptographic data integrity apparatus and method based on pseudo-random bit generators
US6373946B1 (en) * 1996-05-31 2002-04-16 Ico Services Ltd. Communication security
US6337909B1 (en) * 1996-10-10 2002-01-08 Certicom Corp. Generation of session keys for El Gamal-like protocols from low hamming weight integers
US6049613A (en) * 1997-03-07 2000-04-11 Jakobsson; Markus Method and apparatus for encrypting, decrypting, and providing privacy for data values
US5991415A (en) * 1997-05-12 1999-11-23 Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science Method and apparatus for protecting public key schemes from timing and fault attacks
US6122742A (en) * 1997-06-18 2000-09-19 Young; Adam Lucas Auto-recoverable and auto-certifiable cryptosystem with unescrowed signing keys
US6061449A (en) 1997-10-10 2000-05-09 General Instrument Corporation Secure processor with external memory using block chaining and block re-ordering
US7587044B2 (en) * 1998-01-02 2009-09-08 Cryptography Research, Inc. Differential power analysis method and apparatus
ATE325478T1 (de) * 1998-01-02 2006-06-15 Cryptography Res Inc Leckresistentes kryptographisches verfahren und vorrichtung
JP4317607B2 (ja) * 1998-12-14 2009-08-19 株式会社日立製作所 情報処理装置、耐タンパ処理装置
DE19963408A1 (de) * 1999-12-28 2001-08-30 Giesecke & Devrient Gmbh Tragbarer Datenträger mit Zugriffsschutz durch Schlüsselteilung
CA2329590C (en) * 2000-12-27 2012-06-26 Certicom Corp. Method of public key generation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100380348C (zh) * 2002-09-04 2008-04-09 松下电器产业株式会社 有加密部分或外部接口的半导体器件
CN100462915C (zh) * 2005-05-10 2009-02-18 希捷科技有限公司 用于在嵌入式系统中安全执行的协议脚本语言

Also Published As

Publication number Publication date
CA2885956A1 (en) 1999-11-25
CA2885961C (en) 2015-12-15
CA2332350C (en) 2015-07-07
EP1080454A1 (de) 2001-03-07
CA2885956C (en) 2016-07-12
ES2660057T3 (es) 2018-03-20
US20130254559A1 (en) 2013-09-26
WO1999060534A1 (de) 1999-11-25
AU4144399A (en) 1999-12-06
JP4611523B2 (ja) 2011-01-12
US9288038B2 (en) 2016-03-15
JP2002516444A (ja) 2002-06-04
EP1080454B1 (de) 2018-01-03
US8457302B1 (en) 2013-06-04
CA2885961A1 (en) 1999-11-25
CN1174347C (zh) 2004-11-03
CA2332350A1 (en) 1999-11-25

Similar Documents

Publication Publication Date Title
CN1174347C (zh) 保护存取的数据载体
Anderson et al. Cryptographic processors-a survey
EP1865442B1 (en) Method, system and program for authenticating a user by biometric information
CN100390695C (zh) 更少信息泄露的设备与方法
CN108021800A (zh) 用于通过非安全终端认证用户的方法
US7159115B2 (en) Method and apparatus for encrypting data
CN102063586B (zh) 用于检测故障攻击的方法和装置
US20050149739A1 (en) PIN verification using cipher block chaining
CN105406957B (zh) 保护密码设备对抗实现攻击
Dey et al. Full key recovery of ACORN with a single fault
US20170103395A1 (en) Authentication systems and methods using human readable media
US10726417B1 (en) Systems and methods for multifactor authentication
CN104506533B (zh) 一种基于puf的rfid标签所有权转移方法
Orumiehchiha et al. A differential fault attack on the WG family of stream ciphers
CN100393029C (zh) 在使用密钥密码学算法的电子元件中的防范方法
Xiangliang et al. Non‐profiled Deep‐Learning‐Based Power Analysis of the SM4 and DES Algorithms
CN108009418A (zh) 用于借助非安全终端认证用户的方法
CN108021813A (zh) 用于保护从非安全终端执行的交易的方法
JP4600902B2 (ja) アクセス保護型データ記憶媒体
Khan et al. Blockchain-Integrated Security for real-time patient monitoring in the Internet of Medical Things using Federated Learning
US8140433B2 (en) Method for making secure transactions carried out with cards provided with an owner identification number
Reddy et al. A schematic technique using data type preserving encryption to boost data warehouse security
RU2263967C2 (ru) Защищенный от несанкционированного доступа носитель данных, способ выполнения в нем операций, в том числе относящихся к защите данных, и способ защиты конфиденциальных данных
Tams et al. Towards efficient privacy-preserving two-stage identification for fingerprint-based biometric cryptosystems
AlTarawneh et al. Crypto Key Generation using Contour Graph Algorithm.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180223

Address after: Munich, Germany

Patentee after: Jiejia de mobile safety Co., Ltd.

Address before: Munich, Germany

Patentee before: Giesecke & Devrient GmbH

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20041103