国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于一次性口令的移動(dòng)終端身份認(rèn)證方法和系統(tǒng)的制作方法

      文檔序號(hào):7896000閱讀:377來(lái)源:國(guó)知局
      專利名稱:基于一次性口令的移動(dòng)終端身份認(rèn)證方法和系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及信息安全領(lǐng)域,尤其涉及一種基于一次性口令的移動(dòng)終端身份認(rèn)證 方法和系統(tǒng)。
      背景技術(shù)
      在移動(dòng)通信系統(tǒng)中,由于無(wú)線信道的開放性,安全問(wèn)題一直是影響系統(tǒng)運(yùn)營(yíng)的 關(guān)鍵因素之一。隨著移動(dòng)通信的日益普及,其安全性能也受到了廣泛重視,隨之產(chǎn)生了 一系列安全、高效的身份認(rèn)證方案。但是,在移動(dòng)商務(wù)背景下,由于終端設(shè)備的運(yùn)算存 儲(chǔ)能力等條件有限,而傳統(tǒng)身份認(rèn)證方案往往認(rèn)證過(guò)程復(fù)雜、對(duì)終端設(shè)備要求較高,并 不完全適用于移動(dòng)商務(wù)身份認(rèn)證。目前,本領(lǐng)域技術(shù)人員提出了一種基于OTP(One-Time Password,一次口令)的
      噪聲密碼方法。該方法是一種相對(duì)安全且應(yīng)用相對(duì)成熟的技術(shù)。核心思想可以簡(jiǎn)要敘述 為在每次登錄認(rèn)證的過(guò)程中加入不確定因素,使每次登陸口令的密文不同,從而使攻 擊者很難通過(guò)竊取用戶口令的方式非法訪問(wèn)系統(tǒng),以此達(dá)到提高安全性的目的。但是該技術(shù)在應(yīng)用到開放信道的移動(dòng)認(rèn)證領(lǐng)域的時(shí)候,會(huì)遇到如下問(wèn)題進(jìn)行 身份認(rèn)證時(shí)需要進(jìn)行很多次散列運(yùn)算,這對(duì)于運(yùn)算資源相對(duì)有限的移動(dòng)設(shè)備來(lái)說(shuō),極大 增加了系統(tǒng)負(fù)擔(dān),降低了移動(dòng)設(shè)備的整體性能;另外,在認(rèn)證過(guò)程中,由于不能實(shí)現(xiàn)用 戶和服務(wù)器的雙向認(rèn)證,移動(dòng)設(shè)備無(wú)法識(shí)別假冒的服務(wù)器。在網(wǎng)絡(luò)傳輸中,服務(wù)器發(fā)出 的種子和迭代值都是以明文的形式在網(wǎng)絡(luò)上傳輸,加之移動(dòng)通信網(wǎng)絡(luò)的開放性,攻擊者 能夠比較容易地竊取到用戶的種子,當(dāng)用戶再次請(qǐng)求登錄系統(tǒng)時(shí),攻擊者可以假冒服務(wù) 器將得到的種子和較小的迭代值發(fā)給用戶,用戶利用種子和迭代值計(jì)算出一次口令,這 樣攻擊者就取得了具有較小迭代值的一次性口令,并利用一致的單向散列函數(shù)計(jì)算較大 迭代值的一次性口令,由此獲得用戶訪問(wèn)系統(tǒng)的一系列的一次性口令,攻擊者可以在一 段時(shí)間內(nèi)冒充合法用戶而不被發(fā)現(xiàn),即不能很好抵御小數(shù)攻擊。

      發(fā)明內(nèi)容
      本發(fā)明的目的在于提供一種基于一次性口令的移動(dòng)終端身份認(rèn)證方法和系統(tǒng), 對(duì)OTP思想進(jìn)行改進(jìn),保留技術(shù)優(yōu)勢(shì)的前提下,實(shí)現(xiàn)用戶和服務(wù)器的雙向認(rèn)證,在不增 加系統(tǒng)復(fù)雜程度的基礎(chǔ)上,增強(qiáng)認(rèn)證的安全性。一方面,本發(fā)明公開了一種基于一次性口令的移動(dòng)終端身份認(rèn)證方法,包括如 下步驟第一級(jí)認(rèn)證步驟,接收輸入移動(dòng)設(shè)備的用戶身份標(biāo)識(shí)ID和用戶通行密語(yǔ)PW, 對(duì)比ID、H(PW)與移動(dòng)設(shè)備中預(yù)先存儲(chǔ)的ID和H(PW)是否一致,若不一致,提示用 戶輸入有誤,請(qǐng)用戶重新輸入ID和PW;若一致,執(zhí)行第二級(jí)認(rèn)證步驟;其中,H(PW) 表示PW的哈希函數(shù);第二級(jí)認(rèn)證步驟,基于一次性因素生成因子OTP、所述ID和所述 PW進(jìn)行移動(dòng)設(shè)備與服務(wù)器間的雙向身份認(rèn)證;其中,所述ID、所述PW和所述OTP通 過(guò)用戶注冊(cè)過(guò)程確定;并且,所述OTP基于移動(dòng)設(shè)備特征性標(biāo)識(shí)生成,所述移動(dòng)設(shè)備特征性標(biāo)識(shí)包括移動(dòng)設(shè)備識(shí)別碼IMEI和移動(dòng)用戶識(shí)別碼IMSI。上述移動(dòng)終端身份認(rèn)證方法,優(yōu)選通過(guò)用戶注冊(cè)過(guò)程確定所述ID、所述PW和 所述OTP進(jìn)一步包括請(qǐng)求步驟,向服務(wù)器發(fā)出注冊(cè)請(qǐng)求,接收并存儲(chǔ)服務(wù)器基于響應(yīng) 該注冊(cè)請(qǐng)求所發(fā)送的橢圓曲線系統(tǒng)參數(shù)集ECC和服務(wù)器端公鑰KSR ;第一發(fā)送步驟, 選取用戶端公鑰KUR和用戶端密鑰KUS后,發(fā)送用所述KSR加密的(ID,H(PW), IMEI,IMSI, KUR)給服務(wù)器;第一接收步驟,用于接收服務(wù)器發(fā)送的用KUR加密的 初始生成因子OTPtl,并基于KUS解密后存儲(chǔ);所述OTPtl用于形成所述第二級(jí)認(rèn)證步驟 中的一次性因素生成因子OTP;其中,ID、PW和OTPtl通過(guò)如下方式確定服務(wù)器端用 KSS解密收到的所述(ID,H(PW),IMEI, IMSI, KUR),并驗(yàn)證ID是否已經(jīng)存在 如果存在,則返回給移動(dòng)設(shè)備注冊(cè)錯(cuò)誤信息,注冊(cè)結(jié)束;如果不存在,則所述ID和所述 PW可用,同時(shí),服務(wù)器端對(duì)Counter進(jìn)行初始化,令Counter = 0,生成一次性因素生成 因子OTpc1 = H(CounterlllMEIllIMSI);存儲(chǔ)所述ID和PW,并發(fā)送OTPtl至移動(dòng)設(shè)備;其 中,H(Counter||IMEI||IMSI)表示 Counter||IMEI||IMSI 的哈希函數(shù);“||” 表示邏輯或運(yùn) 算;Counter表示計(jì)數(shù)器的數(shù)值,其取值為不小于零的整數(shù);并且,所述橢圓曲線系統(tǒng)參 數(shù)集ECC為服務(wù)器端初始化生成;服務(wù)器端公鑰KSR和服務(wù)器端密鑰KSS為服務(wù)器端 自行選取。上述移動(dòng)終端身份認(rèn)證方法,優(yōu)選所述第二級(jí)認(rèn)證步驟進(jìn)一步包括第二發(fā)送 步驟,發(fā)送用KSR加密的(ID,OTPC1, H(PW))給服務(wù)器端;其中,OTPC1是第i次 認(rèn)證時(shí),服務(wù)器端驗(yàn)證客戶端身份的一次性因子,OTpc1 = H(OTPCV1IICaunter);對(duì)于 第一次登錄的用戶,OTPC1 = H(OTPCci) ; OTPC0 = OTP0 ;其中,H(OTpCV1IlCounter) 表示OTPCV11ICounter的哈希函數(shù);H (OTPC0)表示OTPQ的哈希函數(shù);服務(wù)器端 驗(yàn)證步驟,服務(wù)器端用KSS解密收到的上述信息,比較ID、H(PW)是否與數(shù)據(jù)庫(kù) 中的一致;若否,返回客戶端用戶驗(yàn)證出錯(cuò)信息;若是,服務(wù)器端計(jì)算OTPC1'; OTPC1' = H(OTpC1^IICounter);同步判斷步驟,服務(wù)器對(duì)比OTPC1'與存儲(chǔ)的OTPC1 是否一致,若否,則向客戶端發(fā)出同步請(qǐng)求,進(jìn)行同步操作;若是,繼續(xù)第三發(fā)送 步驟;第三發(fā)送步驟,服務(wù)器端發(fā)送用KUR加密的OTPSdn成功信息給客戶端;其 中,OTPS1 = H (OTPSm I (Counter),對(duì)于第一次驗(yàn)證,OTPS1 = H(OTPS0),OTPS0 =H (IMEI||Counter);其中,H (OTPSh|!Counter)表示 OTPS^IlCounter 的哈希函數(shù); H (OTPS0)表示 OTPStl 的哈希函數(shù);H (IMEI||Counter)表示 IMEI||Counter 的哈希函數(shù); 客戶端驗(yàn)證步驟,客戶端收到第三發(fā)送步驟發(fā)送的信息后,用KUS解密,計(jì)算得到的 OTPS1 ;計(jì)算 OTPS1',OTPS1' = H(OTPSM||Counter),對(duì)于第一次驗(yàn)證,OTPS1 = H(OTPS0), OTPS0 = H(IMEIllCounter);判斷 OTPS1 與 OTPS1'是否相同,若相同,則 認(rèn)證成功;否則認(rèn)證失敗,終止會(huì)話;客戶端和服務(wù)器端的Counter分別自增1。上述移動(dòng)終端身份認(rèn)證方法,優(yōu)選所述同步判斷步驟中,所述同步操作進(jìn)一步 包括服務(wù)器向客戶端發(fā)出同步請(qǐng)求;客戶端將IMEI和IMSI用KSR加密后傳送給服務(wù) 器端;服務(wù)器端用KSS解密,獲取IMEI和IMSI,與本地存儲(chǔ)的進(jìn)行對(duì)比,若兩者均相 同,則將OTPCV1,OTPSh,Counter用KUR加密后傳送給客戶端進(jìn)行同步;客戶端收到 以上信息,用KUS解密后存儲(chǔ)在客戶端,同步階段完成。另一方面,本發(fā)明還公開了一種基于一次性口令的移動(dòng)終端身份認(rèn)證系統(tǒng),包括注冊(cè)模塊、第一級(jí)認(rèn)證模塊和第二級(jí)認(rèn)證模塊。其中,注冊(cè)模塊用于通過(guò)用戶注 冊(cè)模塊確定所述ID、所述PW和所述OTP;并且,所述OTP基于移動(dòng)設(shè)備特征性標(biāo)識(shí) 生成,所述移動(dòng)設(shè)備特征性標(biāo)識(shí)包括移動(dòng)設(shè)備識(shí)別碼IMEI和移動(dòng)用戶識(shí)別碼IMSI ;第 一級(jí)認(rèn)證模塊用于接收輸入移動(dòng)設(shè)備的用戶身份標(biāo)識(shí)ID和用戶通行密語(yǔ)PW,對(duì)比ID、 H(PW)與移動(dòng)設(shè)備中預(yù)先存儲(chǔ)的ID和H(PW)是否一致,若不一致,提示用戶輸入有 誤,請(qǐng)用戶重新輸入ID和PW;若一致,執(zhí)行第二級(jí)認(rèn)證步驟;其中,H(PW)表示PW 的哈希函數(shù);第二級(jí)認(rèn)證模塊用于基于一次性因素生成因子OTP、所述ID和所述PW進(jìn) 行移動(dòng)設(shè)備與服務(wù)器間的雙向身份認(rèn)證。上述移動(dòng)終端身份認(rèn)證系統(tǒng),優(yōu)選所述注冊(cè)模塊包括請(qǐng)求單元、第一發(fā)送單 元和第一接收單元;請(qǐng)求單元用于向服務(wù)器發(fā)出注冊(cè)請(qǐng)求,接收并存儲(chǔ)服務(wù)器基于響應(yīng) 該注冊(cè)請(qǐng)求所發(fā)送的橢圓曲線系統(tǒng)參數(shù)集ECC和服務(wù)器端公鑰KSR ;第一發(fā)送單元用 于選取用戶端公鑰KUR和用戶端密鑰KUS后,發(fā)送用所述KSR加密的(ID,H(PW), IMEI, IMSI,KUR)給服務(wù)器;第一接收單元用于接收服務(wù)器發(fā)送的用KUR加密的初始 生成因子OTPtl,并基于KUS解密后存儲(chǔ);所述OTPtl用于形成所述第二級(jí)認(rèn)證步驟中的 一次性因素生成因子OTP;其中,ID、PW和OTPtl通過(guò)如下方式確定服務(wù)器端用KSS 解密收到的所述(ID,H(PW), IMEI, IMSI, KUR),并驗(yàn)證ID是否已經(jīng)存在如果存 在,則返回給移動(dòng)設(shè)備注冊(cè)錯(cuò)誤信息,注冊(cè)結(jié)束;如果不存在,則所述ID和所述PW可 用,同時(shí),服務(wù)器端對(duì)Counter進(jìn)行初始化,令Counter = 0,生成一次性因素生成因子 OTP0 = H (counter!|IMEI||IMSI);存儲(chǔ)所述ID和PW,并發(fā)送OTP0至移動(dòng)設(shè)備;其中, H (Counter]|IMEI||IMSI)表示 Counterl|IMEI||IMSI 的哈希函數(shù);“||” 表示邏輯或運(yùn)算; Counter表示計(jì)數(shù)器的數(shù)值,其取值為不小于零的整數(shù);并且,所述橢圓曲線系統(tǒng)參數(shù)集 ECC為服務(wù)器端初始化生成;服務(wù)器端公鑰KSR和服務(wù)器端密鑰KSS為服務(wù)器端自行選 取。上述移動(dòng)終端身份認(rèn)證系統(tǒng),優(yōu)選所述第二級(jí)認(rèn)證模塊進(jìn)一步包括第二發(fā) 送單元、服務(wù)器端驗(yàn)證單元、同步判斷單元、第三發(fā)送單元和客戶端驗(yàn)證單元。其 中,第二發(fā)送單元用于發(fā)送用KSR加密的(ID,OTPC1, H(PW))給服務(wù)器端;其 中,OTPC1是第i次認(rèn)證時(shí),服務(wù)器端驗(yàn)證客戶端身份的一次性因子,OTPC1 = H (OTPCm I [Counter);對(duì)于第一次登錄的用戶,OTPC1 = H(OTPC0) ; OTPC0 = OTP0 ; 其中,H (OTPQ—JlCounter)表示 OTPQ—JlCounter 的哈希函數(shù);H (OTPC0)表示 OTPC0 的哈希函數(shù);服務(wù)器端驗(yàn)證單元用于服務(wù)器端用KSS解密收到的上述信息,比較ID、 H(PW)是否與數(shù)據(jù)庫(kù)中的一致;若否,返回客戶端用戶驗(yàn)證出錯(cuò)信息;若是,服務(wù)器端 計(jì)算OTPC1' ; OTPC1' = mOTPCdlCounter);同步判斷單元用于服務(wù)器對(duì)比OTPC1' 與存儲(chǔ)的OTPC1是否一致,若否,則向客戶端發(fā)出同步請(qǐng)求,進(jìn)行同步操作;若是,繼 續(xù)第三發(fā)送步驟;第三發(fā)送單元用于服務(wù)器端發(fā)送用KUR加密的OTPS1和成功信息給 客戶端;其中,OTPS1 = H(OTpS1^IICounter),對(duì)于第一次驗(yàn)證,OTPS1 = H(OTPS0), OTPS0 = H(IMEI||Counter);其中,H(OTpSHllCounter)表示 OTPS^IlCounter 的哈希函 數(shù);H(OTPStl)表示 OTPS。的哈希函數(shù);H (IMEI||Counter)表示 IMEI||Counter 的哈希函 數(shù);客戶端驗(yàn)證單元用于客戶端收到第三發(fā)送步驟發(fā)送的信息后,用KUS解密,計(jì)算得 到的 OTPS1;計(jì)算 OTPS1',OTPS1' = H (OTPSm I [Counter),對(duì)于第一次驗(yàn)證,OTPS1=H(OTPS0),OTPS。= H (IMEI|(Counter);判斷 OTPS1 與 OTPS1'是否相同,若相同,
      則認(rèn)證成功;否則認(rèn)證失敗,終止會(huì)話;客戶端和服務(wù)器端的Counter分別自增1。客戶端驗(yàn)證單元所述同步判斷單元中進(jìn)一步包括用于服務(wù)器向客戶端發(fā)出同 步請(qǐng)求的子單元、用于客戶端將IMEI和IMSI用KSR加密后傳送給服務(wù)器端的子單元、 用于服務(wù)器端用KSS解密,獲取IMEI和IMSI,與本地存儲(chǔ)的進(jìn)行對(duì)比,若兩者均相同, 則將OTPC1-I, OTPS1-I, Counter用KUR加密后傳送給客戶端進(jìn)行同步的子單元;以及 用于客戶端收到以上信息,用KUS解密后存儲(chǔ)在客戶端,完成同步階段的子單元。與現(xiàn)有技術(shù)相比,本發(fā)明在OTP思想的基礎(chǔ)上對(duì)其進(jìn)行改進(jìn),保留OTP技術(shù)優(yōu) 勢(shì),并解決其應(yīng)用到移動(dòng)終端身份認(rèn)證中遇到的新問(wèn)題。同時(shí),在數(shù)據(jù)的無(wú)線傳輸中, 本發(fā)明在不增加系統(tǒng)負(fù)擔(dān)的前提下,使用ECC加密算法提高了無(wú)線傳輸過(guò)程中數(shù)據(jù)的安 全性。本發(fā)明在確保安全性的基礎(chǔ)上,具有結(jié)構(gòu)簡(jiǎn)單、運(yùn)算量小、無(wú)需第三方認(rèn)證等優(yōu) 點(diǎn),因此適用于移動(dòng)商務(wù)中的身份認(rèn)證。


      圖1為本發(fā)明基于一次性口令的移動(dòng)終端身份認(rèn)證方法實(shí)施例的步驟流程圖;圖2為本發(fā)明基于一次性口令的移動(dòng)終端身份認(rèn)證方法實(shí)施例中,用戶注冊(cè)的 步驟流程圖;圖3為本發(fā)明基于一次性口令的移動(dòng)終端身份認(rèn)證方法實(shí)施例中,認(rèn)證登錄的 步驟流程圖;圖4為本發(fā)明基于一次性口令的移動(dòng)終端身份認(rèn)證方法實(shí)施例中,同步過(guò)程的 步驟流程圖;圖5為本發(fā)明基于一次性口令的移動(dòng)終端身份認(rèn)證系統(tǒng)實(shí)施例的結(jié)構(gòu)框圖;圖6為本發(fā)明基于一次性口令的移動(dòng)終端身份認(rèn)證系統(tǒng)實(shí)施例的注冊(cè)模塊的結(jié) 構(gòu)框圖;圖7為本發(fā)明基于一次性口令的移動(dòng)終端身份認(rèn)證系統(tǒng)實(shí)施例的第一級(jí)認(rèn)證模 塊的結(jié)構(gòu)框圖;圖8為本發(fā)明基于一次性口令的移動(dòng)終端身份認(rèn)證系統(tǒng)實(shí)施例的第二級(jí)認(rèn)證模 塊的結(jié)構(gòu)框圖。
      具體實(shí)施例方式為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體 實(shí)施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。在對(duì)具體實(shí)施方式
      進(jìn)行詳細(xì)說(shuō)明前,先對(duì)以下符號(hào)和標(biāo)識(shí)進(jìn)行說(shuō)明ID是用戶的身份標(biāo)識(shí);PW是用戶的通行密語(yǔ);IMEI是移動(dòng)設(shè)備識(shí)別碼,IMSI 是移動(dòng)用戶識(shí)別碼,這兩者共同作為服務(wù)器對(duì)客戶端進(jìn)行認(rèn)證的認(rèn)證口令因子存在;C 是用戶所使用的終端,即客戶端;S是認(rèn)證服務(wù)器;HO表示Hash函數(shù)(哈希函數(shù)); EO表示加密過(guò)程,DO表示解密過(guò)程;CP1表示客戶端的第i次認(rèn)證口令,SP1表示服 務(wù)端的第i次認(rèn)證口令;OTPC1是服務(wù)器端驗(yàn)證客戶端身份的一次性因子;OTPS1是客戶 端驗(yàn)證服務(wù)器端身份的一次性因子;KUR、KUS分別是是用戶端的公鑰和密鑰;KSR、KSS分別是服務(wù)器端的公鑰和密鑰。
      參照?qǐng)Dl,圖l為本發(fā)明基于一次性口令的移動(dòng)終端身份認(rèn)證方法實(shí)施例的步驟流程圖;步驟S110,接收輸入移動(dòng)設(shè)備的用戶身份標(biāo)識(shí)ID和用戶通行密語(yǔ)PW;步驟S120,對(duì)比ID、H(PW)與移動(dòng)設(shè)備中預(yù)先存儲(chǔ)的ID和H(PW)是否一致;步驟S 130A,若不一致,提示用戶輸入有誤,請(qǐng)用戶重新輸入ID和PW;其中,H(PW)表示PW的哈希函數(shù);步驟S130B,若一致,基于一次性因素生成因子OTP、ID和PW進(jìn)行移動(dòng)設(shè)備與服務(wù)器間的雙向身份認(rèn)證。
      其中,ID、PW和OTP通過(guò)用戶注冊(cè)過(guò)程確定;并且,OTP基于移動(dòng)設(shè)備特征性標(biāo)識(shí)生成,移動(dòng)設(shè)備特征性標(biāo)識(shí)包括移動(dòng)設(shè)備識(shí)別碼IMEI和移動(dòng)用戶識(shí)別碼IMSI。
      上述實(shí)施例中的認(rèn)證方案分為兩級(jí),第一級(jí)認(rèn)證是用戶與移動(dòng)設(shè)備的認(rèn)證,此項(xiàng)認(rèn)證通過(guò)軟件實(shí)現(xiàn)用戶名與密碼的核實(shí)實(shí)現(xiàn),在基本不增加復(fù)雜程度的基礎(chǔ)上,能夠增強(qiáng)認(rèn)證的安全性。
      發(fā)明主要針對(duì)第二級(jí)認(rèn)證,移動(dòng)設(shè)備與服務(wù)器的雙向身份認(rèn)證,在此認(rèn)證過(guò)程中,使用移動(dòng)設(shè)備特征性標(biāo)識(shí)(IMEI和IMSI)作為一次性因素的生成因子。
      下面通過(guò)一個(gè)優(yōu)選實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)的說(shuō)明。
      該實(shí)施例從注冊(cè)過(guò)程、登錄認(rèn)證過(guò)程和同步階段三部分進(jìn)行說(shuō)明。
      (一)注冊(cè)過(guò)程
      圖2是用戶注冊(cè)的步驟流程圖。
      從圖中可以清楚地了解用戶注冊(cè)的每個(gè)步驟。在注冊(cè)過(guò)程中,用戶需要輸入即將注冊(cè)的ID、PW,最后把這些注冊(cè)數(shù)據(jù)進(jìn)行計(jì)算,并將得到的首次認(rèn)證數(shù)據(jù)通過(guò)安全的信道提交給服務(wù)器保存,以供第一次認(rèn)證會(huì)話使用。
      參照?qǐng)D2,用戶注冊(cè)包括如下步驟
      步驟l服務(wù)器端初始化生成安全橢圓曲線,選取自己的公鑰KSR和密鑰KSR發(fā)送給客戶端。
      步驟2客戶端向服務(wù)器發(fā)出注冊(cè)請(qǐng)求。
      步驟3接到注冊(cè)請(qǐng)求后,服務(wù)器將橢圓曲線系統(tǒng)參數(shù)集ECC連同KSR發(fā)送給客戶端。
      步驟4客戶端存儲(chǔ)KSR,選取自己的公鑰KUR和密鑰KUS;
      步驟5客戶端發(fā)送用KSR加密的(ID,H(PW),IMEI,IMSI,KUR)給服務(wù)器端。
      步驟6服務(wù)器端用KSS解密收到的(ID, H(PW), IMEI, IMSI, KUR),并驗(yàn)證ID是否已經(jīng)存在如果存在,則返回給客戶端重復(fù)注冊(cè)錯(cuò)誤信息,注冊(cè)結(jié)束;如果不存在,繼續(xù)步驟7。
      步驟7 服務(wù)器端初始化C0unter—o, 生成一次性因素OTPo—H(C0unter惱MEl0回MSI)并存儲(chǔ),用于登陸階段的認(rèn)證。
      其中, C0unter表示計(jì)數(shù)器的數(shù)值,且C0unter為整數(shù)且C0unter之o。
      也就是說(shuō),C0unter起到計(jì)數(shù)器的作用,每次認(rèn)證,該計(jì)數(shù)器從零計(jì)起,不考慮上限。
      “廠代表邏輯或的運(yùn)算。
      步驟8服務(wù)器用KUR加密OTP。,并將其發(fā)送給客戶端。
      步驟9客戶端用KUS解密收到的信息,存儲(chǔ)OTP。在客戶端,用于登陸階段的認(rèn)證,并將C0unter初始化為o。
      (二)認(rèn)證過(guò)程
      當(dāng)用戶開始使用服務(wù)器的服務(wù),應(yīng)該提供一些必要的信息給服務(wù)器端。具體過(guò) 程如圖3所示。步驟1:用戶輸入ID、PW,客戶端對(duì)比ID、H(PW)與存儲(chǔ)在移動(dòng)設(shè)備中的是
      否一致,如果不一致,提示用戶輸入有誤;否則繼續(xù)步驟2。步驟2:客戶端發(fā)送用KSR加密的(ID,OTPCl, H(PW))給服務(wù)器。其中 OTPC1 = H(OTPC-l||Counter)。對(duì)于第一次登錄的用戶,OTPC1 = H (OTPC0),OTPC0 =OTP0。步驟3:服務(wù)器端用KSS解密收到的上述信息,比較ID、H(PW)是否與數(shù)據(jù) 庫(kù)中的一致。如果不相同,返回客戶端用戶驗(yàn)證出錯(cuò)信息;如果相同,服務(wù)器端計(jì)算 OTPC1'。 OTPCV = H(OTPC-l||Counter) 步驟4:服務(wù)器對(duì)比OTPC1'與存儲(chǔ)的OTPC1是否一致,如果不一致,則向客戶 端發(fā)出同步請(qǐng)求,進(jìn)行同步操作。否則,繼續(xù)步驟5。步驟5:服務(wù)器端發(fā)送用KUR加密的OTPSjP成功信息給客戶端。其中 OTPS1 = H(OTps1^IICounter),對(duì)于第一次驗(yàn)證,OTPS1 = H(OTPS0),OTPS0 = H(IMEI|(Counter)。步驟6 客戶端收到上述信息后用KUS解密,判斷得到的OTPS1與 OTPS1'是否相同。其中=OTPS1'與服務(wù)器端計(jì)算OTPS1的方法相同。即 OTPS1' = H (OTPS1-! I (Counter),對(duì)于第一次驗(yàn)證,OTPS1 = H (OTPS0),OTPS0 = H(IMEIlICounter)。如果OTPS1' = OTPS1,則認(rèn)證成功;否則認(rèn)證失敗,終止會(huì)話。步驟7 客戶端和服務(wù)器端的Counter分別自增1。(三)同步階段同步階段主要通過(guò)IMEI和IMSI進(jìn)行身份確認(rèn),其流程如圖4所示。同步階段是在客戶端進(jìn)行了一級(jí)認(rèn)證,即對(duì)ID和PWD認(rèn)證的前提下進(jìn)行的, 其具體流程如下步驟1 服務(wù)器向客戶端發(fā)出同步請(qǐng)求。步驟2 客戶端將IMEI和IMSI用KSR加密后傳送給服務(wù)器端。步驟3:服務(wù)器端用KSS解密,獲取IMEI和IMSI,與本地存儲(chǔ)的進(jìn)行對(duì)比,若 兩者均相同,則將OTPCV1,OTPSh,Counter用KUR加密后傳送給客戶端進(jìn)行同步。步驟4:客戶端收到以上信息,用KUS解密后存儲(chǔ)在客戶端,同步階段完成。從上述實(shí)施例可以看出,為適用于移動(dòng)身份認(rèn)證,本方法各個(gè)模塊之間和內(nèi)部 結(jié)構(gòu)簡(jiǎn)單,大致可分為“注冊(cè)過(guò)程”、“登錄認(rèn)證過(guò)程”和“同步過(guò)程”三個(gè)模塊。其 中,注冊(cè)過(guò)程是新用戶通過(guò)移動(dòng)設(shè)備向服務(wù)器發(fā)出注冊(cè)請(qǐng)求、服務(wù)器響應(yīng)的過(guò)程;登錄 認(rèn)證過(guò)程是對(duì)既有用戶進(jìn)行身份認(rèn)證的的過(guò)程;同步情況為在認(rèn)證過(guò)程中解決客戶端和 服務(wù)器端不能同步的情況,比如在認(rèn)證成功之后,確認(rèn)認(rèn)證成功的消息,在傳送中發(fā)生 丟失或者被截獲的情況,服務(wù)器端和客戶端則會(huì)出現(xiàn)認(rèn)證因子不同步的問(wèn)題。這時(shí),可 以通過(guò)同步操作來(lái)進(jìn)行更正。與傳統(tǒng)方法不同,該認(rèn)證方法分為兩級(jí),一是用戶與移動(dòng)設(shè)備的認(rèn)證,此項(xiàng)認(rèn) 證通過(guò)軟件實(shí)現(xiàn)用戶名與密碼的核實(shí)實(shí)現(xiàn),在基本不增加復(fù)雜程度的基礎(chǔ)上,能夠增強(qiáng) 認(rèn)證的安全性。發(fā)明主要針對(duì)第二級(jí)認(rèn)證,二級(jí)認(rèn)證是移動(dòng)設(shè)備與服務(wù)器的雙向身份認(rèn)證,在此認(rèn)證過(guò)程中,使用移動(dòng)設(shè)備特征性標(biāo)識(shí)(IMEI和IMSI)作為一次性因素的生成 因子。在認(rèn)證開始時(shí),服務(wù)器端用橢圓曲線加密算法產(chǎn)生客戶端、服務(wù)器端的公鑰和 私鑰,這較傳統(tǒng)公鑰算法效率更高。認(rèn)證口令傳輸時(shí),客戶端和服務(wù)器端分別用對(duì)方的公鑰加密,在另一方用私鑰 解密,避免了明文傳輸,且對(duì)隨機(jī)因子進(jìn)行了二次加密,提高了 口令傳輸?shù)陌踩?。?用散列函數(shù)生成隨機(jī)因子,可以避免了明文傳輸,而且能解決傳統(tǒng)身份認(rèn)證中散列次數(shù) 遞減作為隨機(jī)因子所帶來(lái)的哈希鏈長(zhǎng)度不夠問(wèn)題。在移動(dòng)設(shè)備與服務(wù)器相互認(rèn)證的過(guò)程中,采用服務(wù)端和客戶端迭代計(jì)算哈希 鏈,避免在認(rèn)證過(guò)程中一次性計(jì)算過(guò)長(zhǎng)哈希鏈而影響效率,更適用于運(yùn)算性能有限的移 動(dòng)終端設(shè)備。同時(shí),利用哈希鏈構(gòu)造一次性口令時(shí)加入服務(wù)計(jì)數(shù),避免針對(duì)已知散列函 數(shù)的小數(shù)攻擊。如果服務(wù)器與客戶端通信過(guò)程出現(xiàn)消息丟失等情況,IMEI和IMSI還可 以作為雙方同步的認(rèn)證因子。本發(fā)明具有如下安全性標(biāo)準(zhǔn)(1)抗小數(shù)攻擊在客戶端和服務(wù)器間的相互認(rèn)證已經(jīng)完成。在用戶注冊(cè)后, 客戶端發(fā)送OTPC = H(IMEI||IMSI||counter)給服務(wù)器端,服務(wù)器端通過(guò)計(jì)算OTPC,= H(IMEI||IMSI|Icounter)進(jìn)行認(rèn)證。同時(shí),客戶端進(jìn)行相同運(yùn)算。在此基礎(chǔ)上,將成功抵 御小數(shù)攻擊,即假冒服務(wù)器攻擊。(2)抗重放攻擊對(duì)于每一次新的登錄請(qǐng)求,系統(tǒng)都更新“計(jì)算器”。因?yàn)樗?有包含隨機(jī)數(shù)的信息都可以用來(lái)抵御欺騙服務(wù)器的重放攻擊。另一方面,保存在服務(wù)器 上的信息也可以抵御欺騙用戶的重放攻擊。假定一個(gè)攻擊者截取了先前的OTPC,他仍然 不能提取新的隨機(jī)數(shù)和IMEI、IMSI哈希后的結(jié)果。因此,他不能通過(guò)接下來(lái)的認(rèn)證。 本發(fā)明所提出的方法在身份鑒別過(guò)程中,開放網(wǎng)絡(luò)上傳輸?shù)挠煽蛻舳撕头?wù)器端產(chǎn)生的 隨機(jī)數(shù)都是經(jīng)過(guò)加密的,攻擊者即使截獲了傳輸?shù)膬?nèi)容,也不可能得到口令。由于每次 身份鑒別產(chǎn)生的隨機(jī)數(shù)是不同的,保證了每次傳輸?shù)纳矸蓁b別口令驗(yàn)證碼是不相同的, 即使截獲了傳輸?shù)男畔?,也很難實(shí)施重放攻擊。(3)抗假冒攻擊如果一個(gè)攻擊者想要偽裝成一個(gè)合法用戶,他需要偽造一個(gè) 登錄信息來(lái)通過(guò)服務(wù)器端的認(rèn)證。然而,他不能計(jì)算有效的OTPC,也就不能產(chǎn)生有效的 登錄請(qǐng)求。如果一個(gè)攻擊者想要偽裝成服務(wù)器端,他需要發(fā)送OTPS到客戶端。然后客 戶端將從數(shù)據(jù)庫(kù)提取已保存的隨機(jī)數(shù)和IMEI來(lái)驗(yàn)證OTPS的有效性。既然攻擊者沒(méi)有服 務(wù)器端的信息,他就無(wú)法計(jì)算Hash(COunter||IMEI||IMSI)來(lái)偽造有效的OTPS。(4)抗拒絕服務(wù)攻擊如果服務(wù)器沒(méi)有對(duì)新的身份鑒別信息進(jìn)行合法性檢查就 更新了數(shù)據(jù)庫(kù)中合法用戶的身份鑒別信息,這就會(huì)導(dǎo)致合法用戶的后續(xù)登錄請(qǐng)求被拒 絕。在本發(fā)明方法中,服務(wù)器端在對(duì)用戶身份鑒別通過(guò)的情況下已經(jīng)確保了作為用 戶下一次登錄的驗(yàn)證信息是可信的。因?yàn)榉?wù)器端通過(guò)本身存儲(chǔ)的數(shù)據(jù)計(jì)算OTPC’進(jìn) 行驗(yàn)證,既保證了信息的完整性,同時(shí)又被用于驗(yàn)證它的合法性,那么任何對(duì)中間信息 的未經(jīng)授權(quán)的更改都會(huì)被服務(wù)器檢測(cè)到,因而攻擊者很難通過(guò)篡改用戶認(rèn)合法的身份鑒 別響應(yīng)信息來(lái)實(shí)施拒絕服務(wù)攻擊。
      同時(shí),本方法是基于移動(dòng)設(shè)備的身份認(rèn)證方法,針對(duì)用戶終端設(shè)備容易遺失或 者仿制而引起的冒充合法用戶進(jìn)行認(rèn)證的安全性問(wèn)題,本方法引入了 IMEI和IMSI碼, 使得用戶本人在意外情況下,可以通過(guò)通信服務(wù)提供商隨時(shí)終止自己的合法身份,能夠 有效應(yīng)對(duì)丟失后合法身份信息被盜用的問(wèn)題。另一方面,本發(fā)明還提供了一種基于一次性口令的移動(dòng)終端身份認(rèn)證系統(tǒng)。參 照?qǐng)D5,該系統(tǒng)包括注冊(cè)模塊52、第一級(jí)認(rèn)證模塊54和第二級(jí)認(rèn)證模塊56。其中,注冊(cè)模塊52用于通過(guò)用戶注冊(cè)模塊確定所述ID、所述PW和所述OTP; 并且,所述OTP基于移動(dòng)設(shè)備特征性標(biāo)識(shí)生成,所述移動(dòng)設(shè)備特征性標(biāo)識(shí)包括移動(dòng)設(shè)備 識(shí)別碼IMEI和移動(dòng)用戶識(shí)別碼IMSI ;第一級(jí)認(rèn)證模塊54用于接收輸入移動(dòng)設(shè)備的用 戶身份標(biāo)識(shí)ID和用戶通行密語(yǔ)PW,對(duì)比ID、H(PW)與移動(dòng)設(shè)備中預(yù)先存儲(chǔ)的ID和 H(PW)是否一致,若不一致,提示用戶輸入有誤,請(qǐng)用戶重新輸入ID和PW;若一致, 執(zhí)行第二級(jí)認(rèn)證步驟;其中,H(PW)表示PW的哈希函數(shù);第二級(jí)認(rèn)證模塊56用于基 于一次性因素生成因子OTP、所述ID和所述PW進(jìn)行移動(dòng)設(shè)備與服務(wù)器間的雙向身份認(rèn) 證。上述實(shí)施例中通過(guò)第一級(jí)認(rèn)證模塊54和第二級(jí)認(rèn)證模塊56實(shí)現(xiàn)移動(dòng)終端身份認(rèn) 證。第一級(jí)認(rèn)證模塊54是用戶與移動(dòng)設(shè)備的認(rèn)證,此項(xiàng)認(rèn)證通過(guò)軟件實(shí)現(xiàn)用戶名與密碼 的核實(shí)實(shí)現(xiàn),在基本不增加復(fù)雜程度的基礎(chǔ)上,能夠增強(qiáng)認(rèn)證的安全性。發(fā)明主要針對(duì) 第二級(jí)認(rèn)證模塊56,該模塊實(shí)現(xiàn)移動(dòng)設(shè)備與服務(wù)器的雙向身份認(rèn)證,在此認(rèn)證過(guò)程中, 使用移動(dòng)設(shè)備特征性標(biāo)識(shí)(IMEI和IMSI)作為一次性因素的生成因子。參照?qǐng)D6,圖6為在一個(gè)實(shí)施例中的注冊(cè)模塊52的結(jié)構(gòu)框圖,包括請(qǐng)求單元 521、第一發(fā)送單元522和第一接收單元523。請(qǐng)求單元521,用于向服務(wù)器發(fā)出注冊(cè)請(qǐng) 求,接收并存儲(chǔ)服務(wù)器基于響應(yīng)該注冊(cè)請(qǐng)求所發(fā)送的橢圓曲線系統(tǒng)參數(shù)集ECC和服務(wù)器 端公鑰KSR;第一發(fā)送單元522,用于選取用戶端公鑰KUR和用戶端密鑰KUS后,發(fā)送 用所述KSR加密的(ID,H(PW),IMEI, IMSI, KUR)給服務(wù)器;第一接收單元523, 用于用于接收服務(wù)器發(fā)送的用KUR加密的初始生成因子OTPtl,并基于KUS解密后存 儲(chǔ);所述OTPtl用于形成所述第二級(jí)認(rèn)證步驟中的一次性因素生成因子OTP。其中,ID、PW和OTPtl通過(guò)如下方式確定服務(wù)器端用KSS解密收到的所述 (ID, H(PW), IMEI, IMSI, KUR),并驗(yàn)證ID是否已經(jīng)存在如果存在,則返回給 移動(dòng)設(shè)備注冊(cè)錯(cuò)誤信息,注冊(cè)結(jié)束;如果不存在,則所述ID和所述PW可用,同時(shí),服 務(wù)器端初始化Counter = 0,生成一次性因素生成因子OTPO = H(Counter]|IMEI||IMSI); 存儲(chǔ)所述ID和PW,并發(fā)送OTPtl至移動(dòng)設(shè)備;H (Ccmnterl |IMEI||IMSI)表示 Ccmnter||IMEI||IMSI的哈希函數(shù);并且,所述橢圓曲線系統(tǒng)參數(shù)集ECC為服務(wù)器端初始化 生成;服務(wù)器端公鑰KSR和服務(wù)器端密鑰KSS為服務(wù)器端自行選取。其中,Counter表 示計(jì)數(shù)器的數(shù)值,且Counter為整數(shù)且Countei^O。也就是說(shuō),Counter起到計(jì)數(shù)器的作 用,每次認(rèn)證,該計(jì)數(shù)器從零計(jì)起,不考慮上限?!皘|”代表連接運(yùn)算。參照?qǐng)D7,圖7為在一個(gè)實(shí)施例中的第二級(jí)認(rèn)證模塊56的結(jié)構(gòu)框圖,包括第 二發(fā)送單元561、服務(wù)器端驗(yàn)證單元562、同步判斷單元563、第三發(fā)送單元564和客戶端 驗(yàn)證單元565。其中,第二發(fā)送單元561用于發(fā)送用KSR加密的(ID,OTPC1, H(PW))給服務(wù)器端;其中,OTPC1是第i次認(rèn)證時(shí),服務(wù)器端驗(yàn)證客戶端身份的一次性因子, OTPC1 = H (OTPCm I [Counter);對(duì)于第一次登錄的用戶,OTPC1 = H(OTPC0) ; OTPC0 = OTPm服務(wù)器端驗(yàn)證單元562用于服務(wù)器端用KSS解密收到的上述信息,比較ID、 H(PW)是否與數(shù)據(jù)庫(kù)中的一致;若否,返回客戶端用戶驗(yàn)證出錯(cuò)信息;若是,服務(wù)器 端計(jì)算OTPC1' ; OTPC1' = H(OTPCV1IICaunter)。同步判斷單元563用于服務(wù)器對(duì)比 OTPC1'與存儲(chǔ)的OTPC1是否一致,若否,則向客戶端發(fā)出同步請(qǐng)求,進(jìn)行同步操作; 若是,繼續(xù)第三發(fā)送步驟。第三發(fā)送單元564,用于服務(wù)器端發(fā)送用KUR加密的OTPS1 和成功信息給客戶端;其中,OTps1 = H(OTpsHlICounter),對(duì)于第一次驗(yàn)證,OTPS1 =H(OTPS0),OTPS。= H(IMEI||Counter)。客戶端驗(yàn)證單元565,用于客戶端收到第三 發(fā)送步驟發(fā)送的信息后,用KUS解密,計(jì)算得到的OTPS1與OTPS1'是否相同,其中 OTPS1'與服務(wù)器端計(jì)算OTPS1的方法相同。即OTPS1' =H(OTPSM||Counter),對(duì)于第 一次驗(yàn)證,OTPS1 = H(OTPS0),OTPS0 = H(IMEI||Counter)。若 OTPS1 = OTPS1',則 認(rèn)證成功;否則認(rèn)證失敗,終止會(huì)話;客戶端和服務(wù)器端的Counter分別自增1。參照?qǐng)D8,圖8為在一個(gè)實(shí)施例中同步判斷單元563的結(jié)構(gòu)框圖,包括同步請(qǐng) 求單元5631、發(fā)送單元5632、服務(wù)器同步單元5633和客戶端處理單元5634。其中,同步 請(qǐng)求單元5631用于服務(wù)器向客戶端發(fā)出同步請(qǐng)求。發(fā)送單元5632用于客戶端將IMEI和 IMSI用KSR加密后傳送給服務(wù)器端。服務(wù)器同步單元5633用于服務(wù)器端用KSS解密, 獲取IMEI和IMSI,與本地存儲(chǔ)的進(jìn)行對(duì)比,若兩者均相同,則將OTPCV1,OTPSh, Counter用KUR加密后傳送給客戶端進(jìn)行同步??蛻舳颂幚韱卧?634用于客戶端收到以 上信息,用KUS解密后存儲(chǔ)在客戶端,完成同步階段。以上對(duì)本發(fā)明基于一次性口令的移動(dòng)終端身份認(rèn)證系統(tǒng)進(jìn)行了簡(jiǎn)單說(shuō)明?;?一次性口令的移動(dòng)終端身份認(rèn)證系統(tǒng)與基于一次性口令的移動(dòng)終端身份認(rèn)證方法原理相 同,相關(guān)之處互相參照即可,不再贅述。以上對(duì)本發(fā)明所提供的一種基于一次性口令的移動(dòng)終端身份認(rèn)證方法和系統(tǒng)進(jìn) 行詳細(xì)介紹,本發(fā)明中應(yīng)用了具體實(shí)施例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上 實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般 技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
      及應(yīng)用范圍上均會(huì)有改變之處。綜上所 述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
      權(quán)利要求
      1.一種基于一次性口令的移動(dòng)終端身份認(rèn)證方法,其特征在于,包括如下步驟第一級(jí)認(rèn)證步驟,接收輸入移動(dòng)設(shè)備的用戶身份標(biāo)識(shí)ID和用戶通行密語(yǔ)PW,對(duì)比ID、H(PW)與移動(dòng)設(shè)備中預(yù)先存儲(chǔ)的ID和H(PW)是否一致,若不一致,提示用戶輸入 有誤,請(qǐng)用戶重新輸入ID和PW;若一致,執(zhí)行第二級(jí)認(rèn)證步驟;其中,H(PW)表示 PW的哈希函數(shù);第二級(jí)認(rèn)證步驟,基于一次性因素生成因子OTP、所述ID和所述PW進(jìn)行移動(dòng)設(shè)備 與服務(wù)器間的雙向身份認(rèn)證;其中,所述ID、所述PW和所述OTP通過(guò)用戶注冊(cè)過(guò)程確定;并且,所述OTP基于 移動(dòng)設(shè)備特征性標(biāo)識(shí)生成,所述移動(dòng)設(shè)備特征性標(biāo)識(shí)包括移動(dòng)設(shè)備識(shí)別碼IMEI和移動(dòng)用 戶識(shí)別碼IMSI。
      2.根據(jù)權(quán)利要求1所述的移動(dòng)終端身份認(rèn)證方法,其特征在于,通過(guò)用戶注冊(cè)過(guò)程確 定所述ID、所述PW和所述OTP進(jìn)一步包括請(qǐng)求步驟,向服務(wù)器發(fā)出注冊(cè)請(qǐng)求,接收并存儲(chǔ)服務(wù)器基于響應(yīng)該注冊(cè)請(qǐng)求所發(fā)送 的橢圓曲線系統(tǒng)參數(shù)集ECC和服務(wù)器端公鑰KSR ;第一發(fā)送步驟,選取用戶端公鑰KUR和用戶端密鑰KUS后,發(fā)送用所述KSR加密 的(ID,H (PW),IMEI,IMSI,KUR)給服務(wù)器;第一接收步驟,用于接收服務(wù)器發(fā)送的用KUR加密的初始生成因子OTPtl,并基 于KUS解密后存儲(chǔ);所述OTPtl用于形成所述第二級(jí)認(rèn)證步驟中的一次性因素生成因子 OTP ;其中,ID、PW和OTPtl通過(guò)如下方式確定服務(wù)器端用KSS解密收到的所述 (ID, H(PW), IMEI, IMSI,KUR),并驗(yàn)證ID是否已經(jīng)存在如果存在,則返回 給移動(dòng)設(shè)備注冊(cè)錯(cuò)誤信息,注冊(cè)結(jié)束;如果不存在,則所述ID和所述PW可用,同 時(shí),服務(wù)器端對(duì)Counter進(jìn)行初始化,令Counter = 0,生成一次性因素生成因子OTPtl =H (Counter)|IMEI||IMSI);存儲(chǔ)所述ID和PW,并發(fā)送OTP0至移動(dòng)設(shè)備;其中, H (Counter]|IMEI||IMSI)表示 Counterl|IMEI||IMSI 的哈希函數(shù);“||” 表示邏輯或運(yùn)算; Counter表示計(jì)數(shù)器的數(shù)值,其取值為不小于零的整數(shù);并且,所述橢圓曲線系統(tǒng)參數(shù)集ECC為服務(wù)器端初始化生成;服務(wù)器端公鑰KSR和 服務(wù)器端密鑰KSS為服務(wù)器端自行選取。
      3.根據(jù)權(quán)利要求2所述的移動(dòng)終端身份認(rèn)證方法,其特征在于,所述第二級(jí)認(rèn)證步驟 進(jìn)一步包括第二發(fā)送步驟,發(fā)送用KSR加密的(ID,OTPC1, H(PW))給服務(wù)器端;其 中,OTPC1是第i次認(rèn)證時(shí),服務(wù)器端驗(yàn)證客戶端身份的一次性因子,OTPC1 = H (OTPCm I [Counter);對(duì)于第一次登錄的用戶,OTPC1 = H(OTPC0) ; OTPC0 = OTP0 ; 其中,H (OTPC1-IICounter)表示 OTPCV11|Counter 的哈希函數(shù);H (OTPC0)表示 0TPC。的哈希函數(shù);服務(wù)器端驗(yàn)證步驟,服務(wù)器端用KSS解密收到的上述信息,比較ID、H(PW)是 否與數(shù)據(jù)庫(kù)中的一致;若否,返回客戶端用戶驗(yàn)證出錯(cuò)信息;若是,服務(wù)器端計(jì)算 OTPC1' ; OTPC1' = H(OTpC1^IlCounter);同步判斷步驟,服務(wù)器對(duì)比OTPC1'與存儲(chǔ)的OTPC1是否一致,若否,則向客戶端發(fā)出同步請(qǐng)求,進(jìn)行同步操作;若是,繼續(xù)第三發(fā)送步驟;第三發(fā)送步驟,服務(wù)器端發(fā)送用KUR加密的OTPS1和成功信息給客戶端;其 中,OTPS1 = H (OTPSm I (Counter),對(duì)于第一次驗(yàn)證,OTPS1 = H(OTPS0),OTPS0 =H (IMEI||Counter);其中,H (OTPSh|!Counter)表示 OTPS^IlCounter 的哈希函數(shù); H (OTPS0)表示 OTPStl 的哈希函數(shù);H (IMEI||Counter)表示 IMEI||Counter 的哈希函數(shù);客戶端驗(yàn)證步驟,客戶端收到第三發(fā)送步驟發(fā)送的信息后,用KUS解密,計(jì)算得到 的 OTPS1;計(jì)算 OTPS1',OTPS1' = H (OTPSm I [Counter),對(duì)于第一次驗(yàn)證,OTPS1 = H(OTPS0), OTPS0 = H(IMEIllCounter);判斷 OTPS1 與 OTPS1'是否相同,若相同,貝Ij 認(rèn)證成功;否則認(rèn)證失敗,終止會(huì)話;客戶端和服務(wù)器端的Counter分別自增1。
      4.根據(jù)權(quán)利要求3所述的移動(dòng)終端身份認(rèn)證方法,其特征在于,所述同步判斷步驟 中,所述同步操作進(jìn)一步包括服務(wù)器向客戶端發(fā)出同步請(qǐng)求; 客戶端將IMEI和IMSI用KSR加密后傳送給服務(wù)器端;服務(wù)器端用KSS解密,獲取IMEI和IMSI,與本地存儲(chǔ)的進(jìn)行對(duì)比,若兩者均相同, 則將OTPCV1,OTPSh,Counter用KUR加密后傳送給客戶端進(jìn)行同步; 客戶端收到以上信息,用KUS解密后存儲(chǔ)在客戶端,同步階段完成。
      5.—種基于一次性口令的移動(dòng)終端身份認(rèn)證系統(tǒng),其特征在于,包括注冊(cè)模塊,用于通過(guò)用戶注冊(cè)模塊確定所述ID、所述PW和所述OTP;并且,所述 OTP基于移動(dòng)設(shè)備特征性標(biāo)識(shí)生成,所述移動(dòng)設(shè)備特征性標(biāo)識(shí)包括移動(dòng)設(shè)備識(shí)別碼IMEI 和移動(dòng)用戶識(shí)別碼IMSI ;第一級(jí)認(rèn)證模塊,用于接收輸入移動(dòng)設(shè)備的用戶身份標(biāo)識(shí)ID和用戶通行密語(yǔ)PW, 對(duì)比ID、H(PW)與移動(dòng)設(shè)備中預(yù)先存儲(chǔ)的ID和H(PW)是否一致,若不一致,提示用戶 輸入有誤,請(qǐng)用戶重新輸入ID和PW;若一致,執(zhí)行第二級(jí)認(rèn)證步驟;其中,H(PW)表 示PW的哈希函數(shù);第二級(jí)認(rèn)證模塊,用于基于一次性因素生成因子OTP、所述ID和所述PW進(jìn)行移動(dòng) 設(shè)備與服務(wù)器間的雙向身份認(rèn)證。
      6.根據(jù)權(quán)利要求5所述的移動(dòng)終端身份認(rèn)證系統(tǒng),其特征在于,所述注冊(cè)模塊包括請(qǐng)求單元,用于向服務(wù)器發(fā)出注冊(cè)請(qǐng)求,接收并存儲(chǔ)服務(wù)器基于響應(yīng)該注冊(cè)請(qǐng)求所 發(fā)送的橢圓曲線系統(tǒng)參數(shù)集ECC和服務(wù)器端公鑰KSR ;第一發(fā)送單元,用于選取用戶端公鑰KUR和用戶端密鑰KUS后,發(fā)送用所述KSR 加密的(ID,H(PW),IMEI, IMSI, KUR)給服務(wù)器;第一接收單元,用于接收服務(wù)器發(fā)送的用KUR加密的初始生成因子OTPtl,并基 于KUS解密后存儲(chǔ);所述OTPtl用于形成所述第二級(jí)認(rèn)證步驟中的一次性因素生成因子 OTP ;其中,ID、PW和OTPtl通過(guò)如下方式確定服務(wù)器端用KSS解密收到的所述 (ID, H(PW), IMEI, IMSI, KUR),并驗(yàn)證ID是否已經(jīng)存在如果存在,則返回 給移動(dòng)設(shè)備注冊(cè)錯(cuò)誤信息,注冊(cè)結(jié)束;如果不存在,則所述ID和所述PW可用,同 時(shí),服務(wù)器端對(duì)Counter進(jìn)行初始化,令Counter = 0,生成一次性因素生成因子OTPtl=H (Counter)|IMEI||IMSI);存儲(chǔ)所述ID和PW,并發(fā)送OTP0至移動(dòng)設(shè)備;其中, H(Counter]|IMEI||IMSI)表示 Counter||IMEI||IMSI 的哈希函數(shù);“||” 表示邏輯或運(yùn)算; Counter表示計(jì)數(shù)器的數(shù)值,其取值為不小于零的整數(shù);并且,所述橢圓曲線系統(tǒng)參數(shù)集ECC為服務(wù)器端初始化生成;服務(wù)器端公鑰KSR和 服務(wù)器端密鑰KSS為服務(wù)器端自行選取。
      7.根據(jù)權(quán)利要求6所述的移動(dòng)終端身份認(rèn)證系統(tǒng),其特征在于,所述第二級(jí)認(rèn)證模塊 進(jìn)一步包括第二發(fā)送單元,用于發(fā)送用KSR加密的(ID,OTPC1, H(PW))給服務(wù)器端; 其中,OTPC1是第i次認(rèn)證時(shí),服務(wù)器端驗(yàn)證客戶端身份的一次性因子,OTPC1 = H (OTPCm I [Counter);對(duì)于第一次登錄的用戶,OTPC1 = H(OTPC0) ; OTPC0 = OTP0 ; 其中,H(OTpCV1IlCounter)表示 OTPQ—JlCounter 的哈希函數(shù);H(OTPCtl)表示 0TPC。的哈希函數(shù);服務(wù)器端驗(yàn)證單元,用于服務(wù)器端用KSS解密收到的上述信息,比較ID、H(PW) 是否與數(shù)據(jù)庫(kù)中的一致;若否,返回客戶端用戶驗(yàn)證出錯(cuò)信息;若是,服務(wù)器端計(jì)算 OTPC1' ; OTPC1' = H(OTPC-l||Counter);同步判斷單元,用于服務(wù)器對(duì)比OTPC1'與存儲(chǔ)的OTPC1是否一致,若否,則向客 戶端發(fā)出同步請(qǐng)求,進(jìn)行同步操作;若是,繼續(xù)第三發(fā)送步驟;第三發(fā)送單元,用于服務(wù)器端發(fā)送用KUR加密的OTPSjn成功信息給客戶端;其 中,OTps1 = H(OTpsHllCounter),對(duì)于第一次驗(yàn)證,OTPS1 = H(OTPSci), OTPS0 = H(IMEI||Counter);其中,H(OTPS^IlCounter)表示 OTPS^IlCounter 的哈希函數(shù);H(OTPS0)表示 OTPStl 的哈希函數(shù);H(IMEI||Counter)表示 IMEI||Counter 的哈希函數(shù);客戶端驗(yàn)證單元,用于客戶端收到第三發(fā)送步驟發(fā)送的信息后,用KUS解密,計(jì)算 得到的OTPS1;計(jì)算OTPS1',OTPS1' = H(OTPSM||Counter),對(duì)于第一次驗(yàn)證,OTPS1 = H (OTPS0),OTPS0 = H (IMEI||Counter);判斷 OTPS1 與 OTPS1'是否相同,若相同,則認(rèn)證成功;否則認(rèn)證失敗,終止會(huì)話;客戶端和服務(wù)器端的Counter分別自增1.
      8.根據(jù)權(quán)利要求7所述的移動(dòng)終端身份認(rèn)證系統(tǒng),其特征在于,所述同步判斷單元中 進(jìn)一步包括用于服務(wù)器向客戶端發(fā)出同步請(qǐng)求的子單元; 用于客戶端將IMEI和IMSI用KSR加密后傳送給服務(wù)器端的子單元; 用于服務(wù)器端用KSS解密,獲取IMEI和IMSI,與本地存儲(chǔ)的進(jìn)行對(duì)比,若兩者均相 同,則將OTPC1-I, OTPS1-I, Counter用KUR加密后傳送給客戶端進(jìn)行同步的子單元; 用于客戶端收到以上信息,用KUS解密后存儲(chǔ)在客戶端,完成同步階段的子單元。
      全文摘要
      本發(fā)明公開了一種基于一次性口令的移動(dòng)終端身份認(rèn)證方法和系統(tǒng)。該方法包括接收輸入移動(dòng)設(shè)備的用戶身份標(biāo)識(shí)ID和用戶通行密語(yǔ)PW,對(duì)比ID、H(PW)與移動(dòng)設(shè)備中預(yù)先存儲(chǔ)的ID和H(PW)是否一致,若不一致,提示用戶輸入有誤,請(qǐng)用戶重新輸入ID和PW;若一致,執(zhí)行第二級(jí)認(rèn)證步驟;其中,H(PW)表示PW的哈希函數(shù);基于一次性因素生成因子OTP、所述ID和所述PW進(jìn)行移動(dòng)設(shè)備與服務(wù)器間的雙向身份認(rèn)證。本發(fā)明對(duì)OTP思想進(jìn)行改進(jìn),保留技術(shù)優(yōu)勢(shì)的前提下,實(shí)現(xiàn)用戶和服務(wù)器的雙向認(rèn)證,在不增加系統(tǒng)復(fù)雜程度的基礎(chǔ)上,增強(qiáng)認(rèn)證的安全性。
      文檔編號(hào)H04L9/32GK102026195SQ20101059445
      公開日2011年4月20日 申請(qǐng)日期2010年12月17日 優(yōu)先權(quán)日2010年12月17日
      發(fā)明者華蕊, 尚小溥, 張潤(rùn)彤, 朱曉敏, 李丹丹, 楊澤東, 谷秀君 申請(qǐng)人:北京交通大學(xué)
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1