本發明涉及生物識別領域,尤其涉及一種客戶識別模塊(Subscriber Identity Module,SIM)卡的鑒權方法及裝置。
背景技術:
目前,SIM卡在進行鑒權時,使用預制參數及密鑰,經由2G/3G/4G通信協議,完成SIM卡合法性檢驗的流程。在用戶終端入網時,將國際移動用戶識別碼(International Mobile Subscriber Identification Number,IMSI)及鑒權密鑰Ki用密鑰進行加密后,寫入SIM卡中,并在用戶鑒權中心(Authentication Center,AUC)里保存IMSI和鑒權密鑰Ki。當SIM卡進行登網鑒權時,使用由Ki生成的Kc密鑰進行數據加密,完成與基站間的鑒權。
鑒權密鑰Ki是在SIM卡連接網絡時,用于對數據進行加密運算的密鑰,其作為證明SIM卡合法性和生成鑒權數據的依據,一旦鑒權密鑰Ki被泄露,則攻擊者能夠通過復制的方式復制多張同樣號碼的SIM卡。因而鑒權密鑰的保護問題一直是保護SIM卡的一個重要課題。
現有技術對于鑒權密鑰的保護主要依靠使用Ki的加密密鑰對鑒權密鑰Ki進一步的加密,一旦SIM卡遭破解或Ki密文被泄露,破解Ki的難度依賴于Ki的加密密鑰的算法的破解難度。而攻擊者通過旁路攻擊的方法,則可以在短時間內完成對Ki的加密密鑰的破解。由于鑒權密鑰Ki是在用戶簽約時就寫死在SIM卡內的,并不對其進行校驗,故其一旦發生遺失,攻擊者很容易偽冒用戶進行其他非法操作。
技術實現要素:
有鑒于此,本發明實施例期望提供一種客戶識別模塊卡的鑒權方法及裝置, 可以提升鑒權密鑰以及鑒權流程的安全性。
為達到上述目的,本發明的技術方案是這樣實現的:
一種客戶識別模塊SIM卡的鑒權方法,所述方法包括:
采集獲得用戶的生物特征信息,從所述生物特征信息中提取獲得生物特征的細節點;
將所述細節點與生成的鑒權密鑰進行綁定計算,獲得模糊金庫;
將所述模糊金庫以及國際移動用戶識別碼IMSI寫入SIM卡中。
上述方案中,所述將所述細節點與生成的鑒權密鑰進行綁定計算,獲得模糊金庫,包括:
隨機生成鑒權密鑰,將所述鑒權密鑰進行循環冗余碼校驗CRC編碼后,分為n+1段,構造出最高次數為n的多項式P(x)=Cnxn+Cn-1xn-1+..+C0;其中所述n為大于等于1的整數;
將所述細節點ai投影到多項式P(x)上,獲得真實點集(ai,P(ai)),隨機生成雜湊點集(xj,yj),將真實點集與雜湊點集合并且打亂順序構成模糊金庫;其中,所述i和j都為大于0的整數,所述j大于所述i。
上述方案中,在所述采集獲得用戶的生物特征信息后,所述方法還包括:根據所述生物特征信息獲得校正用輔助數據;
相應的,在將所述模糊金庫以及IMSI寫入SIM卡中時,所述方法還包括:
將所述校正用輔助數據寫入SIM卡中。
一種客戶識別模塊SIM卡的鑒權方法,所述方法包括:
向用戶鑒權中心AUC上報SIM卡的IMSI號;
采集獲得用戶的生物特征信息,從所述生物特征信息中提取獲得生物特征的細節點;
根據所述細節點從所述SIM卡中預存的模糊金庫中解析出鑒權密鑰;
接收所述AUC發送的隨機數序列,并根據所述隨機數序列與解析出的鑒權密鑰,計算獲得鑒權向量;
將所述鑒權向量發送給所述AUC進行鑒權認證。
上述方案中,所述SIM卡中存儲有校正用輔助數據,則所述從所述生物特征信息中提取獲得生物特征的細節點,包括:
從所述生物特征信息中提取生物特征點,并應用所述校正用輔助數據進行校正獲得生物特征的細節點;
所述根據所述細節點從所述SIM卡中預存的模糊金庫中解析出鑒權密鑰,包括:
將所述細節點與模糊金庫進行比對,獲得匹配細節點;
在獲得的匹配細節點的數目大于等于n+1時,將匹配細節點通過拉格朗日插值,重構出最高次數為n的多項式P'(x)=C'nxn+C'n-1xn-1+..+C'0;
對所述多項式的系數校驗循環冗余碼校驗CRC值通過后,提取多項式的系數,解碼出鑒權密鑰。
一種寫卡機,所述寫卡機包括:
采集提取單元,用于采集獲得用戶的生物特征信息,從所述生物特征信息中提取獲得生物特征的細節點;
計算單元,用于將所述采集提取單元提取出的細節點與生成的鑒權密鑰進行綁定計算,獲得模糊金庫;
寫入單元,用于將所述計算單元計算出的模糊金庫以及國際移動用戶識別碼IMSI寫入客戶識別模塊SIM卡中。
上述方案中,所述計算單元,具體用于隨機生成鑒權密鑰,將所述鑒權密鑰進行循環冗余碼校驗CRC編碼后,分為n+1段,構造出最高次數為n的多項式P(x)=Cnxn+Cn-1xn-1+..+C0;將所述細節點ai投影到多項式P(x)上,獲得真實點集(ai,P(ai)),隨機生成雜湊點集(xj,yj),將真實點集與雜湊點集合并且打亂順序構成模糊金庫;其中,所述n為大于等于1的整數;所述i和j都為大于0的整數,所述j大于所述i。
上述方案中,所述采集提取單元,還用于在所述采集獲得用戶的生物特征 信息后,根據所述生物特征信息獲得校正用輔助數據;
所述寫入單元,還用于在將所述模糊金庫以及IMSI寫入SIM卡中時,將所述采集提取單元獲得的所述校正用輔助數據寫入SIM卡中。
一種配置有客戶識別模塊SIM卡的終端,包括:
發送單元,用于向用戶鑒權中心AUC上報SIM卡的IMSI號;
采集單元,用于采集獲得用戶的生物特征信息,從所述生物特征信息中提取獲得生物特征的細節點;
處理單元,用于根據所述采集單元提取的細節點從所述SIM卡中預存的模糊金庫中解析出鑒權密鑰;
接收單元,用于接收所述AUC發送的隨機數序列;
處理單元,還用于根據所述接收單元接收到的隨機數序列與解析出的鑒權密鑰,計算獲得鑒權向量;
所述發送單元,還用于將所述鑒權向量發送給所述AUC進行鑒權認證。
上述方案中,所述采集單元,具體用于從所述生物特征信息中提取生物特征點,并應用所述校正用輔助數據進行校正獲得生物特征的細節點;
所述處理單元,具體用于將所述細節點與模糊金庫進行比對,獲得匹配細節點;在獲得的匹配細節點的數目大于等于n+1時,將匹配細節點通過拉格朗日插值,重構出最高次數為n的多項式P'(x)=C'nxn+C'n-1xn-1+..+C'0;對所述多項式的系數校驗循環冗余碼校驗CRC值通過后,提取多項式的系數,解碼出鑒權密鑰;其中,所述n為大于等于1的整數。
本發明實施例提供了一種客戶識別模塊卡的鑒權方法及裝置,通過在SIM卡中存儲隱藏有鑒權密鑰Ki的模糊金庫,而不是存儲實際的鑒權密鑰Ki,可以在終端側有效地對鑒權密鑰Ki進行了隱藏,即使攻擊者對其進行攻擊,沒有用戶的生物特征信息就不能從模糊金庫中提取出鑒權密鑰Ki,這就無法構成有效的旁路攻擊,提升了鑒權密鑰Ki的安全性。另外,只有用戶為合法用戶時,終端側才能解析出鑒權密鑰Ki,多了一層生物認證,另外,將模糊金庫存儲在 SIM卡中,在進行鑒權驗證時并不上傳該模糊金庫的相關數據,避免了用戶的生物特征信息在傳輸過程中被竊取。讓鑒權過程更加安全。
附圖說明
圖1為本發明實施例1提供的一種應用于寫卡機一側的客戶識別模塊的鑒權方法的流程示意圖;
圖2為本發明實施例1提供的一種應用于終端一側的客戶識別模塊的鑒權方法的流程示意圖;
圖3為本發明實施例2提供的一種寫卡機的結構框圖;
圖4為本發明實施例2提供的一種配置有SIM卡的終端的結構框圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述。
實施例1、
本發明實施例提供了一種客戶識別模塊卡的鑒權方法,應用于設置SIM卡信息的寫卡機一側,如圖1所示,本實施例方法的處理流程包括以下步驟:
步驟101、采集獲得用戶的生物特征信息,從所述生物特征信息中提取獲得生物特征的細節點。
當用戶進行SIM卡簽約時,寫卡機需要先對用戶進行某些生物特征采集,獲得用戶的生物特征信息,然后從所述生物特征信息中提取獲得生物特征的細節點。所述生物特征的細節點可以唯一標識出該生物特征信息。
示例的,可以用指紋采集器采集獲得用戶的指紋信息來作為用戶的生物特征信息;然后從所述指紋信息中提取獲得指紋細節點,所述指紋細節點可以是指紋中的交叉點和端點;指紋細節點可以用該細節點到參考點的距離來表示。這些指紋細節點可以唯一標識出用戶的指紋信息。當然,寫卡機中也可以設置其他的生物信息采集器采集其他生物特征信息,如虹膜信息、人臉信息等,并 不局限于指紋信息。
步驟102、將所述細節點與生成的鑒權密鑰進行綁定計算,獲得模糊金庫。
現有技術中,每個用戶在進行SIM卡簽約時,該SIM卡就被分配一個用戶號碼(用戶電話號碼)和用戶識別碼(IMSI),同時在寫卡機中隨機產生一個對應此IMSI的唯一的鑒權密鑰Ki,鑒權密鑰Ki被分別存儲在SIM卡和AUC中。
本實施例方法中,寫卡機只會將鑒權密鑰Ki存儲在AUC中,并不將鑒權密鑰Ki寫入SIM卡中,而是應用模糊金庫算法將獲得的生物模板與隨機生成的鑒權密鑰綁定在一起,生成模糊金庫V。獲得模糊金庫V的的具體流程包括以下步驟:
步驟S1、隨機生成鑒權密鑰,將所述鑒權密鑰使用循環冗余碼校驗(Cyclical Redundancy Check,CRC)編碼后,分為n+1段,構造出最高次數為n的多項式P(x)=Cnxn+Cn-1xn-1+..+C0。
鑒權密鑰Ki通過CRC編碼后可以將其分成n+1個碼段,按照從高位碼段到低位碼段的排列順序,可以依次將第一個碼段轉換成的整數作為多項式P(x)中的系數Cn,……,將第n+1個碼段轉換成的整數作為多項式P(x)中的系數C0;構造出多項式P(x)=Cnxn+Cn-1xn-1+..+C0。
步驟S2、將所述細節點ai投影到多項式P(x)上,獲得真實點集(ai,P(ai)),隨機生成雜湊點集(xj,yj),將真實點集與雜湊點集合并且打亂順序構成模糊金庫。
將所述細節點ai投影到多項式P(x)上得到P(ai),構成真實點集(ai,P(ai)),為了隱藏這些真實點集,寫卡機會隨機生成大量的雜湊點集(xj,yj),然后將真實點集與雜湊點集合并并打亂順序構成模糊金庫。
這里需要說明的是,雜湊點的數目要遠大于細節點數目,并且要求所述雜湊點與細節點的漢明距離大于定值L。
步驟103、將所述模糊金庫以及IMSI寫入SIM卡中。
寫卡機獲得模糊金庫后,會將所述模糊金庫以及卡數據如IMSI等信息寫 入SIM卡中。
所述模糊金庫中將用戶的生物特征信息和鑒權密鑰用一定的算法綁定在了一起獲得綁定信息,且用大量的雜湊點來模糊這些綁定信息。
在這里需要說明的是,寫卡機采集獲得用戶的生物特征信息后,還可以根據所述生物特征信息獲得校正用輔助數據,以備后續終端采集用戶的生物特征信息后,利用模糊金庫將鑒權密鑰Ki恢復出來時,對采集到的生物特征信息進行校準。故,在步驟103中,還需要將所述校正用輔助數據寫入SIM卡中。
在現有的技術中,對鑒權密鑰的加密方法是固定及已知的,通過對SIM卡進行旁路攻擊的方法,可以在數小時內破解獲得鑒權密鑰Ki。而使用本實施例方法,SIM卡中并不存儲實際的鑒權密鑰Ki,而是存儲隱藏有鑒權密鑰Ki的模糊金庫,在終端側有效地對鑒權密鑰Ki進行了隱藏,即使攻擊者對其進行攻擊,沒有用戶的生物特征信息就不能從模糊金庫中提取出鑒權密鑰Ki,這就無法構成有效的旁路攻擊,提升了鑒權密鑰Ki的安全性。
本發明實施例還提供了一種客戶識別模塊的鑒權方法,應用于設置了SIM卡的終端一側,如圖2所示,本實施例方法的處理流程包括以下步驟:
步驟201、向AUC上報SIM卡的IMSI進行鑒權。
步驟202、采集獲得用戶的生物特征信息,從所述生物特征信息中提取獲得生物特征的細節點。
終端在開啟或強制鑒權情況下,會向AUC上報SIM卡的IMSI,并提示用戶進行生物特征輸入,用戶看到該提示后,進行生物特征輸入,生物特征采集器完成對用戶生物特征信息的采集,然后從所述生物特征信息中提取獲得生物特征的細節點。
在這里需要說明的是,若所述SIM卡中存儲有校正用輔助數據,則,所述從所述生物特征信息中提取獲得生物特征的細節點,包括:從所述生物特征信息中提取生物特征點,并應用所述校正用輔助數據進行校正獲得生物特征的細節點。通過校正用輔助數據的校正,可以使獲得的細節點更加準確。
步驟203、根據所述細節點從所述SIM卡中預存的模糊金庫中解析出鑒權 密鑰。
從步驟102-103中可知,寫入卡會將細節點與鑒權密鑰形成的模糊金庫寫入SIM卡中,故終端要進行SIM卡鑒權時,需要應用這些細節點解析出模糊金庫中隱藏的鑒權密鑰;具體的解析流程包括以步驟:
步驟Q1、將所述細節點與模糊金庫進行比對,獲得匹配細節點。
從步驟S2中可知模糊金庫中存儲有真實點集(ai,P(ai))和大量的雜湊點集(xj,yj),將提取出的細節點bm與模糊金庫存儲的點集進行匹配,如果是合法用戶,則所述細節點bm與真實點集中的ai會匹配上若干個bk,這樣就獲得匹配細節點bk。
步驟Q2、在獲得的匹配細節點的數目大于等于n+1時,將匹配細節點通過拉格朗日插值,重構出最高次數為n的多項式P'(x)=C'nxn+C'n-1xn-1+..+C'0。
在獲得的匹配細節點的數目大于等于n+1時,將獲得的匹配細節點bk對應的(bk,P(bk))進行拉格朗日插值,就可以重構出最高次數為n的多項式P'(x)=C'nxn+C'n-1xn-1+..+C'0。
當然,若匹配細節點的數目小于n+1,則終端重新提示用戶進行生物特征輸入,重新對用戶生物特征信息的采集,直到匹配細節點的數目大于等于n+1。若匹配細節點的數目一直小于n+1,則認為鑒權失敗,該用戶不是合法用戶。在這里可以限制提示用戶進行生物特征輸入的次數,如在一天之內輸入3次匹配細節點的數目一直小于n+1,則認為該用戶不是合法用戶,對該SIM卡進行鎖定。
步驟Q3、對所述多項式的系數校驗CRC值通過后,提取多項式的系數,解碼出鑒權密鑰。
對所述多項式P'(x)=C'nxn+C'n-1xn-1+..+C'0的系數C'n、C'n-1、……、C'0校驗CRC值通過后,認為重構的多項式是正確的,根據步驟S1中的算法可以將鑒權密鑰構造成多項式,故獲得多項式后,就可以反推理出鑒權密鑰。即提取多項式的系數C'n、C'n-1、……、C'0,可以依次將Cn轉換成第一個碼段,……,將C0轉換成第 n+1個碼段,將轉換成的碼段按照第一個碼段為最高位碼段,第n+1個碼段為最低位碼段,依次排序組合出一個CRC碼段,然后進行CRC解碼就可以獲得鑒權密鑰。
若對所述多項式P'(x)=C'nxn+C'n-1xn-1+..+C'0的系數C'n、C'n-1、……、C'0校驗CRC值沒有通過后,認為重構的多項式是錯誤的,此時終端進行步驟101,重新開始鑒權。
步驟204、接收所述AUC發送的隨機數序列,并根據所述隨機數序列與解析出的鑒權密鑰,計算獲得鑒權向量。
AUC接收到終端發送的IMSI后,根據對應的卡數據生成某些鑒權因子和隨機數序列。同時,AUC按照一定算法,應用存儲的鑒權密鑰Ki和隨機數序列計算出本次的鑒權向量AV。然后AUC將隨機數序列下發給終端。
終端接收到AUC發送的隨機數序列后,并根據所述隨機數序列以及解析出的鑒權密鑰,應用相同的算法計算獲得鑒權向量。
步驟205、將所述鑒權向量發送給所述AUC進行鑒權認證。
終端計算獲得鑒權向量后就會將所述鑒權向量發送給所述AUC,AUC接收到該鑒權向量后,會將該鑒權向量與自己應用相同算法計算的鑒權向量AV進行比對,若一致,則鑒權認證成功,通過用戶認證;若不一致,則鑒權認證失敗,當鑒權次數超過閾值時,SIM卡將被鎖定,合法用戶需持個人有效證件去營業廳將SIM恢復正常狀態。
在這里需要說明的是,步驟204和205中所述的鑒權過程為現有的鑒權的流程,AUC接收到終端發送的IMSI后可能還會向終端發送一些鑒權因子等,在這里不一一進行詳述,本領域人員應該都清楚了解。
本實施例方法中,SIM卡中并不存儲實際的鑒權密鑰Ki,而是存儲隱藏有鑒權密鑰Ki的模糊金庫,在終端側有效地對鑒權密鑰Ki進行了隱藏,即使攻擊者對其進行攻擊,沒有用戶的生物特征信息就不能從模糊金庫中提取出鑒權密鑰Ki,這就無法構成有效的旁路攻擊,提升了鑒權密鑰Ki的安全性。另外, 只有用戶為合法用戶時,終端側才能解析出鑒權密鑰Ki,多了一層生物認證,讓鑒權過程更加安全。
將模糊金庫存儲在SIM卡中,在進行鑒權驗證時并不上傳該模糊金庫的相關數據,避免了用戶的生物特征信息在傳輸過程中被竊取。AUC可通過強制鑒權的方式,對用戶進行挑戰,當鑒權通過時認為使用為用戶本人,保證了SIM卡的使用安全,給運營商減少相關投訴和經濟損失。由于模糊金庫方法原理上是對生物特征細節點的處理和密鑰綁定,能夠應用于人臉、指紋、虹膜的特征,具有普適性,對于不同終端的應用具有可擴展性。
實施例2、
本發明實施例提供了一種寫卡機,如圖3所示,所述寫卡機包括:采集提取單元301,計算單元302,寫入單元303,其中,
采集提取單元301,用于采集獲得用戶的生物特征信息,從所述生物特征信息中提取獲得生物特征的細節點;
計算單元302,用于將所述采集提取單元301提取出的細節點與生成的鑒權密鑰進行綁定計算,獲得模糊金庫;
寫入單元303,用于將所述計算單元302計算出的模糊金庫以及國際移動用戶識別碼IMSI寫入客戶識別模塊SIM卡中。
可選的,所述計算單元302,具體用于隨機生成鑒權密鑰,將所述鑒權密鑰進行循環冗余碼校驗CRC編碼后,分為n+1段,構造出最高次數為n的多項式P(x)=Cnxn+Cn-1xn-1+..+C0;將所述細節點ai投影到多項式P(x)上,獲得真實點集(ai,P(ai)),隨機生成雜湊點集(xj,yj),將真實點集與雜湊點集合并且打亂順序構成模糊金庫;其中,所述n為大于等于1的整數;所述i和j都為大于0的整數,所述j大于所述i。
可選的,所述采集提取單元301,還用于在所述采集獲得用戶的生物特征信息后,根據所述生物特征信息獲得校正用輔助數據;所述寫入單元303,還用于在將所述模糊金庫以及IMSI寫入SIM卡中時,將所述采集提取單元301 獲得的所述校正用輔助數據寫入SIM卡中。
本發明實施例還提供了一種配置有SIM卡的終端,如圖4所示,包括:發送單元401,采集單元402,處理單元403,接收單元404,其中,
發送單元401,用于向用戶鑒權中心AUC上報SIM卡的IMSI號。
采集單元402,用于采集獲得用戶的生物特征信息,從所述生物特征信息中提取獲得生物特征的細節點;可選的,所述采集單元402,具體用于從所述生物特征信息中提取生物特征點,并應用所述校正用輔助數據進行校正獲得生物特征的細節點。
處理單元403,用于根據所述采集單元402提取的細節點從所述SIM卡中預存的模糊金庫中解析出鑒權密鑰;可選的,所述處理單元403,具體用于將所述細節點與模糊金庫進行比對,獲得匹配細節點;在獲得的匹配細節點的數目大于等于n+1時,將匹配細節點通過拉格朗日插值,重構出最高次數為n的多項式P'(x)=C'nxn+C'n-1xn-1+..+C'0;對所述多項式的系數校驗循環冗余碼校驗CRC值通過后,提取多項式的系數,解碼出鑒權密鑰;其中,所述n為大于等于1的整數。
接收單元404,用于接收所述AUC發送的隨機數序列;
處理單元403,還用于根據所述接收單元404接收到的隨機數序列與解析出的鑒權密鑰,計算獲得鑒權向量;
所述發送單元401,還用于將所述處理單元403獲得的鑒權向量發送給所述AUC進行鑒權認證。
在實際應用中,上述實施例中所述的采集提取單元301,計算單元302,寫入單元303,可以由寫卡機上的中央處理器(CPU)、微處理器(MPU)、數字信號處理器(DSP)或現場可編程門陣列(FPGA)、調制解調器等器件實現。所述發送單元401,采集單元402,處理單元403,接收單元404,可以由配置SIM卡的終端上的中央處理器(CPU)、微處理器(MPU)、數字信號處理器(DSP)或現場可編程門陣列(FPGA)、調制解調器等器件實現。
本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或計算機程序產品。因此,本發明可采用硬件實施例、軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器和光學存儲器等)上實施的計算機程序產品的形式。
本發明是參照根據本發明實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
以上所述,僅為本發明的較佳實施例而已,并非用于限定本發明的保護范圍。