專利名稱:磁卡讀取器系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種讀取存儲(chǔ)在磁卡中的數(shù)據(jù)的磁卡讀取器系統(tǒng)。
背景技術(shù):
存在一種由;茲頭和與磁頭相連接的計(jì)算機(jī)形成的^茲卡讀取 器系統(tǒng)(參見專利文獻(xiàn)l)。該磁頭包括讀取存儲(chǔ)在磁卡中的數(shù)據(jù)
的頭主體(head main body)和將頭主體所讀取的模擬信號(hào)轉(zhuǎn)換 成數(shù)字信號(hào)并通過使用單向函數(shù)(one-way function)對(duì)該數(shù)字信 號(hào)進(jìn)行加密的控制單元。頭主體和控制單元容納于頭容器中。 磁頭的控制單元使用存儲(chǔ)在其RAM中的密鑰對(duì)數(shù)字信號(hào)進(jìn)行 加密,并將加密后的數(shù)字信號(hào)發(fā)送到計(jì)算機(jī)。計(jì)算機(jī)的控制單 元使用存儲(chǔ)在其中的密鑰對(duì)加密后的數(shù)字信號(hào)進(jìn)行解密。
在該系統(tǒng)中,當(dāng)磁頭的控制單元將加密后的數(shù)字信號(hào)發(fā)送 到計(jì)算機(jī)的控制單元時(shí),計(jì)算機(jī)的控制單元指示磁頭的控制單 元改變密鑰。該系統(tǒng)中的密鑰改變過程如下所述。當(dāng)計(jì)算機(jī)的 控制單元對(duì)從磁頭接收到的數(shù)字信號(hào)進(jìn)行解密時(shí),其生成新的 密鑰并將所生成的密鑰發(fā)送到磁頭的控制單元。磁頭的控制單 元用新發(fā)送來的密鑰替換存儲(chǔ)在RAM中的現(xiàn)有密鑰。此外,當(dāng) 操作人員從鍵盤輸入函數(shù)改變指令和新的函數(shù)時(shí),計(jì)算機(jī)的控 制單元將函數(shù)改變指令和新的函數(shù)發(fā)送到磁頭的控制單元。磁 頭的控制單元用新發(fā)送來的函數(shù)替換現(xiàn)有函數(shù)。
專利文獻(xiàn)l:日本專利特開2001-143213
發(fā)明內(nèi)容本發(fā)明解決的問題
在上述公報(bào)中公開的磁卡讀取器系統(tǒng)中,由于磁頭和計(jì)算 機(jī)沒有進(jìn)行相互認(rèn)證,因此它們不能判斷相互的正當(dāng)性,并且 即使將偽計(jì)算機(jī)與磁頭相連接或者將偽磁頭與計(jì)算機(jī)相連接,
也不能才企測(cè)出#:詐4亍為。因此,在該系統(tǒng)中,第三方可以利用 偽計(jì)算機(jī)或偽磁頭不正當(dāng)?shù)卦L問系統(tǒng),并竊取例如磁卡的卡號(hào)、 編碼號(hào)、用戶ID或密碼等卡數(shù)據(jù)。此外,由于計(jì)算機(jī)的控制單 元將新創(chuàng)建的密鑰發(fā)送到磁頭的控制單元,因此第三方很可能 在密鑰發(fā)送過程中不正當(dāng)?shù)孬@取該密鑰,并且第三方可以通過 使用該密鑰對(duì)所竊取的數(shù)字?jǐn)?shù)據(jù)進(jìn)行解密從而獲得磁卡的明文 (plain text)卡數(shù)據(jù)。因此,在該系統(tǒng)中,即使對(duì)存儲(chǔ)在磁卡中 的卡數(shù)據(jù)進(jìn)行了加密,也難以完全避免對(duì)明文卡數(shù)據(jù)的竊取, 并且在某些情況下訪問系統(tǒng)的第三方可能不正當(dāng)?shù)貜?fù)制磁卡。 此外,竊取了用戶ID或密碼的第三方使用該用戶ID或密碼以在 某些情況下基于所謂的"假冒"來進(jìn)行非法交易。
本發(fā)明的目的在于提供這樣一種》茲卡讀取器系統(tǒng)在該;茲 卡讀取器系統(tǒng)中,磁頭和計(jì)算機(jī)能夠判斷相互的正當(dāng)性并且可 以防止偽磁頭或偽計(jì)算機(jī)的不正當(dāng)連接。本發(fā)明的另一目的在 于提供一種能夠避免第三方對(duì)卡數(shù)據(jù)或密鑰的竊取并防止對(duì)磁 卡的不正當(dāng)復(fù)制或假冒的磁卡讀取器系統(tǒng)。
解決問題的方式
本發(fā)明解決該問題的前提是 一 種磁卡讀取器系統(tǒng),該系統(tǒng) 包括磁卡讀取器,其包括從存儲(chǔ)預(yù)定數(shù)據(jù)的磁卡讀取所述數(shù) 據(jù)的磁頭;以及計(jì)算機(jī),其與所述磁卡讀取器相連接。
該前提下的本發(fā)明的特征在于所述》茲頭包括芯(core), 其包括將存儲(chǔ)在所述磁卡中的數(shù)據(jù)轉(zhuǎn)換成模擬信號(hào)的線圏; A/D轉(zhuǎn)換芯片,其與所述線圏相連接并將所述模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào);以及數(shù)字IC,其與所述A/D轉(zhuǎn)換芯片相連接;以及 所述計(jì)算機(jī)和所述數(shù)字IC具有用于相互i人證的相互認(rèn)證部件, 并且在所述計(jì)算機(jī)和所述數(shù)字IC判斷為由所述相互認(rèn)證部件 獲得的相互認(rèn)證結(jié)果為正當(dāng)之后,所述數(shù)字IC執(zhí)行用于通過使 用存儲(chǔ)在所述數(shù)字IC中的密鑰對(duì)所述數(shù)字信號(hào)進(jìn)行加密的加 密部件以及用于將由所述加密部件加密的所述數(shù)字信號(hào)發(fā)送到 所述計(jì)算機(jī)的發(fā)送部件,并且所述計(jì)算機(jī)執(zhí)行用于通過使用存 儲(chǔ)在所述計(jì)算機(jī)中的密鑰對(duì)加密后的數(shù)字信號(hào)進(jìn)行解密的解密 部件。
作為本發(fā)明的例子,所述計(jì)算機(jī)和所述數(shù)字IC相互同步地 執(zhí)行用于順次生成對(duì)所述數(shù)字信號(hào)進(jìn)行加密和解密所需要的相 同的新的第2到第n密鑰的密鑰生成部件,并且使用所生成的所 述第2到第n密鑰對(duì)所述數(shù)字信號(hào)進(jìn)行加密以及在每次由所述加 密部件加密的數(shù)字信號(hào)輸入到所述計(jì)算機(jī)時(shí),對(duì)加密后的數(shù)字 信號(hào)進(jìn)行解密。
作為本發(fā)明的另 一例子,將通過使用預(yù)定單向散列函數(shù)對(duì)
部件生成的第2密鑰,并且將通過使用所述單向散列函數(shù)對(duì)由所 述單向散列函數(shù)所散列的作為前 一 密鑰的散列輸出值進(jìn)行散列
密鑰中的每個(gè)密鑰。
作為本發(fā)明的又一例子,所述計(jì)算機(jī)和所述數(shù)字IC在通過 使用存儲(chǔ)在它們中的相同的有限回歸計(jì)數(shù)值來相互同步時(shí)順次 生成所述第2到第n密鑰,并且用作所述第2到第n密鑰的所述散 列輸出值包括通過對(duì)所述回歸計(jì)數(shù)值進(jìn)行散列所獲得的散列輸 出值。
作為本發(fā)明的又一例子,當(dāng)所述計(jì)算機(jī)判斷為不可能使用由所述密鑰生成部件生成的密鑰進(jìn)行解密時(shí),所述計(jì)算機(jī)與所
述數(shù)字IC再次執(zhí)行所述相互認(rèn)證部件,并且在判斷出所述相互
認(rèn)證部件獲得的相互認(rèn)證結(jié)果為正當(dāng)時(shí),所述計(jì)算機(jī)和所述數(shù)
字IC將所述回歸計(jì)數(shù)值復(fù)位為初始值以再次相互同步。
作為本發(fā)明的又一例子,所述磁頭包括覆蓋所述磁頭的外
圍的殼體,并且所述芯、所述A/D轉(zhuǎn)換芯片以及所述數(shù)字IC容 納于所述殼體中。
作為本發(fā)明的又一例子,通過填充所述殼體的內(nèi)部的固態(tài) 物質(zhì)來將所述A/D轉(zhuǎn)換芯片和所述數(shù)字IC固定在所述殼體中。
本發(fā)明的效果
根據(jù)本發(fā)明的磁卡讀取器系統(tǒng),由于計(jì)算機(jī)和數(shù)字IC可以 通過執(zhí)行相互認(rèn)證部件來判斷相互的正當(dāng)性,因此即使偽計(jì)算 機(jī)與磁頭相連接或者偽磁頭與計(jì)算機(jī)相連接,也可以發(fā)現(xiàn)這種 連接。在該系統(tǒng)中,第三方不能通過使用偽計(jì)算機(jī)或偽磁頭訪 問系統(tǒng),從而避免了如磁卡的卡號(hào)或編碼號(hào)等卡數(shù)據(jù)或者密鑰 被竊取。根據(jù)該系統(tǒng),由于在計(jì)算機(jī)和數(shù)字IC判斷出由認(rèn)證部 件獲得的認(rèn)證結(jié)果為正當(dāng)之后,數(shù)字IC執(zhí)行加密部件和發(fā)送部 件并且計(jì)算機(jī)執(zhí)行解密部件,因此與在不進(jìn)行認(rèn)證就執(zhí)行這些 部件的情況相比可以確保避免對(duì)存儲(chǔ)在磁卡中的卡數(shù)據(jù)的竊
:取,/人而防止第三方對(duì)^茲卡的不正當(dāng)復(fù)制。應(yīng)當(dāng)注意,在網(wǎng)全各
銀行行為中,竊取了卡數(shù)據(jù)的第三方在銀行或信用卡公司的站 點(diǎn)中創(chuàng)建偽站點(diǎn)的所謂的"假冒,,行為,用以在某些情況下與 銀行或信用卡公司進(jìn)行非法交易。然而,由于在本系統(tǒng)中第三 方不能竊取磁卡的卡數(shù)據(jù),因此不能創(chuàng)建偽站點(diǎn),從而防止第 三方進(jìn)行"假冒"。
在使計(jì)算機(jī)和數(shù)字I c相互同步以順次生成對(duì)數(shù)字信號(hào)進(jìn)行 加密和解密所需要的相同的新的第2到第n密鑰的磁卡讀取器系統(tǒng)中,由于計(jì)算機(jī)和數(shù)字IC分別生成第2到第n密鑰,因此計(jì)算 機(jī)不必將密鑰發(fā)送到數(shù)字IC,從而避免在密鑰發(fā)送過程中密鑰 被不正當(dāng)?shù)孬@取。在該系統(tǒng)中,由于數(shù)字IC總是使用另一密鑰 來進(jìn)行加密并且計(jì)算機(jī)總是使用另 一 密鑰來實(shí)行解密,因此即 使第三方獲得密鑰,也不能對(duì)存儲(chǔ)在磁卡中的卡數(shù)據(jù)進(jìn)行解密, 從而有效地避免了第三方對(duì),茲卡的不正當(dāng)復(fù)制或者第三方的 "假冒"。
在所生成的第2密鑰具有通過由單向散列函數(shù)(one-way hash function)對(duì)初始值進(jìn)行散列所獲得的散列輸出值、并且所 生成的第3到第n密鑰各自具有通過使用單向散列函數(shù)對(duì)由單向 散列函數(shù)所散列的作為前一密鑰的散列輸出值進(jìn)行進(jìn)一步散列 所獲得的散列輸出值的磁卡讀取器系統(tǒng)中,由于散列值用于密 鑰,因此即使第三方不正當(dāng)?shù)孬@得了該密鑰,也不能對(duì)密鑰進(jìn) 行解碼,從而確保避免了第三方對(duì)密鑰的使用。在該系統(tǒng)中, 即使第三方獲取了磁卡的卡數(shù)據(jù)或者密鑰,也不能對(duì)該卡數(shù)據(jù) 進(jìn)行解密,從而正當(dāng)?shù)乇苊饬说谌綄?duì)磁卡的不正當(dāng)復(fù)制或者 第三方的"假冒"。
在計(jì)算機(jī)和數(shù)字IC使用相同的有限回歸計(jì)數(shù)值(finite regressive counter value)以相互同步并且順次生成第2到第n密 鑰的磁卡讀取器系統(tǒng)中,計(jì)算機(jī)生成的密鑰能夠與數(shù)字IC生成 的密鑰相匹配,乂人而避免由于所生成的密鑰之間的不匹配而導(dǎo) 致不能對(duì)數(shù)字信號(hào)進(jìn)行解密。在該系統(tǒng)中,由于作為第2到第n 密鑰的散列輸出值包括通過散列回歸計(jì)數(shù)值所獲得的散列輸出 值,因此即使第三方不正當(dāng)?shù)卦L問系統(tǒng),他/她也不能對(duì)散列回 歸計(jì)數(shù)值進(jìn)行解碼并且不能斷定計(jì)算機(jī)和數(shù)字IC使用哪個(gè)計(jì)數(shù) 值以相互同步。在該系統(tǒng)中,即使第三方不正當(dāng)?shù)卦L問了系統(tǒng), 計(jì)算機(jī)生成的密鑰也不能與數(shù)字IC生成的密鑰相匹配,不能對(duì)所竊取的卡數(shù)據(jù)進(jìn)行解密,從而正當(dāng)?shù)乇苊饬说谌綄?duì)磁卡的 不正當(dāng)復(fù)制或者第三方的"假冒"。
在計(jì)算機(jī)判斷出不可能使用密鑰進(jìn)行解密、然后與數(shù)字I c 再次執(zhí)行相互認(rèn)_〖正部件、并且計(jì)算機(jī)和凄丈字I c判斷出認(rèn)^正結(jié)果
為正當(dāng)之后再將回歸計(jì)數(shù)值復(fù)位為初始值以再次相互同步的;茲 卡讀取器系統(tǒng)中,即使所生成的密鑰相互不匹配,由于計(jì)算機(jī)
和數(shù)字I c將回歸計(jì)數(shù)值復(fù)位為初始值以再次相互同步,因此計(jì) 算機(jī)生成的密鑰可以再次與數(shù)字IC生成的密鑰相匹配,/人而避
免了由于所生成的密鑰之間的不匹配而導(dǎo)致不能對(duì)卡數(shù)據(jù)進(jìn)行
在磁芯(core)、 A/D轉(zhuǎn)換芯片和數(shù)字IC容納于覆蓋磁頭的外 圍的殼體中的磁卡讀取器系統(tǒng)中,由于除非磁頭自身分解否則 轉(zhuǎn)換成模擬信號(hào)或數(shù)字信號(hào)的卡數(shù)據(jù)不可能被竊取,因此能夠 確保避免了對(duì)存儲(chǔ)在i茲卡中的卡數(shù)據(jù)的竊取,從而有效地防止 了第三方對(duì)磁卡的不正當(dāng)復(fù)制或者第三方的"假冒"。
在通過使用合成樹脂來將A/D轉(zhuǎn)換芯片和數(shù)字IC固定于殼 體中的^茲卡讀取器系統(tǒng)中,由于在分解》茲頭時(shí)必須去除合成樹 脂并且當(dāng)去除合成樹脂時(shí)將破壞A/D轉(zhuǎn)換芯片和數(shù)字IC,因此 可以防止將數(shù)據(jù)竊取裝置安置到A / D轉(zhuǎn)換芯片和數(shù)字IC,從而 有效地避免了第三方對(duì)磁卡的不正當(dāng)復(fù)制以及第三方的"假 冒"。
圖1是示出作為例子的磁卡讀取器系統(tǒng)的硬件結(jié)構(gòu)圖; 圖2是示出作為例子的磁卡讀取器的內(nèi)部結(jié)構(gòu)的示意圖; 圖3是磁頭的部分剖面立體圖; 圖4是示出由系統(tǒng)執(zhí)行的處理的例子的框圖;圖5是示出外部認(rèn)證的例子的梯形圖6是示出內(nèi)部認(rèn)證的例子的梯形圖7是示出系統(tǒng)中主處理的例子的梯形圖8是用于說明加密和解密所使用的密鑰的生成的圖9是用于說明加密和解密所使用的密鑰的生成的圖IO是用于說明加密和解密所使用的密鑰的生成的圖ll是用于說明加密和解密所使用的密鑰的生成的圖12是用于說明加密和解密所使用的密鑰的生成的圖13是用于說明加密和解密所使用的密鑰的生成的圖。
附圖標(biāo)記的j兌明
10》茲卡讀取器系統(tǒng)
11磁卡
12磁卡讀取器
13主計(jì)算枳i
23殼體
24芯
25 A/D轉(zhuǎn)換芯片
26微處理器(數(shù)字IC)
28合成樹脂(固態(tài)物質(zhì))
具體實(shí)施例方式
參考附圖對(duì)根據(jù)本發(fā)明的磁卡讀取器系統(tǒng)的詳細(xì)說明如下 所述。圖l和2是示出作為例子的磁卡讀取器系統(tǒng)100的硬件結(jié)構(gòu) 圖和示出作為例子的磁卡讀取器12的內(nèi)部結(jié)構(gòu)的示意圖。圖3 和4是具有部分剖面殼體23的磁頭17的部分剖面立體圖和示出 由該系統(tǒng)10執(zhí)行的處理的例子的框圖。在圖3中,芯24的末端部 分27與》茲卡11的表面相接觸,并且在該圖中部分省略填充殼體23的合成樹脂28(固態(tài)物質(zhì))。磁卡讀取器系統(tǒng)10由將存儲(chǔ)在磁 卡11的磁層31中的卡數(shù)據(jù)轉(zhuǎn)換成電信號(hào)的i茲卡讀取器12和主計(jì) 算機(jī)13形成。卡讀取器12和計(jì)算機(jī)13通過接口 (有線或無線)相 互連接??〝?shù)據(jù)包括卡號(hào)、編碼號(hào)、用戶ID、密碼、卡持有者 的個(gè)人信息、商業(yè)交易內(nèi)容以及其它。
磁卡讀取器12是插入電驅(qū)動(dòng)型并且具有內(nèi)置控制器(未示 出)??ㄗx取器12具有形成于前端的卡插入口 14、形成于后端的 卡排出口 15以及從卡插入口 14通往卡排出口 15的卡導(dǎo)軌16。后 面說明的磁頭17布置在卡讀取器12的中心。檢測(cè)磁卡ll在導(dǎo)軌 16上移動(dòng)的位置的光傳感器18、 19和20布置在插入口 14、排出 口15和磁頭17附近。當(dāng)從插入口 14插入磁卡11時(shí),卡ll在導(dǎo)軌 16上自動(dòng)移動(dòng)以從排出口 15排出。通過布置在卡讀取器12中的 帶21來使卡11在導(dǎo)軌16上移動(dòng)。通過安裝在卡讀取器12中的電 動(dòng)機(jī)22來驅(qū)動(dòng)帶21?!菲濐^17、各傳感器18、 19和20以及電動(dòng)才幾 2 2與卡讀取器12的控制器相連接。控制器與計(jì)算機(jī)13相連接, 響應(yīng)于開關(guān)的4妄通/斷開來驅(qū)動(dòng)或停止電動(dòng)才幾22,并將卡^t據(jù)讀 取開始命令或卡數(shù)據(jù)讀取停止命令輸出到磁頭17 。
如在圖3中所示,磁頭17包括殼體23,其覆蓋磁頭17的外 圍表面;芯24,其布置有將存儲(chǔ)在磁卡ll中的卡數(shù)據(jù)轉(zhuǎn)換成模 擬信號(hào)的線圈(未示出);A/D轉(zhuǎn)換芯片25,其將模擬信號(hào)轉(zhuǎn)換成 數(shù)字信號(hào);以及微處理器26(數(shù)字IC)。在布置在卡讀取器12中 的磁頭17中,形成萬茲頭17的芯24的末端部分27面向?qū)к?6。盡 管未示出,微處理器26具有中央處理單元和存儲(chǔ)單元(閃速存儲(chǔ) 器或EEPROM)。 A/D轉(zhuǎn)換芯片25與芯24相連接,并且微處理器 26與A/D轉(zhuǎn)換芯片25和計(jì)算機(jī)13相連接。微處理器26的中央處
理單元基于操作系統(tǒng)的控制來啟動(dòng)存儲(chǔ)在存儲(chǔ)單元中的程序, 并且才艮據(jù)該程序扭J于后面i兌明的相互i人i正部件、加密部件和發(fā)送部件。要注意,代替微處理器26,可以將門陣列、現(xiàn)場(chǎng)可編 程門陣列和專用硬件之 一 的數(shù)字IC布置到》茲頭17 。
芯24、 A/D轉(zhuǎn)換芯片25和微處理器26容納于殼體23中。要 注意,芯24的末端部分27從殼體23的下端暴露到外部。通過使
處理器26完全固定在殼體23中。優(yōu)選使用熱固性合成樹脂作為 合成樹脂28,但除熱固性合成樹脂以外還可以使用熱塑性合成 樹脂。此外,除例如合成樹脂28的有機(jī)化合物以外,還可以使 用如陶瓷(固態(tài)物質(zhì))等對(duì)化學(xué)溶劑具有高耐性的無機(jī)化合物。 在磁卡11中,將彩色打印層29、基層30、 f茲層31、遮蔽層32和 打印層33按該順序從卡的下表面開始排列。磁層31由鐵磁性物 質(zhì)形成,并且基層30由聚對(duì)苯二甲酸乙二醇酯(polyethylene terephthalate)制成。
盡管沒有示出,主計(jì)算機(jī)13具有中央處理器和存儲(chǔ)裝置, 并且還具有內(nèi)置大容量硬盤??梢允褂门_(tái)式、筆記本式或塔式 作為主計(jì)算機(jī)13。計(jì)算機(jī)13連接有顯示器(顯示裝置34),其 顯示各種類型的數(shù)據(jù);鍵盤(輸入裝置35)和鼠標(biāo)(輸入裝置35), 其添加或改變數(shù)據(jù);以及打印機(jī)(輸出裝置35),其通過接口(有 線或無線)輸出數(shù)據(jù)作為打印出的信息。計(jì)算機(jī)13的中央處理器 基于操作系統(tǒng)的控制來啟動(dòng)存儲(chǔ)在存儲(chǔ)裝置的命令文件中的程 序,并且根據(jù)該程序來執(zhí)行后面說明的相互認(rèn)證部件、解密部 件、輸出部件以及存儲(chǔ)部件。要注意,通過配線向卡讀取器12、 計(jì)算機(jī)13、顯示裝置34和輸入/輸出裝置35供電。
當(dāng)啟動(dòng)該系統(tǒng)10時(shí),計(jì)算機(jī)13的中央處理器和微處理器26 的中央處理單元執(zhí);f亍初始測(cè)試(S-10)。在初始測(cè)試中,進(jìn)行存 儲(chǔ)器測(cè)試(S-11)和編碼簽名(S-12)。在編碼簽名中,判斷是否已 經(jīng)重寫了固件的對(duì)象編碼。當(dāng)初始測(cè)試結(jié)束并且其結(jié)果合適時(shí),于
判斷它們的正當(dāng)性的相互認(rèn)證(相互認(rèn)證部件)(S-13)。在相互認(rèn) 證中,計(jì)算機(jī)13執(zhí)行用于認(rèn)證磁頭17的正當(dāng)性的外部認(rèn)證 (S-14),然后i茲頭17進(jìn)4亍用于認(rèn)證計(jì)算才幾13的正當(dāng)性的內(nèi)部認(rèn) 證(S畫15)。
斷為基于相互認(rèn)證的二者的認(rèn)證結(jié)果為正當(dāng)時(shí),允許^茲卡讀取 器12讀取磁卡11中的數(shù)據(jù),并且在計(jì)算機(jī)13和微處理器26之間 執(zhí)行主處理(S-16)。相反,當(dāng)計(jì)算機(jī)13和微處理器26中至少一 個(gè)判斷為認(rèn)證結(jié)果為不正當(dāng)時(shí),不能進(jìn)行由卡讀取器12讀取磁 卡ll中的數(shù)據(jù),并且在計(jì)算機(jī)13的顯示器34上顯示讀取禁止信 息。每次啟動(dòng)系統(tǒng)10時(shí)執(zhí)行相互認(rèn)證,或者當(dāng)連續(xù)運(yùn)4亍系統(tǒng)10 時(shí)每天、每周或每月進(jìn)行相互認(rèn)證,或者當(dāng)如將在后面所述計(jì)
行該相互認(rèn)證。
圖5是示出外部認(rèn)證的例子的梯形圖,并且圖6是示出內(nèi)部 認(rèn)證的例子的梯形圖。夕卜部認(rèn)證中的認(rèn)證過程如下所示。主計(jì)
算機(jī)13的中央處理器請(qǐng)求微處理器26的中央處理單元生成和發(fā) 送隨機(jī)數(shù)(認(rèn)證符(authenticator))(S-20)。微處理器26的中央處理 單元根據(jù)來自計(jì)算機(jī)13的命令生成64位隨機(jī)數(shù),并將其發(fā)送到 計(jì)算機(jī)13的中央處理器(S-21)。已經(jīng)獲取了 64位隨機(jī)數(shù)的計(jì)算 機(jī)13的中央處理器使用存儲(chǔ)在存儲(chǔ)裝置中的認(rèn)證密鑰以基于三 重DES(Triple Data Encryption Standard,三重?cái)?shù)據(jù)加密標(biāo)準(zhǔn))對(duì) 隨機(jī)數(shù)進(jìn)行加密,然后將加密后的隨機(jī)數(shù)發(fā)送到微處理器的中 央處理單元(S-22)。微處理器26的中央處理單元使用存儲(chǔ)在存 儲(chǔ)單元中的認(rèn)證密鑰來對(duì)基于三重DES加密的隨機(jī)數(shù)進(jìn)行解密 (S-23)。微處理器26的中央處理單元將其生成的隨機(jī)數(shù)與解密后的隨枳j 進(jìn)4亍比壽交,當(dāng)密鑰兩者相互匹配時(shí)判斷為i人i正結(jié)果 正當(dāng),并且將認(rèn)證結(jié)果正當(dāng)數(shù)據(jù)發(fā)送到計(jì)算機(jī)13的中央處理器。 另一方面,當(dāng)所生成的隨機(jī)數(shù)與解密后的隨機(jī)數(shù)不同時(shí),中央 處理單元判斷為認(rèn)證結(jié)果為不正當(dāng)并且將認(rèn)證結(jié)果不正當(dāng)數(shù)據(jù) 和磁卡讀取禁止數(shù)據(jù)發(fā)送到計(jì)算機(jī)13的中央處理器。計(jì)算機(jī)13 從;微處理器26獲取外部認(rèn)證結(jié)果(S-24)。
根據(jù)三重DES , 將單次DES(Single Data Encryption Standard,單次數(shù)據(jù)加密標(biāo)準(zhǔn))重復(fù)三次以縮小密鑰的長(zhǎng)度或算 法的偏差,從而增加加密的強(qiáng)度。作為三重DES,存在三個(gè)密 鑰都互不相同的三密鑰三重DES以及在第 一 次和第三次使用相 同的密鑰的兩密鑰三重DES。作為在系統(tǒng)10中執(zhí)行的三重DES, 可以使用三密鑰三重DES或者兩密鑰三重DES。此外,在該系 統(tǒng)10中執(zhí)行的DES可以是除三重DES以外的單次DES。
內(nèi)部認(rèn)證中的認(rèn)證過程如下所述。計(jì)算機(jī)13的中央處理器 生成64位隨機(jī)數(shù)(認(rèn)證符),并將其發(fā)送到微處理器26的中央處 理單元(S-25)。已獲取了 64位隨機(jī)數(shù)的微處理器26的中央處理 單元使用存儲(chǔ)在存儲(chǔ)單元中的認(rèn)證密鑰以基于三重DES對(duì)隨機(jī) 數(shù)進(jìn)行加密,然后將該加密后的隨機(jī)數(shù)發(fā)送到計(jì)算機(jī)13的中央 處理器(S-26)。計(jì)算機(jī)13的中央處理器使用存儲(chǔ)在存儲(chǔ)裝置中 的認(rèn)證密鑰對(duì)基于三重DES加密的隨機(jī)數(shù)進(jìn)行解密(S-27)。中央 處理器將所生成的隨機(jī)數(shù)與解密后的隨機(jī)數(shù)進(jìn)行比較,并且當(dāng) 隨機(jī)數(shù)兩者彼此相等時(shí)判斷為認(rèn)證結(jié)果為正當(dāng)。另一方面,當(dāng) 所生成的隨機(jī)數(shù)不同于解密后的隨機(jī)數(shù)時(shí),中央處理器判斷為
圖7是示出該系統(tǒng)10中主處理的例子的梯形圖。圖8到13是 用于說明加密和解密所使用的密鑰的生成的圖。在相互認(rèn)證結(jié) 果為正當(dāng)并且允許從磁卡ll讀取數(shù)據(jù)之后,當(dāng)卡持有者從卡插入口 14插入磁卡11時(shí),驅(qū)動(dòng)電動(dòng)機(jī)22并將卡11移動(dòng)到導(dǎo)軌16上。 當(dāng)卡ll通過插入口 14時(shí),光傳感器184全測(cè)該通道,并且從光傳 感器18輸出卡插入信號(hào)以將該信號(hào)輸入到控制器。在接收到卡 插入信號(hào)時(shí),卡讀取器12的控制器將針對(duì)存儲(chǔ)在卡11中的卡數(shù) 據(jù)的讀取開始命令輸出到》茲頭17的孩i處理器26。當(dāng)》茲卡11通過 爿磁頭17并/人排出口 15排出該-磁卡11時(shí),光傳感器19和20才全測(cè)該 排出并且從光傳感器19和20輸出卡通過信號(hào)以將該信號(hào)輸入到 控制器。在接收到卡通過信號(hào)時(shí),卡讀取器12的控制器將針對(duì) 卡數(shù)據(jù)的讀取停止命令輸出到磁頭17的微處理器26并且停止驅(qū) 動(dòng)電動(dòng)機(jī)22。
當(dāng)磁卡ll中的磁性化的磁層31通過^茲頭17中芯24的末端部 分27(芯24的間隙)時(shí),在芯24中生成磁通(magnetic flux),在與 磁通交叉的方向中產(chǎn)生電動(dòng)勢(shì)并且電流流過線圏。流過線圈的 電流的值隨磁通中的變化而改變。通過線圈取出存儲(chǔ)在磁卡11 中磁層31中的卡數(shù)據(jù)作為要輸入到與該線圈相連接的A/D轉(zhuǎn)換 芯片25的模擬信號(hào)。A/D轉(zhuǎn)換芯片25將從線圏輸入的模擬信號(hào) 轉(zhuǎn)換成數(shù)字信號(hào)。從A / D轉(zhuǎn)換芯片2 5將數(shù)字信號(hào)輸入到微處理 器26中并將其存儲(chǔ)在微處理器26的存儲(chǔ)單元中。
在系統(tǒng)10的運(yùn)行期間,主計(jì)算機(jī)13的中央處理器以預(yù)定間 隔詢問微處理器26在微處理器26的存儲(chǔ)單元中是否存在應(yīng)當(dāng)處 理的卡數(shù)據(jù)(數(shù)據(jù)確認(rèn)命令)。中央處理器使用存儲(chǔ)在存儲(chǔ)裝置 中的信息發(fā)送/接收密鑰以基于三重DES對(duì)數(shù)據(jù)確認(rèn)命令進(jìn)行 加密,并將加密后的數(shù)據(jù)確認(rèn)命令發(fā)送到微處理器26(S-30)。 要注意,優(yōu)選預(yù)定間隔以秒為單位或者以毫秒為單位。在接收 到數(shù)據(jù)確認(rèn)命令時(shí),微處理器2 6的中央處理單元使用存儲(chǔ)在存 儲(chǔ)單元中的信息發(fā)送/接收密鑰以對(duì)基于三重D E S加密的數(shù)據(jù) 確認(rèn)命令進(jìn)行解密。微處理器26的中央處理單元根據(jù)來自計(jì)算機(jī)13的數(shù)據(jù)確認(rèn)命令檢索存儲(chǔ)單元,當(dāng)磁卡11中的卡數(shù)據(jù)作為 數(shù)字信號(hào)存儲(chǔ)在存儲(chǔ)單元中時(shí)將表示保持?jǐn)?shù)據(jù)的信息(數(shù)據(jù)保 持信息)發(fā)送到計(jì)算機(jī)13,并且當(dāng)卡數(shù)據(jù)未存儲(chǔ)在存儲(chǔ)單元中時(shí) 將表示未保持?jǐn)?shù)據(jù)的信息(數(shù)據(jù)未保持信息)發(fā)送到計(jì)算機(jī)13 。 微處理器2 6使用信息發(fā)送/接收密鑰以基于三重D E S對(duì)數(shù)據(jù)保 持信息或數(shù)據(jù)未保持信息進(jìn)行加密,并將加密后的數(shù)據(jù)保持信 息或數(shù)據(jù)未保持信息發(fā)送到計(jì)算機(jī)13(S-31)。
在接收到數(shù)據(jù)保持信息或數(shù)據(jù)未保持信息時(shí),計(jì)算機(jī)13的 中央處理器使用信息發(fā)送/接收密鑰來對(duì)基于三重DES的數(shù)據(jù) 保持信息或數(shù)據(jù)未保持信息進(jìn)行解密。在接收到數(shù)據(jù)未保持信 息時(shí),中央處理器再次以預(yù)定間隔將加密后的數(shù)據(jù)確認(rèn)命令發(fā) 送到微處理器26,并且詢問微處理器26在存儲(chǔ)單元中是否存在 應(yīng)當(dāng)處理的卡數(shù)據(jù)(數(shù)據(jù)確認(rèn)命令)。在接收到數(shù)據(jù)保持信息時(shí), 中央處理器請(qǐng)求微處理器26發(fā)送存儲(chǔ)在微處理器26的存儲(chǔ)單元 中的卡數(shù)據(jù)(數(shù)據(jù)發(fā)送命令)。中央處理器使用信息發(fā)送/接收密 鑰以基于三重DES對(duì)數(shù)據(jù)發(fā)送命令進(jìn)行加密,并將加密后的數(shù) 據(jù)發(fā)送命令發(fā)送到微處理器(S-32)。當(dāng)微處理器26的中央處理 單元接收到數(shù)據(jù)發(fā)送命令時(shí),其使用信息發(fā)送/接收密鑰以對(duì)基 于三重DES加密的數(shù)據(jù)發(fā)送命令進(jìn)行解密。
微處理器26的中央處理單元從存儲(chǔ)單元中取出數(shù)字信號(hào) (卡數(shù)據(jù))和加密密鑰,并且使用該密鑰對(duì)數(shù)字信號(hào)進(jìn)行加密, 從而提供加密數(shù)據(jù)(加密部件)(S-33)。中央處理單元將加密數(shù)據(jù) 發(fā)送到主計(jì)算機(jī)13(發(fā)送部件)。主計(jì)算機(jī)13具有放大加密數(shù)據(jù) 的放大電路(未示出),從存儲(chǔ)裝置取出解密密鑰,并使用該密 鑰對(duì)放大電路所放大的加密數(shù)據(jù)進(jìn)行解密(解密部件)(S-34)。計(jì) 算機(jī)13可以將解密后的數(shù)字信號(hào)(明文卡數(shù)據(jù))作為文本信息顯 示在顯示器34中(輸出部件),并允許打印機(jī)35打印該解密后的數(shù)字信號(hào)(明文卡數(shù)據(jù))作為打印出的信息(輸出部件)。計(jì)算機(jī)13 將加密后的數(shù)字信號(hào)或者解密后的數(shù)字信號(hào)存儲(chǔ)在存儲(chǔ)裝置 (存儲(chǔ)部件)中。當(dāng)對(duì)加密數(shù)據(jù)進(jìn)行解密時(shí),計(jì)算機(jī)13再次以預(yù) 定間隔將加密數(shù)據(jù)確認(rèn)命令發(fā)送到微處理器26并詢問微處理器 26在存儲(chǔ)單元中是否存在應(yīng)當(dāng)處理的卡數(shù)據(jù)(數(shù)據(jù)確認(rèn)命令)。 每次將加密數(shù)字信號(hào)輸入到計(jì)算機(jī)13時(shí),計(jì)算機(jī)13的中央
儲(chǔ)裝置和存儲(chǔ)單元中的相同的有限回歸計(jì)tt值而相互同步的同 時(shí)順次生成對(duì)數(shù)字信號(hào)進(jìn)行加密和解密所需要的相同的新的第 2到第n密鑰(密鑰生成部件)。在下文,參考圖8到13,將說明由
鑰生成過程的例子。要注意,回歸計(jì)數(shù)值是1到20。然而,沒有 具體限制該回歸計(jì)數(shù)值,并且該計(jì)數(shù)值可以是21或更多。
在啟動(dòng)系統(tǒng)IO之后,當(dāng)在從A/D轉(zhuǎn)換芯片25將第 一數(shù)字信 號(hào)(卡數(shù)據(jù))輸入到微處理器26并且將該數(shù)字信號(hào)存儲(chǔ)在存儲(chǔ)單 元中之后接收到數(shù)據(jù)發(fā)送命令時(shí),如圖8所示,微處理器26的中 央處理單元從存儲(chǔ)在存儲(chǔ)單元中的計(jì)數(shù)表中選擇回歸計(jì)數(shù)值l 并將該計(jì)數(shù)值1添加到數(shù)字信號(hào)。在該計(jì)數(shù)表中形成用于計(jì)數(shù)值 (1到2 0)的存儲(chǔ)區(qū)域以及與該區(qū)域相關(guān)聯(lián)的三個(gè)密鑰存儲(chǔ)區(qū)域 (Kl、 K2和K3)。然而,在圖8中示出的計(jì)tt表中,沒有生成與 回歸計(jì)數(shù)值2到20相對(duì)應(yīng)的第2到第20密鑰。要注意,在導(dǎo)入系 統(tǒng)10時(shí)將與計(jì)數(shù)值1相對(duì)應(yīng)的第1密鑰(密鑰1)設(shè)置為初始值。中 央處理單元從計(jì)數(shù)表中取出與計(jì)數(shù)值l相對(duì)應(yīng)的第l密鑰,使用 該第1密鑰以基于三重DES(三密鑰三重DES)對(duì)數(shù)字信號(hào)和計(jì)數(shù) 值1進(jìn)行加密從而提供加密數(shù)據(jù)(加密部件),并將該加密數(shù)據(jù)發(fā) 送到計(jì)算機(jī)13的中央處理器(發(fā)送部件)。在將加密數(shù)據(jù)發(fā)送到 計(jì)算機(jī)13之后,中央處理單元將回歸計(jì)數(shù)值從1改變?yōu)?,將計(jì)數(shù)值2存儲(chǔ)在存儲(chǔ)單元中,并且從存儲(chǔ)單元擦除第一數(shù)字信號(hào) (卡數(shù)據(jù))。
如在圖9中所示,已經(jīng)接收到第一加密數(shù)據(jù)的計(jì)算機(jī)13的中 央處理器從存儲(chǔ)在存儲(chǔ)裝置中的計(jì)數(shù)表中選擇回歸計(jì)數(shù)值1。在 計(jì)數(shù)表中,形成了用于計(jì)數(shù)值(1到20)的存儲(chǔ)區(qū)域以及與該存儲(chǔ) 區(qū)域相關(guān)聯(lián)的三個(gè)密鑰存儲(chǔ)區(qū)域(K1、 K2和K3)。然而,在圖9 中示出的計(jì)數(shù)表中,沒有生成與回歸計(jì)數(shù)值2到20相對(duì)應(yīng)的第2 到第20密鑰。要注意,與計(jì)數(shù)值l相對(duì)應(yīng)的第l密鑰(密鑰l)與存 儲(chǔ)在微處理器26的存儲(chǔ)單元中的第1密鑰相同,并且在導(dǎo)入系統(tǒng) IO時(shí)將其設(shè)置為初始值。中央處理器從計(jì)數(shù)表中取出與計(jì)數(shù)值l 相對(duì)應(yīng)的第l密鑰,并且使用該第1密鑰以對(duì)基于三重DES(三密 鑰三重DES)加密的數(shù)據(jù)進(jìn)行解密,從而獲得數(shù)字信號(hào)(明文卡 數(shù)據(jù))。在對(duì)加密數(shù)據(jù)進(jìn)行解密之后,中央處理器將回歸計(jì)數(shù)值 從1改變?yōu)?,并且將計(jì)數(shù)值2存儲(chǔ)在存儲(chǔ)裝置中。
當(dāng)在從A/D轉(zhuǎn)換芯片25將第二數(shù)字信號(hào)(卡數(shù)據(jù))輸入到微 處理器26并且將該數(shù)字信號(hào)存儲(chǔ)在存儲(chǔ)單元中之后接收到數(shù)據(jù) 發(fā)送命令時(shí),如在圖10中所示,微處理器26的中央處理單元從 存儲(chǔ)在存儲(chǔ)單元中的計(jì)數(shù)表中選擇回歸計(jì)數(shù)值2并將該計(jì)數(shù)值2 添加到數(shù)字信號(hào)。中央處理單元生成通過使用單向散列函數(shù)對(duì) 與計(jì)數(shù)值1相對(duì)應(yīng)的第1密鑰(初始值)和計(jì)數(shù)值1進(jìn)行散列所獲 得的散列輸出值,并將該散列輸出值確定為與計(jì)數(shù)值2相對(duì)應(yīng)的 第2密鑰(密鑰2)(密鑰生成部件)。將作為第2密鑰(密鑰2)的散列 輸出值寫入計(jì)數(shù)表中與計(jì)數(shù)值2相對(duì)應(yīng)的密鑰存儲(chǔ)區(qū)域(K1 、 K2 和K3)中。要注意,在圖10中說明的計(jì)數(shù)表中沒有生成與回歸 計(jì)數(shù)值3到20相對(duì)應(yīng)的第3到第20密鑰。中央處理單元從計(jì)數(shù)表 中取出與計(jì)數(shù)值2相對(duì)應(yīng)的第2密鑰,使用該第2密鑰以基于三重 DES(三密鑰三重DES)對(duì)數(shù)字信號(hào)(包括計(jì)數(shù)值2)進(jìn)行加密從而提供加密數(shù)據(jù)(加密部件),并且將該加密數(shù)據(jù)發(fā)送到計(jì)算機(jī)13 的中央處理器。在將加密數(shù)據(jù)發(fā)送到計(jì)算機(jī)13之后,中央處理 單元將回歸計(jì)數(shù)值從2改變?yōu)?,將計(jì)數(shù)值3存儲(chǔ)在存儲(chǔ)單元中, 并且從存儲(chǔ)單元擦除該第二數(shù)字信號(hào)(卡數(shù)據(jù))。
如在圖11中所示,已經(jīng)接收到第二加密數(shù)據(jù)的計(jì)算機(jī)13的 中央處理器從存儲(chǔ)在存儲(chǔ)裝置中的計(jì)數(shù)表中選擇回歸計(jì)數(shù)值2。 中央處理器生成通過使用單向散列函數(shù)對(duì)與計(jì)數(shù)值l相對(duì)應(yīng)的 第1密鑰(初始值)和計(jì)數(shù)值1進(jìn)行散列所獲得散列輸出值,并將 該散列輸出值確定為與計(jì)數(shù)值2相對(duì)應(yīng)的第2密鑰(密鑰2)(密鑰 生成部件)。中央處理器使用的散列函數(shù)與微處理器26的中央處 理單元使用的散列函數(shù)相同,并且所生成的第2密鑰(密鑰2)與 由微處理器26的中央處理單元產(chǎn)生的密鑰相同。將用作第2密鑰 (密鑰2)的散列輸出值寫入計(jì)數(shù)表中與計(jì)數(shù)值2相對(duì)應(yīng)的密鑰存 儲(chǔ)區(qū)域(K1、 K2和K3)中。要注意,在圖ll中說明的計(jì)數(shù)表中沒 有生成與回歸計(jì)數(shù)值3到20相對(duì)應(yīng)的第3到第20密鑰。中央處理 器從計(jì)數(shù)表中取出與計(jì)數(shù)值2相對(duì)應(yīng)的第2密鑰,并使用該第2 密鑰以對(duì)基于三重DES(三密鑰三重DES)加密的數(shù)據(jù)進(jìn)行解密, 從而獲得數(shù)字信號(hào)(明文卡數(shù)據(jù))。在對(duì)加密數(shù)據(jù)進(jìn)行解密之后, 中央處理器將回歸計(jì)數(shù)值從2改變?yōu)?,并將計(jì)數(shù)值3存儲(chǔ)在存儲(chǔ) 裝置中。
當(dāng)在從A/D轉(zhuǎn)換芯片25將第三數(shù)字信號(hào)(卡數(shù)據(jù))輸入到微 處理器26并將該數(shù)字信號(hào)存儲(chǔ)在存儲(chǔ)單元中之后接收到數(shù)據(jù)發(fā) 送命令時(shí),如在圖12中所示,微處理器26的中央處理單元/人存 儲(chǔ)在存儲(chǔ)單元中的計(jì)數(shù)表中選擇回歸計(jì)數(shù)值3并且將該計(jì)數(shù)值3 添加到數(shù)字信號(hào)。中央處理單元生成通過使用單向散列函數(shù)對(duì) 與計(jì)數(shù)值2相對(duì)應(yīng)的第2密鑰(密鑰2,散列值)和計(jì)數(shù)值2進(jìn)行散 列所獲得的散列輸出值,并將該散列輸出值確定為與計(jì)數(shù)值3相對(duì)應(yīng)的第3密鑰(密鑰3)(密鑰生成部件)。將用作第3密鑰(密鑰 3)的散列輸出值寫入計(jì)數(shù)表中與計(jì)數(shù)值3相對(duì)應(yīng)的密鑰存儲(chǔ)區(qū) 域(K1、 K2和K3)中。要注意,在圖12中"i兌明的計(jì)凄丈表中沒有生 成與回歸計(jì)數(shù)值4到20相對(duì)應(yīng)的第4到第20密鑰。中央處理單元 從計(jì)數(shù)表中取出與計(jì)數(shù)值3相對(duì)應(yīng)的第3密鑰,使用該第3密鑰以 基于三重DES(三密鑰三重DES)對(duì)數(shù)字信號(hào)(包括計(jì)數(shù)值3)進(jìn)行 加密從而提供加密數(shù)據(jù)(加密部件),并且將該加密數(shù)據(jù)發(fā)送到 計(jì)算機(jī)13的中央處理器。在將加密數(shù)據(jù)發(fā)送到計(jì)算機(jī)13之后, 中央處理單元將回歸計(jì)數(shù)值從3改變?yōu)?,將計(jì)數(shù)值4存儲(chǔ)在存儲(chǔ) 單元中,并且從存儲(chǔ)單元擦除該第三數(shù)字信號(hào)(卡數(shù)據(jù))。
如在圖13中所示,已經(jīng)接收到第三加密數(shù)據(jù)的計(jì)算機(jī)13的 中央處理器從存儲(chǔ)在存儲(chǔ)裝置中的計(jì)數(shù)表中選擇回歸計(jì)數(shù)值3。 中央處理器生成使用單向散列函數(shù)對(duì)與計(jì)數(shù)值2相對(duì)應(yīng)的第2密 鑰(密鑰2)和計(jì)數(shù)值2進(jìn)行散列所獲得的散列輸出值,并將該散 列輸出值確定為與計(jì)數(shù)值3相對(duì)應(yīng)的第3密鑰(密鑰3)(密鑰生成 部件)。由中央處理器生成的第3密鑰(密鑰3)與由微處理器26的 中央處理單元所產(chǎn)生的密鑰相同。將用作第3密鑰(密鑰3)的散 列輸出值寫入計(jì)數(shù)表中與計(jì)數(shù)值3相對(duì)應(yīng)的密鑰存儲(chǔ)區(qū)域(K1 、 K2和K3)中。要注意,在圖13中說明的計(jì)數(shù)表中沒有生成與回 歸計(jì)數(shù)值4到20相對(duì)應(yīng)的第4到第20密鑰。中央處理器從計(jì)數(shù)表 中取出與計(jì)數(shù)值3相對(duì)應(yīng)的第3密鑰,并且使用該第3密鑰以對(duì)基 于三重DES(三密鑰三重DES)加密的數(shù)據(jù)進(jìn)行解密,從而獲得數(shù) 字信號(hào)(明文卡數(shù)據(jù))。在對(duì)加密數(shù)據(jù)進(jìn)行解密之后,中央處理 器將回歸計(jì)數(shù)值從3改變?yōu)?并將計(jì)數(shù)值4存儲(chǔ)在存儲(chǔ)裝置中。
以這種方式,計(jì)算機(jī)13的中央處理器和微處理器26的中央 處理單元在順次利用回歸計(jì)數(shù)值1到20以相互同步的同時(shí)使用 單向散列函數(shù)來生成第2到第n密鑰。當(dāng)回歸計(jì)數(shù)值超過20時(shí),中央處理器和中央處理單元再次使用計(jì)數(shù)值1以順次產(chǎn)生第21 到第40密鑰。在生成第21密鑰時(shí),中央處理器和中央處理單元 利用該第21密鑰來重寫存儲(chǔ)在密鑰存儲(chǔ)區(qū)域中的第1密鑰,并且 在生成第22密鑰時(shí)利用該第22密鑰來重寫存儲(chǔ)在密鑰存儲(chǔ)區(qū)域 中的第2密鑰。
在該磁卡讀取器系統(tǒng)10中,由于計(jì)算機(jī)13的中央處理器和
微處理器26的中央處理單元通過執(zhí)行相互認(rèn)i正部件可以判斷相
互的正當(dāng)性,因此即使偽計(jì)算機(jī)與》茲頭17相連接或者偽磁頭與
計(jì)算機(jī)13相連4妄,也可以4全測(cè)到該連4妄。在系統(tǒng)10中,第三方
不能通過偽計(jì)算才幾或偽》茲頭訪問系統(tǒng)IO,并且可以避免對(duì)萬茲卡
ll中的卡數(shù)據(jù)、散列函數(shù)以及密鑰的竊取。在系統(tǒng)10中,由于 在計(jì)C如.n" *血々卜域哭知微々卜域哭%"小本々卜鄉(xiāng)魚開.刺
:卞人證邵懺所狀恃卞乂 密部件和發(fā)送部件并且中央處理器執(zhí)行解密部件,因此與不進(jìn) 行認(rèn)證就執(zhí)行這些部件的情況相比,可以確保避免對(duì)存儲(chǔ)在f茲 卡ll中的卡數(shù)據(jù)的竊取,從而確保防止第三方對(duì)磁卡ll的不正 當(dāng)復(fù)制或者第三方的"假冒"。
在系統(tǒng)10中,由于計(jì)算機(jī)13的中央處理器和微處理器26的 中央處理單元分別生成第2到第n密鑰,因此計(jì)算機(jī)13不必向微 處理器26發(fā)送每個(gè)密鑰,從而防止在密鑰發(fā)送過程中密鑰被不 正當(dāng)?shù)孬@取。在該系統(tǒng)10中,由于孩i處理器26的中央處理單元 總是使用另 一 密鑰來進(jìn)行加密并且計(jì)算機(jī)13的中央處理器總是 使用另一密鑰來實(shí)行解密,因此即使第三方獲取密鑰,也不能 對(duì)存儲(chǔ)在磁卡ll中的卡數(shù)據(jù)進(jìn)行解密。此外,由于將散列值作 為第2到第n密鑰,因此即使第三方不正當(dāng)?shù)孬@得各個(gè)密鑰,也 不能對(duì)該密鑰進(jìn)行解碼,從而確保避免了第三方對(duì)密鑰的使用。 在系統(tǒng)10中,由于計(jì)算機(jī)13的中央處理器和微處理器26的中央處理單元在使用相同的有限回歸計(jì)數(shù)值以相互同步的同時(shí)
順次生成第2到第n密鑰,計(jì)算機(jī)13生成的密鑰能夠與微處理器 2 6生成的密鑰相匹配,并且可以避免由于所生成的密鑰之間的 不匹配而導(dǎo)致不能對(duì)加密數(shù)據(jù)進(jìn)行解密。此外,用作第2到第n 密鑰的散列輸出值包括通過對(duì)回歸計(jì)數(shù)值進(jìn)行散列所獲得的散 列輸出值,即4吏第三方不正當(dāng)?shù)卦L問系統(tǒng)IO,他/她也不能對(duì)散 列回歸計(jì)數(shù)值進(jìn)行解碼并且不能判斷哪個(gè)計(jì)數(shù)值要用于實(shí)現(xiàn)計(jì)
算機(jī)13的中央處理器與微處理器26的中央處理單元之間的同 步。
當(dāng)在系統(tǒng)10的操作期間計(jì)算機(jī)13的中央處理器和微處理器 26的中央處理單元沒有同步時(shí),由中央處理器生成的密鑰變得 不同于由中央處理單元生成的密鑰,并且中央處理器不能對(duì)從 中央處理單元發(fā)送來的加密數(shù)據(jù)進(jìn)行解密。在這種情況下,計(jì) 算機(jī)13的中央處理器判斷為不可能使用所生成的密鑰進(jìn)行解 密,通知禁止進(jìn)行解密(解密禁止信息),并請(qǐng)求再同步 (resynchronization)(再同步請(qǐng)求)。中央處理器4吏用存儲(chǔ)在存儲(chǔ) 裝置中的信息發(fā)送/接收密鑰以基于三重DES對(duì)解密禁止信息 和再同步請(qǐng)求進(jìn)行加密,并且將加密后的解密禁止信息和再同 步請(qǐng)求發(fā)送到微處理器26。計(jì)算機(jī)13的中央處理器和已經(jīng)接收
它們的正當(dāng)性的外部i^證和內(nèi)部認(rèn)證(參見圖5和圖6)。當(dāng)計(jì)算 機(jī)13的中央處理器和微處理器26的中央處理單元判斷為相互認(rèn) 證的相互認(rèn)證結(jié)果為正當(dāng)時(shí),二者將回歸計(jì)數(shù)值復(fù)位為I(初始 值)以再次開始同步。當(dāng)將計(jì)數(shù)值復(fù)位為l時(shí),中央處理器和中 央處理單元再次使用第l密鑰來執(zhí)行加密和解密。
在系統(tǒng)10中,即使所生成的密鑰相互不匹配,計(jì)算機(jī)13和 微處理器2 6也能夠?qū)⒒貧w計(jì)數(shù)值復(fù)位為1以再次相互同步,因此計(jì)算機(jī)13生成的密鑰可以再次與微處理器26生成的密鑰相匹 配,從而防止由于所生成的密鑰之間的不匹配而導(dǎo)致不能對(duì)卡 數(shù)據(jù)進(jìn)行解密。要注意,在系統(tǒng)10連續(xù)運(yùn)作并且每天、每周或 每年進(jìn)行相互認(rèn)i正時(shí),當(dāng)計(jì)算機(jī)13的中央處理器和樣史處理器26 的中央處理單元判斷為相互認(rèn)i正的相互i人i正結(jié)果為正當(dāng)時(shí),它 們將回歸計(jì)數(shù)值復(fù)位為1以再次相互同步。后續(xù)處理與參考圖8 到13說明的處理相同。
作為單向散列函數(shù),使用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散列。這些散列函數(shù)存儲(chǔ)在計(jì)算機(jī)13的存儲(chǔ)裝置中。
主計(jì)算機(jī)13可以停止使用當(dāng)前所用的散列函數(shù),從存儲(chǔ)在 存儲(chǔ)裝置中的散列函數(shù)中選擇新的散列函數(shù),并且使用所選擇 的散列函數(shù)。每次啟動(dòng)系統(tǒng)10時(shí)可以改變散列函數(shù),或者可以 每天、每周或每月改變散列函數(shù),或者當(dāng)在中央處理器或中央 處理單元變成不同步之后再次實(shí)現(xiàn)同步時(shí)改變散列函數(shù)。當(dāng)使 用新的散列函數(shù)時(shí),計(jì)算機(jī)13指示微處理器26重寫現(xiàn)有的散列 函數(shù)(函數(shù)改變命令)。計(jì)算機(jī)13的中央處理器使用存儲(chǔ)在存儲(chǔ) 裝置中的信息發(fā)送/接收密鑰以基于三重DES對(duì)函數(shù)改變命令 和新的散列函數(shù)進(jìn)行加密,并將加密后的函數(shù)改變命令和散列 函數(shù)發(fā)送到微處理器26。在接收到函數(shù)改變命令和散列函數(shù)時(shí), 微處理器26的中央處理單元使用存儲(chǔ)在存儲(chǔ)單元中的信息發(fā)送 /接收密鑰以對(duì)基于三重DES加密的函數(shù)改變命令和散列函數(shù) 進(jìn)行解密。微處理器26的中央處理單元對(duì)存儲(chǔ)在存儲(chǔ)單元中的 現(xiàn)有散列函數(shù)進(jìn)行解密以利用新的散列函數(shù)來替換該現(xiàn)有散列 函數(shù),并通知計(jì)算機(jī)13完成了改變(改變完成通知)。中央處理 單元使用存儲(chǔ)在存儲(chǔ)單元中的信息發(fā)送/接收密鑰以基于三重DES對(duì)改變完成通知進(jìn)^f于加密,并將加密后的改變完成通知發(fā) 送到計(jì)算機(jī)13。在該系統(tǒng)10中,由于對(duì)函數(shù)改變命令或散列函 數(shù)進(jìn)行加密以改變散列函數(shù),因此第三方不能夠獲取要利用的 散列函數(shù),從而防止了第三方對(duì)散列函數(shù)進(jìn)行解碼。
作為加密算法,除DES以外還可以使用RSA 、 AES(Advanced Encryption Standard, 高級(jí)力口密標(biāo)準(zhǔn))、IEDA(International Data Encryption Algorithm,國(guó)際數(shù)據(jù)加密算法)、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中的 一個(gè)。這些算法存儲(chǔ) 在計(jì)算機(jī)13的存儲(chǔ)裝置中。
主計(jì)算機(jī)13可以停止使用當(dāng)前所用的加密算法,從存儲(chǔ)在 存儲(chǔ)裝置中的加密算法中選擇新的算法,并利用所選擇的算法。 每次啟動(dòng)系統(tǒng)10時(shí)可以改變?cè)摷用芩惴?,或者每天、每周或?月改變?cè)摷用芩惴?,或者?dāng)在中央處理器和中央處理單元不同 步之后再次實(shí)現(xiàn)同步時(shí)可以改變?cè)摷用芩惴ā.?dāng)使用新的加密 算法時(shí),計(jì)算機(jī)13指示微處理器26重寫現(xiàn)有的算法(函數(shù)改變命 令)。計(jì)算機(jī)13的中央處理器使用存儲(chǔ)在存儲(chǔ)裝置中的信息發(fā)送 /接收密鑰以基于三重DES對(duì)函數(shù)改變命令和新的加密算法進(jìn) 行加密,并將加密后的函數(shù)改變命令和算法發(fā)送到微處理器26。 在接收到函數(shù)改變命令和加密算法時(shí),微處理器26的中央處理 單元使用存儲(chǔ)在存儲(chǔ)單元中的信息發(fā)送/接收密鑰以對(duì)基于三 重DES加密的函數(shù)改變命令和算法進(jìn)行解密。微處理器26的中 央處理單元將存儲(chǔ)在存儲(chǔ)單元中的現(xiàn)有算法改變?yōu)榻饷芎蟮男滤惴?,然后向?jì)算機(jī)13通知完成了改變(改變完成通知)。中央 處理單元使用存儲(chǔ)在存儲(chǔ)單元中的信息發(fā)送/接收密鑰以基于 三重DES對(duì)改變完成通知進(jìn)行加密,并將加密后的改變完成通 知發(fā)送到計(jì)算機(jī)13。在該系統(tǒng)10中,由于先對(duì)函數(shù)改變命令或 加密算法進(jìn)行加密然后再改變算法,因此第三方不能獲取要使 用的算法。
權(quán)利要求
1. 一種磁卡讀取器系統(tǒng),包括磁卡讀取器,其包括從存儲(chǔ)預(yù)定數(shù)據(jù)的磁卡讀取所述數(shù)據(jù)的磁頭;以及計(jì)算機(jī),其與所述磁卡讀取器相連接,所述磁卡讀取器系統(tǒng)的特征在于所述磁頭包括芯,其包括將存儲(chǔ)在所述磁卡中的數(shù)據(jù)轉(zhuǎn)換成模擬信號(hào)的線圈;A/D轉(zhuǎn)換芯片,其與所述線圈相連接并將所述模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào);以及數(shù)字IC,其與所述A/D轉(zhuǎn)換芯片相連接;以及所述計(jì)算機(jī)和所述數(shù)字IC具有用于相互認(rèn)證的相互認(rèn)證部件,并且在所述計(jì)算機(jī)和所述數(shù)字IC判斷為由所述相互認(rèn)證部件獲得的相互認(rèn)證結(jié)果為正當(dāng)之后,所述數(shù)字IC執(zhí)行用于通過使用存儲(chǔ)在所述數(shù)字IC中的密鑰對(duì)所述數(shù)字信號(hào)進(jìn)行加密的加密部件和用于將由所述加密部件加密的所述數(shù)字信號(hào)發(fā)送到所述計(jì)算機(jī)的發(fā)送部件,以及所述計(jì)算機(jī)執(zhí)行用于通過使用存儲(chǔ)在所述計(jì)算機(jī)中的密鑰對(duì)加密后的數(shù)字信號(hào)進(jìn)行解密的解密部件。
2. 根據(jù)權(quán)利要求l所述的磁卡讀取器系統(tǒng),其特征在于, 所述計(jì)算機(jī)和所述數(shù)字IC相互同步地執(zhí)行用于順次生成對(duì)所述 數(shù)字信號(hào)進(jìn)行加密和解密所需要的相同的新的第2到第n密鑰的 密鑰生成部件,并且使用所生成的所述第2到第n密鑰對(duì)所述數(shù) 字信號(hào)進(jìn)行加密以及在每次由所述加密部件加密的數(shù)字信號(hào)輸 入到所述計(jì)算機(jī)時(shí)對(duì)加密后的數(shù)字信號(hào)進(jìn)行解密。
3. 根據(jù)權(quán)利要求1或2所述的磁卡讀取器系統(tǒng),其特征在于,散列輸出值用作由所述密鑰生成部件生成的第2密鑰,并且將通 過使用所述單向散列函數(shù)對(duì)由所述單向散列函數(shù)所散列的作為述密鑰生成部件生成的第3到第n密鑰中的每個(gè)密鑰。
4. 根據(jù)權(quán)利要求3所述的磁卡讀取器系統(tǒng),其特征在于, 所述計(jì)算機(jī)和所述數(shù)字IC在通過使用存儲(chǔ)在它們中的相同的有 限回歸計(jì)數(shù)值來相互同步時(shí)順次生成所述第2到第n密鑰,并且 用作所述第2到第n密鑰的所述散列輸出值包括通過對(duì)所述回歸 計(jì)數(shù)值進(jìn)行散列所獲得的散列輸出值。
5. 根據(jù)權(quán)利要求4所述的磁卡讀取器系統(tǒng),其特征在于, 當(dāng)所述計(jì)算機(jī)判斷為不可能使用由所述密鑰生成部件生成的密 鑰進(jìn)行解密時(shí),所述計(jì)算機(jī)再次執(zhí)行與所述數(shù)字IC之間的所述證結(jié)果為正當(dāng)時(shí),所述計(jì)算機(jī)和所述數(shù)字IC將所述回歸計(jì)數(shù)值 復(fù)位為初始值以再次相互同步。
6. 根據(jù)權(quán)利要求1到5中任一項(xiàng)所述的磁卡讀取器系統(tǒng),其 特征在于,所述磁頭包括覆蓋所述磁頭的外圍的殼體,并且所 述芯、所述A/D轉(zhuǎn)換芯片以及所述數(shù)字IC容納于所述殼體中。
7. 根據(jù)權(quán)利要求6所述的磁卡讀取器系統(tǒng),其特征在于, 通過填充所述殼體的內(nèi)部的固態(tài)物質(zhì)來將所述A/D轉(zhuǎn)換芯片和 所述數(shù)字IC固定在所述殼體中。
全文摘要
提供了一種磁卡讀取器系統(tǒng),在該磁卡讀取器系統(tǒng)中,磁頭和計(jì)算機(jī)可以判斷相互的正當(dāng)性并且可以防止對(duì)磁卡的未授權(quán)的復(fù)制。在磁卡讀取器系統(tǒng)10中,計(jì)算機(jī)13和微處理器進(jìn)行相互認(rèn)證并且判斷為基于相互認(rèn)證所獲得的相互認(rèn)證結(jié)果為正當(dāng),然后微處理器對(duì)數(shù)字信號(hào)進(jìn)行加密并將加密后的數(shù)字信號(hào)發(fā)送到計(jì)算機(jī)13,并且計(jì)算機(jī)13對(duì)該加密后的數(shù)字信號(hào)進(jìn)行解碼。
文檔編號(hào)G06K17/00GK101421790SQ200780013769
公開日2009年4月29日 申請(qǐng)日期2007年4月6日 優(yōu)先權(quán)日2006年4月19日
發(fā)明者伊豆山康夫 申請(qǐng)人:Cis電子工業(yè)有限公司