CN101911088A - 安全数据传递方法 - Google Patents

安全数据传递方法 Download PDF

Info

Publication number
CN101911088A
CN101911088A CN2009801020673A CN200980102067A CN101911088A CN 101911088 A CN101911088 A CN 101911088A CN 2009801020673 A CN2009801020673 A CN 2009801020673A CN 200980102067 A CN200980102067 A CN 200980102067A CN 101911088 A CN101911088 A CN 101911088A
Authority
CN
China
Prior art keywords
mem
data
source
elt
value
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
CN2009801020673A
Other languages
English (en)
Other versions
CN101911088B (zh
Inventor
D·德克鲁瓦
G·鲁迪耶
C·佩潘
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.)
Adimia Identity And Security France
Original Assignee
Sagem Defense Securite SA
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 Sagem Defense Securite SA filed Critical Sagem Defense Securite SA
Publication of CN101911088A publication Critical patent/CN101911088A/zh
Application granted granted Critical
Publication of CN101911088B publication Critical patent/CN101911088B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及安全传递数据的方法,在该方法中,将存储在源存储器(NV_MEM)中的源数据与从源存储器(NV_MEM)复制入“目的地”存储器(V_MEM)的传递数据(COPY_ELT_X_V_MEM)进行比较。该方法包括从源存储器(NV_MEM)读出关联于,例如,含源数据的文件的单元(ELEMENT_X_NV_MEM)的完整值(PI_ELT_X),计算由传递数据(COPY_ELT_X_V_MEM)形成的重构单元的完整性,在合适的情况下,用不同于传递数据的源单元(ELEMENT_X_NV_MEM)的数据,当完整性计算给出与源单元的完整值(PI_ELT_X)相同的值时,确定传递的数据(COPY_ELT_X_V_MEM)等于源数据。本发明用来在智能卡的器件之间传递数据。

Description

安全数据传递方法
本发明涉及使智能卡的多个组件之间的数据传递安全。
发明背景
智能卡的芯片一般包含处理器或微控制器连同例如随机存取存储器(RAM)的易失性存储器以及例如闪存、电可擦除可编程只读存储器(EEPROM)或甚至是只读存储器(ROM)的非易失性存储器。
执行智能卡中由软件进行的操作要求从芯片的非易失性存储器至易失性存储器的多次数据交换。因此,由存储在非易失性存储器中的数据构成的任何应用要求向易失性存储器的传递。
这适用于当读取可能特别包含与保密码关联的数据以将其与经由输入提供的值比较的文件时以及当读取密钥以执行加密计算时。
这也适用于当读取存储在ROM中的常数的静态表时,例如包含表征记录在卡中的文件的访问权限的数据。
经由芯片中的数据总线发生的这种传递阶段对电磁类干扰非常敏感。因此存在一种欺诈技术,这种技术在传递数据的同时使卡处于电磁辐射源中,由此使欺诈者访问正常时保持隐藏的数据。
例如,这种干扰可能在传输数据的同时修改数据,在这种情形下,装载入易失性存储器中的数据不同于非易失性存储器中的源数据。
这种敏感性提供绕过对卡中包含的文件的访问权限、欺诈地恢复卡的密钥或密码和/或修改卡的配置参数的可能。
这就是为何要提供检测这些修改的措施,以便在检测到这种修改的情况下阻止正在执行的操作。
一种方法包括在传输后验证传递中的数据与源数据相同。数据可包括一些或全部的单元,即构成一个或多个文件的一些或全部的数据。
具体地说,在传递后,验证写入易失性存储器的单元的每个字节与源单元的每个字节相同,这对应于读和验证类操作。
但是该已知方法对某些攻击仍然无效。如果攻击者制造如何干扰传递以修改复制入非易失性存储器中的数据,并且如果攻击者知道如何在读取和验证操作中再现相同的干扰,那么修改可不被发觉地通过。
在这些情形下,读和验证操作没有检测到异常,因为这只证明在复制期间之前受干扰的数据也在验证之前的读取操作中受到干扰。
发明目的
本发明的目的是提出一种解决上述缺陷的方案,即给出一种方法,该方法在芯片的组件之间传递数据时提供更好的安全级别。
发明概述
如此,本发明提供一种将智能卡的源存储器中存储的源数据与从源存储器复制入智能卡的“目的地”存储器中的传递数据进行比较的方法,其中从源存储器读出关联于,例如,含源数据的文件的源单元的完整值,其中对与源单元对应的重构单元计算完整值,从传递的数据加上(如果合适的话)传递的数据以外的源单元中的任何数据来重构所述单元,并当完整性计算给出与源单元完整值相同的值时确定传递的数据等于源数据。
在复制中,经过数据总线传送的是源数据,然而在验证中,经过数据总线传送的是完整值。因此在复制和验证过程中经过总线送传送的值是不同的,以使在复制和验证中对数据总线施加相同干扰的攻击完全无效。
本发明还提供如上所述的方法,其中包含源数据的单元的完整值和和对重构单元计算出的完整值是对该数据的循环冗余校验值。
本发明还提供如上所述的方法,其中将不同于传递用数据的基准值从非易失性存储器复制至易失性存储器,首先将所述基准值预存储在非易失性存储器中,并其次将其预存储在智能卡的读出软件中,并将易失性存储器中的传递值与存储在读出软件中的值比较以确定传递数据是否与源数据相同。
本发明还提供如上所述的方法,其中在复制源数据的同时复制基准值。
附图简述
图1是存储在非易失性源存储器中的源单元的图解。
图2是将一部分数据从图1的源单元传至易失性存储器的图解。
发明详述
本发明所根据的理念是在传递后以这样一种方式继续关于所传递数据完整性的计算,即在由基于传递数据的完整性计算给出的值与关联于源数据的完整值不对应的情况下判断出传递中已发生修改。
该方法应用于从一个单元传递一些或全部数据,所述单元具有存储在源存储器中的完整值。
例如,完整值是所考虑的单元数据的校验和,所述单元基本是一个文件。该完整值可以是包括跨奇偶校验的纵向冗余校验(LRC)型的,或者是散列型的。
该完整值有利地为循环冗余校验(CRC)值,即,专门设计成检测数据传输中的错误的完整性测试。它可由对应于基于16个二进制标志的循环冗余校验的CRC16值构成。
在下面的例子中,该方法包括三个步骤,用于从出现在图1中用附图标记ELEMENT_X_NV_MEM示意表示的非易失性存储器中的源单元传递数据,并检验传递中的数据与源数据相同。
整个单元ELEMENT_X_NV_MEM的完整值PI_ELT_X是之前被存储在非易失性存储器中的,这是当该单元一开始被写入非易失性存储器NV_MEM时完成的。
如图2所示,一开始从非易失性存储器NV-MEM将源单元ELEMENT_X_NV_MEM中的一些或全部数据复制至易失性存储器VM_MEM。将写入目的地存储器(即易失性存储器)的数据表示为COPY_ELT_X_V_MEM。
有利地,通过将每个复制字节与源单元ELEMENT_X_NV_MEM中的每个相应字节比较而验证该数据COPY_ELT_X_V_MEM的正确复制,因此构成了读出和验证操作。
当已传递一部分数据时可进行验证,以在将全部数据写入易失性存储器前停止传递。
在最后阶段中,验证传递数据的完整性。如果已将源单元ELEMENT_X_NV_MEM中的全部数据写入易失性存储器中,则该验证包括计算写入易失性存储器中的数据的完整性,并将由所述计算给出的完整值与写入非易失性存储器NV_MEM中的完整值PI_ELT_X比较。
如果所传递数据COPY_ELT_X_V_MEM仅对应于构成单元ELEMENT_X_NV_MEM的一些数据,那么对重构单元计算完整性。该单元重构的基础是:传递的数据COPY_ELT_X_V_MEM附加有不是从单元COPY_ELT_X_V_MEM传递的数据,即图2中的阴影部分。
该重构单元对应于存储单元ELEMENT_X_NV_MEM,但包括与写入非易失性存储器NV_MEM中的非传递数据相关联的、写入易失性存储器V_MEM中的传递数据COPY_ELT_X_V_MEM。
当数据传递正常发生时,写入非易失性存储器NV_MEM中的源数据与写入易失性存储器V_MEM中的传递数据相同。
结果,在正常情形下,即,当不修改地传递数据时,重构单元的完整性与写入非易失性存储器的存储器单元ELEMENT_X_NV_MEM的完整性PI_ELT_X相同。
相反,当在传递过程中已修改数据时,即,在复制数据时针对重构单元计算出的完整性给出不同于PI_ELT_X的值,由此能够检测该异常或修改。
如前所述,读出和检查步骤是可选的,只要不是有效地抵消在复制期间和在读出和验证操作期间相等地施加于传递总线的干扰。然而,该步骤使之有可能尽早地检测出数据总线可能受到的任何短暂干扰,以在异常情况下尽可能早地停止该过程。
本发明的方法因此能检测施加于数据总线的干扰:由于它包括通过完整性检查的验证,对该验证传递的数据——即,值PI_ELT_X与复制用的传递数据不同。因此包括在复制期间和在验证期间将相同干扰施加于总线的攻击是完全无效的。
该方法还关联于在将源数据从非易失性存储器NV_MEM复制至易失性存储器V_MEM过程中执行的“假读出”操作。在这类情形下,提供被写成VR_NV_MEM的预定的基准值,它在卡的整个使用寿命内预存储在非易失性存储器中,并且纳入到卡读出器程序的代码中。例如,该值对应于一个数据字节。
在作出复制前,对于假读出随机地确定写成i的评级。
然后开始复制操作,这开始于源数据ELEMENT_X_NV_MEM的最初字节,这些字节一个接一个地传递至易失性存储器。
然而,所要传递的第i个字节是“假读出”字节,即,该字节对应于基准值VR_NV_MEM。一旦已传递该字节,如常继续复制,连续传递来自源数据ELEMENT_X_NV_MEM的第i个字节,然后是接下来的字节。
一旦已将假读出字节写入易失性存储器VR_V_MEM,就将其与结合在卡的读出程序中的值进行比较,该值必定与VR_NV_MEM相同。这有可能检测在传递中可能发生的某些干扰。
这种附加机构允许比由完整性检查更快地检测某些类型的干扰。实际上,通过这种机构,可在将数据复制入易失性存储器结束前检测出干扰,由于能立即停止传递,即在完成对易失性存储器的数据复制前,因此这更为可靠。
还应该在前述例子中看到,可选的读出和比较步骤发生在检查传递数据完整性的步骤前。然而也可在检查完整性的步骤之后实现该可选步骤,只要在某些情形下,可能检测到完整性值未检测出的错误。
由于能有效地应付通过干扰数据总线的攻击,并且就执行时间来说是不费时间的,因此本发明提供多种优势。最后,不需要将附加数据存储在智能卡的存储器中。

Claims (4)

1.一种将存储在智能卡的源存储器(NV_MEM)中的源数据与从所述源存储器(NV_MEM)复制入所述智能卡的“目的地”存储器(V_MEM)的传递数据(COPY_ELT_X_V_MEM)进行比较的方法,其中从所述源存储器NV_MEM)读出与诸如文件之类的含源数据的源单元(ELEMENT_X_NV_MEM)关联的完整性值(PI_ELT_X),其中对与所述源单元(ELEMENT_X_NV_MEM)对应的重构单元计算完整性值,所述单元从所述传递数据(COPY_ELT_X_V_MEM)以及如果合适的话再加上所述源单元(ELEMENT_X_NV_MEM)中除所述传递数据以外的任何数据来重构,并当完整性计算给出与所述源单元的完整性值(PI_ELT_X)相同的值时,确定所述传递数据(COPY_ELT_X_V_MEM)与所述源数据相同。
2.如权利要求1所述的方法,其特征在于,所述含源数据的单元的完整性值(PI_ELT_X)和对重构单元计算的完整性值是所述数据的循环冗余校验值。
3.如权利要求1或2所述的方法,其特征在于,将不同于传递用数据的参考值(VR_NV_MEM)从非易失性存储器(NV_MEM)复制至易失性存储器(V_MEM),所述参考值首先被预存储在所述非易失性存储器(NV_MEM)中,并其次被预存储在所述智能卡的读出软件中,并且将所述易失性存储器(V_MEM)中的所述传递值(VR_V_MEM)与存储在所述读出软件中的值比较以确定所述传递数据(COPY_ELT_X_V_MEM)是否与源数据相同。
4.如权利要求3所述的方法,其特征在于,所述参考值(VR_NV_MEM)是在复制源数据时复制的。
CN200980102067.3A 2008-01-11 2009-01-08 安全数据传递方法 Active CN101911088B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0800156A FR2926381A1 (fr) 2008-01-11 2008-01-11 Methode de transfert securise de donnees
FR0800156 2008-01-11
PCT/FR2009/000014 WO2009106757A1 (fr) 2008-01-11 2009-01-08 Methode de transfert securise de donnees

Publications (2)

Publication Number Publication Date
CN101911088A true CN101911088A (zh) 2010-12-08
CN101911088B CN101911088B (zh) 2014-01-15

Family

ID=39684178

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980102067.3A Active CN101911088B (zh) 2008-01-11 2009-01-08 安全数据传递方法

Country Status (6)

Country Link
US (1) US8527835B2 (zh)
EP (1) EP2229648B1 (zh)
CN (1) CN101911088B (zh)
ES (1) ES2429766T3 (zh)
FR (1) FR2926381A1 (zh)
WO (1) WO2009106757A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2976697B1 (fr) 2011-06-17 2013-07-05 Morpho Transfert securise entre memoire non-volatile et memoire volatile
US9112727B2 (en) * 2012-08-22 2015-08-18 Broadcom Corporation Method and apparatus for probabilistic allocation in a switch packet buffer

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1253733A (en) * 1984-09-27 1989-05-09 Adolph S. Clausi Coffee bag brewing by microwave
US6317832B1 (en) * 1997-02-21 2001-11-13 Mondex International Limited Secure multiple application card system and process
US6175924B1 (en) * 1997-06-20 2001-01-16 International Business Machines Corp. Method and apparatus for protecting application data in secure storage areas
US7743262B2 (en) * 1997-07-15 2010-06-22 Silverbrook Research Pty Ltd Integrated circuit incorporating protection from power supply attacks
US6816968B1 (en) * 1998-07-10 2004-11-09 Silverbrook Research Pty Ltd Consumable authentication protocol and system
DE19925389A1 (de) * 1999-06-02 2000-12-21 Beta Res Gmbh Verfahren und Vorrichtung zur Übertragung von Daten auf SmartCards
US20070288765A1 (en) * 1999-12-22 2007-12-13 Kean Thomas A Method and Apparatus for Secure Configuration of a Field Programmable Gate Array
US7197642B2 (en) * 2000-02-15 2007-03-27 Silverbrook Research Pty Ltd Consumable authentication protocol and system
US6971021B1 (en) * 2000-03-08 2005-11-29 Rainbow Technologies, Inc. Non-wire contact device application for cryptographic module interfaces
US7069447B1 (en) * 2001-05-11 2006-06-27 Rodney Joe Corder Apparatus and method for secure data storage
US7043643B1 (en) * 2001-12-06 2006-05-09 Adaptec, Inc. Method and apparatus for operating a computer in a secure mode
FI20031856A0 (fi) * 2003-12-18 2003-12-18 Nokia Corp Menetelmä tietotallenteen eheyden varmistamiseksi
US7940932B2 (en) * 2004-04-08 2011-05-10 Texas Instruments Incorporated Methods, apparatus, and systems for securing SIM (subscriber identity module) personalization and other data on a first processor and secure communication of the SIM data to a second processor
WO2005119960A2 (en) * 2004-06-01 2005-12-15 Ben-Gurion University Of The Negev Research And Development Authority Structure preserving database encryption method and system
BRPI0419000A (pt) * 2004-08-13 2007-12-11 Telecom Italia Spa método e sistema para administração segura de registros de dados armazenados em uma etiqueta eletrÈnica, e, etiqueta eletrÈnica
CA2922200A1 (en) * 2004-10-25 2006-05-04 Security First Corp. Secure data parser method and system
US20070168292A1 (en) * 2004-12-21 2007-07-19 Fabrice Jogand-Coulomb Memory system with versatile content control
JP4856400B2 (ja) * 2005-07-06 2012-01-18 ルネサスエレクトロニクス株式会社 記憶装置及び情報処理端末
FR2888960B1 (fr) * 2005-07-19 2007-10-12 Gemplus Sa Detection d'une faute par perturbation longue
US7372290B2 (en) * 2005-10-04 2008-05-13 Stmicroelectronics, Inc. System and method for using dummy cycles to mask operations in a secure microcontroller
KR101197556B1 (ko) * 2006-01-09 2012-11-09 삼성전자주식회사 불 휘발성 메모리의 프로그램 동작을 검증하는 장치 및방법, 그리고 그 장치를 포함한 메모리 카드
US20080034440A1 (en) * 2006-07-07 2008-02-07 Michael Holtzman Content Control System Using Versatile Control Structure
EP1912148A1 (en) * 2006-10-09 2008-04-16 Axalto S.A. Protection against side channel attacks with an integrity check
KR100824412B1 (ko) * 2006-12-08 2008-04-22 삼성전자주식회사 메모리 카드 시스템 및 그것의 수명 정보 전송 방법

Also Published As

Publication number Publication date
CN101911088B (zh) 2014-01-15
US8527835B2 (en) 2013-09-03
EP2229648A1 (fr) 2010-09-22
ES2429766T3 (es) 2013-11-15
FR2926381A1 (fr) 2009-07-17
WO2009106757A1 (fr) 2009-09-03
US20100287442A1 (en) 2010-11-11
EP2229648B1 (fr) 2013-08-28

Similar Documents

Publication Publication Date Title
JP7250178B2 (ja) ブロックチェーンネットワークにおけるスマートコントラクトをサポートするための方法及びコントラクト書き換えフレームワークシステム
CN101174292B (zh) 用于可靠操作***引导的方法
CN105308609B (zh) 存储事件数据的***和方法
KR100343377B1 (ko) 비-휘발성메모리에의데이타기입
CN103093150B (zh) 一种基于可信芯片的动态完整性保护方法
CN101038556B (zh) 可信引导方法及其***
CN102473223B (zh) 信息处理装置以及信息处理方法
WO2018149504A1 (en) Changing smart contracts recorded in block chains
CN101174291A (zh) 用于可靠操作***引导的***和方法
US8751817B2 (en) Data processing apparatus and validity verification method
JPS63182795A (ja) ポータブル・カードとその製造方法
CN112084484B (zh) 一种设备硬件安全检测方法、装置、电子设备及存储介质
JPH03503220A (ja) メッセージの完全性をチェックする方法及び携帯装置
CN110363010A (zh) 一种基于MPSoC芯片的***安全启动方法
JP2021179982A (ja) シリコンデバイスファームウェア上のロールバック攻撃を防止するセキュリティシステム、および、方法
CN101785239B (zh) 基于密钥的隐藏分区***
US8117662B2 (en) Smartcard system
CN101911088B (zh) 安全数据传递方法
US20210326441A1 (en) Data processing apparatus, system, and method for proving or checking the security of a data processing apparatus
US8458790B2 (en) Defending smart cards against attacks by redundant processing
CN112363749B (zh) 一种mips架构***的安全启动和升级方法
CN111695164B (zh) 电子设备及其控制方法
US20060265578A1 (en) Detection of a sequencing error in the execution of a program
JP2000322535A (ja) Icカードの情報処理方法及び方式
Focardi et al. Secure recharge of disposable RFID tickets

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
CP03 Change of name, title or address

Address after: French Kubeva

Patentee after: Adimia - Identity and Security France

Address before: Paris France

Patentee before: MORPHO

CP03 Change of name, title or address