磁卡读取器系统的制作方法

文档序号:6454547阅读:559来源:国知局
专利名称:磁卡读取器系统的制作方法
技术领域
本发明涉及一种读取存储在磁卡中的数据的磁卡读取器系统。
背景技术
存在一种由;兹头和与磁头相连接的计算机形成的^兹卡读取 器系统(参见专利文献l)。该磁头包括读取存储在磁卡中的数据
的头主体(head main body)和将头主体所读取的模拟信号转换 成数字信号并通过使用单向函数(one-way function)对该数字信 号进行加密的控制单元。头主体和控制单元容纳于头容器中。 磁头的控制单元使用存储在其RAM中的密钥对数字信号进行 加密,并将加密后的数字信号发送到计算机。计算机的控制单 元使用存储在其中的密钥对加密后的数字信号进行解密。
在该系统中,当磁头的控制单元将加密后的数字信号发送 到计算机的控制单元时,计算机的控制单元指示磁头的控制单 元改变密钥。该系统中的密钥改变过程如下所述。当计算机的 控制单元对从磁头接收到的数字信号进行解密时,其生成新的 密钥并将所生成的密钥发送到磁头的控制单元。磁头的控制单 元用新发送来的密钥替换存储在RAM中的现有密钥。此外,当 操作人员从键盘输入函数改变指令和新的函数时,计算机的控 制单元将函数改变指令和新的函数发送到磁头的控制单元。磁 头的控制单元用新发送来的函数替换现有函数。
专利文献l:日本专利特开2001-143213
发明内容本发明解决的问题
在上述公报中公开的磁卡读取器系统中,由于磁头和计算 机没有进行相互认证,因此它们不能判断相互的正当性,并且 即使将伪计算机与磁头相连接或者将伪磁头与计算机相连接,
也不能才企测出#:诈4亍为。因此,在该系统中,第三方可以利用 伪计算机或伪磁头不正当地访问系统,并窃取例如磁卡的卡号、 编码号、用户ID或密码等卡数据。此外,由于计算机的控制单 元将新创建的密钥发送到磁头的控制单元,因此第三方很可能 在密钥发送过程中不正当地获取该密钥,并且第三方可以通过 使用该密钥对所窃取的数字数据进行解密从而获得磁卡的明文 (plain text)卡数据。因此,在该系统中,即使对存储在磁卡中 的卡数据进行了加密,也难以完全避免对明文卡数据的窃取, 并且在某些情况下访问系统的第三方可能不正当地复制磁卡。 此外,窃取了用户ID或密码的第三方使用该用户ID或密码以在 某些情况下基于所谓的"假冒"来进行非法交易。
本发明的目的在于提供这样一种》兹卡读取器系统在该;兹 卡读取器系统中,磁头和计算机能够判断相互的正当性并且可 以防止伪磁头或伪计算机的不正当连接。本发明的另一目的在 于提供一种能够避免第三方对卡数据或密钥的窃取并防止对磁 卡的不正当复制或假冒的磁卡读取器系统。
解决问题的方式
本发明解决该问题的前提是 一 种磁卡读取器系统,该系统 包括磁卡读取器,其包括从存储预定数据的磁卡读取所述数 据的磁头;以及计算机,其与所述磁卡读取器相连接。
该前提下的本发明的特征在于所述》兹头包括芯(core), 其包括将存储在所述磁卡中的数据转换成模拟信号的线圏; A/D转换芯片,其与所述线圏相连接并将所述模拟信号转换成数字信号;以及数字IC,其与所述A/D转换芯片相连接;以及 所述计算机和所述数字IC具有用于相互i人证的相互认证部件, 并且在所述计算机和所述数字IC判断为由所述相互认证部件 获得的相互认证结果为正当之后,所述数字IC执行用于通过使 用存储在所述数字IC中的密钥对所述数字信号进行加密的加 密部件以及用于将由所述加密部件加密的所述数字信号发送到 所述计算机的发送部件,并且所述计算机执行用于通过使用存 储在所述计算机中的密钥对加密后的数字信号进行解密的解密 部件。
作为本发明的例子,所述计算机和所述数字IC相互同步地 执行用于顺次生成对所述数字信号进行加密和解密所需要的相 同的新的第2到第n密钥的密钥生成部件,并且使用所生成的所 述第2到第n密钥对所述数字信号进行加密以及在每次由所述加 密部件加密的数字信号输入到所述计算机时,对加密后的数字 信号进行解密。
作为本发明的另 一例子,将通过使用预定单向散列函数对
部件生成的第2密钥,并且将通过使用所述单向散列函数对由所 述单向散列函数所散列的作为前 一 密钥的散列输出值进行散列
密钥中的每个密钥。
作为本发明的又一例子,所述计算机和所述数字IC在通过 使用存储在它们中的相同的有限回归计数值来相互同步时顺次 生成所述第2到第n密钥,并且用作所述第2到第n密钥的所述散 列输出值包括通过对所述回归计数值进行散列所获得的散列输 出值。
作为本发明的又一例子,当所述计算机判断为不可能使用由所述密钥生成部件生成的密钥进行解密时,所述计算机与所
述数字IC再次执行所述相互认证部件,并且在判断出所述相互
认证部件获得的相互认证结果为正当时,所述计算机和所述数
字IC将所述回归计数值复位为初始值以再次相互同步。
作为本发明的又一例子,所述磁头包括覆盖所述磁头的外
围的壳体,并且所述芯、所述A/D转换芯片以及所述数字IC容 纳于所述壳体中。
作为本发明的又一例子,通过填充所述壳体的内部的固态 物质来将所述A/D转换芯片和所述数字IC固定在所述壳体中。
本发明的效果
根据本发明的磁卡读取器系统,由于计算机和数字IC可以 通过执行相互认证部件来判断相互的正当性,因此即使伪计算 机与磁头相连接或者伪磁头与计算机相连接,也可以发现这种 连接。在该系统中,第三方不能通过使用伪计算机或伪磁头访 问系统,从而避免了如磁卡的卡号或编码号等卡数据或者密钥 被窃取。根据该系统,由于在计算机和数字IC判断出由认证部 件获得的认证结果为正当之后,数字IC执行加密部件和发送部 件并且计算机执行解密部件,因此与在不进行认证就执行这些 部件的情况相比可以确保避免对存储在磁卡中的卡数据的窃
:取,/人而防止第三方对^兹卡的不正当复制。应当注意,在网全各
银行行为中,窃取了卡数据的第三方在银行或信用卡公司的站 点中创建伪站点的所谓的"假冒,,行为,用以在某些情况下与 银行或信用卡公司进行非法交易。然而,由于在本系统中第三 方不能窃取磁卡的卡数据,因此不能创建伪站点,从而防止第 三方进行"假冒"。
在使计算机和数字I c相互同步以顺次生成对数字信号进行 加密和解密所需要的相同的新的第2到第n密钥的磁卡读取器系统中,由于计算机和数字IC分别生成第2到第n密钥,因此计算 机不必将密钥发送到数字IC,从而避免在密钥发送过程中密钥 被不正当地获取。在该系统中,由于数字IC总是使用另一密钥 来进行加密并且计算机总是使用另 一 密钥来实行解密,因此即 使第三方获得密钥,也不能对存储在磁卡中的卡数据进行解密, 从而有效地避免了第三方对,兹卡的不正当复制或者第三方的 "假冒"。
在所生成的第2密钥具有通过由单向散列函数(one-way hash function)对初始值进行散列所获得的散列输出值、并且所 生成的第3到第n密钥各自具有通过使用单向散列函数对由单向 散列函数所散列的作为前一密钥的散列输出值进行进一步散列 所获得的散列输出值的磁卡读取器系统中,由于散列值用于密 钥,因此即使第三方不正当地获得了该密钥,也不能对密钥进 行解码,从而确保避免了第三方对密钥的使用。在该系统中, 即使第三方获取了磁卡的卡数据或者密钥,也不能对该卡数据 进行解密,从而正当地避免了第三方对磁卡的不正当复制或者 第三方的"假冒"。
在计算机和数字IC使用相同的有限回归计数值(finite regressive counter value)以相互同步并且顺次生成第2到第n密 钥的磁卡读取器系统中,计算机生成的密钥能够与数字IC生成 的密钥相匹配,乂人而避免由于所生成的密钥之间的不匹配而导 致不能对数字信号进行解密。在该系统中,由于作为第2到第n 密钥的散列输出值包括通过散列回归计数值所获得的散列输出 值,因此即使第三方不正当地访问系统,他/她也不能对散列回 归计数值进行解码并且不能断定计算机和数字IC使用哪个计数 值以相互同步。在该系统中,即使第三方不正当地访问了系统, 计算机生成的密钥也不能与数字IC生成的密钥相匹配,不能对所窃取的卡数据进行解密,从而正当地避免了第三方对磁卡的 不正当复制或者第三方的"假冒"。
在计算机判断出不可能使用密钥进行解密、然后与数字I c 再次执行相互认_〖正部件、并且计算机和凄丈字I c判断出认^正结果
为正当之后再将回归计数值复位为初始值以再次相互同步的;兹 卡读取器系统中,即使所生成的密钥相互不匹配,由于计算机
和数字I c将回归计数值复位为初始值以再次相互同步,因此计 算机生成的密钥可以再次与数字IC生成的密钥相匹配,/人而避
免了由于所生成的密钥之间的不匹配而导致不能对卡数据进行
在磁芯(core)、 A/D转换芯片和数字IC容纳于覆盖磁头的外 围的壳体中的磁卡读取器系统中,由于除非磁头自身分解否则 转换成模拟信号或数字信号的卡数据不可能被窃取,因此能够 确保避免了对存储在i兹卡中的卡数据的窃取,从而有效地防止 了第三方对磁卡的不正当复制或者第三方的"假冒"。
在通过使用合成树脂来将A/D转换芯片和数字IC固定于壳 体中的^兹卡读取器系统中,由于在分解》兹头时必须去除合成树 脂并且当去除合成树脂时将破坏A/D转换芯片和数字IC,因此 可以防止将数据窃取装置安置到A / D转换芯片和数字IC,从而 有效地避免了第三方对磁卡的不正当复制以及第三方的"假 冒"。


图1是示出作为例子的磁卡读取器系统的硬件结构图; 图2是示出作为例子的磁卡读取器的内部结构的示意图; 图3是磁头的部分剖面立体图; 图4是示出由系统执行的处理的例子的框图;图5是示出外部认证的例子的梯形图6是示出内部认证的例子的梯形图7是示出系统中主处理的例子的梯形图8是用于说明加密和解密所使用的密钥的生成的图9是用于说明加密和解密所使用的密钥的生成的图IO是用于说明加密和解密所使用的密钥的生成的图ll是用于说明加密和解密所使用的密钥的生成的图12是用于说明加密和解密所使用的密钥的生成的图13是用于说明加密和解密所使用的密钥的生成的图。
附图标记的j兌明
10》兹卡读取器系统
11磁卡
12磁卡读取器
13主计算枳i
23壳体
24芯
25 A/D转换芯片
26微处理器(数字IC)
28合成树脂(固态物质)
具体实施例方式
参考附图对根据本发明的磁卡读取器系统的详细说明如下 所述。图l和2是示出作为例子的磁卡读取器系统100的硬件结构 图和示出作为例子的磁卡读取器12的内部结构的示意图。图3 和4是具有部分剖面壳体23的磁头17的部分剖面立体图和示出 由该系统10执行的处理的例子的框图。在图3中,芯24的末端部 分27与》兹卡11的表面相接触,并且在该图中部分省略填充壳体23的合成树脂28(固态物质)。磁卡读取器系统10由将存储在磁 卡11的磁层31中的卡数据转换成电信号的i兹卡读取器12和主计 算机13形成。卡读取器12和计算机13通过接口 (有线或无线)相 互连接。卡数据包括卡号、编码号、用户ID、密码、卡持有者 的个人信息、商业交易内容以及其它。
磁卡读取器12是插入电驱动型并且具有内置控制器(未示 出)。卡读取器12具有形成于前端的卡插入口 14、形成于后端的 卡排出口 15以及从卡插入口 14通往卡排出口 15的卡导轨16。后 面说明的磁头17布置在卡读取器12的中心。检测磁卡ll在导轨 16上移动的位置的光传感器18、 19和20布置在插入口 14、排出 口15和磁头17附近。当从插入口 14插入磁卡11时,卡ll在导轨 16上自动移动以从排出口 15排出。通过布置在卡读取器12中的 带21来使卡11在导轨16上移动。通过安装在卡读取器12中的电 动机22来驱动带21。》兹头17、各传感器18、 19和20以及电动才几 2 2与卡读取器12的控制器相连接。控制器与计算机13相连接, 响应于开关的4妄通/断开来驱动或停止电动才几22,并将卡^t据读 取开始命令或卡数据读取停止命令输出到磁头17 。
如在图3中所示,磁头17包括壳体23,其覆盖磁头17的外 围表面;芯24,其布置有将存储在磁卡ll中的卡数据转换成模 拟信号的线圈(未示出);A/D转换芯片25,其将模拟信号转换成 数字信号;以及微处理器26(数字IC)。在布置在卡读取器12中 的磁头17中,形成万兹头17的芯24的末端部分27面向导轨16。尽 管未示出,微处理器26具有中央处理单元和存储单元(闪速存储 器或EEPROM)。 A/D转换芯片25与芯24相连接,并且微处理器 26与A/D转换芯片25和计算机13相连接。微处理器26的中央处
理单元基于操作系统的控制来启动存储在存储单元中的程序, 并且才艮据该程序扭J于后面i兌明的相互i人i正部件、加密部件和发送部件。要注意,代替微处理器26,可以将门阵列、现场可编 程门阵列和专用硬件之 一 的数字IC布置到》兹头17 。
芯24、 A/D转换芯片25和微处理器26容纳于壳体23中。要 注意,芯24的末端部分27从壳体23的下端暴露到外部。通过使
处理器26完全固定在壳体23中。优选使用热固性合成树脂作为 合成树脂28,但除热固性合成树脂以外还可以使用热塑性合成 树脂。此外,除例如合成树脂28的有机化合物以外,还可以使 用如陶瓷(固态物质)等对化学溶剂具有高耐性的无机化合物。 在磁卡11中,将彩色打印层29、基层30、 f兹层31、遮蔽层32和 打印层33按该顺序从卡的下表面开始排列。磁层31由铁磁性物 质形成,并且基层30由聚对苯二甲酸乙二醇酯(polyethylene terephthalate)制成。
尽管没有示出,主计算机13具有中央处理器和存储装置, 并且还具有内置大容量硬盘。可以使用台式、笔记本式或塔式 作为主计算机13。计算机13连接有显示器(显示装置34),其 显示各种类型的数据;键盘(输入装置35)和鼠标(输入装置35), 其添加或改变数据;以及打印机(输出装置35),其通过接口(有 线或无线)输出数据作为打印出的信息。计算机13的中央处理器 基于操作系统的控制来启动存储在存储装置的命令文件中的程 序,并且根据该程序来执行后面说明的相互认证部件、解密部 件、输出部件以及存储部件。要注意,通过配线向卡读取器12、 计算机13、显示装置34和输入/输出装置35供电。
当启动该系统10时,计算机13的中央处理器和微处理器26 的中央处理单元执;f亍初始测试(S-10)。在初始测试中,进行存 储器测试(S-11)和编码签名(S-12)。在编码签名中,判断是否已 经重写了固件的对象编码。当初始测试结束并且其结果合适时,于
判断它们的正当性的相互认证(相互认证部件)(S-13)。在相互认 证中,计算机13执行用于认证磁头17的正当性的外部认证 (S-14),然后i兹头17进4亍用于认证计算才几13的正当性的内部认 证(S画15)。
断为基于相互认证的二者的认证结果为正当时,允许^兹卡读取 器12读取磁卡11中的数据,并且在计算机13和微处理器26之间 执行主处理(S-16)。相反,当计算机13和微处理器26中至少一 个判断为认证结果为不正当时,不能进行由卡读取器12读取磁 卡ll中的数据,并且在计算机13的显示器34上显示读取禁止信 息。每次启动系统10时执行相互认证,或者当连续运4亍系统10 时每天、每周或每月进行相互认证,或者当如将在后面所述计
行该相互认证。
图5是示出外部认证的例子的梯形图,并且图6是示出内部 认证的例子的梯形图。夕卜部认证中的认证过程如下所示。主计
算机13的中央处理器请求微处理器26的中央处理单元生成和发 送随机数(认证符(authenticator))(S-20)。微处理器26的中央处理 单元根据来自计算机13的命令生成64位随机数,并将其发送到 计算机13的中央处理器(S-21)。已经获取了 64位随机数的计算 机13的中央处理器使用存储在存储装置中的认证密钥以基于三 重DES(Triple Data Encryption Standard,三重数据加密标准)对 随机数进行加密,然后将加密后的随机数发送到微处理器的中 央处理单元(S-22)。微处理器26的中央处理单元使用存储在存 储单元中的认证密钥来对基于三重DES加密的随机数进行解密 (S-23)。微处理器26的中央处理单元将其生成的随机数与解密后的随枳j 进4亍比寿交,当密钥两者相互匹配时判断为i人i正结果 正当,并且将认证结果正当数据发送到计算机13的中央处理器。 另一方面,当所生成的随机数与解密后的随机数不同时,中央 处理单元判断为认证结果为不正当并且将认证结果不正当数据 和磁卡读取禁止数据发送到计算机13的中央处理器。计算机13 从;微处理器26获取外部认证结果(S-24)。
根据三重DES , 将单次DES(Single Data Encryption Standard,单次数据加密标准)重复三次以缩小密钥的长度或算 法的偏差,从而增加加密的强度。作为三重DES,存在三个密 钥都互不相同的三密钥三重DES以及在第 一 次和第三次使用相 同的密钥的两密钥三重DES。作为在系统10中执行的三重DES, 可以使用三密钥三重DES或者两密钥三重DES。此外,在该系 统10中执行的DES可以是除三重DES以外的单次DES。
内部认证中的认证过程如下所述。计算机13的中央处理器 生成64位随机数(认证符),并将其发送到微处理器26的中央处 理单元(S-25)。已获取了 64位随机数的微处理器26的中央处理 单元使用存储在存储单元中的认证密钥以基于三重DES对随机 数进行加密,然后将该加密后的随机数发送到计算机13的中央 处理器(S-26)。计算机13的中央处理器使用存储在存储装置中 的认证密钥对基于三重DES加密的随机数进行解密(S-27)。中央 处理器将所生成的随机数与解密后的随机数进行比较,并且当 随机数两者彼此相等时判断为认证结果为正当。另一方面,当 所生成的随机数不同于解密后的随机数时,中央处理器判断为
图7是示出该系统10中主处理的例子的梯形图。图8到13是 用于说明加密和解密所使用的密钥的生成的图。在相互认证结 果为正当并且允许从磁卡ll读取数据之后,当卡持有者从卡插入口 14插入磁卡11时,驱动电动机22并将卡11移动到导轨16上。 当卡ll通过插入口 14时,光传感器184全测该通道,并且从光传 感器18输出卡插入信号以将该信号输入到控制器。在接收到卡 插入信号时,卡读取器12的控制器将针对存储在卡11中的卡数 据的读取开始命令输出到》兹头17的孩i处理器26。当》兹卡11通过 爿磁头17并/人排出口 15排出该-磁卡11时,光传感器19和20才全测该 排出并且从光传感器19和20输出卡通过信号以将该信号输入到 控制器。在接收到卡通过信号时,卡读取器12的控制器将针对 卡数据的读取停止命令输出到磁头17的微处理器26并且停止驱 动电动机22。
当磁卡ll中的磁性化的磁层31通过^兹头17中芯24的末端部 分27(芯24的间隙)时,在芯24中生成磁通(magnetic flux),在与 磁通交叉的方向中产生电动势并且电流流过线圏。流过线圈的 电流的值随磁通中的变化而改变。通过线圈取出存储在磁卡11 中磁层31中的卡数据作为要输入到与该线圈相连接的A/D转换 芯片25的模拟信号。A/D转换芯片25将从线圏输入的模拟信号 转换成数字信号。从A / D转换芯片2 5将数字信号输入到微处理 器26中并将其存储在微处理器26的存储单元中。
在系统10的运行期间,主计算机13的中央处理器以预定间 隔询问微处理器26在微处理器26的存储单元中是否存在应当处 理的卡数据(数据确认命令)。中央处理器使用存储在存储装置 中的信息发送/接收密钥以基于三重DES对数据确认命令进行 加密,并将加密后的数据确认命令发送到微处理器26(S-30)。 要注意,优选预定间隔以秒为单位或者以毫秒为单位。在接收 到数据确认命令时,微处理器2 6的中央处理单元使用存储在存 储单元中的信息发送/接收密钥以对基于三重D E S加密的数据 确认命令进行解密。微处理器26的中央处理单元根据来自计算机13的数据确认命令检索存储单元,当磁卡11中的卡数据作为 数字信号存储在存储单元中时将表示保持数据的信息(数据保 持信息)发送到计算机13,并且当卡数据未存储在存储单元中时 将表示未保持数据的信息(数据未保持信息)发送到计算机13 。 微处理器2 6使用信息发送/接收密钥以基于三重D E S对数据保 持信息或数据未保持信息进行加密,并将加密后的数据保持信 息或数据未保持信息发送到计算机13(S-31)。
在接收到数据保持信息或数据未保持信息时,计算机13的 中央处理器使用信息发送/接收密钥来对基于三重DES的数据 保持信息或数据未保持信息进行解密。在接收到数据未保持信 息时,中央处理器再次以预定间隔将加密后的数据确认命令发 送到微处理器26,并且询问微处理器26在存储单元中是否存在 应当处理的卡数据(数据确认命令)。在接收到数据保持信息时, 中央处理器请求微处理器26发送存储在微处理器26的存储单元 中的卡数据(数据发送命令)。中央处理器使用信息发送/接收密 钥以基于三重DES对数据发送命令进行加密,并将加密后的数 据发送命令发送到微处理器(S-32)。当微处理器26的中央处理 单元接收到数据发送命令时,其使用信息发送/接收密钥以对基 于三重DES加密的数据发送命令进行解密。
微处理器26的中央处理单元从存储单元中取出数字信号 (卡数据)和加密密钥,并且使用该密钥对数字信号进行加密, 从而提供加密数据(加密部件)(S-33)。中央处理单元将加密数据 发送到主计算机13(发送部件)。主计算机13具有放大加密数据 的放大电路(未示出),从存储装置取出解密密钥,并使用该密 钥对放大电路所放大的加密数据进行解密(解密部件)(S-34)。计 算机13可以将解密后的数字信号(明文卡数据)作为文本信息显 示在显示器34中(输出部件),并允许打印机35打印该解密后的数字信号(明文卡数据)作为打印出的信息(输出部件)。计算机13 将加密后的数字信号或者解密后的数字信号存储在存储装置 (存储部件)中。当对加密数据进行解密时,计算机13再次以预 定间隔将加密数据确认命令发送到微处理器26并询问微处理器 26在存储单元中是否存在应当处理的卡数据(数据确认命令)。 每次将加密数字信号输入到计算机13时,计算机13的中央
储装置和存储单元中的相同的有限回归计tt值而相互同步的同 时顺次生成对数字信号进行加密和解密所需要的相同的新的第 2到第n密钥(密钥生成部件)。在下文,参考图8到13,将说明由
钥生成过程的例子。要注意,回归计数值是1到20。然而,没有 具体限制该回归计数值,并且该计数值可以是21或更多。
在启动系统IO之后,当在从A/D转换芯片25将第 一数字信 号(卡数据)输入到微处理器26并且将该数字信号存储在存储单 元中之后接收到数据发送命令时,如图8所示,微处理器26的中 央处理单元从存储在存储单元中的计数表中选择回归计数值l 并将该计数值1添加到数字信号。在该计数表中形成用于计数值 (1到2 0)的存储区域以及与该区域相关联的三个密钥存储区域 (Kl、 K2和K3)。然而,在图8中示出的计tt表中,没有生成与 回归计数值2到20相对应的第2到第20密钥。要注意,在导入系 统10时将与计数值1相对应的第1密钥(密钥1)设置为初始值。中 央处理单元从计数表中取出与计数值l相对应的第l密钥,使用 该第1密钥以基于三重DES(三密钥三重DES)对数字信号和计数 值1进行加密从而提供加密数据(加密部件),并将该加密数据发 送到计算机13的中央处理器(发送部件)。在将加密数据发送到 计算机13之后,中央处理单元将回归计数值从1改变为2,将计数值2存储在存储单元中,并且从存储单元擦除第一数字信号 (卡数据)。
如在图9中所示,已经接收到第一加密数据的计算机13的中 央处理器从存储在存储装置中的计数表中选择回归计数值1。在 计数表中,形成了用于计数值(1到20)的存储区域以及与该存储 区域相关联的三个密钥存储区域(K1、 K2和K3)。然而,在图9 中示出的计数表中,没有生成与回归计数值2到20相对应的第2 到第20密钥。要注意,与计数值l相对应的第l密钥(密钥l)与存 储在微处理器26的存储单元中的第1密钥相同,并且在导入系统 IO时将其设置为初始值。中央处理器从计数表中取出与计数值l 相对应的第l密钥,并且使用该第1密钥以对基于三重DES(三密 钥三重DES)加密的数据进行解密,从而获得数字信号(明文卡 数据)。在对加密数据进行解密之后,中央处理器将回归计数值 从1改变为2,并且将计数值2存储在存储装置中。
当在从A/D转换芯片25将第二数字信号(卡数据)输入到微 处理器26并且将该数字信号存储在存储单元中之后接收到数据 发送命令时,如在图10中所示,微处理器26的中央处理单元从 存储在存储单元中的计数表中选择回归计数值2并将该计数值2 添加到数字信号。中央处理单元生成通过使用单向散列函数对 与计数值1相对应的第1密钥(初始值)和计数值1进行散列所获 得的散列输出值,并将该散列输出值确定为与计数值2相对应的 第2密钥(密钥2)(密钥生成部件)。将作为第2密钥(密钥2)的散列 输出值写入计数表中与计数值2相对应的密钥存储区域(K1 、 K2 和K3)中。要注意,在图10中说明的计数表中没有生成与回归 计数值3到20相对应的第3到第20密钥。中央处理单元从计数表 中取出与计数值2相对应的第2密钥,使用该第2密钥以基于三重 DES(三密钥三重DES)对数字信号(包括计数值2)进行加密从而提供加密数据(加密部件),并且将该加密数据发送到计算机13 的中央处理器。在将加密数据发送到计算机13之后,中央处理 单元将回归计数值从2改变为3,将计数值3存储在存储单元中, 并且从存储单元擦除该第二数字信号(卡数据)。
如在图11中所示,已经接收到第二加密数据的计算机13的 中央处理器从存储在存储装置中的计数表中选择回归计数值2。 中央处理器生成通过使用单向散列函数对与计数值l相对应的 第1密钥(初始值)和计数值1进行散列所获得散列输出值,并将 该散列输出值确定为与计数值2相对应的第2密钥(密钥2)(密钥 生成部件)。中央处理器使用的散列函数与微处理器26的中央处 理单元使用的散列函数相同,并且所生成的第2密钥(密钥2)与 由微处理器26的中央处理单元产生的密钥相同。将用作第2密钥 (密钥2)的散列输出值写入计数表中与计数值2相对应的密钥存 储区域(K1、 K2和K3)中。要注意,在图ll中说明的计数表中没 有生成与回归计数值3到20相对应的第3到第20密钥。中央处理 器从计数表中取出与计数值2相对应的第2密钥,并使用该第2 密钥以对基于三重DES(三密钥三重DES)加密的数据进行解密, 从而获得数字信号(明文卡数据)。在对加密数据进行解密之后, 中央处理器将回归计数值从2改变为3,并将计数值3存储在存储 装置中。
当在从A/D转换芯片25将第三数字信号(卡数据)输入到微 处理器26并将该数字信号存储在存储单元中之后接收到数据发 送命令时,如在图12中所示,微处理器26的中央处理单元/人存 储在存储单元中的计数表中选择回归计数值3并且将该计数值3 添加到数字信号。中央处理单元生成通过使用单向散列函数对 与计数值2相对应的第2密钥(密钥2,散列值)和计数值2进行散 列所获得的散列输出值,并将该散列输出值确定为与计数值3相对应的第3密钥(密钥3)(密钥生成部件)。将用作第3密钥(密钥 3)的散列输出值写入计数表中与计数值3相对应的密钥存储区 域(K1、 K2和K3)中。要注意,在图12中"i兌明的计凄丈表中没有生 成与回归计数值4到20相对应的第4到第20密钥。中央处理单元 从计数表中取出与计数值3相对应的第3密钥,使用该第3密钥以 基于三重DES(三密钥三重DES)对数字信号(包括计数值3)进行 加密从而提供加密数据(加密部件),并且将该加密数据发送到 计算机13的中央处理器。在将加密数据发送到计算机13之后, 中央处理单元将回归计数值从3改变为4,将计数值4存储在存储 单元中,并且从存储单元擦除该第三数字信号(卡数据)。
如在图13中所示,已经接收到第三加密数据的计算机13的 中央处理器从存储在存储装置中的计数表中选择回归计数值3。 中央处理器生成使用单向散列函数对与计数值2相对应的第2密 钥(密钥2)和计数值2进行散列所获得的散列输出值,并将该散 列输出值确定为与计数值3相对应的第3密钥(密钥3)(密钥生成 部件)。由中央处理器生成的第3密钥(密钥3)与由微处理器26的 中央处理单元所产生的密钥相同。将用作第3密钥(密钥3)的散 列输出值写入计数表中与计数值3相对应的密钥存储区域(K1 、 K2和K3)中。要注意,在图13中说明的计数表中没有生成与回 归计数值4到20相对应的第4到第20密钥。中央处理器从计数表 中取出与计数值3相对应的第3密钥,并且使用该第3密钥以对基 于三重DES(三密钥三重DES)加密的数据进行解密,从而获得数 字信号(明文卡数据)。在对加密数据进行解密之后,中央处理 器将回归计数值从3改变为4并将计数值4存储在存储装置中。
以这种方式,计算机13的中央处理器和微处理器26的中央 处理单元在顺次利用回归计数值1到20以相互同步的同时使用 单向散列函数来生成第2到第n密钥。当回归计数值超过20时,中央处理器和中央处理单元再次使用计数值1以顺次产生第21 到第40密钥。在生成第21密钥时,中央处理器和中央处理单元 利用该第21密钥来重写存储在密钥存储区域中的第1密钥,并且 在生成第22密钥时利用该第22密钥来重写存储在密钥存储区域 中的第2密钥。
在该磁卡读取器系统10中,由于计算机13的中央处理器和
微处理器26的中央处理单元通过执行相互认i正部件可以判断相
互的正当性,因此即使伪计算机与》兹头17相连接或者伪磁头与
计算机13相连4妄,也可以4全测到该连4妄。在系统10中,第三方
不能通过伪计算才几或伪》兹头访问系统IO,并且可以避免对万兹卡
ll中的卡数据、散列函数以及密钥的窃取。在系统10中,由于 在计C如.n" *血々卜域哭知微々卜域哭%"小本々卜鄉鱼开.刺
:卞人证邵忏所狀恃卞乂 密部件和发送部件并且中央处理器执行解密部件,因此与不进 行认证就执行这些部件的情况相比,可以确保避免对存储在f兹 卡ll中的卡数据的窃取,从而确保防止第三方对磁卡ll的不正 当复制或者第三方的"假冒"。
在系统10中,由于计算机13的中央处理器和微处理器26的 中央处理单元分别生成第2到第n密钥,因此计算机13不必向微 处理器26发送每个密钥,从而防止在密钥发送过程中密钥被不 正当地获取。在该系统10中,由于孩i处理器26的中央处理单元 总是使用另 一 密钥来进行加密并且计算机13的中央处理器总是 使用另一密钥来实行解密,因此即使第三方获取密钥,也不能 对存储在磁卡ll中的卡数据进行解密。此外,由于将散列值作 为第2到第n密钥,因此即使第三方不正当地获得各个密钥,也 不能对该密钥进行解码,从而确保避免了第三方对密钥的使用。 在系统10中,由于计算机13的中央处理器和微处理器26的中央处理单元在使用相同的有限回归计数值以相互同步的同时
顺次生成第2到第n密钥,计算机13生成的密钥能够与微处理器 2 6生成的密钥相匹配,并且可以避免由于所生成的密钥之间的 不匹配而导致不能对加密数据进行解密。此外,用作第2到第n 密钥的散列输出值包括通过对回归计数值进行散列所获得的散 列输出值,即4吏第三方不正当地访问系统IO,他/她也不能对散 列回归计数值进行解码并且不能判断哪个计数值要用于实现计
算机13的中央处理器与微处理器26的中央处理单元之间的同 步。
当在系统10的操作期间计算机13的中央处理器和微处理器 26的中央处理单元没有同步时,由中央处理器生成的密钥变得 不同于由中央处理单元生成的密钥,并且中央处理器不能对从 中央处理单元发送来的加密数据进行解密。在这种情况下,计 算机13的中央处理器判断为不可能使用所生成的密钥进行解 密,通知禁止进行解密(解密禁止信息),并请求再同步 (resynchronization)(再同步请求)。中央处理器4吏用存储在存储 装置中的信息发送/接收密钥以基于三重DES对解密禁止信息 和再同步请求进行加密,并且将加密后的解密禁止信息和再同 步请求发送到微处理器26。计算机13的中央处理器和已经接收
它们的正当性的外部i^证和内部认证(参见图5和图6)。当计算 机13的中央处理器和微处理器26的中央处理单元判断为相互认 证的相互认证结果为正当时,二者将回归计数值复位为I(初始 值)以再次开始同步。当将计数值复位为l时,中央处理器和中 央处理单元再次使用第l密钥来执行加密和解密。
在系统10中,即使所生成的密钥相互不匹配,计算机13和 微处理器2 6也能够将回归计数值复位为1以再次相互同步,因此计算机13生成的密钥可以再次与微处理器26生成的密钥相匹 配,从而防止由于所生成的密钥之间的不匹配而导致不能对卡 数据进行解密。要注意,在系统10连续运作并且每天、每周或 每年进行相互认i正时,当计算机13的中央处理器和樣史处理器26 的中央处理单元判断为相互认i正的相互i人i正结果为正当时,它 们将回归计数值复位为1以再次相互同步。后续处理与参考图8 到13说明的处理相同。
作为单向散列函数,使用SHA-l(Secure Hash Algorithm 1, 安全散列算法l)、 MD2、 MD4、 MD5 (Message Digest 2, 4, 5, 信息摘要2、 4、 5)、 RIPEMD-80、 RIPEMD-128、 RIPEMD-160 和N散列。这些散列函数存储在计算机13的存储装置中。
主计算机13可以停止使用当前所用的散列函数,从存储在 存储装置中的散列函数中选择新的散列函数,并且使用所选择 的散列函数。每次启动系统10时可以改变散列函数,或者可以 每天、每周或每月改变散列函数,或者当在中央处理器或中央 处理单元变成不同步之后再次实现同步时改变散列函数。当使 用新的散列函数时,计算机13指示微处理器26重写现有的散列 函数(函数改变命令)。计算机13的中央处理器使用存储在存储 装置中的信息发送/接收密钥以基于三重DES对函数改变命令 和新的散列函数进行加密,并将加密后的函数改变命令和散列 函数发送到微处理器26。在接收到函数改变命令和散列函数时, 微处理器26的中央处理单元使用存储在存储单元中的信息发送 /接收密钥以对基于三重DES加密的函数改变命令和散列函数 进行解密。微处理器26的中央处理单元对存储在存储单元中的 现有散列函数进行解密以利用新的散列函数来替换该现有散列 函数,并通知计算机13完成了改变(改变完成通知)。中央处理 单元使用存储在存储单元中的信息发送/接收密钥以基于三重DES对改变完成通知进^f于加密,并将加密后的改变完成通知发 送到计算机13。在该系统10中,由于对函数改变命令或散列函 数进行加密以改变散列函数,因此第三方不能够获取要利用的 散列函数,从而防止了第三方对散列函数进行解码。
作为加密算法,除DES以外还可以使用RSA 、 AES(Advanced Encryption Standard, 高级力口密标准)、IEDA(International Data Encryption Algorithm,国际数据加密算法)、FEAL-N/NX(Fast Encryption Algorithm, 快速力口密算法)、MULTI2 (Multimedia Encryption 2,多媒体力口密2)、 MISTY、 SXAL (Substitution Xor Algorithm,替换Xor算法)、MBAL(Multi Block Algorithm,多 块算法)、RC2 、 RC5 、 ENCRiP 、 SAFFE(Secure And Fast Encryption Routine, 安全快速力口密例禾呈),Blowfish, Skipjack, Khufu, Khafre, CAST和GST28147-89中的 一个。这些算法存储 在计算机13的存储装置中。
主计算机13可以停止使用当前所用的加密算法,从存储在 存储装置中的加密算法中选择新的算法,并利用所选择的算法。 每次启动系统10时可以改变该加密算法,或者每天、每周或每 月改变该加密算法,或者当在中央处理器和中央处理单元不同 步之后再次实现同步时可以改变该加密算法。当使用新的加密 算法时,计算机13指示微处理器26重写现有的算法(函数改变命 令)。计算机13的中央处理器使用存储在存储装置中的信息发送 /接收密钥以基于三重DES对函数改变命令和新的加密算法进 行加密,并将加密后的函数改变命令和算法发送到微处理器26。 在接收到函数改变命令和加密算法时,微处理器26的中央处理 单元使用存储在存储单元中的信息发送/接收密钥以对基于三 重DES加密的函数改变命令和算法进行解密。微处理器26的中 央处理单元将存储在存储单元中的现有算法改变为解密后的新算法,然后向计算机13通知完成了改变(改变完成通知)。中央 处理单元使用存储在存储单元中的信息发送/接收密钥以基于 三重DES对改变完成通知进行加密,并将加密后的改变完成通 知发送到计算机13。在该系统10中,由于先对函数改变命令或 加密算法进行加密然后再改变算法,因此第三方不能获取要使 用的算法。
权利要求
1. 一种磁卡读取器系统,包括磁卡读取器,其包括从存储预定数据的磁卡读取所述数据的磁头;以及计算机,其与所述磁卡读取器相连接,所述磁卡读取器系统的特征在于所述磁头包括芯,其包括将存储在所述磁卡中的数据转换成模拟信号的线圈;A/D转换芯片,其与所述线圈相连接并将所述模拟信号转换成数字信号;以及数字IC,其与所述A/D转换芯片相连接;以及所述计算机和所述数字IC具有用于相互认证的相互认证部件,并且在所述计算机和所述数字IC判断为由所述相互认证部件获得的相互认证结果为正当之后,所述数字IC执行用于通过使用存储在所述数字IC中的密钥对所述数字信号进行加密的加密部件和用于将由所述加密部件加密的所述数字信号发送到所述计算机的发送部件,以及所述计算机执行用于通过使用存储在所述计算机中的密钥对加密后的数字信号进行解密的解密部件。
2. 根据权利要求l所述的磁卡读取器系统,其特征在于, 所述计算机和所述数字IC相互同步地执行用于顺次生成对所述 数字信号进行加密和解密所需要的相同的新的第2到第n密钥的 密钥生成部件,并且使用所生成的所述第2到第n密钥对所述数 字信号进行加密以及在每次由所述加密部件加密的数字信号输 入到所述计算机时对加密后的数字信号进行解密。
3. 根据权利要求1或2所述的磁卡读取器系统,其特征在于,散列输出值用作由所述密钥生成部件生成的第2密钥,并且将通 过使用所述单向散列函数对由所述单向散列函数所散列的作为述密钥生成部件生成的第3到第n密钥中的每个密钥。
4. 根据权利要求3所述的磁卡读取器系统,其特征在于, 所述计算机和所述数字IC在通过使用存储在它们中的相同的有 限回归计数值来相互同步时顺次生成所述第2到第n密钥,并且 用作所述第2到第n密钥的所述散列输出值包括通过对所述回归 计数值进行散列所获得的散列输出值。
5. 根据权利要求4所述的磁卡读取器系统,其特征在于, 当所述计算机判断为不可能使用由所述密钥生成部件生成的密 钥进行解密时,所述计算机再次执行与所述数字IC之间的所述证结果为正当时,所述计算机和所述数字IC将所述回归计数值 复位为初始值以再次相互同步。
6. 根据权利要求1到5中任一项所述的磁卡读取器系统,其 特征在于,所述磁头包括覆盖所述磁头的外围的壳体,并且所 述芯、所述A/D转换芯片以及所述数字IC容纳于所述壳体中。
7. 根据权利要求6所述的磁卡读取器系统,其特征在于, 通过填充所述壳体的内部的固态物质来将所述A/D转换芯片和 所述数字IC固定在所述壳体中。
全文摘要
提供了一种磁卡读取器系统,在该磁卡读取器系统中,磁头和计算机可以判断相互的正当性并且可以防止对磁卡的未授权的复制。在磁卡读取器系统10中,计算机13和微处理器进行相互认证并且判断为基于相互认证所获得的相互认证结果为正当,然后微处理器对数字信号进行加密并将加密后的数字信号发送到计算机13,并且计算机13对该加密后的数字信号进行解码。
文档编号G06K17/00GK101421790SQ200780013769
公开日2009年4月29日 申请日期2007年4月6日 优先权日2006年4月19日
发明者伊豆山康夫 申请人:Cis电子工业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1