專利名稱:多功能讀卡器及其實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息安全領(lǐng)域,特別涉及一種多功能讀卡器及其實現(xiàn)方法。
背景技術(shù):
隨著數(shù)字信息技術(shù)的高速發(fā)展,數(shù)字信息技術(shù)已經(jīng)突破了傳統(tǒng)的局限,涉及到商業(yè)、貿(mào) 易與消費領(lǐng)域的電子產(chǎn)品。目前,智能卡的應(yīng)用越來越廣泛,已經(jīng)全面的應(yīng)用到人們的生活 中。
智能卡的使用,需要有相應(yīng)的支持智能卡操作的終端機具也就是讀卡器,讀卡器給智能 卡和計算機提供了一個經(jīng)濟、安全和通用的界面,它適用于各種計算機接口,并且憑借內(nèi)置 的強大的軟件,能夠兼容各類已有的以及即將面世的智能卡、操作系統(tǒng)和工業(yè)API(Application Programming Interface,應(yīng)用程序接口)標準。讀卡器目前可以應(yīng)用在企業(yè)安全、PKI架構(gòu)、 家庭銀行及電子商務(wù)等領(lǐng)域。通過讀卡器,可以利用強大、安全和易于攜帶的智能卡,在組 織內(nèi)部實施統(tǒng)一和集成的安全策略。
目前的讀卡器在進行智能卡應(yīng)用時,首先將讀卡器鏈接主機,并要將智能卡插入讀卡器 內(nèi),則用戶可以通過讀卡器對智能卡進行通信,各種應(yīng)用都是基于智能卡進行的,讀卡器只 是一個透明通道,因此讀卡器的功能比較單一,應(yīng)用范圍窄。
發(fā)明內(nèi)容
為了解決讀卡器的認證功能比較單一的問題,本發(fā)明提供了一種多功能讀卡器的實現(xiàn)方 法和多功能讀卡器。所述技術(shù)方案如下-
一種多功能讀卡器的實現(xiàn)方法,所述方法包括
讀卡器對自身的卡槽內(nèi)是否有卡片插入以及自身是否處于聯(lián)機狀態(tài)進行判斷; 當判斷出所述讀卡器的卡槽內(nèi)沒有卡片插入時,所述讀卡器進行運算,生成一次性口令; 或,當判斷出所述讀卡器的卡槽內(nèi)有卡片插入且所述讀卡器處于聯(lián)機狀態(tài)時,所述讀卡 器按照主機發(fā)來的卡操作請求對所述卡片執(zhí)行相應(yīng)的操作;
或,當判斷出所述讀卡器的卡槽內(nèi)有卡片插入且所述讀卡器處于脫機狀態(tài)時,所述讀卡器結(jié)合卡片進行運算,生成認證碼。 所述方法具體包括
讀卡器判斷自身的卡槽內(nèi)是否有卡片插入;
如果沒有卡片插入,則所述讀卡器進行運算,生成一次性口令; 如果有卡片插入,則所述讀卡器判斷自身是否處于聯(lián)機狀態(tài);
如果處于聯(lián)機狀態(tài),則所述讀卡器按照主機發(fā)來的卡操作請求對所述卡片執(zhí)行相應(yīng) 的操作;
如果處于脫機狀態(tài),則所述讀卡器結(jié)合卡片進行運算,生成認證碼。 所述方法具體包括-讀卡器判斷自身是否處于聯(lián)機狀態(tài);
如果處于聯(lián)機狀態(tài),則所述讀卡器判斷自身卡槽內(nèi)是否有卡片插入; 如果沒有卡片插入,則所述讀卡器進行運算,生成一次性口令;
如果有卡片插入,則所述讀卡器按照主機發(fā)來的卡操作請求對所述卡片執(zhí)行相應(yīng)的 操作;
如果處于脫機狀態(tài),則所述讀卡器判斷自身卡槽內(nèi)是否有卡片插入; 如果沒有卡片插入,則所述讀卡器進行運算,生成一次性口令; 如果有卡片插入,則所述讀卡器結(jié)合卡片進行運算,生成認證碼。
所述讀卡器進行運算,生成一次性口令之前,還包括-
所述讀卡器判斷用戶是否請求獲取一次性口令,如果是,則執(zhí)行進行運算,生成一次性
口令的步驟,否則,結(jié)束當前流程,返回等待系統(tǒng)調(diào)用狀態(tài)。
所述讀卡器通過檢測自身的USB狀態(tài)來判斷自身是否處于聯(lián)機狀態(tài)。 所述讀卡器按照主機發(fā)來的卡操作請求對所述卡片執(zhí)行相應(yīng)的操作之前,還包括 所述讀卡器判斷是否有主機發(fā)來的卡操作請求,如果有,則執(zhí)行按照主機發(fā)來的卡操作
請求對卡片執(zhí)行相應(yīng)的操作的步驟;否則,結(jié)束當前流程,返回等待系統(tǒng)調(diào)用狀態(tài)。 所述讀卡器結(jié)合卡片進行運算,生成認證碼之前,還包括
所述讀卡器判斷用戶是否有認證請求,如果有,則所述讀卡器結(jié)合卡片進行運算,生成 認證碼,否則,結(jié)束當前流程,返回等待系統(tǒng)調(diào)用狀態(tài)。 一種多功能讀卡器,所述讀卡器包括 電源模塊,用于給所述讀卡器供電;
輸入/輸出模塊,用于接收用戶輸入的各種信息,還用于輸出所述讀卡器生成的一次性口令或認證碼;
判斷模塊,用于對所述讀卡器的卡槽內(nèi)是否有卡片插入以及對所述讀卡器是否處于聯(lián)機 狀態(tài)進行判斷;
運算模塊,用于當所述判斷模塊判斷出所述讀卡器的卡槽內(nèi)沒有卡片插入時,進行運算, 生成一次性口令,當所述判斷模塊判斷出所述讀卡器的卡槽內(nèi)有卡片插入,且所述讀卡器處 于脫機狀態(tài)時,結(jié)合卡片進行這算,生成認證碼;
操作模塊,用于當所述判斷模塊判斷出所述讀卡器的卡槽內(nèi)有卡片插入且所述讀卡器處 于聯(lián)機狀態(tài)時,按照主機發(fā)來的卡操作請求對所述卡片執(zhí)行相應(yīng)的操作。
所述電源模塊通過電池對所述讀卡器供電,或者通過USB接口對所述讀卡器供電。
所述輸入/輸出模塊具體包括鍵盤單元、觸摸單元、顯示單元和發(fā)聲單元。
所述判斷模塊具體包括-
卡片插入判斷單元,用于判斷所述讀卡器的卡槽內(nèi)是否有卡片插入,如果沒有卡片插入, 則通知所述運算模塊進行運算,生成一次性口令;
聯(lián)機狀態(tài)判斷單元,用于當所述卡片插入判斷單元判斷出有卡片插入時,判斷所述讀卡 器是否處于聯(lián)機狀態(tài),如果處于聯(lián)機狀態(tài),則通知所述操作模塊按照主機發(fā)來的卡操作請求 對所述卡片執(zhí)行相應(yīng)的操作,如果處于脫機狀態(tài),則通知所述運算模塊結(jié)合卡片進行運算, 生成認證碼。
所述判斷模塊具體包括-
聯(lián)機狀態(tài)判斷單元,用于判斷所述讀卡器是否處于聯(lián)機狀態(tài);
卡片插入判斷單元,用于在所述聯(lián)機狀態(tài)判斷單元判斷后,判斷所述讀卡器卡槽內(nèi)是否 有卡片插入,如果沒有卡片插入,則通知所述運算模塊進行運算,生成一次性口令,如果有 卡片插入,且所述聯(lián)機狀態(tài)判斷單元判斷出所述讀卡器處于聯(lián)機狀態(tài)時,通知所述操作模塊 按照主機發(fā)來的卡操作請求對所述卡片執(zhí)行相應(yīng)的操作,如果有卡片插入,且所述聯(lián)機狀態(tài) 判斷單元判斷出所述讀卡器處于脫機狀態(tài)時,通知所述運算模塊結(jié)合卡片進行運算,生成認 證碼。
所述判斷模塊還包括
用戶請求判斷單元,用于當所述判斷模塊判斷出所述讀卡器的卡槽內(nèi)沒有卡片插入時, 判斷用戶是否請求獲取一次性口令,如果是,則通知所述運算模塊進行運算,生成一次性口 令,否則,結(jié)束當前流程,返回等待系統(tǒng)調(diào)用狀態(tài)。
所述判斷模塊通過檢測所述讀卡器的USB狀態(tài)來判斷所述讀卡器是否處于聯(lián)機狀態(tài)。所述判斷模塊還包括
卡操作請求判斷單元,用于當所述判斷模塊判斷出所述讀卡器的卡槽內(nèi)有卡片插入且所 述讀卡器處于聯(lián)機狀態(tài)時,判斷是否有主機發(fā)來的卡操作請求,如果有,則通知所述操作模 塊按照主機發(fā)來的卡操作請求對所述卡片執(zhí)行相應(yīng)的操作,否則,結(jié)束當前流程,返回等待 系統(tǒng)調(diào)用狀態(tài)。
所述判斷模塊還包括
認證請求判斷單元,用于當所述判斷模塊判斷出所述讀卡器的卡槽內(nèi)有卡片插入且所述 讀卡器處于脫機狀態(tài)時,判斷用戶是否有認證請求,如果有,則通知所述運算模塊結(jié)合卡片 進行運算,生成認證碼,否則,結(jié)束當前流程,返回等待系統(tǒng)調(diào)用狀態(tài)。
本發(fā)明提供的技術(shù)方案帶來的有益效果是提供了一種多功能讀卡器及其實現(xiàn)方法,克 服了現(xiàn)有讀卡器認證功能比較單一的缺陷,本發(fā)明提供的讀卡器通用性好,除了能夠完成智 能卡閱讀器的功能之外,還可以用于插入卡片時的認證,如產(chǎn)生認證碼(Token),并應(yīng)用在 網(wǎng)銀、在線支付等身份認證領(lǐng)域,而且,還可以應(yīng)用在無卡狀態(tài)下產(chǎn)生一次性密碼或挑戰(zhàn)碼 用于網(wǎng)游、操作系統(tǒng)等的登陸身份認證。
圖1是本發(fā)明實施例1提供的多功能讀卡器的實現(xiàn)方法流程圖2是本發(fā)明實施例1提供的多功能讀卡器的進行運算生成認證碼的流程圖3是本發(fā)明實施例2提供的多功能讀卡器的實現(xiàn)方法流程圖4是本發(fā)明實施例3提供的多功能讀卡器的一個結(jié)構(gòu)圖5是本發(fā)明實施例3提供的多功能讀卡器的另一個結(jié)構(gòu)圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進 一步地詳細描述。
本發(fā)明實施例提供了一種多功能讀卡器的實現(xiàn)方法,包括讀卡器對自身的卡槽內(nèi)是否 有卡片插入以及自身是否處于聯(lián)機狀態(tài)進行判斷,當判斷出卡槽內(nèi)沒有卡片插入時,讀卡器 進行運算,生成一次性口令;當判斷出卡槽內(nèi)有卡片插入且讀卡器處于聯(lián)機狀態(tài)時,讀卡器 按照主機發(fā)來的卡操作請求對卡片執(zhí)行相應(yīng)的操作;當判斷出卡槽內(nèi)有卡片插入且讀卡器處 于脫機狀態(tài)時,結(jié)合卡片進行運算,生成認證碼。實施例1
在本實施例中,讀卡器上帶有鍵盤和液晶顯示屏,參見圖1,本實施例提供了一種多功 能讀卡器的實現(xiàn)方法,具體包括-
步驟101:讀卡器上電,硬件初始化;
步驟102:讀卡器判斷自身的卡槽內(nèi)是否有卡片插入,如果沒有卡片插入,則執(zhí)行步驟 103,如果有卡片插入,則執(zhí)行步驟105;
步驟103:讀卡器判斷用戶是否有獲取一次性口令的請求,如果有,則執(zhí)行步驟104,如 果沒有,則結(jié)束當前流程,返回等待系統(tǒng)調(diào)用狀態(tài);
其中,用戶向讀卡器發(fā)出請求獲取一次性口令,可以通過按下讀卡器上特定的按鍵而產(chǎn) 生OTP請求來實現(xiàn)。
步驟104:讀卡器進行OTP (OneTime Password, —次性口令)運算,生成一次性口令, 并將生成的一次性口令在液晶顯示屏上顯示出來,然后當前流程結(jié)束,返回等待系統(tǒng)調(diào)用狀 態(tài);
其中,OTP是相對于傳統(tǒng)的靜態(tài)口令而言的,是動態(tài)口令,即變化的密碼,其變化來源 于產(chǎn)生密碼的運算因子是變化的。動態(tài)口令的生成算法一般都采用雙運算因子, 一是用戶身 份的識別碼,是固定不變的,如用戶的私有密鑰;二是變動因子,如時間、隨機數(shù)、計數(shù)器 值等。本實施例中,OTP運算的方法與現(xiàn)有技術(shù)中的OTP運算的方法相同。
步驟105:讀卡器判斷自身是否處于聯(lián)機狀態(tài),如果是,則執(zhí)行步驟106,否則,讀卡器 處于脫機狀態(tài),則執(zhí)行步驟108;
其中,讀卡器判斷自身是否處于聯(lián)機狀態(tài)的方法具體為
讀卡器檢測自身的USB (Universal Serial Bus,通用串行總路線)狀態(tài)機,判斷USB枚 舉是否成功,如果成功,則表示讀卡器為聯(lián)機狀態(tài),否則,為脫機狀態(tài)。
步驟106:讀卡器判斷是否有主機發(fā)來的卡操作請求,如果有,則執(zhí)行步驟107,如果沒 有,則結(jié)束當前流程,返回等待系統(tǒng)調(diào)用狀態(tài);
步驟107:讀卡器按照主機發(fā)來的卡操作請求,對卡片執(zhí)行相應(yīng)的操作,然后當前流程
結(jié)束,返回等待系統(tǒng)調(diào)用狀態(tài);
步驟108:讀卡器判斷用戶是否有認證請求,如果有,則執(zhí)行步驟109,否則,當前流程 結(jié)束,返回等待系統(tǒng)調(diào)用狀態(tài);
步驟109:讀卡器結(jié)合卡片進行運算,生成認證碼,并將生成的認證碼在液晶顯示屏上 顯示出來,然后當前流程結(jié)束,返回等待系統(tǒng)調(diào)用狀態(tài)。本實施例中,在當前流程結(jié)束后,還可以繼續(xù)重復(fù)執(zhí)行上述流程,返回等待系統(tǒng)調(diào)用狀 態(tài),即為返回步驟101與步驟102之間,再繼續(xù)執(zhí)行上述步驟,具體流程相同。
本實施例中,當讀卡器處于聯(lián)機狀態(tài)并且讀卡器的卡槽內(nèi)有卡插入時,若讀卡器接收到 用戶通過按鍵輸入的獲取一次性口令的請求或者是獲取認證碼的請求,則讀卡器可以是禁止 任何請求,還可以是讀卡器產(chǎn)生一個一次性口令并顯示出來,也可以是讀卡器結(jié)合卡片產(chǎn)生 一個認證碼并顯示出來。
參見圖2,本實施例步驟109中,讀卡器結(jié)合卡片進行運算,生成認證碼的過程,可以 具體包括-
歩驟201:用戶根據(jù)讀卡器上顯示的功能列表選擇自己需要的功能; 步驟202:讀卡器讀取卡片中的數(shù)據(jù);
步驟203:讀卡器判斷卡片認證運算工作模式為哪種模式,如果為第一模式MODEl,則 執(zhí)行步驟204,如果為第二模式M0DE2,則執(zhí)行步驟205,如果為第三模式M0DE3,則執(zhí) 行步驟206;
本實施例中,第一模式是指讀卡器根據(jù)用戶輸入的挑戰(zhàn)碼和帳號等數(shù)據(jù)以及用戶輸入的 PIN (Personal Identification Number,個人身份號碼)碼進行運算,生成認證碼的模式;第二 模式是指讀卡器根據(jù)用戶輸入的PIN碼進行運算,生成認證碼的模式;第三模式是指讀卡器 根據(jù)用戶輸入的挑戰(zhàn)碼以及用戶輸入的PIN碼進行運算,生成認證碼的模式。
步驟204:讀卡器接收用戶輸入的挑戰(zhàn)碼和帳號等數(shù)據(jù),然后執(zhí)行步驟205;
步驟205:讀卡器接收用戶輸入的PIN (Personal Identification Number,個人身份號碼〉 碼,并進行PIN運算,然后執(zhí)行步驟207;
步驟206:讀卡器接收用戶輸入的挑戰(zhàn)碼,然后執(zhí)行步驟205;
步驟207:讀卡器根據(jù)接收到的各種數(shù)據(jù)信息和PIN碼生成AC (Application Cryptogram,
應(yīng)用碼);
步驟208:讀卡器判斷卡片認證運算工作模式是否為第二模式MODE2,且需要TDS (Transaction Data Signing,交易數(shù)據(jù)簽名),如果是,則執(zhí)行步驟209,否則,執(zhí)行步驟210; 步驟209:讀卡器將用戶輸入的交易數(shù)據(jù)傳輸給卡片,然后執(zhí)行步驟210; 步驟210:卡片生成認證碼(Token)并將生成的認證碼(Token)發(fā)送給讀卡器; 步驟2U:讀卡器將接收到的認證碼(Token)在液晶屏上進行顯示。 本實施例中,所述認證運算包括但不限于CAP (Chip Authentication Program,芯片認 證程序)運算和DPA (Dynamic Passcode Authentication,動態(tài)口令認證)運算。其中,CAP
11是一種持卡人的身份驗證方法,它是一個在線的進程,充分利用EMV支付芯片卡固有的認 證功能提供了強大的遠程持卡人的身份驗證,同時CAP也可以提供證據(jù)證明持卡人批準的交 易細節(jié)。
實施例2
在本實施例中,讀卡器上帶有鍵盤和發(fā)聲裝置,參見圖3,本實施例提供了另一種多功 能讀卡器的實現(xiàn)方法,具體包括-
步驟301:讀卡器上電,硬件初始化;
步驟302:讀卡器判斷自身是否處于聯(lián)機狀態(tài),如果是,則執(zhí)行步驟303,否則,讀卡器 為脫機狀態(tài),則執(zhí)行步驟308;
其中,讀卡器判斷自身是否處于聯(lián)機狀態(tài)的方法具體為
讀卡器檢測自身的USB狀態(tài),判斷USB枚舉是否成功,如果成功,則表示讀卡器為聯(lián) 機狀態(tài),否則,為脫機狀態(tài)。
步驟303:讀卡器判斷自身的卡槽內(nèi)是否有卡片插入,如果有卡片插入,則執(zhí)行步驟304, 否則,執(zhí)行步驟306;
步驟304:讀卡器判斷是否有主機發(fā)來的卡操作請求,如果有,則執(zhí)行步驟305,如果沒 有,則結(jié)束當前流程,返回等待系統(tǒng)調(diào)用狀態(tài);
步驟305:讀卡器按照主機發(fā)來的卡操作請求,對卡片執(zhí)行相應(yīng)的操作,然后結(jié)束當前 流程,返回等待系統(tǒng)調(diào)用狀態(tài);
步驟306:讀卡器判斷用戶是否有獲取一次性口令的請求,如果是,則執(zhí)行步驟307,如 果不是,則結(jié)束當前流程,返回等待系統(tǒng)調(diào)用狀態(tài);
其中,用戶向讀卡器發(fā)出請求獲取一次性口令,可以通過按下讀卡器上特定的按鍵而產(chǎn) 生OTP請求來實現(xiàn)。
步驟307:讀卡器進行OTP運算,生成一次性口令,并將生成的一次性口令以語音發(fā)聲 的方式讀出來,然后結(jié)束當前流程,返回等待系統(tǒng)調(diào)用狀態(tài);
其中,OTP是相對于傳統(tǒng)的靜態(tài)口令而言的,是動態(tài)口令,即變化的密碼,其變化來源 于產(chǎn)生密碼的運算因子是變化的。動態(tài)口令的生成算法一般都采用雙運算因子, 一是用戶身 份的識別碼,是固定不變的,如用戶的私有密鑰;二是變動因子,如時間、隨機數(shù)、計數(shù)器 值等。本實施例中,OTP運算的方法與現(xiàn)有技術(shù)中的OTP運算的方法相同。
步驟308:讀卡器判斷自身的卡槽內(nèi)是否有卡片插入,如果沒有卡片插入,則執(zhí)行步驟306,如果有卡片插入,則執(zhí)行步驟309;
步驟309:讀卡器判斷用戶是否有認證請求,如果有,則執(zhí)行步驟310,否則,結(jié)束當前 流程,返回等待系統(tǒng)調(diào)用狀態(tài);
步驟310:讀卡器結(jié)合卡片進行運算,生成認證碼,并將生成的認證碼以語音發(fā)聲的方 式讀出來,然后結(jié)束當前流程,返回等待系統(tǒng)調(diào)用狀態(tài)。
在本實施例中,在當前流程結(jié)束后,還可以繼續(xù)重復(fù)執(zhí)行上述流程,返回等待系統(tǒng)調(diào)用 狀態(tài),即為返回步驟301與步驟302之間,再繼續(xù)執(zhí)行上述步驟,具體流程相同。
本實施例步驟310中,讀卡器結(jié)合卡片進行運算,生成認證碼的過程具體同實施例1中 的描述,此處不再贅述。
本實施例中,當讀卡器處于聯(lián)機狀態(tài)并且讀卡器的卡槽內(nèi)有卡插入時,若讀卡器接收到 用戶通過按鍵輸入的獲取一次性口令的請求或者是獲取認證碼的請求,則讀卡器可以是禁止 產(chǎn)生一次性口令或者認證碼,還可以是讀卡器產(chǎn)生一個一次性口令并將上述一次性口令以語 音的方式讀出來,也可以是讀卡器結(jié)合卡片產(chǎn)生一個認證碼并將上述認證碼以語音的方式讀 出來。
本實施例中,所述認證運算包括但不限于CAP (Chip Authentication Program,芯片認 證程序)運算和DPA (Dynamic Passcode Authentication,動態(tài)口令認證)運算。其中,CAP 是一種持卡人的身份驗證方法,它是一個在線的進程,充分利用EMV支付芯片卡固有的認 證功能提供了強大的遠程持卡人的身份驗證,同時CAP也可以提供證據(jù)證明持卡人批準的交 易細節(jié)。
實施例3
參見圖4,本發(fā)明實施例還提供了一種多功能讀卡器,包括
電源模塊401,用于給讀卡器供電,在本實施例中,可以是通過電池給讀卡器供電,還 可以是通過USB接口來給讀卡器供電;
輸入/輸出模塊402,用于接收用戶輸入的各種信息,還用于輸出讀卡器生成的一次性口 令或者認證碼,在本實施例中,輸入/輸出模塊可以通過鍵盤來接收用戶輸入的各種信息,而 且可以通過顯示屏顯示讀卡器生成的一次性口令或認證碼,或者通過發(fā)聲裝置來播報讀卡器 生成的一次性口令或認證碼;
判斷模塊403,用于對讀卡器的卡槽內(nèi)是否有卡片插入,讀卡器是否處于聯(lián)機狀態(tài),以 及用戶是否有認證請求進行判斷;
13運算模塊404,用于當判斷模塊403判斷出讀卡器的卡槽內(nèi)沒有卡片插入時,進行OTP 運算,生成一次性口令,當判斷模塊403判斷出讀卡器的卡槽內(nèi)有卡片插入,讀卡器處于脫 機狀態(tài),且用戶有認證請求時,結(jié)合卡片進行運算,生成認證碼;
操作模塊405,用于當判斷模塊403判斷出讀卡器的卡槽內(nèi)有卡片插入,讀卡器處于聯(lián) 機狀態(tài)時,按照主機發(fā)來的卡操作請求對卡片執(zhí)行相應(yīng)的操作。
本實施例中,判斷模塊403可以先判斷卡槽內(nèi)是否有卡片插入,然后再判斷讀卡器是否 處于聯(lián)機狀態(tài),即具體包括
卡片插入判斷單元4031,用于判斷讀卡器的卡槽內(nèi)是否有卡片插入;
聯(lián)機狀態(tài)判斷單元4032,用于當卡片插入判斷單元4031判斷出有卡片插入時,判斷讀 卡器是否處于聯(lián)機狀態(tài);如果處于聯(lián)機狀態(tài),則通知操作模塊405按照主機發(fā)來的卡操作請 求對卡片執(zhí)行相應(yīng)的操作,如果處于脫機狀態(tài),則通知運算模塊404結(jié)合卡片進行運算,生 成認證碼。
另外,參見圖5,判斷模塊403也可以先判斷讀卡器是否處于聯(lián)機狀態(tài),然后再判斷讀 卡器卡槽內(nèi)是否有卡片插入,即具體包括-聯(lián)機狀態(tài)判斷單元4033,用于判斷讀卡器是否處于聯(lián)機狀態(tài);
卡片插入判斷單元4034 ,用于在聯(lián)機狀態(tài)判斷單元4033判斷后,判斷讀卡器卡槽內(nèi)是 否有卡片插入,如果沒有卡片插入,則通知運算模塊404進行運算,生成一次性口令,如果 有卡片插入,且聯(lián)機狀態(tài)判斷單元判斷出讀卡器處于聯(lián)機狀態(tài)時,通知操作模塊405按照主 機發(fā)來的卡操作請求對卡片執(zhí)行相應(yīng)的操作;如果有卡片插入且聯(lián)機狀態(tài)判斷單元4033判斷 出讀卡器處于脫機狀態(tài)時,通知運算模塊結(jié)合卡片進行運算,生成認證碼。
本實施例中,判斷模塊403無論采用哪種順序進行判斷,均可以通過檢測讀卡器的USB 狀態(tài)來判斷讀卡器是否處于聯(lián)機狀態(tài)。
本實施例中,判斷模塊403無論采用哪種順序進行判斷,均可以還包括 用戶請求判斷單元4035,用于當判斷模塊403判斷出讀卡器的卡槽內(nèi)沒有卡片插入時, 判斷用戶是否請求獲取一次性口令,如果是,則通知運算模塊404進行運算,生成一次性口 令,否則,結(jié)束當前流程,返回等待系統(tǒng)調(diào)用狀態(tài)。
本實施例中,判斷模塊403無論采用哪種順序進行判斷,均可以還包括-卡操作請求判斷單元4036,用于當判斷模塊403判斷出讀卡器的卡槽內(nèi)有卡片插入且讀 卡器處于聯(lián)機狀態(tài)時,判斷是否有主機發(fā)來的卡操作請求,如果有,則通知操作模塊405按 照主機發(fā)來的卡操作請求對卡片執(zhí)行相應(yīng)的操作,否則,結(jié)束當前流程,返回等待系統(tǒng)調(diào)用狀態(tài)。
本實施例中,判斷模塊403無論采用哪種順序進行判斷,均可以還包括
認證請求判斷單元4037,用于當判斷模塊403判斷出讀卡器的卡槽內(nèi)有卡片插入且讀卡 器處于脫機狀態(tài)時,判斷用戶是否有認證請求,如果有,則通知運算模塊404結(jié)合卡片進行 運算,生成認證碼,否則,結(jié)束當前流程,返回等待系統(tǒng)調(diào)用狀態(tài)。
上述用戶請求判斷單元4035、卡操作請求判斷單元4036和認證請求判斷單元4037,判 斷模塊403可以包含其中的任一種,或者任意多種。
本實施例中,所述認證運算包括但不限于CAP (Chip Authentication Program,芯片認 證程序)運算和DPA (Dynamic Passcode Authentication,動態(tài)口令認證)運算。其中,CAP 是一種持卡人的身份驗證方法,它是一個在線的進程,充分利用EMV支付芯片卡固有的認 證功能提供了強大的遠程持卡人的身份驗證,同時CAP也可以提供證據(jù)證明持卡人批準的交 易細節(jié)。
本實施例中,運算模塊404結(jié)合卡片進行運算,生成認證碼的過程具體同實施例1中的 描述,此處不再贅述。
本發(fā)明提供的技術(shù)方案帶來的有益效果是提供了一種多功能讀卡器及其實現(xiàn)方法,克 服了現(xiàn)有讀卡器認證功能比較單一的缺陷,本發(fā)明提供的讀卡器通用性好,除了能夠完成智 能卡閱讀器的功能之外,還可以用于插入卡片時的認證,如產(chǎn)生認證碼(Token),并應(yīng)用在 網(wǎng)銀、在線支付等身份認證領(lǐng)域,而且,還可以應(yīng)用在無卡狀態(tài)下產(chǎn)生一次性密碼或挑戰(zhàn)碼 用于網(wǎng)游、操作系統(tǒng)等的登陸身份認證。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之 內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種多功能讀卡器的實現(xiàn)方法,其特征在于,所述方法包括讀卡器對自身的卡槽內(nèi)是否有卡片插入以及自身是否處于聯(lián)機狀態(tài)進行判斷;當判斷出所述讀卡器的卡槽內(nèi)沒有卡片插入時,所述讀卡器進行運算,生成一次性口令;或,當判斷出所述讀卡器的卡槽內(nèi)有卡片插入且所述讀卡器處于聯(lián)機狀態(tài)時,所述讀卡器按照主機發(fā)來的卡操作請求對所述卡片執(zhí)行相應(yīng)的操作;或,當判斷出所述讀卡器的卡槽內(nèi)有卡片插入且所述讀卡器處于脫機狀態(tài)時,所述讀卡器結(jié)合卡片進行運算,生成認證碼。
2. 根據(jù)權(quán)利要求1所述的多功能讀卡器的實現(xiàn)方法,其特征在于,所述方法具體包括 讀卡器判斷自身的卡槽內(nèi)是否有卡片插入;如果沒有卡片插入,則所述讀卡器進行運算,生成一次性口令; 如果有卡片插入,則所述讀卡器判斷自身是否處于聯(lián)機狀態(tài);如果處于聯(lián)機狀態(tài),則所述讀卡器按照主機發(fā)來的卡操作請求對所述卡片執(zhí)行相應(yīng) 的操作;如果處于脫機狀態(tài),則所述讀卡器結(jié)合卡片進行運算,生成認證碼。
3. 根據(jù)權(quán)利要求1所述的多功能讀卡器的實現(xiàn)方法,其特征在于,所述方法具體包括 讀卡器判斷自身是否處于聯(lián)機狀態(tài);如果處于聯(lián)機狀態(tài),則所述讀卡器判斷自身卡槽內(nèi)是否有卡片插入; 如果沒有卡片插入,則所述讀卡器進行運算,生成一次性口令; 如果有卡片插入,則所述讀卡器按照主機發(fā)來的卡操作請求對所述卡片執(zhí)行相應(yīng)的 操作;如果處于脫機狀態(tài),則所述讀卡器判斷自身卡槽內(nèi)是否有卡片插入; 如果沒有卡片插入,則所述讀卡器進行運算,生成一次性口令; 如果有卡片插入,則所述讀卡器結(jié)合卡片進行運算,生成認證碼。
4. 根據(jù)權(quán)利要求l、 2或3所述的多功能讀卡器的實現(xiàn)方法,其特征在于,所述讀卡器 進行運算,生成一次性口令之前,還包括.-所述讀卡器判斷用戶是否請求獲取一次性口令,如果是,則執(zhí)行進行運算,生成一次性 口令的步驟,否則,結(jié)束當前流程,返回等待系統(tǒng)調(diào)用狀態(tài)。
5. 根據(jù)權(quán)利要求l、 2或3所述的多功能讀卡器的實現(xiàn)方法,其特征在于,所述讀卡器 通過檢測自身的USB狀態(tài)來判斷自身是否處于聯(lián)機狀態(tài)。
6. 根據(jù)權(quán)利要求l、 2或3所述的多功能讀卡器的實現(xiàn)方法,其特征在于,所述讀卡器 按照主機發(fā)來的卡操作請求對所述卡片執(zhí)行相應(yīng)的操作之前,還包括-所述讀卡器判斷是否有主機發(fā)來的卡操作請求,如果有,則執(zhí)行按照主機發(fā)來的卡操作 請求對卡片執(zhí)行相應(yīng)的操作的步驟;否則,結(jié)束當前流程,返回等待系統(tǒng)調(diào)用狀態(tài)。
7. 根據(jù)權(quán)利要求l、 2或3所述的多功能讀卡器的實現(xiàn)方法,其特征在于,所述讀卡器 結(jié)合卡片進行運算,生成認證碼之前,還包括所述讀卡器判斷用戶是否有認證請求,如果有,則所述讀卡器結(jié)合卡片進行運算,生成 認證碼,否則,結(jié)束當前流程,返回等待系統(tǒng)調(diào)用狀態(tài)。
8. —種多功能讀卡器,其特征在于,所述讀卡器包括 電源模塊,用于給所述讀卡器供電;輸入/輸出模塊,用于接收用戶輸入的各種信息,還用于輸出所述讀卡器生成的一次性口 令或認證碼;判斷模塊,用于對所述讀卡器的卡槽內(nèi)是否有卡片插入以及對所述讀卡器是否處于聯(lián)機 狀態(tài)進行判斷;運算模塊,用于當所述判斷模塊判斷出所述讀卡器的卡槽內(nèi)沒有卡片插入時,進行運算, 生成一次性口令,當所述判斷模塊判斷出所述讀卡器的卡槽內(nèi)有卡片插入,且所述讀卡器處 于脫機狀態(tài)時,結(jié)合卡片進行運算,生成認證碼;操作模塊,用于當所述判斷模塊判斷出所述讀卡器的卡槽內(nèi)有卡片插入且所述讀卡器處 于聯(lián)機狀態(tài)吋,按照主機發(fā)來的卡操作請求對所述卡片執(zhí)行相應(yīng)的操作。
9. 根據(jù)權(quán)利要求8所述的多功能讀卡器,其特征在于,所述電源模塊通過電池對所述 讀卡器供電,或者通過USB接口對所述讀卡器供電。
10. 根據(jù)權(quán)利要求8所述的多功能讀卡器,其特征在于,所述輸入/輸出模塊具體包括 鍵盤單元、觸摸單元、顯示單元和發(fā)聲單元。
11. 根據(jù)權(quán)利要求8所述的多功能讀卡器,其特征在于,所述判斷模塊具體包括 卡片插入判斷單元,用于判斷所述讀卡器的卡槽內(nèi)是否有卡片插入,如果沒有卡片插入,則通知所述運算模塊進行運算,生成一次性口令;聯(lián)機狀態(tài)判斷單元,用于當所述卡片插入判斷單元判斷出有卡片插入時,判斷所述讀卡 器是否處于聯(lián)機狀態(tài),如果處于聯(lián)機狀態(tài),則通知所述操作模塊按照主機發(fā)來的卡操作請求 對所述卡片執(zhí)行相應(yīng)的操作,如果處于脫機狀態(tài),則通知所述運算模塊結(jié)合卡片進行運算, 生成認證碼。
12. 根據(jù)權(quán)利要求8所述的多功能讀卡器,其特征在于,所述判斷模塊具體包括 聯(lián)機狀態(tài)判斷單元,用于判斷所述讀卡器是否處于聯(lián)機狀態(tài);卡片插入判斷單元,用于在所述聯(lián)機狀態(tài)判斷單元判斷后,判斷所述讀卡器卡槽內(nèi)是否 有卡片插入,如果沒有卡片插入,則通知所述運算模塊進行運算,生成一次性口令,如果有 卡片插入,且所述聯(lián)機狀態(tài)判斷單元判斷出所述讀卡器處于聯(lián)機狀態(tài)時,通知所述操作模塊 按照主機發(fā)來的卡操作請求對所述卡片執(zhí)行相應(yīng)的操作,如果有卡片插入,且所述聯(lián)機狀態(tài) 判斷單元判斷出所述讀卡器處于脫機狀態(tài)時,通知所述運算模塊結(jié)合卡片進行運算,生成認 證碼。
13. 根據(jù)權(quán)利要求8、 11或12所述的多功能讀卡器,其特征在于,所述判斷模塊還包括: 用戶請求判斷單元,用于當所述判斷模塊判斷出所述讀卡器的卡槽內(nèi)沒有卡片插入時,判斷用戶是否請求獲取一次性口令,如果是,則通知所述運算模塊進行運算,生成一次性口 令,否則,結(jié)束當前流程,返回等待系統(tǒng)調(diào)用狀態(tài)。
14. 根據(jù)權(quán)利要求8、 11或12所述的多功能讀卡器,其特征在于,所述判斷模塊通過檢 測所述讀卡器的USB狀態(tài)來判斷所述讀卡器是否處于聯(lián)機狀態(tài)。
15. 根據(jù)權(quán)利要求8、 11或12所述的多功能讀卡器,其特征在于,所述判斷模塊還包括:卡操作請求判斷單元,用于當所述判斷模塊判斷出所述讀卡器的卡槽內(nèi)有卡片插入且所 述讀卡器處于聯(lián)機狀態(tài)時,判斷是否有主機發(fā)來的卡操作請求,如果有,則通知所述操作模 塊按照主機發(fā)來的卡操作請求對所述卡片執(zhí)行相應(yīng)的操作,否則,結(jié)束當前流程,返回等待 系統(tǒng)調(diào)用狀態(tài)。
16.根據(jù)權(quán)利要求8、 11或12所述的多功能讀卡器,其特征在于,所述判斷模塊還包括 認證請求判斷單元,用于當所述判斷模塊判斷出所述讀卡器的卡槽內(nèi)有卡片插入且所述 讀卡器處于脫機狀態(tài)時,判斷用戶是否有認證請求,如果有,則通知所述運算模塊結(jié)合卡片 進行運算,生成認證碼,否則,結(jié)束當前流程,返回等待系統(tǒng)調(diào)用狀態(tài)。
全文摘要
本發(fā)明公開了一種多功能讀卡器的實現(xiàn)方法和多功能讀卡器,屬于信息安全領(lǐng)域。所述方法包括讀卡器對自身的卡槽內(nèi)是否有卡片插入以及自身是否處于聯(lián)機狀態(tài)進行判斷;當無卡片插入時,進行運算生成一次性口令;當有卡片插入且處于聯(lián)機狀態(tài)時,按照主機發(fā)來的卡操作請求對卡片執(zhí)行相應(yīng)的操作;當有卡片插入且處于脫機狀態(tài)時,結(jié)合卡片進行運算生成認證碼,否則,結(jié)束。所述讀卡器包括電源模塊、輸入/輸出模塊、判斷模塊、運算模塊和操作模塊。本發(fā)明提供了一種多功能讀卡器及其實現(xiàn)方法,該讀卡器通用性好,既能完成智能卡閱讀器的功能,還能用于插入卡片時的認證,以及應(yīng)用在無卡狀態(tài)下的身份認證,克服了現(xiàn)有讀卡器功能比較單一的缺陷。
文檔編號G06F21/34GK101576945SQ200810247460
公開日2009年11月11日 申請日期2008年12月31日 優(yōu)先權(quán)日2008年12月31日
發(fā)明者于華章, 舟 陸 申請人:北京飛天誠信科技有限公司