本發明涉及CA認證,尤其涉及基于光通信的光子CA認證方法及認證系統。
背景技術:
CA(Certificate Authority,證書授權機構)數字證書是由權威機構授權中心發行的,可以用它來識別對方的身份。數字證書是一個經證書授權中心數字簽名的包含公開密鑰擁有者信息以及公開密鑰的文件。CA數字證書可以安全有效進行安全認證,但是也有弊端就是數字證書濫用或盜用。
可見光通信技術是一種在LED技術上發展起來的新型無線光通信技術。通過LED光源的高頻率閃爍來進行通信,可見光通信的傳輸速率最高達每秒千兆。可見光通信有著相當豐富的頻譜資源,這是包括微波通信在內的一般無線通信無法比擬的。同時,可見光通信可以適用任何通信協議、適用于任何環境,并且可見光通信的設備架設靈活便捷、成本低廉,適合大規模普及應用。
技術實現要素:
以下給出一個或多個方面的簡要概述以提供對這些方面的基本理解。此概述不是所有構想到的方面的詳盡綜覽,并且既非旨在指認出所有方面的關鍵性或決定性要素亦非試圖界定任何或所有方面的范圍。其唯一的目的是要以簡化形式給出一個或多個方面的一些概念以為稍后給出的更加詳細的描述之序。
根據本發明的一方面,一種光子CA認證方法,包括:
由光子CA認證終端接收來自光子終端的光信號,該光信號中包含用戶ID;
對該光信號中所包含的用戶ID進行驗證;以及
響應于通過該用戶ID驗證,向客戶端提供用戶證書以執行CA證書認證。
在一實例中,該方法還包括:由該光子終端對用戶指紋進行指紋識別;以及響應于通過該指紋識別,發送包含該用戶ID的該光信號。
在一實例中,對該光信號中所包含的用戶ID進行驗證包括:將該光信號中所含的用戶ID與本地存儲的ID進行比對;若兩者一致則通過該用戶ID驗證,否則用戶ID驗證失敗。
在一實例中,該方法還包括:響應于該用戶ID驗證失敗,向客戶端發送報錯消息。
在一實例中,該響應于通過該用戶ID驗證,向客戶端提供用戶證書以執行CA證書認證包括:響應于通過該用戶ID驗證,由該光子CA認證終端執行PIN碼驗證;以及響應于通過該PIN碼驗證,向該客戶端提供該用戶證書以執行CA證書認證。
在一實例中,該光子CA認證終端包括CA認證模塊和光子處理模塊,該執行認證PIN碼驗證包括:響應于通過該用戶ID驗證,由該光子處理模塊向該CA認證模塊傳送PIN碼,以及由該CA認證模塊將收到的PIN碼與本地存儲的PIN碼進行比對以執行PIN碼驗證,若兩者一致則通過PIN碼驗證,否則PIN碼驗證失敗。
在一實例中,該光子處理模塊發送的PIN碼是采用第一密鑰算法經加密的PIN碼,該CA認證模塊本地存儲的PIN碼是采用第二密鑰算法經加密的PIN碼,其中由該CA認證模塊將收到的PIN碼與本地存儲的PIN碼進行比對包括:采用該第一密鑰算法對收到的PIN碼進行解密;采用該第二密鑰算法對本地存儲的PIN碼進行解密;以及將解密后的兩個PIN碼進行比對以執行PIN碼驗證。
在一實例中,該方法還包括:響應于PIN碼驗證失敗,向該客戶端發送報錯消息。
在一實例中,該方法還包括:由該客戶端向證書認證網關提交該用戶證書以執行該CA證書認證。
在一實例中,該方法還包括:由該客戶端將該用戶證書連同用戶輸入的證 書設備密碼一起提交至該證書認證網關以執行該CA證書認證。
根據本發明的另一方面,提供了一種光子CA認證系統,包括:
光子CA認證終端,該光子CA認證終端包括:
光子處理模塊,用于接收來自光子終端的光信號并對該光信號中包含的用戶ID進行驗證,
該光子CA認證終端響應于通過該用戶ID驗證,向客戶端提供用戶證書以執行CA證書認證。
在一實例中,該系統還包括:光子終端,用于對用戶指紋進行指紋識別,以及響應于通過該指紋識別,向該光子CA認證終端發送包含該用戶ID的該光信號。
在一實例中,該光子處理模塊包括:存儲單元,存儲有用戶ID;以及比較單元,用于將該光信號中所含的用戶ID與該存儲單元中本地存儲的用戶ID進行比對,若兩者一致則通過該用戶ID驗證,否則用戶ID驗證失敗。
在一實例中,該光子CA認證終端響應于該用戶ID驗證失敗,向該客戶端發送報錯消息。
在一實例中,該光子CA認證終端還包括:CA認證模塊,用于響應于通過該用戶ID驗證來執行PIN碼驗證,以及響應于通過該PIN碼驗證,向該客戶端提供該用戶證書以執行CA證書認證。
在一實例中,該光子處理模塊的存儲單元還存儲有PIN碼,其中,該光子處理模塊響應于通過該用戶ID驗證向該CA認證模塊傳送PIN碼,以及該CA認證模塊包括:存儲單元,存儲有PIN碼;以及比較單元,用于將收到的PIN碼與本地存儲的PIN碼進行比對以執行PIN碼驗證,若兩者一致則通過PIN碼驗證,否則PIN碼驗證失敗。
在一實例中,該光子處理模塊所發送的PIN碼是采用第一密鑰算法經加密的PIN碼,該CA認證模塊本地存儲的PIN碼是采用第二密鑰算法經加密的PIN碼,該CA認證模塊還包括:密鑰單元,用于采用該第一密鑰算法對收到的PIN碼進行解密,以及采用該第二密鑰算法對本地存儲的PIN碼進行解密,其中,該比較單元將解密后的兩個PIN碼進行比對以執行PIN碼驗證。
在一實例中,該光子CA認證終端響應于該PIN碼驗證失敗,向該客戶端發送報錯消息。
在一實例中,該系統還包括:該客戶端,通過USB端口與該光子CA認證終端連接,該客戶端用于向證書認證網關提交該用戶證書以執行該CA證書認證。
在一實例中,該客戶端將該用戶證書連同用戶輸入的證書設備密碼一起提交至該證書認證網關以執行該CA證書認證。
附圖說明
在結合以下附圖閱讀本公開的實施例的詳細描述之后,能夠更好地理解本發明的上述特征和優點。在附圖中,各組件不一定是按比例繪制,并且具有類似的相關特性或特征的組件可能具有相同或相近的附圖標記。
圖1示出了根據本發明一方面的光子認證系統的架構的框圖;
圖2示出了根據本發明一方面光子CA認證終端的框圖;以及
圖3示出了根據本發明一方面光子CA認證方法的流程圖。
符號說明:
1000:光子CA認證系統
100:光子CA認證終端
110:CA認證模塊 111:存儲單元 112:密鑰單元 113:比較單元
120:光子處理模塊 121:存儲單元 122:比較單元 123:光接收單元
200:光子終端
300:客戶端
400:證書認證網關
500:CA發布服務器
600:服務端
具體實施方式
以下結合附圖和具體實施例對本發明作詳細描述。注意,以下結合附圖和 具體實施例描述的諸方面僅是示例性的,而不應被理解為對本發明的保護范圍進行任何限制。
圖1是示出了根據本發明一方面的光子CA認證系統1000的架構的框圖。如圖1所示,光子CA認證終端100通過USB端口與客戶端300連接。證書認證網關400部署在客戶端300和服務端600之間,并采用串聯部署。客戶端300與服務端600之間的所有信息交互都經過認證網關400。認證網關400負責完成對客戶端300的完整證書認證過程以及數據的加密傳輸,客戶端300只有通過認證網關的驗證,請求才能真正到達服務器。
光子CA認證系統1000還可包括光子終端200,用戶使用光子終端200向光子CA認證終端100先進行初步的光子驗證,只有在經過該驗證后才進行后續的CA認證。
根據本發明的一方面,用戶使用光子終端200向光子CA認證終端100發送包含用戶ID的光信號,光子CA認證終端100的光子處理模塊120接收該光信號,并執行光子驗證。
較優地,光子終端200包含有指紋識別模塊,可對用戶進行指紋識別。只有在用戶通過指紋識別之后,光子終端200才會發送該光信號。光子終端200可以是例如光子一卡通的卡片形式。
圖2是示出了根據本發明的一方面的光子CA認證終端100的框圖。
如圖2所示,光子CA認證終端100可包括兩部分,即CA認證模塊110和光子處理模塊120,這兩者可通過UART協議進行通信。光子處理模塊120主要負責對用戶的初步的光子驗證。當上述兩者通過UART協議時,光子CA認證終端100可以是封裝成一體的設備,例如是帶有光子接收功能的網銀U盾。
在其他的可實施方式中CA認證模塊110和光子處理模塊120也可以為封裝在不同設備中的一整套儀器,例如CA認證模塊110可以為現有的具有CA認證功能的USB型電子口令卡,光子處理模塊120為僅用于接收光信號的光子接收端,上述兩者分別通過USB端口連接在電腦上,形成一整套的儀器。
光子處理模塊120首先可包括光接收單元123,相應地,光子終端200可包括光發射單元(未示出),以使得兩者可進行光通信。
一般而言,光子終端200的光發射單元(例如,編碼部分)可以采用任何編碼方式來編碼原始通信數據,例如用戶ID。常見的編碼可包括NRZ編碼、NRZI編碼、NRZI反轉計數編碼等等。NRZ編碼是以高電平代表1,低電平代表0。NRZI編碼是以信號的翻轉即高低電平的跳變為代表一個邏輯例如1(0),而信號高低電平保持不變表示另一邏輯例如0(1)。RZ脈沖計數編碼是將原始信息以n個比特為一組,相鄰兩組信號之間設有組間時間間隔,每組內以脈沖的個數表示該組信號中的n個比特的信息。根據RZ編碼,用一個脈沖表示信息位00,用3個脈沖表示信息10。
NRZI反轉計數編碼也是將原始信息以n個比特為一組,相鄰兩組信號之間設有組間時間間隔。區別于RZ脈沖計數編碼,NRZI是在每組內以高電平到低電平(或低電平到高電平)的反轉次數分別表示該組信號中的n個比特的信息。
光發射單元(例如,發光部分,諸如LED)可以例如通過以發光表示高電平信號、而以不發光表示低電平來將接收到的經編碼信號以可見光的形式發送出去。
光接收單元123可用于接收光子終端200發射的可見光信號、并將可見光信號轉換為數字信號。例如,對于LED燈產生的高頻率閃爍,有光可代表高電平,無光可代表低電平,或反之,從而可將接收的可見光信號轉換為數字信號。光接收單元123(例如,光電轉換部分)利用光電二極管的電信號與光信號的特性,通過光電轉換將形成電脈沖信號。實踐中由于光子終端200與光子CA認證終端100的相對位置不一樣,即每次光子終端200發射到光接收單元123的光信號強度是不一樣的,所以其電信號強弱也是不一樣的,所以需要對所形成的電流進行整流比較。如當二極管通過的電流值高于某一定門限值時,光電轉換電路將輸出的電壓電平值調整為高電平;當通過光電二極管的電流值低于某一門限值時,光電轉換電路將輸出的電壓電平值調整為低電平。該門限值的設定是通過一個數學模型根據不同的環境來設定的,如距離較遠時,門限值可能會降低;距離近時門限值可能會相對升高。通過以上過程,可以將電平調整到一定范圍內,以此保證正確的脈沖形狀,以盡可能保證采樣的準確 性。
光接收單元123(例如,解碼部分)進一步將得到的數字信號解碼,以恢復出原始通信數據,例如光子終端200所發送的用戶ID。
在用戶通過光子終端200的指紋識別后,可向光子處理模塊120發送包含用戶ID的光信號,光接收單元123可接收該光信號,并對其進行處理,以獲得用戶ID。除上述處理之外,光接收單元123還可執行A/D轉換、解密處理(在用戶ID經過加密的情況下)。
在獲得來自光子終端200的用戶ID之后,光子處理模塊120可對該用戶ID進行驗證,若通過該驗證,則光子CA認證終端100可例如通過USB口向客戶端300提供用戶證書,以執行CA證書認證。例如,CA認證模塊110的存儲單元111中存儲有用戶證書,至少需要通過該光子驗證,CA認證模塊110才會提供用戶證書進行CA認證。
光子處理模塊120從功能上主要包括兩個部分,即光接收部分,例如上述的光接收單元123,以及驗證部分,例如下文詳述的比較單元122。
在本案中,光子CA認證終端100在最初會進行設備初始化,客戶端300會將用戶ID通過USB口下發到光子CA認證終端100,對于用戶ID,光子處理模塊120加密保存在存儲單元121中,并且這個用戶ID是與光子終端200中一樣的數值。
相應地,在執行光子驗證時,比較單元122可將光接收單元123得到的用戶ID與存儲單元121中的用戶ID進行比較,若兩者一致,則驗證通過,否則驗證失敗。在存儲單元121中的用戶ID是經加密的用戶ID的情況下,光子處理模塊120還需首先對其進行解密,在與光接收單元123獲得的用戶ID進行比較。
如上所述,當光子驗證通過時,CA認證模塊110可向客戶端300提交用戶證書,而當光子驗證失敗時,光子CA認證終端100會通過USB端口向客戶端300發送報錯消息。
在特定實施例中,當通過光子驗證后,CA認證模塊110還需進一步執行PIN碼驗證,只有當通過PIN碼驗證時,才會向客戶端300提供用戶證書進行 CA認證,而當未通過PIN碼驗證時,光子CA認證終端100會向客戶端300發送報錯消息。
在此實施例中,光子CA認證終端100在最初的設備初始化時,客戶端300會將證書認證網關400分配的PIN碼通過USB口下發到光子CA認證終端100,對于PIN碼,CA認證模塊110和光子處理模塊120各保留一份,通過不同的AES密鑰保存。
例如,在CA認證模塊110的存儲單元111中的PIN碼是以第一密鑰算法,例如基于AES1加密的PIN碼,而在光子處理模塊120的存儲單元121中的PIN碼是以第二密鑰算法,例如基于AES2加密的PIN碼。
在接收到光子處理模塊120經由UART協議發送來的經加密的PIN碼后,CA認證模塊110的密鑰單元112可采用第二密鑰算法,例如基于AES2對收到的PIN碼進行解密,而采用第二密鑰算法,例如基于AES1對本地存儲的PIN碼進行解密,然后兩者進行比較,若兩者一致則通過PIN碼驗證,否則PIN碼驗證失敗。
當通過PIN碼驗證時,CA認證終端110可向客戶端300發送用戶證書,而當失敗時,可向客戶端發送報錯消息。
客戶端300在接收到用戶證書時,可向證書認證網關400提交用戶證書,以執行CA證書認證。一般地,客戶端300還需同時將用戶輸入的證書設備密碼一起提交給證書認證網關400進行CA證書認證。
在用戶希望通過客戶端進行服務請求時,如圖1中所示,客戶端300向應用服務端600發送連接請求,請求首先到達認證網關400,如標號1的箭頭所示。證書認證網關400要求用戶提交用戶證書,如標號2的箭頭所示。客戶端300提示用戶輸入證書設備密碼,向服務端提交用戶證書,如標號3的箭頭所示。認證網關400對獲取的用戶證書進行驗證,包括證書自身有效性,信任證書鏈,黑名單驗證或者OCSP驗證,如標號4的箭頭所示。驗證通過后,認證網關400可將請求發送給真正服務器600,并將用戶證書信息附加到請求中,如標號5的箭頭所示。服務器600從請求中獲取用戶的身份,如標號6的箭頭所示。
圖3是示出了根據本發明一方面光子CA認證方法300的流程圖。如圖3所示,方法300可包括如下步驟:
步驟301:準備認證;
此時,光子CA認證終端100與客戶端300通過USB連接;
步驟302:終端初始化;
光子CA認證終端100可獲取PIN碼和用戶ID;
步驟303:指紋識別;
用戶若希望通過光子終端200發送光信號執行光子驗證,則需要輸入指紋信息以執行指紋識別;
步驟304:若指紋識別通過,則流程行進至步驟305,否則行進至步驟306;
步驟305:光子處理模塊120對收到的光信號進行解析以獲得用戶ID;
步驟306:向客戶端300報錯;
步驟307:光子處理模塊120將收到的用戶ID與本地存儲的用戶ID進行比較,以執行光子驗證,若驗證通過則流程行進至步驟308,否則行進至步驟309;
步驟308:光子處理模塊120將PIN碼發送至CA認證模塊110;
這里的PIN碼可以是經由AES2加密的PIN碼;
步驟310:CA認證模塊110對收到的PIN碼進行解密;
相應地,CA認證模塊110可使用AES2對該PIN碼進行解密;
步驟311:CA認證模塊110對本地存儲的PIN碼進行解密;
這里CA認證模塊110可使用例如AES1對PIN碼進行解密;
步驟312:比較兩者是否一致,若一致則流程行進至步驟313,否則行進至步驟314;
步驟313:CA認證模塊110向客戶端300提交用戶證書;
步驟314:向客戶端300報錯。
盡管為使解釋簡單化將上述方法圖示并描述為一系列動作,但是應理解并領會,這些方法不受動作的次序所限,因為根據一個或多個實施例,一些動作可按不同次序發生和/或與來自本文中圖示和描述或本文中未圖示和描述但本 領域技術人員可以理解的其他動作并發地發生。
在本發明中,首先進行指紋識別,接著是光子ID驗證,最后是CA認證。人、光子卡和認證終端完全綁定,可以有效防止證書濫用現象,提高認證安全級別。
本領域技術人員將進一步領會,結合本文中所公開的實施例來描述的各種解說性邏輯板塊、模塊、電路、和算法步驟可實現為電子硬件、計算機軟件、或這兩者的組合。為清楚地解說硬件與軟件的這一可互換性,各種解說性組件、框、模塊、電路、和步驟在上面是以其功能性的形式作一般化描述的。此類功能性是被實現為硬件還是軟件取決于具體應用和施加于整體系統的設計約束。技術人員對于每種特定應用可用不同的方式來實現所描述的功能性,但這樣的實現決策不應被解讀成導致脫離了本發明的范圍。
結合本文所公開的實施例描述的各種解說性邏輯板塊、模塊、和電路可用通用處理器、數字信號處理器(DSP)、專用集成電路(ASIC)、現場可編程門陣列(FPGA)或其它可編程邏輯器件、分立的門或晶體管邏輯、分立的硬件組件、或其設計成執行本文所描述功能的任何組合來實現或執行。通用處理器可以是微處理器,但在替換方案中,該處理器可以是任何常規的處理器、控制器、微控制器、或狀態機。處理器還可以被實現為計算設備的組合,例如DSP與微處理器的組合、多個微處理器、與DSP核心協作的一個或多個微處理器、或任何其他此類配置。
結合本文中公開的實施例描述的方法或算法的步驟可直接在硬件中、在由處理器執行的軟件模塊中、或在這兩者的組合中體現。軟件模塊可駐留在RAM存儲器、閃存、ROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬盤、可移動盤、CD-ROM、或本領域中所知的任何其他形式的存儲介質中。示例性存儲介質耦合到處理器以使得該處理器能從/向該存儲介質讀取和寫入信息。在替換方案中,存儲介質可以被整合到處理器。處理器和存儲介質可駐留在ASIC中。ASIC可駐留在用戶終端中。在替換方案中,處理器和存儲介質可作為分立組件駐留在用戶終端中。
提供對本公開的先前描述是為使得本領域任何技術人員皆能夠制作或使 用本公開。對本公開的各種修改對本領域技術人員來說都將是顯而易見的,且本文中所定義的普適原理可被應用到其他變體而不會脫離本公開的精神或范圍。由此,本公開并非旨在被限定于本文中所描述的示例和設計,而是應被授予與本文中所公開的原理和新穎性特征相一致的最廣范圍。