CN1505802A - 存储卡 - Google Patents

存储卡 Download PDF

Info

Publication number
CN1505802A
CN1505802A CNA028091647A CN02809164A CN1505802A CN 1505802 A CN1505802 A CN 1505802A CN A028091647 A CNA028091647 A CN A028091647A CN 02809164 A CN02809164 A CN 02809164A CN 1505802 A CN1505802 A CN 1505802A
Authority
CN
China
Prior art keywords
mentioned
terminal
card
data
treating apparatus
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
CNA028091647A
Other languages
English (en)
Other versions
CN1299234C (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.)
NEC Electronics Corp
Renesas Electronics Corp
Original Assignee
Renesas Technology Corp
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 Renesas Technology Corp filed Critical Renesas Technology Corp
Publication of CN1505802A publication Critical patent/CN1505802A/zh
Application granted granted Critical
Publication of CN1299234C publication Critical patent/CN1299234C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/0013Methods or arrangements for sensing record carriers, e.g. for reading patterns by galvanic contacts, e.g. card connectors for ISO-7816 compliant smart cards or memory cards, e.g. SD card readers
    • G06K7/0021Methods or arrangements for sensing record carriers, e.g. for reading patterns by galvanic contacts, e.g. card connectors for ISO-7816 compliant smart cards or memory cards, e.g. SD card readers for reading/sensing record carriers having surface contacts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/077Constructional details, e.g. mounting of circuits in the carrier
    • G06K19/0772Physical layout of the record carrier
    • G06K19/07732Physical layout of the record carrier the record carrier having a housing or construction similar to well-known portable memory devices, such as SD cards, USB or memory sticks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/0013Methods or arrangements for sensing record carriers, e.g. for reading patterns by galvanic contacts, e.g. card connectors for ISO-7816 compliant smart cards or memory cards, e.g. SD card readers
    • G06K7/0047Methods or arrangements for sensing record carriers, e.g. for reading patterns by galvanic contacts, e.g. card connectors for ISO-7816 compliant smart cards or memory cards, e.g. SD card readers for reading/sensing record carriers having edge contacts
    • 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

Abstract

本发明的目的在于提高存储卡的安全性。因此,本发明具备:闪速存储器芯片;可执行安全处理(加密化或解密化等)的IC卡芯片;以及根据来自主机的要求,控制对闪速存储器芯片IC卡芯片的数据的读写的控制器。

Description

存储卡
技术领域
本发明涉及装载有安全功能的存储卡和可插入该存储卡的主机以及插入有该存储卡的主机,特别是涉及具有可电擦除的非易失性存储器(例如,闪速存储器)的存储卡和可插入该存储卡的主机以及插入有该存储卡的主机。
背景技术
IC卡是一种把IC(集成电路)芯片埋入到塑料卡基板中的卡,在其表面上具有IC芯片的外部端子。在IC芯片的外部端子中有电源端子、时钟端子、数据输入输出端子等。IC芯片采用连接装置从外部端子直接供给电源或驱动时钟的办法进行动作。IC卡采用通过外部端子在与终端设备等的连接装置之间发送接收信号的办法与连接装置进行信息交换。作为信息交换的结果,IC卡实现了计算结果和存储信息的发送以及存储信息的变换。IC卡具有根据这些动作规格执行机密数据保护或个人认证等安全处理的功能。IC卡在信用卡结算或银行业等需要进行机密信息的安全的系统中,被用于个人识别的用户装置。
可在安全系统中利用的IC卡,在使用秘密信息进行运算时,必须设计为使得不向外泄露该秘密信息或不可以推测该秘密信息。就是说,必须具有抗篡改性。作为对该绝对不能外泄的秘密信息进行解析的攻击方法,人们知道有定时解析、功率差解析、故障利用解析等。
定时解析,是一种在加密处理时间依赖于秘密信息的内容而不同的情况下,统计性地对其时间差进行解析以推测秘密信息的攻击方法。在装配密码算法时,以处理时间的缩短或程序大小的缩短为目的,常常依赖于秘密信息的内容应用跳过不需要的处理或进行分枝处理等之类的优化。当应用这样的优化时,加密处理时间就会因秘密信息的内容而不同。为此,采用观察处理时间的办法,就存在着可以推测秘密信息内容的可能性。
功率差解析,是一种采用测定从加密处理执行中的IC卡的电源端子供给的功率,据之对消耗功率的差分进行解析的办法推测秘密信息的攻击方法。
故障利用解析,是一种利用IC卡计算错误的攻击方法。向IC卡提供那种一闪即过性的故障或不会给其它功能造成影响的范围内的限定性故障,使IC卡进行攻击者所希望的异常处理。在采用给IC卡加上高电压,或瞬时性地使时钟频率或驱动电压变动的办法故意地使之产生错误的情况下,就有可能根据所得到的错误计算结果和正确的计算结果得到秘密信息。
IC卡在实用上必须拥有针对这些攻击法的对策手段。
发明内容
本发明的第1目的在于提供提高了安全性的存储卡。
本发明的第2目的在于提供使制造工艺简化的存储卡。
为了实现第1目的,本发明具备:闪速存储器芯片、控制器、外部端子和IC芯片。IC芯片的接地端子被连接到外部端子上,IC芯片的电源输入端子和复位输入端子和时钟输入端子和数据输入输出端子,则连接到控制器上。
为了实现第2个目的,具备可存储数据的闪速存储器芯片、控制向闪速存储器进行的数据写入的控制器和IC芯片,IC芯片可得到认证机关事先认证后再进行装载。
倘采用本发明,则会收到提高存储卡的安全性的效果。
倘采用本发明。则可以收到简化存储卡的制造的效果。
上述的讲述虽然是对实施例进行的,但是,本发明在所附权利要求的范围内可以进行种种的变更或修正,这一点本专业的从业者是明白的。
本发明的其它的目的、特征和优点,可从对于附图的以下的本发明的实施形态的说明中了解清楚。
附图说明
图1示出了应用本发明的MMC的内部构成。
图2示出了应用本发明的MMC的主机的内部构成,和主机与MMC之间的连接状态。
图3示出了IC卡芯片的冷复位时的信号波形。
图4示出了IC卡芯片的热复位时的信号波形。
图5示出了IC卡芯片的IC卡指令处理时的信号波形。
图6示出了IC卡芯片的非活性化时的信号波形。
图7的时图示出了主机对MMC的存取。
图8的图表示出了IC卡控制参数和与之对应的对IC卡进行的处理内容。
图9是对IC卡芯片的第1次IC卡初始化的详细的流程。
图10是对IC卡芯片的第2次IC卡初始化的详细的流程。
图11是对非活性化状态的IC卡芯片的IC卡初始化时的信号波形。
图12是对活性化状态的IC卡芯片的IC卡初始化时的信号波形。
图13是由IC卡芯片进行的安全处理的详细的流程。
图14示出了处理安全处理要求写入指令时的信号波形和闪速存储器芯片存取。
图15示出了由IC卡芯片进行的安全处理执行时的信号波形和闪速存储器芯片存取的一个例子。
图16示出了处理安全处理要求读出指令时的信号波形和闪速存储器芯片存取。
图17示出了接口直通模式中的MMC外部端子与IC卡芯片外部端子的对应关系。
图18是向接口直通模式转移时的处理和从接口直通模式返回的处理的流程图。
图19示出了向接口直通模式转移的处理时的信号波形。
图20示出了从接口直通模式返回的处理时的信号波形。
图21示出了闪速存储器的内部构成。
图22简单地示出了应用本发明的MMC的内部构成。
图23示出了把应用本发明的MMC应用于内容分配的例子。
图24简单地示出了应用本发明的SD卡的内部构成。
图25简单地示出了应用本发明的存储棒的内部构成。
图26示出了本发明的IC卡芯片的内部构成。
图27示出了安全处理要求和安全处理结果的各数据格式的一个例子。
具体实施方式
以下,说明本发明的一个实施形态。
图22简单地示出了应用本发明的多媒体卡(即Multi MediaCard,Multi Media Card是Infine on Technologies AG的注册商标。以下,简写为MMC)的内部构成。MMC110理想的是以MultiMedia Card规格为标准。MMC110采用已连接到外部上的主机220发送以Multi Media Card规格为标准的存储卡指令的办法,具有进行为机密数据保护或个人认证等所需要的加密处理的安全处理功能。主机220,例如,相当于移动电话、个人数字助理(PDA)、个人计算机、音乐回放(和录音)装置、摄象机、数字摄象机、自动出纳机、街头终端、结算终端等。MMC110具有MMC外部端子140、控制器芯片120、闪速存储器芯片130和IC卡芯片150。闪速存储器芯片130是以非易失性的半导体存储器为存储媒体的存储器芯片,可以借助于闪速存储器指令读写数据。MMC外部端子140由7个端子构成,为了与外部的主机220进行信息交换,包括电源供给端子、时钟输入端子、指令输入输出端子、数据输入输出端子、接地端子。控制器芯片120是已与MMC110的内部的别的构成要素(MMC外部端子140、闪速存储器芯片130、IC卡芯片150)连接起来,对它们进行控制的微型计算机芯片。IC卡芯片150,是用来埋入到IC卡的塑料基板中的微型计算机芯片,其外部端子、电信号协议和指令,都以ISO/IEC7816标准为依据。在IC卡芯片150的外部端子中,有电源供给端子、时钟输入端子、复位输入端子、I/O输入输出端子和接地端子。控制器芯片120,采用从IC卡芯片150的外部端子向IC卡芯片150发送IC卡指令的办法,进行由外部的主机220要求的安全处理所需要的运算。
图26示出了本发明的IC卡芯片的内部构成。IC卡芯片150,具备用来进行运算处理的CPU(微型计算机)158、用来存储数据(包括程序)的ROM159和RAM160和EEPROM162、用来进行与加密/解密有关的处理的加密协处理器163、用来与外部进行数据的发送接收的串行接口161,这些都可借助于总线进行连接。此外,IC卡芯片150本身可借助于其解密协处理器163,根据来自主机220的指令执行安全处理。另外,也可以不使用加密协处理器163(硬件)而代之以由CPU158根据程序执行安全处理。
另一方面,在闪速存储器芯片130中,虽然具备存储元件,但是却不存在微型计算机。安全处理,例如,可在要向IC卡芯片150内的存储区内写入数据时,或要从IC卡150内的存储区读出数据时执行。IC卡芯片150的EEPROM的存储容量比闪速存储器芯片130的存储容量小。但是,IC卡芯片150的EEPROM的存储容量也可以与闪速存储器芯片130的存储容量相同,或者更大。
IC卡芯片150利用由作为安全评价标准的国际标准ISO/IEC15408的评价认证机关认证完毕的产品。一般地说,在实际的电子结算服务等中利用具有进行安全处理功能的IC卡的情况下,该IC卡必须接受由ISO/IEC15408的评价认证机关进行的评价和认定。在采用给MMC追加上进行安全处理功能的办法实现MMC110,并在实际的电子结算服务等中利用该MMC110的情况下,MMC110也同样必须接受由ISO/IEC15408的评价认证机关进行的评价和认定。倘采用本发明,则MMC110,由于内置已由评价认证机关认证完毕的IC卡芯片150,具有利用该IC芯片150进行安全处理的构造,故可以得到安全处理功能。因此,MMC110可以容易地满足以ISO/IEC15408为依据的安全评价标准,可以缩短对MMC追加安全处理功能的开发期间。
MMC110,理想的是具有以Multi Media Card规格为依据的外部接口。除去标准存储卡指令(用来对闪速存储器芯片130进行存取的指令)之外,MMC110必须通过一种外部接口来接受执行安全处理的指令。控制器芯片120,具有取决于MMC110所接收到的指令究竟是标准存储卡指令还是实行安全处理的指令,选择应存取的芯片来分配指令的功能。倘采用本发明,如果接收到的是标准存储卡指令,则选择闪速存储器芯片130,就可以对之发送闪速存储器指令以读写主数据,如果接收到的是执行安全处理的指令,则选择IC卡芯片150,就可以对之发送IC卡指令以进行安全处理。
IC卡芯片150的外部端子,除去接地端子之外,电源供给端子、时钟输入端子、复位输入端子、I/O输入输出端子都已连接到控制器芯片120上。
控制器芯片120,通过电源供给端子、时钟输入端子,控制向IC卡芯片150的电源供给和时钟供给。倘采用本发明,则在没有从主机220要求安全处理时,就可以停止向IC卡芯片150的电源供给或时钟供给,因而可以削减MMC110的功耗。
要想使未供给电源的IC卡芯片150变成为可以接收IC卡指令的状态,首先,就必须开始向IC卡芯片150供给电源,并施行复位处理(包括时钟供给的开始)。例如,控制器芯片120,也可以以MMC110从主机220接收到执行安全处理的指令为契机,开始通过电源供给端子向IC卡芯片150供给电源。或者,控制器芯片120,也可以在不执行安全处理时仍维持向IC卡芯片150的电源供给,并以MMC110从主机220接收到执行安全处理的指令为契机,通过复位输入端子进行IC卡芯片150的复位处理。倘采用本发明,控制器芯片120,一直到接收执行安全处理的指令为止,都先停止向IC卡芯片150的电源和时钟这两方的供给,或仅仅停止时钟的供给。因此,可以削减MMC110的功耗。在IC卡芯片150支持睡眠模式的情况下,在不执行安全处理时,即便是仅仅停止时钟供给也可以大幅度地削减功耗。这是因为根据ISO/IEC7816-3标准,在电源电压3V下的IC卡的电学特性,在通常状态下规定最大为50mA,在时钟停止状态下规定最大为0.5mA的缘故。另外,所谓睡眠模式,就是即便是停止时钟供给,只要还供给电源,IC卡芯片150的内部状态(在核心CPU的寄存器或RAM中保持的数据)也得以保持的动作模式。
控制器芯片120具有这样的功能:在MMC110内部产生通过IC卡芯片150的时钟输入端子供往IC卡芯片50的时钟信号,并对其频率、供给开始定时、供给停止定时进行控制。倘采用本发明,由于可以变成为与MMC外部端子140的时钟输入端子的时钟信号无关地进行操作,故针对由主机220进行的被叫做定时解析、功率差解析、故障利用解析的攻击方法,安全性将会提高。
图21示出了闪速存储器芯片130详细的内部构成。闪速存储器芯片130包括主数据区2115和管理区2110。主数据区2115是以扇区单位映象逻辑地址的区域,是主机220可以指定逻辑地址以写入数据的区域。主数据区2115包括用户文件区2130和安全处理应用区2120。用户文件区2130是用户可以自由地写入文件数据的区域,安全处理区2120是主机220存放对安全处理应用所需要的数据的区域,主机220的安全处理应用逻辑性地对用户存取加以限制,以便使得用户不会不合法的进行存取。在这里作为要存放的数据,可以存放主机220的应用程序、该应用程序专用的数据、在安全处理中使用的证书等(例如,电子结算应用程序、电子结算日志信息、电子结算服务证书等)。倘采用本发明,由于MMC110取代主机220存放主机220进行安全处理方面要使用的数据,故对于主机220来说可以提高便利性。另一方面,管理区2110是存放用于控制器芯片120管理IC卡芯片150的信息的区域。管理区2110包括IC卡控制参数区2111、IC卡环境设定信息区2112、CLK2设定信息区2113、安全处理缓冲区2114、安全处理状态区2116。2111~2116各区域的详细使用方法将在后边讲述。
控制器芯片120,把闪速存储器芯片130的管理区2110的安全处理缓冲区2114,用做IC卡芯片150执行安全处理时的主存储器或缓冲存储器。在主机220借助于执行安全处理的指令对MMC110进行存取时,如果MMC110已从主机220接收到不能一次向IC卡芯片150发送的那种程度大小的安全性关联数据,控制器芯片120就选择对闪速存储器芯片130的存取,把该数据暂时地存放到具有充分容量的安全处理缓冲区2114内。不能一次向IC卡芯片50发送的那种程度的大小,是超过了IC卡指令的允许数据大小(例如255字节或256字节)的尺寸。因此,控制器芯片120就将之分割成可以向IC卡芯片150发送的大小的数据,从闪速存储器芯片130中读出分割数据,分阶段地向IC卡芯片150发送。即,反复进行分割后的数据的读出和写入。倘采用本发明,由于对于主机220来说,可以处理大尺寸的安全性关联数据,故将提高安全处理的便利性。
含有上述安全处理缓冲区2114的管理区2110,借助于控制器芯片120物理性地加上主机存取限制,以便使得主机220不能作为非法存取对安全处理进行解析。即,管理区2110使得主机220不能直接读写数据。倘采用本发明,由于主机220不能自由地读出或篡改安全处理缓冲区2114的内容,故将提高安全处理的可靠性或安全性。
图23作为利用MMC110的安全处理的一个例子,示出了把应用本发明的MMC应用于内容分配的安全处理。内容供应商2310是向具有MMC110的用户销售内容2314的商家。主机220在本例中是通过网络与内容供应商2310进行接连的终端设备。用户采用把MMC110连接到主机220上的办法购买内容2314。以下说明其步骤。
首先,主机220向MMC110发送读出已存放在闪速存储器芯片130内的用户证书2321的指令。MMC110的控制器芯片120,就读出已存放在闪速存储器芯片130的安全处理应用区2120内的用户证书2321,将之发送给主机220。然后,主机220将之发送给内容供应商2310。内容供应商2310检验已写在用户证书2321上的数字署名(2311)。如果检验成功,则借助于随机数发生器产生话路密钥(2312),借助于从用户证书2321中抽出来的用户公开密钥将之进行加密化(2313)。然后,借助于话路密钥使内容2314加密化(2315)。内容供应商2310,把步骤2313的结果发送给主机220。主机220向MMC110发送要求借助于用户密钥2322使步骤2313的结果解密的指令。IC卡芯片150,借助于用户密钥2322使步骤2313的结果解密,取得话路密钥(2323)。主机220向MMC110发送使之输出表明该解密处理是否成功的信息的指令。控制器芯片120,以IC卡芯片150所输出的解密结果(表明解密处理成功与否的IC卡应答)为基础构筑主机220所要求的信息。然后,MMC110向主机220发送该信息。其次,内容供应商2310把步骤2315的结果发送给主机220。主机220向MMC110发送要求借助于话路密钥(借助于步骤2323取得的密钥)使步骤2315的结果解密的安全处理的指令。控制器芯片120向IC卡芯片150发送借助于话路密钥使步骤2315的结果解密的IC卡指令。IC卡芯片150借助于话路密钥使步骤2315的结果解密,使内容2314复原(2324)。控制器芯片120从IC卡芯片150那里接收该内容2314,写入到闪速存储器芯片130内。主机220向MMC110发送使之输出表明该解密处理成功与否的信息的指令。控制器芯片120以IC卡芯片150所输出的解密结果(表明解密处理成功与否的IC卡应答)为基础构筑主机220所要求的信息。然后,MMC110向主机220发送该信息。当主机220把已平安地接受到内容的信息传达给内容供应商2310后,内容供应商2310就向记载于用户证书中的用户要求内容付费。用户就可以用主机220读取并利用已存放在MMC110内的闪速存储器芯片130内的内容2314。此外,如果闪速存储器芯片130的存储媒体使用大容量的闪速存储器,则可以购买许多的内容。
倘采用本发明,则可以借助于MMC110容易地实现内容分配发送中的安全处理和内容存储这两方。也可以采用利用IC卡芯片150的办法进行内容付费的结算。
图24和图25分别示出了把本发明应用于SD卡(是一种宽24毫米、长32毫米、厚度2.1毫米,具有9个外部端子,装载有闪速存储器的小型存储卡)和存储棒(存储棒是索尼株式会社的注册商标)时的简单的内部构成。应用本发明的SD卡2410包括SD卡控制器芯片2420、闪速存储器芯片2430、SD卡外部端子2440、IC卡芯片150。应用本发明的存储棒2510,包括存储棒控制器芯片2520、闪速存储器芯片2350、存储棒外部端子2540、IC卡芯片150。闪速存储器芯片2430和2530是以非易失性的半导体存储器为存储媒体的存储器芯片,可以借助于闪速存储器指令进行数据的读写。SD卡控制器芯片2420和存储棒控制器芯片2520分别是控制SD卡和存储棒内其它构成要素的微型计算机芯片。
SD卡外部端子2440由9个端子构成,它们的位置,从边上开始按照Data2端子2441、Data3端子2442、Com端子2443、Vss端子2444、Vdd端子2445、Clock端子2446、Vss端子2447、Data0端子2448、Data1端子2449的顺序排列。Vdd端子2445是电源供给端子,Vss端子2444和2447是接地端子,Data0端子2448和Data1端子2449和Data2端子2441和Data3端子2442是数据输入输出端子,Com端子2443是指令输入输出端子,Clock端子2446是时钟输入端子。SD卡2410尽管在与连接到外部上的SD卡主机2460之间的接口规格与MMC110不同,但是却具有与MMC外部端子140非常类似的外部端子,由于与MMC110同样具有采用从外部发送指令的办法进行动作的特征,故可以应用本发明。
另一方面,存储棒外部端子2540由10个端子构成,它们的位置,从边上开始按照Gnd端子2541、BS端子2542、Vcc端子2543、跳过一个预约端子Rsv,DIO端子2544、INS端子2545、跳过一个预约端子Rsv,SCK端子2546、Vcc端子2547、Gnd端子2548的顺序排列。Vcc端子2543和2547是电源供给端子,Gnd端子2541和2548是接地端子,DIO端子2544是指令和数据输入输出端子,SCK端子2546是时钟输入端子。存储棒2510尽管在与连接到外部上的存储棒主机2560之间的接口规格与MMC110不同,但是却具有与MMC110同样采用从外部发送指令的办法进行动作的特征,故可以应用本发明。
图1示出了应用本发明的MMC的详细的内部构成。图2示出了已与图1的MMC110连接起来的主机220的构成及其连接状态。主机220具有VCC1电源221、CLK振荡器222、主接口223。
MMC110具有用来与外部的主机220进行信息交换的MMC外部端子140。MMC外部端子140包括CS端子141、CMD端子142、GND1端子143和146、VCC1端子144、CLK1端子145和DAT端子147这7个端子。多媒体卡规格,作为MMC的动作模式规定有MMC模式和SPI模式这两种模式,动作模式不同则MMC的外部端子140的使用方法就不一样。在本实施形态中,对在MMC模式下动作的情况详细地进行说明。VCC1端子144与VCC1电源221进行连接,是主机220向MMC110供给电力的电源端子。GND1端子143和146,与VCC1端子221连接起来,是MMC110的电接地端子。GND1端子143和GND1端子146在MMC110内部已进行了电短路。CS端子141已连接到主接口223上,是在SPI模式的动作中使用的输入端子。主机220在SPI模式下对MMC110进行存取时向CS端子141输入L电平。在MMC模式的动作时,就不需要使用CS端子141。CMD端子142已连接到主接口223上,是为了主机220向MMC110发送以存储卡接口规格为依据的存储卡指令,或从MMC110接收依据同一规格的存储卡应答而使用的输入输出端子。DAT端子147已连接到主接口223上,是为了主机220向MMC110发送以存储卡接口规格为依据的形式的输入数据,或从MMC110接收依据同一规格的形式的输出数据而使用的输入输出端子。CLK1端子145已与CLK1振荡器222连接起来,是输入CLK1振荡器222所产生的时钟信号的端子。在主机220通过CMD端子142发送接收存储卡指令、存储卡应答,或通过DAT端子147发送接收主数据时,就向CLK1端子145输入时钟信号。从CLK1振荡器222向主接口 223供给时钟信号,存储卡指令、存储卡应答、主数据以位单位与CLK1振荡器222所产生的时钟信号同步地在主机220和MMC110之间传送。
MMC110具有控制器芯片120。控制器芯片120包括CPU121、闪速存储器I/F控制电路122、MMCI/F控制电路123、CLK0振荡器124、VCC2产生器125、VCC2控制电路126、CLK2控制电路127、IC卡I/F控制电路128。这些构成要素121~128,借助于从主机220通过VVC1端子144或GND1端子143、146供给的电力进行动作。MMCI/F控制电路123已与CS端子141、CMD端子142、CLK1端子145、DAT端子147连接起来,是对用来使得MMC110通过这些端子与主机220进行信息交换的接口进行控制的逻辑电路。CPU121已与MMCI/F控制电路123连接起来,对MMCI/F控制电路123进行控制。当MMCI/F控制电路123通过CMD端子142从主机220接受到存储卡指令时,MMCI/F控制电路123就通过用来把该指令的接收成功与否的结果传送给主机220的CMD端子向主机220发送应答。CPU121对所接收到的存储卡指令进行解释,并执行与指令内容对应的处理。此外,有时候还需要根据该指令内容通过DAT端子147与主机220进行数据的发送接收。CPU121进行数据向MMCI/F控制电路123的送出,和来自MMCI/F控制电路123的数据的取得。此外,CPU121也对MMCI/F控制电路123和主机220之间的数据传送过程进行控制。例如,CPU121向DAT端子147输出L电平,把MMC110正处于忙状态的情况通知给主机220,以便使得在从主机220接收到的数据的处理中,主机220不会停止向MMC110进行的电源供给。CLK0振荡器124,与CPU121进行连接,供给使CPU121动作的驱动时钟。另外,IC卡芯片150需要驱动时钟,而闪速存储器芯片130则不需要时钟。但是,IC卡芯片150和闪速存储器芯片130都需要用来传送数据的数据传送时钟。
MMC110具有闪速存储器芯片130。闪速存储器芯片130是以非易失性的半导体存储器为存储媒体的存储器芯片。闪速存储器芯片130借助于从主机220通过VCC1端子144或GND1端子143、146供给的电力进行动作。闪速存储器芯片130具有根据来自外部的闪速存储器指令向非易失性的半导体存储器内存放所输入的数据的写入功能,和把已存放到该存储区内的数据取出到外部的读出功能。闪速存储器I/F控制电路122是用来向闪速存储器芯片130发送闪速存储器指令,或传送通过该指令输入的数据的逻辑电路。CPU121对闪速存储器I/F控制电路122进行控制,使之执行数据向闪速存储30的写入功能或读出功能。在需要把从主机220接收到的数据写入到闪速存储器芯片130内,或向主机220发送已存放到闪速存储器芯片130内的数据时,CPU121就要对闪速存储器I/F控制电路122和MMCI/F控制电路123之间的数据传送进行控制。
MMC110具有IC卡芯片150。IC卡芯片150是以埋入到IC卡的基板中为目的而设计的IC芯片,具有以IC卡的外部端子规格为依据的8个外部端子。其中6个端子已被IC卡的外部端子规格分配了使用方法,剩下的2个端子是用于将来的备用端子。该6个端子是VCC2端子151、RST端子153、CLK2端子153、GND2端子155、VPP端子156和I/O端子157。
IC卡芯片150的接地端子被连接到MMC外部端子140的GND1(接地端子)146上。IC卡芯片150的VCC2端子(电源输入端子)151被连接到控制器芯片120的VCC2控制电路126上。IC卡芯片150的RST端子(复位输入端子)152和I/O端子(数据输入输出端子)157则被连接到控制器芯片120的IC卡I/F控制电路128上。IC卡芯片150的CLK2端子(时钟输入端子)153被连接到控制器芯片120的CLK2控制电路127上。
闪速存储器芯片130的VCC端子(电源输入端子)连接到MMC外部端子140的VCC1端子144上。闪速存储器芯片130的VSS端子(接地端子)连接到MMC外部端子140的GND1端子146上。闪速存储器芯片130的I/O端子(数据输入输出端子)、准备就绪/忙闲端子、片选端子、输出允许端子、写入允许端子、时钟端子和复位端子,被连接到控制器芯片120的闪速存储器I/F控制电路122上。
VCC2端子151是用来向IC卡芯片150供给电力的电源端子。VCC2控制电路126是借助于使用MOS-FET元件的开关电路控制向VVC2端子151进行的电力的供给开始和供给停止的电路。VCC2产生器125产生供往VCC2端子151的电压,并将之供往VCC2控制电路126。IC卡的电信号规格,作为IC卡的动作类型级别被规定为A类和B类。供往VCC2端子151的标准电压,在A类的情况下为5V,在B类的情况下为3V。本发明虽然可以与IC卡芯片150的动作类型无关地应用,但是在本实施形态中,要对IC卡芯片150进行B类动作的情况详细地进行说明。VPP端子156是为了在IC卡芯片150进行A类动作时,向内部的非易失性存储器写入数据或擦除而使用的供给可变电压的端子。在进行B类动作时则不使用。GND2端子155是IC卡芯片150的电接地端子,已与GND1端子143、146短路。VCC2控制电路126与CPU121进行连接,CPU121可以控制VCC2端子151进行的电力供给的开始和停止。在不使用IC卡芯片150时,CPU121就可以停止向IC卡芯片150的电力供给。MMC110,归因于停止向IC卡芯片150的电力供给,而可以节约它所耗费的电力。但是,当停止了电力供给后,IC卡芯片150的内部状态,除去已存储在IC卡芯片150的内部的非易失性存储区内的数据外,则不可能维持。CLK2端子153是向IC卡芯片150输入时钟信号的端子。CLK2控制电路127是向CLK2端子153供给时钟的电路。CLK2控制电路127以从CLK0振荡器供给的时钟信号为基础,产生供往CLK2端子153的时钟信号。CLK2控制电路127已连接到CPU121上,可以用CPU121控制向CLK2端子153进行的时钟的供给开始和供给停止。IC卡芯片150在自身内部不具有驱动时钟振荡器。为此,要采用从CLK2端子153供给驱动时钟的办法使之动作。CLK2控制电路127,当供往CLK2端子153的时钟供给停止时,由于IC卡芯片150的动作就会停止,故可以降低IC卡芯片150的功耗。这时,如果供往VCC2端子151的电力供给得以保持,则可以维持IC卡芯片150的内部状态。在这里,若设供往CLK2端子153的时钟信号的频率为F2,设  CLK0振荡器124供给的时钟信号的频率为F0,且设P和Q为正整数,则CLK2控制电路127,就产生变成为F2=(P/Q)*F0这样的关系的时钟信号,并将之供往CLK2端子153。P和Q的值可用CPU121进行设定。若把P设定得大以增大F2,则可以更为高速地驱动IC卡芯片150的内部处理。若把Q设定得大以减小F2,则可以更为低速地驱动IC卡芯片150的内部处理,可以降低IC卡芯片150的功耗。IC卡芯片150的驱动时钟频率,必须设定在使得IC卡芯片150可以正确地动作那样的允许频率范围内。为此,CLK2控制电路127具有如下特征:P和Q的值不能设定成使得F2的值偏离其允许频率范围。
I/O端子157是在向IC卡芯片150输入IC卡指令,或IC卡芯片150输出IC卡应答时使用的输入输出端子。IC卡I/F控制电路128已与I/O端子157连接起来,是通过I/O端子157进行IC卡指令的信号发送和IC卡应答信号接收的电路。IC卡I/F控制电路128已连接到CPU121上,CPU121控制由IC卡I/F控制电路128产生的IC卡指令或IC卡应答的发送接收的过程,或者把应发送的IC卡指令数据设定到IC卡I/F控制电路128内,从IC卡I/F控制电路28取得所接收到的IC卡应答。从CLK2控制电路127向IC卡I/F控制电路128供给时钟,以位单位与供往CLK2端子153的时钟信号同步地发送接收IC卡指令和IC卡应答。此外,RST端子152是在使IC卡芯片50复位时输入复位信号的端子。IC卡I/F控制电路128已与RST端子152连接起来,借助于CPU121的指示就可以向IC卡芯片150送出复位信号。
IC卡芯片150根据IC卡的电信号规格或指令规格进行信息交换。对IC卡芯片150的存取模式有4种,用图3到图6说明各个模式。图3简单地示出了在借助于CPU121的指示IC卡芯片150从非活性状态(电源已被切断的状态)启动进行使内部状态初始化的处理(以下,叫做冷复位)中,IC卡芯片150的外部端子的信号波形。图4则简单地示出了在借助于CPU121的指示IC卡芯片150在活性状态下(已供给电源状态)下进行使内部状态初始化的处理(以下,叫做热复位)中,IC卡芯片150的外部端子的信号波形。图5简单地示出了在借助于CPU121的指示向IC卡芯片150发送IC卡指令从IC卡芯片150接收IC卡应答的处理中,IC卡芯片150的外部端子的信号波形。图6则简单地示出了在借助于CPU121的指示使IC卡芯片150变成为非活性状态的处理中,IC卡芯片150的外部端子的信号波形。在图3到图6中,时间的方向采用从左向右,从上边的行到下边的行表示出在VCC2端子151、RST端子152、CLK2端子153、I/O端子157处观察的信号。此外,虚线表示各信号的基准(L电平)。
参看图3说明IC卡芯片150的冷复位操作。首先,IC卡I/F控制电路128使RST端子152变成为L电平(301)。其次,VCC2控制电路126开始进行向VCC2端子进行的电源供给(302)。其次,CLK2控制电路127开始进行向CLK2端子153进行的时钟信号的供给(303)。其次,IC卡I/F控制电路128使I/O端子157变成为状态Z(被上拉后的状态)(304)。其次,IC卡I/F控制电路128使RST端子152变成为H电平(305)。其次,IC卡I/F控制电路128开始接受从I/O端子157输出的复位应答(306)。复位应答的接收结束后,CLK2控制电路127停止时钟信号向CLK2端子153的供给(307)。到此,结束冷复位的操作。另外,步骤307由于是降低功耗的措施,也可以省略。
参看图4说明IC卡芯片150的热复位操作。首先,CLK2控制电路127开始时钟信号向CLK2端子153的供给(401)。其次,IC卡I/F控制电路128使RST端子152变成为L电平(402)。其次,IC卡I/F控制电路128使I/O端子157变成为Z状态(403)。其次,IC卡I/F控制电路128使RST端子152变成为H电平(404)。其次,IC卡I/F控制电路128开始接收从I/O端子157输出的复位信号(405)。在复位信号的接收结束后,CLK2控制电路127停止时钟信号向CLK2端子153的供给(406)。到此,结束热复位的操作。另外,步骤406由于是降低功耗的措施,也可以省略。
参看图5,说明向IC卡芯片150发送IC卡指令并从IC卡芯片150接收IC卡应答的操作。首先,CLK2控制电路127开始时钟信号向CLK2端子153的供给(501)。另外,在已经供给了时钟的情况下,步骤501就不再需要。其次,IC卡I/F控制电路128开始指令数据向I/O端子157的发送(502)。在指令数据的发送结束后,IC卡I/F控制电路128就使I/O端子157变成为Z状态(503)。其次,IC卡1/F控制电路128开始接收从I/O端子157输出的应答数据(504)。在应答数据的接收结束后,CLK2控制电路127就停止时钟信号向CLK2端子153的供给(505)。到此,结束IC卡指令发送和IC卡应答接收的操作。另外,步骤505由于是降低功耗的措施,也可以省略。
参看图6,说明使IC卡芯片150非活性化的操作。首先,CLK2控制电路127使CLK2端子153变成为L电平(601)。其次,IC卡I/F控制电路128使RST端子152变成为L电平(602)。其次,IC卡I/F控制电路128使I/O端子157变成为L电平(603)。最后,VCC2控制电路126停止电源向VCC2端子的供给(604)。到此,完成非活性化的操作。
另外,在IC卡芯片150的停止时(例如,不执行安全处理的状态等),也可以在维持向IC卡芯片150的电源的供给不变的状态下,控制器芯片120仅仅停止时钟的供给。
IC卡芯片150具有进行机密数据保护或个人认证等所需要的加密运算的安全处理功能。IC卡芯片150采用在与CPU121之间进行IC卡指令或IC卡应答的发送接收的办法,进行信息交换,作为其结果,进行计算结果或所存储的信息的送出、所存储的信息的变更等。CPU121可以利用IC卡芯片150执行安全处理。当MMC110从主机220接收到特定的存储器卡指令后,CPU121就以之为契机,通过VCC2控制电路126控制电源向IC卡芯片150的供给,或者,通过CLK2控制电路127控制时钟向IC卡芯片150的供给,或者通过IC卡I/F控制电路128向IC卡芯片150发送IC卡指令。借助于此,CPU121也可以以特定的存储卡指令的接收为契机,采用把多个对IC卡芯片150的电源供给控制、时钟供给控制、IC卡指令发送、IC卡应答接受组合起来进行操作的办法,执行安全处理。此外,CPU121也可以以主机220开始向MMC110的电源供给为契机,执行安全处理。安全处理的结果,可以以IC卡芯片150输出的IC卡应答为基础构成,并保持在MMC110内。当MMC110从主机220接收到特定的存储卡指令后。CPU121就以之为契机,把安全处理的结果发送给主机220。
图7示出了主机220对MMC110进行存取时的流程。首先,主机220为了使MMC110活性化开始向VCC1端子144供给电源(701)。以此为契机,MMC110执行第1次IC卡初始化处理(702)。第1次IC卡初始化处理的细节将在后边讲述。其次,主机220为了使MMC110进行初始化,通过CMD端子142发送MMC110的初始化指令(703)。该初始化指令是以Multi Media Card规格为依据的指令,有多种指令。主机220为了使MMC110初始化,有时候要发送多个初始化指令。当MMC110接收到初始化指令后,MMC110就对之进行处理(704)。以之为契机,MMC110执行第2次IC初始化处理(705)。第2次初始化处理的细节在后边讲述。主机220通过CMD端子142接收对MMC110的初始化指令的存储卡应答,根据该存储卡应答的内容判定是否已完成了MMC110的初始化。如果未完成,则要再次进行初始化指令的发送(703)。如果MMC110的初始化已完成,主机220就将转移到等待以Multi Media Card规格为依据的标准存储卡指令(用来对闪速存储器芯片130进行存取的指令)或与在上边说明的安全处理有关的特定的存储卡指令(用来对IC卡芯片150进行存取的指令)的发送的等待状态(707)。在该等待状态下,主机220可以发送标准存储卡指令(708)。当MMC110接收到标准存储卡指令后,MMC110就对其进行处理(709)。处理完成后,主机220就再次返回等待状态(707)。在该等待状态下,主机220也可以发送安全处理要求写入指令(710)。所谓安全处理要求写入指令,是与上边所说的安全处理有关的特定的存储卡指令的1种,是为了使之执行安全处理而向MMC110发送处理要求的存储卡指令。当MMC110接收到安全处理要求写入指令后,CPU121就对所要求的安全处理的内容进行解释,以IC卡指令的形式描述安全处理(711)。就是说,CPU121根据预先规定好的规则,使来自主机220的标准存储卡指令变换为IC卡芯片150能够解释的特定的存储卡指令。然后,采用把作为其结果得到的IC卡指令发送到IC卡芯片150等办法,执行所要求的安全处理(712)。处理完成后,主机220就再次返回等待状态(707)。在该等待状态下,主机220也可以发送安全处理结果读取指令(713)。所谓安全处理结果读取指令,是与上边所说的安全处理有关的特定的存储卡指令的1种,是为了了解由MMC110进行的安全处理的执行结果而接受处理结果的存储卡指令。当MMC110接收到安全处理结果读取指令后,CPU121就以从IC卡芯片150接收到的IC卡应答为基础,构筑应向主机220发送的安全处理结果(714)。然后,主机220从MMC110接收安全处理结果。当接收完成后,主机220就再次返回等待状态(707)。另外,步骤714也可以在步骤712中进行。
在图7中,在步骤702和步骤705中执行的第1次IC卡初始化处理和第2次IC卡初始化处理,是为了在MMC110内执行安全处理而具备的CPU121对IC卡芯片150进行存取的处理。具体地说,进行IC卡芯片150的活性化或非活性化、IC卡芯片150的复位、IC卡芯片150的环境设定。所谓环境设定,意味着为了执行安全处理从IC卡芯片150中读出或向IC卡芯片150内写入所需要的信息(例如,可使用的加密算法的信息,与在加密算法中使用的密钥或公开密钥有关的信息,与在个人认证中使用的认证数据有关的信息等)。IC卡芯片150的环境设定采用向IC卡芯片150发送N个(N为正整数)IC卡指令的办法进行。例如,如果需要3个话路密钥,则要发送3次IC卡指令,如果需要2个话路密钥则要发送2次IC卡指令。N个IC卡指令既可以彼此相同,也可以彼此不同。N的值并不是固定的,根据状况可以变成为各种各样的值。以下,把在环境设定中发送的IC卡指令叫做设定指令。此外,以下,把根据该环境设定执行安全处理的IC卡指令叫做安全指令。作为安全指令的例子,有数字署名的计算、数字署名的检验、信息的加密化、加密化信息的解密和用口令进行的认证的指令。
CPU121可以自由地变更IC卡芯片150的环境设定的内容。CPU121既可以根据安全处理的内容或结果对之进行变更,也可以以来自主机220的存储卡指令的接收为契机对之进行变更。此外,CPU121也可以向闪速存储器芯片130写入表明环境设定的内容的信息,在必要时也可以从闪速存储器芯片130中读出并使用该信息。该信息在图21中作为IC卡环境设定信息2112予以示出。借助于此,即便是MMC110已非活性化,也可以保持其信息,可以节省每当MMC110进行活性化时都要重新进行设定的劳力和时间。
第1次IC卡初始化处理和第2次IC卡初始化处理,可根据设置在IC卡控制参数A、B、C中的值进行。此外,CPU121在步骤712中执行的安全处理中,根据设置在IC卡参数D中的值控制IC卡芯片150的活性化或非活性化。图8示出了IC卡控制参数的种类和设定值以及与之对应的处理的内容。首先,参数A是与向MMC110供给电源时执行的第1次初始化处理有关的参数。在A=0时,CPU121就不对IC卡芯片150进行存取。在A=1时,CPU121就使IC卡芯片150进行冷复位。在A=2时,CPU121就在使IC卡芯片150进行了冷复位后进行IC卡芯片150的环境设定。在A=3时,CPU121就在使IC卡芯片150进行了冷复位后进行IC卡芯片150的环境设定,最后,使IC卡芯片150非活性化。在A=0或A=3时,在第1次IC初始化处理之后IC卡芯片150将变成为非活性状态。在A=1或A=2时,在第1次IC初始化处理之后,IC卡芯片150则变成为活性状态。其次,参数B和C,是在MMC110已进行了初始化处理后要执行的与第2次初始化处理有关的参数。在B=0时,CPU121不对IC卡芯片150进行存取。在B=1且C=1时,CPU121就使IC卡芯片150复位(冷复位或热复位)。在B=1且C=2时,CPU121就在使IC卡芯片150复位后,进行IC卡芯片150的环境设定。在B=1且C=3时,就在使IC卡芯片150进行了冷复位后进行IC卡芯片150的环境设定,最后,使IC卡芯片150非活性化。在B=2且C=2时,CPU121进行IC卡芯片150的环境设定。在B=2且C=3时,CPU121就在进行了IC卡芯片150的环境设定后,使IC卡芯片150变成为非活性化。在B=3时,如果IC卡芯片150为活性状态,则CPU121使IC卡芯片150非活性化。最后,参数D是在执行了主机220所要求的安全处理后,表明是否要使IC卡芯片150非活性化的参数。在D=0时,则在安全处理的执行后,CPU121使IC卡芯片150保持活性状态而不进行非活性化。在D=1时,在执行了安全处理后,CPU121就要使IC卡芯片150非活性化。
CPU121可以变更IC卡控制参数A、B、C、D的设定值。CPU121既可以根据安全处理的内容或结果变更这些设定值,也可以以来自主机220的存储卡指令的接收为契机进行这些设定值的变更。此外,CPU121也可以把这些设定值写入到闪速存储器芯片130内,在需要时从闪速存储器芯片130内读出并使用这些设定值。这些设定值在图21中被表示成IC卡控制参数2111。借助于此,即便是MMC110已非活性化,也可以保持其信息,可以节省每当MMC110进行活性化时都要重新进行设定的劳力和时间。
图9示出了第1次初始化处理的流程。当开始初始化处理(901)后,首先,检查IC卡控制参数A是否为0(902)。若A=0,则保持原状不变地结束初始化处理。若A不为0,则使IC卡芯片150进行冷复位(903)。其次检查IC卡控制参数A是否为1(904)。若A=1则结束初始化处理(908)。若A不为1,则进行IC卡环境设定(905)。其次,检查IC卡控制参数A是否为2(906)。若A=2,则初始化处理结束(908)。若A不为2,则就要使IC卡芯片150非活性化(907)。然后初始化处理结束(908)。
图10示出了第2次初始化处理的流程。当开始初始化处理(1001)后,首先,检查IC卡控制参数B是否为0(1002)。若B=0,则保持原状不变地结束初始化处理(1013)。若B不为0,则检查是否B=1(1003)。若B=1,则检查IC卡控制参数A是否为0或3(1004)。若A为0或3,使IC卡芯片150进行冷复位(1005),转移到步骤1007。若A为1或2,则使IC卡芯片150进行热复位(1006),转移到步骤1007。在步骤1007处,检查IC卡控制参数C是否为1。若C=1,则结束初始化处理(1003)。若C不为1,则向步骤1009转移。在步骤1003中,若B不为1,则检查B是否为2(1008)。若B=2,则向步骤1009转移。若B不为2,则检查IC控制参数A是否为0或3(1011)。如A为0或3,则结束初始化处理(1013)。如A为1或2,则向步骤1012转移。在步骤1009中进行IC卡芯片150的环境设定。然后,检查IC卡控制参数C为2否(1010)。如C=2,则结束初始化处理(1013)。如C不为2,则向步骤1012转移。在步骤1012中使IC卡芯片150非活性化。然后,结束初始化处理(1013)。
图11简单地示出了在IC卡芯片150处于非活性状态时执行第1次IC卡初始化处理或第2次IC卡初始化处理的情况下IC卡芯片150的外部端子的信号波形。图12简单地示出了在IC卡芯片150处于活性状态时执行第2次IC卡初始化处理的情况下IC卡芯片150的外部端子的信号波形。在图11和图12中,时间的方向采取从左向右,从上边的行到下边的行表示在VCC2端子151、RST端子152、CLK2端子153、I/O端子157处观察的信号。此外,水平方向上的虚线表示各信号的基准(L电平)。在图11中,1102表示图3所示的冷复位的信号波形。在图12中,1202表示图4所示的热复位的信号波形。在图11和图12中,第1设定指令处理1104a和1204a、第2设定指令处理1104b和1204b,第N设定指令处理1104c、1204c,分别表示图5所示的IC卡指令处理的信号波形。IC卡芯片150的环境设定的信号波形1104和1204,可采用把N个设定指令处理连接起来的办法构成。在图11和图12中,分别示出了图6所示的非活性化的信号波形。在图11和图12中,纵向方向的虚线1101、1103、1105、1107、1201、1203、1205、1207分别表示特定的时刻。1101是冷复位前的时刻,1201是热复位前的时刻,1103是处于从冷复位后到环境设定前之间的时刻,1203是处于热复位后到环境设定前之间的时刻,1105和1205是处于从环境设定后到非活性化前之间的时刻,1107和1207是非活性化后的时刻。
参看图11,示出了第1次IC卡初始化处理执行时的信号波形。在IC卡控制参数A为0时,信号波形没有变化。在A=1时,则变成为从时刻1101到时刻1103的范围的信号波形。在A=2时则变成为从时刻1101到时刻1105的范围的信号波形,在A=3时,变成为从时刻1101到时刻1107的范围的信号波形。
参看图11,示出了IC卡控制参数A为0或3时的第2次IC卡初始化处理执行时的信号波形。在IC卡控制参数B为0时信号波形没有变化。在B=1且IC卡控制参数C=1时,变成为从时刻1101到时刻1103的范围的信号波形。在B=1且C=2时,变成为从时刻1101到时刻1105的范围的信号波形。在B=1且C=3时,则变成为从时刻1101到时刻1107的范围的信号波形。
参看图12,示出了IC卡控制参数A为1或2时的第2次IC卡初始化处理执行时的信号波形。在IC卡控制参数B为0时,信号波形没有变化。在B=1且IC卡控制参数C=1时,变成为从时刻1201到时刻1203的范围的信号波形。在B=1且C=2时,变成为从时刻1201到时刻1205的范围的信号波形。在B=1且C=3时,则变成为从时刻1201到时刻1207的范围的信号波形。在B=2且C=2时,变成为从时刻1203到时刻1205的范围的信号波形。在B=2且C=3时,变成为从时刻1203到时刻1207的范围的信号波形。在B=3时,则变成为从时刻1205到时刻1207的范围的信号波形。
图13示出了在图7的步骤712中,CPU121借助于IC卡芯片150执行主机220所要求的安全处理时的流程。在开始安全处理(1301)后,首先,检查IC卡芯片150是否是非活性状态(1302)。如是非活性状态,则使IC卡芯片150进行冷复位(1303),向步骤1306转移。若是活性状态,则向步骤1304转移。在步骤1304中,检查在向IC卡芯片150发送IC卡指令前是否需要再次使IC卡芯片150进行复位。如需要,则使IC卡芯片150进行热复位(1305),向步骤1306转移。若不需要,则向步骤1306转移。在步骤1306中,检查是否需要进行IC卡芯片150的环境设定。若需要,则进行IC卡芯片150的环境设定(1307),向步骤1308转移。若不需要,则转移到步骤1308。在步骤1308中,设定供往IC卡芯片150的CLK2端子的时钟信号的频率F2。然后,CPU121向IC卡芯片150发送安全指令,IC卡芯片150对之进行处理(1309)。安全指令的处理时间依赖于时钟频率F2。其次,借助于IC卡芯片150所输出的IC卡应答判定该处理成功与否(1310)。如果成功,则转移到步骤1311。如果失败,则向步骤1312转移。在步骤1311中,检查应向IC卡芯片150发送的安全指令是否全部发完。如果还有应发送的安全指令,则转移到步骤1304。如果应发送的安全指令已完全发完,则转移到步骤1314。在步骤1312中,判定是否可以再次执行(复执)失败的安全处理。若可以复执,就进行复执设定(1313),转移到步骤1304。所谓复执设定,就是CPU121再次准备应当复执的安全指令或其关联数据。若不能复执,就转移到步骤1314。这意味着主机220所要求的安全处理已经失败。在步骤1314中,检查IC卡控制参数D。若D=1,则在使IC卡芯片150非活性化后(1315),结束安全处理(1316)。若D不为1,则使IC卡芯片150保持活性状态原状不变地结束安全处理(1316)。在图13的流程中,虽然使步骤1308位于步骤1309的前边,以便使得可以使时钟频率F2因在步骤1309中发送的安全指令的种类而改变,但是步骤1308也可以处于除此之外的位置。
作为使现有的IC卡的攻击法变成为有效的因素之一,可以举出从外部的连接装置直接供给IC卡的驱动时钟的因素。由于驱动时钟处于连接装置的控制之下,故在定时解析或功率差解析中,在电信号的测定中,IC卡内部定时的获得就变得容易起来。另一方面,在故障利用解析中,由异常的驱动时钟的供给得到的运算错误的发生会变得容易起来。相对于此,倘采用本发明,则在MMC110内部借助于IC卡芯片150执行安全处理时,主机220就不可能直接供给IC卡芯片150的驱动时钟。CPU121就可以自由地设定要向IC卡芯片150供给的时钟频率F2。借助于此,就可以灵活地应对主机220所要求的处理性能。如果主机220要求高速的安全处理,则把频率F2设定得高,若要求低功耗,则或者把频率F2设定得低,或者适度地使时钟停止。此外,CPU121不仅可以自由地设定频率F2,还可以自由地设定时钟的供给开始定时、供给停止定时。采用使这些随机地变化的办法,就可以使被称之为对IC卡芯片150的定时解析、功率差解析、故障利用解析的攻击法变得困难起来。定时解析,由于假定为攻击者可以正确地测定1次加密处理的处理时间,作为其对策作成为使得攻击者不能正确地测定处理时间就是有效的。归因于用本发明使得定时解析变成为困难的理由在于:主机220不可能正确地测量IC卡芯片150正在进行处理的时间的长度。作为功率差解析的对策,有效的是不能从外部检测与处理的执行定时或顺序有关的信息。归因于用本发明而使得功率差解析变成为困难的理由在于:对于主机220来说发送IC卡指令的时刻、所发送的IC卡指令的内容、所发送的IC卡指令的顺序(在把多个IC卡指令组合起来执行安全处理的情况)的检测变得困难起来。作为故障利用解析的对策,有效的方法是:把时钟或电压或温度等的动作环境检测电路装载到IC卡上,如果检测到异常,则使处理停止或使之变成为不能使用。归因于用本发明而使故障利用解析变得困难的理由在于:CLK2控制电路127不向IC卡芯片150供给异常的驱动时钟,就会防止主机220使IC卡芯片150产生运算错误。
CPU121既可以根据安全处理的内容或结果变更向IC卡芯片150供给的时钟的频率F2、供给开始定时、供给停止定时的设定值,也可以以来自主机220的存储卡指令的接收为契机进行变更。此外,CPU121也可以把这些设定值写入到闪速存储器芯片130内,在需要时从闪速存储器芯片130内读出并使用这些设定值。这些设定值在图21中被表示成CLK2设定信息2113。借助于此,即便是MMC110已非活性化,也可以保持这些设定值,可以节省每当MMC110进行活性化时都要重新进行设定的劳力和时间。
图14简单地示出了在从主机220向MMC110发送了安全成处理要求写入指令后,到用IC卡芯片150执行安全处理为止的过程(图7的步骤710到712)中,MMC110和IC卡芯片150的外部端子的信号波形、由CPU121进行的对闪速存储器芯片130的存取。在图14中,时间的方向采取从左向右。最上边的行是对闪速存储器芯片130进行存取的存取内容。从上边数第2行到下边的行示出了在VCC1端子144、CMD端子142、CLK1端子145、DAT端子147、VCC2端子151、CLK2端子153、I/O端子157处观察的信号。此外,横向方向的虚线分别表示各信号的标准(L电平)。参看图14,说明从主机220向MMC110发送了安全处理要求写入指令后到用IC卡芯片150执行安全处理为止的过程。首先,主机220向CMD端子142发送安全处理要求写入指令(1401)。其次,主机220从CMD端子142接收安全处理要求写入指令的应答(1402)。该应答是MMC110已接收到指令传达给主机220的应答,不是安全处理的结果。其次,主机220向DAT端子147发送安全处理要求(1403)。所谓安全处理要求,就是含有应进行安全处理的内容或数据的主数据。其次,MMC110把DAT端子147置位成L电平(1404)。MMC110借助于此通知主机220处于忙状态。其次,CPU121向闪速存储器芯片130写入从主机220接收到的安全处理要求的指令(1405)。采用向闪速存储器芯片130写入安全处理要求的办法,在CPU121用IC卡指令形式记述安全处理要求的处理(图7的步骤711)中,就可以节约CPU121内部的工作存储区的功耗。这在安全处理要求的数据尺寸大的时候是有效的。另外,已写入到闪速存储器芯片130内的安全处理要求,在图21中,被存放在安全处理缓冲区2114内。此外,写入指令发送1405并不是必须的操作。写入处理期间1406表示闪速存储器芯片130正在执行安全处理要求的写入处理的期间。安全处理1407表示IC卡芯片150的执行安全处理的信号波形。该信号波形依赖于图13的流程图的迁移过程。安全处理1407可以与写入处理期间1406重叠。一般地说,闪速存储器芯片130的写入处理期间1406由于是毫秒的数量级,故与安全处理1407重叠,对于缩短安全处理的全体处理时间是有效的。读出/写入1408,示出的是在安全处理1407的执行中,从闪速存储器芯片130读出安全处理要求,或者把从IC卡芯片150所输出的计算结果写入到闪速存储器芯片130内的存取。借助于该存取,就可以节约CPU121内部的工作存储器的功耗。这在安全处理或安全处理结果的数据尺寸大时是有效的。读出/写入1408不是必须的。安全处理1407结束后,MMC110就把DAT端子147置位成H电平(1409)。借助于此,MMC110向主机220表明安全处理已经结束。
图15示出了图14中的安全处理1407的信号波形的一个例子。在图15中,时间的方向采取从左向右。从上边数第2行到下边的行示出了在VCC2端子151、RST端子152、CLK2端子153、I/O端子157处观察的信号。此外,横向方向的虚线表示各信号的基准(L电平)。1501表示图3所示的冷复位的信号波形,1504表示图4所示的热复位的信号波形,1502和1505示出了图11(或图12)所示的环境设定的信号波形,1503和1506和1507示出了图5所示的IC卡指令处理的信号波形,1508示出了图6所示的非活性化的信号波形。在IC卡芯片150的外部端子中,可以观察图15所示的信号波形的,是图13的流程图按照1301、1302、1303、1306、1307、1308、1309、1310、1311、1304、1305、1306、1307、1308、1309、1310、1311、1304、1306、1308、1309、1310、1311、1314、1315、1316的顺序进行转移的时候。参看图15,说明在图14的安全处理1407的执行中的CPU121进行的对闪速存储器芯片130的存取(读出/写入1408)。在该存取中要使用图21中的安全处理缓冲区2114。读出1509、1511、1512分别是从闪速存储器芯片130中读出在安全处理1503、1506、1507中为了构筑向IC卡芯片150发送的IC卡指令所必须的数据的存取。写入1510是向闪速存储器芯片130写入在安全处理1503中IC卡芯片150所输出的计算结果的存取。写入1513是把在安全处理1506和1507中IC卡芯片150所输出计算结果集中地向闪速存储器芯片130内写入的存取。读出1509、1511、1512分别可与安全处理1503、1506、1507之前的对IC卡芯片150的存取重叠。写入1510、1513分别可与安全处理1503、1507之后的对IC卡芯片150的存取重叠。这些重叠对于安全处理的全体处理时间的缩短是有效的。此外,在闪速存储器芯片130的写入单位大的情况下,如写入1513那样,可以把多个计算结果集中起来进行写入。这具有削减对闪速存储器芯片130的写入次数,推迟闪速存储器芯片130劣化的效果。另外,在写入1510、1513中要向闪速存储器芯片130写入的内容,并不限定于IC卡芯片150所输出的计算结果自身,也可以是在图7的步骤712中要返送往主机220的安全处理结果或者其一部分。在该情况下,结果变成为图7的步骤714或其一部分,可以在步骤712中执行。
图16简单地示出了在主机220向MMC110发送了安全处理结果读出指令后,到MMC110输出安全处理结果为止的过程(图7的713到715)中,MMC110的外部端子的信号波形、由CPU121进行的对闪速存储器芯片130的存取。在图16中,时间的方向采取从左向右。最上边的行是对闪速存储器芯片130的存取内容。从上边数第2行到下边的行示出了在VCC1端子144、CMD端子142、CLK1端子145和DAT端子147处观察的信号。此外,横向方向的虚线表示各信号的基准(L电平)。参看图16,说明从主机220向MMC110发送了安全处理结果读出指令后到MMC110输出安全处理结果为止的过程。首先,主机220向CMD端子142发送安全处理结果读出指令(1601)。其次,主机220从CMD端子142接收安全处理结果读出指令的应答(1602)。应答是向主机220传达MMC110已接收到指令的信息,不是安全处理结果。其次,MMC110把DAT端子147置位成L电平(1603)。MMC110借助于此向主机220表明是忙状态。其次,CPU121从闪速存储器芯片130的安全处理缓冲区(图21的2114)中,读出IC卡芯片150输出的计算结果(1604)。CPU121以之为基础构筑安全处理结果,MMC110向DAT端子147输出安全处理结果(1605)。另外,图7的步骤714或其一部分,在步骤712中正在执行的情况下,在步骤1604中,就从闪速存储器芯片130的安全处理缓冲区(图21的2114)中,读出安全处理结果或其一部分。另外,在不利用闪速存储器芯片130的安全处理缓冲区(图21的2114)来构筑安全处理结果的情况下,就不再需要步骤1604。
图27示出了在图7的步骤710中向MMC110发送的安全处理要求数据和在步骤715中主机220接受的安全处理结果数据中的每一者的格式的一个例子。该格式,理想的是适用于所要求的安全处理的内容可以用一个一个的IC卡指令表现,安全处理的结果可以用一个一个的应答表现的情况。要发送往IC卡芯片150的IC卡指令,和要从IC卡芯片150接收的IC卡应答都要遵从ISO/IEC7816-4规格。根据本规格,IC卡指令的构成4个字节的开头部分(分类字节CLA、指令字节INS、参数字节P1和P2)是必须的,根据需要后边跟着的是输入数据长度指示字节Lc、输入数据DataIn、输出数据长度指示字节Le。此外,IC卡应答的构成,2个字节的状态SW1和SW2是必须的,根据需要在其前边要放置输出数据DataOut。本规格中的安全处理要求的数据2710,在IC卡指令2702之前加有规格识别符FID2703和IC卡指令长度Lca 2704,此外,在IC卡指令2702之后也填入了虚设数据2705。FID2703包括规格的识别序号或规格的属性数据。Lca2704的值是IC卡指令1702的各个构成要素的长度的合计值。另一方面。安全处理结果的数据2711在IC卡应答2712之前加有规格识别符FID 2713和IC卡应答长度Lra 2714,此外,在IC卡应答2712之后,填入了虚设数据2715。FID2713包括规格的识别序号或规格的属性数据。Lra2714的值是IC卡应答2712的各个构成要素的合计值。另外,在该图中,示出的是在IC卡指令中含有Lc、DataIn、Le,在IC卡应答中含有DataOut的情况的格式例。在Multi Media Card规格中,成为标准的是以规定长度的块单位处理要进行读出/写入存取的数据。因此,安全处理要求的数据2701或安全处理结果的数据2711的尺寸,理想的也是与以MultiMedia Card规格为依据的块尺寸一致。虚设数据2705、2715可应用于使安全处理要求数据2701或安全处理结果数据2711的尺寸与块尺寸一致。作为块尺寸所采用的值,理想的是在逻辑文件系统中一般的小型存储卡所采用的FAT方式中的扇区尺寸(512字节)。要填入的虚设数2705、2715既可以全部为0,也可以是随机数,还可以是CPU121或主机220用来检测或修正数据误差的检查和。Lca2704的值用于CPU121从安全处理要求的数据2701中除去虚设数据2705,Lra2714的值用于主机220从安全处理结果的数据2711中除去虚设数据2715。
MMC110的制造者或管理者,必须在向安全系统的用户提供MMC110之前或在该用户所有的MMC110中发生了问题的时候,向内置于MMC110内的IC卡芯片150写入各种各样的初始数据,或者进行IC卡芯片150的测试。为了提高由MMC110的制造者或管理者进行的这些操作的便利性,MMC110具有把IC卡芯片150的外部端子分配给MMC110的外部端子140的接口功能。借助于此,就可以从MMC外部端子140直接接收图3到图6所示那样的对IC卡芯片150的存取信号,为了使这样的MMC110的动作模式与以MultiMedia Card规格为依据的动作模式有所区别,以下,叫做接口直通模式。
下面对接口直通模式详细地进行说明。图17示出了把IC卡芯片150的外部端子分配给MMC的外部端子140时的对应关系的一个例子。在本例中,把RST端子152分配给CS端子141,把GND端子155分配给GND1端子143、146,把VCC2端子151分配给VCC1端子144,把CLK2端子153分配给CLK1端子145,把I/O端子157分配给DAT端子147。这时,CS端子141和CLK1端子145起着输入端子的作用,DAT端子147则起着输出端子的作用。
MMC110当接收到特定的存储卡指令时,动作模式就可以向接口直通模式转移,或从接口直通模式返回到以Multi Media Card规格为依据的动作模式。以下,把使动作模式向接口直通模式转移的存储卡指令叫做直通化指令,把使动作模式从接口直通模式返回到通常状态的存储卡指令叫做返回指令。参看图1,MMCI/F控制电路123已与VCC2控制电路126、CLK2控制电路127、IC卡I/F控制电路128连接起来,当MMC110从主机220那里接收到直通化指令时,就根据CPU121的指示进行图17所示的端子分配。当MMC110从主机220那里接收到返回指令时,就根据CPU121的指示解除图17所示的端子分配,MMC100就返回到以Multi Media Card规格为依据的动作模式。
在接口直通模式中,由于主机220可以直接存取IC卡芯片150,故从安全的观点看,能够利用接口直通模式的,必须仅仅是所限定的人。于是直通化指令的发送,就需要一般的用户不可能知道的口令的发送。若不能输入正确的口令则不能利用接口直通模式。
图18示出了主机220使MMC110的动作模式从以Multi MediaCard规格为依据的动作模式向接口直通模式转移,对IC卡芯片150直接存取,然后,使MMC110的动作模式再次返回以Multi MediaCard规格为依据的动作模式为止的处理的流程。主机220开始进行处理(1801),首先,向MMC110发送直通化指令(1802)。MMC110检查用直通化指令发送的口令是否正确(1803)。如果正确,则转移到步骤1804,若不正确,则结束处理(1810)。在步骤1804中,CPU121使IC卡芯片150进行冷复位。然后,进行图17所示的端子分配,使接口直通化。从该时刻开始,主机220就将对IC卡芯片150直接进行存取(1806)。主机220结束对IC卡芯片50的直接存取,使MMC110的动作模式再次返回以Multi Media Card规格为依据的动作模式时,要向MMC110发送返回指令(1807)。这样一来,CPU121就解除图17所示的端子分配,返回到以Multi Media Card规格为依据的动作模式(1808)。到此,结束处理(1810)。
图19简单地示出了在图18的步骤1801到1806的过程中,MMC110和IC卡芯片150的外部端子的信号波形。在图19中,时间的方向采取从左向右。从上边的行朝向下边的行地示出了在VCC1端子144、CMD端子142、CLK1端子145、DAT端子147、VCC2端子151、RST端子152、CLK2端子153、I/O端子157处观察的信号。此外横向方向的虚线表示各自的信号的基准(L电平)。1905表示图3的冷复位的信号波形。模式转移时刻1906表示动作模式转移到接口直通模式的时刻。
参看图19,说明主机220使MMC110的动作模式从以MultiMedia Card规格为依据的动作模式向接口直通模式转移,对IC卡芯片150直接存取的过程。另外,已向MMC110的VCC2端子144供给了3V(VCC2端子151的标准电压)。当主机220向CMD端子142输入了直通化指令后(1901),就可以从CMD端子142输出直通化指令的应答(1902)。该应答把MMC110已接收到指令的信息传达给主机220。其次,主机220向DAT端子147输入口令(1903)。在口令输入后,MMC110就向DAT端子147输出L电平(1904),向主机220表明是忙状态。在忙状态期间内,CPU121使IC卡芯片150进行冷复位(1905)。然后,在模式转移时刻1906中,使动作模式转移为接口直通模式。这时,DAT端子将从L电平变成为高阻状态。借助于此,就可以得知忙状态的解除。例如,当向CLK1端子145供给时钟后(1907)就可以向CLK2端子153供给该时钟(1908)。此外,当向DAT端子147供给IC卡指令后(1909),就可以向I/O端子157发送IC卡指令(1910)。
图20简单地示出了在图18的1807到1810过程中,MMC110和IC卡芯片150的外部端子的信号波形。在图20中,时间的方式采取从左向右。从上边的行到下边的行示出了在VCC1端子144、CMD端子142、CLK1端子145、DAT端子147、VCC2端子151、RST端子152、CLK2端子153、I/O端子157处观察的信号。此外,横向方向的虚线表示各信号的基准(L电平)。模式返回时刻2003表示动作模式从接口直通模式返回到以Multi Media Card规格为依据的动作模式的时刻。2004表示图6的非活性化的信号波形。
参看图20,说明主机220使动作模式从接口直通模式返回到以Multi Media Card规格为依据的动作模式的过程。另外,  已向MMC110的VCC1端子144供给了3V(VCC2端子151的标准电压)。当主机220向CMD端子142输入了返回指令后(2001),就从CMD端子142输出返回指令的应答(2002)。该应答,用来向主机220传达MMC110已接收到指令的信息。然后,在模式返回时刻2003中,MMC110向DAT端子147输出L电平表示是忙状态。与此同时,使动作模式返回到以Multi Media Card规格为依据的动作模式。在忙状态期间内,CPU121,使IC卡芯片150非活性化(2004)。然后,MMC110使DAT端子147变成为高阻状态(2005),向主机220表明返回指令的处理的结束。以后,主机220就不能对IC卡芯片150直接存取。在主机220边向CLK1端子145供给时钟,边向CND端子142发送不论什么样的存储卡指令的情况下,该时钟信号就不再向IC卡芯片150传送(2006)。在2001和2002中主机220供往CLK2端子145的时钟信号,虽然也可以向IC卡芯片150的CLK2端子传送,但是由于DAT端子147是高阻状态,故IC卡芯片150不会错误地识别为IC卡指令。
在图21中,向安全处理状态区2116内存放表示由IC卡芯片150进行的安全处理的最新情况。CPU121,可以在安全处理的执行中更新该信息。例如,在安全处理的途中停止了向MMC110的电源供给的情况下,在电源供给的重新供给时CPU121若读出该信息进行参照,则可从中断安全处理的阶段重新供给。
倘采用本发明的实施形态,由于不从存储卡外部直接供给IC芯片的驱动时钟,故不可能正确地测量IC芯片的处理时间,此外,也难以检测处理的执行定时或顺序。此外,不能供给异常的驱动时钟,故难以使之产生运算错误。因此,将会提高对定时解析、功率差解析、故障利用解析攻击法的安全性。
倘采用本发明的实施形态,则可以从存储卡外部自由地设定IC芯片的控制方式。例如,若要求高速处理,则可以设定使IC芯片的驱动时钟的频率增高的控制方式,若要求低功耗,则可以设定使IC芯片的驱动时钟的频率降低,或者适度地使IC芯片的驱动时钟停止的控制方式。因此,可以实现灵活地应对安全系统所要求的处理性能的安全处理。
倘采用本发明,则可以使闪速存储器保持由IC芯片进行的安全处理所必须的数据,或用来管理IC芯片内的信息。因此,可以提高安全处理的便利性。
倘采用本发明的实施形态,则MMC的制造者和管理者可以直接对MMC内部的IC芯片进行存取。因此,MMC内部的IC芯片的初始化或维护就可以用与现有的IC卡同样的方法实现。
倘采用本发明的实施形态,在要给已具备闪速存储器芯片的MMC追加安全功能的情况下,由于要追加装载的是已预先接受了安全评价机关的认证的IC芯片,故不再需要由安全评价机关进行的MMC的认证,因而MMC的开发期间或制造期间缩短。

Claims (19)

1.一种存储卡,具备可存储数据的闪速存储器芯片和用于控制上述数据向上述闪速存储器芯片进行读写的控制器,
上述存储卡具备由认证机关预先认证过的IC芯片,
上述控制器可对上述IC芯片进行控制。
2.根据权利要求1所述的存储卡,上述IC芯片通过上述控制器从可连接于该存储卡的外部主机接收指令。
3.一种用来存储数据的存储装置,具备:可存储上述数据的存储器;可存储上述数据而且可执行上述数据的安全处理的处理装置;根据来自外部主机的指令控制上述存储器和上述处理装置的控制器。
4.根据权利要求3所述的存储装置,在来自上述主机的指令中含有与上述数据的安全处理有关的信息时,上述控制器选择控制上述处理装置。
5.根据权利要求3所述的存储装置,上述数据的安全处理包括使上述数据加密化或解密化的处理。
6.根据权利要求3所述的存储装置,上述控制器从上述主机接收上述存储器可以解释的第1指令,按照预定规则把上述第1指令变换成上述处理装置可以解释的第2指令,并把上述第2指令发送给上述处理装置。
7.根据权利要求3所述的存储装置,在上述控制器从上述主机接收到向上述处理装置写入上述数据的写入要求时,上述存储器被用做向上述处理装置写入上述数据的缓冲器。
8.根据权利要求3所述的存储装置,上述控制器根据上述主机要求写入的数据的尺寸,决定究竟是绕过存储器向上述处理装置发送上述数据还是先存储在上述存储器内之后再向上述处理装置发送上述数据。
9.根据权利要求8所述的存储装置,在上述主机要求写入的数据的尺寸大于等于上述处理装置可以接收的允许数据尺寸的情况下,上述控制器在暂时将上述数据存放在上述存储器内后,再向上述处理装置发送上述数据。
10.根据权利要求8所述的存储装置,在上述主机要求写入的数据的尺寸小于等于上述处理装置可以接收的允许数据尺寸的情况下,上述控制器绕过上述存储器向上述处理装置发送上述数据。
11.根据权利要求3所述的存储装置,上述存储器具备:
可由上述主机进行存取的第1存储区;
来自上述主机的存取受到限制的第2区,上述第二区根据来自上述控制器和上述处理装置中的至少一个的要求,存储可被上述处理装置利用的数据。
12.根据权利要求11所述的存储装置,被上述处理装置利用的数据包括用来控制该处理装置的参数、用于对该处理装置进行环境设定的信息、设定用来控制该处理装置的时钟的信息和用于该处理装置执行安全处理的状态中的至少一种数据。
13.根据权利要求3所述的存储装置,上述控制器产生用来驱动上述处理装置的驱动时钟。
14.根据权利要求13所述的存储装置,上述控制器产生用来驱动上述处理装置的电力。
15.根据权利要求14所述的存储装置,在停止上述处理装置的情况下,上述控制器维持向上述处理装置供给上述电力同时停止向上述处理装置供给上述驱动时钟。
16.根据权利要求13所述的存储装置,与来自上述主机的处理要求是低速时的上述驱动时钟的频率相比,上述控制器使来自上述主机的处理要求是高速时的上述驱动时钟的频率更高。
17.一种存储卡,具备可存储来自外部主机的数据的闪速存储器芯片、控制向上述闪速存储器芯片进行上述数据读写的控制器和用来把上述控制器和上述主机连接起来的外部端子,
上述存储卡具有处理来自上述主机的数据并存储该数据的IC芯片,
上述IC芯片的接地端子被连接到上述外部端子上,
上述IC芯片的电源输入端子、复位输入端子、时钟输入端子和数据输入输出端子被连接到上述控制器上。
18.根据权利要求17所述的存储卡,
上述闪速存储器芯片的电源端子和接地端子被连接到上述外部端子上,
上述闪速存储器芯片的数据输入输出端子、准备就绪/忙闲端子、片选端子、输出允许端子、写入允许端子、时钟端子和复位端子被连接到上述控制器上。
19.一种存储装置,具备可存储来自外部主机的数据的存储器和根据来自上述主机的要求控制上述存储器存取的控制器,
上述存储装置具备处理来自上述主机的数据并存储该数据的处理装置,
在对上述处理装置停止电源供给时,上述控制器指示对上述处理装置开始供给电源,然后,指示对上述处理装置开始供给用来驱动上述处理装置的驱动时钟,然后,使上述处理装置的数据输入输出端子变成为上拉状态,然后,使供往上述处理装置的复位信号变成为高电平,
在已向上述处理装置供给电源的情况下,上述控制器停止向上述处理装置供给上述驱动时钟,使上述复位信号变成为低电平,使上述数据输入输出端子变成为上拉状态,使上述复位信号变成为高电平。
CNB028091647A 2001-06-04 2002-05-29 存储卡 Expired - Fee Related CN1299234C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP167617/2001 2001-06-04
JP2001167617 2001-06-04

Publications (2)

Publication Number Publication Date
CN1505802A true CN1505802A (zh) 2004-06-16
CN1299234C CN1299234C (zh) 2007-02-07

Family

ID=19009978

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028091647A Expired - Fee Related CN1299234C (zh) 2001-06-04 2002-05-29 存储卡

Country Status (9)

Country Link
US (3) US7185145B2 (zh)
EP (1) EP1396815B1 (zh)
JP (1) JP4222509B2 (zh)
KR (1) KR100555003B1 (zh)
CN (1) CN1299234C (zh)
AT (1) ATE488815T1 (zh)
DE (1) DE60238319D1 (zh)
TW (1) TWI310900B (zh)
WO (1) WO2002099742A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1834997B (zh) * 2005-02-28 2012-01-18 瑞萨电子株式会社 一种用于存储卡的适配器和一种存储卡
CN101315796B (zh) * 2007-05-30 2012-09-05 日立环球储存科技荷兰有限公司 内容数据管理系统以及方法

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3588597B2 (ja) * 2001-06-15 2004-11-10 シャープ株式会社 通信プロトコルに基づく受信装置
JPWO2003015169A1 (ja) * 2001-08-07 2004-12-02 株式会社ルネサステクノロジ 半導体装置およびicカード
JP3881942B2 (ja) 2002-09-04 2007-02-14 松下電器産業株式会社 暗号化部を有する半導体装置
EP1593098B2 (en) * 2003-01-31 2010-09-15 Panasonic Corporation Semiconductor memory card, and program for controlling the same
JP4322021B2 (ja) * 2003-02-06 2009-08-26 株式会社ルネサステクノロジ メモリカード
JP4624732B2 (ja) * 2003-07-16 2011-02-02 パナソニック株式会社 アクセス方法
JP2005078161A (ja) * 2003-08-28 2005-03-24 Canon Inc 記録装置
JP4412947B2 (ja) 2003-09-08 2010-02-10 株式会社ルネサステクノロジ メモリカード
KR100643278B1 (ko) * 2003-10-22 2006-11-10 삼성전자주식회사 휴대용 저장 장치의 디지털 저작권을 관리하는 방법 및 장치
JP2005182525A (ja) * 2003-12-19 2005-07-07 Fujitsu Ltd 記憶装置
JP3918827B2 (ja) * 2004-01-21 2007-05-23 株式会社日立製作所 セキュアリモートアクセスシステム
WO2005081181A1 (ja) 2004-02-20 2005-09-01 Renesas Technology Corp. Icカードの製造方法およびicカード
WO2005086000A2 (en) * 2004-03-04 2005-09-15 Axalto Sa A secure sharing of resources between applications in independent execution environments in a retrievable token (e.g smart card)
US20050246803A1 (en) * 2004-04-30 2005-11-03 Spencer Andrew M Peripheral device for processing data from a computing device
JP4582619B2 (ja) * 2004-05-06 2010-11-17 大日本印刷株式会社 暗号化もしくは復号化処理用のicカードならびにこれを用いた暗号通信システムおよび暗号通信方法
JP4505265B2 (ja) * 2004-06-09 2010-07-21 シスメックス株式会社 試料分析装置および試料分析装置に用いる外部記憶媒体
US7296143B2 (en) * 2004-06-22 2007-11-13 Lenovo (Singapore) Pte. Ltd. Method and system for loading processor boot code from serial flash memory
US7890769B2 (en) * 2004-08-04 2011-02-15 Broadcom Corporation System and method for secure code downloading
JP4817836B2 (ja) 2004-12-27 2011-11-16 株式会社東芝 カードおよびホスト機器
US20060222170A1 (en) * 2005-03-31 2006-10-05 Payzant Nick L External system to provide an electronic device with access to memory external to the electronic device
US8511558B2 (en) * 2005-04-12 2013-08-20 Sandisk Il Ltd. Smartcard power management
US8195945B2 (en) * 2005-12-01 2012-06-05 Sony Mobile Communications Ab Secure digital certificate storing scheme for flash memory and electronic apparatus
JP2007183776A (ja) * 2006-01-06 2007-07-19 Renesas Technology Corp 半導体装置
WO2007082900A1 (fr) * 2006-01-19 2007-07-26 Gemplus Dispositif electronique portable apte a fournir un contenu dynamique
JPWO2007141999A1 (ja) * 2006-06-02 2009-10-22 株式会社ルネサステクノロジ 半導体装置
KR100845525B1 (ko) * 2006-08-07 2008-07-10 삼성전자주식회사 메모리 카드 시스템, 그것의 데이터 전송 방법, 그리고반도체 메모리 장치
KR100764444B1 (ko) * 2006-08-14 2007-10-05 (주) 엘지텔레콤 이동통신단말기에 장착되는 전자카드 장치 및 그 구동방법, 그리고 그 전자 카드가 장착된 이동통신단말기
JP4926636B2 (ja) 2006-09-29 2012-05-09 株式会社日立製作所 情報処理システムおよび端末
US8356361B2 (en) * 2006-11-07 2013-01-15 Spansion Llc Secure co-processing memory controller integrated into an embedded memory subsystem
KR100782113B1 (ko) * 2006-11-13 2007-12-05 삼성전자주식회사 메모리 카드 시스템 및 그것의 호스트 식별 정보 전송 방법
KR20080044502A (ko) * 2006-11-16 2008-05-21 삼성전자주식회사 메모리 카드 시스템 및 그것의 패스워드 전송 방법
DE102006054025A1 (de) * 2006-11-16 2008-05-21 Giesecke & Devrient Gmbh Datenspeichervorrichtung mit Zusatzfunktion
JP2008129744A (ja) * 2006-11-20 2008-06-05 Hitachi Ltd 外部記憶装置
US7971061B2 (en) * 2006-12-11 2011-06-28 Pitney Bowes Inc. E-mail system and method having certified opt-in capabilities
US8261091B2 (en) * 2006-12-21 2012-09-04 Spansion Llc Solid-state memory-based generation and handling of security authentication tokens
JP4789819B2 (ja) * 2007-01-31 2011-10-12 株式会社日立製作所 アプリケーションとデータの管理方法、管理システム、それに用いられるシンクライアント端末、管理サーバ、および、リモート計算機
KR100841982B1 (ko) * 2007-02-08 2008-06-27 삼성전자주식회사 호스트 식별 정보를 저장하는 메모리 카드 및 그것의액세스 방법
US7726568B2 (en) * 2007-03-21 2010-06-01 Research In Motion Limited Smart card session optimization
JP2009053970A (ja) * 2007-08-28 2009-03-12 Toshiba Corp 半導体装置
US8271736B2 (en) * 2008-02-07 2012-09-18 International Business Machines Corporation Data block frequency map dependent caching
US9443068B2 (en) * 2008-02-20 2016-09-13 Micheal Bleahen System and method for preventing unauthorized access to information
JP5106219B2 (ja) * 2008-03-19 2012-12-26 株式会社東芝 メモリデバイス、ホストデバイス、メモリシステム、メモリデバイスの制御方法、ホストデバイスの制御方法、およびメモリシステムの制御方法
US20100013631A1 (en) * 2008-07-16 2010-01-21 Infineon Technologies Ag Alarm recognition
KR101555637B1 (ko) * 2009-03-27 2015-09-24 삼성전자주식회사 스마트 카드
KR20100133184A (ko) * 2009-06-11 2010-12-21 삼성전자주식회사 고체 상태 드라이브 장치
US8544089B2 (en) * 2009-08-17 2013-09-24 Fatskunk, Inc. Auditing a device
US8949989B2 (en) 2009-08-17 2015-02-03 Qualcomm Incorporated Auditing a device
KR20110019491A (ko) * 2009-08-20 2011-02-28 삼성전자주식회사 데이터 처리 방법 및 데이터 처리 시스템
CN101853417B (zh) * 2010-05-24 2013-12-25 飞天诚信科技股份有限公司 Cf接口信息安全设备的工作方法和系统
KR101936311B1 (ko) * 2010-12-03 2019-01-09 삼성전자주식회사 데이터 처리 방법
EP2463808A1 (en) * 2010-12-10 2012-06-13 Gemalto SA Smartcard providing an improved standby mode
JP5539296B2 (ja) 2011-11-29 2014-07-02 シャープ株式会社 電子機器システム及び記憶装置
WO2013099588A1 (ja) * 2011-12-28 2013-07-04 富士フイルム株式会社 レンズ交換式カメラ、カメラ本体、レンズユニット及びビジー信号制御方法
TW201340113A (zh) * 2012-03-29 2013-10-01 Innodisk Corp 嵌入式記憶體模組及其插設之主機板
US8910310B2 (en) * 2012-05-17 2014-12-09 Silicon Motion, Inc. Embedded flash memory card and electronic device using the same, and engineering board for embedded flash memory card
KR20140035771A (ko) * 2012-09-14 2014-03-24 삼성전자주식회사 임베디드 멀티미디어 카드, 상기 임베디드 멀티미디어 카드를 제어하는 호스트, 및 그 동작방법
JP6024435B2 (ja) * 2012-12-11 2016-11-16 大日本印刷株式会社 画像保護システム、撮影装置および再生装置
US9401802B2 (en) * 2013-07-31 2016-07-26 Fairchild Semiconductor Corporation Side channel power attack defense with pseudo random clock operation
US10468363B2 (en) 2015-08-10 2019-11-05 X-Celeprint Limited Chiplets with connection posts
DE102016007139A1 (de) * 2016-06-10 2017-12-14 Giesecke+Devrient Mobile Security Gmbh Speicherverwaltung eines Sicherheitsmoduls
US11064609B2 (en) 2016-08-04 2021-07-13 X Display Company Technology Limited Printable 3D electronic structure
JP6986835B2 (ja) * 2016-11-29 2021-12-22 大日本印刷株式会社 電子情報記憶装置、データ処理方法、及びデータ処理プログラム
US10880296B2 (en) 2017-03-30 2020-12-29 Kingston Digital Inc. Smart security storage
US11936645B2 (en) 2017-03-30 2024-03-19 Kingston Digital, Inc. Smart security storage system
KR102444234B1 (ko) 2018-01-03 2022-09-16 삼성전자주식회사 메모리 카드 및 전자 시스템
CN111404564B (zh) 2018-02-01 2021-09-14 华为技术有限公司 一种电子设备
JP7017185B2 (ja) * 2021-02-19 2022-02-08 大日本印刷株式会社 電子情報記憶装置、データ処理方法、及びデータ処理プログラム

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4798507A (en) * 1985-07-18 1989-01-17 California Industrial Products, Inc. Sheet metal U-nut
CH694306A5 (de) * 1988-04-11 2004-11-15 Syspatronic Ag Spa Chipkarte.
JPH03276337A (ja) * 1990-03-27 1991-12-06 Toshiba Corp マイクロコントローラ
FR2686170B1 (fr) * 1992-01-14 1996-09-06 Gemplus Card Int Carte a memoire de masse pour microordinateur.
US5375222A (en) * 1992-03-31 1994-12-20 Intel Corporation Flash memory card with a ready/busy mask register
DE69320900T3 (de) 1992-08-13 2007-04-26 Matsushita Electric Industrial Co., Ltd., Kadoma IC-Karte mit hierarchischer Dateienstruktur
JPH06131517A (ja) 1992-10-19 1994-05-13 Matsushita Electric Ind Co Ltd Icカード
JP3215237B2 (ja) * 1993-10-01 2001-10-02 富士通株式会社 記憶装置および記憶装置の書き込み/消去方法
JPH0855200A (ja) * 1994-08-11 1996-02-27 N T T Data Tsushin Kk Icカ−ド
JP2555548B2 (ja) 1994-10-21 1996-11-20 株式会社日立製作所 取引媒体による取引方式
JP3540414B2 (ja) * 1995-02-20 2004-07-07 株式会社東芝 Icカードリーダライタ
KR0160685B1 (ko) * 1995-03-31 1998-12-15 김광호 칩인 카드에 의한 사용방지 기능을 가진 퍼스널 컴퓨터의 카드 리드/라이트 콘트롤러
US5748912A (en) * 1995-06-13 1998-05-05 Advanced Micro Devices, Inc. User-removable central processing unit card for an electrical device
JPH0954710A (ja) 1995-08-10 1997-02-25 Dainippon Printing Co Ltd Icカード
JPH09244961A (ja) * 1996-03-08 1997-09-19 Mitsubishi Electric Corp フラッシュata−pcカード
DE19629856A1 (de) 1996-07-24 1998-01-29 Ibm Verfahren und System zum sicheren Übertragen und Speichern von schützbaren Informationen
JPH10124399A (ja) 1996-10-22 1998-05-15 Mitsubishi Electric Corp Icメモリカード
JP3822707B2 (ja) 1997-05-08 2006-09-20 株式会社ルネサステクノロジ Icカード
JPH1131066A (ja) 1997-07-10 1999-02-02 Nec Eng Ltd バッファ制御システム
JP3593460B2 (ja) * 1998-07-29 2004-11-24 富士通株式会社 メモリカード
US6434648B1 (en) * 1998-12-10 2002-08-13 Smart Modular Technologies, Inc. PCMCIA compatible memory card with serial communication interface
JP2001077805A (ja) 1999-04-07 2001-03-23 Sony Corp セキュリティ装置、メモリ装置、データ処理装置および方法
US6820203B1 (en) 1999-04-07 2004-11-16 Sony Corporation Security unit for use in memory card
JP3389186B2 (ja) * 1999-04-27 2003-03-24 松下電器産業株式会社 半導体メモリカード及び読み出し装置
JP4618467B2 (ja) * 2000-01-05 2011-01-26 ソニー株式会社 汎用コンピュータおよび汎用コンピュータにおける著作権管理方法
FR2806505A1 (fr) * 2000-03-15 2001-09-21 Schlumberger Systems & Service Procede de communication entre une carte a puce et une station hote

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1834997B (zh) * 2005-02-28 2012-01-18 瑞萨电子株式会社 一种用于存储卡的适配器和一种存储卡
CN101315796B (zh) * 2007-05-30 2012-09-05 日立环球储存科技荷兰有限公司 内容数据管理系统以及方法

Also Published As

Publication number Publication date
JPWO2002099742A1 (ja) 2004-09-24
EP1396815A4 (en) 2005-04-13
EP1396815B1 (en) 2010-11-17
JP4222509B2 (ja) 2009-02-12
US7350023B2 (en) 2008-03-25
CN1299234C (zh) 2007-02-07
WO2002099742A1 (fr) 2002-12-12
US7694067B2 (en) 2010-04-06
ATE488815T1 (de) 2010-12-15
TWI310900B (en) 2009-06-11
US20040177215A1 (en) 2004-09-09
DE60238319D1 (de) 2010-12-30
KR20030094372A (ko) 2003-12-11
US20090013125A1 (en) 2009-01-08
EP1396815A1 (en) 2004-03-10
US7185145B2 (en) 2007-02-27
KR100555003B1 (ko) 2006-02-24
US20070088906A1 (en) 2007-04-19

Similar Documents

Publication Publication Date Title
CN1299234C (zh) 存储卡
US20240037045A1 (en) Apparatuses and methods for securing an access protection scheme
CN101655775B (zh) 卡和主机设备
JP3865629B2 (ja) 記憶装置
JP2006139556A (ja) メモリカード及びそのカードコントローラ
US8078941B2 (en) Memory system, memory system controller, and a data processing method in a host apparatus
TWI472927B (zh) 資料串分派與傳送方法、記憶體控制器與記憶體儲存裝置
US8812756B2 (en) Method of dispatching and transmitting data streams, memory controller and storage apparatus
TWI754050B (zh) 微控制器、具有該微控制器的記憶系統及其操作方法
JP2003030613A (ja) 記憶装置及び記憶装置を備えたデータ処理装置
JP4185680B2 (ja) 記憶装置
US8595420B2 (en) Method for dispatching and transmitting data streams between host system and memory storage apparatus having non-volatile memory and smart card chip, memory controller, and memory storage apparatus
KR20210060867A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20070076072A (ko) 메모리 카드 시스템, 메모리 카드, 그리고 메모리 카드의응용프로그램 수행방법
US11550906B2 (en) Storage system with separated RPMB sub-systems and method of operating the same
CN102955747B (zh) 金钥传送方法、存储器控制器与存储器储存装置
CN1918580A (zh) 卡和主机设备
JP5481464B2 (ja) 通信媒体及び通信媒体処理装置
US20220137867A1 (en) Secure memory card and control method thereof
CN102880423B (zh) 数据串分派与传送方法、存储器控制器与存储器储存装置
CN110364191A (zh) 存储器装置和具有该存储器装置的存储器系统

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
ASS Succession or assignment of patent right

Owner name: NEC CORP.

Free format text: FORMER OWNER: RENESAS TECHNOLOGY CORP.

Effective date: 20110923

C41 Transfer of patent application or patent right or utility model
C56 Change in the name or address of the patentee

Owner name: RENESAS ELECTRONICS CORP.

Free format text: FORMER NAME: NEC CORP.

CP01 Change in the name or title of a patent holder

Address after: Kanagawa, Japan

Patentee after: Renesas Electronics Corp.

Address before: Kanagawa, Japan

Patentee before: NEC ELECTRONICS Corp.

TR01 Transfer of patent right

Effective date of registration: 20110923

Address after: Kanagawa, Japan

Patentee after: NEC ELECTRONICS Corp.

Address before: Tokyo, Japan

Patentee before: Renesas Technology Corp.

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Tokyo, Japan

Patentee after: Renesas Electronics Corp.

Address before: Kanagawa, Japan

Patentee before: Renesas Electronics Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070207

Termination date: 20210529

CF01 Termination of patent right due to non-payment of annual fee