本申請涉及電子技術領域,具體的說是一種用于客戶端的認證方法、裝置及終端設備,一種用于服務端的認證方法、裝置及終端設備,以及一種用于用戶認證的系統。
背景技術:
由于靜態口令認證機制存在易遭受竊聽攻擊、口令猜測攻擊、重放攻擊及口令泄露等問題,而動態口令由于它使用便捷,能與各種業務系統快速無縫互操作,而成為身份認證技術的主流,被廣泛應用于電子商務、網游、金融等領域。
動態口令認證機制是基于某種密碼算法,將用戶的身份代碼和某種不確定因素作為密碼算法的輸入參數,經過算法變換得到一個變化的結果,將其作為用戶的登錄口令。認證服務器端使用相應的算法進行計算,并將計算結果與用戶的登錄口令進行比對,若相同則接受登錄。由此得到變化的、不重復的動態口令,且無需用戶記憶,一個口令只能使用一次,重復使用將被拒絕接受登錄。
現有生成動態口令認證的終端有硬件令牌、短信密碼、手機令牌、軟件令牌四種,這四種存在如下不足:一是僅實現服務器對客戶端的單向認證,無法防范假冒的服務器欺騙合法用戶,如果攻擊者截取服務器的認證信息,可以利用數據庫,口令重放等手段冒充服務器欺騙客戶端。二是容易遭受小數攻擊,當客戶端向認證服務器請求認證時,攻擊者可通過網絡竊聽截獲認證服務器傳送的挑戰信息(即Seed和Iteration),并修改Iteration為較小值,然后假冒服務器將截獲的Seed和較小的Iteration發給客戶端。客戶端利用攻擊者傳送的Seed和Iteration計算出一次性口令,并傳送給服務器。攻擊者再次截獲客戶端傳來的一次性口令,并利用已知的單向散列函數依次計算較大Iteration的一次性口令,獲得此用戶后繼的一系列口令,因此,攻擊者可以冒充合法用戶,發起小數攻擊。三是難以抵御中間人攻擊,中間人攻擊的具體過程為:位于客戶端和服務器端之間的攻擊者可能截獲認證信息,一方面假冒客戶端與服務器端 連接,另一方面假冒服務器端與客戶端連接。客戶端登錄傳送一次性口令給服務器端,攻擊者可以截獲一次性口令,使客戶端無法登錄,造成網絡連接斷開、連接超時等假象。同時,可以利用截獲的一次性口令假冒客戶端登錄到服務器端。四是客戶端和服務端的敏感保密數據(比如硬件令牌丟失,其PIN密碼的保護)的存儲缺乏安全手段。
技術實現要素:
鑒于上述問題,本申請提供一種用于客戶端的認證方法、一種用于客戶端的認證裝置及一種用于客戶端的認證終端設備,一種用于服務端的認證方法、一種用于服務端的認證裝置及一種用于服務端的認證終端設備,以及一種用于用戶認證的系統。
本申請采用的技術方案是:
本申請提供一種用于客戶端的認證方法,包括:
生成第一動態交互驗證信息;
將所述第一動態交互驗證信息發送至服務端;
接收所述服務端發送的根據所述第一動態交互驗證信息生成的第二動態交互驗證信息;
根據所述第二動態交互驗證信息判斷所述服務端是否合法,以及根據所述第二動態交互驗證信息生成第三動態交互驗證信息;
若合法,則將所述第三動態交互驗證信息發送至服務端,以供所述服務端根據所述第三動態交互驗證信息判斷所述客戶端是否通過認證。
可選的,客戶端和所述服務端上均預先存儲有相應的或相同的信息處理方法,所述客戶端根據所述信息處理方法對動態交互驗證信息的處理結果與所述服務端對所述動態交互驗證信息的處理結果是相應的或相同的;
所述根據所述第二動態交互驗證信息判斷所述服務端是否合法的步驟,包括:
根據預先存儲的信息處理方法對所述第二動態交互驗證信息進行處理,根據處理結果是否符合預期判斷所述服務端是否合法。
可選的,所述客戶端和所述服務端上均預先存儲有多組相應的或相同的信 息處理方法,且每組所述信息處理方法在所述客戶端和所述服務端上均具有相應或相同的信息處理方法標識;
所述動態交互驗證信息中包含有信息處理方法標識;
所述根據預先存儲的信息處理方法對所述第二動態交互驗證信息進行處理,根據處理結果判斷所述服務端是否合法的步驟,包括:
根據所述第一動態交互驗證信息中的信息處理方法標識查詢對應的預先存儲的信息處理方法;
根據所述信息處理方法對所述第二動態交互驗證信息進行處理,根據處理結果是否符合預期判斷所述服務端是否合法。
可選的,所述信息處理方法標識在所述客戶端與所述服務端之間同步且定時變更。
可選的,客戶端和所述服務端上均預先存儲有相同的含有量子態制備基的量子態庫,所述量子態制備基用于制備量子比特串或測量量子比特串,每個所述量子態制備基均有對應的量子態制備基標識,所述第一動態交互驗證信息包括所述量子態制備基標識;
所述第二動態交互驗證信息包括所述服務端根據所述量子態制備基標識在服務端查詢相應的量子態制備基,并通過所述量子態制備基生成第一量子比特串;
所述根據所述第二動態交互驗證信息判斷所述服務端是否合法的步驟,包括:
采用與所述量子態制備基標識對應的量子態制備基對所述第一量子比特串的比特值進行測量,獲得比特值測量結果;
根據所述比特值測量結果是否符合預期判斷所述服務端是否合法。
可選的,所述生成第一動態交互驗證信息的步驟,包括:
從量子態庫中選擇至少一種量子態制備基;
提取所述量子態制備基的量子態制備基標識;
生成包含所述量子態制備基標識的第一動態交互驗證信息。
可選的,所述從量子態庫中選擇至少一種量子態制備基采用隨機選擇的方式,每一次認證選擇的量子態制備基均不相同。
可選的,所述第一動態交互驗證信息還包括第一量子比特串長度;
所述第二動態交互驗證信息包括所述服務端根據所述量子態制備基標識在服務端查詢相應的量子態制備基,并根據所述第一量子比特串長度通過所述量子態制備基生成的第一量子比特串,所述第一量子比特串通過所述量子態制備基發送至客戶端。
可選的,所述第二動態交互驗證信息還包括將所述第一量子比特串進行十進制轉換后獲得的十進制第一量子比特串;
所述根據所述第二動態交互驗證信息判斷所述服務端是否合法的步驟,包括:
采用與所述量子態制備基標識對應的量子態制備基對所述第一量子比特串的比特值進行測量,獲得比特值測量結果;
將所述十進制第一量子比特串按照十進制轉換方法轉換為轉換后的第一量子比特串;
測量所述第一量子比特串的長度,獲得比特串長度測量結果;
根據所述比特值測量結果是否符合預期和所述比特串長度測量結果是否符合預期判斷所述服務端是否合法。
可選的,所述客戶端與所述服務端上均預先存儲有相同的量子串長度數據庫,所述第一動態交互驗證信息還包括第一量子比特串長度代碼;
所述第二動態交互驗證信息包括所述服務端根據所述量子態制備基標識在量子態庫中查詢相應的量子態制備基、根據所述第一量子比特串長度代碼在量子串長度數據庫中查詢相應的第一量子比特串長度,然后根據所述第一量子比特串長度通過所述量子態制備基生成第一量子比特串,所述第一量子比特串通過所述量子態制備基發送至客戶端。
可選的,所述采用與所述量子態制備基標識對應的量子態制備基對所述第一量子比特串的比特值進行測量的步驟,包括:
在量子態庫中查找與所述量子態制備基標識對應的量子態制備基;
隨機選擇所述量子態制備基的量子態對所述第一量子比特串的比特值進行測量。
可選的,所述根據所述第二動態交互驗證信息生成第三動態交互驗證信息 的步驟,包括:
將所述比特值測量結果及測量時使用的量子態的量子位標識作為第三動態交互驗證信息。
可選的,所述第二動態交互驗證信息還包括所述服務端選擇的量子態制備基的代碼及第二量子比特串長度;
所述根據所述第二動態交互驗證信息生成第三動態交互驗證信息的步驟,包括:
在量子態庫中查詢與所述服務端選擇的量子態制備基的代碼相對應的量子態制備基;
根據所述第二量子比特串長度,通過所述量子態制備基生成第二量子比特串;
生成包含所述第二量子比特串的第三動態交互驗證信息。
可選的,所述根據所述第二動態交互驗證信息生成第三動態交互驗證信息的步驟,還包括:將所述第二量子比特串按照十進制轉換方法進行轉換,獲得十進制第二量子比特串;
所述生成包含所述第二量子比特串的第三動態交互驗證信息的步驟,包括:
生成包含所述第二量子比特串和所述十進制第二量子比特串的第三動態交互驗證信息。
可選的,所述若合法,則將所述第三動態交互驗證信息發送至服務端的步驟,包括:
若合法,則將所述第二量子比特串采用所述量子態制備基發送至服務端。
可選的,所述客戶端的量子態庫與所述服務端的量子態庫同步且按照預定的規則定時變更。
可選的,所述第一動態交互驗證信息包括客戶端的身份標識,所述身份標識用于服務端對所述客戶端進行初步認證。
可選的,所述客戶端的身份標識包括客戶端的用戶識別碼和身份證書。
可選的,所述將所述第一動態交互驗證信息發送至服務端的步驟,包括:
將全部或部分所述第一動態交互驗證信息采用密鑰加密后發送至服務端;
所述若合法,則將所述第三動態交互驗證信息發送至服務端的步驟,包括:
若合法,則將全部或部分所述第三動態交互驗證信息采用密鑰加密后發送至服務端。
可選的,所述密鑰與所述服務端解密使用的密鑰互為對稱量子密鑰,或互為公私密鑰。
可選的,所述接收所述服務端發送的根據所述第一動態交互驗證信息生成的第二動態交互驗證信息的步驟,包括:
接收所述服務端發送的至少部分信息已加密的根據所述第一動態交互驗證信息生成的第二動態交互驗證信息;
采用與所述服務端加密使用的密鑰相對應的解密密鑰對加密部分信息進行解密。
可選的,所述解密密鑰與所述服務端加密使用的密鑰互為對稱量子密鑰,或互為公私密鑰。
相應的,本申請還提供一種用于客戶端的認證裝置,包括:
第一動態交互驗證信息生成單元,用于生成第一動態交互驗證信息;
第一動態交互驗證信息發送單元,用于將所述第一動態交互驗證信息發送至服務端;
第二動態交互驗證信息接收單元,用于接收所述服務端發送的根據所述第一動態交互驗證信息生成的第二動態交互驗證信息;
第二動態交互驗證信息驗證單元,用于根據所述第二動態交互驗證信息判斷所述服務端是否合法,以及根據所述第二動態交互驗證信息生成第三動態交互驗證信息;
第三動態交互驗證信息發送單元,用于若合法,則將所述第三動態交互驗證信息發送至服務端,以供所述服務端根據所述第三動態交互驗證信息判斷所述客戶端是否通過認證。
可選的,客戶端和所述服務端上均預先存儲有相應的或相同的信息處理方法,所述客戶端根據所述信息處理方法對動態交互驗證信息的處理結果與所述服務端對所述動態交互驗證信息的處理結果是相應的或相同的;
所述第二動態交互驗證信息驗證單元包括:
處理判斷子單元,用于根據預先存儲的信息處理方法對所述第二動態交互 驗證信息進行處理,根據處理結果判斷所述服務端是否合法。
可選的,所述客戶端和所述服務端上均預先存儲有多組相應的或相同的信息處理方法,且每組所述信息處理方法在所述客戶端和所述服務端上均具有相應或相同的信息處理方法標識;
所述動態交互驗證信息中包含有信息處理方法標識;
所述處理判斷子單元,包括:
處理方法查詢子單元,用于根據所述第一動態交互驗證信息中的信息處理方法標識查詢對應的預先存儲的信息處理方法;
處理方法處理子單元,用于根據所述信息處理方法對所述第二動態交互驗證信息進行處理,根據處理結果判斷所述服務端是否合法。
可選的,所述信息處理方法標識在所述客戶端與所述服務端之間同步且定時變更。
可選的,客戶端和所述服務端上均預先存儲有相同的含有量子態制備基的量子態庫,所述量子態制備基用于制備量子比特串或測量量子比特串,每個所述量子態制備基均有對應的量子態制備基標識,所述第一動態交互驗證信息包括所述量子態制備基標識;
所述第二動態交互驗證信息包括所述服務端根據所述量子態制備基標識在服務端查詢相應的量子態制備基,并通過所述量子態制備基生成第一量子比特串;
所述第二動態交互驗證信息驗證單元包括:
第一量子測量子單元,用于采用與所述量子態制備基標識對應的量子態制備基對所述第一量子比特串的比特值進行測量,獲得比特值測量結果;
第一量子判斷子單元,用于根據所述比特值測量結果是否符合預期判斷所述服務端是否合法。
可選的,所述第一動態交互驗證信息生成單元包括:
第一制備基選擇子單元,用于從量子態庫中選擇至少一種量子態制備基;
第一標識提取子單元,用于提取所述量子態制備基的量子態制備基標識;
第一驗證信息生成子單元,用于生成包含所述量子態制備基標識的第一動態交互驗證信息。
可選的,所述從量子態庫中選擇至少一種量子態制備基采用隨機選擇的方式,每一次認證選擇的量子態制備基均不相同。
可選的,所述第一動態交互驗證信息還包括第一量子比特串長度;
所述第二動態交互驗證信息包括所述服務端根據所述量子態制備基標識在服務端查詢相應的量子態制備基,并根據所述第一量子比特串長度通過所述量子態制備基生成的第一量子比特串,所述第一量子比特串通過所述量子態制備基發送至客戶端。
可選的,所述第二動態交互驗證信息還包括將所述第一量子比特串進行十進制轉換后獲得的十進制第一量子比特串;
所述第二動態交互驗證信息驗證單元包括:
第二量子測量子單元,用于采用與所述量子態制備基標識對應的量子態制備基對所述第一量子比特串的比特值進行測量,獲得比特值測量結果;
第二轉換子單元,用于將所述十進制第一量子比特串按照十進制轉換方法轉換為轉換后的第一量子比特串;
第二長度測量子單元,用于測量所述第一量子比特串的長度,獲得比特串長度測量結果;
第二判斷子單元,用于根據所述比特值測量結果是否符合預期和所述比特串長度測量結果是否符合預期判斷所述服務端是否合法。
可選的,所述客戶端與所述服務端上均預先存儲有相同的量子串長度數據庫,所述第一動態交互驗證信息還包括第一量子比特串長度代碼;
所述第二動態交互驗證信息包括所述服務端根據所述量子態制備基標識在量子態庫中查詢相應的量子態制備基、根據所述第一量子比特串長度代碼在量子串長度數據庫中查詢相應的第一量子比特串長度,然后根據所述第一量子比特串長度通過所述量子態制備基生成第一量子比特串,所述第一量子比特串通過所述量子態制備基發送至客戶端。
可選的,所述第一量子測量子單元包括:
第一量子查詢子單元,用于在量子態庫中查找與所述量子態制備基標識對應的量子態制備基;
第一隨機測量子單元,用于隨機選擇所述量子態制備基的量子態對所述第 一量子比特串的比特值進行測量。
可選的,所述第二動態交互驗證信息驗證單元包括:
第三動態驗證信息生成子單元,用于將所述比特值測量結果及測量時使用的量子態的量子位標識作為第三動態交互驗證信息。
可選的,所述第二動態交互驗證信息還包括所述服務端選擇的量子態制備基標識及第二量子比特串長度;
所述第二動態交互驗證信息驗證單元包括:
第二量子查詢子單元,用于在量子態庫中查詢與所述服務端選擇的量子態制備基標識相對應的量子態制備基;
第二量子制備子單元,用于根據所述第二量子比特串長度,通過所述量子態制備基生成第二量子比特串;
第三信息生成子單元,用于生成包含所述第二量子比特串的第三動態交互驗證信息。
可選的,所述第二動態交互驗證信息驗證單元還包括:
十進制轉換子單元,用于將所述第二量子比特串按照十進制轉換方法進行轉換,獲得十進制第二量子比特串;
所述第三信息生成子單元包括:
十進制第三信息生成子單元,用于生成包含所述第二量子比特串和所述十進制第二量子比特串的第三動態交互驗證信息。
可選的,所述第三動態交互驗證信息發送單元包括:
第三動態交互驗證信息量子發送子單元,用于若合法,則將所述第二量子比特串采用所述量子態制備基發送至服務端。
可選的,所述客戶端的量子態庫與所述服務端的量子態庫同步且按照預定的規則定時變更。
可選的,所述第一動態交互驗證信息包括客戶端的身份標識,所述身份標識用于服務端對所述客戶端進行初步認證。
可選的,所述客戶端的身份標識包括客戶端的用戶識別碼和身份證書。
可選的,所述第一動態交互驗證信息發送單元包括:
第一動態交互驗證信息加密子單元,用于將全部或部分所述第一動態交互 驗證信息采用密鑰加密后發送至服務端;
所述第三動態交互驗證信息發送單元包括:
第三動態交互驗證信息加密子單元,用于若合法,則將全部或部分所述第三動態交互驗證信息采用密鑰加密后發送至服務端。
可選的,所述密鑰與所述服務端解密使用的密鑰互為對稱量子密鑰,或互為公私密鑰。
可選的,所述第二動態交互驗證信息接收單元包括:
加密第二動態交互驗證信息接收子單元,用于接收所述服務端發送的至少部分信息已加密的根據所述第一動態交互驗證信息生成的第二動態交互驗證信息;
第二動態交互驗證信息解密子單元,用于采用與所述服務端加密使用的密鑰相對應的解密密鑰對加密部分信息進行解密。
可選的,所述解密密鑰與所述服務端加密使用的密鑰互為對稱量子密鑰,或互為公私密鑰。
本申請還提供一種用于服務端的認證方法,包括:
接收客戶端發送的第一動態交互驗證信息;
根據所述第一動態交互驗證信息生成第二動態交互驗證信息;
將所述第二動態交互驗證信息發送至所述客戶端;
接收所述客戶端發送的根據所述第二動態交互驗證信息生成的第三動態交互驗證信息;
根據所述第三動態交互驗證信息判斷所述客戶端是否通過認證。
可選的,服務端和所述客戶端上均預先存儲有相應的或相同的信息處理方法,所述服務端根據所述信息處理方法對動態交互驗證信息的處理結果與所述客戶端對所述動態交互驗證信息的處理結果是相應的或相同的;
所述根據所述第三動態交互驗證信息判斷所述客戶端是否通過認證的步驟,包括:
采用與所述客戶端相應的或相同的信息處理方法對所述第三動態交互驗證信息進行處理,根據處理結果是否符合預期判斷所述客戶端是否通過認證。
可選的,所述服務端和所述客戶端上均預先存儲有多組相應的或相同的信 息處理方法,且每組所述信息處理方法在所述服務端和所述客戶端上均具有相應或相同的信息處理方法標識;
所述動態交互驗證信息中包含有信息處理方法標識;
所述根據所述第一動態交互驗證信息生成第二動態交互驗證信息的步驟,包括:
根據所述第一動態交互驗證信息中的信息處理方法標識查找對應的信息處理方法;
采用所述信息處理方法對所述第一動態交互驗證信息進行處理,生成第二動態交互驗證信息。
可選的,所述信息處理方法標識在所述服務端與所述客戶端之間同步且定時變更。
可選的,服務端和所述客戶端上均預先存儲有相同的含有量子態制備基的量子態庫,所述量子態制備基用于制備量子比特串或測量量子比特串,每個所述量子態制備基均有對應的量子態制備基標識;
所述第一動態交互驗證信息包括所述客戶端選擇的至少一種量子態制備基的量子態制備基標識;
所述根據所述第一動態交互驗證信息生成第二動態交互驗證信息的步驟,包括:
根據所述量子態制備基標識在量子態庫中查找相應的量子態制備基;
采用所述量子態制備基生成第一量子比特串;
生成包含所述第一量子比特串的第二動態交互驗證信息。
可選的,所述將所述第二動態交互驗證信息發送至所述客戶端的步驟,包括:
將所述第一量子比特串采用所述量子態制備基發送至所述客戶端。
可選的,所述第一動態交互驗證信息還包括第一量子比特串長度;
所述根據所述第一動態交互驗證信息生成第二動態交互驗證信息的步驟,包括:
根據所述量子態制備基標識在量子態庫中查找相應的量子態制備基;
根據所述第一量子比特串長度采用所述量子態制備基生成第一量子比特串;
將所述第一量子比特串按照十進制轉換方法轉換為十進制第一量子比特串;
生成包含所述第一量子比特串和所述十進制第一量子比特串的第二動態交互驗證信息。
可選的,所述服務端與所述客戶端上均預先存儲有相同的量子串長度數據庫,所述第一動態交互驗證信息還包括第一量子比特串長度代碼;
所述根據所述第一動態交互驗證信息生成第二動態交互驗證信息的步驟,包括:
根據所述量子態制備基標識在量子態庫中查找相應的量子態制備基;以及
根據所述第一量子比特串長度代碼在所述量子串長度數據庫中查找相應的第一量子比特串長度;
根據所述第一量子比特串長度采用所述量子態制備基生成第一量子比特串;
將所述第一量子比特串按照十進制轉換方法轉換為十進制第一量子比特串;
生成包含所述第一量子比特串和所述十進制第一量子比特串的第二動態交互驗證信息。
可選的,所述第三動態交互驗證信息包括所述客戶端測量所述第二動態交互驗證信息時采用的量子態的量子位標識以及比特值測量結果;
所述根據所述第三動態交互驗證信息判斷所述客戶端是否通過認證的步驟,包括:
采用所述量子位標識對應的量子態測量所述第一量子比特串的比特值,獲得服務端比特值測量結果;
比較所述比特值測量結果與所述服務端比特值測量結果,根據比較結果是否符合預設的判斷條件判斷所述客戶端是否通過認證。
可選的,所述第二動態交互驗證信息還包括所述服務端選擇的量子態制備基的量子態制備基標識及第二量子比特串長度;
所述第三動態交互驗證信息包括所述客戶端根據所述服務端選擇的量子態制備基標識及第二量子比特串長度生成的第二量子比特串;
所述根據所述第三動態交互驗證信息判斷所述客戶端是否通過認證的步驟,包括:
采用所述服務端選擇的量子態制備基對所述第二量子比特串的比特值進行 測量,獲得第二量子比特值測量結果;
根據所述第二量子比特值測量結果是否符合預期判斷所述客戶端是否通過認證。
可選的,所述第二動態交互驗證信息還包括所述服務端選擇的量子態制備基的量子態制備基標識及第二量子比特串長度;
所述第三動態交互驗證信息包括所述客戶端根據所述服務端選擇的量子態制備基標識及第二量子比特串長度生成的第二量子比特串,以及將所述第二量子比特串進行十進制轉換獲得的十進制第二量子比特串;
所述根據所述第三動態交互驗證信息判斷所述客戶端是否通過認證的步驟,包括:
采用所述服務端選擇的量子態制備基對所述第二量子比特串的比特值進行測量,獲得第二量子比特值測量結果;
將所述十進制第二量子比特串按照十進制轉換方法轉換為轉換后的第二量子比特串;
測量所述第二量子比特串的長度,獲得第二量子比特串長度測量結果;
根據所述第二量子比特值測量結果是否符合預期和所述第二量子比特串長度測量結果是否符合預期判斷所述服務端是否通過認證。
可選的,所述服務端的量子態庫與所述客戶端的量子態庫同步且按照預定的規則定時變更。
可選的,所述第一動態交互驗證信息包括客戶端的身份標識;
所述根據所述第一動態交互驗證信息生成第二動態交互驗證信息的步驟,包括:
根據所述客戶端的身份標識對所述客戶端進行初步認證;
若初步認證通過,則根據所述第一動態交互驗證信息生成第二動態交互驗證信息。
可選的,所述客戶端的身份標識包括客戶端的用戶識別碼和身份證書。
可選的,所述將所述第二動態交互驗證信息發送至所述客戶端的步驟,包括:
將全部或部分所述第二動態交互驗證信息采用密鑰加密后發送至服務端。
可選的,所述密鑰與所述客戶端解密使用的密鑰互為對稱量子密鑰,或互為公私密鑰。
可選的,所述接收客戶端發送的第一動態交互驗證信息的步驟,包括:
接收客戶端發送的至少部分信息已加密的第一動態交互驗證信息;
采用與所述客戶端加密使用的密鑰相對應的解密密鑰對加密部分信息進行解密;
所述接收所述客戶端發送的根據所述第二動態交互驗證信息生成的第三動態交互驗證信息的步驟,包括:
接收所述客戶端發送的至少部分信息已加密的根據所述第二動態交互驗證信息生成的第三動態交互驗證信息;
采用與所述客戶端加密使用的密鑰相對應的解密密鑰對加密部分信息進行解密。
可選的,所述解密密鑰與所述客戶端加密使用的密鑰互為對稱量子密鑰,或互為公私密鑰。
相應的,本申請還提供一種用于服務端的認證裝置,包括:
第一動態交互驗證信息接收單元,用于接收客戶端發送的第一動態交互驗證信息;
第二動態交互驗證信息生成單元,用于根據所述第一動態交互驗證信息生成第二動態交互驗證信息;
第二動態交互驗證信息發送單元,用于將所述第二動態交互驗證信息發送至所述客戶端;
第三動態交互驗證信息接收單元,用于接收所述客戶端發送的根據所述第二動態交互驗證信息生成的第三動態交互驗證信息;
第三動態交互驗證信息判斷單元,用于根據所述第三動態交互驗證信息判斷所述客戶端是否通過認證。
可選的,服務端和所述客戶端上均預先存儲有相應的或相同的信息處理方法,所述服務端根據所述信息處理方法對動態交互驗證信息的處理結果與所述客戶端對所述動態交互驗證信息的處理結果是相應的或相同的;
所述第三動態交互驗證信息判斷單元包括:
第三動態交互驗證信息處理子單元,用于采用與所述客戶端相應的或相同的信息處理方法對所述第三動態交互驗證信息進行處理,根據處理結果是否符合預期判斷所述客戶端是否通過認證。
可選的,所述服務端和所述客戶端上均預先存儲有多組相應的或相同的信息處理方法,且每組所述信息處理方法在所述服務端和所述客戶端上均具有相應或相同的信息處理方法標識;
所述動態交互驗證信息中包含有信息處理方法標識;
所述第二動態交互驗證信息生成單元包括:
處理方法查詢子單元,用于根據所述第一動態交互驗證信息中的信息處理方法標識查找對應的信息處理方法;
第一信息處理子單元,用于采用所述信息處理方法對所述第一動態交互驗證信息進行處理,生成第二動態交互驗證信息。
可選的,所述信息處理方法標識在所述服務端與所述客戶端之間同步且定時變更。
可選的,服務端和所述客戶端上均預先存儲有相同的含有量子態制備基的量子態庫,所述量子態制備基用于制備量子比特串或測量量子比特串,每個所述量子態制備基均有對應的量子態制備基標識;
所述第一動態交互驗證信息包括所述客戶端選擇的至少一種量子態制備基的量子態制備基標識;
所述第二動態交互驗證信息生成單元包括:
第一服務端量子查詢子單元,用于根據所述量子態制備基標識在量子態庫中查找相應的量子態制備基;
第一服務端比特串生成子單元,用于采用所述量子態制備基生成第一量子比特串;
第一服務端驗證信息生成子單元,用于生成包含所述第一量子比特串的第二動態交互驗證信息。
可選的,所述第二動態交互驗證信息發送單元包括:
第一量子比特串發送子單元,用于將所述第一量子比特串采用所述量子態制備基發送至所述客戶端。
可選的,所述第一動態交互驗證信息還包括第一量子比特串長度;
所述第二動態交互驗證信息生成單元包括:
第二服務端量子查詢子單元,用于根據所述量子態制備基標識在量子態庫中查找相應的量子態制備基;
第二服務端比特串生成子單元,用于根據所述第一量子比特串長度采用所述量子態制備基生成第一量子比特串;
第二十進制轉換子單元,用于將所述第一量子比特串按照十進制轉換方法轉換為十進制第一量子比特串;
第二服務端驗證信息生成子單元,用于生成包含所述第一量子比特串和所述十進制第一量子比特串的第二動態交互驗證信息。
可選的,所述服務端與所述客戶端上均預先存儲有相同的量子串長度數據庫,所述第一動態交互驗證信息還包括第一量子比特串長度代碼;
所述第二動態交互驗證信息生成單元包括:
第三服務端量子查詢子單元,根據所述量子態制備基標識在量子態庫中查找相應的量子態制備基;
第三服務端長度查詢子單元,根據所述第一量子比特串長度代碼在所述量子串長度數據庫中查找相應的第一量子比特串長度;
第三服務端比特串生成子單元,用于根據所述第一量子比特串長度采用所述量子態制備基生成第一量子比特串;
第三十進制轉換子單元,用于將所述第一量子比特串按照十進制轉換方法轉換為十進制第一量子比特串;
第三服務端驗證信息生成子單元,用于生成包含所述第一量子比特串和所述十進制第一量子比特串的第二動態交互驗證信息。
可選的,所述第三動態交互驗證信息包括所述客戶端測量所述第二動態交互驗證信息時采用的量子態的量子位標識以及比特值測量結果;
所述第三動態交互驗證信息判斷單元包括:
服務端第一量子串測量子單元,用于采用所述量子位標識對應的量子態測量所述第一量子比特串的比特值,獲得服務端比特值測量結果;
服務端測量比較子單元,用于比較所述比特值測量結果與所述服務端比特 值測量結果,根據比較結果是否符合預設的判斷條件判斷所述客戶端是否通過認證。
可選的,所述第二動態交互驗證信息還包括所述服務端選擇的量子態制備基的量子態制備基標識及第二量子比特串長度;
所述第三動態交互驗證信息包括所述客戶端根據所述服務端選擇的量子態制備基標識及第二量子比特串長度生成的第二量子比特串;
所述第三動態交互驗證信息判斷單元包括:
第一服務端比特串測量子單元,用于采用所述服務端選擇的量子態制備基對所述第二量子比特串的比特值進行測量,獲得第二量子比特值測量結果;第一服務端測量判斷子單元,用于根據所述第二量子比特值測量結果是否符合預期判斷所述客戶端是否通過認證。
可選的,所述第二動態交互驗證信息還包括所述服務端選擇的量子態制備基的量子態制備基標識及第二量子比特串長度;
所述第三動態交互驗證信息包括所述客戶端根據所述服務端選擇的量子態制備基標識及第二量子比特串長度生成的第二量子比特串,以及將所述第二量子比特串進行十進制轉換獲得的十進制第二量子比特串;
所述第三動態交互驗證信息判斷單元包括:
第二服務端比特串測量子單元,用于采用所述服務端選擇的量子態制備基對所述第二量子比特串的比特值進行測量,獲得第二量子比特值測量結果;
第二服務端十進制轉換子單元,用于將所述十進制第二量子比特串按照十進制轉換方法轉換為轉換后的第二量子比特串;
第二服務端長度判斷子單元,用于測量所述第二量子比特串的長度,獲得第二量子比特串長度測量結果;
第二服務端測量判斷子單元,用于根據所述第二量子比特值測量結果是否符合預期和所述第二量子比特串長度測量結果是否符合預期判斷所述服務端是否通過認證。
可選的,所述服務端的量子態庫與所述客戶端的量子態庫同步且按照預定的規則定時變更。
可選的,所述第一動態交互驗證信息包括客戶端的身份標識;
所述第二動態交互驗證信息生成單元包括:
初步認證子單元,用于根據所述客戶端的身份標識對所述客戶端進行初步認證;
第二動態交互驗證信息生成子單元,用于若初步認證通過,則根據所述第一動態交互驗證信息生成第二動態交互驗證信息。
可選的,所述客戶端的身份標識包括客戶端的用戶識別碼和身份證書。
可選的,所述第二動態交互驗證信息發送單元包括:
加密第二動態交互驗證信息發送子單元,用于將全部或部分所述第二動態交互驗證信息采用密鑰加密后發送至服務端。
可選的,所述密鑰與所述客戶端解密使用的密鑰互為對稱量子密鑰,或互為公私密鑰。
可選的,所述第一動態交互驗證信息接收單元包括:
加密第一動態交互驗證信息接收子單元,用于接收客戶端發送的至少部分信息已加密的第一動態交互驗證信息;
第一動態交互驗證信息解密子單元,用于采用與所述客戶端加密使用的密鑰相對應的解密密鑰對加密部分信息進行解密;
所述第三動態交互驗證信息接收單元包括:
加密第三動態交互驗證信息接收子單元,用于接收所述客戶端發送的至少部分信息已加密的根據所述第二動態交互驗證信息生成的第三動態交互驗證信息;
第三動態交互驗證信息解密子單元,用于采用與所述客戶端加密使用的密鑰相對應的解密密鑰對加密部分信息進行解密。
可選的,所述解密密鑰與所述客戶端加密使用的密鑰互為對稱量子密鑰,或互為公私密鑰。
本申請還提供一種用于客戶端的認證終端設備,包括:
中央處理器;
輸入輸出單元;
存儲器;
所述存儲器中存儲有本申請提供的用于客戶端的認證方法;并在啟動后能 夠根據上述方法運行。
本申請還提供一種用于服務端的認證終端設備,包括:
中央處理器;
輸入輸出單元;
存儲器;
所述存儲器中存儲有本申請提供的用于服務端的認證方法;并在啟動后能夠根據上述方法運行。
本申請還提供一種用于用戶認證的系統,包括客戶端和服務端,所述客戶端配置有本申請提供的用于客戶端的認證裝置,所述服務端配置有本申請提供的用于服務端的認證裝置。
與現有技術相比,本申請具有以下優點:
本申請提供的一種用于客戶端的認證方法,首先生成第一動態交互驗證信息;然后將所述第一動態交互驗證信息發送至服務端;接下來,接收所述服務端發送的根據所述第一動態交互驗證信息生成的第二動態交互驗證信息;然后根據所述第二動態交互驗證信息判斷所述服務端是否合法,以及根據所述第二動態交互驗證信息生成第三動態交互驗證信息;若合法,則將所述第三動態交互驗證信息發送至服務端,以供所述服務端根據所述第三動態交互驗證信息判斷所述客戶端是否通過認證。相較于傳統的動態口令認證,本方法通過客戶端與服務端的交互通信,實現了客戶端與服務端的交互認證,可以防范假冒的服務器欺騙合法用戶,同時,由于客戶端和服務端均動態的利用對方的驗證信息制作本方驗證信息,再發給對方進行驗證,因此,可以抵御中間人攻擊,且可防御小數攻擊,將所述驗證信息采用量子態處理后,可以進一步提高驗證信息傳輸及存儲的安全性。
附圖說明
圖1是本申請提供的一種用于客戶端的認證方法實施例的流程圖;
圖2是本申請提供的一種用于客戶端的認證裝置實施例的示意圖;
圖3是本申請提供的一種用于服務端的認證方法實施例的流程圖;
圖4是本申請提供的一種用于服務端的認證裝置實施例的示意圖。
具體實施方式
在下面的描述中闡述了很多具體細節以便于充分理解本申請。但是本申請能夠以很多不同于在此描述的其它方式來實施,本領域技術人員可以在不違背本申請內涵的情況下做類似推廣,因此本申請不受下面公開的具體實施的限制。
本申請提供了一種用于客戶端的認證方法、一種用于客戶端的認證裝置及一種用于客戶端的認證終端設備,一種用于服務端的認證方法、一種用于服務端的認證裝置及一種用于服務端的認證終端設備,以及一種用于用戶認證的系統,下面依次結合附圖對本申請的實施例進行詳細說明。
請參考圖1,其為本申請提供的一種用于客戶端的認證方法實施例的流程圖,所述方法包括如下步驟:
步驟S101:生成第一動態交互驗證信息。
本步驟,首先生成第一動態交互驗證信息,所述第一動態交互驗證信息用于發送給服務端,供服務端根據所述第一動態交互驗證信息生成第二動態交互驗證信息。
在本申請提供的一個實施例中,客戶端和所述服務端上均預先存儲有相應的或相同的信息處理方法,所述客戶端根據所述信息處理方法對動態交互驗證信息的處理結果與所述服務端對所述動態交互驗證信息的處理結果是相應的或相同的。所述生成第一動態交互驗證信息的步驟,包括:生成可以使用所述信息處理方法處理的第一動態交互驗證信息。
在本申請提供的另一個實施例中,所述客戶端和所述服務端上均預先存儲有多組相應的或相同的信息處理方法,且每組所述信息處理方法在所述客戶端和所述服務端上均具有相應或相同的信息處理方法標識。所述生成第一動態交互驗證信息的步驟,包括:生成包含所述信息處理方法標識的第一動態交互驗證信息。所述信息處理方法標識用于所述服務端根據所述信息處理方法標識查找對應的信息處理方法。
進一步的,在本申請提供的一個實施例中,所述信息處理方法標識在所述客戶端與所述服務端之間同步且定時變更,這樣,每一次認證時發送的所述信息處理方法標識對應的信息處理方法可能不同,從而增加破譯的難度,有效避免所述第一動態交互驗證信息被偽造或復制,提高安全性。
在本申請提供的一個優選實施例中,所述客戶端和所述服務端上均預先存 儲有相同的含有量子態制備基的量子態庫,所述量子態制備基用于制備量子比特串或測量量子比特串,每個所述量子態制備基均有對應的量子態制備基標識,所述第一動態交互驗證信息包括所述量子態制備基標識。所述生成第一動態交互驗證信息的步驟,包括:
從量子態庫中選擇至少一種量子態制備基;
提取所述量子態制備基的量子態制備基標識;
生成包含所述量子態制備基標識的第一動態交互驗證信息。
考慮到所述量子態制備基制作量子比特串時的參數可以預先設定好,也可以由客戶端指定,因此,在本申請提供的一個實施例中,所述第一動態交互驗證信息還包括第一量子比特串長度,以供所述服務端根據所述第一量子比特串長度生成對應的第一量子比特串,提高認證的可依據性。
在本申請提供的一個優選的具體實施例中,在所述客戶端和服務端均安裝一個輕量級的量子態庫,所述量子態庫中包含有多個不同的正交量子態制備基,每個量子態制備基有不同的量子態制備基標識,每個量子態制備基中的量子態對應相應的量子位標識,所述量子態制備基標識可以是一個編號。例如:量子態制備基{|0>,|1>}的編號為1,其中量子態|0>對應的量子位標識為1.1,量子態|1>對應的量子位標識為1.2;量子態制備基{|+>,|->}的編號為2,其中量子態|+>對應的量子位標識為2.1,量子態|2>對應的量子位標識為2.2,以此類推。
需要說明的是,所述量子態制備基編號可以定期依據某類算法在客戶端和服務端進行同步重編。比如x代表量子態當前編號,y代表下一次請求時的量子態編號,那么y可以以x為基數推導出來,推導規則可以是y=2x;或y=2+x等等客戶端和服務端協商的規則。從而避免所述量子態庫被盜或被破解后,導致偽造服務端對所述客戶端發起欺騙行為。在本申請提供的一個實施例中,所述從量子態庫中選擇至少一種量子態制備基采用隨機選擇的方式,以保證每一次認證選擇的量子態制備基均不相同,實現所述第一動態交互驗證信息的動態可變性,從而避免所述第一動態交互驗證信息被偽造或復制。
具體實施時,客戶端從量子態庫中隨機選擇一種或一種以上的量子態制備基,將量子態制備基的編號及以此編號發送的量子比特串長度ι作為第一動態交互驗證信息,例如:{量子態制備基標識1,ι1;量子態制備基標識2,ι2;……量子態制備基標識n,ιn},比如假設客戶端隨機選擇了量子態制備基編號為2、 4兩種量子態制備基,其長度分別為3,6,那么所述第一動態交互驗證信息為{2,3;4,6}。
需要說明的是,在上述優選的實施例中,還可以將所述第一量子比特串長度以代碼的形式發送,以提高本方法的破譯難度,進一步提高安全性,例如,在所述客戶端與所述服務端上均預先存儲有相同的量子串長度數據庫,所述第一動態交互驗證信息還包括第一量子比特串長度代碼,所述服務端在接收到所述第一量子比特串長度代碼后,在所述量子串長度數據庫中查找對應的第一量子比特串長度,即可用于生成對應的第一量子比特串。
步驟S102:將所述第一動態交互驗證信息發送至服務端。
通過步驟S101,已生成第一動態交互驗證信息,接下來,需要將所述第一動態交互驗證信息發送至服務端。
在本申請提供的一個優選實施例中,所述第一動態交互驗證信息包括量子態制備基標識和第一量子比特串長度;
所述將所述第一動態交互驗證信息發送至服務端的步驟,包括:
將所述量子態制備基標識和第一量子比特串長度發送至服務端。
考慮到為了避免虛假客戶端惡意攻擊服務端,或偽造客戶端進行認證,或非法用戶訪問,在本申請提供的一個實施例中,所述第一動態交互驗證信息還包括客戶端的身份標識,所述身份標識用于服務端對所述客戶端進行初步認證,例如所述客戶端的用戶識別碼和身份證書等。所述服務端在接受到所述身份標識后,根據所述身份標識對所述客戶端進行初步認證,若初步認證通過,則繼續,否則,判斷所述客戶端非法,終止認證過程。
仍以上述優選的實施例為例,所述將所述第一動態交互驗證信息發送至服務端的步驟,包括:
將所述量子態制備基標識、第一量子比特串長度及客戶端的身份標識發送至服務端,其中,所述客戶端的身份標識包括客戶端的用戶識別碼和身份證書。
例如,提取的量子態制備基標識、第一量子比特串長度為{2,3;4,6},客戶端的用戶標識為userid_A,客戶端的身份證書為Cer_A,則發送給服務端的第一動態交互驗證信息為:{2,3;4,6},userid_A,Cer_A。
考慮到數據傳輸的安全性,在本申請提供的一個實施例中,客戶端需要將所述第一動態交互驗證信息進行加密后再行發送,同時可以采用https加密傳輸 協議傳輸。
所述將所述第一動態交互驗證信息發送至服務端的步驟,包括:
將全部或部分所述第一動態交互驗證信息采用密鑰加密后發送至服務端;
仍以上述優選的實施例為例,客戶端和服務端在通信之前都有各自的公私鑰對和身份證書,或客戶端和服務端共享一對對稱量子密鑰,公私鑰對、身份證書及共享的對稱量子密鑰根據業務需求可以動態變化。在本申請提供的一個實施例中,基于客戶端的計算能力考慮,在與服務端通信的時候,采用與服務端的對稱量子密鑰Key_AB來保證傳輸的敏感數據安全。
在本申請提供的一個具體的實施例中,可以將所述第一動態交互驗證信息中的部分信息加密后發送至服務端,例如,將量子態制備基標識和第一量子比特串長度采用對稱量子密鑰Key_AB進行加密,則發送給服務端的第一動態交互驗證信息為:{2,3;4,6}Key_AB,userid_A,Cer_A。
步驟S103:接收所述服務端發送的根據所述第一動態交互驗證信息生成的第二動態交互驗證信息。
通過步驟S102,已將所述第一動態交互驗證信息發送至服務端,接下來,接收所述服務端發送的根據所述第一動態交互驗證信息生成的第二動態交互驗證信息。
服務端在接收到所述第一動態交互驗證信息后,根據所述第一動態交互驗證信息生成第二動態交互驗證信息,并將所述第二動態交互驗證信息發送給客戶端進行驗證。
考慮到數據傳輸的安全性,在本申請提供的一個實施例中,所述服務端需要將所述動態交互驗證信息進行加密后再行發送,同時可以采用https加密傳輸協議傳輸。
在本申請提供的一個優選實施例中,所述客戶端和所述服務端上均預先存儲有相同的含有量子態制備基的量子態庫,所述量子態制備基用于制備量子比特串或測量量子比特串,每個所述量子態制備基均有對應的量子態制備基標識,所述第一動態交互驗證信息包括所述量子態制備基標識;所述第二動態交互驗證信息包括所述服務端根據所述量子態制備基標識在服務端查詢相應的量子態制備基,并通過所述量子態制備基生成第一量子比特串,所述第一量子比特串通過所述量子態制備基發送至客戶端,所述客戶端采用相同的量子態制備基接 收所述第一量子比特串。
在本申請提供的一個實施例中,所述第一動態交互驗證信息還包括第一量子比特串長度;所述第二動態交互驗證信息包括所述服務端根據所述量子態制備基標識在服務端查詢相應的量子態制備基,并根據所述第一量子比特串長度通過所述量子態制備基生成的第一量子比特串,所述第一量子比特串通過所述量子態制備基發送至客戶端。
在本申請提供的一個實施例中,所述客戶端與所述服務端上均預先存儲有相同的量子串長度數據庫,所述第一動態交互驗證信息還包括第一量子比特串長度代碼;所述第二動態交互驗證信息包括所述服務端根據所述量子態制備基標識在量子態庫中查詢相應的量子態制備基、根據所述第一量子比特串長度代碼在量子串長度數據庫中查詢相應的第一量子比特串長度,然后根據所述第一量子比特串長度通過所述量子態制備基生成第一量子比特串,所述第一量子比特串通過所述量子態制備基發送至客戶端。
在本申請提供的一個實施例中,所述第二動態交互驗證信息還包括將所述第一量子比特串進行十進制轉換后獲得的十進制第一量子比特串。所述服務端在生成所述第一量子比特串后,還采用十進制轉換方法將所述第一量子比特串轉換為十進制第一量子比特串,并采用對稱量子密鑰加密后傳輸至所述客戶端。所述接收所述服務端發送的根據所述第一動態交互驗證信息生成的第二動態交互驗證信息,還包括:接收所述服務端發送的根據所述第一動態交互驗證信息生成的十進制第一量子比特串。
在本申請提供的一個實施例中,所述第二動態交互驗證信息是經過加密后發送的,因此,所述接收所述服務端發送的根據所述第一動態交互驗證信息生成的第二動態交互驗證信息的步驟,包括:
接收所述服務端發送的至少部分信息已加密的根據所述第一動態交互驗證信息生成的第二動態交互驗證信息;
采用與所述服務端加密使用的密鑰相對應的解密密鑰對加密部分信息進行解密。
其中,所述解密密鑰與所述服務端加密使用的密鑰互為對稱量子密鑰,或互為公私密鑰。
仍以上述具體的優選實施例為例,服務端在通過對所述客戶端的初步認證 后,根據所述用戶標識查找相應的對稱量子密鑰Key_AB,對{2,3;4,6}Key_AB進行解密獲得{2,3;4,6},查詢量子態制備基標識2代表的量子態制備基a,利用所述量子態制備基a生成長度為3的比特串q1;以及查詢量子態制備基標識4代表的量子態制備基b,利用所述量子態制備基b生成長度為6的比特串q2;由q1和q2共同組成第一量子比特串,由于所述第一量子比特串為量子態,因此,采用相應的量子態制備基發送至客戶端。此外,服務端采用十進制轉換方法將每個所述比特串轉換成十進制比特串,比如將q1轉換成十進制Q1,將q2轉換成Q2,由Q1和Q2共同組成十進制第一量子比特串,然后采用對稱量子密鑰Key_AB加密后,將{Q1,Q2}Key_AB傳輸至客戶端,所述客戶端在接收到所述{Q1,Q2}Key_AB后,對其進行解密,獲得十進制第一量子比特串Q1、Q2。
步驟S104:根據所述第二動態交互驗證信息判斷所述服務端是否合法,以及根據所述第二動態交互驗證信息生成第三動態交互驗證信息。
通過步驟S103,已接收所述服務端發送的根據所述第一動態交互驗證信息生成的第二動態交互驗證信息,接下來,需要根據所述第二動態交互驗證信息判斷所述服務端是否合法,以及根據所述第二動態交互驗證信息生成第三動態交互驗證信息。
在本申請提供的一個實施例中,客戶端和所述服務端上均預先存儲有相應的或相同的信息處理方法,所述客戶端根據所述信息處理方法對動態交互驗證信息的處理結果與所述服務端對所述動態交互驗證信息的處理結果是相應的或相同的。基于上述設置,客戶端生成第一動態交互驗證信息后發送給服務端,由所述服務端根據所述第一動態交互驗證信息按照預定的信息處理方法處理后生成第二動態交互驗證信息,所述客戶端在收到所述第二動態交互驗證信息后,可采用相應的信息處理方法對所述第二動態交互驗證信息進行處理,根據處理結果是否符合預期或根據處理結果與所述第一動態交互驗證信息的相關性判斷所述服務端是否合法;也可以采用相應或相同的信息處理方法對所述第一動態交互驗證信息進行處理,根據處理結果是否符合預期或根據處理結果與所述第二動態交互驗證信息的相關性判斷所述服務端是否合法。
容易理解的是,上述實施例的本質在于,所述客戶端將指定信息發送給所述服務端,所述服務端根據所述指定信息按照預定的處理方法處理生成驗證信息后發送給所述客戶端,所述客戶端根據處理結果是否符合預期或根據所述驗證信息與所述指定信息的關聯性判斷所述服務端的合法性。本申請并不限定所 述指定信息、所述驗證信息以及所述處理方法的具體形式,只要通過上述本質方法實現客戶端對服務端的認證,均在本申請的保護范圍之內,此處不再贅述。
在本申請提供的一個實施例中,所述客戶端和所述服務端上均預先存儲有多組相應的或相同的信息處理方法,且每組所述信息處理方法在所述客戶端和所述服務端上均具有相應或相同的信息處理方法標識;
所述動態交互驗證信息中包含有信息處理方法標識;
所述根據預先存儲的信息處理方法對所述第二動態交互驗證信息進行處理,根據處理結果判斷所述服務端是否合法的步驟,包括:
根據所述第一動態交互驗證信息中的信息處理方法標識查詢對應的預先存儲的信息處理方法;
根據所述信息處理方法對所述第二動態交互驗證信息進行處理,根據處理結果是否符合預期判斷所述服務端是否合法。
在本申請提供的一個優選實施例中,客戶端和所述服務端上均預先存儲有相同的含有量子態制備基的量子態庫,所述量子態制備基用于制備量子比特串或測量量子比特串,每個所述量子態制備基均有對應的量子態制備基標識,所述第一動態交互驗證信息包括所述量子態制備基標識;
所述第二動態交互驗證信息包括所述服務端根據所述量子態制備基標識在服務端查詢相應的量子態制備基,并通過所述量子態制備基生成第一量子比特串;
所述根據所述第二動態交互驗證信息判斷所述服務端是否合法的步驟,包括:
采用與所述量子態制備基標識對應的量子態制備基對所述第一量子比特串的比特值進行測量,獲得比特值測量結果;
根據所述比特值測量結果是否符合預期判斷所述服務端是否合法。
容易理解的是,其中,所述量子態制備基標識對應的量子態制備基,對客戶端來說是測量服務端發過來的第一量子比特串的測量基,對服務端來說,是發給客戶端的第一量子比特串的量子態制備基。
根據本申請提供的上述方法,所述第一量子比特串是基于所述客戶端發送的量子態制備基標識生成的,鑒于量子比特串具有不可克隆性和測試塌縮性,通過對所述第一量子比特串進行測量,根據所述比特值測量結果是否符合預期 可以有效判斷所述服務端是否合法,實現客戶端對服務端的認證,同時,采用量子比特串作為動態驗證信息,可以有效避免動態驗證信息泄露,進而抵御中間人的攻擊和偽造服務器發起的欺騙行為。
考慮到對量子態本身具備的不確定性,對所述第一量子比特串的測量是基于概率判斷所述比特值測量結果是否符合預期,為了進一步增加對所述服務端認證的準確性,在本申請提供的一個實施例中,所述第一動態交互驗證信息還包括第一量子比特串長度;所述第二動態交互驗證信息還包括將所述第一量子比特串進行十進制轉換后獲得的十進制第一量子比特串;
所述根據所述第二動態交互驗證信息判斷所述服務端是否合法的步驟,包括:
采用與所述量子態制備基標識對應的量子態制備基對所述第一量子比特串的比特值進行測量,獲得比特值測量結果;
將所述十進制第一量子比特串按照十進制轉換方法轉換為轉換后的第一量子比特串;
測量所述第一量子比特串的長度,獲得比特串長度測量結果;
根據所述比特值測量結果是否符合預期和所述比特串長度測量結果是否符合預期判斷所述服務端是否合法。
其中,針對對所述第一量子比特串的測量,在本申請提供的一個實施例中,所述客戶端與所述服務端上均預先存儲有相同的量子串長度數據庫,所述第一動態交互驗證信息還包括第一量子比特串長度代碼,此種情況下,所述采用與所述量子態制備基標識對應的量子態制備基對所述第一量子比特串的比特值進行測量的步驟,包括:
在量子態庫中查找與所述量子態制備基標識對應的量子態制備基;
隨機選擇所述量子態制備基的量子態對所述第一量子比特串的比特值進行測量。
在上述實施例中,考慮到量子比特串在傳輸過程中由于光衰減會導致一定的誤碼率,判斷所述比特值測量結果是否符合預期,可以是通過所述第一量子比特串的誤碼率是否符合預期進行判定,比如判斷所述第一量子比特串的誤碼率是否低于預設的誤碼率閾值,例如預設的誤碼率閾值為6%,檢測到的所述第一量子比特串的誤碼率為5%,則判斷所述第一量子比特串的誤碼率符合預期, 即所述比特值測量結果符合預期;此外,還可以通過正確率以及其他多個維度的判斷方式判斷所述比特值測量結果是否符合預期,此處不再贅述,其均在本申請的保護范圍之內。
在本申請提供的一個實施例中,判斷所述比特串長度測量結果是否符合預期,可以是通過將所述比特串長度測量結果與所述第一量子比特串長度進行比較,因為所述第一量子比特串是根據所述第一量子比特串長度生成的,因此所述比特串長度測量結果不應大于所述第一量子比特串長度,同時考慮到光衰減的影響,所述比特串長度測量結果與所述第一量子比特串長度的差應該不超過預定的閾值,若不符合上述判定條件,則認為所述比特串長度測量結果不符合預期。
在本申請提供的一個實施例中,所述根據所述第二動態交互驗證信息生成第三動態交互驗證信息的步驟,包括:
將所述比特值測量結果及測量時使用的量子態的量子位標識作為第三動態交互驗證信息。
這樣,所述服務端可以采用所述量子位標識對應的量子態制備基的量子態對所述第一量子比特串進行測量,將服務端的比特值測量結果與客戶端發送的比特值測量結果進行比對,若符合預設的判斷條件,則可判斷所述客戶端合法,認證通過。
仍以上述優選的具體實施例為例,客戶端獲得所述服務端利用量子態制備基發送的量子比特串q1、q2,以及利用對稱量子密鑰發送的十進制第一量子比特串Q1、Q2后,分別隨機選擇所述量子態制備基標識2、4對應的量子態制備基中的量子態對所述量子比特串q1、q2進行測量(此隨機表示同一組正交態的兩個量子態隨機選其中一個,比如,對于量子態制備基標識為2的量子態制備基:{|0>,|1>},在隨機選擇制備基過程中,隨機選擇的量子態可能是|0>,也可能是|1>,為了進行區分,可以對量子態做量子位標識,比如量子態|0>的量子位標識為2.1,量子態|1>的量子位標識為2.2,),例如隨機選擇量子位標識為2.1的量子態和量子位標識為4.2的量子態分別對q1和q2進行測量,可以獲得比特值測量結果為m,根據所述比特值測量結果m是符合預設的閾值條件判斷所述比特值測量結果是否符合預期;同時,將所述十進制第一量子比特串Q1、Q2按照十進制轉換方法轉換為第一量子比特串q1、q2,通過測量獲得所述第一量 子比特串q1、q2的比特串長度測量結果,根據q1、q2的長度與所述第一動態交互驗證信息中的第一量子比特串長度3、6的差異判斷所述比特串長度測量結果是否符合預期;最后,根據所述比特值測量結果m是否符合預期和所述比特串長度測量結果是否符合預期即可判斷所述服務端是否合法。之后,再將所述比特值測量結果m和測量時使用的量子態的量子位標識2.1、4.2發送給服務端,服務端即可利用所述量子位標識2.1、4.2對應的量子態對服務端的第一量子比特串q1、q2進行測量,獲得第二量子比特值測量結果n,將服務端的所述第二量子比特值測量結果n和客戶端的比特值測量結果m進行比對,根據其差異是否符合預期即可判斷所述客戶端是否通過認證。
需要說明的是,上述實施例中僅以q1、q2進行舉例說明,本申請并不限制所述量子比特串的數量和長度,以及具體的測量方法、長度判斷方法和比對方法,任何能夠實現本發明構思的具體實施方式,均在本申請的保護范圍之內。
在上述實施例中,采用所述比特值測量結果及測量時使用的量子態的量子位標識作為第三動態交互驗證信息,供所述服務端進行測量、比對,完成對所述客戶端的認證,除上述方式以外,服務端對客戶端的認證,也可以采用上述客戶端對服務端認證的方式,例如,在本申請提供的一個實施例中,所述第二動態交互驗證信息還包括所述服務端選擇的量子態制備基的代碼及第二量子比特串長度;
所述根據所述第二動態交互驗證信息生成第三動態交互驗證信息的步驟,包括:
在量子態庫中查詢與所述服務端選擇的量子態制備基的代碼相對應的量子態制備基;
根據所述第二量子比特串長度,通過所述量子態制備基生成第二量子比特串;
生成包含所述第二量子比特串的第三動態交互驗證信息。
其中,所述第二量子比特串采用所述量子態制備基發送至服務端。
這樣,服務端再采用所述服務端選擇的量子態制備基對所述第二量子比特串的比特值進行測量,獲得第二量子比特值測量結果,根據所述比特值測量結果是否符合預期即可判斷所述客戶端是否通過認證。
在本申請提供的一個實施例中,所述根據所述第二動態交互驗證信息生成 第三動態交互驗證信息的步驟,還包括:將所述第二量子比特串按照十進制轉換方法進行轉換,獲得十進制第二量子比特串;
所述生成包含所述第二量子比特串的第三動態交互驗證信息的步驟,包括:
生成包含所述第二量子比特串和所述十進制第二量子比特串的第三動態交互驗證信息。
其中,所述第二量子比特串采用所述量子態制備基發送至服務端,所述十進制第二量子比特串采用對稱量子密鑰加密后發送至服務端。
這樣,服務端再采用所述服務端選擇的量子態制備基對所述第二量子比特串的比特值進行測量,獲得第二量子比特值測量結果,根據所述第二量子比特值測量結果是否符合預設的閾值條件判斷所述第二量子比特值測量結果是否符合預期,以及測量所述第二量子比特串的長度,獲得第二量子比特串長度測量結果,根據所述第二量子比特串長度測量結果與所述第二量子比特串長度的差值是否符合預設的條件判斷所述第二量子比特串長度測量結果是否符合預期,根據所述比特值測量結果是否符合預期和所述比特串長度測量結果是否符合預期即可判斷所述客戶端是否通過認證。
由于上述服務端對客戶端的認證方法與前述客戶端對服務端的認證方法類似,相關之處請參照前文所述,此處不再贅述。需要說明的是,本申請并不限制所述認證的具體方式,只要符合本申請發明構思的實施方式,均在本申請的保護范圍之內。
步驟S104:若合法,則將所述第三動態交互驗證信息發送至服務端,以由所述服務端根據所述第三動態交互驗證信息判斷所述客戶端是否通過認證。
通過步驟S105,已根據所述第二動態交互驗證信息判斷所述服務端是否合法,以及根據所述第二動態交互驗證信息生成第三動態交互驗證信息,若合法,則將所述第三動態交互驗證信息發送至服務端,以由所述服務端根據所述第三動態交互驗證信息判斷所述客戶端是否通過認證。
考慮到數據傳輸的安全性,在本申請提供的一個實施例中,所述客戶端需要將所述第三動態交互驗證信息的部分或全部進行加密后再行發送,同時可以采用https加密傳輸協議傳輸。所述若合法,則將所述第三動態交互驗證信息發送至服務端的步驟,包括:
若合法,則將全部或部分所述第三動態交互驗證信息采用密鑰加密后發送 至服務端。
仍以上述優選的具體實施例為例,所述客戶端在認證所述服務端合法后,將所述比特值測量結果m和測量時使用的量子態的量子位標識2.1、4.2一起采用對稱量子密鑰Key_AB加密后發送給服務端,例如發送信息為:{比特值測量結果m,量子位標識2.1、量子位標識4.2}Key_AB。
至此,通過步驟S101至步驟S105,完成了用于客戶端的認證流程。服務端即可根據所述第三動態交互驗證信息判斷所述客戶端是否通過認證。相較于傳統的動態口令認證,本方法通過客戶端與服務端的交互通信,實現了客戶端與服務端的交互認證,可以防范假冒的服務器欺騙合法用戶,同時,由于客戶端和服務端均動態的利用對方的驗證信息制作本方驗證信息,再發給對方進行驗證,因此,可以抵御中間人攻擊,且可防御小數攻擊,將所述驗證信息采用量子態處理后,可以進一步提高驗證信息傳輸及存儲的安全性。
在上述的實施例中,提供了一種用于客戶端的認證方法,與之相對應的,本申請還提供一種用于客戶端的認證裝置。請參看圖2,其為本申請提供的一種用于客戶端的認證裝置實施例的示意圖。由于裝置實施例基本相似于方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。下述描述的裝置實施例僅僅是示意性的。
本實施例提供的一種用于客戶端的認證裝置,包括:第一動態交互驗證信息生成單元101,用于生成第一動態交互驗證信息;第一動態交互驗證信息發送單元102,用于將所述第一動態交互驗證信息發送至服務端;第二動態交互驗證信息接收單元103,用于接收所述服務端發送的根據所述第一動態交互驗證信息生成的第二動態交互驗證信息;第二動態交互驗證信息驗證單元104,用于根據所述第二動態交互驗證信息判斷所述服務端是否合法,以及根據所述第二動態交互驗證信息生成第三動態交互驗證信息;第三動態交互驗證信息發送單元105,用于若合法,則將所述第三動態交互驗證信息發送至服務端,以供所述服務端根據所述第三動態交互驗證信息判斷所述客戶端是否通過認證。
可選的,客戶端和所述服務端上均預先存儲有相應的或相同的信息處理方法,所述客戶端根據所述信息處理方法對動態交互驗證信息的處理結果與所述服務端對所述動態交互驗證信息的處理結果是相應的或相同的;
所述第二動態交互驗證信息驗證單元104包括:
處理判斷子單元,用于根據預先存儲的信息處理方法對所述第二動態交互驗證信息進行處理,根據處理結果判斷所述服務端是否合法。
可選的,所述客戶端和所述服務端上均預先存儲有多組相應的或相同的信息處理方法,且每組所述信息處理方法在所述客戶端和所述服務端上均具有相應或相同的信息處理方法標識;
所述動態交互驗證信息中包含有信息處理方法標識;
所述處理判斷子單元,包括:
處理方法查詢子單元,用于根據所述第一動態交互驗證信息中的信息處理方法標識查詢對應的預先存儲的信息處理方法;
處理方法處理子單元,用于根據所述信息處理方法對所述第二動態交互驗證信息進行處理,根據處理結果判斷所述服務端是否合法。
可選的,所述信息處理方法標識在所述客戶端與所述服務端之間同步且定時變更。
可選的,客戶端和所述服務端上均預先存儲有相同的含有量子態制備基的量子態庫,所述量子態制備基用于制備量子比特串或測量量子比特串,每個所述量子態制備基均有對應的量子態制備基標識,所述第一動態交互驗證信息包括所述量子態制備基標識;
所述第二動態交互驗證信息包括所述服務端根據所述量子態制備基標識在服務端查詢相應的量子態制備基,并通過所述量子態制備基生成第一量子比特串;
所述第二動態交互驗證信息驗證單元104包括:
第一量子測量子單元,用于采用與所述量子態制備基標識對應的量子態制備基對所述第一量子比特串的比特值進行測量,獲得比特值測量結果;
第一量子判斷子單元,用于根據所述比特值測量結果是否符合預期判斷所述服務端是否合法。
可選的,所述第一動態交互驗證信息生成單元101包括:
第一制備基選擇子單元,用于從量子態庫中選擇至少一種量子態制備基;
第一標識提取子單元,用于提取所述量子態制備基的量子態制備基標識;
第一驗證信息生成子單元,用于生成包含所述量子態制備基標識的第一動 態交互驗證信息。
可選的,所述從量子態庫中選擇至少一種量子態制備基采用隨機選擇的方式,每一次認證選擇的量子態制備基均不相同。
可選的,所述第一動態交互驗證信息還包括第一量子比特串長度;
所述第二動態交互驗證信息包括所述服務端根據所述量子態制備基標識在服務端查詢相應的量子態制備基,并根據所述第一量子比特串長度通過所述量子態制備基生成的第一量子比特串,所述第一量子比特串通過所述量子態制備基發送至客戶端。
可選的,所述第二動態交互驗證信息還包括將所述第一量子比特串進行十進制轉換后獲得的十進制第一量子比特串;
所述第二動態交互驗證信息驗證單元104包括:
第二量子測量子單元,用于采用與所述量子態制備基標識對應的量子態制備基對所述第一量子比特串的比特值進行測量,獲得比特值測量結果;
第二轉換子單元,用于將所述十進制第一量子比特串按照十進制轉換方法轉換為轉換后的第一量子比特串;
第二長度測量子單元,用于測量所述第一量子比特串的長度,獲得比特串長度測量結果;
第二判斷子單元,用于根據所述比特值測量結果是否符合預期和所述比特串長度測量結果是否符合預期判斷所述服務端是否合法。
可選的,所述客戶端與所述服務端上均預先存儲有相同的量子串長度數據庫,所述第一動態交互驗證信息還包括第一量子比特串長度代碼;
所述第二動態交互驗證信息包括所述服務端根據所述量子態制備基標識在量子態庫中查詢相應的量子態制備基、根據所述第一量子比特串長度代碼在量子串長度數據庫中查詢相應的第一量子比特串長度,然后根據所述第一量子比特串長度通過所述量子態制備基生成第一量子比特串,所述第一量子比特串通過所述量子態制備基發送至客戶端。
可選的,所述第一量子測量子單元包括:
第一量子查詢子單元,用于在量子態庫中查找與所述量子態制備基標識對應的量子態制備基;
第一隨機測量子單元,用于隨機選擇所述量子態制備基的量子態對所述第一量子比特串的比特值進行測量。
可選的,所述第二動態交互驗證信息驗證單元104包括:
第三動態驗證信息生成子單元,用于將所述比特值測量結果及測量時使用的量子態的量子位標識作為第三動態交互驗證信息。
可選的,所述第二動態交互驗證信息還包括所述服務端選擇的量子態制備基標識及第二量子比特串長度;
所述第二動態交互驗證信息驗證單元104包括:
第二量子查詢子單元,用于在量子態庫中查詢與所述服務端選擇的量子態制備基標識相對應的量子態制備基;
第二量子制備子單元,用于根據所述第二量子比特串長度,通過所述量子態制備基生成第二量子比特串;
第三信息生成子單元,用于生成包含所述第二量子比特串的第三動態交互驗證信息。
可選的,所述第二動態交互驗證信息驗證單元104還包括:
十進制轉換子單元,用于將所述第二量子比特串按照十進制轉換方法進行轉換,獲得十進制第二量子比特串;
所述第三信息生成子單元包括:
十進制第三信息生成子單元,用于生成包含所述第二量子比特串和所述十進制第二量子比特串的第三動態交互驗證信息。
可選的,所述第三動態交互驗證信息發送單元105包括:
第三動態交互驗證信息量子發送子單元,用于若合法,則將所述第二量子比特串采用所述量子態制備基發送至服務端。
可選的,所述客戶端的量子態庫與所述服務端的量子態庫同步且按照預定的規則定時變更。
可選的,所述第一動態交互驗證信息包括客戶端的身份標識,所述身份標識用于服務端對所述客戶端進行初步認證。
可選的,所述客戶端的身份標識包括客戶端的用戶識別碼和身份證書。
可選的,所述第一動態交互驗證信息發送單元102包括:
第一動態交互驗證信息加密子單元,用于將全部或部分所述第一動態交互驗證信息采用密鑰加密后發送至服務端;
所述第三動態交互驗證信息發送單元105包括:
第三動態交互驗證信息加密子單元,用于若合法,則將全部或部分所述第三動態交互驗證信息采用密鑰加密后發送至服務端。
可選的,所述密鑰與所述服務端解密使用的密鑰互為對稱量子密鑰,或互為公私密鑰。
可選的,所述第二動態交互驗證信息接收單元103包括:
加密第二動態交互驗證信息接收子單元,用于接收所述服務端發送的至少部分信息已加密的根據所述第一動態交互驗證信息生成的第二動態交互驗證信息;
第二動態交互驗證信息解密子單元,用于采用與所述服務端加密使用的密鑰相對應的解密密鑰對加密部分信息進行解密。
可選的,所述解密密鑰與所述服務端加密使用的密鑰互為對稱量子密鑰,或互為公私密鑰。
以上,為本申請提供的一種用于客戶端的認證裝置的實施例。
本申請還提供一種用于服務端的認證方法,請參考圖3,其為本申請提供的一種用于服務端的認證方法實施例的流程圖,本方法的執行主體為服務端,該方法是與前述用于客戶端的認證方法配合實施的,部分內容不再贅述,請參照上述用于客戶端的認證方法實施例進行理解,所述方法包括如下步驟:
步驟S201:接收客戶端發送的第一動態交互驗證信息。
本步驟,首先,接收客戶端發送的第一動態交互驗證信息。
其中,所述第一動態交互驗證信息由客戶端生成,用于服務端在接收到所述第一動態交互驗證信息后,根據所述第一動態交互驗證信息生成第二動態交互驗證信息,如此,客戶端在接收到所述服務端發送的第二動態交互驗證信息后,根據所述第二動態交互驗證信息與所述第一動態交互驗證信息的關聯性,即可識別所述服務端是否合法,實現客戶端對服務端的認證,有效抵御假冒服務器和中間人攻擊。
為了提高信息傳輸的安全性,在本申請提供的一個實施例中,所述接收客戶端發送的第一動態交互驗證信息的步驟,包括:
接收客戶端發送的至少部分信息已加密的第一動態交互驗證信息;
采用與所述客戶端加密使用的密鑰相對應的解密密鑰對加密部分信息進行解密。
其中,所述解密密鑰與所述客戶端加密使用的密鑰互為對稱量子密鑰,或互為公私密鑰。
考慮到為了避免虛假客戶端惡意攻擊服務端,或偽造客戶端進行認證,或非法用戶訪問,在本申請提供的一個實施例中,在接收客戶端發送的第一動態交互驗證信息的同時,還需要接收所述客戶端的身份標識以進行初步認證,所述客戶端的身份標識包括客戶端的用戶識別碼和身份證書,若判斷所述客戶端的身份標識非法,則終止認證過程。
步驟S202:根據所述第一動態交互驗證信息生成第二動態交互驗證信息。
通過步驟S201,已接收客戶端發送的第一動態交互驗證信息,接下來根據所述第一動態交互驗證信息生成第二動態交互驗證信息。
在本申請提供的一個實施例中,服務端和所述客戶端上均預先存儲有相應的或相同的信息處理方法,所述服務端根據所述信息處理方法對動態交互驗證信息的處理結果與所述客戶端對所述動態交互驗證信息的處理結果是相應的或相同的;
所述根據所述第一動態交互驗證信息生成第二動態交互驗證信息的步驟,包括:
采用所述信息處理方法對所述第一動態交互驗證信息進行處理,生成第二動態交互驗證信息。
在本申請提供的一個實施例中,所述服務端和所述客戶端上均預先存儲有多組相應的或相同的信息處理方法,且每組所述信息處理方法在所述服務端和所述客戶端上均具有相應或相同的信息處理方法標識;
所述動態交互驗證信息中包含有信息處理方法標識;
所述根據所述第一動態交互驗證信息生成第二動態交互驗證信息的步驟,包括:
根據所述第一動態交互驗證信息中的信息處理方法標識查找對應的信息處理方法;
采用所述信息處理方法對所述第一動態交互驗證信息進行處理,生成第二動態交互驗證信息。
在本申請提供的一個實施例中,所述信息處理方法標識在所述服務端與所述客戶端之間同步且定時變更。
在本申請提供的一個優選的實施例中,服務端和所述客戶端上均預先存儲有相同的含有量子態制備基的量子態庫,所述量子態制備基用于制備量子比特串或測量量子比特串,每個所述量子態制備基均有對應的量子態制備基標識;
所述第一動態交互驗證信息包括所述客戶端選擇的至少一種量子態制備基的量子態制備基標識;
所述根據所述第一動態交互驗證信息生成第二動態交互驗證信息的步驟,包括:
根據所述量子態制備基標識在量子態庫中查找相應的量子態制備基;
采用所述量子態制備基生成第一量子比特串;
生成包含所述第一量子比特串的第二動態交互驗證信息。
在本申請提供的一個優選的實施例中,服務端和所述客戶端上均預先存儲有相同的含有量子態制備基的量子態庫,所述量子態制備基用于制備量子比特串或測量量子比特串,每個所述量子態制備基均有對應的量子態制備基標識;所述第一動態交互驗證信息還包括第一量子比特串長度;
所述根據所述第一動態交互驗證信息生成第二動態交互驗證信息的步驟,包括:
根據所述量子態制備基標識在量子態庫中查找相應的量子態制備基;
根據所述第一量子比特串長度采用所述量子態制備基生成第一量子比特串;
將所述第一量子比特串按照十進制轉換方法轉換為十進制第一量子比特串;
生成包含所述第一量子比特串和所述十進制第一量子比特串的第二動態交互驗證信息。
作為上述實施方式的變更,在本申請提供的一個的實施例中,所述服務端與所述客戶端上均預先存儲有相同的量子串長度數據庫,所述第一動態交互驗 證信息還包括第一量子比特串長度代碼;
所述根據所述第一動態交互驗證信息生成第二動態交互驗證信息的步驟,包括:
根據所述量子態制備基標識在量子態庫中查找相應的量子態制備基;以及
根據所述第一量子比特串長度代碼在所述量子串長度數據庫中查找相應的第一量子比特串長度;
根據所述第一量子比特串長度采用所述量子態制備基生成第一量子比特串;
將所述第一量子比特串按照十進制轉換方法轉換為十進制第一量子比特串;
生成包含所述第一量子比特串和所述十進制第一量子比特串的第二動態交互驗證信息。
在本申請提供的一個的實施例中,所述服務端的量子態庫與所述客戶端的量子態庫同步且按照預定的規則定時變更。
步驟S203:將所述第二動態交互驗證信息發送至所述客戶端。
通過步驟S202,已根據所述第一動態交互驗證信息生成第二動態交互驗證信息,接下來,將所述第二動態交互驗證信息發送至所述客戶端,
為了保證信息傳輸的安全性,在本申請提供的一個實施例中,所述將所述第二動態交互驗證信息發送至所述客戶端的步驟,包括:
將全部或部分所述第二動態交互驗證信息采用密鑰加密后發送至服務端。
其中,所述密鑰與所述客戶端解密使用的密鑰互為對稱量子密鑰,或互為公私密鑰。
在本申請提供的一個實施例中,服務端和所述客戶端上均預先存儲有相同的含有量子態制備基的量子態庫,所述量子態制備基用于制備量子比特串或測量量子比特串,每個所述量子態制備基均有對應的量子態制備基標識;
所述第一動態交互驗證信息包括所述客戶端選擇的至少一種量子態制備基的量子態制備基標識;
所述根據所述第一動態交互驗證信息生成第二動態交互驗證信息的步驟,包括:
根據所述量子態制備基標識在量子態庫中查找相應的量子態制備基;
采用所述量子態制備基生成第一量子比特串;
生成包含所述第一量子比特串的第二動態交互驗證信息;
所述將所述第二動態交互驗證信息發送至所述客戶端的步驟,包括:
將所述第一量子比特串采用所述量子態制備基發送至所述客戶端。
步驟S204:接收所述客戶端發送的根據所述第二動態交互驗證信息生成的第三動態交互驗證信息。
通過步驟S203,將所述第二動態交互驗證信息發送至所述客戶端,接下來,接收所述客戶端發送的根據所述第二動態交互驗證信息生成的第三動態交互驗證信息。
客戶端在接收到所述第二動態交互驗證信息后,會根據所述第二動態交互驗證信息判斷所述服務端是否合法,以及根據所述第二動態交互驗證信息生成第三動態交互驗證信息。在判斷所述服務端為合法時,將所述第三動態交互驗證信息發送給服務端進行認證,由所述服務端判斷所述客戶端是否通過認證。
在本申請提供的一個實施例中,所述第三動態交互驗證信息包括所述客戶端測量所述第二動態交互驗證信息時采用的量子態的量子位標識以及比特值測量結果。
在本申請提供的一個實施例中,所述第二動態交互驗證信息還包括所述服務端選擇的量子態制備基的量子態制備基標識及第二量子比特串長度;
所述第三動態交互驗證信息包括所述客戶端根據所述服務端選擇的量子態制備基標識及第二量子比特串長度生成的第二量子比特串。
為了提高信息傳輸的安全性,在本申請提供的一個實施例中,所述接收所述客戶端發送的根據所述第二動態交互驗證信息生成的第三動態交互驗證信息的步驟,包括:
接收所述客戶端發送的至少部分信息已加密的根據所述第二動態交互驗證信息生成的第三動態交互驗證信息;
采用與所述客戶端加密使用的密鑰相對應的解密密鑰對加密部分信息進行解密。
其中,所述解密密鑰與所述客戶端加密使用的密鑰互為對稱量子密鑰,或互為公私密鑰。
步驟S205:根據所述第三動態交互驗證信息判斷所述客戶端是否通過認證。
通過步驟S204,已接收所述客戶端發送的根據所述第二動態交互驗證信息生成的第三動態交互驗證信息,接下來,根據所述第三動態交互驗證信息判斷所述客戶端是否通過認證。
在本申請提供的一個實施例中,服務端和所述客戶端上均預先存儲有相應的或相同的信息處理方法,所述服務端根據所述信息處理方法對動態交互驗證信息的處理結果與所述客戶端對所述動態交互驗證信息的處理結果是相應的或相同的;
所述根據所述第三動態交互驗證信息判斷所述客戶端是否通過認證的步驟,包括:
采用與所述客戶端相應的或相同的信息處理方法對所述第三動態交互驗證信息進行處理,根據處理結果是否符合預期判斷所述客戶端是否通過認證。
在本申請提供的一個實施例中,所述信息處理方法標識在所述服務端與所述客戶端之間同步且定時變更。
在本申請提供的一個實施例中,所述第三動態交互驗證信息包括所述客戶端測量所述第二動態交互驗證信息時采用的量子態的量子位標識以及比特值測量結果;
所述根據所述第三動態交互驗證信息判斷所述客戶端是否通過認證的步驟,包括:
采用所述量子位標識對應的量子態測量所述第一量子比特串的比特值,獲得服務端比特值測量結果;
比較所述比特值測量結果與所述服務端比特值測量結果,根據比較結果是否符合預設的判斷條件判斷所述客戶端是否通過認證。
在本申請提供的一個實施例中,所述第二動態交互驗證信息還包括所述服務端選擇的量子態制備基的量子態制備基標識及第二量子比特串長度;
所述第三動態交互驗證信息包括所述客戶端根據所述服務端選擇的量子態制備基標識及第二量子比特串長度生成的第二量子比特串;
所述根據所述第三動態交互驗證信息判斷所述客戶端是否通過認證的步驟,包括:
采用所述服務端選擇的量子態制備基對所述第二量子比特串的比特值進行測量,獲得第二量子比特值測量結果;
根據所述第二量子比特值測量結果是否符合預期判斷所述客戶端是否通過認證。
在本申請提供的一個實施例中,所述第二動態交互驗證信息還包括所述服務端選擇的量子態制備基的量子態制備基標識及第二量子比特串長度;
所述第三動態交互驗證信息包括所述客戶端根據所述服務端選擇的量子態制備基標識及第二量子比特串長度生成的第二量子比特串,以及將所述第二量子比特串進行十進制轉換獲得的十進制第二量子比特串;
所述根據所述第三動態交互驗證信息判斷所述客戶端是否通過認證的步驟,包括:
采用所述服務端選擇的量子態制備基對所述第二量子比特串的比特值進行測量,獲得第二量子比特值測量結果;
將所述十進制第二量子比特串按照十進制轉換方法轉換為轉換后的第二量子比特串;
測量所述第二量子比特串的長度,獲得第二量子比特串長度測量結果;
根據所述第二量子比特值測量結果是否符合預期和所述第二量子比特串長度測量結果是否符合預期判斷所述服務端是否通過認證。
在本申請提供的一個實施例中,所述服務端的量子態庫與所述客戶端的量子態庫同步且按照預定的規則定時變更。
至此,通過步驟S201至步驟S205,完成了用于服務端的認證流程。
在上述的實施例中,提供了一種用于服務端的認證方法,與之相對應的,本申請還提供一種用于服務端的認證裝置。請參看圖4,其為本申請提供的一種用于服務端的認證裝置實施例的示意圖。由于裝置實施例基本相似于方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。下述描述的裝置實施例僅僅是示意性的。
本實施例的一種用于客戶端的認證裝置,包括:第一動態交互驗證信息接收單元201,用于接收客戶端發送的第一動態交互驗證信息;第二動態交互驗證信息生成單元202,用于根據所述第一動態交互驗證信息生成第二動態交互驗證信息;第二動態交互驗證信息發送單元203,用于將所述第二動態交互驗證信息發送至所述客戶端;第二動態交互驗證信息發送單元204,用于接收所述客戶端 發送的根據所述第二動態交互驗證信息生成的第三動態交互驗證信息;第三動態交互驗證信息判斷單元205,用于根據所述第三動態交互驗證信息判斷所述客戶端是否通過認證。
可選的,服務端和所述客戶端上均預先存儲有相應的或相同的信息處理方法,所述服務端根據所述信息處理方法對動態交互驗證信息的處理結果與所述客戶端對所述動態交互驗證信息的處理結果是相應的或相同的;
所述第三動態交互驗證信息判斷單元205包括:
第三動態交互驗證信息處理子單元,用于采用與所述客戶端相應的或相同的信息處理方法對所述第三動態交互驗證信息進行處理,根據處理結果是否符合預期判斷所述客戶端是否通過認證。
可選的,所述服務端和所述客戶端上均預先存儲有多組相應的或相同的信息處理方法,且每組所述信息處理方法在所述服務端和所述客戶端上均具有相應或相同的信息處理方法標識;
所述動態交互驗證信息中包含有信息處理方法標識;
所述第二動態交互驗證信息生成單元202包括:
處理方法查詢子單元,用于根據所述第一動態交互驗證信息中的信息處理方法標識查找對應的信息處理方法;
第一信息處理子單元,用于采用所述信息處理方法對所述第一動態交互驗證信息進行處理,生成第二動態交互驗證信息。
可選的,所述信息處理方法標識在所述服務端與所述客戶端之間同步且定時變更。
可選的,服務端和所述客戶端上均預先存儲有相同的含有量子態制備基的量子態庫,所述量子態制備基用于制備量子比特串或測量量子比特串,每個所述量子態制備基均有對應的量子態制備基標識;
所述第一動態交互驗證信息包括所述客戶端選擇的至少一種量子態制備基的量子態制備基標識;
所述第二動態交互驗證信息生成單元202包括:
第一服務端量子查詢子單元,用于根據所述量子態制備基標識在量子態庫中查找相應的量子態制備基;
第一服務端比特串生成子單元,用于采用所述量子態制備基生成第一量子比特串;
第一服務端驗證信息生成子單元,用于生成包含所述第一量子比特串的第二動態交互驗證信息。
可選的,所述第二動態交互驗證信息發送單元203包括:
第一量子比特串發送子單元,用于將所述第一量子比特串采用所述量子態制備基發送至所述客戶端。
可選的,所述第一動態交互驗證信息還包括第一量子比特串長度;
所述第二動態交互驗證信息生成單元202包括:
第二服務端量子查詢子單元,用于根據所述量子態制備基標識在量子態庫中查找相應的量子態制備基;
第二服務端比特串生成子單元,用于根據所述第一量子比特串長度采用所述量子態制備基生成第一量子比特串;
第二十進制轉換子單元,用于將所述第一量子比特串按照十進制轉換方法轉換為十進制第一量子比特串;
第二服務端驗證信息生成子單元,用于生成包含所述第一量子比特串和所述十進制第一量子比特串的第二動態交互驗證信息。
可選的,所述服務端與所述客戶端上均預先存儲有相同的量子串長度數據庫,所述第一動態交互驗證信息還包括第一量子比特串長度代碼;
所述第二動態交互驗證信息生成單元202包括:
第三服務端量子查詢子單元,根據所述量子態制備基標識在量子態庫中查找相應的量子態制備基;
第三服務端長度查詢子單元,根據所述第一量子比特串長度代碼在所述量子串長度數據庫中查找相應的第一量子比特串長度;
第三服務端比特串生成子單元,用于根據所述第一量子比特串長度采用所述量子態制備基生成第一量子比特串;
第三十進制轉換子單元,用于將所述第一量子比特串按照十進制轉換方法轉換為十進制第一量子比特串;
第三服務端驗證信息生成子單元,用于生成包含所述第一量子比特串和所 述十進制第一量子比特串的第二動態交互驗證信息。
可選的,所述第三動態交互驗證信息包括所述客戶端測量所述第二動態交互驗證信息時采用的量子態的量子位標識以及比特值測量結果;
所述第三動態交互驗證信息判斷單元205包括:
服務端第一量子串測量子單元,用于采用所述量子位標識對應的量子態測量所述第一量子比特串的比特值,獲得服務端比特值測量結果;
服務端測量比較子單元,用于比較所述比特值測量結果與所述服務端比特值測量結果,根據比較結果是否符合預設的判斷條件判斷所述客戶端是否通過認證。
可選的,所述第二動態交互驗證信息還包括所述服務端選擇的量子態制備基的量子態制備基標識及第二量子比特串長度;
所述第三動態交互驗證信息包括所述客戶端根據所述服務端選擇的量子態制備基標識及第二量子比特串長度生成的第二量子比特串;
所述第三動態交互驗證信息判斷單元205包括:
第一服務端比特串測量子單元,用于采用所述服務端選擇的量子態制備基對所述第二量子比特串的比特值進行測量,獲得第二量子比特值測量結果;
第一服務端測量判斷子單元,用于根據所述第二量子比特值測量結果是否符合預期判斷所述客戶端是否通過認證。
可選的,所述第二動態交互驗證信息還包括所述服務端選擇的量子態制備基的量子態制備基標識及第二量子比特串長度;
所述第三動態交互驗證信息包括所述客戶端根據所述服務端選擇的量子態制備基標識及第二量子比特串長度生成的第二量子比特串,以及將所述第二量子比特串進行十進制轉換獲得的十進制第二量子比特串;
所述第三動態交互驗證信息判斷單元205包括:
第二服務端比特串測量子單元,用于采用所述服務端選擇的量子態制備基對所述第二量子比特串的比特值進行測量,獲得第二量子比特值測量結果;
第二服務端十進制轉換子單元,用于將所述十進制第二量子比特串按照十進制轉換方法轉換為轉換后的第二量子比特串;
第二服務端長度判斷子單元,用于測量所述第二量子比特串的長度,獲得 第二量子比特串長度測量結果;
第二服務端測量判斷子單元,用于根據所述第二量子比特值測量結果是否符合預期和所述第二量子比特串長度測量結果是否符合預期判斷所述服務端是否通過認證。
可選的,所述服務端的量子態庫與所述客戶端的量子態庫同步且按照預定的規則定時變更。
可選的,所述第一動態交互驗證信息包括客戶端的身份標識;
所述第二動態交互驗證信息生成單元202包括:
初步認證子單元,用于根據所述客戶端的身份標識對所述客戶端進行初步認證;
第二動態交互驗證信息生成子單元,用于若初步認證通過,則根據所述第一動態交互驗證信息生成第二動態交互驗證信息。
可選的,所述客戶端的身份標識包括客戶端的用戶識別碼和身份證書。
可選的,所述第二動態交互驗證信息發送單元203包括:
加密第二動態交互驗證信息發送子單元,用于將全部或部分所述第二動態交互驗證信息采用密鑰加密后發送至服務端。
可選的,所述密鑰與所述客戶端解密使用的密鑰互為對稱量子密鑰,或互為公私密鑰。
可選的,所述第一動態交互驗證信息接收單元201包括:
加密第一動態交互驗證信息接收子單元,用于接收客戶端發送的至少部分信息已加密的第一動態交互驗證信息;
第一動態交互驗證信息解密子單元,用于采用與所述客戶端加密使用的密鑰相對應的解密密鑰對加密部分信息進行解密;
所述第二動態交互驗證信息發送單元204包括:
加密第三動態交互驗證信息接收子單元,用于接收所述客戶端發送的至少部分信息已加密的根據所述第二動態交互驗證信息生成的第三動態交互驗證信息;
第三動態交互驗證信息解密子單元,用于采用與所述客戶端加密使用的密鑰相對應的解密密鑰對加密部分信息進行解密。
可選的,所述解密密鑰與所述客戶端加密使用的密鑰互為對稱量子密鑰,或互為公私密鑰。
以上,為本申請提供的一種用于服務端的認證裝置的實施例。
本申請還提供一種用于客戶端的認證終端設備,包括:
中央處理器;
輸入輸出單元;
存儲器;
所述存儲器中存儲有本申請提供的用于客戶端的認證方法;并在啟動后能夠根據上述方法運行。
由于本用于客戶端的認證終端設備使用上述用于客戶端的認證方法,相關之處請參見上述用于客戶端的認證方法的實施例說明,此處不再贅述。
本申請還提供一種用于服務端的認證終端設備,包括:
中央處理器;
輸入輸出單元;
存儲器;
所述存儲器中存儲有本申請提供的用于服務端的認證方法;并在啟動后能夠根據上述方法運行。
由于本用于服務端的認證終端設備使用上述用于服務端的認證方法,相關之處請參見上述用于服務端的認證方法的實施例說明,此處不再贅述。
本申請還提供了一種用于用戶認證的系統,包括客戶端和服務端,所述客戶端配置有本申請提供的用于客戶端的認證裝置,所述服務端配置有本申請提供的用于服務端的認證裝置。
由于本系統的客戶端配置有本申請提供的用于客戶端的認證裝置,服務端配置有本申請提供的用于服務端的認證裝置,因此相關之處請參見上述用于客戶端的認證裝置的實施例說明以及用于服務端的認證裝置的實施例說明,此處不再贅述。
本申請雖然以較佳實施例公開如上,但其并不是用來限定本申請,任何本 領域技術人員在不脫離本申請的精神和范圍內,都可以做出可能的變動和修改,因此本申請的保護范圍應當以本申請權利要求所界定的范圍為準。
在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出接口、網絡接口和內存。
內存可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器(RAM)和/或非易失性內存等形式,如只讀存儲器(ROM)或閃存(flash RAM)。內存是計算機可讀介質的示例。
1、計算機可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現信息存儲。信息可以是計算機可讀指令、數據結構、程序的模塊或其他數據。計算機的存儲介質的例子包括,但不限于相變內存(PRAM)、靜態隨機存取存儲器(SRAM)、動態隨機存取存儲器(DRAM)、其他類型的隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、快閃記憶體或其他內存技術、只讀光盤只讀存儲器(CD-ROM)、數字多功能光盤(DVD)或其他光學存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設備或任何其他非傳輸介質,可用于存儲可以被計算設備訪問的信息。按照本文中的界定,計算機可讀介質不包括非暫存電腦可讀媒體(transitory media),如調制的數據信號和載波。
2、本領域技術人員應明白,本申請的實施例可提供為方法、系統或計算機程序產品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。