專利名稱::一種讀卡器及智能卡的制作方法
技術領域:
:本發明涉及IC卡
技術領域:
,具體涉及一種讀卡器及智能卡。
背景技術:
:IC卡又叫智能卡(SmartCard),一般用于指一張給定大小的塑料卡片,上面封裝了集成電路芯片,用于存儲和處理數據。IC卡根據接口模塊通信原理及封裝方式的不同,又可分為接觸式IC卡和非接觸式IC卡兩類。IC卡技術被廣泛應用于社會的各個領域,也極大地方便了人們的生活。主要應用為接觸式IC卡社會保障個人IC卡、交通管理卡、市場管理卡、報稅卡、加油卡、智能住宅小區管理卡、病例卡、校園卡、電話卡、電表卡、燃氣預付費卡、預付費電卡、預付費電視卡、手機SIM卡、食堂收費卡、會員卡等。用于安全性要求較高,讀寫頻率要求不高、讀寫速度要求較低的場合。非接觸卡第二代公民身份證、市民卡、公交收費卡、高速公路收費卡、停車場收費卡、門禁卡、員工考勤卡、公園等門票IC卡等,用于讀寫頻率較高,讀寫速度要求高、應用環境比較惡劣,安全要求不太高的場合。IC卡讀卡器又叫IC卡讀寫機具,它是遵循一定的協議,與IC卡建立通信關系,對IC卡進行讀寫操作的工具。隨著IC卡在社會各領域的廣泛應用,各種各樣的IC卡讀寫機具也應運而生。如圖1所示,IC卡讀卡器一般的結構包括中央處理單元CPU、RAM、讀寫單元、FLASH、I/0控制單元、通訊單元。底層驅動程序存放在FLASH中;讀寫單元選擇接觸與非接觸方式與IC卡片進行通信實現對IC卡片的數據讀寫;1/0控制單元用于提供LED顯示或按鍵選擇I/0口等。在目前的應用中,IC卡廣泛的應用領域帶來了各種各樣IC卡讀卡器。使用IC卡讀卡器識別不同結構卡片的應用也越來越廣泛,尤其是作為個人身份認證識別的非接觸IC卡的門禁讀卡器及門禁系統越來越被廣泛使用,出入口門禁安全管理系統是新型現代化安全管理系統,它集微機自動識別技術和現代安全管理措施為一體,它涉及電子、機械、光學、計算機技術、通訊技術等諸多新技術。它是重要部門出入口實現安全防范管理的有效措施。適用各種機要部門,如銀行、賓館、機房、軍械庫、機要室、辦公間、智能化小區、工廠、學校等。門禁系統早已超越了單純的門道及鑰匙管理,它已經逐漸發展成為一套完整的出入管理系統。它在工作環境安全、人事考勤管理等行政管理工作中發揮著巨大的作用。—方面,門禁系統多是獨立運行,各個單位或部門單獨管理。由于管理的多樣性,導致不同門禁系統中的關鍵設備讀卡器硬件底層軟件很難統一化,不同的門禁系統中的讀卡器具有不同的指令執行流程,一個門禁系統中的讀卡器應用就必須定制一個底層軟件(一套指令執行流程)的紛繁局面。另一方面,對于門禁系統中的讀卡器所讀寫的門禁ic卡,必須是使用特定文件存儲目錄結構的卡片。這是因為讀卡器在執行讀卡指令時驅動程序中要事先設置其要讀寫的卡片內信息在卡片中的存儲位置,而卡片內信息在卡片中的存儲位置是取決于卡片的文件存儲目錄結構的,因此要求一個讀卡器所讀寫的IC卡片的文件存儲目錄結構是特定的。如果在門禁ic卡中的文件存儲目錄結構發生改變的情況下,讀卡器在執行讀卡命令時,利用原驅動程序是無法找到要讀取的卡片內信息,就需要由軟件開發人員修改讀卡器的底層驅動程序,經過重新編譯和調試,再下載讀卡器中,帶來工作量大、可靠性差、讀卡器版本維護和更新成本大的問題。
發明內容本發明提供一種讀卡器及智能卡,用于解決現有技術中存在的不同門禁系統中的讀卡器采用不同的指令執行流程,造成讀卡器硬件底層軟件很難統一化的問題。本發明提供了一種讀卡器,包括指示信息讀取單元,用于讀取智能卡上預先存儲的操作指示信息;指示信息解析單元,用于對所述指示信息讀取單元所讀取的操作指示信息進行解析,獲得讀卡器要執行的操作信息;操作執行單元,用于根據所述指示信息解析單元獲得的讀卡器要執行的操作信息調用相應的指令執行對應操作,在操作執行過程中向智能卡發送數據,并依據從智能卡接收的數據確定下一步操作,完成與智能卡的交互通信過程。本發明還提供了一種與上述讀卡器所對應的智能卡,包括操作指示信息存儲單元,其存儲有用于指示讀卡器所要執行的操作的操作指示信息;操作指示信息發送單元,用于與讀卡器通信時首先將操作指示信息存儲單元所存儲的操作指示信息發送給讀卡器;交互單元,用于在讀卡器依據操作指示信息執行操作的過程中,完成與讀卡器的交互通信。本發明有益效果如下1)通過智能卡上的操作指示信息存儲單元,可以按預定指令執行流程設置命令碼集合,使讀卡器按預定指令執行流程完成與智能卡的通信,從而使讀卡器硬件底層軟件統一化;2)由于可以采用PC機編寫配置信息,使更多的非專業開發人員可以隨時達到在不需要重新修改編譯并調試底層程序的情況下,實現對讀卡器指令中的指令參數的修改,節省了時間和人力,使得可靠性穩定,大大減少了工作量。圖l為現有讀卡器的圖2為本發明實施例圖3為本發明實施例圖4為本發明實施例圖5為本發明實施例圖6為本發明實施例構中讀卡器的結構圖;中智能卡的文件存儲目錄結構;中讀卡器的指令執行流程圖;中讀卡器與卡片的通信流程圖;中讀卡器的結構圖。具體實施例方式如圖2所示,本發明提供了一種讀卡器,該讀卡器包括指示信息讀取單元、指示信息解析單元、操作執行單元,優選地,該讀卡器還包括通訊單元、存儲單元和對應關系設置單元,其中通訊單元,負載讀卡器與智能卡之間的數據通信;存儲單元,用于預先存儲讀卡器執行不同操作所調用的指令;對應關系設置單元,用于預先設置存儲單元中的指令與命令碼之間的對應關系;指示信息讀取單元,用于讀取智能卡上預先存儲的操作指示信息;指示信息解析單元,用于對所述指示信息讀取單元所讀取的操作指示信息進行解析,獲得讀卡器要執行的操作信息;操作執行單元,用于根據所述指示信息解析單元獲得的讀卡器要執行的操作信息調用相應的指令執行對應操作,在操作執行過程中向智能卡發送數據,并依據從智能卡接收的數據確定下一步操作,完成與智能卡的交互通信過程。本發明所提供的與上述讀卡器對應的智能卡除了一般所具有的結構外,還包括操作指示信息存儲單元,本所示所提供的與上述讀卡器對應的智能卡包括操作指示信息存儲單元,其存儲有用于指示讀卡器所要執行的操作的操作指示信息;操作指示信息發送單元,用于與讀卡器通信時首先將操作指示信息存儲單元所存儲的操作指示信息發送給讀卡器;交互單元,用于在讀卡器依據操作指示信息執行操作的過程中,完成與讀卡器的交互通信。優先地操作指示信息存儲單元所存儲的操作指示信息包括按預定指令執行流程所設置的命令碼集合,及與所述命令碼集合綁定的指令參數。依照本發明的實施例一中,給出能規范讀卡器的通信流程的讀卡器具體實施方式,避免對不同的讀卡器應用系統中的讀卡器,需要編寫不同的軟件實現各自的通信流程的問題。—般智能卡片中的文件存儲目錄結構,如果應用到門禁系統時,在主文件下存儲門禁應用目錄和其它應用目錄。而在門禁應用目錄下具有應用密鑰文件、卡片個人信息,卡片個人信息目錄下具有卡號和卡相關文件。本實施例中所提供的智能卡,如圖3所示,還在IC卡的卡片文件結構上開辟命令碼數據區,即本實施例中所提供的智能卡具有操作指示信息存儲單元,所存儲的命令碼數據為按預定指令執行流程所設置的命令碼集合。通過事先設置的命令碼與讀卡器所執行的指令的對應關系,讀卡器可以對命令碼集合進解析得到命令碼集合所對應的流程指令。對應地,指示信息讀取單元所讀取的操作指示信息包括按預定指令執行流程所設置的命令碼集合;指示信息解析單元對所述指示信息讀取單元所讀取的命令碼集合,按預先設置的命令碼與指令的對應關系,進行解析獲得與命令碼集合所對應的指令集;操作執行單元逐一調用并執行所述指令集中的指令,按預定指令執行流程完成與智能卡的交互通信過程。這樣讀卡器底層軟件,除了正常的非接觸讀寫功能外,所有對智能卡的操作流程完全依賴于智能卡上的命令碼數據區,所有操作遵循事先設置的原則,只要按命令碼數據區里的數據,讀卡器僅僅是讀出數據,解釋數據,執行設置的命令。對于卡片來說,不同的命令碼數據,決定了卡片的作用及性質。以門禁系統為例,門禁讀卡器與智能卡通信時,當讀到一張智能卡的操作指示信息存儲單元中的命令碼集合時,將命令碼集合全部備份到讀卡器內存,逐條按照設置的命6令碼與指令的對應關系,解析命令碼集合得到其對應的流程指令。表1所示的存儲單元預先存儲的讀卡器執行不同操作所調用的指令舉例,對應關系設置單元給出了表1中每一條指令所對應的命令碼TAG,表1還示出了每一條指令執行時所完成的操作,即命令碼代表什么執行操作,對應可以找到執行該操作的指令,預先存儲的指令集實際是事先設置了命令碼與讀卡器通信流程所執行指令的對應關系,讀卡器根據命令碼來調用相應的指令從而實現按預定流程通信。表1預先存儲的約定指令集<table>tableseeoriginaldocumentpage7</column></row><table><table>tableseeoriginaldocumentpage8</column></row><table>如表1所示,存儲單元預先存儲的指令具有缺省指令參數,這里所說的缺省指令參數是具體是指在按所操作指示信息調用存儲單元內的指令時,在沒有進行更新配置的情況下,指令執行時所用到的參數為上次更新后的指令參數為缺省指令參數。第一次使用時,以事先設置的指令參數為缺省指令參數。在智能卡按預定指令執行流程設置的命令碼集合時,還可以設置與命令碼集合綁定的指令參數,相應地,讀卡器中的指示信息讀取單元還用于讀取智能卡預先存儲的與命令碼集合綁定的指令參數;該讀卡器還包括參數更新單元,用于利用所述與命令碼綁定的指令參數更新存儲單元內指令的缺省指令參數;所述操作執行單元,在參數更新單元完成上述更新后,逐一調用并執行所述指令集中的指令,按預定指令執行流程完成與智能卡的交互通信過程。這樣,從智能卡讀取的操作指示信息的格式如表2所示表2操作指示信息的格式0字節(TAG)1字節(LE)參數1(P1)參數2(P2)參數3(P3)命令碼后續參數長度其中,TAG為命令碼,對應讀卡器上存儲單元內指令集中不同的指令,指令集中不同指令的TAG碼不同,實現的功能也不同;LE為TAG命令后續參數長度,后面對應著相應指令參數。而智能卡上的命令碼所對應的指令是包含在事先設置并存儲在讀卡器上存儲單元內的指令集中,根據不同應用指令集可以增加或刪減。因此,卡片發行時,除了必要的卡片信息和應用密鑰,在應用目錄下還有專用的命令碼數據區,命令碼數據區是按照事先設想要實現的指令執行流程,用《約定指令集》里的指令以十六進制數編寫,這個區域設計為只讀,認證后可改寫。指令集中包含算術運算、跳轉指令,條件判斷,數據存儲、卡片專用命令、錯誤信息提示等功能的指令,就可以指導卡片和讀卡器之間的數據交互,同時按照預先指定流程使讀卡器完成其他操作。如圖4示出了讀卡器指令執行流程。8對于門禁系統,如圖5所示,讀取卡片內的命令碼數據后,查找到對應的指令集合,逐條執行指令集合中的指令,完成以下通信流程首先讀取卡片內的唯一卡號,供門禁系統內部認證使用;判斷是否認證成功,若失敗,則返回失敗信息并退出與卡片的通信;若認證成功,則讀取卡內的卡信息文件,將卡號及有效期在讀卡器內存指定位置;讀卡器本機向后臺查詢卡號,判斷卡號是否為本門禁系統的卡,通過繼續,反之報非系統卡,退出與卡片的通信;讀卡器查詢系統時間,比較卡片有效期與讀卡器系統時間判斷卡片是否在有效期內;若在有效期內,則整理開門數據上傳后臺,放行門鎖打開;若不在有效期內,則報卡片失效,退出與卡片的通信。將記錄數據上傳系統,成功,流程結束。依照本發明的實施例二中,與實施例一相同的是,該讀卡器包括指示信息讀取單元、指示信息解析單元、操作執行單元,及優選地包括通訊單元、對應關系設置單元和存儲單元。同樣,存儲單元預先存儲的指令具有缺省指令參數,這里所說的缺省指令參數具體是指在按所讀取的操作指示信息調用存儲單元內的指令時,在沒有進行更新配置的情況下,以上次更新后的指令參數為缺省指令參數。第一次使用時,以事先設置的指令參數為缺省指令參數。不同的是,本實施例中讀卡器可以通過事先編寫配置信息來修改指令集中指令的指令參數,使讀卡器按預定指令執行流程執行對應的指令時,采用修改后的指令參數,且該修改不需要專業人員來修改調試。如圖6所示,該讀卡器還包括配置信息獲取單元、鏈接單元和修改單元,優選該讀卡器還可以包括配置信息下載單元,其中配置信息下載單元,用于通過I/O控制單元從計算機終端上下載根據需求事先編寫的配置信息,并將其發送給配置信息獲取單元,該I/O控制單元用于控制讀卡器的配置信息下載單元與計算機終端的I/O口通信。配置信息獲取單元,接收配置信息下載單元所下載的配置信息;鏈接單元,用于利用配置信息獲取單元所獲取的配置信息,按預先設置規則鏈接到修改缺省指令參數的讀卡器底層驅動文件;修改單元,用于執行鏈接單元所鏈接到的修改缺省指令參數的讀卡器底層驅動文件,完成缺省指令參數的修改。優選配置信息獲取單元所獲取的配置信息包括配置代碼和配置參數;鏈接單元根據所述配置代碼按預先設置規則,鏈接到與配置代碼對應的修改缺省指令參數的讀卡器底層驅動文件;修改單元,在執行所鏈接到的修改缺省指令參數的讀卡器底層驅動文件時,利用所述配置參數修改缺省指令參數。存儲單元還用于存儲修改缺省指令參數的讀卡器底層驅動文件。這樣,由于配置信息中的配置代碼可以通過預先設置規則鏈接到修改缺省指令參數的讀卡器底層驅動文件,所鏈接到的修改缺省指令參數的讀卡器底層驅動文件執行時,利用配置信息中的配置參數更新指令參數。只要安裝人員了解簡單的預先設置規則,輸入其想要鏈接的修改缺省指令參數的讀卡器底層文件驅動行為所對應的配置代碼,并編寫配9置參數,就可以鏈接到修改不同缺省指令參數的讀卡器底層驅動文件,并完成指令參數更新。讀卡器在執行讀卡指令時,需要依據讀卡指令中的指令參數_卡號存儲位置,來讀取卡片內的卡號。若讀取的卡號在卡片中的存儲位置發生變化,傳統方法需要軟件開發人員通過修改讀卡器底層驅動文件來修改讀卡器指令的指令參數。使用本實施例中的讀卡器完成上述指令參數修改則變的簡單的多,只需要安裝人員了解簡單的預先設置規則,根據配置代碼與修改指令參數的讀卡器底層驅動文件的對應關系,在上位機(PC)上設置配置代碼及配置參數來編寫配置信息,并將配置信息通過通訊口下載到讀卡器中,即可使讀卡器完成讀卡指令中的指令參數修改,使讀卡器能適應新需求,可以識別其它文件存儲目錄結構的卡片或其它文件存儲目錄結構,無需修改底層驅動文件,從而實現更改讀卡器應用需求的目的。本實施例讀卡器中的鏈接單元用于將配置文件中的配置代碼進行解釋鏈接其對應的修改指令參數的讀卡器底層驅動文件。可以將上述修改指令參數的讀卡器底層驅動文件存儲在存儲單元中。通過上述帶有鏈接單元的讀卡器在讀卡時,能實現識別各種智能IC卡的功能。1/O控制單元還用于控制中央處理單元與LED顯示或按鍵選擇I/O口的通信。其中,讀卡器還包括FLASH存儲器,實現上述修改缺省指令參數的讀卡器底層驅動文件、配置信息獲取單元、鏈接單元和修改單元的程序均存放在FLASH存儲器中。顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。權利要求一種讀卡器,其特征在于,包括指示信息讀取單元,用于讀取智能卡上預先存儲的操作指示信息;指示信息解析單元,用于對所述指示信息讀取單元所讀取的操作指示信息進行解析,獲得讀卡器要執行的操作信息;操作執行單元,用于根據所述指示信息解析單元獲得的讀卡器要執行的操作信息調用相應的指令執行對應操作,在操作執行過程中向智能卡發送數據,并依據從智能卡接收的數據確定下一步操作,完成與智能卡的交互通信過程。2.如權利要求l所述的讀卡器,其特征在于,所述指示信息讀取單元所讀取的操作指示信息包括按預定指令執行流程所設置的命令碼集合;所述指示信息解析單元對所述指示信息讀取單元所讀取的命令碼集合,按預先設置的命令碼與指令的對應關系,進行解析獲得與命令碼集合所對應的指令集;所述操作執行單元逐一調用并執行所述指令集中的指令,按預定指令執行流程完成與智能卡的交互通信過程。3.如權利要求2所述的讀卡器,其特征在于,該讀卡器還包括存儲單元,用于預先存儲讀卡器執行不同操作所調用的指令;對應關系設置單元,用于預先設置存儲單元中的指令與命令碼之間的對應關系。4.如權利要求3所述的讀卡器,其特征在于,該讀卡器還包括參數更新單元,其中所述存儲單元預先存儲的指令具有缺省指令參數;所述指示信息讀取單元還用于讀取智能卡預先存儲的與命令碼集合綁定的指令參數;所述參數更新單元,用于利用所述與命令碼綁定的指令參數更新存儲單元內指令的缺省指令參數;所述操作執行單元,在參數更新單元完成上述更新后,逐一調用并執行所述指令集中的指令,按預定指令執行流程完成與智能卡的交互通信過程。5.如權利要求3所述的讀卡器,其特征在于,所述存儲單元預先存儲的指令具有缺省指令參數;該讀卡器還包括配置信息獲取單元,用于獲取配置信息;鏈接單元,用于利用配置信息獲取單元所獲取的配置信息,按預先設置規則鏈接到修改缺省指令參數的讀卡器底層驅動文件;修改單元,用于執行鏈接單元所鏈接到的修改缺省指令參數的讀卡器底層驅動文件,完成缺省指令參數的修改。6.如權利要求5所述的讀卡器,其特征在于,所述配置信息獲取單元所獲取的配置信息包括配置代碼和配置參數;所述鏈接單元,根據所述配置代碼按預先設置規則,鏈接到與配置代碼對應的修改缺省指令參數的讀卡器底層驅動文件;所述修改單元,在執行所鏈接到的修改缺省指令參數的讀卡器底層驅動文件時,利用所述配置參數修改缺省指令參數。7.如權利要求6所述的讀卡器,其特征在于,該讀卡器還包括配置信息下載單元,用于從計算機終端上下載根據需求事先編寫的配置信息,并將其發送給配置信息獲取單元。8.如權利要求57任一所述的讀卡器,其特征在于,所述存儲單元還用于存儲修改缺省指令參數的讀卡器底層驅動文件。9.一種智能卡,其特征在于,包括操作指示信息存儲單元,其存儲有用于指示讀卡器所要執行的操作的操作指示信息;操作指示信息發送單元,用于與讀卡器通信時首先將操作指示信息存儲單元所存儲的操作指示信息發送給讀卡器;交互單元,用于在讀卡器依據操作指示信息執行操作的過程中,完成與讀卡器的交互通信。10.如權利要求9所述的智能卡,其特征在于,所述操作指示信息存儲單元所存儲的操作指示信息包括按預定指令執行流程所設置的命令碼集合,及與所述命令碼集合綁定的指令參數。全文摘要本發明公開了一種讀卡器及智能卡,智能卡預先存儲有操作指示信息,該讀卡器包括指示信息讀取單元,用于讀取智能卡上預先存儲的操作指示信息;指示信息解析單元,用于對所述指示信息讀取單元所讀取的操作指示信息進行解析,獲得讀卡器要執行的操作信息;操作執行單元,用于根據所述指示信息解析單元獲得的讀卡器要執行的操作信息調用相應的指令執行對應操作,在操作執行過程中向智能卡發送數據,并依據從智能卡接收的數據確定下一步操作,完成與智能卡的交互通信過程。利用本發明所提供的讀卡器按預定指令執行流程完成與智能卡的通信,從而使讀卡器硬件底層軟件統一化。文檔編號G07C9/00GK101706860SQ200910091499公開日2010年5月12日申請日期2009年8月24日優先權日2009年8月24日發明者劉紅,段永剛,陳杰申請人:北京握奇數據系統有限公司