专利名称:卡存储设备的制作方法
技术领域:
本发明涉及卡储存设备,具体提供了在有输入/输出设备(例如表面接触区)的韧性卡上的存储器。可以读/写此存储器并且它是非易失性的。
本发明技术背景在不同类型的交易(例如健康保险、电话、物质运输支付)和卫星电视或者付费电视的机顶盒等中,一般存在对于储存数据,特别是私人数据的需求。一种实现方法是数字化的方法。对于每天的私人使用,这样的数字数据储存应该是紧凑的,即大约与常规的信用卡一样大小,并且必须可以1)防潮一至少抵抗快速沉浸和/或高湿度级别;2)防尘一抵抗手提包,衣兜和钱包里遇到的尘粒并且不损失性能;3)防折断,例如当塞进钱包时;4)防紫外线;5)防电磁和一般家用设备和小磁铁产生的磁场并且不损失性能;6)可以低生产成本大批量生产;已知的储存数字数据的可移动设备有很多种类。无处不在的“软”磁盘可以提供1.44MB数据储存量。尽管相对结实,但软盘还是需要小心操作并且软盘对灰尘和弯曲很敏感。已经介绍了高储存容量的发展,例如容量超过100MB的ZIP驱动器。可移动硬盘(例如美国Syquest Corporation公司生产的)可以储存几百MB数据。磁盘和可移动硬盘都不是柔韧的。它们对物理损伤和灰尘很敏感并且不适合在衣兜、钱包或者女士手提包里携带以便日用。它们一般不随同终端(例如,用于金融的点销售POS终端)或者其他形式的数据传输设备使用,例如用于健康保险组织成员身份的确认。
而且,所谓的PCMCIA存储卡在一端包含一68针脚连接器,在两侧有电磁防护的金属层,它不是柔韧的并且大约5mm厚度。例如,从欧洲专利号592 276,美国专利号5,293,424,美国专利号5,671,367,美国专利号5,875,480,可以知道能储存许多MB数据的PCMCIA卡。PCMCIA卡提供了可以安装于手提电脑和计算机的高质量的连接器和金属屏蔽,并且它们是很可靠的。然而,它们的生产成本高并且不适合于日常应用中放置于衣兜、钱包或者女士手提包。
克服了光学CD-ROM的原先的只读状态后,许多公司提供了可再写的CD-ROM,例如美国惠普公司的RW 8100系列。可以对这个基本想法进行修改,包含放置CD-ROM类型数据记录媒介到柔性卡上,例如美国Drexler Technology Corporation生产的LaserCardTM。所有CD-ROM产品的不利之处在于这些数据会受划痕而破坏。这使得它们便于家庭储存数据,即储存音乐或者视频,但是它们的表面不足够稳固以应用于恶劣的日常使用。
也熟知有磁条的信用卡,但是其储存容量十分有限。数据也可以被磁体擦去,例如用于贴在身份证购卡上的磁体。也应用较长的磁条长度来成功的储存大量数据并且日常以放音乐的磁带的形式应用。然而,没有发现储存私人数据的好方法。
下一代银行卡包含了可通过表面触点读写的微处理器一有时叫做“智能卡”。这些设备有比磁条大的储存容量但是容量仍然有限。这些卡是柔韧的,密封防潮并且有不被灰尘阻挡的表面接触区。已知的表面接触区的一个不利点是静电可能产生高电势能并且这将导致放电时数据丢失。为了解决此问题,读卡机配备了静电放电保护,如美国专利5,892,216所述的。
综上所述,没有合适于日常应用的紧凑和可靠的有大储存容量的可以被经济的生产的存储器。
本发明的一个目标是提供适合于日常私人使用的数字储存设备。
本发明的另一个目标是提供有比智能卡容量更大的同时维持其柔韧性和强度的数字储存设备。
本发明的另一个目标是提供较好防护静电放电的表面接触存储卡。
发明概述本发明的一个方面是集成元件到单薄柔韧的具有输入/输出装置的存储卡里,这样元件可以作为提供了环境密封和安全存取几MB数字数据的紧凑单元协同工作。本发明包含卡存储器设备,其包含一个微处理器,多个用于储存数字数据的存储单元,嵌入到卡存储器设备的存储单元和用于选择一个存储单元并且用于传递地址信息和数据到选择的存储单元和/或传递来自选择的存储单元的数据的选择设备,微处理器和选择设备被嵌入到卡储存设备。卡储存设备有一输入/输出设备(I/O设备)用于接收和发送数据。不希望I/O设备的形式对本发明是一个限制。例如,I/O设备可以包含表面接触区以滑动传导进入读卡机。另一方面,卡可以是非接触的并且输入/输出是通过电磁辐射(例如无线电频率或红外线传输)。对于无线电频率传输,输入设备一般将包含嵌入到卡里的天线。红外线输入设备一般将包含某种接收红外线并将其转化为电信号的光电单元以及发射设备(例如一个发光二极管LED)。可以从入射电磁辐射提供驱动卡上的电子元件所需的能量或者通过电池提供。微处理器的一串口与输入设备相连,即,与一个表面接触区相连。通过微处理器从卡存储器输入了串行数据或者读取串行数据。微处理器较佳地为保密的单片微处理器。微处理器的串行数据端口通过第一串行总线与选择设备的串行端口相连。为了选择存储单元,选择设备的并行端口通过并行地址总线与微处理器的并行端口相连。通过并行总线输入/输出存储器储存位置(bit)地址的并行部分。选择设备有多个串行端口,每个通过第二串行总线与各自的存储单元相连。并行地址部分确定了选择设备的一个输入/输出串口和其相关的串行总线和存储单元。一旦选择了串行总线,则微处理器通过第一和第二总线发送串行信息以确定所选择存储单元的数字数据储存位置。存储单元可以组织在储存模块里,每个储存模块包含多个存储单元。每个存储单元可以包含一个或者多个储存装置,例如储存芯片。
本发明还包含卡储存设备,其包含有接地接触区、电源接触区和数据输入/输出接触区的第一组表面接触区,可卡储存设备读取器里相应于第二组接触区的第一组,第一组接地接触安排为在此读取器与任何电源和/或数据接触区相接触前,将第二组任何接触区的接地。接地接触用作释放卡储存设备上或者读取器上的静电势能。较佳的,卡储存设备上的接地接触区包围数据接触区三侧,例如它可以是“U”形的。卡储存设备的电源接触区可以靠近“U”形的顶端。
本发明包含的使用上述卡储存设备以提供到个人计算机的安全存取。本发明包含安全的操作计算设备的方法,包含使用有微处理器的第一卡储存和与计算设备相连的读取器用于读取第一卡储存设备,此方法包含配置计算设备的操作系统的步骤这样除非卡储存设备插入读取器,此操作被限制;生成一个或者多个关于计算装置系统信息的代码;将生成的代码与第一卡储存设备里的其他代码相比较,其他代码显示了计算设备的经认证的系统数据;并且仅仅如果生成的和储存的其他代码相同,允许计算设备的进一步的无限制的操作。第一卡储存设备较佳的是一个根据本发明的卡储存设备。具体的,它适宜较薄,柔韧并且与外界密封。较佳的,此卡储存设备有一输入装置,其可以有根据本发明具体实施例的滑动接触。另一方面,此输入设备可以是无接触的,例如,无线电频率无线输入装置或者红外线输入设备。较佳的,系统数据包含对软件和/或安装在计算设备上的硬件的基址。此方法也较佳地包含验证计算设备的系统数据的验证步骤。较佳的,如果没有匹配的代码,将使用进一步的卡储存设备以提供验证给计算设备用于使用修订代码更新第一卡储存设备。较佳的,当认证被传输了有限次(例如一次)后,就禁止进一步使用第二卡储存设备。计算设备可以是个人电脑或者附在LAN或者WAN上的终端。
每个依赖的权利要求定义了分隔和单独的本发明具体实施例。现在将参考
本发明。
附图简述图1是表示根据本发明的卡储存设备的具体实施例的示意性电路图。
图2是卡上的图1中卡储存设备的可能的布局。
图3是根据本发明具体实施例的分发器电路的示意图。
图4A显示了根据本发明具体实施例的储存单元选择器的并行四位寻址方案。
图4B显示了根据本发明具体实施例的三字节串行寻址方案。
图5是根据本发明具体实施例的储存模块的示意图。
图6A到6E显示了本发明中可以使用的认证方案。图6A显示了在根据本发明的系统和存储卡之间的认证方案。图6B到6E显示了根据本发明具体实施例的用于安全安装软件的验证方案。
图7是本发明可以使用的读卡机和处理设备的示意图。
图8是适用于图1和图2中所示的本发明具体实施例的表面接触区的顶视图。
说明性具体实施例详细描述将参考某些具体实施例和某些示意图说明本发明,但本发明并不局限于其中而应该根据权利要求的范围。具体的,将参考8位字节方案说明卡储存设备但本发明并不局限于此。而且,将主要参考有接触区的卡储存设备说明本发明但本发明并不局限于此。例如,卡储存设备可以有输入设备,其可以接收电磁辐射例如无线电频率发射或者红外线发射。在卡接收电磁辐射的地方,卡设备有合适的接收器和发射器,例如一个嵌入天线或者红外线接收器和发射器(LED)。
图1显示了根据本发明具体实施例的数据储存设备20的示意性电路图。图2显示了卡上的卡储存设备20的可能布局。设备20较佳的是外界密封的,柔韧(塑料)卡,嵌入了微处理器2和多个存储单元5-12。卡储存设备20的尺度可以很小或者与其他韧性“智能卡”(例如电话卡或者信用卡,其有嵌入的微处理器)相等的,例如尺度为85mm×55mm×1mm(厚度)。卡储存设备20有一输入/输出设备,例如第一组表面接触区21-25,它们用于将其连接到合适的读卡机。读卡机可以是单机的读取器,或者可以包含于个人电脑,手提电脑,掌上电脑,与远程通信网络相连以与远端计算机通讯的终端,或者类似的。第一组接触区提供了电源输入(Vcc),串行数据输入/输出(SDA),接地电势输入(Vss),时钟输入(CLK)和微处理器复位(RST)连接。微处理器较佳的是单芯片安全微处理器,型号为美国SCENIX提供的SCENIX SX/18。包含在微处理器芯片上的较佳的是只读存储器,其用于储存应用程序和设备20的所有运行条件,随机读取存储器(RAM)和可选的非易失性读/写存储器,其至少一部分是用于储存电源供电时和初始化设备20所需数据的受保护存储器。
第一组的电源输入接触区(Vcc)与微处理器2的电源输入相连,相似的,第一组的接地电势输入(Vss),时钟输入(CLK)和微处理器复位(RST)的接触区与微处理器2的对等针脚相连。第一组的SDA接触区直接与微处理器2的串行数据输入针脚(SDA)相连。这样,从储存模块5-12读取的数据或者写进储存模块的所有数据都经过微处理器2。为了访问卡储存设备20,建立了通过读卡机到微处理器2的通讯会话,在认证手续(以下将描述)后,通过第一组SDA接触区打开了读卡机中的通讯渠道。不希望认证的方法是对本发明的一个限制。具体的,技术熟练人员已经知道,合适的认证方法可以包含使用公钥和/或私钥和/或特定的会话密钥。而且,本发明可以包含此要求在完成认证和验证前,卡储存设备20的所有者需要输入一个或者多个私人身份号码(PIN)。而且,本发明可以包含在卡被阻挡掉且进一步访问被拒绝之前输入PIN的次数限制。而且,本发明可以包含要求,额外的或者可替换的要求读卡机的操作员(不同于卡储存设备20的所有者)输入PIN,账户,服务号码或者系统号码(通过键盘直接输入或者间接的从读卡机存储器发送代码数字或数字到微处理器2),这样微处理器2可以验证此读卡机属于允许存访问储存设备20上数据的经认证的一组读卡机。
嵌入到卡储存设备20的是多个储存模块5-12,图5中很好的显示了其中之一。这些储存模块5-12可以包含易失性的,例如RAM,或者非易失性的只读的,例如ROM或者可读/可写非易失性存储单元16。储存单元16也可以是一次可编程存储单元。较佳的,储存模块5-12的存储单元16不需要刷新。储存模块5-12适宜为电子可擦除可编程只读存储器(EEPROM)模块。每个模块5-12由许多单独的存储单元16组成,每个存储单元16包含多个存储器17,例如储存芯片,例如一个模块5-12可以包含4个单元16,每个单元16具有八个EEPROM存储器17,每个储存32或者64Kb数字数据,例如美国Microchip提供的24FC256储存芯片或者德国西门子提供的24XA512芯片。因此,每个模块5-12的总储存容量可以是4×8×64=2048Kb并且卡储存设备20的总储存量为8×4×8×64Kb=16MB。通过改变每个储存模块5-12的储存容量或者通过改变它们的数量,卡储存设备20的储存容量可在2MB到16MB中间轻松选择。
为了提供电源(Vcc),接地(Vss),时钟信号(SCL)和写保护(WP)给每个储存模块5-12,提供了卡总线14。为了微处理器2从每个储存模块5-12寻址和读取和写入数据,提供了并行串行总线5-B...12-B,13,15的系统。根据本发明的寻址方案是新颖的混合并行/串行寻址方案。储存模块5-12中的储存位置的每个地址由串行地址部分和并行地址部分定义。每个存储模块5-12配有多个串行总线5-B1-4,6-B1-4,...12-B1-4,用于传输串行数据和地址的串行部分。每个储存模块5-12的每个存储单元16有其自己唯一的串行总线5-B1-4...12B1-4。为了选择要求的串行总线5-B1-4,...12-B1-4,至少提供了一个双向多路复用器-发送器3,4。此多路复用器-发送器3,4较佳的由一应用专用集成电路(ASIC)构成。图3显示了多路复用器-发送器3,4的输入和输出。从微处理器2的输入包含与串行总线13连接的串行数据连接(SDA)以从微处理器2接收数据和发送串行数据到微处理器2并且由此从卡储存设备20接收数据和发送串行数据到卡储存设备20,也接收和发送储存模块5-12的串行地址部分。所有通讯,即储存模块5-12的选择,模块5-12里EEPROM芯片17的选择和地址和串行数据的传输被由微处理器2放置在多路复用器-发送器3,4的INHIBIT连接上的合适信号禁止了。较佳的,多路复用器-发送器3,4的INHIBIT针脚连在一起,这样所有多路复用器-发送器3,4一起被禁止了。这与美国专利5,293,424里说明的电路的不同之处在于,在已知的电路里每个储存模块包含锁定电路并且对一个储存模块的禁止访问没有防止访问其他储存模块。它与美国专利5,671,367和美国专利5,875,480里说明的电路的不同之处在于,寻址总线可能被阻挡通往卡上的存储器但串行数据总线保持通向存储器。
可任选地,在禁止多路复用器-发送器3,4后,微处理器可以写一个标记到其受保护的非易失性存储器里的寄存器使得当微处理器2加电时,它读取其存储器里的标记状态,并且如果已经设置了标记,微处理器2禁止多路复用器-发送器3,4的操作,即,这样电源关闭和开启将不改变阻挡的通讯状态。需要有一特殊过程将卡储存设备20从禁止状态释放。
多路复用器-发送器3,4的并行针脚A,B,C,D从微处理器2连接到并行总线15。它们被提供给了根据本发明的寻址方案的并行部分。多路复用器3,4在FOLLOW针脚上的合适信号(逻辑的1或者0)防止了多送器3,4所选地址中的改变直到此信号改变为其他逻辑值。
每个多路复用器-发送器3,4有16个串行数据输出18,标为SDA0-3,四个为一个区。每个串行数据输出18通过其唯一的串行总线5-B1-4...12-B1-4传输到存储模块5-12的四个存储单元16中的一个。每个总线5-B1-4...12-B1-4与相应储存模块5-12各个针脚SDA0-SDA3和多路复用器/发送器3,4的各个针脚SDA0-SDA3相连选择哪个串行总线5-B1-4...12B1-4是根据来自微处理器2的在并行总线15上获得的储存卡地址的并行部分。图4A示意性的显示了储存卡地址的并行部分。四个位提供了16个不同的地址。例如,0000可以选择由0区,多路复用器/发送器3的SDA0针脚定义的存储单元16。此针脚与串行总线5-B1和储存模块5的针脚SDA3相连。1111可以选择由3区,多路复用器/发送器3的SDA3针脚定义的存储单元16,其与串行总线8-B4相连以连接存储单元3。由此,储存地址的并行部分确定了选择4×4=16个512Kb存储单元16中的那些。每个存储单元16最多包含8×64Kb EEPROM存储器17。
卡储存设备20的寻址方案的串行部分可以如图4B所示(3字节串行地址)。第一字节的首4位可以应用于定义任何合适的参数,例如制造者代码,例如1010表示一个EEPROM的串行端口的初始化。接下来的三位确定从一个512Kb的存储单元16里选择了哪八个64Kb的EEPROM存储器17。首字节的最后位确定是否实行读或者写。下两个字节(地址高和低字节)确定将读写特定存储器17的哪个64Kb储存位置。
图5示意性地显示了代表性的储存模块5。每个串行总线5-B1-4与四存储单元16的针脚SDA0-3中的一个相连。每个存储单元16包含至少一个存储器17。提供电源(Vcc和Vss)到存储器17的连接以及用于时钟输入(SCL)的连接被连接到卡总线14并由此和第一组接触区相连。储存模块5的写保护(WP)针脚与微处理器2的各个针脚相连。
卡储存设备20可以在许多不同模式下运行,其中的每种都是本发明的分别的具体实施例。首先,处理器2可以使用一种算法通过读卡机转换每个请求的存储器地址为上述的混合卡地址。例如微处理器2有储存于其ROM的驻留程序用于计算散列或者单向函数。此算法可以基于一个密钥,此密钥在生产时储存于ROM或者较佳地储存于微处理器2的受保护读/写存储器。每个卡储存设备使用的密钥是不同的,即使使用了相同的算法。当收到一个用于读或写的地址时,微处理器2操作输入地址并且使用散列函数或者单向函数从那里生成存储卡地址的四位并行部分和图4A和4B中显示的储存卡地址3字节串行部分。微处理器2接着使用加密的混合地址以读写数据。通过此方法,储存于任一储存模块5-12的数据数据被伪随机排序,这样使用外部探测分析卡20上的数据的企图无效率。而且,即使一个卡储存设备20的操作被分析,这对于其他卡怎么样运行没有任何暗示。首先,散列函数或者单向函数的一个性质是不可能从其结果得出函数。其次,散列函数或者单向函数的运行依赖于储存于微处理器2的受保护存储器的密钥,使得地址加密是每个卡储存设备20各不相同的。当储存模块5-12是RAM模块,即当电源关闭时数据丢失,当电源开时应用于生成加密地址的密钥随机改变,这样每个会话的加密地址不同。
可以随意的将第二种模式与第一模式合并。在第二模式里,微处理器2当收到写请求时分配储存模块5-12的一块地址。如果随后的写地址在同一块里,微处理器2再次选择那一块。如果随后的写地址不在同一块里,微处理器2产生第二块地址。微处理器2继续此过程直到分配了卡储存设备20的所有储存位置。通过此过程,卡储存设备20可以与有比卡储存设备20所提供的地址范围更大的一个计算机或者其他微处理器合作。通过产生块,计算机或者其他微处理器的很大差别的地址块可以被分配到卡储存设备20。为了跟踪块,即卡储存设备20的存储器映象,微处理器2可以记录块,它们的大小和地址对应于它们相应的受保护的非易失性读/写存储器里。
在操作的第三模式里,微处理器可以将一数据压缩应用程序储存于ROM或者读/写非易失性存储器里。写时可以调用此应用压缩数据,读时解压缩数据。包括用于与卡储存设备20通讯的读卡机的主机或者终端不需要知道压完全,由微处理器2的处理压缩算法。
相似的,在操作的第四模式里,微处理器2可包括用于在写数据前加密数据和在读数据后解密数据的算法。这增强了卡20上数据的安全性。不仅仅由第一模式操作的应用将数据伪随机地分配到储存模块5-12里并且此数据是加过密的。当初始化卡储存设备20时(例如在制造时)此密钥或者加密算法密钥可以储存于微处理器2的非易失性读写存储器里。卡储存设备20的微处理器芯片上的受保护的读写存储器可应用于暂时储存加密算法生产的中间结果。
为了进一步增强此储存卡设备20的保密性,当插入卡储存设备20到读卡机时,较佳地对微处理器2编程以实行认证过程。如上所述,不希望认证的类型将本质上影响本发明。
图6A是根据本发明具体实施例的可能的认证过程的示意性流程图。如图7所示,储存卡20放置于合适的读卡机31,读卡机31是处理设备30(例如个人电脑)的一部分。读卡机应用物理连接卡设备20上的一组接触区或者它可以是一个远端读取设备,例如那些使用电磁辐射进行通讯的设备。处理设备具有微处理器32。预先加载了软件程序到处理设备30和卡20上的微处理器2的存储器中。当通过Vss和Vcc接触区21,25,使用从读取器31提供的能量,微处理器有能量后,开始在卡设备20的微处理器2上实行认证程序。图6A中显示的认证方案允许对卡20和处理设备30和在此运行的软件的认证,但是本发明并不局限于此。例如,可以限制为仅对卡20验证。在步骤33,微处理器2要求使用者输入代码A,例如个人身份码(PIN)。使用者接着输入代码A。相似的,为了检查处理引擎是否验证过,在步骤34卡20可要求代码B。在步骤35,将A和B与预先储存在卡20上微处理器2的代码比较。如果代码A验证为正确的,卡20上的微处理器2生成了使用者接受的代码36,为此会话保存该代码36。如果代码B正确,微处理器2生成处理器接受的代码37,发送代码37到处理设备30。如果两个之一不正确,生产了一个不接受代码并且允许进一步尝试两次输入。如果处理引擎30的微处理器32a或微处理器2被阻挡(由于先前的冒用),停止所有活动。由处理引擎30在步骤39,以及微处理器在步骤38最终校验接收代码控制的结果。如果三次都没有正确输入代码A或者代码B,微处理器2和处理设备30中相应的一个分别输出阻挡代码A3,B3,并且停止所有活动。作为步骤38,39的一部分还检查了卡20和/或处理引擎30没有被冒用修改。为此,卡20和处理设备30的微处理器32请求进一步输入代码40,41。不需要使用者干预传送这些代码。代码40和41可以从运行在微处理器2上的软件程序的登记数字和硬件(例如硬盘)的参考数据生成。其他使用可以从微处理器2和处理引擎30获得的数据生成代码40,41以用于确认在微处理器2和处理引擎30上运行的程序改变的方法也在本发明的范围内。代码40,41大小可能很大。根据本发明,适宜将它们存在卡设备20的储存模块5-12的存储器里。卡20上的微处理器2则比较收到的代码40,41和储存的代码40,41。
如果最后检验显示所有代码正确,在步骤42和43分别允许访问卡20上的程序和处理器30上的程序。在此情况生成了最终完全接收的代码44,55。
图6B是使用卡20例示新的个人电脑30并在购买后确认其软件和/或硬件有效的流程示意图,其中处理设备30是图7中示意性显示的个人电脑。个人计算机30配置为使有根据本发明的卡设备20的使用者安全访问。为了保持安全,除非有效的卡20插入到读卡机31,个人计算机才能运行。卡20也检查在个人电脑上运行的软件是否授权。当使用者购买计算机,他/她配有一个保密卡设备48,设备48可以是根据本发明的卡储存设备20。卡48有加载到微处理器2的软件程序以实行本发明所述的验证和证实功能。使用者也配有一个或者多个“临时卡”47。临时卡47也可以是根据本发明的卡储存设备20。临时卡47的目的是允许以验证数据更新卡48。一旦完成了更新,卡47上的数据被销毁并且此卡不允许再使用,即永久的调用上述的INHIBIT函数。
在步骤46,启动个人电脑并且直到保密卡48插入读卡机31,操作系统一直挂起。卡48被通电并且在卡48的微处理器2自动开始运行验证程序。卡48向个人电脑30请求至少一个代码A0,B0,C0。由个人电脑30从其系统数据生成代码A0,B0,C0较合适。个人电脑30提供了个人电脑以及在个人电脑上运行的软件标识。例如,代码A0可能从个人电脑的BIOS里的数据生成,代码B0从硬盘编号生成,代码C0从运行在个人电脑上的软件的注册码生成,例如,操作系统可以是微软“视窗”图形用户界面。代码C0可以是所有其他代码A0,B0的串接。卡48询问它的读/写非易失性存储器,例如类似根据本发明的卡储存设备20的储存模块5-12,用于检索代码或者代码A0,B0,C0。在个人电脑30的第一例子中,在卡48上将不存在这些代码。卡48接着请求插入临时卡47到读卡机31。卡48接着离开读卡机31并且插入卡47。卡47提供授权给计算机30以一次性读取A0,B0,C0到卡48上。一旦计算机30接收到此授权,销毁卡47上所有数据并且将卡阻挡(例如使用上述的INHIBIT函数永久禁止),步骤49。卡48替代了卡47,接入读卡机31并且代码A0,B0,C0被写到卡48的读/写非易失性储存器上。现在以A0,B0,C0初始化了卡48。任何改变计算机30上运行的软件的尝试将改变一个或者多个代码A0,B0,C0并且当启动时卡48会产生出错消息。
图6显示了计算机30的下一次启动。在步骤51启动电脑30并且直到卡48插入读卡机31,操作系统一直挂起。卡48接着检查是否已经请求了一个或者多个储存于其非易失性存储器的代码A0,B0,C0。代码A0,B0,C0表示了计算设备30上的有效软件和/或硬件。当其初始化时,卡48已经将这些数据储存在模块5-12里。卡48接着请求从个人电脑30输入一个或者多个代码A0,B0,C0。如上述,从计算机30的系统信息生成了这些代码并且在步骤52它们被发送到卡48。在步骤53,卡48比较收到的和储存的代码A0,B0,C0并且如果它们正确,卡48给计算机30继续操作提供了必要的指令,步骤54。如果代码A0,B0,C0不匹配,计算机30在步骤55挂起。
为了防止使用未授权的卡48,需要修改上述方案,可以添加由计算机30和一个或者多个A0,B0,C0提供的随机数RAND。如果代码正确,卡48使用例如单向函数或者散列码的算法操作随机数。此操作的结果Sres被发送到个人电脑30。个人电脑从随机数利用同一个算法计算Sres。如果接收的和计算得到的Sres匹配,则计算机30可以继续操作。如果卡48确定代码A0,B0,C0中有一个不正确,生成了与Sres同样格式的随机数Srand并且发送Srand到计算机30。当计算机从RAND计算Sres并且与Srand比较,计算机确定它们不同并且操作被阻挡。
图6D是新软件怎么安装到计算机上的和用保密卡48验证此软件的示意图。软件配有进一步的如参考图6B说明的临时卡47。开始点是完成图6C中步骤54后的有效运行的计算机。在步骤57新软件安装到计算机30。在加载结束时,从新软件的注册号计算了修订的相关代码A0,B0,C0。计算机30接着挂起并且需要插入临时卡47,步骤58。卡47插入到读卡机31并且提供计算机30加载修订码或者代码A0,B0,C0到保密卡48所需的认证。计算机30接着销毁卡47上的所有数据,并且卡47被阻挡,步骤59,例如通过永久设置上述的INHIBIT函数。卡47现在离开了读卡机31并且插入了卡48。计算机30接着写新代码A0,B0,C0到卡48,步骤60。卡48现在初始化为更新的代码A0,B0,C0。这些代表了个人电脑30的有效系统数据。
图6E示意性地显示了软件重新安装到计算机30。假设由于病毒或者其他某种原因,个人电脑30上的某个程序被破坏了。在步骤62重新安装软件。在步骤63,个人电脑为重新安装计算了相关代码或者代码A0,B0,C0。此代码由已储存于卡48上的代码检查,步骤64。如果代码不正确,在步骤66计算机挂起并且例如要求插入临时卡47。
参考图6A到6E以单用户单个个人计算机进行了说明。上述的方法和硬件可以被延伸到包含使用多个计算机的单个保密卡48。例如,一个公司的职员们可以配有与一组计算机运行的保密卡48。每个卡有一组所有使用的计算机的所有代码A0,B0,C0的拷贝。通过此方法,使用者可以登录到组里的任意计算机。而且,可以在局域网或者广域网里使用保密卡48,可用于识别各自的LAN,WAN的相关代码储存在卡48上。
图8是适用于根据本发明具体实施例的卡储存设备20使用的表面接触区的顶视图。较佳的,接地接触区21(Vss)以当卡储存设备20插入读卡机时它首先进入读卡机的方式放置在卡上。想插入的储存卡设备20的读卡机为有狭长缝,设计为允许储存卡设备20滑入并防止其他物体进入。较佳的将接地接触区21相比于其他接触区22-25更靠近卡储存设备一个边缘放置。接地接触区21更好为“U”形并且至少在三侧包围了时钟信号接触区22(CLS),串行数据输入/输出接触区23(SDA)和复位接触区24(RST)。时钟接触区22,数据输入/输出接触区23和复位接触区24的顺序不应该认为是对本发明的限制。如图8所示,电源接触区(Vcc)25横贯了接地21“U”形顶端。较佳的,电源接触区25放在离卡储存设备最先进入读卡机的那一侧最远的位置。接触区21-25可以使用任何合适的智能卡,信用卡,电话卡或者诸如此类的表面接触区通常使用的材料制造,并且通常使用铜合金。将接地卡21放在这个位置,使读卡机的任何金属部分将首先接触到接地接触区21,这将释放静电压并且减少了静电放电导致卡20上数据丢失的危险。
根据本发明的卡储存设备20提供了与外界密封的可储存许多MB数据(至少1MB)的储存卡,人们可以象信用卡一样携带它,例如,可以放进钱包里,手提包里,衣兜里等而不会损失数据或者破坏。根据本发明的卡储存设备20有很多优势,作为保密卡应用于控制个人电脑运行,作为任何形式的储存私人数据的卡,例如健康保险卡,交通卡(例如记录商业车辆的驾驶路程和驾驶时间),作为图文卡,储存文章文件(例如书)等。
权利要求
1.一种拥有输入/输出设备的卡储存设备并且在所述设备中嵌入了一个微处理器;用于储存数字数据的多个存储单元;和用于选择一个存储单元的选择设备并且所述选择设备传递地址信息和数据到被选中的存储单元和/或从所述被选中的存储单元传递地址信息和数据,其特征在于,在输出/输入设备和选择设备之间插入了微处理器并且所述微处理器适合传递卡储存设备将发送的数据和卡储存设备接收的数据并且适合提供将数据送到每个存储单元所需的地址信息。
2.如权利要求1所述的卡储存设备,其特征在于,存储单元的每个储存位置的寻址方案包含并行部分和串行部分。
3.如权利要求2所述的卡储存设备,其特征在于,所述选择设备的并行端口与微处理的并行端口相连以接收卡存储器地址的并行部分。
4.如权利要求2或3所述的卡储存设备,其特征在于,所述选择设备的第一串行端口与微处理的第一串行端口相连以接收卡存储器地址的串行部分。
5.如权利要求2到4中任意一条所述的卡储存设备,其特征在于,所述选择设备有多个第二串行端口,一个通过串行总线与每个存储单元相连并且并行地址部分定义了所述选择设备的一个第二串口。
6.如前述任一权利要求所述的卡储存设备,其特征在于,所述卡储存设备的容量至少有1MB。
7.如前述任一权利要求所述的卡储存设备,其特征在于,所述输入/输出设备包含一个第一组表面接触区,所述第一组表面接触区包含一个接地接触区,一个电源接触区和一个数据输入和/或输出接触区,并且所述第一组表面接触区相应于卡储存设备读取器中的一个第二组接触区,第一组表面接触区的接地接触区排列为在此读卡机接触区接触任一电源接触区和/或数据接触区前先与所述第二组接触区的任一接触区接触。
8.如权利要求7所述的卡储存设备,其特征在于,所述卡储存设备上的所述接地接触区围住了所述数据接触区的三侧。
9.一种卡储存设备,包含一个第一组表面接触区,所述第一组表面接触区包含一个接地接触区、一个电源接触区和一个数据输入和/或输出接触区,并且所述第一组表面接触区对应于卡储存设备读取器中的一个第二组接触区,第一组表面接触区的接地接触区排列为在此读卡机接触区接触任一电源接触区和/或数据接触区前先与所述第二组接触区的任一接触区接触。
10.如权利要求9所述的卡从设备,其特征在于,所述卡储存设备上的所述接地接触区围住了所述数据接触区的三侧。
11.一种安全操作计算设备的方法,包含使用有一个微处理器的第一卡储存设备和一个与计算设备相连的用于读取第一卡储存设备的读卡机,所述方法包含步骤配置所述计算设备的操作系统,使得除非第一卡储存设备插入到读卡机一直限制此操作;生成一个或者多个与所述计算设备的系统信息有关的代码;比较所述生成的代码与第一卡储存设备里的其他代码,所述其他代码表示计算设备的有效的系统数据;并且仅当生成的代码等于储存的其他代码,允许进一步无约束操作计算设备。
12.如权利要求11所述的方法,其特征在于,所述第一卡储存设备是根据权利要求1到10中任一条的卡储存设备。
全文摘要
本发明包含一种卡储存设备(20),所述设备包含一个微处理器(2),用于储存数字数据的多个存储单元(5-12);所述存储单元(5-12)被嵌入到所述卡储存设备(20)里。提供了用于选择一个存储单元的选择设备并且所述选择设备传递地址信息和数据到被选中的存储单元(5-12)和/或从所述被选中的存储单元(5-12)传递地址信息和数据,微处理器(2)和选择设备(3,4)都被嵌入到卡储存设备里。所述卡储存设备把元件集成为一个薄而柔韧的表面有接触区(1)的存储卡,使得元件可以作为一个紧凑的单元合作并且是与外界密封的而且可以安全储存许多兆字节数字数据。还说明了特殊设计的一组接触区(21-25),这组接触区可以减少静电放电的危险。所述卡储存设备(20)可应用于安全控制个人电脑。
文档编号G07F7/10GK1370311SQ00808378
公开日2002年9月18日 申请日期2000年5月31日 优先权日1999年6月4日
发明者哈维尔·吉·伯纳德·杜德堪姆达库兹, S·A·M·R·德拉海 申请人:哈维尔·吉·伯纳德·杜德堪姆达库兹