一種讀卡器及數(shù)據(jù)傳輸方法
【專利摘要】本發(fā)明實施例提供了一種讀卡器及數(shù)據(jù)傳輸方法,包括:用于執(zhí)行不同業(yè)務的業(yè)務模塊,還包括:主控模塊;主控模塊,用于接收客戶端發(fā)送的客戶端指示,根據(jù)接收的客戶端指示,確定需要執(zhí)行的業(yè)務;通過對讀卡器中用于執(zhí)行該業(yè)務的業(yè)務模塊的工作狀態(tài)進行控制,調用業(yè)務模塊執(zhí)行該業(yè)務;其中,客戶端安裝在讀卡器所連接的設備上,且用于為用戶提供業(yè)務入口。本發(fā)明實施例提供的讀卡器使用更加靈活、合理。本發(fā)明涉及通信技術領域。
【專利說明】
一種讀卡器及數(shù)據(jù)傳輸方法
技術領域
[0001]本發(fā)明涉及通信技術領域,尤其涉及一種讀卡器及數(shù)據(jù)傳輸方法。
【背景技術】
[0002]現(xiàn)有技術中,手機的應用已經(jīng)深入到人們生活的各個方面,例如:可以利用手機刷公交卡、可以利用手機進行支付等。而很多業(yè)務是通過手機中的S頂卡實現(xiàn)的,因此,為了使用戶識別卡(SIM,Subscriber Identity Module)支持更多的業(yè)務,運營商提供了服務渠道。運營商提供的客服經(jīng)理和網(wǎng)點可以使用一些工具對S頂卡進行讀/寫操作,以實現(xiàn)使SIM卡支持更多的業(yè)務。
[0003]這里的工具可以是讀卡器,具體實施時,讀卡器可以與安裝有服務客戶端的設備相連(例如:通過串口相連或者通過通用串行總線(USB,Universal Serial Bus)相連),客服經(jīng)理可以操作客戶端選擇用戶需要的服務,向讀卡器發(fā)送指示,讀卡器根據(jù)接收到的指示對用戶的SIM卡進行讀/寫操作,讀取SIM卡的信息,或者向S頂卡寫入信息使得SIM卡支持用戶需要的服務。
[0004]進一步地,現(xiàn)有技術中讀卡器中各模塊的工作模式是固定的。
[0005]以讀卡器中包括的接觸讀卡模塊和非接觸讀卡模塊為例,接觸讀卡模塊用于將SIM卡插入讀卡器中,對S頂卡進行讀/寫操作,非接觸讀卡模塊用于將S頂卡靠近讀卡器,對S頂卡進行讀操作(通常不支持寫操作),并且接觸讀卡模塊和非接觸讀卡模塊不能同時工作,接觸讀卡模塊的優(yōu)先級總是高于非接觸讀卡模塊的優(yōu)先級,也就是說,當讀卡器中插入第一 S頂卡,并且讀卡器靠近第二 S頂卡時,只能由接觸讀卡模塊對插入的第一 S頂卡進行讀取或寫入,非接觸讀卡模塊無法對靠近的第二 SIM卡進行讀取,因此,如果需要非接觸讀卡模塊工作,必須保證讀卡器中無S頂卡插入。導致對非接觸讀卡模塊的操作不方便。
[0006]又以讀卡器中包括的密碼鍵盤模塊為例,密碼鍵盤模塊通常在用戶為S頂輸入密碼時使用,密碼鍵盤模塊長期處于打開狀態(tài),為非法用戶的監(jiān)聽或者惡意輸入提供了便利條件。
[0007]可見,現(xiàn)有技術中提供的讀卡器中各模塊采用固定工作模式的做法是不合理的。
【發(fā)明內容】
[0008]本發(fā)明實施例提供了一種讀卡器及數(shù)據(jù)傳輸方法,用以解決現(xiàn)有技術中讀卡器中各模塊均采用固定工作模式不合理的問題。
[0009]基于上述問題,本發(fā)明實施例提供的一種讀卡器,包括:用于執(zhí)行不同業(yè)務的業(yè)務模塊,還包括:主控模塊;
[0010]所述主控模塊,用于接收客戶端發(fā)送的客戶端指示,根據(jù)接收的客戶端指示,確定需要執(zhí)行的業(yè)務;通過對所述讀卡器中用于執(zhí)行所述業(yè)務的業(yè)務模塊的工作狀態(tài)進行控制,調用所述業(yè)務模塊執(zhí)行所述業(yè)務;
[0011]其中,所述客戶端安裝在所述讀卡器所連接的設備上,且用于為用戶提供業(yè)務入□O
[0012]本發(fā)明實施例提供的一種數(shù)據(jù)傳輸方法,包括:
[0013]讀卡器中的主控模塊接收客戶端發(fā)送的客戶端指示;
[0014]根據(jù)接收的客戶端指示,確定需要執(zhí)行的業(yè)務;
[0015]主控模塊通過對讀卡器中用于執(zhí)行所述業(yè)務的業(yè)務模塊的工作狀態(tài)進行控制,調用業(yè)務模塊執(zhí)行所述業(yè)務;
[0016]其中,所述客戶端安裝在所述讀卡器所連接的設備上,且用于為用戶提供業(yè)務入
□O
[0017]本發(fā)明實施例的有益效果包括:
[0018]本發(fā)明實施例提供的一種讀卡器及數(shù)據(jù)傳輸方法,包括:用于執(zhí)行不同業(yè)務的業(yè)務模塊,還包括:主控模塊;主控模塊,用于接收客戶端發(fā)送的客戶端指示,根據(jù)接收的客戶端指示,確定需要執(zhí)行的業(yè)務;通過對讀卡器中用于執(zhí)行該業(yè)務的業(yè)務模塊的工作狀態(tài)進行控制,調用業(yè)務模塊執(zhí)行該業(yè)務;其中,客戶端安裝在讀卡器所連接的設備上,且用于為用戶提供業(yè)務入口。本發(fā)明實施例提供的讀卡器,與現(xiàn)有技術中的讀卡器相比,增加了主控模塊,主控模塊當接收到客戶端指示時,首先確定需要執(zhí)行的業(yè)務,再確定讀卡器中執(zhí)行該業(yè)務需要用到的業(yè)務模塊,通過控制該需要用到的業(yè)務模塊的工作狀態(tài)調用該需要用到的業(yè)務模塊對該業(yè)務進行執(zhí)行,讀卡器中的除主控模塊之外的業(yè)務模塊均根據(jù)主控模塊的調用執(zhí)行相應的業(yè)務,而不是按照固定的工作模式工作;以讀卡器中業(yè)務模塊包括的接觸讀卡模塊和非接觸讀卡模塊為例,當讀卡器中插入第一 S頂卡,并且讀卡器靠近第二 S頂卡時,不會按照默認的使用優(yōu)先級來使用接觸讀卡模塊和非接觸讀卡模塊,而是根據(jù)主控模塊的指示,當主控模塊指示非接觸讀卡模塊讀卡時,即使接觸讀卡模塊中插有第一 S頂卡,也會根據(jù)主控模塊的指示使非接觸讀卡模塊讀卡,以讀卡器中業(yè)務模塊包括的密碼鍵盤模塊為例,只有主控模塊調用密碼鍵盤模塊時,密碼鍵盤模塊才會處于打開狀態(tài),一定程度上防止了非法用戶的監(jiān)聽或者惡意輸入;因此,與現(xiàn)有技術中各模塊均采用固定的工作模式執(zhí)行業(yè)務相比,本發(fā)明實施例提供的讀卡器使用更加靈活、合理。
【附圖說明】
[0019]圖1為本發(fā)明實施例提供的一種讀卡器的結構示意圖;
[0020]圖2為本發(fā)明實施例1提供的一種讀卡器的結構示意圖之一;
[0021]圖3為本發(fā)明實施例1提供的一種讀卡器的結構示意圖之二;
[0022]圖4為本發(fā)明實施例1提供的一種讀卡器的結構示意圖之三;
[0023]圖5為本發(fā)明實施例2提供的一種數(shù)據(jù)傳輸方法流程圖;
[0024]圖6為本發(fā)明實施例2的例I提供的安全通道建立業(yè)務流程圖;
[0025]圖7為本發(fā)明實施例2的例2提供的余額查詢業(yè)務流程圖;
[0026]圖8為本發(fā)明實施例2的例3提供的智能錢包卡注冊業(yè)務流程圖;
[0027]圖9為本發(fā)明實施例2的例4提供的浦發(fā)聯(lián)名卡應用安裝及開通業(yè)務流程圖。
【具體實施方式】
[0028]本發(fā)明實施例提供了一種讀卡器及數(shù)據(jù)傳輸方法,以下結合說明書附圖對本發(fā)明的優(yōu)選實施例進行說明,應當理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。并且在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
[0029]本發(fā)明實施例提供一種讀卡器,如圖1所示,包括:用于執(zhí)行不同業(yè)務的業(yè)務模塊,進一步地,還包括:主控模塊101 ;
[0030]主控模塊101,用于接收客戶端發(fā)送的客戶端指示,根據(jù)接收的客戶端指示,確定需要執(zhí)行的業(yè)務;通過對讀卡器中用于執(zhí)行該業(yè)務的業(yè)務模塊的工作狀態(tài)進行控制,調用業(yè)務模塊執(zhí)行該業(yè)務;其中,客戶端安裝在讀卡器所連接的設備上,且用于為用戶提供業(yè)務入口。
[0031]進一步地,如圖1所示,讀卡器中用于執(zhí)行不同業(yè)務的業(yè)務模塊可以包括如下模塊的一種或多種:接觸讀卡模塊(可以遵循7816協(xié)議)、非接觸讀卡模塊(可以遵循14443協(xié)議)、密碼鍵盤模塊、密鑰存儲模塊、加密解密模塊。業(yè)務模塊分別與不同的業(yè)務對應,執(zhí)行不同的業(yè)務。例如:接觸讀卡模塊可以用于讀寫插入讀卡器中的卡片;非接觸讀卡模塊可以用于讀靠近讀卡器的卡片;密碼鍵盤模塊可以用于在需要的時候使用戶輸入個人身份號碼(PIN,Personal Identificat1n Number);密鑰存儲模塊,可以用于存儲密鑰,在相關業(yè)務需要使用密鑰時,可以調用該模塊獲取密鑰;加密解密模塊,可以用于為相關業(yè)務的數(shù)據(jù)加密解密。
[0032]進一步地,讀卡器中的業(yè)務模塊設置有工作狀態(tài),并由主控模塊對業(yè)務模塊的工作狀態(tài)進行控制。業(yè)務模塊的工作狀態(tài)主要包括:工作狀態(tài),和非工作狀態(tài)。當主控模塊使能業(yè)務模塊,該業(yè)務模塊可以處于工作狀態(tài),當業(yè)務模塊完成業(yè)務的執(zhí)行,主控模塊去使能該業(yè)務模塊,該業(yè)務模塊可以處于非工作狀態(tài),因此,主控模塊通過對讀卡器中用于執(zhí)行該業(yè)務的業(yè)務模塊的工作狀態(tài)進行控制,調用業(yè)務模塊執(zhí)行該業(yè)務,可以實施為:主控模塊使能讀卡器中用于執(zhí)行該業(yè)務的業(yè)務模塊,并調用使能的業(yè)務模塊執(zhí)行該業(yè)務;并在使能的業(yè)務模塊完成業(yè)務的執(zhí)行之后將使能的業(yè)務模塊去使能。
[0033]下面結合附圖,用具體實施例對本發(fā)明提供的方法及相關設備進行詳細描述。
[0034]實施例1:
[0035]本發(fā)明實施例1中,提供一種讀卡器之一,如圖2所示,還包括:接口模塊201 ;
[0036]接口模塊201,用于針對不同業(yè)務,通過為該業(yè)務提供的業(yè)務接口接收客戶端發(fā)送的客戶端指示,將客戶端指示的格式轉換為讀卡器能夠識別的格式,并將轉換格式后的客戶端指示發(fā)送給主控模塊101 ;以及接收主控模塊101向客戶端發(fā)送的業(yè)務數(shù)據(jù),并將業(yè)務數(shù)據(jù)的格式轉換為客戶端能夠識別的格式,并通過業(yè)務數(shù)據(jù)所屬業(yè)務對應的業(yè)務接口將轉換格式后的業(yè)務數(shù)據(jù)發(fā)送給客戶端;
[0037]主控模塊101,具體用于通過接口模塊201接收客戶端發(fā)送的客戶端指示;以及當需要向客戶端發(fā)送業(yè)務數(shù)據(jù)時,通過接口模塊201,向客戶端發(fā)送業(yè)務數(shù)據(jù)。
[0038]進一步地,本發(fā)明實施例提供的讀卡器中,將為不同業(yè)務提供的不同接口封裝為接口模塊201,接口模塊201提供的各接口可以根據(jù)主控模塊101的指示被使能以及調用。接口模塊201提供的業(yè)務接口可以包括:應用協(xié)議數(shù)據(jù)單元(APDU,Applicat1n ProtocolData Unit)交互業(yè)務接口、安全通道初始化業(yè)務接口、獲取PIN碼業(yè)務接口、密鑰寫入業(yè)務接口、密鑰刪除業(yè)務接口、密鑰更新業(yè)務接口等。由于客戶端發(fā)出的指示的格式與讀卡器能夠識別的指示的格式可能是不同的,接口模塊201可以通過不同業(yè)務接口接收不同業(yè)務指示,并將接收的業(yè)務指示的格式轉換為讀卡器能夠識別的格式,將轉換格式后的客戶指示發(fā)送給主控模塊101 ;以及當主控模塊101需要向客戶端發(fā)送業(yè)務數(shù)據(jù)時,可以先將業(yè)務數(shù)據(jù)發(fā)送給接口模塊201,接口模塊201將業(yè)務數(shù)據(jù)的格式轉換成客戶端能夠識別的格式,再通過業(yè)務數(shù)據(jù)所屬業(yè)務對應的業(yè)務接口將轉換格式后的業(yè)務數(shù)據(jù)發(fā)送給客戶端。以獲取PIN碼業(yè)務為例,接口模塊201接收客戶端發(fā)送的獲取PIN碼的指示,并將該指示轉換成讀卡器能夠識別的格式,發(fā)送給主控模塊101,主控模塊101根據(jù)轉換格式后的指示使能密碼鍵盤模塊,用戶通過密碼鍵盤模塊輸入PIN碼,密碼鍵盤模塊將獲取的PIN碼發(fā)送給主控模塊101,主控模塊101將密碼鍵盤模塊去使能,再將獲取的PIN碼發(fā)送給接口模塊201,接口模塊201將PIN碼轉換成客戶端能夠識別的格式反饋給客戶端。
[0039]本發(fā)明實施例中,將通過接口模塊201將各接口封裝,能夠便于主控模塊101對各接口進行管理,通過接口模塊201作為主控模塊101和客戶端之間的橋梁,對主控模塊101和客戶端之間傳輸?shù)臄?shù)據(jù)進行格式轉換,為主控模塊101屏蔽了不同客戶端的數(shù)據(jù)格式差異,使主控模塊101可以專注于為不同業(yè)務進行對應業(yè)務模塊的調度。
[0040]本發(fā)明實施例提供一種讀卡器之二,如圖3所示,還包括:業(yè)務邏輯模塊301 ;
[0041]業(yè)務邏輯模塊301,用于存儲并更新預設業(yè)務的執(zhí)行邏輯;
[0042]主控模塊101,具體用于當確定出需要執(zhí)行的業(yè)務為預設業(yè)務時,從業(yè)務邏輯模塊301中獲取該業(yè)務的執(zhí)行邏輯;使能讀卡器中用于執(zhí)行該業(yè)務的業(yè)務模塊,以及按照獲取的該業(yè)務的執(zhí)行邏輯,依次調用讀卡器中用于執(zhí)行該業(yè)務的業(yè)務模塊執(zhí)行業(yè)務;并在使能的業(yè)務模塊完成業(yè)務的執(zhí)行之后將使能的業(yè)務模塊去使能;或者
[0043]具體用于當確定出需要執(zhí)行的業(yè)務為預設業(yè)務時,從業(yè)務邏輯模塊301中獲取該業(yè)務的執(zhí)行邏輯;按照獲取的該業(yè)務的執(zhí)行邏輯,依次使能并調用讀卡器中用于執(zhí)行所述業(yè)務的業(yè)務模塊;并在每個業(yè)務模塊完成自身執(zhí)行的部分之后,將該業(yè)務模塊去使能。
[0044]進一步地,現(xiàn)有技術中,由于讀卡器中未設置主控模塊101,并且每個業(yè)務模塊的工作模式都是固定的,基本上是“一問一答”式的工作模式,也就是說,接收客戶端的一個指示,執(zhí)行該指示向客戶端反饋一個結果,本發(fā)明實施例中提供了主控模塊101,對于“一問一答”不能完成的業(yè)務,也就是需要使用至少兩個業(yè)務模塊執(zhí)行的業(yè)務,主控模塊101對業(yè)務模塊的調用需要對應的執(zhí)行邏輯,而不同業(yè)務對應的業(yè)務模塊以及業(yè)務的執(zhí)行邏輯是不同的,因此,對于預設業(yè)務,例如:需要使用至少兩個業(yè)務模塊的業(yè)務,需要預先存儲該業(yè)務執(zhí)行時的執(zhí)行邏輯,當主控模塊101確定出的業(yè)務為預設業(yè)務時,則通過業(yè)務邏輯模塊301獲取對應的執(zhí)行邏輯,使能所述讀卡器中用于執(zhí)行該業(yè)務的業(yè)務模塊,以及按照獲取的該業(yè)務的執(zhí)行邏輯,依次調用讀卡器中用于執(zhí)行該業(yè)務的業(yè)務模塊執(zhí)行業(yè)務;并在每個業(yè)務模塊完成自身執(zhí)行的部分之后,將該業(yè)務模塊去使能。
[0045]進一步地,主控模塊101對業(yè)務執(zhí)行模塊的使能和調用的順序可以有多種實現(xiàn)方式。例如,可以將執(zhí)行該業(yè)務的所有業(yè)務模塊均使能,再按照該業(yè)務的執(zhí)行邏輯依次調用使能的業(yè)務模塊,在業(yè)務完成執(zhí)行之后,將所有執(zhí)行該業(yè)務的業(yè)務模塊去使能;或者在邊使能邊調用業(yè)務模塊,并在調用之后立即將業(yè)務模塊去使能,等到再次調用該業(yè)務模塊時再使能該業(yè)務I旲塊,直到完成業(yè)務的執(zhí)行O
[0046]進一步地,可以設置狀態(tài)寄存器保存各業(yè)務模塊的工作狀態(tài),例如:使狀態(tài)寄存器中的預設位存儲對應的業(yè)務模塊的狀態(tài),當某業(yè)務模塊使能時,狀態(tài)寄存器中該業(yè)務模塊對應的位設置為1,當某業(yè)務模塊去使能時,狀態(tài)寄存器中該業(yè)務模塊對應的為設置O。也可以為各業(yè)務模塊設置使能超時時間,當斷電或者超時時,業(yè)務模塊的對應位變?yōu)镺。
[0047]進一步地,業(yè)務邏輯模塊301可以更新保存的預設業(yè)務的執(zhí)行邏輯。
[0048]本發(fā)明實施例提供一種讀卡器之三,如圖4所示,還包括:安全認證模塊401 ;
[0049]主控模塊101,還用于在接收客戶端指示以及發(fā)送業(yè)務數(shù)據(jù)之前,通過接口模塊201接收客戶端發(fā)送的攜帶有客戶端存儲的第一鑒權信息的連接請求;使能安全認證模塊401,并將第一鑒權信息發(fā)送給安全認證模塊401 ;以及接收安全認證模塊401發(fā)送的鑒權結果;當鑒權成功時,確定客戶端通過認證,使能接口模塊201提供的平臺鑒權接口 ;當鑒權失敗時,確定客戶端未通過認證,使接口模塊201保持去使能狀態(tài);
[0050]安全認證模塊401,用于接收主控模塊101發(fā)送的第一鑒權信息;并按照與客戶端預先約定的鑒權方式,使用第一鑒權信息對客戶端進行鑒權;并將鑒權結果發(fā)送給主控模塊 101 ;
[0051]其中,當接口模塊201處于去使能狀態(tài)時,接口模塊201僅用于接收客戶端發(fā)送的連接請求。
[0052]進一步地,為了提高讀卡器的安全性,防止惡意客戶端通過讀卡器竊取或者篡改卡片數(shù)據(jù),本發(fā)明實施例中提供了安全認證模塊401,首先對客戶端進行安全認證。
[0053]在讀卡器連接客戶端并通電時,讀卡器中只有主控模塊101進入工作狀態(tài),其他模塊均處于去使能狀態(tài),處于去使能狀態(tài)的接口模塊201僅能接收客戶端發(fā)送的連接請求,無法響應客戶端發(fā)送的指示,也無法通過接口模塊201向客戶端發(fā)送業(yè)務數(shù)據(jù),處于去使能狀態(tài)的除主控模塊101和接口模塊201之外的業(yè)務模塊,均無法接收以及發(fā)送任何數(shù)據(jù)。也就是說,初始時,主控模塊101通過接口模塊201接收客戶端發(fā)送的連接請求,獲取連接請求中攜帶的第一鑒權信息,使能安全認證模塊401,并將第一鑒權信息發(fā)送給安全認證模塊401,安全認證模塊401可以按照與客戶端預先約定的鑒權方式,使用第一鑒權信息對客戶端進行鑒權。
[0054]進一步地,預先約定的鑒權方式可以是任意鑒權方式,預先約定的鑒權方式也可以根據(jù)實際需要進行更新。例如:可以通過比對哈希值的方式進行鑒權,也就是說,客戶端發(fā)送的連接請求中攜帶有存儲與客戶端的第一哈希值,安全認證模塊401接收到第一哈希值之后,將第一哈希值與自身存儲的第二哈希值進行比對,當?shù)谝还V蹬c第二哈希值匹配時,確定客戶端通過認證,客戶端可信任,當?shù)谝还V蹬c第二哈希值不匹配時,確定客戶端未通過認證,客戶端不可信任。
[0055]進一步地,當對客戶端鑒權失敗時,說明客戶端不可信任,讀卡器后續(xù)不會響應客戶端發(fā)送的指示,也不會向客戶端發(fā)送業(yè)務數(shù)據(jù),使所述接口模塊保持去使能狀態(tài),僅能接收客戶端的連接請求;當對客戶端鑒權成功時,說明客戶端可信任,可以通過該客戶端對客戶端以及讀卡器對應的云端平臺進行認證,則可以使能接口模塊201提供的平臺鑒權接口。也就是說,在客戶端通過認證之后,主控模塊101可以使能接口模塊201提供的平臺鑒權接口,而不會使能接口模塊201的其他業(yè)務接口,此時的接口模塊201能夠發(fā)送并響應用于對云端平臺進行鑒權的數(shù)據(jù),而不能響應其他指示以及發(fā)送其他業(yè)務數(shù)據(jù)。
[0056]進一步地,本發(fā)明實施例中,主控模塊1I,還用于在客戶端通過認證之后,將讀卡器的標識信息、以及讀卡器存儲的第二鑒權信息發(fā)送給客戶端,通過客戶端將讀卡器的標識信息、以及第二鑒權信息發(fā)送給云端平臺,并通過客戶端轉發(fā)后續(xù)與云端平臺之間傳輸?shù)恼J證數(shù)據(jù),與云端平臺之間的相互認證并登錄云端平臺;接收客戶端轉發(fā)的讀卡器登錄云端平臺的登錄結果;當?shù)卿浗Y果為登錄成功時,使能接口模塊提供的與客戶端提供業(yè)務對應的業(yè)務接口;其中,云端平臺為客戶端以及讀卡器對應的業(yè)務。
[0057]進一步地,云端平臺為客戶端以及讀卡器對應的業(yè)務平臺,云端平臺可以提供與客戶端提供業(yè)務入口對應的業(yè)務數(shù)據(jù),并且每個讀卡器都具有唯一標識,云端平臺可以對各讀卡器的登錄狀態(tài)進行管理和維護,保證了各讀卡器的安全使用。例如;當某讀卡器丟失,可以向云端平臺掛失該讀卡器,那么,當該讀卡器登錄云端平臺時,由于該讀卡器處于掛失狀態(tài),云端平臺會使該讀卡器登錄失敗,惡意用戶無法通過該讀卡器獲取或者篡改用戶卡片信息。
[0058]進一步地,由于讀卡器可以不具有網(wǎng)絡模塊,因此無法獨立與云端平臺進行數(shù)據(jù)交互,讀卡器可以將自身的標識信息和存儲的第二鑒權信息發(fā)送給客戶端,由客戶端將讀卡器的標識信息和第二鑒權信息發(fā)送給云端平臺,并且由客戶端作為橋梁轉發(fā)讀卡器和云端平臺之間的交互數(shù)據(jù),實現(xiàn)客戶端和云端平臺之間的相互認證,并且使讀卡器登錄云端平臺。讀卡器和云端平臺之間可以預先約定鑒權方式以及第二鑒權信息,并且預先約定的鑒權方式以及第二鑒權信息可以根據(jù)實際需要進行更新。
[0059]進一步地,由于讀卡器可以與不同的客戶端進行通信,而不同的客戶端可以提供不同業(yè)務的入口,本步驟中主控模塊使能接口模塊提供的與客戶端供業(yè)務對應的業(yè)務接口可以為使能接口模塊提供的與當前連接的客戶端提供業(yè)務對應的業(yè)務接口。
[0060]進一步地,當?shù)卿浭r,主控模塊對客戶端發(fā)送的連接請求反饋出錯,并且接口模塊僅能接收客戶端發(fā)送的連接請求,但是回復錯誤信息,不會響應客戶端發(fā)送的指示,也不會向客戶端發(fā)送業(yè)務數(shù)據(jù),使所述接口模塊保持去使能狀態(tài)。
[0061]下面舉例對讀卡器和云端平臺的鑒權過程進行說明。假設第二鑒權信息為第一隨機數(shù),主要包括如下步驟:
[0062]步驟一、客戶端接收到讀卡器發(fā)送的讀卡器標識以及第一隨機數(shù)之后,獲取自身存儲的云端平臺的地址信息(也可以由客戶端將云端平臺的地址信息發(fā)送給客戶端),向云端平臺發(fā)送該登錄請求,
[0063]其中,登錄請求中攜帶有讀卡器標識以及第一隨機數(shù)。
[0064]步驟二、云端平臺對讀卡器進行登錄處理。
[0065]本步驟中,可以具體包括云端平臺根據(jù)讀卡器的標識信息確定讀卡器的狀態(tài)是否正常,如果讀卡器為異常狀態(tài)(例如:掛失狀態(tài)、凍結狀態(tài)等)則拒絕使讀卡器登錄。
[0066]步驟三、如果讀卡器的狀態(tài)為正常狀態(tài),則隨機選取安全模式對接收到的第一隨機數(shù)進行加密,將讀卡器狀態(tài)是否正常的信息、加密的第一隨機數(shù)、采用的安全模式、以及云端平臺生成的第二隨機數(shù)發(fā)送給客戶端。
[0067]本步驟中,安全模式可以包括加密算法選擇、分段加密、密鑰長度等。
[0068]步驟四、客戶端接收到云端平臺反饋的信息之后,將接收到的信息透傳給讀卡器。
[0069]步驟五、讀卡器確定自身的狀態(tài)為正常狀態(tài),并采用云端平臺使用的安全模式對應的解密方式對加密的第一隨機數(shù)解密,確定解密后的第一隨機數(shù)與發(fā)送給云端平臺的第一隨機數(shù)一致,則可以確定云端平臺可信,讀卡器進入工作狀態(tài)。采用上述安全模式將第二隨機數(shù)加密,將加密的第二隨機數(shù)發(fā)送給客戶端。
[0070]進一步地,讀卡器側可以通過在寄存器設置登錄狀態(tài)標識位記錄登錄狀態(tài),如果登錄成功則寄存器中表征登錄狀態(tài)的值為1,主控模塊101可以使能接口模塊201所封裝的接口使能,使得接口模塊201可以將客戶端的指示接收并發(fā)送給主控模塊101并且能將主控模塊101發(fā)送的業(yè)務數(shù)據(jù)傳輸給客戶端;如果登錄失敗則寄存器中表征登錄狀態(tài)的值為0,讀卡器對接口調用返回出錯。
[0071]步驟六、客戶端將加密的第二隨機數(shù)透傳給云端平臺。
[0072]步驟七、云端平臺采用安全模式對應的解密模式對加密的第二隨機數(shù)進行解密,確定解密后的第二隨機數(shù)與發(fā)送給讀卡器的第二隨機數(shù)一致,使讀卡器成功登錄,并維護讀卡器的狀態(tài)為登錄;若解密后的第二隨機數(shù)與發(fā)送給讀卡器的第二隨機數(shù)不一致,則不允許讀卡器登錄云端平臺,讀卡器無法與云端平臺進行業(yè)務數(shù)據(jù)傳輸。
[0073]進一步地,主控模塊101,還可以用于在成功登錄云端平臺之后,接收云端平臺發(fā)送的更新信息;根據(jù)更新信息對更新信息對應的信息進行更新;
[0074]其中,更新信息包括如下信息的一種或多種:更新的讀卡器所運行的軟件、更新的鑒權信息、更新的業(yè)務邏輯信息等。
[0075]進一步地,讀卡器中很多信息可以根據(jù)實際需要進行更新,例如:讀卡器上運行的軟件、各種業(yè)務運行的業(yè)務邏輯的更新、新加入業(yè)務運行的業(yè)務邏輯、各種鑒權信息(密鑰、鑒權方式等)的更新等,在云端平臺和讀卡器經(jīng)過雙方的認證并且彼此信任之后,云端平臺可以將更新的信息發(fā)送給讀卡器,讀卡器對對應信息進行更新。
[0076]進一步地,本實施例中也可以在完成更新之后再使能接口模塊的業(yè)務接口,開始后續(xù)的業(yè)務。
[0077]實施例2:
[0078]基于本發(fā)明實施例1提供的讀卡器,本發(fā)明實施例2中,提供一種數(shù)據(jù)傳輸方法,如圖5所示,具體包括如下步驟:
[0079]S501、主控模塊通過接口模塊接收客戶端發(fā)送的攜帶有客戶端存儲的第一鑒權信息的連接請求。
[0080]S502、主控模塊使能安全認證模塊,并將S501中接收的第一鑒權信息發(fā)送給安全認證模塊。
[0081]S503、安全認證模塊按照與客戶端預先約定的鑒權方式,使用S502中接收的第一鑒權信息對客戶端進行鑒權。
[0082]S504、安全認證模塊將鑒權結果發(fā)送給主控模塊。
[0083]S505、主控模塊判斷S504中接收的鑒權結果是否為鑒權成功,若否,則進入步驟S506,否則,進入步驟S507。
[0084]S506、確定客戶端未通過驗證,使接口模塊保持去使能狀態(tài)。
[0085]其中,當接口模塊處于去使能狀態(tài)時,接口模塊僅用于接收客戶端發(fā)送的連接請求。
[0086]S507、確定客戶端通過驗證,使能接口模塊提供的平臺鑒權接口。
[0087]S508、主控模塊將讀卡器的標識信息、以及讀卡器存儲的第二鑒權信息發(fā)送給客戶端,通過客戶端將讀卡器的標識信息、以及第二鑒權信息發(fā)送給云端平臺,并通過客戶端轉發(fā)后續(xù)與云端平臺之間傳輸?shù)恼J證數(shù)據(jù),與云端平臺之間的相互認證并登錄云端平臺。
[0088]S509、接收客戶端轉發(fā)的讀卡器登錄云端平臺的登錄結果。
[0089]S510、判斷S509中接收的登錄結果是否為登錄成功,若否,則進入步驟S511,否貝IJ,進入步驟S512。其中,所述云端平臺為所述客戶端以及所述讀卡器對應的業(yè)務平臺,且用于對所述讀卡器的登錄狀態(tài)進行維護。
[0090]S511、對連接請求返回出錯信息。
[0091]S512、使能接口模塊提供的與客戶端提供業(yè)務對應的業(yè)務接口。
[0092]S513、主控模塊接收云端平臺發(fā)送的更新信息。
[0093]S514、根據(jù)S513中接收的更新信息對更新信息對應的信息進行更新;
[0094]其中,更新信息包括如下信息的一種或多種:更新的讀卡器所運行的軟件、更新的鑒權信息、更新的業(yè)務邏輯信息。
[0095]S515、接口模塊針對不同業(yè)務,通過為該業(yè)務提供的業(yè)務接口接收客戶端發(fā)送的客戶端指示。
[0096]S516、將S515中接收的客戶端指示的格式轉換為讀卡器能夠識別的格式。
[0097]S517、主控模塊接收接口模塊發(fā)送的轉換格式后的客戶端指示。
[0098]S518、根據(jù)接收的客戶端指示,確定需要執(zhí)行的業(yè)務。
[0099]S519、當確定出的業(yè)務為預設業(yè)務時,主控模塊從業(yè)務邏輯模塊中獲取該業(yè)務的執(zhí)行邏輯,
[0100]其中,業(yè)務邏輯模塊,用于存儲并更新預設業(yè)務的執(zhí)行邏輯。
[0101]S520、使能讀卡器中用于執(zhí)行該業(yè)務的業(yè)務模塊,以及按照獲取的該業(yè)務的執(zhí)行邏輯,依次調用讀卡器中用于執(zhí)行該業(yè)務的業(yè)務模塊執(zhí)行業(yè)務。
[0102]S521、在使能的業(yè)務模塊完成業(yè)務的執(zhí)行之后,將使能的業(yè)務模塊去使能。
[0103]進一步地,步驟S520?步驟S521還可以實施為:按照獲取的業(yè)務的執(zhí)行邏輯,依次使能并調用讀卡器中用于執(zhí)行該業(yè)務的業(yè)務模塊;并在每個業(yè)務模塊完成自身執(zhí)行的部分之后,將該業(yè)務模塊去使能。
[0104]S522、當主控模塊向客戶端發(fā)送業(yè)務數(shù)據(jù)時,將業(yè)務數(shù)據(jù)發(fā)送給接口模塊。
[0105]S523、接口模塊將S522中接收的業(yè)務數(shù)據(jù)的格式轉換為客戶端能夠識別的格式。
[0106]S524、接口模塊通過業(yè)務數(shù)據(jù)所屬業(yè)務對應的業(yè)務接口將轉換格式后的業(yè)務數(shù)據(jù)發(fā)送給客戶端。
[0107]下面以具體的業(yè)務為例,說明本發(fā)明實施例提供的數(shù)據(jù)傳輸方法在實際業(yè)務中的應用。
[0108]例1:安全通道建立業(yè)務。在步驟S514之后,客戶端可以請求與讀卡器建立安全通道,具體流程如圖6所示:
[0109]S601、接口模塊通過安全通道初始化業(yè)務接口接收客戶端發(fā)送的安全通道初始化請求。
[0110]S602、將轉換了格式的安全通道初始化請求發(fā)送給主控模塊。
[0111]S603、主控模塊根據(jù)接收的安全通道初始化請求,從業(yè)務邏輯模塊中獲取安全通道初始化業(yè)務的執(zhí)行邏輯。
[0112]S604、主控模塊使能讀卡器中的接觸讀卡模塊。
[0113]S605、主控模塊使能讀卡器中的密鑰存儲模塊。
[0114]S606、主控模塊使能讀卡器中的加解密模塊。
[0115]S607、接口模塊接收客戶端發(fā)送的加密的指示。
[0116]S608、將轉換了格式的指示發(fā)送給主控模塊。
[0117]S609、主控模塊調用密鑰存儲模塊獲取預先約定的密鑰。
[0118]S610、主控模塊調用加解密模塊根據(jù)獲取的密鑰對加密的指示解密。
[0119]S611、根據(jù)解密的指示,調用接觸讀卡模塊(或者非接觸讀卡模塊)將APDU指令發(fā)送給卡片。
[0120]S612、接觸讀卡模塊(或者非接觸讀卡模塊)接收卡片回復的APDU響應。
[0121]S613、接觸讀卡模塊(或者非接觸讀卡模塊)將APDU響應發(fā)送給主控模塊。
[0122]S614、主控模塊調用加解密模塊使用獲取的密鑰對APDU響應加密。
[0123]S615、將加密的APDU響應發(fā)送給接口模塊。
[0124]S616、接口模塊通過安全通道初始化業(yè)務接口將加密的APDU響應發(fā)送給客戶端。
[0125]S617、數(shù)據(jù)傳輸完成之后,主控模塊去使能業(yè)務邏輯模塊。
[0126]S618、主控模塊去使能接觸讀卡模塊(或者非接觸讀卡模塊).
[0127]S619、主控模塊去使能密鑰存儲模塊。
[0128]S620、主控模塊去使能加解密模塊。
[0129]例2:余額查詢業(yè)務。在步驟S514之后,客戶端可以請求讀卡器執(zhí)行余額查詢業(yè)務,假設本次通過非接觸讀卡模塊執(zhí)行該業(yè)務,具體流程如圖7所示:
[0130]S701、客戶端向讀卡器發(fā)送余額查詢請求。
[0131]S702、主控模塊通過接口模塊的APDU交互業(yè)務接口接收客戶端發(fā)送的轉換格式后的余額查詢請求。
[0132]S703、主控模塊使能非接觸讀卡模塊,調用非接觸讀卡模塊讀取卡片余額。
[0133]S704、非接觸讀卡模塊讀取卡片余額。
[0134]S705、非接觸讀卡模塊將讀取到的卡片余額反饋給主控模塊。
[0135]S706、主控模塊將余額信息發(fā)送給接口模塊。
[0136]S707、接口模塊將余額信息進行格式轉換后發(fā)送給客戶端。
[0137]S708、主控模塊將非接觸讀卡模塊去使能。
[0138]進一步地,步驟S707和步驟S708的執(zhí)行沒有嚴格的先后順序。
[0139]例3:智能錢包卡注冊業(yè)務。在步驟S514之后,客戶端可以請求讀卡器執(zhí)行智能錢包卡注冊業(yè)務為卡片注冊智能錢包,具體流程如圖8所示:
[0140]S801、接口模塊通過APDU交互業(yè)務接口接收客戶端發(fā)送的智能錢包注冊信息獲取請求。
[0141]S802、接口模塊將轉換格式的智能錢包注冊信息獲取請求發(fā)送給主控模塊。
[0142]S803、主控模塊從業(yè)務邏輯模塊中獲取智能錢包卡注冊業(yè)務的執(zhí)行邏輯。
[0143]S804、主控模塊將業(yè)務邏輯模塊去使能。
[0144]S805、主控模塊使能非接觸讀卡模塊。
[0145]S806、調用非接觸讀卡模塊獲取智能錢包卡片的安全單元標識(SEID,SecurityElement ID)信息。
[0146]S807、非接觸讀卡模塊獲取智能錢包卡片的SEID信息,并將讀取到的SEID信息反饋給主控模塊。
[0147]S808、主控模塊將非接觸讀卡模塊去使能。
[0148]S809、主控模塊根據(jù)SEID信息判斷卡片類型,使能接觸讀卡模塊。
[0149]S810、調用接觸讀卡模塊獲取智能錢包卡片綁定的SIM卡的國際移動用戶識別碼(IMSI,Internat1nal Mobile Subscriber Identity)信息。
[0150]S811、接觸讀卡模塊將獲取的頂SI信息發(fā)送給主控模塊。
[0151]S812、主控模塊將接觸讀卡模塊去使能。
[0152]S813、主控模塊將獲取的頂SI信息發(fā)送給接口模塊。
[0153]S814、接口模塊通過APDU交互業(yè)務接口將頂SI信息反饋給客戶端。
[0154]進一步地,步驟S806和步驟S807的執(zhí)行沒有嚴格的先后順序。本例中省略了接口模塊進行格式轉換的步驟。
[0155]例4:浦發(fā)聯(lián)名卡應用安裝及開通業(yè)務。在步驟S514之后,客戶端可以請求讀卡器執(zhí)行浦發(fā)聯(lián)名卡應用安裝及開通業(yè)務,具體流程如圖9所示:
[0156]S901、接口模塊通過的APDU交互業(yè)務接口接收客戶端發(fā)送的卡片信息請求。
[0157]S902、接口模塊將格式轉換后的卡片信息請求發(fā)送給主控模塊。
[0158]S903、主控模塊使能接觸讀卡模塊。
[0159]S904、調用接觸讀卡模塊將卡應用寫入用戶卡片。
[0160]S905、接觸讀卡模塊接收用戶卡片發(fā)送的成功寫入的響應。
[0161]S906、接觸讀卡模塊將用戶卡發(fā)送的響應發(fā)送給主控模塊。
[0162]S907、主控模塊將響應發(fā)送給接口模塊。
[0163]S908、接口模塊將轉換格式后的響應發(fā)送給客戶端。
[0164]S909、接口模塊通過APDU交互業(yè)務接口接收客戶端發(fā)送的寫入個人化數(shù)據(jù)進行開通的請求。
[0165]S910、接口模塊將格式轉換后的寫入個人化數(shù)據(jù)進行開通的請求發(fā)送給主控模塊。
[0166]S911、主控模塊根據(jù)接收的請求,使能業(yè)務邏輯模塊并從業(yè)務邏輯模塊中獲取浦發(fā)聯(lián)名卡應用安裝及開通業(yè)務的執(zhí)行邏輯。
[0167]S912、主控模塊使能相關模塊與客戶端建立安全通道。
[0168]進一步地,本步驟的執(zhí)行可以參見例1,這里不再贅述。
[0169]S913、主控模塊調用接觸讀卡模塊向用戶卡寫入個人化數(shù)據(jù)。
[0170]S914、主控模塊使能密碼鍵盤模塊。
[0171]S915、調用密碼鍵盤模塊獲取用戶輸入的PIN碼。
[0172]S916、主控模塊根據(jù)預設安全等級以及預設加密方式將用戶輸入的PIN碼加密,發(fā)送給接口模塊。
[0173]S917、接口模塊通過獲取PIN碼業(yè)務接口將PIN碼發(fā)送給客戶端完成開通。
[0174]S918、主控模塊將相關業(yè)務模塊去使能。
[0175]本發(fā)明實施例提供的一種讀卡器及數(shù)據(jù)傳輸方法,包括:用于執(zhí)行不同業(yè)務的業(yè)務模塊,還包括:主控模塊;主控模塊,用于接收客戶端發(fā)送的客戶端指示,根據(jù)接收的客戶端指示,確定需要執(zhí)行的業(yè)務;通過對讀卡器中用于執(zhí)行該業(yè)務的業(yè)務模塊的工作狀態(tài)進行控制,調用業(yè)務模塊執(zhí)行該業(yè)務;其中,客戶端安裝在讀卡器所連接的設備上,且用于為用戶提供業(yè)務入口。本發(fā)明實施例提供的讀卡器,與現(xiàn)有技術中的讀卡器相比,增加了主控模塊,主控模塊當接收到客戶端指示時,首先確定需要執(zhí)行的業(yè)務,再確定讀卡器中執(zhí)行該業(yè)務需要用到的業(yè)務模塊,使能并調用該需要用到的業(yè)務模塊對該業(yè)務進行執(zhí)行,讀卡器中的除主控模塊之外的業(yè)務模塊均根據(jù)主控模塊的調用執(zhí)行相應的業(yè)務,而不是按照固定的工作模式工作;以讀卡器中業(yè)務模塊包括的接觸讀卡模塊和非接觸讀卡模塊為例,當讀卡器中插入第一 S頂卡,并且讀卡器靠近第二 S頂卡時,不會按照默認的使用優(yōu)先級來使用接觸讀卡模塊和非接觸讀卡模塊,而是根據(jù)主控模塊的指示,當主控模塊指示非接觸讀卡模塊讀卡時,即使接觸讀卡模塊中插有第一 SIM卡,也會根據(jù)主控模塊的指示使非接觸讀卡模塊讀卡,以讀卡器中業(yè)務模塊包括的密碼鍵盤模塊為例,只有主控模塊調用密碼鍵盤模塊時,密碼鍵盤模塊才會處于打開狀態(tài),一定程度上防止了非法用戶的監(jiān)聽或者惡意輸入;因此,與現(xiàn)有技術中各模塊均采用固定的工作模式執(zhí)行業(yè)務相比,本發(fā)明實施例提供的讀卡器使用更加靈活、合理。
[0176]通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發(fā)明實施例可以通過硬件實現(xiàn),也可以借助軟件加必要的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本發(fā)明實施例的技術方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(可以是CD-ROM,U盤,移動硬盤等)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。
[0177]本領域技術人員可以理解附圖只是一個優(yōu)選實施例的示意圖,附圖中的模塊或流程并不一定是實施本發(fā)明所必須的。
[0178]本領域技術人員可以理解實施例中的裝置中的模塊可以按照實施例描述進行分布于實施例的裝置中,也可以進行相應變化位于不同于本實施例的一個或多個裝置中。上述實施例的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。
[0179]上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
[0180]顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍之內,則本發(fā)明也意圖包含這些改動和變型在內。
【主權項】
1.一種讀卡器,包括:用于執(zhí)行不同業(yè)務的業(yè)務模塊,其特征在于,還包括:主控模塊; 所述主控模塊,用于接收客戶端發(fā)送的客戶端指示,根據(jù)接收的客戶端指示,確定需要執(zhí)行的業(yè)務;通過對所述讀卡器中用于執(zhí)行所述業(yè)務的業(yè)務模塊的工作狀態(tài)進行控制,調用所述業(yè)務模塊執(zhí)行所述業(yè)務; 其中,所述客戶端安裝在所述讀卡器所連接的設備上,且用于為用戶提供業(yè)務入口。2.如權利要求1所述的讀卡器,其特征在于,還包括:接口模塊; 所述接口模塊,用于針對不同業(yè)務,通過為該業(yè)務提供的業(yè)務接口接收客戶端發(fā)送的客戶端指示,將所述客戶端指示的格式轉換為所述讀卡器能夠識別的格式,并將轉換格式后的客戶端指示發(fā)送給所述主控模塊;以及接收所述主控模塊向所述客戶端發(fā)送的業(yè)務數(shù)據(jù),并將所述業(yè)務數(shù)據(jù)的格式轉換為所述客戶端能夠識別的格式,并通過所述業(yè)務數(shù)據(jù)所屬業(yè)務對應的業(yè)務接口將轉換格式后的業(yè)務數(shù)據(jù)發(fā)送給所述客戶端; 所述主控模塊,具體用于通過所述接口模塊接收所述客戶端發(fā)送的客戶端指示;以及當需要向所述客戶端發(fā)送業(yè)務數(shù)據(jù)時,將需要向所述客戶端發(fā)送業(yè)務數(shù)據(jù)發(fā)送給所述接口豐旲塊。3.如權利要求1或2所述的讀卡器,其特征在于,還包括:業(yè)務邏輯模塊; 所述業(yè)務邏輯模塊,用于存儲并更新預設業(yè)務的執(zhí)行邏輯; 所述主控模塊,具體用于當確定出需要執(zhí)行的業(yè)務為預設業(yè)務時,從所述業(yè)務邏輯模塊中獲取所述業(yè)務的執(zhí)行邏輯;使能所述讀卡器中用于執(zhí)行所述業(yè)務的業(yè)務模塊,以及按照獲取的所述業(yè)務的執(zhí)行邏輯,依次調用所述讀卡器中用于執(zhí)行所述業(yè)務的業(yè)務模塊執(zhí)行業(yè)務;并在使能的業(yè)務模塊完成業(yè)務的執(zhí)行之后將使能的業(yè)務模塊去使能;或者 具體用于當確定出需要執(zhí)行的業(yè)務為預設業(yè)務時,從所述業(yè)務邏輯模塊中獲取所述業(yè)務的執(zhí)行邏輯;按照獲取的所述業(yè)務的執(zhí)行邏輯,依次使能并調用所述讀卡器中用于執(zhí)行所述業(yè)務的業(yè)務模塊;并在每個業(yè)務模塊完成自身執(zhí)行的部分之后,將該業(yè)務模塊去使能。4.如權利要求2所述的讀卡器,其特征在于,還包括:安全認證模塊; 所述主控模塊,還用于在接收所述客戶端指示以及發(fā)送業(yè)務數(shù)據(jù)之前,通過所述接口模塊接收所述客戶端發(fā)送的攜帶有所述客戶端存儲的第一鑒權信息的連接請求;使能所述安全認證模塊,并將所述第一鑒權信息發(fā)送給所述安全認證模塊;以及接收所述安全認證模塊發(fā)送的鑒權結果;當鑒權成功時,確定所述客戶端通過認證,使能所述接口模塊提供的平臺鑒權接口 ;當鑒權失敗時,確定所述客戶端未通過認證,使所述接口模塊保持去使能狀態(tài); 所述安全認證模塊,用于接收所述主控模塊發(fā)送的所述第一鑒權信息;并按照與所述客戶端預先約定的鑒權方式,使用所述第一鑒權信息對所述客戶端進行鑒權;并將鑒權結果發(fā)送給所述主控模塊; 其中,當所述接口模塊處于去使能狀態(tài)時,所述接口模塊僅用于接收所述客戶端發(fā)送的連接請求。5.如權利要求4所述的讀卡器,其特征在于,所述主控模塊,還用于在所述客戶端通過認證之后,將所述讀卡器的標識信息、以及所述讀卡器存儲的第二鑒權信息發(fā)送給所述客戶端,通過所述客戶端將所述讀卡器的標識信息、以及所述第二鑒權信息發(fā)送給云端平臺,并通過所述客戶端轉發(fā)后續(xù)與云端平臺之間傳輸?shù)恼J證數(shù)據(jù),與云端平臺之間的相互認證并登錄所述云端平臺;接收所述客戶端轉發(fā)的所述讀卡器登錄所述云端平臺的登錄結果;當?shù)卿浗Y果為登錄成功時,使能所述接口模塊提供的與所述客戶端所述提供業(yè)務對應的業(yè)務接口 ; 其中,所述云端平臺為所述客戶端以及所述讀卡器對應的業(yè)務平臺。6.如權利要求5所述的讀卡器,其特征在于,所述主控模塊,還用于在成功登錄所述云端平臺之后,接收所述云端平臺發(fā)送的更新信息;根據(jù)所述更新信息對所述更新信息對應的信息進行更新; 其中,所述更新信息包括如下信息的一種或多種:更新的所述讀卡器所運行的軟件、更新的鑒權信息、更新的業(yè)務邏輯信息。7.一種數(shù)據(jù)傳輸方法,其特征在于,包括: 讀卡器中的主控模塊接收客戶端發(fā)送的客戶端指示; 根據(jù)接收的客戶端指示,確定需要執(zhí)行的業(yè)務; 所述主控模塊通過對所述讀卡器中用于執(zhí)行所述業(yè)務的業(yè)務模塊的工作狀態(tài)進行控制,調用所述業(yè)務模塊執(zhí)行所述業(yè)務; 其中,所述客戶端安裝在所述讀卡器所連接的設備上,且用于為用戶提供業(yè)務入口。8.如權利要求7所述的方法,其特征在于,在主控模塊接收客戶端發(fā)送的客戶端指示之前,還包括: 讀卡器中的接口模塊針對不同業(yè)務,通過為該業(yè)務提供的業(yè)務接口接收客戶端發(fā)送的客戶端指示;并 將所述客戶端指示的格式轉換為所述讀卡器能夠識別的格式; 主控模塊接收客戶端發(fā)送的客戶端指示,具體包括: 主控模塊接收所述接口模塊發(fā)送的轉換格式后的客戶端指示; 當所述主控模塊向所述客戶端發(fā)送業(yè)務數(shù)據(jù)時,所述方法還包括: 所述主控模塊將所述業(yè)務數(shù)據(jù)發(fā)送給所述接口模塊; 所述接口模塊將所述業(yè)務數(shù)據(jù)的格式轉換為所述客戶端能夠識別的格式,并通過所述業(yè)務數(shù)據(jù)所屬業(yè)務對應的業(yè)務接口將轉換格式后的業(yè)務數(shù)據(jù)發(fā)送給所述客戶端。9.如權利要求7或8所述的方法,其特征在于,所述主控模塊通過對所述讀卡器中用于執(zhí)行所述業(yè)務的業(yè)務模塊的工作狀態(tài)進行控制,調用所述業(yè)務模塊執(zhí)行所述業(yè)務,具體包括: 當確定出的業(yè)務為預設業(yè)務時,所述主控模塊從業(yè)務邏輯模塊中獲取所述業(yè)務的執(zhí)行邏輯;使能所述讀卡器中用于執(zhí)行所述業(yè)務的業(yè)務模塊,以及按照獲取的所述業(yè)務的執(zhí)行邏輯,依次調用所述讀卡器中用于執(zhí)行所述業(yè)務的業(yè)務模塊執(zhí)行業(yè)務;并在使能的業(yè)務模塊完成業(yè)務的執(zhí)行之后將使能的業(yè)務模塊去使能;或者 所述主控模塊使能所述讀卡器中用于執(zhí)行所述業(yè)務的業(yè)務模塊,并調用使能的業(yè)務模塊執(zhí)行所述業(yè)務,在使能的業(yè)務模塊完成業(yè)務的執(zhí)行之后將使能的業(yè)務模塊去使能,具體包括: 當確定出需要執(zhí)行的業(yè)務為預設業(yè)務時,從所述業(yè)務邏輯模塊中獲取所述業(yè)務的執(zhí)行邏輯; 按照獲取的所述業(yè)務的執(zhí)行邏輯,依次使能并調用所述讀卡器中用于執(zhí)行所述業(yè)務的業(yè)務模塊;并 在每個業(yè)務模塊完成自身執(zhí)行的部分之后,將該業(yè)務模塊去使能, 其中,所述業(yè)務邏輯模塊,用于存儲并更新預設業(yè)務的執(zhí)行。10.如權利要求8所述的方法,其特征在于,所述主控模塊在接收所述客戶端指示以及發(fā)送業(yè)務數(shù)據(jù)之前,所述方法還包括: 所述主控模塊通過所述接口模塊接收所述客戶端發(fā)送的攜帶有所述客戶端存儲的第一鑒權信息的連接請求;并 使能安全認證模塊,并將所述第一鑒權信息發(fā)送給所述安全認證模塊; 所述安全認證模塊按照與所述客戶端預先約定的鑒權方式,使用所述第一鑒權信息對所述客戶端進行鑒權;并 將鑒權結果發(fā)送給所述主控模塊; 當鑒權成功時,所述主控模塊確定所述客戶端通過驗證,使能所述接口模塊提供的平臺鑒權接口; 當鑒權失敗時,所述主控模塊確定所述客戶端未通過驗證,使所述接口模塊保持去使能狀態(tài); 其中,當所述接口模塊處于去使能狀態(tài)時,所述接口模塊僅用于接收所述客戶端發(fā)送的連接請求。11.如權利要求10所述的方法,其特征在于,在所述客戶端通過驗證之后,還包括: 所述主控模塊將所述讀卡器的標識信息、以及所述讀卡器存儲的第二鑒權信息發(fā)送給所述客戶端,通過所述客戶端將所述讀卡器的標識信息、以及所述第二鑒權信息發(fā)送給云端平臺,并通過所述客戶端轉發(fā)后續(xù)與云端平臺之間傳輸?shù)恼J證數(shù)據(jù),與云端平臺之間的相互認證并登錄所述云端平臺;并 接收所述客戶端轉發(fā)的所述讀卡器登錄所述云端平臺的登錄結果; 當?shù)卿浗Y果為登錄成功時,使能所述接口模塊提供的與所述客戶端所述提供業(yè)務對應的業(yè)務接口; 其中,所述云端平臺為所述客戶端以及所述讀卡器對應的業(yè)務平臺。12.如權利要求11所述的方法,其特征在于,在成功登錄所述云端服務器之后,還包括: 接收所述云端平臺發(fā)送的更新信息; 根據(jù)所述更新信息對所述更新信息對應的信息進行更新; 其中,所述更新信息包括如下信息的一種或多種:更新的所述讀卡器所運行的軟件、更新的鑒權信息、更新的業(yè)務邏輯信息。
【文檔編號】G06K17/00GK105825247SQ201510005062
【公開日】2016年8月3日
【申請日】2015年1月6日
【發(fā)明人】饒凱
【申請人】中國移動通信集團公司