本發(fā)明涉及智能卡通信領(lǐng)域,具體而言,涉及一種數(shù)據(jù)處理方法及裝置。
背景技術(shù):
智能卡(smartcard),內(nèi)嵌微型芯片的卡基的統(tǒng)稱,該微型芯片符合國際標(biāo)準(zhǔn)化組織(iso)標(biāo)準(zhǔn)的集成電路芯片。智能卡具有暫時或永久性的數(shù)據(jù)存儲能力,被存儲的數(shù)據(jù)可以供外部設(shè)備讀取;具有邏輯和運(yùn)算的處理能力。隨著智能卡行業(yè)的高速發(fā)展,其在我們?nèi)粘I钪邪缪葜絹碓街匾慕巧?,滲入到各個角落,與生活息息相關(guān).如,銀行、交通、社保、衛(wèi)生、水電等等。但是,目前智能卡與終端設(shè)備的數(shù)據(jù)傳輸都是明文傳輸,并不安全。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明實施例的目的在于提供一種數(shù)據(jù)處理方法及裝置,以解決上述問題。
為了實現(xiàn)上述目的,本發(fā)明實施例采用的技術(shù)方案如下:
第一方面,本發(fā)明實施例提供了一種數(shù)據(jù)處理方法,應(yīng)用于智能卡通信,所述方法包括:終端設(shè)備獲取智能卡的復(fù)位應(yīng)答信息或選擇應(yīng)答信息;所述終端設(shè)備根據(jù)所述復(fù)位應(yīng)答信息或所述選擇應(yīng)答信息,獲得第一傳輸密鑰,所述第一傳輸密鑰用于加密所述終端設(shè)備與所述智能卡的通信數(shù)據(jù)。
第二方面,本發(fā)明實施例提供了一種數(shù)據(jù)處理裝置,所述裝置包括:獲取模塊,用于獲取智能卡的復(fù)位應(yīng)答信息或選擇應(yīng)答信息;處理模塊,用于根據(jù)所述復(fù)位應(yīng)答信息或所述選擇應(yīng)答信息,獲得第一傳輸密鑰,所述第一傳輸密鑰用于加密所述終端設(shè)備與所述智能卡的通信數(shù)據(jù)。
與現(xiàn)有技術(shù)相比,本發(fā)明實施例提供的一種數(shù)據(jù)處理方法及裝置,通過終端設(shè)備獲取智能卡的復(fù)位應(yīng)答信息或選擇應(yīng)答信息,并根據(jù)所述復(fù)位應(yīng)答信息或所述選擇應(yīng)答信息,獲得第一傳輸密鑰,通過將所述第一傳輸密鑰用于加密所述終端設(shè)備與所述智能卡的通信數(shù)據(jù),則可以實現(xiàn)智能卡與終端設(shè)備的數(shù)據(jù)傳輸?shù)募用埽岣吡酥悄芸ㄅc終端設(shè)備的數(shù)據(jù)傳輸?shù)陌踩浴?/p>
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細(xì)說明如下。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實施例,因此不應(yīng)被看作是對范圍的限定,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。
圖1是本發(fā)明實施例提供的智能卡與終端設(shè)備交互的示意圖。
圖2是本發(fā)明實施例提供的終端設(shè)備的結(jié)構(gòu)框圖。
圖3是本發(fā)明第一實施例提供的一種數(shù)據(jù)處理方法的流程圖。
圖4是本發(fā)明第一實施例提供的一種數(shù)據(jù)處理方法中的步驟s320的流程圖。
圖5是本發(fā)明第二實施例提供的一種數(shù)據(jù)處理方法中的流程圖。
圖6是本發(fā)明第三實施例提供的一種數(shù)據(jù)處理裝置的結(jié)構(gòu)框圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。通常在此處附圖中描述和示出的本發(fā)明實施例的組件可以以各種不同的配置來布置和設(shè)計。因此,以下對在附圖中提供的本發(fā)明的實施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實施例?;诒景l(fā)明的實施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
應(yīng)注意到:相似的標(biāo)號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進(jìn)行進(jìn)一步定義和解釋。同時,在本發(fā)明的描述中,術(shù)語“第一”、“第三”等僅用于區(qū)分描述,而不能理解為指示或暗示相對重要性。
如圖1所示,是本發(fā)明實施例提供的智能卡通信系統(tǒng)中的終端設(shè)備100及智能卡200的一種交互方式。所述智能卡200通過近距離無線通信技術(shù)與所述終端設(shè)備100進(jìn)行通信連接,以進(jìn)行數(shù)據(jù)通信或交互。所述終端設(shè)備100可以是公交卡讀卡器,社??ㄗx卡器,銀行卡讀卡器等。
如圖2所示,是終端設(shè)備100的方框示意圖。所述終端設(shè)備100可以是用戶終端或服務(wù)器。所述終端設(shè)備100包括存儲器101、處理器102以及通信模塊103。
存儲器101可用于存儲軟件程序以及模塊,如本發(fā)明實施例中的數(shù)據(jù)處理方法及裝置對應(yīng)的程序指令/模塊,處理器102通過運(yùn)行存儲在存儲器101內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實現(xiàn)本發(fā)明實施例中的數(shù)據(jù)處理方法。存儲器101可包括高速隨機(jī)存儲器,還可包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。
通信模塊103用于接收以及發(fā)送通信數(shù)據(jù)。
可以理解,圖2所示的結(jié)構(gòu)僅為示意,所述終端設(shè)備100還可包括比圖2中所示更多或者更少的組件,或者具有與圖2所示不同的配置。圖2中所示的各組件可以采用硬件、軟件或其組合實現(xiàn)。
本發(fā)明實施例提供的數(shù)據(jù)處理方法可以運(yùn)行于圖1所示的終端設(shè)備100中。該方法通過終端設(shè)備獲取智能卡的復(fù)位應(yīng)答信息或選擇應(yīng)答信息,并根據(jù)所述復(fù)位應(yīng)答信息或所述選擇應(yīng)答信息,獲得第一傳輸密鑰,通過將所述第一傳輸密鑰用于加密所述終端設(shè)備與所述智能卡的通信數(shù)據(jù),則可以實現(xiàn)智能卡與終端設(shè)備的數(shù)據(jù)傳輸?shù)募用埽岣吡酥悄芸ㄅc終端設(shè)備的數(shù)據(jù)傳輸?shù)陌踩?。下面對該?shù)據(jù)處理方法進(jìn)行詳細(xì)說明。
圖3示出了本發(fā)明第一實施例提供的數(shù)據(jù)處理方法的流程圖,請參閱圖3,該數(shù)據(jù)處理方法運(yùn)行于上述終端設(shè)備中,該方法包括:
步驟s310,終端設(shè)備獲取智能卡的復(fù)位應(yīng)答信息或選擇應(yīng)答信息。
其中,復(fù)位應(yīng)答(answertoreset),是智能卡的接觸通信界面通過一系列的字符串進(jìn)行響應(yīng)的一種行為,復(fù)位應(yīng)答信息是在復(fù)位應(yīng)答過程中產(chǎn)生的信息。智能卡在最初被終端設(shè)備復(fù)位后,通過復(fù)位應(yīng)答信息來做出響應(yīng);該復(fù)位應(yīng)答信息包括一個初始字符ts,后續(xù)跟隨有最多32個附加字符,這些字符一起為終端設(shè)備提供如何與智能卡進(jìn)行后續(xù)接觸通信的信息。
選擇應(yīng)答(answertoselect),是智能卡的非接觸通信界面通過一系列的字符串進(jìn)行響應(yīng)的一種行為,選擇應(yīng)答信息是在選擇應(yīng)答過程中產(chǎn)生的信息。智能卡的非接觸通信界面在收到終端設(shè)備發(fā)送的消息后通過選擇應(yīng)答信息進(jìn)行響應(yīng)。選擇應(yīng)答信息的第一個字節(jié)tl字符,表示了選擇應(yīng)答信息的總長度,后續(xù)跟隨有最多tl個附加字符,這些字符一起為終端設(shè)備提供如何與智能卡進(jìn)行后續(xù)非接觸通信的信息。
進(jìn)一步的,對于不同的行業(yè)應(yīng)用,其復(fù)位應(yīng)答信息或選擇應(yīng)答信息的字節(jié)的構(gòu)成方式都不一樣,且對于同一種行業(yè)應(yīng)用,每一張卡上與其對應(yīng)的復(fù)位應(yīng)答信息或選擇應(yīng)答信息的字節(jié)的構(gòu)成方式也都是不相同的,即每張卡片上的每一個應(yīng)用都有一個具有唯一性的復(fù)位應(yīng)答信息或選擇應(yīng)答信息與其對應(yīng)。
當(dāng)該智能卡的接觸通信界面與終端設(shè)備進(jìn)行交互時,則終端設(shè)備獲取該智能卡的復(fù)位應(yīng)答信息;若該智能卡的非接觸通信界面與終端設(shè)備進(jìn)行交互時,則終端設(shè)備獲取該智能卡的選擇應(yīng)答信息。
作為一種實施方式,在步驟s310之后還可以包括:所述終端設(shè)備與所述智能卡建立連接。也就是說,首先該終端設(shè)備進(jìn)行尋卡,找到對應(yīng)的智能卡,并與該智能卡建立連接,然后該終端設(shè)備獲取智能卡的復(fù)位應(yīng)答信息或選擇應(yīng)答信息。
步驟s320,所述終端設(shè)備根據(jù)所述復(fù)位應(yīng)答信息或所述選擇應(yīng)答信息,獲得第一傳輸密鑰,所述第一傳輸密鑰用于加密所述終端設(shè)備與所述智能卡的通信數(shù)據(jù)。
該終端設(shè)備根據(jù)所述復(fù)位應(yīng)答信息或所述選擇應(yīng)答信息,獲得第一傳輸密鑰的實施方式很多。作為一種實施方式,可以將該復(fù)位應(yīng)答信息或該選擇應(yīng)答信息采用加密算法進(jìn)行加密,生成第一傳輸密鑰。其中,加密算法可以是hash算法,md5算法等。
作為另一種實施方式,請參閱圖4,步驟s320可以進(jìn)一步包括:
步驟s321,所述終端設(shè)備從所述復(fù)位應(yīng)答信息或選擇應(yīng)答信息取出部分信息作為分散因子。
步驟s322,所述終端設(shè)備采用預(yù)存儲的根密鑰對所述分散因子進(jìn)行加密,將加密后的數(shù)據(jù)作為第一傳輸密鑰。
其中,卡片發(fā)行商可以對根密鑰進(jìn)行維護(hù)和使用。所述終端設(shè)備采用預(yù)存儲的根密鑰對所述分散因子進(jìn)行加密的加密算法可以有多種,例如,md5算法等,此處不再贅述。所謂密鑰分散,其實是分散密鑰的計算過程,是上級的密鑰與本級的特征相結(jié)合形成本級的密鑰的過程,即密鑰分散的過程,使得產(chǎn)生的第一傳輸密鑰的安全性更高,進(jìn)一步的,采用該第一傳輸密鑰加密所述終端設(shè)備與所述智能卡的通信數(shù)據(jù),能夠提高所述終端設(shè)備與所述智能卡通信數(shù)據(jù)的安全性。
作為一種所述方式,在步驟s320之后,還可以包括:所述終端設(shè)備采用所述第一傳輸密鑰加密發(fā)送給所述智能卡的通信數(shù)據(jù)。
本發(fā)明實施例提供的數(shù)據(jù)處理方法,通過終端設(shè)備獲取智能卡的復(fù)位應(yīng)答信息或選擇應(yīng)答信息,并根據(jù)所述復(fù)位應(yīng)答信息或所述選擇應(yīng)答信息,獲得第一傳輸密鑰,通過將所述第一傳輸密鑰用于加密所述終端設(shè)備與所述智能卡的通信數(shù)據(jù),則可以實現(xiàn)智能卡與終端設(shè)備的數(shù)據(jù)傳輸?shù)募用?,提高了智能卡與終端設(shè)備的數(shù)據(jù)傳輸?shù)陌踩浴?/p>
圖5示出了本發(fā)明第二實施例提供的數(shù)據(jù)處理方法的流程圖,請參閱圖5,該數(shù)據(jù)處理方法運(yùn)行于上述終端設(shè)備中,該方法包括:
步驟s410,終端設(shè)備獲取智能卡的復(fù)位應(yīng)答信息或選擇應(yīng)答信息。
步驟s420,所述終端設(shè)備根據(jù)所述復(fù)位應(yīng)答信息或所述選擇應(yīng)答信息,獲得第一傳輸密鑰,所述第一傳輸密鑰用于加密所述終端設(shè)備與所述智能卡的通信數(shù)據(jù)。
步驟s430,所述終端設(shè)備采用所述第一傳輸密鑰加密發(fā)送給所述智能卡的通信數(shù)據(jù)。
步驟s410至步驟s430的實施方式,與上一實施例中的實施方式相似,此處不再贅述。
步驟s440,若所述智能卡的當(dāng)前應(yīng)用切換,則所述終端設(shè)備重新獲取所述智能卡的復(fù)位應(yīng)答信息或選擇應(yīng)答信息。
可以理解的是,由于對于不同的行業(yè)應(yīng)用,其復(fù)位應(yīng)答信息或選擇應(yīng)答信息的字節(jié)的構(gòu)成方式都不一樣,且對于同一種行業(yè)應(yīng)用,每一張卡上與其對應(yīng)的復(fù)位應(yīng)答信息或選擇應(yīng)答信息的字節(jié)的構(gòu)成方式也都是不相同的,因此,當(dāng)所述智能卡的當(dāng)前應(yīng)用切換時,所述終端設(shè)備需要重新獲取所述智能卡的復(fù)位應(yīng)答信息或選擇應(yīng)答信息。獲取的方式與上一實施例中的實施方式相同,此處不再贅述。
步驟s450,所述終端設(shè)備根據(jù)所述復(fù)位應(yīng)答信息或選擇應(yīng)答信息,獲得第二傳輸密鑰。
步驟s460,所述終端設(shè)備采用所述第二傳輸密鑰加密發(fā)送給所述智能卡的通信數(shù)據(jù)。
本發(fā)明實施例提供的數(shù)據(jù)處理方法,除了能實現(xiàn)上一實施例實現(xiàn)的功能外,還能在當(dāng)智能卡的當(dāng)前應(yīng)用切換時,重新獲取所述智能卡的復(fù)位應(yīng)答信息或選擇應(yīng)答信息,且根據(jù)所述復(fù)位應(yīng)答信息或選擇應(yīng)答信息,獲得第二傳輸密鑰,并采用所述第二傳輸密鑰加密發(fā)送給所述智能卡的通信數(shù)據(jù),以此保證了智能卡的當(dāng)前應(yīng)用切換后,也能安全的進(jìn)行智能卡與終端設(shè)備的通信。
請參閱圖6,是本發(fā)明第三實施例提供的數(shù)據(jù)處理裝置500的功能模塊示意圖。所述數(shù)據(jù)處理裝置500包括獲取模塊510及處理模塊520。
獲取模塊510,用于獲取智能卡的復(fù)位應(yīng)答信息或選擇應(yīng)答信息。
處理模塊520,用于根據(jù)所述復(fù)位應(yīng)答信息或所述選擇應(yīng)答信息,獲得第一傳輸密鑰,所述第一傳輸密鑰用于加密所述終端設(shè)備與所述智能卡的通信數(shù)據(jù)。
作為一種實施方式,所述處理模塊520,具體用于從所述復(fù)位應(yīng)答信息或選擇應(yīng)答信息取出部分信息作為分散因子;采用預(yù)存儲的根密鑰對所述分散因子進(jìn)行加密,將加密后的數(shù)據(jù)作為第一傳輸密鑰。
作為又一種實施方式,所述裝置還包括通信模塊530,用于在獲得第一傳輸密鑰之后,采用所述第一傳輸密鑰加密發(fā)送給所述智能卡的通信數(shù)據(jù)。
進(jìn)一步的,作為另一種實施方式,所述裝置還包括切換模塊540,用于若所述智能卡的當(dāng)前應(yīng)用切換,則獲取所述智能卡的復(fù)位應(yīng)答信息或選擇應(yīng)答信息;根據(jù)所述復(fù)位應(yīng)答信息或選擇應(yīng)答信息,獲得第二傳輸密鑰;采用所述第二傳輸密鑰加密發(fā)送給所述智能卡的通信數(shù)據(jù)。
進(jìn)一步的,所述裝置還包括建立連接模塊550,用于與所述智能卡建立連接。
以上各模塊可以是由軟件代碼實現(xiàn),此時,上述的各模塊可存儲于終端設(shè)備100的存儲器101內(nèi)。以上各模塊同樣可以由硬件例如集成電路芯片實現(xiàn)。
需要說明的是,本說明書中的各個實施例均采用遞進(jìn)的方式描述,每個實施例重點(diǎn)說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
本發(fā)明實施例所提供的數(shù)據(jù)處理裝置,其實現(xiàn)原理及產(chǎn)生的技術(shù)效果和前述方法實施例相同,為簡要描述,裝置實施例部分未提及之處,可參考前述方法實施例中相應(yīng)內(nèi)容。
在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的裝置和方法,也可以通過其它的方式實現(xiàn)。以上所描述的裝置實施例僅僅是示意性的,例如,附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個實施例的裝置、方法和計算機(jī)程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實現(xiàn)方式中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機(jī)指令的組合來實現(xiàn)。
另外,在本發(fā)明各個實施例中的各功能模塊可以集成在一起形成一個獨(dú)立的部分,也可以是各個模塊單獨(dú)存在,也可以兩個或兩個以上模塊集成形成一個獨(dú)立的部分。
所述功能如果以軟件功能模塊的形式實現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:u盤、移動硬盤、只讀存儲器(rom,read-onlymemory)、隨機(jī)存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。需要說明的是,在本文中,諸如第一和第三等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。應(yīng)注意到:相似的標(biāo)號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進(jìn)行進(jìn)一步定義和解釋。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。