專利名稱:讀卡器安全認(rèn)證裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)安全領(lǐng)域,特別涉及到讀卡器、讀卡器安全認(rèn)證方法、裝置及系統(tǒng)。
背景技術(shù):
讀卡器是可以與智能卡、存儲卡或者其他類型卡片進行數(shù)據(jù)交換的設(shè)備。所述讀 卡器通過USB或者其他串口連接到個人電腦,可以與個人電腦之間進行數(shù)據(jù)交換,但是接 收和發(fā)送數(shù)據(jù)都需要遵循所述讀卡器的數(shù)據(jù)通訊協(xié)議。 讀卡器是一個數(shù)據(jù)傳輸通訊模塊,負(fù)責(zé)從終端(例如個人電腦或者其他電子設(shè) 備)通過一定的數(shù)據(jù)通訊協(xié)議格式接收數(shù)據(jù),并將此數(shù)據(jù)按照與讀卡器連接的卡片能夠接 收的數(shù)據(jù)通訊協(xié)議格式,重新組織數(shù)據(jù)后轉(zhuǎn)發(fā)給所述卡片;反之,從卡片接收數(shù)據(jù)后按照終 端設(shè)備能夠接收的數(shù)據(jù)通訊協(xié)議格式,重新組織數(shù)據(jù)后返回給終端。 目前的讀卡器有以下方面的不足終端與讀卡器之間,按照數(shù)據(jù)通訊協(xié)議傳輸?shù)?數(shù)據(jù)沒有經(jīng)過加密處理,使數(shù)據(jù)容易被截?。唤K端與讀卡器進行數(shù)據(jù)交換之前,相互之間無 需進行任何認(rèn)證,不能保證數(shù)據(jù)交換的安全性。
發(fā)明內(nèi)容
本發(fā)明的目的之一為提供一種讀卡器、讀卡器安全認(rèn)證方法、裝置及系統(tǒng),提升了 讀卡器的可靠性和數(shù)據(jù)傳輸?shù)陌踩浴?本發(fā)明提出一種讀卡器,所述讀卡器包括 數(shù)據(jù)傳輸模塊,與終端和/或外接卡進行數(shù)據(jù)傳輸;設(shè)置數(shù)據(jù)加密算法和認(rèn)證算 法,進行認(rèn)證; 安全認(rèn)證模塊,與數(shù)據(jù)傳輸模塊和終端連接通信,設(shè)置數(shù)據(jù)加密算法和認(rèn)證算法, 與數(shù)據(jù)傳輸模塊和/或終端進行認(rèn)證。
優(yōu)選地,所述數(shù)據(jù)傳輸模塊包括 發(fā)送接收單元,發(fā)送和接收利用數(shù)據(jù)加密算法加密的數(shù)據(jù)信號以及利用認(rèn)證算法 加密的認(rèn)證信號; 讀卡認(rèn)證單元,將接收后的認(rèn)證信號解密認(rèn)證以及產(chǎn)生認(rèn)證信號供安全認(rèn)證模塊 認(rèn)證。
優(yōu)選地,所述安全認(rèn)證模塊包括 信號接收單元,接收數(shù)據(jù)傳輸模塊和/或終端利用數(shù)據(jù)加密算法加密的數(shù)據(jù)信號 和/或利用認(rèn)證算法加密的認(rèn)證信號; 加解密/認(rèn)證單元,將所述認(rèn)證信號解密認(rèn)證,并可利用認(rèn)證算法加密認(rèn)證信號 供數(shù)據(jù)傳輸模塊和/或終端進行認(rèn)證; 會話建立單元,在認(rèn)證成功后,接收認(rèn)證確認(rèn),建立數(shù)據(jù)傳輸模塊與終端之間的會 話,并產(chǎn)生會話信息傳送給所述終端。
優(yōu)選地,所述會話信息包括會話標(biāo)識符和會話密鑰。 優(yōu)選地,所述安全認(rèn)證模塊還包括密鑰產(chǎn)生單元,根據(jù)所述會話標(biāo)識符產(chǎn)生會話 密鑰,加密會話。 優(yōu)選地,所述加解密/認(rèn)證單元,還包括將所述讀卡器傳送給終端的數(shù)據(jù)進行加 密和/或?qū)⒔K端利用會話密鑰加密傳送給讀卡器的數(shù)據(jù)解密。 本發(fā)明還提出一種讀卡器安全認(rèn)證系統(tǒng),對讀卡器和與其連接通信的終端之間的 通信進行認(rèn)證,所述系統(tǒng)包括 讀卡器和終端,發(fā)送和接收利用認(rèn)證算法加密的認(rèn)證信號,并將接收后的認(rèn)證信 號解密認(rèn)證; 安全認(rèn)證模塊,與讀卡器和終端連接通信,接收讀卡器和/或終端利用認(rèn)證算法 加密的認(rèn)證信號;將所述認(rèn)證信號解密認(rèn)證;并可利用認(rèn)證算法加密認(rèn)證信號供讀卡器和 /或終端進行認(rèn)證; 認(rèn)證成功后,建立讀卡器與終端之間的會話,并產(chǎn)生會話信息傳送給所述終端。
本發(fā)明還提出一種讀卡器安全認(rèn)證方法,對讀卡器和與其連接通信的終端之間的 通信進行認(rèn)證,包括步驟 利用認(rèn)證算法加密認(rèn)證信號供讀卡器和/或終端進行認(rèn)證;
接收讀卡器和/或終端利用認(rèn)證算法加密的認(rèn)證信號;
將所述認(rèn)證信號解密后認(rèn)證; 認(rèn)證成功后,建立讀卡器與終端之間的會話,并產(chǎn)生會話信息傳送給所述終端。
優(yōu)選地,所述認(rèn)證成功后,建立讀卡器與終端之間的會話,并產(chǎn)生會話信息傳送給 所述終端的步驟還包括步驟 根據(jù)所述會話標(biāo)識符產(chǎn)生會話密鑰,加密會話。 本發(fā)明還提出一種讀卡器安全認(rèn)證裝置,與讀卡器和/或終端連接通信,所述裝 置包括 信號接收單元,接收讀卡器和/或終端利用認(rèn)證算法加密的認(rèn)證信號; 加解密/認(rèn)證單元,將所述認(rèn)證信號解密后認(rèn)證,并可利用認(rèn)證算法加密認(rèn)證信
號供讀卡器和/或終端進行認(rèn)證; 會話建立單元,在認(rèn)證成功后,建立讀卡器與終端之間的會話,并產(chǎn)生會話信息傳 送給所述終端。 本發(fā)明所述讀卡器、讀卡器安全認(rèn)證方法、裝置及系統(tǒng),通過會話前的認(rèn)證,增強 了通信的安全性和讀卡器的可靠性;通過會話中的加密,增強數(shù)據(jù)的保密性。
圖1是本發(fā)明第一實施例讀卡器的結(jié)構(gòu)示意圖; 圖2是本發(fā)明第二實施例讀卡器的結(jié)構(gòu)示意圖; 圖3是本發(fā)明第三實施例讀卡器的結(jié)構(gòu)示意圖; 圖4是本發(fā)明第四實施例讀卡器安全認(rèn)證系統(tǒng)的結(jié)構(gòu)示意圖; 圖5是本發(fā)明第五實施例讀卡器安全認(rèn)證方法的工作流程示意圖; 圖6是本發(fā)明第六實施例讀卡器安全認(rèn)證方法的工作流程示意5
圖7是本發(fā)明第七實施例讀卡器安全認(rèn)證裝置的結(jié)構(gòu)示意圖; 圖8是本發(fā)明第七實施例讀卡器安全認(rèn)證裝置的另一結(jié)構(gòu)示意圖。 本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明。
具體實施例方式
本發(fā)明提供一種讀卡器、讀卡器安全認(rèn)證方法、裝置及系統(tǒng),在讀卡器和與讀卡器 連接的終端之間,建立需要通過認(rèn)證的會話通信,并加密會話通信,保護數(shù)據(jù);且讀卡器內(nèi) 部需要進行認(rèn)證,確保讀卡器不會被仿冒。 參照圖1,本發(fā)明第一實施例提出一種讀卡器,其包括數(shù)據(jù)傳輸模塊21和安全認(rèn) 證模塊22。 所述數(shù)據(jù)傳輸模塊21,與終端30和/或外接卡10進行數(shù)據(jù)傳輸;設(shè)置數(shù)據(jù)加密 算法和認(rèn)證算法,進行數(shù)據(jù)加密和認(rèn)證;所述終端30可以是個人電腦或者其他電子設(shè)備; 所述外接卡10可以是智能卡、存儲卡或者其他類型可以進行數(shù)據(jù)交換的卡片。
所述安全認(rèn)證模塊22,與數(shù)據(jù)傳輸模塊21和終端30連接通信,設(shè)置數(shù)據(jù)加密算法 和認(rèn)證算法,與數(shù)據(jù)傳輸模塊21和/或終端30進行認(rèn)證。 所述數(shù)據(jù)傳輸模塊21和終端30,需要進行會話時,可以發(fā)起認(rèn)證,通過將一數(shù)據(jù) 利用認(rèn)證算法加密后,傳送給所述安全認(rèn)證模塊22 ;經(jīng)過所述安全認(rèn)證模塊22利用認(rèn)證算 法解密后認(rèn)證,并利用認(rèn)證算法加密數(shù)據(jù)傳輸模塊21或終端30送入的信息后形成認(rèn)證信 號,分別返回給所述數(shù)據(jù)傳輸模塊21或終端30 ;所述數(shù)據(jù)傳輸模塊21和終端30通過解密 進行認(rèn)證,確認(rèn)解密后數(shù)據(jù)是發(fā)起認(rèn)證時加密發(fā)送的數(shù)據(jù),則認(rèn)證成功。
本實施例,通過會話前的認(rèn)證,增強了通信的安全性;同時,讀卡器的所述數(shù)據(jù)傳 輸模塊21與所述安全認(rèn)證模塊22之間的認(rèn)證,使得讀卡器的所述數(shù)據(jù)傳輸模塊21與所述 安全認(rèn)證模塊22,不能被仿冒,增強讀卡器的可靠性。 參照圖2,本發(fā)明第二實施例基于第一實施例提出一種讀卡器,其包括數(shù)據(jù)傳輸模 塊21和安全認(rèn)證模塊22。 所述數(shù)據(jù)傳輸模塊21包括發(fā)送接收單元211和讀卡認(rèn)證單元212,所述發(fā)送接收 單元211,發(fā)送和接收利用認(rèn)證算法加密產(chǎn)生的認(rèn)證信號;所述讀卡認(rèn)證單元212,將接收 后的認(rèn)證信號解密并認(rèn)證。 所述安全認(rèn)證模塊22包括信號接收單元221、加解密/認(rèn)證單元222和會話建立 單元223,所述認(rèn)證信號接收單元221,接收數(shù)據(jù)傳輸模塊21和/或終端30利用認(rèn)證算法 加密產(chǎn)生的認(rèn)證信號;所述加解密/認(rèn)證單元222,將所述認(rèn)證信號解密后認(rèn)證,再利用認(rèn) 證算法加密數(shù)據(jù)傳輸模塊21或終端30送入的信息后傳送給數(shù)據(jù)傳輸模塊21和/或終端 30進行認(rèn)證;所述會話建立單元223,在認(rèn)證成功后,建立數(shù)據(jù)傳輸模塊21與終端30之間 的會話,并產(chǎn)生會話信息傳送給所述終端30。 所述會話信息包括會話標(biāo)識符和會話密鑰等;所述會話密鑰可以根據(jù)所述會話標(biāo) 識符等產(chǎn)生。 所述會話標(biāo)識符可以對會話進行唯一標(biāo)識。 本實施例數(shù)據(jù)加密算法可以是對稱算法;認(rèn)證算法可以是非對稱算法等;所述認(rèn) 證信號可以是一隨機數(shù),所述隨機數(shù)是由認(rèn)證者產(chǎn)生;所述認(rèn)證者可以是數(shù)據(jù)傳輸模塊21
6和終端30和安全認(rèn)證模塊22等。 由于非對稱算法中包括公鑰和私鑰,因此,在本實施例中,所述數(shù)據(jù)傳輸模塊21 中設(shè)置讀卡私鑰和認(rèn)證公鑰;所述終端30中設(shè)置終端私鑰和認(rèn)證公鑰;所述安全認(rèn)證模塊 22中設(shè)置認(rèn)證私鑰、讀卡公鑰和終端公鑰。 所述數(shù)據(jù)傳輸模塊21,可以發(fā)起認(rèn)證,其可以向安全認(rèn)證模塊22請求一安全認(rèn)證 隨機數(shù),并自身生成一讀卡隨機數(shù),利用讀卡認(rèn)證單元212的讀卡私鑰將所述安全認(rèn)證隨 機數(shù)和讀卡器隨機數(shù)加密后,使用發(fā)送接收單元211傳送給所述安全認(rèn)證模塊22 ;所述安 全認(rèn)證模塊22通過信號接收單元221接收加密后的隨機數(shù),利用加解密/認(rèn)證單元222的 讀卡公鑰解密后,將解密后得到的安全認(rèn)證隨機數(shù)和安全認(rèn)證模塊22內(nèi)部保存的原始隨 機數(shù)比較,兩個隨機數(shù)不相同則認(rèn)證失敗,拒絕繼續(xù)通訊;兩個隨機數(shù)相同,則再使用加解 密/認(rèn)證單元222的認(rèn)證私鑰加密讀卡隨機數(shù)后,返回給所述數(shù)據(jù)傳輸模塊21 ;所述數(shù)據(jù) 傳輸模塊21通過認(rèn)證公鑰解密得到解密后的讀卡隨機數(shù),將解密后得到的讀卡隨機數(shù)和 內(nèi)部保存的原始隨機數(shù)比較,兩個隨機數(shù)不相同,則認(rèn)證失敗,拒絕繼續(xù)通訊,兩個隨機數(shù) 相同,則認(rèn)證成功。通過認(rèn)證可以提高數(shù)據(jù)傳輸模塊21與安全認(rèn)證模塊22的安全性,并且 可以作為兩者之間的硬件安全識別。 所述終端30,可以發(fā)起認(rèn)證,其可以向安全認(rèn)證模塊22請求一安全認(rèn)證隨機數(shù), 并生成一終端隨機數(shù),利用終端私鑰將所述安全認(rèn)證隨機數(shù)和終端隨機數(shù)加密后,傳送給 所述安全認(rèn)證模塊22 ;所述安全認(rèn)證模塊22通過信號接收單元221接收加密后的隨機數(shù), 利用加解密/認(rèn)證單元222的終端公鑰解密,得到解密后的安全認(rèn)證隨機數(shù),將解密后的安 全認(rèn)證隨機數(shù)和內(nèi)部保存的原始隨機數(shù)比較,兩個隨機數(shù)不相同,則認(rèn)證失敗,拒絕繼續(xù)通 訊;兩個隨機數(shù)相同,則認(rèn)證成功,利用會話建立單元223生成會話標(biāo)識符,并根據(jù)會話標(biāo) 識符生成會話密鑰,使用終端公鑰加密會話標(biāo)識符和會話密鑰形成加密會話信息,再使用 加解密/認(rèn)證單元222的認(rèn)證私鑰加密終端隨機數(shù)后,將所述加密會話信息和加密終端隨 機數(shù)返回給所述終端30 ;所述終端30通過認(rèn)證公鑰解密加密終端隨機數(shù)后得到解密后的 終端隨機數(shù),將解密后的終端隨機數(shù)和內(nèi)部保存的原始隨機數(shù)比較,兩個隨機數(shù)不相同,則 認(rèn)證失敗,拒絕繼續(xù)通訊,兩個隨機數(shù)相同,認(rèn)證成功,用終端私鑰解密得到會話標(biāo)識符和 會話密鑰,從而建立了數(shù)據(jù)傳輸模塊21與終端30之間的會話。通過認(rèn)證可以提高數(shù)據(jù)傳 輸模塊21與終端30會話的安全性。 本實施例,通過使用非對稱算法進行認(rèn)證,使得認(rèn)證更加安全可靠。
參照圖3,本發(fā)明第三實施例基于第二實施例提出一種讀卡器,其中,所述安全認(rèn) 證模塊22還包括密鑰產(chǎn)生單元,根據(jù)所述會話標(biāo)識符產(chǎn)生會話密鑰,利用所述非對稱算法 加密傳送給所述終端30,加密會話。 所述密鑰產(chǎn)生單元224,在上電時產(chǎn)生一個隨機數(shù)作為會話密鑰的根密鑰,并將會 話數(shù)目設(shè)置為一個隨機初始值,終端30每次申請會話時,會話數(shù)目自動增一,并將增一后 的會話數(shù)目作為終端30的會話標(biāo)識符,利用會話密鑰的根密鑰對會話標(biāo)識符分散就得到 會話密鑰,分散算法為對稱算法,利用所述加解密/認(rèn)證單元222的終端公鑰,對所述會話 標(biāo)識符和會話密鑰加密發(fā)送給所述終端30。 所述加解密/認(rèn)證單元222,還包括將所述讀卡器傳送給終端30的數(shù)據(jù)進行加密 和/或?qū)⒔K端30利用會話密鑰加密傳送給讀卡器的數(shù)據(jù)解密。
所述數(shù)據(jù)傳輸模塊21,還可以在與所述安全認(rèn)證模塊22的認(rèn)證通過后,向所述安 全認(rèn)證模塊22申請所述會話密鑰;所述安全認(rèn)證模塊22將會話標(biāo)識符和會話密鑰,利用讀 卡公鑰加密后發(fā)送給所述數(shù)據(jù)傳輸模塊21。 所述數(shù)據(jù)傳輸模塊21將導(dǎo)入所述會話密鑰,如果導(dǎo)入成功,將使用所述會話密鑰
與所述終端30進行加密的數(shù)據(jù)交換;將從所述外接卡10中讀取的數(shù)據(jù),通過所述會話密鑰
加密后,傳送給所述終端30,并接收終端30傳送的數(shù)據(jù),利用所述會話密鑰解密后,傳送給
外接卡10進行存儲;如果導(dǎo)入不成功,則通過所述安全認(rèn)證模塊22進行加解密。 所述終端30,在接收所述加密的會話標(biāo)識符和會話密鑰并解密后,也可以使用所
述會話密鑰對數(shù)據(jù)進行加解密,與所述數(shù)據(jù)傳輸模塊21進行加密的數(shù)據(jù)交換。 由于會話不同,會話標(biāo)識符將變化,而導(dǎo)致會話密鑰變化,使得會話密鑰被破譯的
可能性減少,增加了數(shù)據(jù)傳輸?shù)陌踩浴?本實施例所述安全認(rèn)證模塊22可以是終端安全存取模塊(Purchase SecureAccess Module, PSAM)。 本實施例所述讀卡器還可以外接射頻模塊等,與所述外接卡10進行無線數(shù)據(jù)交 換。 本實施例所述讀卡器,通過認(rèn)證與加密,提高硬件的可靠性和數(shù)據(jù)傳輸?shù)陌踩浴?
參照圖4,本發(fā)明第四實施例提出一種讀卡器安全認(rèn)證系統(tǒng),對讀卡器和與其連接 通信的終端30之間的通信進行認(rèn)證,所述系統(tǒng)包括 讀卡器40和終端30,發(fā)送和接收利用認(rèn)證算法加密產(chǎn)生的認(rèn)證信號,并將接收后 的加密的認(rèn)證信號解密認(rèn)證;所述終端30可以是個人電腦或者其他電子設(shè)備;所述認(rèn)證信 號可以是由安全認(rèn)證模塊22產(chǎn)生的一隨機數(shù)。 安全認(rèn)證模塊22,與讀卡器40和終端30連接通信,接收讀卡器40和/或終端30 利用認(rèn)證算法加密產(chǎn)生的認(rèn)證信號; 將所述認(rèn)證信號解密認(rèn)證,再利用認(rèn)證算法加密讀卡器40和/或終端30送入的 信息后傳送給讀卡器40和/或終端30進行認(rèn)證; 在認(rèn)證成功后,建立讀卡器40與終端30之間的會話,并產(chǎn)生會話信息傳送給所述 終端30。 所述會話信息包括會話標(biāo)識符和會話密鑰等;所述會話密鑰可以根據(jù)所述會話標(biāo) 識符等產(chǎn)生。 所述會話標(biāo)識符可以對會話進行唯一標(biāo)識。 本實施例數(shù)據(jù)加密算法可以是對稱算法;認(rèn)證算法可以是非對稱算法等;所述認(rèn) 證信號可以是一隨機數(shù),所述隨機數(shù)是由認(rèn)證者產(chǎn)生;所述認(rèn)證者可以是讀卡器40和終端 30等。 由于非對稱算法中包括公鑰和私鑰,因此,在本實施例中,所述讀卡器40中設(shè)置 讀卡私鑰和認(rèn)證公鑰;所述終端30中設(shè)置終端私鑰和認(rèn)證公鑰;所述安全認(rèn)證模塊22中 設(shè)置認(rèn)證私鑰、讀卡公鑰和終端公鑰。 所述讀卡器40,可以發(fā)起認(rèn)證,其可以向安全認(rèn)證模塊22請求一安全認(rèn)證隨機 數(shù),并產(chǎn)生一個讀卡隨機數(shù),利用讀卡私鑰將所述安全認(rèn)證隨機數(shù)和讀卡器機數(shù)加密后,傳 送給所述安全認(rèn)證模塊22 ;所述安全認(rèn)證模塊22接收加密后的安全認(rèn)證隨機數(shù),利用讀卡
8公鑰解密,得到解密后的安全認(rèn)證隨機數(shù),并與內(nèi)部保存的原始隨機數(shù)比較,兩個隨機數(shù)不 相同,則認(rèn)證失敗,拒絕繼續(xù)通訊;兩個隨機數(shù)相同,則認(rèn)證成功,再使用認(rèn)證私鑰加密讀卡 隨機數(shù)后,返回給所述讀卡器40 ;所述讀卡器40通過認(rèn)證公鑰解密進行認(rèn)證,確認(rèn)解密后 得到的數(shù)據(jù)是讀卡器產(chǎn)生的讀卡隨機數(shù),則認(rèn)證成功。通過認(rèn)證可以提高讀卡器40與終端 30會話的安全性,并且可以對讀卡器40進行識別。 所述終端30,可以發(fā)起認(rèn)證,其可以向安全認(rèn)證模塊22請求一安全認(rèn)證隨機數(shù), 并產(chǎn)生一個終端隨機數(shù),利用終端私鑰將所述安全認(rèn)證隨機數(shù)和終端隨機數(shù)加密后,傳送 給所述安全認(rèn)證模塊22 ;所述安全認(rèn)證模塊22接收加密后的認(rèn)證信號,利用終端公鑰解 密,得到解密后的安全認(rèn)證隨機數(shù),并與內(nèi)部保存的原始隨機數(shù)比較,兩個隨機數(shù)不相同, 則認(rèn)證失敗,拒絕繼續(xù)通訊;兩個隨機數(shù)相同,則認(rèn)證成功,生成會話標(biāo)識符以及會話密鑰, 再使用認(rèn)證私鑰加密終端隨機數(shù),用終端公鑰加密會話標(biāo)識符和會話密鑰后,返回給所述 終端30 ;所述終端30通過認(rèn)證公鑰解密得到解密后的終端隨機數(shù)與內(nèi)部保存的原始終端 隨機數(shù)比較進行認(rèn)證,確認(rèn)解密后的終端隨機數(shù)是發(fā)起認(rèn)證時生成的原始終端隨機數(shù),則 認(rèn)證成功,用終端私鑰解密得到會話標(biāo)識符和會話密鑰,從而建立讀卡器40與終端30之間 的會話。通過認(rèn)證可以提高讀卡器40與終端30會話的安全性。 所述安全認(rèn)證模塊22,還可以利用所述加解密/認(rèn)證單元222生成會話標(biāo)識符,并 用會話根密鑰(上電時生成的隨機數(shù))對會話標(biāo)識符分散以產(chǎn)生會話密鑰。使用加解密/ 認(rèn)證單元222的終端公鑰對會話標(biāo)識符和會話密鑰加密后發(fā)送給所述終端30。
所述讀卡器40,還可以在與所述安全認(rèn)證模塊22的認(rèn)證通過后,向所述安全認(rèn)證 模塊22申請所述會話密鑰;所述安全認(rèn)證模塊22將會話標(biāo)識符和會話密鑰,利用讀卡公鑰 加密后發(fā)送給所述讀卡器40。 所述讀卡器40將導(dǎo)入所述會話密鑰,如果導(dǎo)入成功,將使用所述會話密鑰與所述 終端30進行加密的數(shù)據(jù)交換;將從所述外接卡10中讀取的數(shù)據(jù),通過所述會話密鑰加密 后,傳送給所述終端30,并接收終端30傳送的數(shù)據(jù),利用所述會話密鑰解密后,傳送給外接 卡10進行存儲;如果導(dǎo)入不成功,則通過所述安全認(rèn)證模塊22進行傳輸數(shù)據(jù)加解密。
所述終端30,在接收所述加密的會話標(biāo)識符和會話密鑰并解密后,也可以使用所 述會話密鑰對數(shù)據(jù)進行傳輸數(shù)據(jù)加解密,與所述讀卡器40進行加密的數(shù)據(jù)交換。
由于會話不同,會話標(biāo)識符將變化,而導(dǎo)致會話密鑰變化,使得會話密鑰被破譯的 可能性減少,增加了數(shù)據(jù)傳輸?shù)陌踩浴?本實施例所述安全認(rèn)證模塊22可以是終端安全存取模塊。 本實施例所述讀卡器安全認(rèn)證系統(tǒng),通過認(rèn)證與加密,提高硬件的可靠性和數(shù)據(jù) 傳輸?shù)陌踩浴?參照圖5,本發(fā)明第五實施例提出一種讀卡器安全認(rèn)證方法,對讀卡器40和與其 連接通信的終端30之間的通信進行認(rèn)證,包括步驟 S10、利用認(rèn)證算法加密認(rèn)證信號供讀卡器和/或終端進行認(rèn)證;
Sll、接收讀卡器40和/或終端30利用加密算法加密的認(rèn)證信號;
S12、將所述認(rèn)證信號解密后認(rèn)證; S13、認(rèn)證成功后,建立讀卡器40與終端30之間的會話,并產(chǎn)生會話信息傳送給所 述終端30。
9
本實施例,所述終端30可以是個人電腦或者其他電子設(shè)備;所述認(rèn)證信號可以 是一隨機數(shù);所述會話標(biāo)識符可以對會話進行唯一標(biāo)識;所述加密算法可以是非對稱算法 等。由于非對稱算法中包括公鑰和私鑰,因此,在本實施例中,設(shè)置有讀卡私鑰和讀卡公鑰、 終端私鑰和終端公鑰以及認(rèn)證私鑰和認(rèn)證公鑰;所述讀卡器40中設(shè)置讀卡私鑰和認(rèn)證公 鑰;所述終端30中設(shè)置終端私鑰和認(rèn)證公鑰。 如步驟S10所述,在讀卡器40與終端30之間的會話建立前,先需要進行認(rèn)證;在 本實施例中,認(rèn)證也可以通過設(shè)置安全認(rèn)證模塊22實現(xiàn),首先,由讀卡器40和/或終端30 向安全認(rèn)證模塊22請求認(rèn)證;然后,安全認(rèn)證模塊22返回安全認(rèn)證隨機數(shù)給讀卡器40和 /或終端30。 如步驟Sl 1所述,讀卡器40和/或終端30產(chǎn)生讀卡隨機數(shù)和/或終端隨機數(shù),并 用讀卡私鑰和/或終端私鑰對安全認(rèn)證隨機數(shù)和讀卡隨機數(shù)和/或終端隨機數(shù)加密形成加 密認(rèn)證信號,并將認(rèn)證信號傳送給安全認(rèn)證模塊22 ; 如步驟S12所述,安全認(rèn)證模塊22接收到加密的認(rèn)證信號后,用讀卡器公鑰和/ 或終端公鑰解密認(rèn)證信號,得到解密后的安全認(rèn)證隨機數(shù)、讀卡隨機數(shù)和/或終端隨機數(shù)。
所述安全認(rèn)證模塊22比較解密后的安全認(rèn)證隨機數(shù)和內(nèi)部保存的原始安全認(rèn)證 隨機數(shù)是否相同,不相同,則認(rèn)證失敗,相同,認(rèn)證成功。 如步驟S13所述,如果是終端30請求的認(rèn)證,則安全認(rèn)證模塊22產(chǎn)生會話信息, 并用終端公鑰加密會話信息傳送給終端30,同時,利用認(rèn)證私鑰加密終端隨機數(shù)形成認(rèn)證 信號,傳送給終端30進行認(rèn)證;如果是讀卡器40請求認(rèn)證,則安全認(rèn)證模塊22利用認(rèn)證私 鑰加密讀卡隨機數(shù)形成認(rèn)證信號,并傳送給讀卡器40進行認(rèn)證。 讀卡器40和/或終端30接收到認(rèn)證信號后,先用認(rèn)證公鑰解密認(rèn)證信號得到解 密后的讀卡隨機數(shù)和/或終端隨機數(shù),并比較解密后的隨機數(shù)與保存的原始隨機數(shù)是否相 同,如果不相同,認(rèn)證失敗,則拒絕繼續(xù)通訊;如果相同,認(rèn)證成功,會話建立;如果是終端 30,則用終端私鑰解密得到會話信息。 終端30在建立會話時,還可以隨機產(chǎn)生一個公私鑰對,并將公鑰傳遞給安全認(rèn)證 模塊22,安全認(rèn)證模塊22在認(rèn)證成功后,利用傳遞進來的臨時終端公鑰加密會話信息傳回 給終端30,終端30再利用臨時終端私鑰解密得到會話信息。 所述會話信息包括會話標(biāo)識符和會話密鑰等;所述會話密鑰可以根據(jù)所述會話標(biāo) 識符等產(chǎn)生。 本實施例所述讀卡器安全認(rèn)證方法,通過會話前的認(rèn)證,增強了通信的安全性,而 且可以對讀卡器40進行識別,防止讀卡器40被假冒。 參照圖6,本發(fā)明第六實施例基于第五實施例提出一種讀卡器安全認(rèn)證方法,還包 括步驟 S130、根據(jù)所述會話標(biāo)識符產(chǎn)生會話密鑰,利用所述認(rèn)證算法加密傳送給所述終 端,加密會話。 如步驟S130所述,安全認(rèn)證模塊22上電時生成一隨機數(shù)作為會話根密鑰和一隨 機數(shù)作為會話標(biāo)識符初始值; 終端30每次申請認(rèn)證,且安全認(rèn)證模塊22認(rèn)證終端30成功的基礎(chǔ)上,會話標(biāo)識 符初始值增一,并將增一后的會話標(biāo)識符初始值作為此次會話的會話標(biāo)識符,并用對稱算
10法使用會話根密鑰分散會話標(biāo)識符得到會話密鑰。 所述讀卡器40將使用所述會話密鑰與所述終端30進行加密的數(shù)據(jù)交換;將從所 述外接卡10中讀取的數(shù)據(jù),通過所述會話密鑰加密后,傳送給所述終端30,并接收終端30 傳送的數(shù)據(jù),利用所述會話密鑰解密后,傳送給外接卡10進行存儲。 所述終端30,也可以使用所述會話密鑰對數(shù)據(jù)進行加解密,與所述讀卡器40進行 加密的數(shù)據(jù)交換。 由于會話不同,會話標(biāo)識符將變化,而導(dǎo)致會話密鑰變化,使得會話密鑰被破譯的 可能性減少,增加了數(shù)據(jù)傳輸?shù)陌踩浴?本實施例所述讀卡器安全認(rèn)證方法,通過認(rèn)證與加密,提高硬件的可靠性和數(shù)據(jù) 傳輸?shù)陌踩浴?參照圖7,本發(fā)明第七實施例提出一種讀卡器安全認(rèn)證裝置50,與讀卡器40和/ 或終端30連接通信,所述讀卡器安全認(rèn)證裝置50包括 信號接收單元221,接收讀卡器40和/或終端30利用認(rèn)證算法加密的認(rèn)證信號; 加解密/認(rèn)證單元222,將所述認(rèn)證信號解密認(rèn)證,再利用認(rèn)證算法加密讀卡器40
和/或終端30送入的信息后傳送給讀卡器40和/或終端30進行認(rèn)證; 會話建立單元223,在認(rèn)證成功后,建立讀卡器40與終端30之間的會話,并產(chǎn)生會
話信息傳送給所述終端30。 所述會話信息包括會話標(biāo)識符和會話密鑰等;所述會話密鑰可以根據(jù)所述會話標(biāo) 識符等產(chǎn)生。 所述加解密/認(rèn)證單元222 ,還包括將所述讀卡器40傳送給終端30的數(shù)據(jù)進行加 密和/或?qū)⒔K端30利用會話密鑰加密傳送給讀卡器40的數(shù)據(jù)解密。 本實施例,所述終端30可以是個人電腦或者其他電子設(shè)備;所述認(rèn)證信號可以是 由讀卡器安全認(rèn)證裝置50產(chǎn)生的一隨機數(shù);所述會話標(biāo)識符可以對會話進行唯一標(biāo)識;所 述認(rèn)證算法可以是非對稱算法等。由于非對稱算法中包括公鑰和私鑰,因此,在本實施例 中,所述讀卡器40中設(shè)置讀卡私鑰和認(rèn)證公鑰;所述終端30中設(shè)置終端私鑰和認(rèn)證公鑰; 所述加解密/認(rèn)證單元222中設(shè)置認(rèn)證私鑰、讀卡公鑰和終端公鑰。 所述讀卡器40,可以發(fā)起認(rèn)證,其可以向所述讀卡器安全認(rèn)證裝置50請求一安全 認(rèn)證隨機數(shù),并產(chǎn)生一讀卡隨機數(shù),利用讀卡私鑰將所述安全認(rèn)證隨機數(shù)和讀卡隨機數(shù)加 密后發(fā)送;所述信號接收單元221接收加密后的認(rèn)證信號,利用加解密/認(rèn)證單元222的讀 卡公鑰解密和得到解密后的安全認(rèn)證隨機數(shù)和讀卡隨機數(shù),并比較解密后的安全認(rèn)證隨機 數(shù)與內(nèi)部保存的原始安全認(rèn)證隨機數(shù)是否相同,如果不相同,則認(rèn)證失敗,拒絕繼續(xù)通訊; 如果相同,則認(rèn)證成功,再使用加解密/認(rèn)證單元222的認(rèn)證私鑰加密讀卡隨機數(shù)后,返回 給所述讀卡器40 ;所述讀卡器40通過認(rèn)證公鑰解密進行認(rèn)證,確認(rèn)解密后數(shù)據(jù)是發(fā)起認(rèn)證 時生成的讀卡隨機數(shù),則認(rèn)證成功,向所述信號接收單元221發(fā)送認(rèn)證確認(rèn)。通過認(rèn)證可以 提高讀卡器40與終端30會話的安全性,并且可以對讀卡器40進行識別。
所述終端30,可以發(fā)起認(rèn)證,其可以向所述讀卡器安全認(rèn)證裝置50請求一安全認(rèn) 證隨機數(shù),并產(chǎn)生一終端隨機數(shù),利用終端私鑰將所述安全認(rèn)證隨機數(shù)和終端隨機數(shù)加密 后發(fā)送;所述信號接收單元221接收加密后的認(rèn)證信號,利用加解密/認(rèn)證單元222的終端 公鑰解密后得到解密后的安全認(rèn)證隨機數(shù)和終端隨機數(shù),并比較解密后的安全認(rèn)證隨機數(shù)
11與內(nèi)部保存的原始隨機數(shù)是否相同,如果不相同,則認(rèn)證失敗,拒絕繼續(xù)通訊;如果相同,則 認(rèn)證成功,利用會話建立單元生成會話標(biāo)識符和會話密鑰,再使用加解密/認(rèn)證單元222的 認(rèn)證私鑰加密終端隨機數(shù)后形成加密認(rèn)證信號,使用終端公鑰加密會話標(biāo)識符和會話密鑰 形成加密會話信息,將加密認(rèn)證信號和加密會話信息返回給所述終端30 ;所述終端30通過 認(rèn)證公鑰解密進行認(rèn)證,確認(rèn)解密后數(shù)據(jù)是發(fā)起認(rèn)證時產(chǎn)生的終端隨機數(shù),則認(rèn)證成功,再 利用終端私鑰解密加密會話信息得到會話標(biāo)識符和會話密鑰,從而建立了讀卡器40與終 端30之間的會話。通過認(rèn)證可以提高讀卡器40與終端30會話的安全性。
參照圖8,所述讀卡器安全認(rèn)證裝置50還包括密鑰產(chǎn)生單元224,可以利用安全認(rèn) 證模塊上電時產(chǎn)生的一個隨機數(shù)作為會話根密鑰和另外一個隨機數(shù)作為會話標(biāo)識符初始 值,每次會話申請時會話標(biāo)識符初始值增一,并將增一后的會話標(biāo)識符初始值作為此次會 話的會話標(biāo)識符,用會話根密鑰分散會話標(biāo)識符得到會話密鑰,使用加解密/認(rèn)證單元222 的終端公鑰對會話標(biāo)識符和會話密鑰加密后發(fā)送給所述終端30。 如果所述讀卡器40將導(dǎo)入所述會話密鑰成功,將使用所述會話密鑰與所述終端
30進行加密的數(shù)據(jù)交換;將從所述外接卡10中讀取的數(shù)據(jù),通過所述會話密鑰加密后,傳
送給所述終端30,并接收終端30傳送的數(shù)據(jù),利用所述會話密鑰解密后,傳送給外接卡10
進行存儲;如果導(dǎo)入不成功,則通過所述加解密/認(rèn)證單元222進行數(shù)據(jù)加解密。 所述終端30,在接收所述加密的會話標(biāo)識符和會話密鑰并解密后,也可以使用所
述會話密鑰對數(shù)據(jù)進行加解密,與所述讀卡器40進行加密的數(shù)據(jù)交換。 由于會話不同,會話標(biāo)識符將變化,而導(dǎo)致會話密鑰變化,使得會話密鑰被破譯的
可能性減少,增加了數(shù)據(jù)傳輸?shù)陌踩浴?本實施例所述讀卡器安全認(rèn)證裝置50可以是終端安全存取模塊。 本實施例所述讀卡器安全認(rèn)證裝置50,通過認(rèn)證與加密,提高硬件的可靠性和數(shù)
據(jù)傳輸?shù)陌踩浴?以上所述僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用 本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān) 的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。
1權(quán)利要求
一種讀卡器,其特征在于,所述讀卡器包括數(shù)據(jù)傳輸模塊,與終端和/或外接卡進行數(shù)據(jù)傳輸;設(shè)置數(shù)據(jù)加密算法和認(rèn)證算法,進行認(rèn)證;安全認(rèn)證模塊,與數(shù)據(jù)傳輸模塊和終端連接通信,設(shè)置數(shù)據(jù)加密算法和認(rèn)證算法,與數(shù)據(jù)傳輸模塊和/或終端進行認(rèn)證。
2. 根據(jù)權(quán)利要求1所述的讀卡器,其特征在于,所述數(shù)據(jù)傳輸模塊包括發(fā)送接收單元,發(fā)送和接收利用數(shù)據(jù)加密算法加密的數(shù)據(jù)信號以及利用認(rèn)證算法加密的認(rèn)證信號;讀卡認(rèn)證單元,將接收后的認(rèn)證信號解密認(rèn)證以及產(chǎn)生認(rèn)證信號供安全認(rèn)證模塊認(rèn)證。
3. 根據(jù)權(quán)利要求1所述的讀卡器,其特征在于,所述安全認(rèn)證模塊包括信號接收單元,接收數(shù)據(jù)傳輸模塊和/或終端利用數(shù)據(jù)加密算法加密的數(shù)據(jù)信號和/或利用認(rèn)證算法加密的認(rèn)證信號;加解密/認(rèn)證單元,將所述認(rèn)證信號解密認(rèn)證,并可利用認(rèn)證算法加密認(rèn)證信號供數(shù)據(jù)傳輸模塊和/或終端進行認(rèn)證;會話建立單元,在認(rèn)證成功后,接收認(rèn)證確認(rèn),建立數(shù)據(jù)傳輸模塊與終端之間的會話,并產(chǎn)生會話信息傳送給所述終端。
4. 根據(jù)權(quán)利要求3所述的讀卡器,其特征在于所述會話信息包括會話標(biāo)識符和會話密鑰。
5. 根據(jù)權(quán)利要求4所述的讀卡器,其特征在于所述安全認(rèn)證模塊還包括密鑰產(chǎn)生單元,根據(jù)所述會話標(biāo)識符產(chǎn)生會話密鑰,加密會話。
6. 根據(jù)權(quán)利要求5所述的讀卡器,其特征在于所述加解密/認(rèn)證單元,還包括將所述讀卡器傳送給終端的數(shù)據(jù)進行加密和/或?qū)⒔K端利用會話密鑰加密傳送給讀卡器的數(shù)據(jù)解密。
7. 根據(jù)權(quán)利要求1至6中任意一項所述的讀卡器,其特征在于所述數(shù)據(jù)加密算法為對稱算法,所述認(rèn)證算法為非對稱算法。
8. —種讀卡器安全認(rèn)證系統(tǒng),其特征在于,對讀卡器和與其連接通信的終端之間的通信進行認(rèn)證,所述系統(tǒng)包括讀卡器和終端,發(fā)送和接收利用認(rèn)證算法加密的認(rèn)證信號,并將接收后的認(rèn)證信號解密認(rèn)證;安全認(rèn)證模塊,與讀卡器和終端連接通信,接收讀卡器和/或終端利用認(rèn)證算法加密的認(rèn)證信號;將所述認(rèn)證信號解密認(rèn)證;并可利用認(rèn)證算法加密認(rèn)證信號供讀卡器和/或終端進行認(rèn)證;認(rèn)證成功后,建立讀卡器與終端之間的會話,并產(chǎn)生會話信息傳送給所述終端。
9. 一種讀卡器安全認(rèn)證方法,其特征在于,對讀卡器和與其連接通信的終端之間的通信進行認(rèn)證,包括步驟利用認(rèn)證算法加密認(rèn)證信號供讀卡器和/或終端進行認(rèn)證;接收讀卡器和/或終端利用認(rèn)證算法加密的認(rèn)證信號;將所述認(rèn)證信號解密后認(rèn)證;認(rèn)證成功后,建立讀卡器與終端之間的會話,并產(chǎn)生會話信息傳送給所述終端。
10. 根據(jù)權(quán)利要求9所述的讀卡器安全認(rèn)證方法,其特征在于,所述認(rèn)證成功后,建立讀卡器與終端之間的會話,并產(chǎn)生會話信息傳送給所述終端步驟的還包括步驟根據(jù)所述會話標(biāo)識符產(chǎn)生會話密鑰,加密會話。
11. 一種讀卡器安全認(rèn)證裝置,其特征在于,與讀卡器和/或終端連接通信,所述裝置包括信號接收單元,接收讀卡器和/或終端利用認(rèn)證算法加密的認(rèn)證信號;加解密/認(rèn)證單元,將所述認(rèn)證信號解密后認(rèn)證,并可利用認(rèn)證算法加密認(rèn)證信號供讀卡器和/或終端進行認(rèn)證;會話建立單元,在認(rèn)證成功后,建立讀卡器與終端之間的會話,并產(chǎn)生會話信息傳送給所述終端。
全文摘要
本發(fā)明揭示數(shù)據(jù)安全領(lǐng)域的一種讀卡器、讀卡器安全認(rèn)證方法、裝置及系統(tǒng),所述讀卡器包括數(shù)據(jù)傳輸模塊,與終端和/或外接卡進行數(shù)據(jù)傳輸;設(shè)置數(shù)據(jù)加密算法和認(rèn)證算法,進行認(rèn)證;安全認(rèn)證模塊,與數(shù)據(jù)傳輸模塊和終端連接通信,設(shè)置數(shù)據(jù)加密算法和認(rèn)證算法,與數(shù)據(jù)傳輸模塊和/或終端進行認(rèn)證。本發(fā)明所述讀卡器安全認(rèn)證方法、裝置及系統(tǒng),通過會話前的認(rèn)證,增強了通信的安全性和讀卡器的可靠性;通過會話中的加密,增強數(shù)據(jù)的保密性。
文檔編號G06K7/00GK101789068SQ20091010523
公開日2010年7月28日 申請日期2009年1月22日 優(yōu)先權(quán)日2009年1月22日
發(fā)明者蔡麗金 申請人:深圳市景豐匯達科技有限公司