專利名稱:解決終端與用戶識別模塊認(rèn)證漏洞的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于移動通信領(lǐng)域,特別涉及一種解決終端與用戶識別模塊認(rèn)證漏洞的方法。
背景技術(shù):
隨著電信增值類業(yè)務(wù)的發(fā)展,利用用戶識別模塊實現(xiàn)的特殊應(yīng)用,種類越來越多。其中有一類應(yīng)用,由于為使用者提供了較低資費或較多的增值服務(wù),因此需要實現(xiàn)此類應(yīng)用的用戶識別模塊和終端在終端開機時完成機卡認(rèn)證。只有正確完成了認(rèn)證流程,這類應(yīng)用才能被正常使用,從而保證了此類應(yīng)用的機密性和安全性。
專用終端與專用用戶識別模塊的認(rèn)證,是特殊應(yīng)用執(zhí)行的前提。完成了機卡認(rèn)證,表示專用用戶識別模塊被使用在專用終端上。反之如果認(rèn)證失敗,則表明終端為非法終端,用戶識別模塊不應(yīng)允許其模塊內(nèi)應(yīng)用的正常執(zhí)行。
由于在非法終端上需要第一時間內(nèi)終止機卡交互,因此,終端與用戶識別模塊的認(rèn)證過程,是利用Terminal Profile指令實現(xiàn)的。由Gsml1.14規(guī)范可知,Terminal Profile指令的執(zhí)行是用戶識別模塊執(zhí)行主動式命令的必備前提。因此利用該指令完成機卡認(rèn)證,能夠有效保證認(rèn)證的及時性。
現(xiàn)有機卡認(rèn)證流程如圖1所示。終端開機后,發(fā)送Terminal Profile指令,用戶識別模塊執(zhí)行指令,返回狀態(tài)字0X91XX。終端發(fā)送Fetch指令接收主動式命令數(shù)據(jù)。用戶識別模塊返回主動式命令Get Input的數(shù)據(jù),同時利用該主動式命令向終端傳送用戶識別模塊產(chǎn)生的隨機數(shù)。終端接收到主動式命令Get Input的數(shù)據(jù)后,對用戶識別模塊產(chǎn)生的隨機數(shù)進行加密運算,并通過Terminal Response指令返回加密結(jié)果。用戶識別模塊接收終端傳送的加密數(shù)據(jù)后,利用相同的加密算法,對終端的計算結(jié)果進行驗證。如果驗證成功,用戶識別模塊在隨后與網(wǎng)絡(luò)的鑒權(quán)操作中執(zhí)行正常流程,保證用戶正常使用通訊網(wǎng)絡(luò);如果驗證失敗,用戶識別模塊執(zhí)行主動式命令Display text,顯示“專用用戶識別模塊只能用于專用終端!”的提示文本,并且在隨后的鑒權(quán)操作中給出錯誤的鑒權(quán)計算結(jié)果,以禁止非專用終端使用專用用戶識別模塊。
以上流程為終端與用戶識別模塊開機認(rèn)證的基本流程。當(dāng)符合此流程的用戶識別模塊用于大多數(shù)非專用終端時,由于終端發(fā)送的Terminal Response指令中不包含終端對隨機數(shù)的加密結(jié)果,因此用戶識別模塊顯示“專用用戶識別模塊只能用于專用終端!”的提示文本,并且仍然執(zhí)行Get Input主動式命令要求終端進行認(rèn)證。循環(huán)往復(fù)的認(rèn)證過程,可以達到對非定制終端的限制作用,使其無法正常使用。
但有某些終端(Phase 2類型),開機后不發(fā)送Terminal Profile指令,或開機發(fā)送Terminal Profile指令但不支持主動式命令,或僅在開機過程執(zhí)行完畢后才支持主動式命令。在這幾種情況下,終端與用戶識別模塊的認(rèn)證流程無法執(zhí)行。若用戶識別模塊認(rèn)為只要流程能進行到鑒權(quán)就認(rèn)為終端合法,則會執(zhí)行正確鑒權(quán)且允許使用特定的服務(wù)。目前商用產(chǎn)品基本都采用該方案,即只要流程執(zhí)行到鑒權(quán),用戶識別模塊都會計算正確鑒權(quán)結(jié)果并通過終端傳送給網(wǎng)絡(luò)。
在開機過程中,用戶識別模塊與網(wǎng)絡(luò)需要進行鑒權(quán)操作。網(wǎng)絡(luò)會根據(jù)該過程中用戶識別模塊返回的鑒權(quán)結(jié)果的正確性,開放或禁止用戶對網(wǎng)絡(luò)的使用。在實際應(yīng)用過程中,考慮到用戶識別模塊有較高的安全性,同時由于用戶的不斷增大對網(wǎng)絡(luò)帶來的壓力,網(wǎng)絡(luò)對用戶識別模塊的鑒權(quán)會采用“選擇性鑒權(quán)”方式。即網(wǎng)絡(luò)不是對用戶識別模塊的每一次鑒權(quán)結(jié)果都進行判斷,而是采取分時或計數(shù)等方式對用戶多次鑒權(quán)過程的某一次進行真正完整意義上的鑒權(quán)操作。在這種情況下,非專用終端如果通過了開機過程的交互流程,但未完成認(rèn)證,則在隨后的鑒權(quán)過程中,即使用戶識別模塊返回錯誤的鑒權(quán)計算結(jié)果給網(wǎng)絡(luò),但由于“選擇性鑒權(quán)”的原因,本次鑒權(quán)仍然有可能通過網(wǎng)絡(luò)認(rèn)證,用戶同樣能夠正常使用網(wǎng)絡(luò),正常使用終端。
現(xiàn)有的機卡認(rèn)證流程,在常用終端中可以得到執(zhí)行,非專用終端無法通過用戶識別模塊的認(rèn)證,無法登陸網(wǎng)絡(luò)。但也有一類終端,開機后沒有按照用戶識別模塊要求的認(rèn)證方法正確執(zhí)行認(rèn)證流程。終端避開了此類特殊應(yīng)用要求的認(rèn)證過程,在具有“選擇性鑒權(quán)”網(wǎng)絡(luò)中仍然有可能通過網(wǎng)絡(luò)認(rèn)證,用戶同樣能夠正常使用網(wǎng)絡(luò),違背了專用用戶識別模塊只能在專用終端中使用的初衷。這類終端的存在,影響并限制了運營商開展某些特殊應(yīng)用服務(wù)。同時,由于已經(jīng)投入市場的這類用戶識別模塊存在安全性原因,因此運營已商蒙受了一定的經(jīng)濟損失。
發(fā)明內(nèi)容
本發(fā)明提供一種解決現(xiàn)有非定制終端在具有“選擇性鑒權(quán)”屬性的網(wǎng)絡(luò)環(huán)境下,有可能避開認(rèn)證,非法使用某些服務(wù)的終端與用戶識別模塊認(rèn)證漏洞的方法。
本發(fā)明提出的解決終端和用戶識別模塊認(rèn)證漏洞的方法,包含以下步驟(a)終端開機后,用戶識別模塊設(shè)置初始認(rèn)證標(biāo)志;(b)用戶識別模塊和終端之間執(zhí)行認(rèn)證流程;(c)若認(rèn)證成功,用戶識別模塊重新設(shè)置認(rèn)證標(biāo)志為認(rèn)證成功標(biāo)志;(d)用戶識別模塊與網(wǎng)絡(luò)進行鑒權(quán)操作時,判斷認(rèn)證標(biāo)志,若為認(rèn)證成功標(biāo)志,則鑒權(quán)正常進行;否則,禁止該終端對該用戶識別模塊的使用。
在一實施例中,所述步驟(d)中返回錯誤鑒權(quán)結(jié)果并返回特殊狀態(tài)字,且在隨后的指令中均返回特殊狀態(tài)字,從而禁止終端對用戶識別模塊的使用。所述特殊狀態(tài)字為使終端重起,或使終端停止與用戶識別模塊的交互的狀態(tài)字。所述特殊狀態(tài)字為指示與應(yīng)用無關(guān)的錯誤的狀態(tài)字。
在一實施例中,所述步驟(d)中返回錯誤鑒權(quán)結(jié)果并執(zhí)行主動式命令refresh要求終端重起,從而禁止終端對用戶識別模塊的使用。
在一實施例中,所述步驟(d)中用戶識別模塊在隨后每條指令執(zhí)行時不執(zhí)行原有流程,從而禁止終端對用戶識別模塊的使用。
所述步驟(a)中初始認(rèn)證標(biāo)志和步驟(c)中認(rèn)證成功標(biāo)志可以為用戶識別模塊支持范圍內(nèi)任意值。
本發(fā)明提出的解決用戶識別模塊與終端認(rèn)證漏洞的方法,相對于現(xiàn)有技術(shù),增加了設(shè)置認(rèn)證標(biāo)志的處理方法,當(dāng)終端與用戶識別模塊未進行認(rèn)證,或認(rèn)證不成功,則認(rèn)證標(biāo)志不變,無法在隨后的網(wǎng)絡(luò)鑒權(quán)過程中返回正確的鑒權(quán)結(jié)果,且通過返回特殊狀態(tài)字,或發(fā)送主動式refresh命令,或跳出流程不執(zhí)行指令等方法,使終端重啟或終止終端和用戶識別模塊的交互,從而從根本上杜絕了非專用終端在具有“選擇性鑒權(quán)”屬性的網(wǎng)絡(luò)中,對專用用戶識別模塊的非法使用,提高了這類特殊應(yīng)用的機密性和安全性,有效保證了電信運營商的經(jīng)濟利益,為需要機卡認(rèn)證支持的應(yīng)用的推廣奠定了良好的技術(shù)基礎(chǔ)。
圖1為現(xiàn)有技術(shù)中終端與用戶識別模塊的認(rèn)證流程圖;圖2為本發(fā)明實施例終端與用戶識別模塊的認(rèn)證流程圖。
具體實施例方式
下面結(jié)合附圖和實施例對本發(fā)明作進一步說明。
圖2是本發(fā)明實施例終端和用戶識別模塊的認(rèn)證流程圖,其主要步驟如下步驟101終端開機;步驟102置認(rèn)證標(biāo)志位為0;步驟103執(zhí)行認(rèn)證流程,即圖1中從終端發(fā)送Terminal profile指令至用戶識別模塊到終端發(fā)送Terminal Response指令至用戶識別模塊,用戶識別模塊進行認(rèn)證之間的流程;步驟104若認(rèn)證成功則將認(rèn)證標(biāo)志位設(shè)為1;步驟105用戶識別模塊與網(wǎng)絡(luò)進行鑒權(quán)操作時判斷認(rèn)證標(biāo)志位,若為1,執(zhí)行步驟106;若為0,則執(zhí)行步驟107;步驟106正常鑒權(quán),認(rèn)證結(jié)束;步驟107用戶識別模塊返回錯誤鑒權(quán)結(jié)果,返回特殊狀態(tài)字,如0x6F00、0x6E00等,此類狀態(tài)字指示了與應(yīng)用無關(guān)的錯誤。用戶識別模塊執(zhí)行APDU指令時,返回此類特殊狀態(tài)字會使終端重起,或使終端停止與用戶識別模塊的交互,提示“用戶識別模塊錯誤”等內(nèi)容,從而禁止非法終端對專用用戶識別模塊的使用。
返回上述狀態(tài)字后,終端一般會立刻重起或提示錯誤。只是不同終端可能會在不同指令執(zhí)行時收到特殊狀態(tài)字而重起或提示錯誤。本發(fā)明并不局限于上述列出的狀態(tài)字,只要能達到限制終端對用戶識別模塊使用的任意特殊狀態(tài)字都可以采用。
步驟108用戶識別模塊判斷終端是否重啟,如果是,則執(zhí)行步驟102;如果不是,則執(zhí)行步驟109;步驟109用戶識別模塊在執(zhí)行所有指令時均返回特殊狀態(tài)字,至終端重啟或終端停止與用戶識別模塊交互。
在本發(fā)明另一實施例中,用戶識別模塊也可以在步驟107或109時,通過發(fā)送主動式命令一一refresh,要求終端執(zhí)行重起操作,從而禁止非法終端對用戶識別模塊的正常使用。
在本發(fā)明又一實施例中,用戶識別模塊可以在步驟107時,通過執(zhí)行所有指令時都不執(zhí)行指令原來的流程,而直接跳出流程,令指令無法實現(xiàn)原有的功能,從而禁止非專用終端對專用用戶識別模塊的正常使用。在本實施例中,在用戶識別模塊跳出流程后,終端不重起,沒有圖2中的步驟108和109。
對于背景技術(shù)中提到的開機后不發(fā)送Terminal Profile指令,或開機發(fā)送Terminal Profile指令但不支持主動式命令,或僅在開機過程執(zhí)行完畢后支持主動式命令的終端來說,由于沒有執(zhí)行認(rèn)證流程,因此開機后“認(rèn)證標(biāo)志位”始終為0;另外,對于支持開機主動式命令的終端,即使能夠執(zhí)行認(rèn)證流程,但由于在認(rèn)證過程中沒有執(zhí)行專用終端特有的數(shù)據(jù)加密流程,因此認(rèn)證無法成功,開機后“認(rèn)證標(biāo)志位”同樣始終為0。因此,對于所有非專用終端,從執(zhí)行鑒權(quán)指令開始,用戶識別模塊通過對每條指令均返回特殊狀態(tài)字,或執(zhí)行refresh主動式命令,或不實現(xiàn)指令原有功能直接跳出流程,使終端停止與用戶識別模塊的交互,或使終端重起,從而從根本上杜絕了非專用終端在具有“選擇性鑒權(quán)”屬性的網(wǎng)絡(luò)中,對專用用戶識別模塊的非法使用。
本發(fā)明采用的認(rèn)證標(biāo)志除了上述的認(rèn)證標(biāo)志位外,還可以為用戶識別模塊支持范圍內(nèi)任意值,只要設(shè)置初始標(biāo)志位值和認(rèn)證成功后標(biāo)志位值不同即可。
權(quán)利要求
1.一種解決終端和用戶識別模塊認(rèn)證漏洞的方法,包含以下步驟(a)終端開機后,用戶識別模塊設(shè)置初始認(rèn)證標(biāo)志;(b)用戶識別模塊和終端之間執(zhí)行認(rèn)證流程;(c)若認(rèn)證成功,用戶識別模塊重新設(shè)置認(rèn)證標(biāo)志為認(rèn)證成功標(biāo)志;(d)用戶識別模塊與網(wǎng)絡(luò)進行鑒權(quán)操作時,判斷認(rèn)證標(biāo)志,若為認(rèn)證成功標(biāo)志,則鑒權(quán)正常進行;否則,禁止該終端對該用戶識別模塊的使用。
2.如權(quán)利要求1所述的方法,其特征在于所述步驟(d)中通過返回錯誤鑒權(quán)結(jié)果并返回特殊狀態(tài)字,且在隨后的指令中均返回特殊狀態(tài)字,禁止終端對用戶識別模塊的使用。
3.如權(quán)利要求2所述的方法,其特征在于所述特殊狀態(tài)字為使終端重起,或使終端停止與用戶識別模塊的交互的狀態(tài)字。
4.如權(quán)利要求3所述的方法,其特征在于所述特殊狀態(tài)字為指示與應(yīng)用無關(guān)的錯誤的狀態(tài)字。
5.如權(quán)利要求1所述的方法,其特征在于所述步驟(d)中通過返回錯誤鑒權(quán)結(jié)果并執(zhí)行主動式命令refresh要求終端重起,禁止終端對用戶識別模塊的使用。
6.如權(quán)利要求1所述的方法,其特征在于所述步驟(d)中通過用戶識別模塊在隨后每條指令執(zhí)行時不執(zhí)行原有流程,直接跳出流程,禁止終端對用戶識別模塊的使用。
7.如權(quán)利要求1所述的方法,其特征在于所述步驟(a)中初始認(rèn)證標(biāo)志和步驟(c)中認(rèn)證成功標(biāo)志可以為用戶識別模塊支持范圍內(nèi)任意值。
全文摘要
本發(fā)明提出一種解決終端和用戶識別模塊認(rèn)證漏洞的方法,包含以下步驟(a)終端開機后,用戶識別模塊設(shè)置初始認(rèn)證標(biāo)志;(b)用戶識別模塊和終端之間執(zhí)行認(rèn)證流程;(c)若認(rèn)證成功,用戶識別模塊重新設(shè)置認(rèn)證標(biāo)志為認(rèn)證成功標(biāo)志;(d)用戶識別模塊與網(wǎng)絡(luò)進行鑒權(quán)操作時,判斷認(rèn)證標(biāo)志,若為認(rèn)證成功標(biāo)志,則鑒權(quán)正常進行;否則,禁止該終端對該用戶識別模塊的使用。本文提出的方法,相對于現(xiàn)有技術(shù),增加了設(shè)置認(rèn)證標(biāo)志的處理方法,從根本上杜絕了非專用終端對專用用戶識別模塊的非法使用,提高了這類特殊應(yīng)用的機密性和安全性。
文檔編號H04W12/06GK1913687SQ20061011250
公開日2007年2月14日 申請日期2006年8月22日 優(yōu)先權(quán)日2006年8月22日
發(fā)明者王鵬 申請人:大唐微電子技術(shù)有限公司