亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

進(jìn)行認(rèn)證的方法、系統(tǒng)、服務(wù)器及終端的制作方法

文檔序號(hào):7667568閱讀:99來(lái)源:國(guó)知局
專利名稱:進(jìn)行認(rèn)證的方法、系統(tǒng)、服務(wù)器及終端的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種使用數(shù)據(jù)同步(DS, Data Synchronization)協(xié)議和設(shè)備管理(DM, Device Management)協(xié)議進(jìn)行認(rèn)證 的方法、系統(tǒng)、服務(wù)器及終端。
背景技術(shù)
同步才示i己i吾言(SyncML, Synchronization Mark-up Language)是為了實(shí) 現(xiàn)多個(gè)平臺(tái)及網(wǎng)絡(luò)之間個(gè)人信息及企業(yè)內(nèi)數(shù)據(jù)的同步而開(kāi)發(fā)出的協(xié)議,其定 義了參與操作的實(shí)體之間使用的一系列操作,同時(shí)定義了承載這些操作的一 套消息格式?;赟yncML,開(kāi)放行動(dòng)通訊聯(lián)盟(OMA, Open Mobile Alliance ) 開(kāi)發(fā)了 DS和DM十辦i義。
其中,DS可以在多個(gè)平臺(tái)及網(wǎng)絡(luò)之間實(shí)現(xiàn)個(gè)人信息及企業(yè)內(nèi)數(shù)據(jù)的同步。 DS通常應(yīng)用于移動(dòng)設(shè)備或應(yīng)用服務(wù)器、與網(wǎng)絡(luò)服務(wù)器之間的數(shù)據(jù)同步,或兩 臺(tái)PC之間的數(shù)據(jù)同步。
DM是一種通過(guò)空中下載技術(shù)(OTA, Over The Air)將管理指令數(shù)據(jù)從 網(wǎng)絡(luò)側(cè)下載到終端設(shè)備上,并由終端設(shè)備自動(dòng)運(yùn)行,進(jìn)而完成終端軟硬件升 級(jí)、配置、診斷等的低成本遠(yuǎn)程管理解決方案,同時(shí)DM還可以將運(yùn)營(yíng)商需 要的業(yè)務(wù)信息和終端設(shè)備的功能信息等從終端設(shè)備傳遞到服務(wù)器側(cè),以支持 其它業(yè)務(wù)的開(kāi)展。
在DS和DM協(xié)議中使用了相似的安全認(rèn)證機(jī)制,來(lái)實(shí)現(xiàn)對(duì)服務(wù)器 (Server)及終端(Client)身份的有效認(rèn)證,其認(rèn)證流程如圖1所示
步驟IOI、服務(wù)器發(fā)送用于觸發(fā)會(huì)話的觸發(fā)(Trigger)消息至終端。
該觸發(fā)消息中攜帶有使用服務(wù)器隨機(jī)數(shù)(s_nonce )生成的摘要(Digest )、 和觸發(fā)信息(Triggerlnfo )。該觸發(fā)消息可以由SMS或其它Push消息承載。
s nonce為終端生成的隨機(jī)數(shù)(nonce),供服務(wù)器使用。
13步驟102、終端發(fā)送會(huì)話請(qǐng)求消息至服務(wù)器。
終端收到Trigger消息后,使用保存的s_nonce生成Digest信息對(duì)該Trigger 消息進(jìn)行認(rèn)證,認(rèn)證通過(guò),則發(fā)送會(huì)話請(qǐng)求消息至服務(wù)器,發(fā)起會(huì)話。
該會(huì)話請(qǐng)求消息中攜帶有會(huì)話標(biāo)識(shí)(SessionID )、和終端的認(rèn)證信息 (Authenticate),該認(rèn)證信息為使用終端隨機(jī)數(shù)(c—nonce)生成的Digest。
c一nonce為服務(wù)器生成的nonce,供終端使用。
從本步驟開(kāi)始終端與服務(wù)器正式建立會(huì)話連接。
步驟103、服務(wù)器返回包含認(rèn)證結(jié)果和認(rèn)證請(qǐng)求的應(yīng)答消息。
包含認(rèn)證結(jié)果和服務(wù)器認(rèn)證請(qǐng)求的應(yīng)答消息。
該應(yīng)答消息攜帶有服務(wù)器對(duì)終端的身份認(rèn)證結(jié)果、SessionID、服務(wù)器 的Authenticate, 該Authenticate為j吏用s—nonce生成的Digest。
步驟104、終端返回包含認(rèn)證結(jié)果的消息至服務(wù)器。
終端根據(jù)服務(wù)器發(fā)送來(lái)的Authenticate對(duì)服務(wù)器進(jìn)行認(rèn)證,然后向服務(wù)器 返回包含認(rèn)證結(jié)果的消息。
該消息攜帶有終端對(duì)服務(wù)器的身份認(rèn)證結(jié)果、及其他相關(guān)信息。
如果服務(wù)器對(duì)終端的身份認(rèn)證失敗、或終端對(duì)服務(wù)器的身份認(rèn)證失敗, 例如密碼錯(cuò)誤、或nonce值錯(cuò)誤,則服務(wù)器或者終端可以直接向?qū)Ψ桨l(fā)起質(zhì)詢 (challenge)請(qǐng)求重新認(rèn)證。
當(dāng)服務(wù)器獲知其在Trigger消息中使用的s_nonce錯(cuò)誤時(shí),例如服務(wù)器發(fā) 出的多次的Trigger消息都沒(méi)有得到終端的正?;貞?yīng),則服務(wù)器可以認(rèn)為其使 用的s—nonce錯(cuò)誤,則使用 一個(gè)值為0x00000000的缺省nonce生成Trigger消 息的Digest,終端在使用s—nonce生成的Digest對(duì)Trigger消息進(jìn)ffiU正失敗 后使用缺省nonce生成Digest對(duì)該Trigger消息再進(jìn)行認(rèn)i正,如果認(rèn)i正通過(guò)則 使用缺省nonce進(jìn)行服務(wù)器和終端的身份認(rèn)證,隨后對(duì)s_nonce和c_nonce進(jìn) 行重新更新,更新流程如圖2所示步驟201、服務(wù)器發(fā)送用于觸發(fā)會(huì)話的Trigger消息至終端。
服務(wù)器判斷其之前使用的s—nonce錯(cuò)誤后,使用缺省nonce值生成Trigger 消息發(fā)送到終端,該Trigger消息中攜帶有使用缺省nonce值生成的Digest、 和Triggerlnfo。
步驟202、終端對(duì)該Trigger消息認(rèn)證失敗,使用缺省nonce值重新認(rèn)證。
終端收到Trigger消息后,使用保存的s—nonce對(duì)該Trigger消息進(jìn)行認(rèn)證, 當(dāng)由于某種原因認(rèn)證失敗時(shí),終端使用缺省nonce值對(duì)該Trigger消息重新進(jìn) 行認(rèn)證。
若認(rèn)證通過(guò),說(shuō)明服務(wù)器之前使用的s—nonce錯(cuò)誤,終端向服務(wù)器發(fā)送會(huì) 話請(qǐng)求消息。
步驟203、終端發(fā)送會(huì)話請(qǐng)求消息至服務(wù)器。
終端使用缺省nonce值認(rèn)證通過(guò)后,發(fā)送會(huì)話請(qǐng)求消息至服務(wù)器,發(fā)起會(huì)話。
該會(huì)話請(qǐng)求消息中攜帶有SessionID、使用缺省nonce值生成的Digest。
步驟204、服務(wù)器返回包含認(rèn)證結(jié)果、認(rèn)證請(qǐng)求和c—nonce更新命令的應(yīng) 答消息。
服務(wù)器使用缺省nonce值對(duì)終端進(jìn)行認(rèn)證,然后向終端返回包含認(rèn)證結(jié)果 和認(rèn)證請(qǐng)求的應(yīng)答消息。
該應(yīng)答消息攜帶有服務(wù)器對(duì)終端的身份認(rèn)證結(jié)果、c_nonce更新命令、 及使用缺省nonce值生成的Digest。
步驟205、終端返回包含認(rèn)證結(jié)果及s—nonce更新命令的消息至服務(wù)器。
終端使用缺省nonce值對(duì)服務(wù)器進(jìn)行認(rèn)證,認(rèn)證通過(guò)更新c_nonce,然后 向服務(wù)器返回包含認(rèn)證結(jié)果及s—nonce更新命令的消息。
步驟206、服務(wù)器返回s_nonce更新結(jié)果至終端。
在對(duì)現(xiàn)有技術(shù)的研究和實(shí)踐過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)存在以下問(wèn)題 在處理s_nonce錯(cuò)誤時(shí)使用缺省nonce進(jìn)行認(rèn)證,由于缺省nonce是一個(gè)公開(kāi)的固定不變的值,惡意服務(wù)器在截獲使用缺省nonce的消息后,可以重復(fù) 發(fā)送該消息攻擊服務(wù)器或終端。 '
現(xiàn)有技術(shù)中的一個(gè)會(huì)話當(dāng)中使用了兩個(gè)nonce: snonce和c—nonce,其分 別由終端、服務(wù)器生成并更新,終端、服務(wù)器的管理負(fù)擔(dān)較重。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例要解決的技術(shù)問(wèn)題是提供一種使用數(shù)據(jù)同步協(xié)議或設(shè)備管 理協(xié)議進(jìn)行認(rèn)證的方法、系統(tǒng)、服務(wù)器及終端,以對(duì)使用DS和DM協(xié)議的終 端和服務(wù)器之間的認(rèn)證過(guò)程進(jìn)行有效優(yōu)化。
為解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例一方面,提供了一種使用數(shù)據(jù)同步 協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證的方法,所述方法包括
服務(wù)器使用觸發(fā)消息隨機(jī)數(shù)生成觸發(fā)消息,并將所述使用觸發(fā)消息隨機(jī) 數(shù)生成的觸發(fā)消息發(fā)送到終端;以使所述終端可以提取所述觸發(fā)消息隨機(jī)數(shù), 在確認(rèn)所述觸發(fā)消息隨機(jī)數(shù)有效時(shí),使用所述觸發(fā)消息隨機(jī)數(shù)生成摘要對(duì)所 述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息進(jìn)行認(rèn)證,在認(rèn)證通過(guò)后,向所述觸 發(fā)消息指示的服務(wù)器發(fā)起會(huì)話請(qǐng)求。
另 一方面,提供了 一種使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證的方 法,所述方法包括
終端獲知需要更新服務(wù)器隨機(jī)數(shù);
生成新的服務(wù)器隨機(jī)數(shù),并將所述新的服務(wù)器隨機(jī)數(shù)攜帶在會(huì)話請(qǐng)求消 息中,發(fā)送到所述服務(wù)器,以使所述服務(wù)器可以在收到所述攜帶有新的服務(wù) 器隨機(jī)數(shù)的會(huì)話請(qǐng)求消息時(shí),使用所述新的服務(wù)器隨機(jī)數(shù)更新自身保存的服 務(wù)器隨機(jī)數(shù)。
另 一方面,提供了 一種使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證的方 法,所述方法包括
終端接收服務(wù)器發(fā)送的使用缺省隨機(jī)數(shù)生成的觸發(fā)消息;
所述終端在收到所述觸發(fā)消息后,首先使用服務(wù)器隨機(jī)數(shù)認(rèn)證所述觸發(fā) 消息,在認(rèn)證失敗后再使用缺省隨機(jī)數(shù)認(rèn)證觸發(fā)消息,在認(rèn)證通過(guò)后,使用缺省隨機(jī)數(shù)生成會(huì)話請(qǐng)求消息請(qǐng)求會(huì)話,在會(huì)話中發(fā)送新的服務(wù)器隨機(jī)數(shù)到 所述服務(wù)器,使所迷服務(wù)器更新服務(wù)器隨機(jī)數(shù),并接收服務(wù)器發(fā)送的使用缺 省隨機(jī)數(shù)生成的認(rèn)證信息以認(rèn)證服務(wù)器身份,并接收服務(wù)器發(fā)送的更新終端 隨機(jī)數(shù)的命令以更新終端隨機(jī)數(shù)。
并在更新所述服務(wù)器隨機(jī)數(shù)和終端隨機(jī)數(shù)后更新服務(wù)器密碼和終端密碼。
另 一方面,提供了 一種使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證的方
法,所述方法包括
服務(wù)器在收到終端使用缺省隨機(jī)數(shù)生成的會(huì)話請(qǐng)求消息,會(huì)話使用了應(yīng)
發(fā)消息給所述終端,且使用缺省隨機(jī)數(shù)對(duì)所述會(huì)話請(qǐng)求消息進(jìn)行認(rèn)證通過(guò)時(shí), 向所述終端返回包含認(rèn)證結(jié)果和終端隨機(jī)數(shù)更新命令的應(yīng)答消息。
另 一方面,提供了 一種使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證的方 法,所述方法包括
終端接收服務(wù)器發(fā)送的使用缺省隨機(jī)數(shù)生成的觸發(fā)消息;
所述終端在收到所述觸發(fā)消息后,首先使用服務(wù)器隨機(jī)數(shù)認(rèn)證所述觸發(fā) 消息,在認(rèn)證失敗后再使用缺省隨機(jī)數(shù)認(rèn)證觸發(fā)消息,在認(rèn)證通過(guò)后,使用 終端隨機(jī)數(shù)生成會(huì)話請(qǐng)求消息發(fā)送到服務(wù)器,并發(fā)送新的服務(wù)器隨機(jī)數(shù)到所
另 一方面,提供了 一種使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證的系 統(tǒng),所述系統(tǒng)包括
服務(wù)器,用于使用觸發(fā)消息隨機(jī)數(shù)生成觸發(fā)消息,并發(fā)送所述使用觸發(fā) 消息隨機(jī)數(shù)生成的觸發(fā)消息;
終端,用于接收所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息,提取所述觸 發(fā)消息隨機(jī)數(shù),在確認(rèn)所述觸發(fā)消息隨機(jī)數(shù)有效時(shí),使用所述觸發(fā)消息隨機(jī) 數(shù)生成摘要對(duì)所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息進(jìn)行認(rèn)證,在認(rèn)證通 過(guò)后,向所述觸發(fā)消息指示的服務(wù)器發(fā)起會(huì)話請(qǐng)求。另一方面,提供了一種服務(wù)器,所述服務(wù)器包括
第一生成單元,用于使用觸發(fā)消息隨機(jī)數(shù)生成符合數(shù)據(jù)同步協(xié)議或設(shè)備
管理協(xié)議規(guī)范的觸發(fā)消息;
發(fā)送單元,用于發(fā)送所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息到終端, 以使所述終端可以提取所述觸發(fā)消息隨機(jī)數(shù),在確認(rèn)所述觸發(fā)消息隨機(jī)數(shù)有 效時(shí),使用所述觸發(fā)消息隨機(jī)數(shù)對(duì)所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息 進(jìn)行認(rèn)證,在認(rèn)證通過(guò)后,向所述觸發(fā)消息指示的服務(wù)器發(fā)起會(huì)話請(qǐng)求。
另一方面,提供了一種終端,所述終端包括
接收單元,用于接收所述服務(wù)器使用觸發(fā)消息隨機(jī)數(shù)生成的符合數(shù)據(jù)同 步協(xié)議或設(shè)備管理協(xié)議規(guī)范的觸發(fā)消息;
第一認(rèn)證單元,用于提取所述觸發(fā)消息隨機(jī)數(shù),在確認(rèn)所述觸發(fā)消息隨 機(jī)數(shù)有效時(shí),使用所述觸發(fā)消息隨機(jī)數(shù)生成摘要對(duì)所述使用觸發(fā)消息隨機(jī)數(shù) 生成的觸發(fā)消息進(jìn)行認(rèn)證,在認(rèn)證通過(guò)后,向所述觸發(fā)消息指示的服務(wù)器發(fā) 起會(huì)話請(qǐng)求。
另一方面,提供了一種終端,所述終端包括
獲知單元,用于獲知需要更新服務(wù)器隨機(jī)數(shù);
第一生成單元,用于生成新的服務(wù)器隨機(jī)數(shù),并將所述新的服務(wù)器隨機(jī) 數(shù)攜帶在會(huì)話請(qǐng)求消息中,發(fā)送到所述服務(wù)器,以使所述服務(wù)器可以在收到 所述攜帶有新的服務(wù)器隨機(jī)數(shù)的會(huì)話請(qǐng)求時(shí),使用所述新的服務(wù)器隨機(jī)數(shù)更 新自身保存的服務(wù)器隨機(jī)數(shù)。
另一方面,提供了一種終端,所述終端包括
接收單元,用于接收服務(wù)器發(fā)送的使用缺省隨機(jī)數(shù)生成的符合數(shù)據(jù)同步 協(xié)議或設(shè)備管理協(xié)議規(guī)范的觸發(fā)消息;
生成單元,用于在收到所述觸發(fā)消息后,首先使用服務(wù)器隨機(jī)數(shù)認(rèn)證所 述觸發(fā)消息,在認(rèn)證失敗后再使用缺省隨機(jī)數(shù)認(rèn)證觸發(fā)消息,在認(rèn)證通過(guò)后, 使用終端隨機(jī)數(shù)生成會(huì)話請(qǐng)求發(fā)送到服務(wù)器,并生成新的服務(wù)器隨機(jī)數(shù),發(fā) 送到所述服務(wù)器,使所述服務(wù)器使用所述新的服務(wù)器隨機(jī)數(shù)更新服務(wù)器隨機(jī)數(shù)。
通過(guò)應(yīng)用以上的技術(shù)方案,可以有效提高系統(tǒng)的安全性。
本發(fā)明實(shí)施例另 一方面,提供了 一種使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議
進(jìn)4tiU正的方法,所述方法包4舌 終端接收服務(wù)器發(fā)送的觸發(fā)消息;
所述終端在收到所述觸發(fā)消息后,提取其攜帶的認(rèn)證信息對(duì)所述服務(wù)器 進(jìn)行認(rèn)證;
認(rèn)證通過(guò)后,終端使用服務(wù)器及終端共用隨機(jī)數(shù)生成會(huì)話請(qǐng)求,并發(fā)送 到所述服務(wù)器;
以使所述服務(wù)器可以在收到所述會(huì)話請(qǐng)求后,使用所述共用隨機(jī)數(shù)對(duì)所 述終端進(jìn)行認(rèn)證;
所述終端在收到所述服務(wù)器攜帶有使用所述共用隨機(jī)數(shù)生成的認(rèn)證信息 應(yīng)答消息后,使用所述共用隨機(jī)數(shù)對(duì)所述服務(wù)器進(jìn)行認(rèn)證。 另一方面,提供了一種服務(wù)器,所述服務(wù)器包括
觸發(fā)單元,用于生成符合數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議M^范的觸發(fā)消息, 并發(fā)送到終端,以使所述終端在收到所述觸發(fā)消息后,對(duì)所述觸發(fā)消息進(jìn)行 認(rèn)證;
接收單元,用接收終端返回的使用服務(wù)器及終端共用隨機(jī)數(shù)生成的會(huì)話 請(qǐng)求;
認(rèn)證單元,用于使用所述共用隨機(jī)數(shù)對(duì)所述會(huì)話請(qǐng)求進(jìn)行認(rèn)證;
生成單元,用于在對(duì)所述會(huì)話請(qǐng)求認(rèn)證通過(guò)后,使用所述共用隨機(jī)數(shù)生 成應(yīng)答消息,并發(fā)送到所述終端,以使所述終端在收到所述應(yīng)答消息后,使 用所述共用隨機(jī)數(shù)對(duì)所述應(yīng)答消息進(jìn)行認(rèn)證。
另一方面,提供了一種終端,所述終端包括
接收單元,用于接收服務(wù)器發(fā)送的符合數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議規(guī) 范的觸發(fā)消息;
19第一認(rèn)證單元,用于在收到所述觸發(fā)消息后,對(duì)所述觸發(fā)消息進(jìn)行認(rèn)證;
生成單元,用于在認(rèn)證通過(guò)后,使用服務(wù)器及終端共用隨機(jī)數(shù)生成會(huì)話 請(qǐng)求,并發(fā)送到所述服務(wù)器,以使所述服務(wù)器可以在收到所述會(huì)話請(qǐng)求后,
使用所述共用隨機(jī)數(shù)對(duì)所述會(huì)話請(qǐng)求進(jìn)行認(rèn)證;
第二認(rèn)證單元,用于在收到所述服務(wù)器使用所述共用隨機(jī)數(shù)生成的應(yīng)答 消息后,使用所述共用隨機(jī)數(shù)對(duì)所述應(yīng)答消息進(jìn)行認(rèn)證。
通過(guò)應(yīng)用以上的技術(shù)方案,服務(wù)器和終端在會(huì)話過(guò)程中使用共用的 nonce,替代現(xiàn)有技術(shù)的s一nonce和c_nonce完成終端和服務(wù)器之間的認(rèn)證, 有效減輕了系統(tǒng)的負(fù)擔(dān)。


圖1、現(xiàn)有技術(shù)的認(rèn)證方法流程圖2、現(xiàn)有技術(shù)在用缺省nonce認(rèn)證并更新s_nonce和c一nonce時(shí)的流程
圖3、本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例一流程圖; 圖4、加入nonce值后的消息格式實(shí)施例結(jié)構(gòu)圖5、 s—nonce發(fā)生錯(cuò)誤時(shí)本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例一 流程圖6、本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例二流程圖;
圖7、本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例四流程圖8、本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例五的流程圖9、本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例六的流程圖10、本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例七中攜帶新的s_nonce 的狀態(tài)回復(fù)消息格式實(shí)施例結(jié)構(gòu)圖11 、本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例八流程圖12、本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例九流程圖13、本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例十流程圖;圖14、本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的系統(tǒng)實(shí)施例一結(jié)構(gòu)圖15、本發(fā)明實(shí)施例提供的終端實(shí)施例一結(jié)構(gòu)圖; 圖16、本發(fā)明實(shí)施例提供的終端實(shí)施例二結(jié)構(gòu)圖; 圖17、本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的系統(tǒng)實(shí)施例二結(jié)構(gòu)圖。
具體實(shí)施例方式
本發(fā)明實(shí)施例提供了 一種使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證的 方法、系統(tǒng)、服務(wù)器及終端,有效優(yōu)化了使用DS和DM協(xié)議的終端和服務(wù)器 之間的認(rèn)i正過(guò)程。
本發(fā)明中提到的會(huì)話中消息的認(rèn)證均應(yīng)用的是應(yīng)用層安全機(jī)制。
本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例一中,服務(wù)器為T(mén)rigger消息 生成一個(gè)不同于s—nonce禾口 c_nonce的供Trigger消息j吏用的nonce, 該nonce 可以被稱作Trigger消息nonce,服務(wù)器使用該nonce生成認(rèn)證信息,并將該 新的nonce及認(rèn)證信息隨Trigger消息發(fā)送到終端,終端使用新的nonce對(duì)該 Trigger消息進(jìn)行認(rèn)證。
本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例一流程如圖3所示
步驟301、服務(wù)器發(fā)送Trigger消息至終端,該消息中攜帶有Trigger消息 nonce。
發(fā)送前,服務(wù)器先生成Trigger消息nonce,并使用該nonce生成Digest, 再使用該Digest生成Tigger消息。
本實(shí)施例提供的使用Trigger消息nonce的方法有兩種
第一種、服務(wù)器在生成Tigger消息時(shí)取自身的系統(tǒng)時(shí)間Ts作為T(mén)rigger 消息nonce,并把作為T(mén)rigger消息nonce的系統(tǒng)時(shí)間Ts攜帶在Trigger消息中, 使終端在收到Trigger消息后可以通過(guò)比對(duì)本地時(shí)間Tc與系統(tǒng)時(shí)間Ts的差值 來(lái)確定nonce的有效性。對(duì)于nonce而言,其有效性通常被稱為該nonce的新 鮮性(freshness ),新鮮即為有效,否則為無(wú)效。
終端在收到Trigger消息時(shí),計(jì)算系統(tǒng)時(shí)間Ts與終端本地時(shí)間Tc的時(shí)間
21差值ITs-Tcl,若時(shí)間差值ITs-Tcl小于預(yù)設(shè)的閾值Diff,則該Trigger消息nonce 為有效值,否則,該Trigger消息nonce為無(wú)效值。
閾值Diff通常配置在終端,可以是根據(jù)網(wǎng)絡(luò)情況確定的經(jīng)驗(yàn)值。這是因 為移動(dòng)網(wǎng)絡(luò)本身并不穩(wěn)定,容易造成Trigger消息的傳輸延遲,如果閾值設(shè)置 太小,則容易使得Trigger消息的nonce值無(wú)效;如果閾值設(shè)置較大,若有惡 意服務(wù)器截獲了 Trigger消息,并不斷重復(fù)發(fā)送該消息到終端,只要時(shí)間差值 ITs-Tcl在閾值范圍內(nèi)的,都會(huì)被終端認(rèn)為是有效信息,并進(jìn)行相應(yīng)處理,隨著 閾值的增大,系統(tǒng)被攻擊的機(jī)會(huì)也在增大。
第二種、服務(wù)器在生成Tigger消息時(shí),對(duì)每個(gè)Trigger消息進(jìn)行編號(hào),取 該編號(hào)作為專用的Trigger消息nonce,并使用該nonce生成Digest,再使用該 Digest生成Tigger消息。
編號(hào)的方式可以是累加的方式,也可以是遞減的方式。終端在收到Trigger 消息時(shí),將其攜帶的nonce與上次保存的nonce數(shù)值進(jìn)行比較,在使用累加方 式編號(hào)時(shí),如果新的nonce值較大,則認(rèn)為該nonce值是有效的,否則認(rèn)為該 nonce值是無(wú)效的;在使用遞減方式編號(hào)時(shí),如果新的nonce值較小,則認(rèn)為 該nonce l直是有效的,否則i人為該nonce值是無(wú)效的。
終端在判斷新的nonce值有效并認(rèn)證服務(wù)器身份合法后,保存該新的 nonce值,用于與下 一需判斷Trigger消息nonce值進(jìn)行比較。
使用本方法時(shí),若有惡意服務(wù)器截獲了 Trigger消息,并不斷重復(fù)發(fā)送該 消息到終端,對(duì)終端進(jìn)行重放攻擊,由于該Trigger消息使用的nonce值已被 記錄,所有惡意消息都會(huì)被判定為無(wú)效消息,因此本發(fā)明可以有效的防止惡 意服務(wù)器的攻擊。
進(jìn)一步,由于移動(dòng)網(wǎng)絡(luò)的不穩(wěn)定性,可能會(huì)造成后發(fā)的消息先到達(dá)終端, 服務(wù)器先后為不同會(huì)話發(fā)出的Trigger消息,到達(dá)終端的順序有可能會(huì)發(fā)生變 化,造成終端將有效消息判定為無(wú)效消息。
例如,服務(wù)器先后為3個(gè)不同會(huì)話發(fā)出3個(gè)Trigger消息,3個(gè)Trigger消 息使用的Trigger消息 nonce分另'J為30、 31、 32, <旦是由于移動(dòng)網(wǎng)纟各的不穩(wěn)、 定性,終端最先收到了 nonce為32的Trigger消息,終端判定該消息有效,并記錄下了該nonce,另外兩個(gè)Trigger消息到達(dá)終端與終端的記錄比較時(shí),就 會(huì)由于比記錄的值小被判定為無(wú)效消息。
為此,本實(shí)施例提出了三種解決方式
方式一、終端保存全部或最近收到的Trigger消息nonce,將判斷為無(wú)效 的Trigger消息nonce與保存的值相比較,如果沒(méi)有相同的,則重新判定該值 有效,并保存該值。
在存儲(chǔ)空間有限時(shí),可以設(shè)定保存空間,在保存的nonce數(shù)量到達(dá)上限時(shí) 將保存的最小nonce值刪除。
方式二、在Trigger消息nonce編號(hào)的方式是累加的方式時(shí),終端保存接 收到的最大的值、及小于當(dāng)前最大值且未收到過(guò)的全部或部分的值,將判斷 為無(wú)效的Trigger消息 nonce與保存的值相比較,如果沒(méi)相同的,貝寸重新判定 該值有效,并保存該值;在Trigger消息 nonce編號(hào)的方式是遞減的方式時(shí), 終端保留接收到的最小的值、及大于當(dāng)前最小值且未收到過(guò)的全部或部分的 值,將判斷為無(wú)效的Trigger消息nonce與保留的值相比較,如果沒(méi)相同的, 則重新判定該值有效,并保存該值。
例如初始值為"1",編號(hào)方式為累加時(shí),終端順序收到的Trigger消息nonce 的值為T(mén) "2" "4" "5" "7",則終端記錄下最大值"7",及小于7且未收 到的值"3" "6",若終端收到的Trigger消息nonce的值為"6",則首先將其 與最大值"7"相比較,結(jié)果是小于"7",為無(wú)效值,則再與"3" "6"比較, 結(jié)果是存在相同的值,因此可以判斷該Trigger消息nonce有效,終端將其記 錄的"6 "刪除。在編號(hào)方式為遞減時(shí),方法與累加相似,在此不再重復(fù)描述。
方式三、在Trigger消息nonce編號(hào)的方式是累加的方式時(shí),保存最大的 nonce值,所有nonce小于該nonce的Trigger消息均^人為是無(wú)效的消息;在是 遞減的方式時(shí),寸呆存最小的nonce i"直,所有nonce大于該nonce的Trigger消 息均認(rèn)為是無(wú)效的消息;服務(wù)器在一定時(shí)間內(nèi)沒(méi)有接到終端的響應(yīng)消息,則 4妄照編號(hào)失見(jiàn)則生成新的nonce,重新發(fā)送Trigger消息攜帶此新的nonce。
以上為本實(shí)施例提供的使用Trigger消息nonce的方法的描述。
生成Trigger消息時(shí),Trigger消息nonce值可以攜帶在Trigger消息的消息頭或消息體中。以消息頭中攜帶為例,加入nonce值后的消息格式實(shí)施例如 圖4所示,包括摘要(Digest )、觸發(fā)消息頭(trigger-hdr )、觸'發(fā)消息體 (trigger-body )。
其中,trigger-hdr包括:版本(version )、用戶交互模式(ui-mode )、會(huì)話 發(fā)起方(initiator )、隨才幾數(shù)(nonce )、保留字段(future-use )、會(huì)話標(biāo)識(shí)(sessionid )、 服務(wù)器標(biāo)識(shí)符長(zhǎng)度(length-identifier )、服務(wù)器標(biāo)識(shí)符(server-identifier )。
同時(shí),本實(shí)施例提供了兩種使用Trigger消息nonce生成Digest的方法
方法一、設(shè)定H=MD5哈希函數(shù)(hashing function), b64 = Base64編碼 函數(shù),則Digest使用公式可以表述為
Digest- H(B64(H(server-identifier:password)):nonce:B64(H(trigger)))
其中,server-identifier為服務(wù)器標(biāo)識(shí)符字段的值,密碼(password)為服 務(wù)器的密碼,nonce為隨機(jī)數(shù)字段的值,trigger為T(mén)rigger消息的trigger-hdr 與trigger-body字段的值。
終端收到Trigger消息并判斷該Trigger消息攜帶的Trigger消息nonce有 效后,在終端管理樹(shù)上查找該服務(wù)器對(duì)應(yīng)的密碼,使用查找的密碼、及Trigger 消息中的server-identifier、 nonce、 trigger生成Digest, 比較終端生成的Digest 與消息中攜帶的Digest是否相同,相同則認(rèn)證通過(guò),否則認(rèn)證失敗。
方法二、設(shè)定H=MD5哈希函數(shù)(hashing flmction), b64 = Base64編碼函數(shù)。
由于nonce是攜帶在消息頭或消息體中的,nonce就成為了 Trigger消息 的trigger-hdr與trigger-body字段的 一部分,因此計(jì)算Digest可以只使用Trigger 消息的trigger-hdr與trigger-body字段,貝'J Digest使用7>式可以表述為
Digest = H(B64(H(server-identifier:password)):B64(H(trigger)))
其中,server-identifier為服務(wù)器標(biāo)識(shí)符字段的值,密碼(password)為服 務(wù)器的密碼,trigger為T(mén)rigger消息的trigger-hdr與trigger-body字l史字l爻的^f直。
終端收到Trigger消息并判斷該Trigger消息攜帶的Trigger消息nonce有 效后,在終端管理樹(shù)上查找該服務(wù)器對(duì)應(yīng)的密碼,使用查找的密碼、及Trigger消息中的server-identifier、 trigger生成Digest,比較終端生成的Digest與消息 中攜帶的Digest是否相同,相—同則認(rèn)證通過(guò),否則認(rèn)證失敗。
步驟302、終端判斷該信息有效,且對(duì)該信息認(rèn)證通過(guò)后,發(fā)送會(huì)話請(qǐng)求 消息至服務(wù)器。
終端收到Trigger消息后,首先判斷該Trigger消息攜帶的Trigger消息 nonce是否有效,判斷方法見(jiàn)上文描述,有效再在終端管理樹(shù)上查找該服務(wù)器 對(duì)應(yīng)的密碼,使用查找的密碼、及Trigger消息中的server-identifier、 trigger 生成Digest,對(duì)該Trigger消息進(jìn)行認(rèn)證,詳細(xì)認(rèn)證方法可參考步驟301中的 描述,根據(jù)不同的生成Digest的方法,終端生成Digest認(rèn)證的方法也會(huì)不同。
若認(rèn)證通過(guò),則發(fā)送會(huì)話請(qǐng)求消息至服務(wù)器,發(fā)起會(huì)話。
該會(huì)話請(qǐng)求消息中攜帶有SessionID、包含使用c—nonce生成的Digest 的Authenticate 。
從本步驟開(kāi)始終端與服務(wù)器正式建立會(huì)話連接。
步驟303、服務(wù)器返回包含認(rèn)證結(jié)果和認(rèn)證請(qǐng)求的應(yīng)答消息。
服務(wù)器根據(jù)終端發(fā)送來(lái)的Authenticate對(duì)終端進(jìn)行認(rèn)證,然后向終端返回 包含認(rèn)證結(jié)果和認(rèn)證請(qǐng)求的應(yīng)答消息。
該應(yīng)答消息攜帶有服務(wù)器對(duì)終端的身份認(rèn)證結(jié)果、SessionID、包含使 用s—nonce生成的Digest的Authenticate。
步驟304、終端返回包含認(rèn)證結(jié)果的消息至服務(wù)器。
終端根據(jù)服務(wù)器發(fā)送來(lái)的Authenticate對(duì)服務(wù)器進(jìn)行認(rèn)證,然后向服務(wù)器 返回包含認(rèn)證結(jié)果的消息。
該消息攜帶有終端對(duì)服務(wù)器的身份認(rèn)證結(jié)果、及其他相關(guān)消息。
進(jìn)一步,在使用累加的方式進(jìn)行Trigger消息nonce編號(hào)時(shí),隨著Trigger 消息的增多,nonce的值會(huì)越來(lái)越大;在使用遞減的方式進(jìn)行Trigger消息nonce 編號(hào)時(shí),nonce的值會(huì)遞減到"0";在這些時(shí)候,可能需要對(duì)nonce進(jìn)行調(diào)整, 例如調(diào)整計(jì)數(shù)起點(diǎn),因此本實(shí)施例提供了在需要時(shí)對(duì)nonce進(jìn)行調(diào)整的方法一、服務(wù)器每隔一段時(shí)間都會(huì)更新其在終端的賬號(hào)密碼,可以在服
務(wù)器更新其在終端的賬號(hào)密碼時(shí),服務(wù)器和終端雙方自動(dòng)重置nonce計(jì)數(shù)值。
方法二、在需要對(duì)nonce進(jìn)行調(diào)整時(shí),例如預(yù)定的時(shí)間到了、計(jì)數(shù)達(dá)到預(yù) 定的值,服務(wù)器下發(fā)命令直接重置nonce值,該命令可以是警告(Alert)命 令,例如
<Alert>
<CmdID>l</CmdID>
<Data>1227</Data> <!— nonce計(jì)凄t重置—〉 </Alert>
服務(wù)器在對(duì)nonce進(jìn)行調(diào)整后,下發(fā)命令,更改其在終端的賬號(hào)密碼,以 防止惡意服務(wù)器截獲消息后進(jìn)行攻擊。
方法三、由于服務(wù)器可以直接對(duì)終端的終端管理樹(shù)進(jìn)行操作,因此服務(wù) 器可以在終端管理樹(shù)上的其賬號(hào)信息中增加一節(jié)點(diǎn),用以保存終端收到并保 留的nonce值,該節(jié)點(diǎn)可以為
<X>/AppAuth/<X>/SNAAuthCount
然后在需要對(duì)nonce進(jìn)行調(diào)整時(shí),例如預(yù)定的時(shí)間到了、計(jì)數(shù)達(dá)到預(yù)定的 值,對(duì)該節(jié)點(diǎn)下發(fā)重置(Replace)命令進(jìn)行重置。命令實(shí)例如下
<Replace>
<CmdID>4</CmdID>
<Item>
<Target>
<LocURI>./DMAcc/serverA/AppAuth/l/SNAAuthCount</LocURI>
</Target>
<Data>l</Data>
</Item〉</Replacc〉
服務(wù)器在對(duì)nonce進(jìn)行調(diào)整后,下發(fā)命令,更改其在終端的賬號(hào)密碼,以 防止惡意服務(wù)器截獲消息后進(jìn)行攻擊。
方法四、在需要對(duì) nonce進(jìn)4亍調(diào)整時(shí),例3口子貞定的日于間到了 、計(jì)凄史達(dá)到子貞 定的值,終端向服務(wù)器發(fā)送重置請(qǐng)求,在接收到服務(wù)器的確認(rèn)后雙方對(duì)nonce 進(jìn)行調(diào)整。在調(diào)整完成后服務(wù)器更新終端其在終端的賬號(hào)密碼,以防止惡意 服務(wù)器截獲消息后進(jìn)行攻擊。
在本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例一中,提供了一個(gè)不同于 s—nonce禾口 c—nonce的供Trigger消息4吏用的nonce,每次發(fā)起豸斤的會(huì)"i舌,月良務(wù) 器都會(huì)生成Trigger消息專用的nonce,用于觸發(fā)會(huì)話,終端-使用該nonce對(duì) Trigger消息進(jìn)行認(rèn)證,即使服務(wù)器保存的s—nonce是錯(cuò)誤的,終端仍然可以 發(fā)起會(huì)話,此時(shí)若s一nonce或c—nonce發(fā)生了錯(cuò)誤,都可以通過(guò)交互方式更新 s—nonce或c—nonce, 以冗成認(rèn)證。
以s—nonce發(fā)生錯(cuò)誤為例,本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例一 流程如圖5所示
步驟501、服務(wù)器發(fā)送Trigger消息至終端,該消息中攜帶有Trigger消息 nonce。
發(fā)送前,服務(wù)器先生成Trigger消息nonce,并使用該nonce生成Digest, 再使用該Digest生成Tigger消息。
步驟502、終端判斷該Trigger消息攜帶的Trigger消息nonce有效,且對(duì) 該信息認(rèn)證通過(guò)后,發(fā)送會(huì)話請(qǐng)求消息至服務(wù)器。
終端收到Trigger消息后,首先判斷該Trigger消息攜帶的Trigger消息 nonce是否有效,判斷方法見(jiàn)上文描述,若有效則在終端管理樹(shù)上查找該服務(wù) 器對(duì)應(yīng)的密碼,使用查找的密碼、及Trigger消息的server-identifier, trigger 生成Digest,對(duì)該Trigger消息進(jìn)行認(rèn)證,詳細(xì)認(rèn)證方法可參考步驟301中的 描述,才艮據(jù)不同的生成Digest的方法,終端生成Digest認(rèn)證的方法也會(huì)不同。
若認(rèn)證通過(guò),則發(fā)送會(huì)話請(qǐng)求消息至服務(wù)器,發(fā)起會(huì)話。
27該會(huì)話請(qǐng)求消息中攜帶有SessionID、包含使用c—nonce生成的Digest 的Authenticate 。
從本步驟開(kāi)始終端與服務(wù)器正式建立會(huì)話連接。
步驟503、服務(wù)器返回包含認(rèn)證結(jié)果和認(rèn)證請(qǐng)求的應(yīng)答消息。
服務(wù)器根據(jù)終端發(fā)送來(lái)的Authenticate對(duì)終端進(jìn)行認(rèn)證,然后向終端返回 包含認(rèn)證結(jié)果和認(rèn)證請(qǐng)求的應(yīng)答消息。
該應(yīng)答消息攜帶有服務(wù)器對(duì)終端的身份認(rèn)證結(jié)果、SessionID、包含使 用s—nonce生成的Digest的Authenticate。
步驟504、終端使用自生保存的s—nonce對(duì)服務(wù)器進(jìn)行認(rèn)證,認(rèn)證失敗。
步驟505、終端發(fā)送質(zhì)詢及s—nonce更新消息至服務(wù)器。
步驟506、服務(wù)器使用新的s—nonce生成認(rèn)證信息并重發(fā)認(rèn)證請(qǐng)求至終端。
服務(wù)器收到更新消息后,根據(jù)終端的指示更新自身保存的s—nonce,并使 用更新后的s—nonce生成新的認(rèn)證請(qǐng)求,并將更新結(jié)果及新的認(rèn)i正請(qǐng)求發(fā)送到 服務(wù)器。
步驟507、終端返回包含認(rèn)證結(jié)果的消息至服務(wù)器。
終端根據(jù)服務(wù)器發(fā)送來(lái)的使用更新后的s_nonce生成新的認(rèn)證請(qǐng)求對(duì)服 務(wù)器進(jìn)行認(rèn)證,然后向服務(wù)器返回包含認(rèn)證結(jié)果的消息。
該消息攜帶有終端對(duì)服務(wù)器的身份認(rèn)證結(jié)果、及其他相關(guān)消息。
在本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例一中,每次發(fā)起新的會(huì)話, 服務(wù)器都會(huì)生成Trigger消息專用的nonce,用于觸發(fā)會(huì)話,在本發(fā)明實(shí)施例 提供的進(jìn)行認(rèn)證的方法實(shí)施例二中,則可以只在服務(wù)器認(rèn)為s—nonce錯(cuò)誤時(shí), 生成Trigger消息專用的nonce,用于觸發(fā)會(huì)話。
本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例二流程如圖6所示
步驟601 、服務(wù)器發(fā)送Trigger消息至終端,該消息中攜帶有s一nonce。
步驟602、服務(wù)器發(fā)現(xiàn)認(rèn)證失敗。
在一定時(shí)間內(nèi)服務(wù)器沒(méi)有收到終端返回的消息,可以認(rèn)為是認(rèn)證失敗了 。步驟603、服務(wù)器發(fā)送新的Trigger消息至終端,該消息中攜帶有Trigger 消息nonce 。
發(fā)送前,服務(wù)器先生成Trigger消息nonce,并使用該nonce生成Digest, 再使用該Digest生成Tigger消息。
步驟604、終端判斷Trigger消息攜帶的Trigger消息nonce有效,且對(duì)該 Trigger消息認(rèn)證通過(guò)后,發(fā)送會(huì)話請(qǐng)求消息至服務(wù)器。
終端收到Trigger消息后,可以通過(guò)判斷Trigger消息是否使用了 Trigger 消息nonce, 來(lái)決定4吏用s—nonce還是使用Trigger消息nonce進(jìn)4亍iU正。
判斷的方法,可以是通過(guò)判斷Trigger消息中是否有nonce字段來(lái)判斷 Trigger消息是否使用了 Trigger消息nonce,即含有nonce字段時(shí)說(shuō)明Trigger 消息使用了 Trigger消息 nonce; 或者可以通過(guò)判斷Trigger消息的version字 段信息來(lái)判斷Trigger消息是否使用了 Trigger消息nonce,這是因?yàn)閺南⒌?version可以獲知該消息是否寸吏用了 Trigger消息nonce。
終端收到Trigger消息后,首先判斷該Trigger消息攜帶的Trigger消息 nonce是否有效,判斷方法見(jiàn)上文描述,有效再在終端管理樹(shù)上查找該服務(wù)器 對(duì)應(yīng)的密碼,使用查找的密碼、及Trigger消息中的server-identifier、 trigger 生成Digest,對(duì)該Trigger消息進(jìn)行認(rèn)證,詳細(xì)認(rèn)證方法可參考步驟301中的 描述,根據(jù)不同的生成Digest的方法,終端生成Digest認(rèn)證的方法也會(huì)不同。
若認(rèn)證通過(guò),則發(fā)送會(huì)話請(qǐng)求消息至服務(wù)器,發(fā)起會(huì)話。
該會(huì)話請(qǐng)求消息中攜帶有SessionID、包含使用c—nonce生成的Digest 的Authenticate 。
從本步驟開(kāi)始終端與服務(wù)器正式建立會(huì)話連接。
步驟605、服務(wù)器返回包含認(rèn)證結(jié)果和認(rèn)證請(qǐng)求的應(yīng)答消息。
本步驟與步驟503基本類(lèi)似,在此不再詳細(xì)描述。
步驟606、終端使用自身保存的s—nonce對(duì)服務(wù)器進(jìn)行認(rèn)證,認(rèn)證失敗。
步驟607、終端發(fā)送包含質(zhì)詢及新的s_nonce的消息至服務(wù)器。步驟608、服務(wù)器返回更新結(jié)果及新的認(rèn)證請(qǐng)求至終端。
本步驟與步驟506基本類(lèi)似,在此不再詳細(xì)描述。 步驟609、終端返回包含認(rèn)證結(jié)果的消息至服務(wù)器。 本步驟與步驟507基本類(lèi)似,在此不再詳細(xì)描述。
在本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例二中,在服務(wù)器認(rèn)為 s—nonce錯(cuò)誤時(shí),生成Trigger消息專用的nonce,用于觸發(fā)會(huì)話,終端依然按 照本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例一的方式對(duì)該Trigger消息進(jìn)行 處理。在本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例三中,終端可以通過(guò)判 斷該Trigger消息是否使用了 Trigger消息專用的nonce,確定是否需要更新 s_nonce,在該Trigger消息使用了 Trigger消息專用的nonce時(shí),直接進(jìn)4亍 s一nonce更新,使服務(wù)器可以直接使用更新后的s_nonce進(jìn)行會(huì)話中的認(rèn)證。
使用本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例一、二提供的技術(shù)方案, 在認(rèn)證失敗時(shí),將不再需要使用缺省nonce完成認(rèn)證,提高了系統(tǒng)的安全性。
同時(shí),本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例三,在現(xiàn)有技術(shù)的基 礎(chǔ)上,更新過(guò)s—nonce和cjionce后,相應(yīng)的更新服務(wù)器密碼和終端密碼,更 新服務(wù)器密碼可以使得使用缺省nonce生成的服務(wù)器的Digest不同,可以防 止對(duì)終端的消息重放攻擊,更新終端密碼可以使得使用缺省nonce生成的終端 的Digest不同,可以防止對(duì)服務(wù)器的消息重放攻擊,可以提高系統(tǒng)的安全性。
進(jìn)一步,本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例四,在現(xiàn)有技術(shù)的 基礎(chǔ)上,強(qiáng)化步驟之間的關(guān)聯(lián),以前一步驟作為后一步驟的認(rèn)證基礎(chǔ),以提 高系統(tǒng)的安全性,其流程如圖7所示
步驟701 、終端接收到用于觸發(fā)會(huì)話的Trigger消息,并對(duì)其進(jìn)行認(rèn)證。
步驟702、終端對(duì)該Trigger消息認(rèn)證失敗,使用缺省nonce值重新認(rèn)證。
步驟703、終端向服務(wù)器發(fā)送使用缺省nonce生成的會(huì)話請(qǐng)求消息
若用缺省nonce認(rèn)證通過(guò)則終端向Trigger消息指示的服務(wù)器發(fā)送會(huì)話請(qǐng) 求消息,在會(huì)話使用應(yīng)用層安全時(shí)在該消息中攜帶使用缺省nonce生成的認(rèn)證 信息,進(jìn)入步驟704。若用缺省nonce認(rèn)證失敗則終端忽略該Trigger消息,
30無(wú)會(huì)話發(fā)起,流程結(jié)束。
步驟704、服務(wù)器認(rèn)證終端發(fā)送的會(huì)話請(qǐng)求消息。
在會(huì)話使用了應(yīng)用層安全機(jī)制,且該服務(wù)器發(fā)送過(guò)使用缺省nonce生成的 Trigger消息給終端,且該Trigger消息為觸發(fā)該會(huì)話請(qǐng)求消息的Trigger消息 時(shí),使用缺省nonce對(duì)該會(huì)話請(qǐng)求消息進(jìn)行認(rèn)證,認(rèn)證通過(guò)后進(jìn)入步驟705。
判斷某會(huì)話請(qǐng)求消息是否是被某Trigger消息觸發(fā)的方法為每個(gè)會(huì)話請(qǐng) 求消息會(huì)有一個(gè)唯一的會(huì)話標(biāo)識(shí),比較該會(huì)話請(qǐng)求消息所攜帶的會(huì)話標(biāo)識(shí)和 該Trigger消息所攜帶的會(huì)話標(biāo)識(shí)是否相同,若相同則表示該會(huì)話是由該 Trigger消息觸發(fā)。
判斷服務(wù)器是否發(fā)送過(guò)使用缺省nonce生成的Trigger消息給終端,且該 Trigger消息為觸發(fā)該會(huì)話請(qǐng)求消息的Trigger消息,可以發(fā)生在使用缺省nonce 對(duì)該會(huì)話請(qǐng)求消息進(jìn)行認(rèn)證之后,在認(rèn)證通過(guò)后進(jìn)行判斷,判斷通過(guò)進(jìn)入步 驟705。
本步驟的意義在于,若服務(wù)器未發(fā)送過(guò)使用缺省nonce生成的用以觸發(fā)該 會(huì)話的Trigger消息給終端,卻收到了終端發(fā)送的使用缺省nonce生成的會(huì)話 請(qǐng)求消息,則說(shuō)明該消息不是一個(gè)正常安全的消息,有很大幾率是惡意第三 方發(fā)送的欺騙性消息,可以丟棄處理,因此,采用本步驟后,可以提高系統(tǒng) 的安全性。
步驟705、服務(wù)器向終端返回應(yīng)答消息。
服務(wù)器向終端返回包含認(rèn)證結(jié)果、認(rèn)證請(qǐng)求和c—nonce更新命令的應(yīng)答消息。
步驟706、終端認(rèn)證服務(wù)器發(fā)送的應(yīng)答消息。
在會(huì)話使用了應(yīng)用層安全機(jī)制時(shí),終端使用缺省nonce認(rèn)證服務(wù)器,認(rèn)證 通過(guò)并更新c_nonce后進(jìn)入步驟707。
進(jìn)一步,本步驟也可以,在會(huì)話使用了應(yīng)用層安全機(jī)制,且終端發(fā)送過(guò) 使用缺省nonce生成的會(huì)話請(qǐng)求消息給服務(wù)器時(shí),終端使用缺省nonce認(rèn)證該 消息,認(rèn)證通過(guò)并更新 c nonce后進(jìn)入步驟707。該步驟中判斷終端是否發(fā)送過(guò)使用缺省nonce生成的會(huì)話請(qǐng)求消息給服 務(wù)器,可以發(fā)生在使用缺省nonce對(duì)該消息進(jìn)行認(rèn)證之后,在認(rèn)證通過(guò)后進(jìn)行 判斷,判斷通過(guò)進(jìn)入步驟707。
步驟707、終端向服務(wù)器返回應(yīng)答消息。
終端向服務(wù)器返回包含認(rèn)i正結(jié)果、c_nonce更新結(jié)果及s—nonce更新命令 的應(yīng)答消息。
步驟708、服務(wù)器返回s_nonce更新結(jié)果至終端。
在完成上述步驟后,為了防止重放攻擊,可以選擇更新服務(wù)器密碼,或 者同時(shí)更新服務(wù)器密碼及終端密碼。
通過(guò)應(yīng)用本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例三、四,可以有效 提高系統(tǒng)的安全性。
現(xiàn)有技術(shù)中,在s—nonce錯(cuò)誤需要更新時(shí),需要進(jìn)行4次交互命令才能完 成更新,如圖2的步驟203到步驟204,由于在更新完成前,都需要使用缺省 nonce,安全風(fēng)險(xiǎn)較大,消息在移動(dòng)網(wǎng)絡(luò)中的交互次數(shù)過(guò)多,也加大了網(wǎng)絡(luò)負(fù) 擔(dān)。
本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例還提供了在終端發(fā)送的會(huì)話 請(qǐng)求消息中攜帶新的s_nonce的技術(shù)方案,這樣服務(wù)器就可以直接進(jìn)行 s—nonce更新,并使用新的s_nonce進(jìn)行認(rèn)證,既減少了信令交互的次數(shù),也 減少了使用缺省nonce的次數(shù),增加了系統(tǒng)的安全性,也減輕了網(wǎng)絡(luò)負(fù)擔(dān)。
本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例五流程如圖8所示 步驟801、終端獲知需要更新s—nonce。
終端判斷出s—nonce已經(jīng)過(guò)期,或者發(fā)現(xiàn)服務(wù)器保存的s_nonce與終端保 存的不 一致時(shí),可以獲知需要更新s—nonce。
終端發(fā)現(xiàn)服務(wù)器保存的s_nonce與終端保存的不一致的方法可以為
終端收到Trigger消息后,使用保存的s_nonce對(duì)該Trigger消息進(jìn)行iU正, 當(dāng)由于某種原因認(rèn)證失敗時(shí),終端使用缺省nonce值生成Digest對(duì)該Trigger 消息重新進(jìn)4亍認(rèn)i正。若認(rèn)證通過(guò),則說(shuō)明服務(wù)器其之前使用的s_nonce錯(cuò)誤,服務(wù)器保存的 s—nonce與終端保存的不一致。 '
步驟802、終端發(fā)送包含更新信息的會(huì)話請(qǐng)求消息至服務(wù)器。
終端在獲知需要更新s_nonce時(shí),生成新的s—nonce,并將該s—nonce攜 帶在會(huì)話請(qǐng)求消息中發(fā)送至服務(wù)器請(qǐng)求發(fā)起會(huì)話,并使服務(wù)器更新s—nonce。
該會(huì)話請(qǐng)求消息中攜帶有SessionID、新生成的 s nonce 、 包含使用 c nonce 值生成的Digest的Authenticate。此會(huì)話請(qǐng)求消息中,也可以使用缺 省nonce值生成的Digest。
新生成的s_nonce可以攜帶在會(huì)話請(qǐng)求消息(SyncML )的消息頭 (SyncHdr)或消息體(SyncBody )。
以下以攜帶在消息頭中為例說(shuō)明攜帶方法。
為了攜帶s_nonce,對(duì)消息頭的定義進(jìn)行如下修改
SyncHdr (VerDTD, VerProto, SessionID, MsgID, Target, Source, RespURI , NoResp , Cred , Chal , Meta )〉
則攜帶s一nonce的SyncML消息為
<SyncML xmlns='SYNCML:SYNCMLl .2'>
<SyncHdr>
<Chal〉 <Meta>
〈NextNonce xmlns=,syncml:metinf,>LG3iZQhhdmKNHg==</NextNonce>
</Meta>
</Chal>
</SyncHdr>
<SyncBody></SyncBody> </SyncML>
步驟803、服務(wù)器返回包含認(rèn)證結(jié)果、更新結(jié)果、及認(rèn)證請(qǐng)求的應(yīng)答消息。
服務(wù)器收到該會(huì)話請(qǐng)求消息后,使用c—nonce值對(duì)終端進(jìn)行認(rèn)證,并使用 該會(huì)話請(qǐng)求消息攜帶的更新后的s—nonce更新其保存的s—nonce;認(rèn)證通過(guò), 更新成功后,再使用更新過(guò)的s—nonce生成認(rèn)證請(qǐng)求,并向終端返回包含認(rèn)證 結(jié)果、更新命令及認(rèn)證請(qǐng)求的應(yīng)答消息。
該應(yīng)答消息攜帶有服務(wù)器對(duì)終端的身份認(rèn)證結(jié)果、s—nonce更新結(jié)果、 及包含寸吏用更新后s—nonce i直生成的Digest的Authenticate。
步驟804、終端返回包含認(rèn)證結(jié)果的消息至服務(wù)器。
終端使用更新后s一nonce值對(duì)服務(wù)器進(jìn)行認(rèn)證,認(rèn)證通過(guò)后,向服務(wù)器返 回iU正結(jié)果。
進(jìn)一步本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例五也可以應(yīng)用在本發(fā) 明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例二中,以減少信令交互的次數(shù)。
本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例六的流程圖如圖9所示
步驟901、服務(wù)器發(fā)送Trigger消息至終端,該消息中攜帶有s一nonce。
步驟902、服務(wù)器發(fā)現(xiàn)認(rèn)證失敗。
例如,在一定時(shí)間內(nèi)服務(wù)器沒(méi)有收到終端的會(huì)話請(qǐng)求,則可以認(rèn)為是認(rèn) 證失敗了。
步驟903、服務(wù)器發(fā)送Trigger消息至終端,該消息中攜帶有Trigger消息 nonce。
發(fā)送前,服務(wù)器先生成Trigger消息nonce,并使用該nonce生成Digest, 再使用該Digest生成Tigger消息。
步驟904、終端發(fā)現(xiàn)需要更新s—nonce。
終端收到該Trigger消息后,判斷該Trigger消息是否使用了 Trigger消息
34專用的nonce,確定是否需要更新s_nonce,發(fā)現(xiàn)在該Trigger消息使用了 Trigger 消息專用的nonce,需要進(jìn)4亍s—nonce更新。
判斷該Trigger消息是否使用了 Trigger消息專用的nonce的方法,可以是 通過(guò)判斷Trigger消息中是否有nonce字段來(lái)判斷Trigger消息是否使用了 Trigger消息nonce,即含有nonce字段時(shí)說(shuō)明Trigger消息使用了 Trigger消息 nonce; 或者可以通過(guò)判斷Trigger消息的 version 字段信息來(lái)判斷Trigger消息 是否使用了 Trigger消息nonce,這是因?yàn)関ersion字段信息中包含有Trigger 消息是否使用了 Trigger消息nonce的消息。
若發(fā)現(xiàn)在該Trigger消息使用的不是Trigger消息nonce時(shí),則說(shuō)明不需要 進(jìn)行s_nonce更新,直接進(jìn)入普通處理流程即可。
步驟905、終端發(fā)送包含更新信息的會(huì)話請(qǐng)求消息至服務(wù)器。
終端收到Trigger消息,且確定其使用了 Trigger消息專用的Trigger消息 nonce后,首先判斷該Trigger消息攜帶的Trigger消息nonce是否有效,判斷 方法見(jiàn)上文描述,有效再在終端管理樹(shù)上查找該服務(wù)器對(duì)應(yīng)的密碼,使用查 4戈的密石馬、server-identifier、 trigger生成Digest,只于該Trigger消息進(jìn)4lS人i正, 詳細(xì)認(rèn)證方法可參考步驟301中的描述,根據(jù)不同的生成Digest的方法,終 端生成Digest認(rèn)證的方法也會(huì)不同。
終端對(duì)該Trigger信息iU正通過(guò)后,生成新的s_nonce,并將該s_nonce 攜帶在會(huì)話請(qǐng)求消息中,作為包含更新信息的會(huì)話請(qǐng)求消息發(fā)送至服務(wù)器, 發(fā)起會(huì)話,并使服務(wù)器更新s一nonce。
該會(huì)話請(qǐng)求消息中攜帶有SessionID、更新后的s_nonce、包含使用 c—nonce j直生成的Digest的Authenticate。
其中,新生成的s_nonce可以攜帶在會(huì)話請(qǐng)求消息的消息頭(SyncHdr) 或消息體(SyncBody)。
步驟906、服務(wù)器返回包含認(rèn)證結(jié)果、更新結(jié)果、及認(rèn)證請(qǐng)求的應(yīng)答消息。
服務(wù)器收到該會(huì)話請(qǐng)求消息后,使用c—nonce值對(duì)終端進(jìn)行認(rèn)證,并使用 該會(huì)話請(qǐng)求消息攜帶的更新后的s—nonce更新其保存的s一nonce;認(rèn)證通過(guò),更新成功后,使用更新過(guò)的s_nonce生成認(rèn)證請(qǐng)求,并向終端返回包含認(rèn)證結(jié) 果、更新結(jié)果、及認(rèn)證請(qǐng)求的應(yīng)答消息。
該應(yīng)答消息攜帶有服務(wù)器對(duì)終端的身份認(rèn)證結(jié)果、s—nonce更新結(jié)果、 及包含4吏用更新后s_nonce ^f直生成的Digest的Authenticate。
步驟907、終端返回包含認(rèn)證結(jié)果的消息至服務(wù)器。
終端使用更新后s—nonce值對(duì)服務(wù)器進(jìn)行認(rèn)證,認(rèn)證通過(guò)后,向服務(wù)器返 回認(rèn)證結(jié)果。
該消息攜帶有對(duì)服務(wù)器的身份認(rèn)證結(jié)果、及其他相關(guān)消息。
在現(xiàn)有技術(shù)中有些時(shí)候,終端在認(rèn)證服務(wù)器通過(guò)后,可能決定不發(fā)起會(huì) 話,此時(shí)若已經(jīng)發(fā)現(xiàn)s—nonce過(guò)期或錯(cuò)誤,需要更新,將無(wú)法更新s一nonce, 無(wú)法有效維護(hù)s—nonce。
因此本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例七中,提供了相應(yīng)的解 決方案。
在本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例七中,終端在認(rèn)證服務(wù)器 通過(guò)后,并決定不發(fā)起會(huì)話時(shí),會(huì)向服務(wù)器發(fā)送一個(gè)狀態(tài)回復(fù)消息,當(dāng)終端 判斷出s_nonce已經(jīng)過(guò)期,或服務(wù)器保存的與終端保存的不一致時(shí),生成新的 s_nonce,在該狀態(tài)回復(fù)消息中攜帶新的s—nonce、使用c_nonce、終端用戶名、 密碼、回復(fù)消息體等計(jì)算出的Digest,使服務(wù)器收到該狀態(tài)回復(fù)消息后,可以 根據(jù)使用c—nonce、終端用戶名、密碼、回復(fù)消息體等計(jì)算出的Digest對(duì)該信 息進(jìn)行認(rèn)證,在認(rèn)證通過(guò)后根據(jù)該狀態(tài)回復(fù)消息中攜帶新的s—nonce更新其自 身保存的s—nonce 。
該攜帶新的s_nonce的狀態(tài)回復(fù)消息格式實(shí)施例如圖10所示,包括摘 要(Digest )、通4口消息、頭(notification-hdr )、通^p消息、體(notification -body )。
其中,notification-hdr包括版本(version )、狀態(tài)碼(status-code )、 對(duì) 應(yīng)的通知消息標(biāo)識(shí)(Notification-ID )、新隨機(jī)數(shù)(Next-nonce )、保留 (future-use )、 會(huì)話標(biāo)識(shí)(sessionid)、認(rèn)證標(biāo)識(shí)長(zhǎng)度(length-authname )、 認(rèn) 證標(biāo)識(shí)(authname )。其中的NextNonce即攜帶的新s—nonce。
在現(xiàn)有技術(shù)中,s—nonce出現(xiàn)問(wèn)題后,s_nonce和c_nonce都不再使用,終 端和服務(wù)器都使用缺省nonce生成認(rèn)證信息,這樣就造成惡意服務(wù)器截獲任何 一個(gè)消息都有可能攻擊服務(wù)器或終端。
而s_nonce和c_nonce是兩個(gè)不同的值,分別由服務(wù)器和終端生成,供對(duì) 方使用,所以一個(gè)出現(xiàn)問(wèn)題并不影響另外一個(gè),本發(fā)明實(shí)施例提供的進(jìn)行認(rèn) 證的方法實(shí)施例八、及九中,在s_nonce出現(xiàn)問(wèn)題時(shí),提供了單獨(dú)更新s—nonce 的解決方案。
s—nonce出現(xiàn)問(wèn)題的狀況包括終端判斷出s—nonce已經(jīng)過(guò)期,或者發(fā)現(xiàn) 服務(wù)器保存的s—nonce出了問(wèn)題,例如終端判斷出服務(wù)器保存的s_nonce與終 端的s—nonce不 一致、不同步。
其中,判斷服務(wù)器保存的s一nonce與終端的s—nonce不一致、不同步的方 法包括服務(wù)器使用s—nonce發(fā)出觸發(fā)消息后, 一定時(shí)間內(nèi)沒(méi)有收到終端回復(fù) 的信息;或者是終端發(fā)現(xiàn)服務(wù)器發(fā)送的Trigger消息中使用缺省nonce生成 Digest;或者是終端發(fā)現(xiàn)服務(wù)器發(fā)送的Trigger消息中沒(méi)有使用nonce等。
終端在發(fā)現(xiàn)s—nonce出現(xiàn)問(wèn)題,并對(duì)服務(wù)器身份認(rèn)-〖正通過(guò)后,發(fā)起會(huì)話請(qǐng) 求,會(huì)話請(qǐng)求消息中認(rèn)證終端身份的認(rèn)證信息用c_nonce生成或者使用基礎(chǔ) (basic)認(rèn)證方式,即用戶名加密碼的認(rèn)證方式,進(jìn)一步進(jìn)行 s nonce的更新。
本實(shí)施例提供了兩種更新s—nonce的方法進(jìn)行認(rèn)證的方法實(shí)施例七、與 進(jìn)行認(rèn)證的方法實(shí)施例八。
本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例八中,以服務(wù)器使用缺省 nonce值生成Trigger消息為例進(jìn)行描述,其流程如圖11所示
步驟1101、服務(wù)器發(fā)送用于觸發(fā)會(huì)話的Trigger消息至終端。
服務(wù)器判斷其之前使用的s—nonce錯(cuò)誤后,使用缺省nonce值生成Trigger 消息發(fā)送到終端,該Trigger消息中攜帶有使用缺省nonce值生成的Digest、 Triggerlnfo 、及其他相關(guān)消息。
步驟1102、終端對(duì)該Trigger消息認(rèn)證失敗,使用缺省值重新認(rèn)證。
37終端收到Trigger消息后,使用保存的s_nonce生成Digest對(duì)該Trigger 消息進(jìn)行認(rèn)證,當(dāng)由于某種原因認(rèn)證失敗時(shí),終端使用缺省nonce值生成Digest 對(duì)該Trigger消息重新進(jìn)4t認(rèn)證。
若認(rèn)證通過(guò),則說(shuō)明服務(wù)器其之前使用的s一nonce錯(cuò)誤,服務(wù)器保存的 s一nonce與終端保存的不一致。
步驟1103、終端發(fā)送包含更新信息的會(huì)話請(qǐng)求消息至服務(wù)器。
終端4吏用缺省nonce ^f直iU正通過(guò)后,生成新的s—nonce,并將該s—nonce 攜帶在會(huì)話請(qǐng)求消息中,作為包含更新信息的會(huì)話請(qǐng)求消息發(fā)送至服務(wù)器, 發(fā)起會(huì)話,并使服務(wù)器更新s_nonce。
該會(huì)話請(qǐng)求消息中攜帶有SessionID、更新后的s_nonce、包含使用 c—nonce <直生成的Digest的Authenticate。
在會(huì)話請(qǐng)求消息中攜帶更新后的s_nonce的方法與實(shí)施例三及四基本相同。
步驟1104、服務(wù)器返回包含認(rèn)證結(jié)果、更新結(jié)果及認(rèn)證請(qǐng)求的應(yīng)答消息。
服務(wù)器收到該會(huì)話請(qǐng)求消息后,使用c—nonce值對(duì)終端進(jìn)行認(rèn)證,并使用 該會(huì)話請(qǐng)求消息攜帶的更新后的s一nonce更新其保存的s—nonce;認(rèn)證通過(guò), 更新成功后,再使用更新過(guò)的s—nonce生成認(rèn)證請(qǐng)求,向終端返回包含認(rèn)證結(jié) 果、更新結(jié)果及認(rèn)證請(qǐng)求的應(yīng)答消息。
該應(yīng)答消息攜帶有服務(wù)器對(duì)終端的身份認(rèn)證結(jié)果、s—nonce更新結(jié)果、 及包含j吏用更新后s_nonce《直生成的Digest的Authenticate。
步驟1105、終端返回包含認(rèn)證結(jié)果的消息至服務(wù)器。
終端使用更新后s—nonce值對(duì)服務(wù)器進(jìn)行認(rèn)證,認(rèn)證通過(guò)后,向服務(wù)器返 回^人i正結(jié)果。
本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例九中,以服務(wù)器使用缺省 nonce值生成Trigger消息,但不在會(huì)話請(qǐng)求中攜帶更新信息為例進(jìn)行描述, 其流程如圖12所示
步驟1201、服務(wù)器發(fā)送用于觸發(fā)會(huì)話的Trigger消息至終端。月良務(wù)器判斷其之前使用的s_nonce錯(cuò)誤后,使用缺省nonce值生成Trigger 消息發(fā)送到終端,該Trigger消息中攜帶有使用缺省nonce值生成的Digest、 Triggerlnfo、及其他相關(guān)消息。
步驟1202、終端對(duì)該Trigger消息認(rèn)證失敗,使用缺省值重新認(rèn)證。
終端收到Trigger消息后,使用保存的s—nonce生成Digest對(duì)該Trigger 消息進(jìn)行認(rèn)證,當(dāng)由于某種原因認(rèn)證失敗時(shí),終端使用缺省nonce值生成Digest 對(duì)該Trigger消息重新進(jìn)4亍i人i正。
若認(rèn)證通過(guò),則說(shuō)明服務(wù)器其之前使用的s—nonce錯(cuò)誤,服務(wù)器保存的 s一nonce與終端保存的不 一致。
步驟1203、終端對(duì)該信息認(rèn)證通過(guò)后,發(fā)送會(huì)話請(qǐng)求消息至服務(wù)器。
若認(rèn)證通過(guò),則發(fā)送會(huì)話請(qǐng)求消息至服務(wù)器,發(fā)起會(huì)話。
該會(huì)話請(qǐng)求消息中攜帶有SessionID、包含使用c_nonce生成的Digest 的Authenticate 。
從本步驟開(kāi)始終端與服務(wù)器正式建立會(huì)話連接。
步驟1204、服務(wù)器返回包含認(rèn)證結(jié)果和認(rèn)證請(qǐng)求的應(yīng)答消息。
缺省nonce生成Authenticate,然后向終端返回包含認(rèn)證結(jié)果和認(rèn)i正請(qǐng)求的應(yīng) 答消息。
該應(yīng)答消息攜帶有服務(wù)器對(duì)終端的身份認(rèn)證結(jié)果、SessionID、包含使 用缺省nonce生成的Digest的Authenticate。
步驟1205、終端返回更新命令、及認(rèn)證結(jié)果到服務(wù)器。
終端使用缺省nonce對(duì)服務(wù)器進(jìn)行認(rèn)證,認(rèn)證通過(guò)后,生成新的s一nonce, 并發(fā)送s_nonce更新命令、及對(duì)服務(wù)器的認(rèn)證結(jié)果到服務(wù)器
步驟1206、服務(wù)器返回更新結(jié)果至終端。
服務(wù)器收到更新消息后,根據(jù)終端的指示更新自身保存的s—nonce,并將 更新結(jié)果返回給終端。此時(shí)為了提供系統(tǒng)的可靠性,可對(duì)服務(wù)器密碼進(jìn)行更新。
由以上描述可以看出,在s—nonce出現(xiàn)問(wèn)題時(shí)只更新s—nonce,不更新 c—nonce,即使系統(tǒng)在處理s—nonce錯(cuò)誤時(shí)使用缺省nonce進(jìn)行認(rèn)證,但由于 不需要更新c_nonce,終端可以使用c—nonce生成會(huì)話"清求,減少了使用缺省 nonce的次數(shù),系統(tǒng)的安全性得到了提高。
另外,由于一個(gè)會(huì)話當(dāng)中使用的s_nonce和c—nonce,分別由終端、月良務(wù) 器生成并更新,因此造成終端、服務(wù)器的管理負(fù)擔(dān)較重。
在本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例十中, 一個(gè)會(huì)話當(dāng)中使用 相同的nonce,替代現(xiàn)有技術(shù)的s—nonce和c_nonce完成終端和服務(wù)器之間的 認(rèn)證,這是由于在同一會(huì)話中,有傳輸層安全或應(yīng)用層安全認(rèn)證保證,所以 可以使用相同的nonce完成終端和服務(wù)器之間的認(rèn)證。
該nonce可以由服務(wù)器生成,也可以由終端生成,下面將以由服務(wù)器生成
本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例十提供了兩種更新nonce值 的兩種方法,分述如下
方法一、由服務(wù)器進(jìn)行nonce值的更新。
首先由服務(wù)器下發(fā)更新隨機(jī)數(shù)命令(NextNonce),在NextNonce命令中 攜帶新nonce。
終端接收到該NextNonce命令后,使用該NextNonce命令中攜帶的新 nonce更新自身保存的nonce值。
該更新命令可以攜帶在認(rèn)證消息,即在該消息中攜帶了更新命令和服務(wù) 器的認(rèn)證信息;或其它管理消息中,即在該消息中沒(méi)有攜帶服務(wù)器的認(rèn)證信 息。若該更新命令攜帶在認(rèn)證消息中,則終端收到該消息后,根據(jù)NextNonce 命令先更新nonce,再使用更新后的nonce生成Digest對(duì)該信息進(jìn)行認(rèn)證,認(rèn) 證必然會(huì)通過(guò),此時(shí)若有其它惡意服務(wù)器截獲了該消息,就可以在任何時(shí)間 對(duì)終端進(jìn)行重放攻擊。為了防止這種情況的出現(xiàn),在認(rèn)證消息中攜帶 NextNonce命令時(shí),使用未更新前的 nonce生成的Digest,纟冬端在收到消息后,先使用更新前的nonce生成的Digest進(jìn)行認(rèn)證,在認(rèn)證通過(guò)后,再根據(jù) NextNonce命令對(duì)自身保存的nonce值進(jìn)行更新;若在其它管理消息中攜帶 nonce更新命令,則由于新nonce和認(rèn)證信息分開(kāi)在兩個(gè)不同的消息中發(fā)送給 對(duì)方,所以不存在重放攻擊風(fēng)險(xiǎn)。
以使用應(yīng)答消息攜帶NextNonce命令為例,流程如圖13所示
步驟1301、服務(wù)器發(fā)送用于觸發(fā)會(huì)話的Trigger消息至終端。
該觸發(fā)消息中攜帶有使用共用nonce生成的Digest、 Triggerlnfo。
共用nonce為服務(wù)器生成,供服務(wù)器與終端使用。
在實(shí)際使用時(shí),本步驟中的共用nonce也可以是觸發(fā)消息nonce、或缺省 nonce,在有些時(shí)候服務(wù)器也可以不使用nonce,直接使用服務(wù)器ID和密碼生 成用于觸發(fā)會(huì)話的Trigger消息,而終端也直接使用服務(wù)器ID和密碼生成 Digest該Trigger消息進(jìn)行認(rèn)證。
步驟1302、終端發(fā)送會(huì)話請(qǐng)求消息至服務(wù)器。
終端收到Trigger消息后,使用保存的s—nonce生成Digest對(duì)該Trigger 消息進(jìn)行認(rèn)證,認(rèn)證通過(guò),則發(fā)送會(huì)話請(qǐng)求消息至服務(wù)器,發(fā)起會(huì)話。
該會(huì)話請(qǐng)求消息中攜帶有SessionID、包含使用共用nonce生成的Digest 的Authenticate 。
從本步驟開(kāi)始終端與服務(wù)器正式建立會(huì)話連接。
步驟1303、服務(wù)器返回包含認(rèn)證結(jié)果和認(rèn)證請(qǐng)求的應(yīng)答消息,并在該應(yīng) 答消息中攜帶NextNonce命令。
現(xiàn)共用nonce需要更新時(shí),生成新的共用nonce,然后向終端返回包含認(rèn)i正結(jié) 果和認(rèn)證請(qǐng)求的應(yīng)答消息,并在該應(yīng)答消息中攜帶NextNonce命令。
該應(yīng)答消息攜帶有服務(wù)器對(duì)終端的身份認(rèn)證結(jié)果、SessionID、包含使 用更新前nonce生成的Digest的Authenticate、 包含新的nonce的NextNonce命令。步驟1304、終端收到該應(yīng)答消息后,使用更新前的nonce對(duì)該消息進(jìn)行 認(rèn)證。
步驟1305、認(rèn)證通過(guò),終端根據(jù)NextNonce命令的指示,使用NextNonce 命令攜帶的新的nonce更新自身保存的共用nonce。
步驟1306、終端返回包含認(rèn)證結(jié)果、更新結(jié)果的消息至服務(wù)器。
該消息攜帶有終端對(duì)服務(wù)器的身份認(rèn)證結(jié)果、共用nonce的更新結(jié)果、 及其他相關(guān)消息。
由于服務(wù)器和終端對(duì)共用nonce有效時(shí)間的定義可能不同,服務(wù)器判斷共 用nonce有效時(shí),可能對(duì)于終端而言已經(jīng)到達(dá)有效時(shí)限了 ,因此為了保持共用 nonce對(duì)終端的有效性,本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例十中,提 供了終端請(qǐng)求服務(wù)器更新共用nonce的技術(shù)方案。
終端可以使用DM命令中的提醒(Alert)命令向服務(wù)器請(qǐng)求更新共用 nonce,為了使得服務(wù)器可以理解該命令,為其增加一個(gè)Alert類(lèi)型以表示請(qǐng) 求服務(wù)器更新nonce。
終端在認(rèn)為共用nonce需要更新的時(shí)候,通過(guò)該Alert命令向服務(wù)器發(fā)送 共同nonce更新請(qǐng)求,該消息可以攜帶在認(rèn)證消息中或其它管理消息中,服務(wù) 器收到該消息后,根據(jù)具體情況決定是否更新。
Alert類(lèi)型可以定義為org.openmobilealliance.NextNonce。
該Alert類(lèi)型的消息實(shí)例可以為
<Alert>
<CmdID〉2</CmdID> <Data>1226</Data> <!— Generic Alert --> <Itcm> <Meta>
<Type xmlns="syncml:metinf'> org.openmobilealliance.NextNonce
</Type></Meta>
<Data/> </Item> </Alert>
由終端進(jìn)行nonce值更新的方法與由服務(wù)器進(jìn)行nonce值的更新的方法類(lèi) 似,這里不再贅述。
方法二、由服務(wù)器和終端共同進(jìn)行nonce的更新。
服務(wù)器判斷共用nonce需要更新時(shí),生成一個(gè)新的nonce進(jìn)行更新,終端 也可以在判斷共用nonce需要更新時(shí),生成一個(gè)新的nonce進(jìn)4亍更新。
該更新nonce 的方法可以是通過(guò)NextNonce命令進(jìn)行,實(shí)例如下
<Chal>
<Meta>
〈NextNonce xmlns二,syncml:metinf,〉LG3iZQhhdmKNHg-《/NextNonce〉
</Meta>
</Chal〉
該NextNonce命令可以攜帶在會(huì)話過(guò)程中的消息中,例如,終端可以將 該NextNonce命令,攜帶在會(huì)話請(qǐng)求中,發(fā)送到服務(wù)器,請(qǐng)求服務(wù)器更新共 用nonce;也可以使用其它消息發(fā)送NextNonce命令。
不管是服務(wù)器進(jìn)行共同nonce更新還是終端進(jìn)行共同nonce的更新,若該 更新命令攜帶在認(rèn)證消息中,則對(duì)端收到該消息后,先更新nonce,再使用更 新后的nonce生成Digest對(duì)該信息進(jìn)行認(rèn)證,認(rèn)證必然會(huì)通過(guò),此時(shí)若有其 它惡意服務(wù)器截獲了該消息,就可以在任何時(shí)間對(duì)終端進(jìn)行重放攻擊。為了 防止這種情況的出現(xiàn),在認(rèn)證消息中攜帶NextNonce命令時(shí),可以使用更新 前的nonce生成Digest只十該信息進(jìn)4亍iU正,在iU正通過(guò)后,再#4居NextNonce 命令對(duì)自身保存的nonce值進(jìn)行更新;若使用其它管理消息攜帶該nonce更新 命令,則由于新nonce和認(rèn)證信息分開(kāi)在兩個(gè)不同的消息中發(fā)送給對(duì)方,所以 不存在攻擊風(fēng)險(xiǎn)。
43在本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例十中,服務(wù)器和終端使用
共用的nonce進(jìn)行認(rèn)證,此時(shí)如果共用nonce出錯(cuò),可以使用以上所述的任何 一種方式進(jìn)行處理,在使用本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例五時(shí), 步驟803中將攜帶新的nonce、及用該nonce生成的Digest,此時(shí)若有惡意服 務(wù)器截獲了該消息,就可以向服務(wù)器或終端不斷重復(fù)發(fā)送該消息,進(jìn)行重放 攻擊,服務(wù)器或終端將無(wú)法識(shí)別,均認(rèn)為是有效信息,并進(jìn)行相應(yīng)操作,為 了防止這種情況,可以使用未更新前的nonce生成Digest,這樣服務(wù)器在接收 到消息后首先使用未更新前的nonce計(jì)算Digest以認(rèn)證消息發(fā)送者,即終端, 在認(rèn)證通過(guò)后,再根據(jù)NextNonce命令對(duì)自身保存的nonce值進(jìn)行更新。
的負(fù)擔(dān)。
本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的系統(tǒng)實(shí)施例一結(jié)構(gòu)如圖14所示,包括
服務(wù)器1410,用于使用觸發(fā)消息隨機(jī)數(shù)生成觸發(fā)消息,并發(fā)送所述使用 觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息;
終端1420,用于接收所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息,并使用 所述觸發(fā)消息隨機(jī)數(shù)對(duì)所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息進(jìn)行認(rèn)證, 認(rèn)證所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息的有效性。
其中,服務(wù)器1410內(nèi)又包括
第一生成單元1412,用于使用觸發(fā)消息隨機(jī)數(shù)生成觸發(fā)消息;
發(fā)送單元1411,用于發(fā)送所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息;
第二生成單元1417,用于使用服務(wù)器隨機(jī)數(shù)生成觸發(fā)消息,并將所述使 用服務(wù)器隨機(jī)數(shù)生成的觸發(fā)消息發(fā)送到所述終端;
判斷單元1413,用于在發(fā)現(xiàn)終端對(duì)所述使用服務(wù)器隨機(jī)數(shù)生成的觸發(fā)消
息認(rèn)證失敗時(shí),控制所述第一生成單元1412使用觸發(fā)消息隨機(jī)數(shù)生成觸發(fā)消 臺(tái).
時(shí)間單元1414,用于在所述第一生成單元1412使用觸發(fā)消息隨機(jī)數(shù)生成 觸發(fā)消息時(shí),取所述服務(wù)器的系統(tǒng)時(shí)間,并將所述系統(tǒng)時(shí)間攜帶在所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息中;
編碼單元1415,用于對(duì)所述第一生成單元使用觸發(fā)消息隨機(jī)數(shù)生成的觸 發(fā)消息進(jìn)行編號(hào),使用所述編號(hào)作為所述觸發(fā)消息隨機(jī)數(shù);
隨機(jī)數(shù)重置單元1416,用于根據(jù)需要對(duì)所述編碼單元1415生成的觸發(fā)消 息隨機(jī)數(shù)進(jìn)行調(diào)整。
其中,編碼單元1415內(nèi)又包括
累加編碼單元14151,用于使用累加的方式對(duì)所述使用觸發(fā)消息隨機(jī)數(shù)生 成的觸發(fā)消息進(jìn)行編號(hào);
遞減編碼單元14152,用于使用遞減的方式對(duì)所述使用觸發(fā)消息隨枳4t生 成的觸發(fā)消息進(jìn)行編號(hào)。
其中,終端1420內(nèi)又包括
接收單元1421,用于接收所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息;
第一認(rèn)證單元1422,用于使用所述觸發(fā)消息隨機(jī)數(shù)對(duì)所述使用觸發(fā)消息 隨機(jī)數(shù)生成的觸發(fā)消息進(jìn)行認(rèn)證,認(rèn)證所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā) 消息的有效性。
第二認(rèn)證單元1425,用于在收到所述使用服務(wù)器隨機(jī)數(shù)生成的觸發(fā)消息 時(shí),使用所述服務(wù)器隨機(jī)數(shù)對(duì)所述使用服務(wù)器隨機(jī)數(shù)生成的觸發(fā)消息進(jìn)行認(rèn) 證。
第一有效判斷單元1423,用于在所述接收單元收到所述使用觸發(fā)消息隨 機(jī)數(shù)生成的觸發(fā)消息時(shí),取所述終端的本地時(shí)間,以所述本地時(shí)間與所述系 統(tǒng)時(shí)間差值的絕對(duì)值與預(yù)設(shè)的值進(jìn)行比較,在小于所述預(yù)設(shè)的值時(shí),判斷所 述觸發(fā)消息隨機(jī)數(shù)為有效值,并控制所述第一認(rèn)證單元1422使用所述觸發(fā)消 息隨機(jī)數(shù)對(duì)所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息進(jìn)行認(rèn)證。
第二有效判斷單元1424,用于在所述接收單元收到所述使用觸發(fā)消息隨 機(jī)數(shù)生成的觸發(fā)消息,根據(jù)自身保存的觸發(fā)消息隨機(jī)數(shù),判斷所述觸發(fā)消息 攜帶的觸發(fā)消息隨機(jī)數(shù)有效時(shí),保存所述觸發(fā)消息攜帶的觸發(fā)消息隨機(jī)數(shù), 并控制所述第一認(rèn)證單元1422使用所述觸發(fā)消息隨機(jī)數(shù)對(duì)所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息進(jìn)行認(rèn)證。
所述第二有效判斷單元1424包括
第一編碼判斷單元14241,用于以所述終端保存的觸發(fā)消息隨機(jī)數(shù)與所述 觸發(fā)消息攜帶的觸發(fā)消息隨機(jī)數(shù)進(jìn)行比較,在所述觸發(fā)消息攜帶的觸發(fā)消息 隨機(jī)數(shù)大于所述保存的最大的觸發(fā)消息隨機(jī)數(shù)時(shí),或在所述保存的觸發(fā)消息 隨機(jī)數(shù)中不包含所述觸發(fā)消息攜帶的觸發(fā)消息隨機(jī)數(shù)時(shí),判斷所述觸發(fā)消息 攜帶的觸發(fā)消息隨初4欠有效。
第二編碼判斷單元14242,用于以所述終端保存的觸發(fā)消息隨機(jī)數(shù)與所述 觸發(fā)消息攜帶的觸發(fā)消息隨機(jī)數(shù)進(jìn)行比較,在所述觸發(fā)消息攜帶的觸發(fā)消息 隨機(jī)數(shù)小于所述保存的最小的觸發(fā)消息隨機(jī)數(shù)時(shí),或在所述保存的觸發(fā)消息 隨機(jī)數(shù)中不包含所述觸發(fā)消息攜帶的觸發(fā)消息隨機(jī)數(shù)時(shí),判斷所述觸發(fā)消息 攜帶的觸發(fā)消息隨機(jī)數(shù)有效。
本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的系統(tǒng)實(shí)施例 一 的具體運(yùn)行方式,可參考 上文描述的本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例一、二,在此不再重 復(fù)描述。
使用本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的系統(tǒng)實(shí)施例一提供的技術(shù)方案,在 認(rèn)證失敗時(shí),將不再需要使用缺省nonce完成認(rèn)證,提高了系統(tǒng)的安全性。
本發(fā)明實(shí)施例提供的服務(wù)器實(shí)施例 一 ,與上文描述的本發(fā)明實(shí)施例提供 的進(jìn)行認(rèn)證的系統(tǒng)實(shí)施例一中的服務(wù)器基本一致,在此不再重復(fù)描述。
本發(fā)明實(shí)施例提供的終端實(shí)施例一結(jié)構(gòu)如圖15所示,包括
接收單元1501,用于接收服務(wù)器發(fā)送的觸發(fā)消息;
第一生成單元1502,用于在收到所述觸發(fā)消息后,判斷服務(wù)器隨機(jī)數(shù)需 要更新時(shí),生成新的服務(wù)器隨機(jī)數(shù),并將所述新的服務(wù)器隨機(jī)數(shù)攜帶在會(huì)話 請(qǐng)求中,發(fā)送到所述服務(wù)器,以使所述服務(wù)器可以在收到所述攜帶有新的服 務(wù)器隨機(jī)數(shù)的會(huì)話請(qǐng)求時(shí),使用所述新的服務(wù)器隨機(jī)數(shù)更新自身保存的服務(wù) 器隨機(jī)數(shù)。
第二生成單元1503,用于在收到觸發(fā)消息后,決定不發(fā)起會(huì)話,判斷服務(wù)器隨機(jī)數(shù)需要更新時(shí),生成新的服務(wù)器隨機(jī)數(shù),并將所述新的服務(wù)器隨機(jī) 數(shù)攜帶在狀態(tài)回復(fù)消息中,發(fā)送到所述服務(wù)器,以使所述服務(wù)器可以在收到 所述攜帶有新的服務(wù)器隨機(jī)數(shù)的狀態(tài)回復(fù)消息時(shí),使用所述新的服務(wù)器隨機(jī) 數(shù)更新自身保存的服務(wù)器隨機(jī)數(shù)。
本發(fā)明實(shí)施例提供的終端實(shí)施例一的具體運(yùn)行方式,可參考上文描述的 本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例四、五、六,在此不再重復(fù)描述。
使用本發(fā)明實(shí)施例提供的終端實(shí)施例一提供的技術(shù)方案,在s—nonce需要 更新時(shí),直接在會(huì)話請(qǐng)求消息中攜帶更新命令,可以減少信令交互的次數(shù), 有效減輕系統(tǒng)的負(fù)荷,并且可以減少使用缺省nonce完成認(rèn)證的次數(shù),提高了 系統(tǒng)的安全性。
本發(fā)明實(shí)施例提供的終端實(shí)施例二,結(jié)構(gòu)如圖16所示
終端1600包括
接收單元1601,用于接收服務(wù)器發(fā)送的觸發(fā)消息;
生成單元1602,用于在收到所述觸發(fā)消息后,判斷服務(wù)器隨機(jī)數(shù)需要更 新時(shí),使用終端隨機(jī)數(shù)生成會(huì)話請(qǐng)求發(fā)送到服務(wù)器,并生成新的服務(wù)器隨機(jī) 數(shù),發(fā)送到所述服務(wù)器,使所述服務(wù)器使用所述新的服務(wù)器隨機(jī)數(shù)更新服務(wù) 器隨機(jī)數(shù)。
密碼修改單元1603,用于在使用所述新的服務(wù)器隨機(jī)數(shù)更新服務(wù)器隨機(jī) 數(shù)完成后,修改服務(wù)器密碼和終端密碼。
本發(fā)明實(shí)施例提供的終端實(shí)施例二的具體運(yùn)行方式,可參考上文描述的 本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例七、八,在此不再重復(fù)描述。
使用本發(fā)明實(shí)施例提供的終端實(shí)施例二提供的技術(shù)方案,在s一nonce需要 更新時(shí),只更新s_nonce,不更新c_nonce,即使系統(tǒng)在處理s—nonce錯(cuò)誤時(shí)4吏 用缺省nonce進(jìn)行認(rèn)證,4旦由于不需要更新c—nonce,終端可以4吏用c_nonce 生成會(huì)話請(qǐng)求,減少了使用缺省nonce的次數(shù),系統(tǒng)的安全性得到了提高。
本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的系統(tǒng)實(shí)施例二結(jié)構(gòu)如圖17所示,包括 服務(wù)器1710、及終端1720。
47其中,服務(wù)器1710內(nèi)又包括
觸發(fā)單元1711,用于使用服務(wù)器及終端共用隨機(jī)數(shù)生成觸發(fā)消息,并發(fā) 送到終端,以使所述終端在收到所述觸發(fā)消息后,使用所述共用隨機(jī)數(shù)對(duì)所 述觸發(fā)消息進(jìn)行認(rèn)證;
接收單元1712,用接收終端返回的使用所述共用隨機(jī)數(shù)生成的會(huì)話請(qǐng)求;
認(rèn)證單元1713,用于使用所述共用隨機(jī)數(shù)對(duì)所述會(huì)話請(qǐng)求進(jìn)行認(rèn)證;
生成單元1714,用于在對(duì)所述會(huì)話請(qǐng)求認(rèn)證通過(guò)后,使用所述共用隨枳j 數(shù)生成應(yīng)答消息,并發(fā)送到所述終端,以使所述終端在收到所述應(yīng)答消息后, 使用所述共用隨機(jī)數(shù)對(duì)所述應(yīng)答消息進(jìn)行認(rèn)證。
更新單元1715,用于生成所述共用隨機(jī)數(shù),在需要更新所述共用隨機(jī)數(shù) 時(shí),生成新的共用隨機(jī)數(shù),并發(fā)送包含所述新的共用隨機(jī)數(shù)的更新隨機(jī)數(shù)消 息到所述終端,以使所述終端在收到所述更新隨機(jī)數(shù)消息時(shí),使用所述新的 共用隨機(jī)數(shù)更新共用隨機(jī)數(shù)。
請(qǐng)求單元1716,用于在判斷需要更新所述共用隨機(jī)數(shù)時(shí),發(fā)送請(qǐng)求更新 隨機(jī)數(shù)消息至所述終端,以使所述終端在收到所述請(qǐng)求更新隨機(jī)數(shù)消息,且 決定更新后,生成所述新的共用隨機(jī)數(shù),并發(fā)送包含所述新的共用隨機(jī)數(shù)的 更新隨機(jī)數(shù)消息。
其中,終端1720內(nèi)又包括
接收單元1721,用于接收服務(wù)器發(fā)送的使用服務(wù)器及終端共用隨機(jī)數(shù)生 成的觸發(fā)消息;
第一認(rèn)證單元1722,用于在收到所述觸發(fā)消息后,使用所述共用隨機(jī)數(shù) 對(duì)所述觸發(fā)消息進(jìn)行認(rèn)證;
生成單元1723,用于在認(rèn)證通過(guò)后,使用所述共用隨機(jī)數(shù)生成會(huì)話請(qǐng)求, 并發(fā)送到所述服務(wù)器,以使所述服務(wù)器可以在收到所述會(huì)話請(qǐng)求后,使用所 述共用隨機(jī)數(shù)對(duì)所述會(huì)話請(qǐng)求進(jìn)行認(rèn)證,認(rèn)證所述會(huì)話請(qǐng)求的有效性;
第二認(rèn)證單元1724,用于在收到所述服務(wù)器使用所述共用隨機(jī)數(shù)生成的 應(yīng)答消息后,使用所述共用隨機(jī)數(shù)對(duì)所述應(yīng)答消息進(jìn)行認(rèn)證。更新單元1725,用于生成所述共用隨機(jī)數(shù),在需要更新所述共用隨機(jī)數(shù) 時(shí),生成新的共用隨機(jī)數(shù),并發(fā)送包含所述新的共用隨機(jī)數(shù)的更新隨機(jī)數(shù)消 息到所述服務(wù)器,以使所述服務(wù)器在收到所述更新隨機(jī)數(shù)消息時(shí),使用所述 新的共用隨機(jī)數(shù)更新共用隨機(jī)數(shù)。
請(qǐng)求單元1726,用于在判斷需要更新所述共用隨機(jī)數(shù)時(shí),發(fā)送請(qǐng)求更新
隨機(jī)數(shù)消息至所述服務(wù)器,以使所述服務(wù)器在收到所述請(qǐng)求更新隨機(jī)數(shù)消息, 且決定更新后,生成所述新的共用隨機(jī)數(shù),并發(fā)送包含所述新的共用隨機(jī)數(shù) 的更新隨機(jī)數(shù)消息。
本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的系統(tǒng)實(shí)施例二的具體運(yùn)行方式,可參考 上文描述的本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的方法實(shí)施例九,在此不再重復(fù)描 述。
在本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的系統(tǒng)實(shí)施例二提供的技術(shù)方案中,月艮
務(wù)器和終端在會(huì)話過(guò)程中使用共用的nonce,替代現(xiàn)有技術(shù)的s—nonce和 c—nonce完成終端和服務(wù)器之間的認(rèn)證,有效減輕了系統(tǒng)的負(fù)擔(dān)。
本發(fā)明實(shí)施例提供的服務(wù)器實(shí)施例二、及本發(fā)明實(shí)施例提供的終端實(shí)施 例三,與本發(fā)明實(shí)施例提供的進(jìn)行認(rèn)證的系統(tǒng)實(shí)施例二種描述的服務(wù)器及終 端基本一致,在此不再重復(fù)描述。
是可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī) 可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤(pán)或光盤(pán)等。
以上對(duì)本發(fā)明所提供的一種使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證 的方法、系統(tǒng)、服務(wù)器及終端進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本 發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本 發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明 的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明 書(shū)內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1、一種使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證的方法,其特征在于,所述方法包括服務(wù)器使用觸發(fā)消息隨機(jī)數(shù)生成觸發(fā)消息,并將所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息發(fā)送到終端;以使所述終端可以提取所述觸發(fā)消息隨機(jī)數(shù),在確認(rèn)所述觸發(fā)消息隨機(jī)數(shù)有效時(shí),使用所述觸發(fā)消息隨機(jī)數(shù)生成摘要對(duì)所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息進(jìn)行認(rèn)證,在認(rèn)證通過(guò)后,向所述觸發(fā)消息指示的服務(wù)器發(fā)起會(huì)話請(qǐng)求。
2、 如權(quán)利要求1所述的使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證的方 法,其特征在于,在所述服務(wù)器使用觸發(fā)消息隨機(jī)數(shù)生成觸發(fā)消息之前,所 述方法還包括所述服務(wù)器使用服務(wù)器隨機(jī)數(shù)生成觸發(fā)消息,并將所述使用服務(wù)器隨機(jī) 數(shù)生成的觸發(fā)消息發(fā)送到終端;在確定終端對(duì)所述使用服務(wù)器隨機(jī)數(shù)生成的觸發(fā)消息認(rèn)證失敗時(shí),所述 服務(wù)器再使用觸發(fā)消息隨機(jī)數(shù)生成觸發(fā)消息。
3、 如權(quán)利要求1或2所述的使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證 的方法,其特征在于,所述服務(wù)器使用觸發(fā)消息隨機(jī)數(shù)生成觸發(fā)消息包括所述服務(wù)器取所述服務(wù)器的系統(tǒng)時(shí)間作為觸發(fā)消息隨機(jī)數(shù),并將所述系 統(tǒng)時(shí)間攜帶在所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息中;以使所述終端可以在收到所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息時(shí), 取所述終端的本地時(shí)間與所述觸發(fā)消息隨機(jī)數(shù)進(jìn)行比較,判斷所述觸發(fā)消息 隨機(jī)數(shù)是否為有效值,在判斷所述觸發(fā)消息隨機(jī)數(shù)為有效值時(shí),使用所述觸 發(fā)消息隨機(jī)數(shù)生成摘要對(duì)所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息進(jìn)行認(rèn) 證。
4、 如權(quán)利要求1或2所述的使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證 的方法,其特征在于,所述方法還包括服務(wù)器使用累加的方式對(duì)所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息進(jìn)行 編號(hào),使用所述編號(hào)作為所述觸發(fā)消息隨機(jī)數(shù);以使所述終端可以在收到所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息,根 據(jù)自身保存的觸發(fā)消息隨機(jī)數(shù),判斷所述觸發(fā)消息攜帶的觸發(fā)消息隨機(jī)數(shù)有 效時(shí),保存所述觸發(fā)消息攜帶的觸發(fā)消息隨機(jī)數(shù),并使用所述觸發(fā)消息隨機(jī) 數(shù)生成摘要對(duì)所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息進(jìn)行認(rèn)證。
5 、如權(quán)利要求4所述的使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證的方 法,其特征在于,所述終端判斷所述觸發(fā)消息攜帶的觸發(fā)消息隨機(jī)數(shù)有效包括所述終端以保存的觸發(fā)消息隨機(jī)數(shù)與所述觸發(fā)消息攜帶的觸發(fā)消息隨機(jī) 數(shù)進(jìn)行比較,在所述觸發(fā)消息攜帶的觸發(fā)消息隨機(jī)數(shù)大于所述保存的最大的 觸發(fā)消息隨機(jī)數(shù)時(shí),或在所述保存的已接收過(guò)的觸發(fā)消息隨機(jī)數(shù)中不包含所 述觸發(fā)消息攜帶的觸發(fā)消息隨機(jī)數(shù)時(shí),判斷所述觸發(fā)消息攜帶的觸發(fā)消息隨 機(jī)數(shù)有效。
6、 如權(quán)利要求4所述的使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證的方 法,其特征在于,所述方法還包括所述終端保存小于所述觸發(fā)消息隨機(jī)數(shù)最大值的全部或部分最大的未收 到過(guò)的數(shù)值;所述終端在收到所述觸發(fā)消息時(shí),以保存的觸發(fā)消息隨機(jī)數(shù)與所述觸發(fā) 消息攜帶的觸發(fā)消息隨機(jī)數(shù)進(jìn)行比較,在所述觸發(fā)消息攜帶的觸發(fā)消息隨機(jī) 數(shù)大于所述保存的最大的觸發(fā)消息隨機(jī)數(shù)時(shí),或在所述保存的未收到過(guò)的數(shù) 值中包含所述觸發(fā)消息攜帶的觸發(fā)消息隨機(jī)數(shù)時(shí),判斷所述觸發(fā)消息攜帶的 觸發(fā)消息隨機(jī)數(shù)有效。
7、 如權(quán)利要求4所述的使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證的方 法,其特征在于,所述方法還包括對(duì)觸發(fā)消息隨機(jī)數(shù)進(jìn)行調(diào)整。
8、 如權(quán)利要求1或2所述的使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證 的方法,其特征在于,所述服務(wù)器使用觸發(fā)消息隨機(jī)數(shù)生成觸發(fā)消息包括所述服務(wù)器將所述觸發(fā)消息隨機(jī)數(shù)攜帶在所述觸發(fā)消息的消息頭或消息體中,并使用所述觸發(fā)消息隨機(jī)數(shù)和所述觸發(fā)消息的消息頭和消息體生成摘 要,使用所述摘要生成所述觸發(fā)消息;.或所述服務(wù)器將所述觸發(fā)消息隨機(jī)數(shù)攜帶在所述觸發(fā)消息的消息體或消 息體中,使用所述觸發(fā)消息的消息頭和消息體生成摘要,使用所述摘要生成 所述觸發(fā)消息。
9、 一種使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證的方法,其特征在于,所述方法包括終端獲知需要更新服務(wù)器隨機(jī)數(shù);生成新的服務(wù)器隨機(jī)數(shù),并將所述新的服務(wù)器隨機(jī)數(shù)攜帶在會(huì)話請(qǐng)求消 息中,發(fā)送到服務(wù)器,以使所述服務(wù)器可以在收到所述攜帶有新的服務(wù)器隨 機(jī)數(shù)的會(huì)話請(qǐng)求消息時(shí),使用所述新的服務(wù)器隨機(jī)數(shù)更新自身保存的服務(wù)器 隨機(jī)數(shù)。
10、 如權(quán)利要求9所述的使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證的 方法,其特征在于,將所述新的服務(wù)器隨機(jī)數(shù)攜帶在會(huì)話請(qǐng)求中包括所述終端將所述新的服務(wù)器隨機(jī)數(shù)攜帶在所述會(huì)話請(qǐng)求消息的消息頭或 消息體中。
11、 如權(quán)利要求9所述的使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證的 方法,其特征在于,所述方法還包括所述終端在收到觸發(fā)消息后,決定不發(fā)起會(huì)話,在判斷服務(wù)器隨機(jī)數(shù)需 要更新時(shí),生成新的服務(wù)器隨機(jī)數(shù),并將所述新的服務(wù)器隨機(jī)數(shù)攜帶在狀態(tài) 回復(fù)消息中,發(fā)送到所述服務(wù)器;以使所述服務(wù)器可以在收到所述攜帶有新的服務(wù)器隨機(jī)數(shù)的狀態(tài)回復(fù)消 息時(shí),使用所述新的服務(wù)器隨機(jī)數(shù)更新自身保存的服務(wù)器隨機(jī)數(shù)。
12、 一種使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證的方法,其特征在 于,所述方法包括終端接收服務(wù)器發(fā)送的使用缺省隨機(jī)數(shù)生成的觸發(fā)消息;所述終端在收到所述觸發(fā)消息后,首先使用服務(wù)器隨機(jī)數(shù)認(rèn)證所述觸發(fā)消息,在認(rèn)證失敗后再使用缺省隨機(jī)數(shù)認(rèn)證觸發(fā)消息,在認(rèn)證通過(guò)后,使用 缺省隨機(jī)數(shù)生成會(huì)話請(qǐng)求消息請(qǐng)求會(huì)話,在會(huì)話中發(fā)送新的服務(wù)器隨機(jī)數(shù)到 所述服務(wù)器,使所述服務(wù)器更新服務(wù)器隨機(jī)數(shù),并接收服務(wù)器發(fā)送的使用缺 省隨機(jī)數(shù)生成的認(rèn)證信息,認(rèn)證服務(wù)器身份,接收服務(wù)器發(fā)送的更新終端隨 機(jī)凄t的命令以更新終端隨機(jī)數(shù)。并在更新所述服務(wù)器隨機(jī)數(shù)和終端隨機(jī)數(shù)后更新服務(wù)器密碼和終端齊碼。
13、 一種使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證的方法,其特征在于,所述方法包括服務(wù)器收到終端使用缺省隨機(jī)數(shù)生成的會(huì)話請(qǐng)求消息后,在會(huì)話使用了 應(yīng)用層安全機(jī)制,所述服務(wù)器發(fā)送過(guò)使用缺省隨機(jī)數(shù)的用以觸發(fā)所述會(huì)話的 觸發(fā)消息給所述終端,且使用缺省隨機(jī)數(shù)對(duì)所述會(huì)話請(qǐng)求消息進(jìn)行認(rèn)證通過(guò) 時(shí),向所述終端返回包含認(rèn)證結(jié)果和終端隨機(jī)數(shù)更新命令的應(yīng)答消息。
14、 如權(quán)利要求13所述的使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證的 方法,其特征在于,在所述方法還包括終端收到服務(wù)器使用缺省隨機(jī)數(shù)生成的會(huì)話應(yīng)答消息后,在所述會(huì)話使 用了應(yīng)用層安全機(jī)制,所述終端發(fā)送過(guò)使用缺省隨機(jī)數(shù)的會(huì)話請(qǐng)求消息給所 述服務(wù)器,且使用缺省隨機(jī)數(shù)對(duì)所述應(yīng)答消息進(jìn)行認(rèn)證通過(guò)時(shí),向所述服務(wù) 器返回包含認(rèn)證結(jié)果和服務(wù)器隨機(jī)數(shù)更新命令的應(yīng)答消息。
15、 一種使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證的方法,其特征在 于,所述方法包括終端接收服務(wù)器發(fā)送的使用缺省隨機(jī)數(shù)生成的觸發(fā)消息;所述終端在收到所述觸發(fā)消息后,首先使用服務(wù)器隨機(jī)數(shù)認(rèn)證所述觸發(fā) 消息,在認(rèn)證失敗后再使用缺省隨機(jī)數(shù)認(rèn)證觸發(fā)消息,在認(rèn)證通過(guò)后,使用 終端隨機(jī)數(shù)生成會(huì)話請(qǐng)求消息發(fā)送到服務(wù)器,并發(fā)送新的服務(wù)器隨機(jī)數(shù)到所 述服務(wù)器,使所述服務(wù)器使用所述新的服務(wù)器隨機(jī)數(shù)更新服務(wù)器隨機(jī)數(shù)。
16、 如權(quán)利要求15所述的使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證的方法,其特征在于,所述方法還包括所述終端將所述新的服務(wù)器隨機(jī)數(shù)攜帶在所述會(huì)話請(qǐng)求消息中發(fā)送到所 述服務(wù)器。
17、 如權(quán)利要求15所述的使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證的 方法,其特征在于,在所述終端使用終端隨機(jī)數(shù)生成會(huì)話請(qǐng)求消息并發(fā)送到 服務(wù)器之后,所述方法還包括所述終端收到所述服務(wù)器返回的使用缺省隨機(jī)數(shù)生成的應(yīng)答消息后,對(duì) 服務(wù)器進(jìn)行認(rèn)證,并認(rèn)證通過(guò)后,發(fā)送所述新的服務(wù)器隨機(jī)數(shù)到所述服務(wù)器, 使所述服務(wù)器使用所述新的服務(wù)器隨機(jī)數(shù)更新服務(wù)器隨機(jī)數(shù)。
18、 如權(quán)利要求15、 16或17所述的使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議 進(jìn)行認(rèn)證的方法,其特征在于,所述方法還包括在使用所述新的服務(wù)器隨機(jī)數(shù)更新服務(wù)器隨機(jī)數(shù)完成后,更新服務(wù)器密碼。
19、 一種使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證的方法,其特征在 于,所述方法包括終端接收服務(wù)器發(fā)送的觸發(fā)消息;所述終端在收到所述觸發(fā)消息后,提取其攜帶的認(rèn)證信息對(duì)所述服務(wù)器 進(jìn)行認(rèn)證;認(rèn)證通過(guò)后,終端使用服務(wù)器及終端共用隨機(jī)數(shù)生成會(huì)話請(qǐng)求,并發(fā)送 到所述服務(wù)器;以使所述服務(wù)器可以在收到所述會(huì)話請(qǐng)求后,使用所述共用隨機(jī)數(shù)對(duì)所 述終端進(jìn)行認(rèn)證;所述終端在收到所述服務(wù)器攜帶有使用所述共用隨機(jī)數(shù)生成的認(rèn)證信息 應(yīng)答消息后,使用所述共用隨機(jī)數(shù)對(duì)所述服務(wù)器進(jìn)行認(rèn)證。
20、 如權(quán)利要求19所述的使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證的 方法,其特征在于,所述終端接收服務(wù)器發(fā)送的觸發(fā)消息包括所述終端接收所述服務(wù)器發(fā)送的使用所述共用隨機(jī)數(shù)生成的觸發(fā)消息; 或所述終端接收所述服務(wù)器發(fā)送的使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息;或所述終端接收所述服務(wù)器發(fā)送的使用缺省隨機(jī)數(shù)生成的觸發(fā)消息;或所述終端接收所述服務(wù)器發(fā)送的未使用隨機(jī)數(shù)的觸發(fā)消息。
21 、如權(quán)利要求19所述的使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證 的方法,其特征在于,所述方法還包括在需要更新所述共用隨機(jī)數(shù)時(shí),生成新的共用隨機(jī)數(shù),并發(fā)送包含所述 新共用隨機(jī)數(shù)的消息;收到所述消息,使用所述新的共用隨機(jī)數(shù)更新所保存的共用隨機(jī)數(shù)。
22、 如權(quán)利要求21所述的使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證的 方法,其特征在于,所述方法還包括將所述新的共用隨機(jī)數(shù)攜帶在會(huì)話過(guò)程中的認(rèn)證消息中發(fā)送,收到所述 認(rèn)證消息后,使用更新前的隨機(jī)數(shù)生成摘要進(jìn)行認(rèn)證;或者將所述新的共用隨機(jī)數(shù)攜帶在會(huì)話過(guò)程中的管理消息中發(fā)送。
23、 如權(quán)利要求21或22所述的使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行 認(rèn)證的方法,其特征在于,所述方法還包括在判斷需要更新所述共用隨機(jī)數(shù)時(shí),發(fā)送隨機(jī)數(shù)更新請(qǐng)求消息;收到所述隨機(jī)數(shù)更新請(qǐng)求消息,生成所述新的共用隨機(jī)數(shù),并發(fā)送包含 所述新的共用隨機(jī)數(shù)的消息。
24、 一種使用數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議進(jìn)行認(rèn)證的系統(tǒng),其特征在 于,所述系統(tǒng)包括服務(wù)器,用于使用觸發(fā)消息隨機(jī)數(shù)生成觸發(fā)消息,并發(fā)送所述使用觸發(fā) 消息隨^L數(shù)生成的觸發(fā)消息;終端,用于接收所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息,提取所述觸 發(fā)消息隨機(jī)數(shù),在確認(rèn)所述觸發(fā)消息隨機(jī)數(shù)有效時(shí),使用所述觸發(fā)消息隨機(jī)數(shù)生成摘要對(duì)所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息進(jìn)行認(rèn)證,在認(rèn)證通 過(guò)后,向所述觸發(fā)消息指示的服務(wù)器發(fā)起會(huì);舌請(qǐng)求。
25、 一種服務(wù)器,其特征在于,所述服務(wù)器包括第一生成單元,用于使用觸發(fā)消息隨機(jī)數(shù)生成符合數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議規(guī)范的觸發(fā)消息;發(fā)送單元,用于發(fā)送所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息到終端, 以使所述終端可以提取所述觸發(fā)消息隨機(jī)數(shù),在確認(rèn)所述觸發(fā)消息隨機(jī)數(shù)有 效時(shí),使用所述觸發(fā)消息隨機(jī)數(shù)對(duì)所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息 進(jìn)行認(rèn)證,在認(rèn)證通過(guò)后,向所述觸發(fā)消息指示的服務(wù)器發(fā)起會(huì)話請(qǐng)求。
26、 如權(quán)利要求25所述的服務(wù)器,其特征在于,所述服務(wù)器還包括第二生成單元,用于使用服務(wù)器隨機(jī)數(shù)生成觸發(fā)消息,并將所述使用服 務(wù)器隨機(jī)數(shù)生成的觸發(fā)消息發(fā)送到所述終端,以使所述終端可以使用所述服 務(wù)器隨機(jī)數(shù)對(duì)所述使用服務(wù)器隨機(jī)數(shù)生成的觸發(fā)消息進(jìn)行認(rèn)證;判斷單元,用于在發(fā)現(xiàn)所述終端對(duì)所述使用服務(wù)器隨機(jī)數(shù)生成的觸發(fā)消 息認(rèn)證失敗時(shí),控制所述第一生成單元使用觸發(fā)消息隨機(jī)數(shù)生成觸發(fā)消息。
27、 如權(quán)利要求26所述的服務(wù)器,其特征在于,所述編碼單元包括 累加編碼單元,用于使用累加的方式對(duì)所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息進(jìn)行編號(hào),以使所述終端以保存的觸發(fā)消息隨機(jī)數(shù)與所述觸發(fā)消息 攜帶的觸發(fā)消息隨機(jī)數(shù)進(jìn)行比較,判斷所述觸發(fā)消息攜帶的觸發(fā)消息隨機(jī)數(shù) 是否有效,有效則使用所述觸發(fā)消息隨機(jī)數(shù)生成摘要對(duì)所述使用觸發(fā)消息隨 機(jī)數(shù)生成的觸發(fā)消息進(jìn)行認(rèn)證,并保存所述觸發(fā)消息攜帶的觸發(fā)消息隨機(jī)數(shù)。
28、 如權(quán)利要求26所述的服務(wù)器,其特征在于,所述服務(wù)器還包括 隨機(jī)數(shù)重置單元,用于對(duì)所述編碼單元生成的觸發(fā)消息隨機(jī)數(shù)進(jìn)行調(diào)整。
29、 一種終端,其特征在于,所述終端包括接收單元,用于接收所述服務(wù)器使用觸發(fā)消息隨機(jī)數(shù)生成的符合數(shù)據(jù)同 步協(xié)議或設(shè)備管理協(xié)議規(guī)范的觸發(fā)消息;第一認(rèn)證單元,用于提取所述觸發(fā)消息隨機(jī)數(shù),在確認(rèn)所述觸發(fā)消息隨 機(jī)數(shù)有效時(shí),使用所述觸發(fā)消息隨機(jī)數(shù)生成摘要對(duì)所述使用觸發(fā)消息隨機(jī)數(shù) 生成的觸發(fā)消息進(jìn)行認(rèn)證,在認(rèn)證通過(guò)后,向所述觸發(fā)消息指示的服務(wù)器發(fā) 起會(huì)話請(qǐng)求。
30、 如權(quán)利要求29所述的終端,其特征在于,所述終端還包括第二認(rèn)證單元,用于在收到所述使用服務(wù)器隨機(jī)數(shù)生成的觸發(fā)消息時(shí), 使用所述服務(wù)器隨機(jī)數(shù)生成摘要對(duì)所述使用服務(wù)器隨機(jī)數(shù)生成的觸發(fā)消息進(jìn)行認(rèn)證。
31、 如權(quán)利要求30所述的終端,其特征在于,所述終端還包括 第二有效判斷單元,用于在所述接收單元收到所述服務(wù)器使用觸發(fā)消息編號(hào)作為觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息,根據(jù)自身保存的觸發(fā)消息隨機(jī)數(shù), 判斷所述觸發(fā)消息攜帶的觸發(fā)消息隨機(jī)數(shù)有效時(shí),保存所述觸發(fā)消息攜帶的 觸發(fā)消息隨機(jī)數(shù),并控制所述第一認(rèn)證單元使用所述觸發(fā)消息隨機(jī)數(shù)對(duì)所述 使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息進(jìn)行認(rèn)證。
32、 如權(quán)利要求31所述的終端,其特征在于,所述第二有效判斷單元包括第一編碼判斷單元,用于在所述觸發(fā)消息編號(hào)為以累加方式進(jìn)行編號(hào)時(shí), 以所述保存的觸發(fā)消息隨機(jī)數(shù)與所述觸發(fā)消息攜帶的觸發(fā)消息隨機(jī)數(shù)進(jìn)行比 較,在所述觸發(fā)消息攜帶的觸發(fā)消息隨機(jī)數(shù)大于所述保存的最大的觸發(fā)消息 隨機(jī)數(shù)時(shí),或在所述保存的觸發(fā)消息隨機(jī)數(shù)中不包含所述觸發(fā)消息攜帶的觸 發(fā)消息隨機(jī)數(shù)時(shí),判斷所述觸發(fā)消息攜帶的觸發(fā)消息隨機(jī)數(shù)有效?;虻诙幋a判斷單元,用于在所述觸發(fā)消息編號(hào)為以累加方式進(jìn)行編號(hào) 時(shí),保存收到的最大的觸發(fā)消息隨機(jī)數(shù)、及小于所述觸發(fā)消息隨機(jī)數(shù)最大值 的全部或部分最大的未收到過(guò)的數(shù)值;在收到所述觸發(fā)消息時(shí),以保存的觸 發(fā)消息隨機(jī)數(shù)與所述觸發(fā)消息攜帶的觸發(fā)消息隨機(jī)數(shù)進(jìn)行比較,在所述觸發(fā) 消息攜帶的觸發(fā)消息隨機(jī)數(shù)大于所述保存的最大的觸發(fā)消息隨機(jī)數(shù)時(shí),或在 所述保存的未收到過(guò)的數(shù)值中包含所述觸發(fā)消息攜帶的觸發(fā)消息隨機(jī)數(shù)時(shí), 判斷所述觸發(fā)消息攜帶的觸發(fā)消息隨機(jī)數(shù)有效。
33、 一種終端,其特征在于,所述終端包括 獲知單元,用于獲知需要更新服務(wù)器隨機(jī)數(shù);第一生成單元,用于生成新的服務(wù)器隨機(jī)數(shù),并將所述新的服務(wù)器隨機(jī) 數(shù)攜帶在會(huì)話請(qǐng)求消息中,發(fā)送到所述服務(wù)器,以使所述服務(wù)器可以在收到 所述攜帶有新的服務(wù)器隨機(jī)數(shù)的會(huì)話請(qǐng)求時(shí),使用所述新的服務(wù)器隨機(jī)數(shù)更 新自身保存的服務(wù)器隨機(jī)數(shù)。
34、 如權(quán)利要求33所述的終端,其特征在于,所述終端還包括第二生成單元,用于在收到觸發(fā)消息后,決定不發(fā)起會(huì)話,判斷服務(wù)器 隨機(jī)數(shù)需要更新時(shí),生成新的服務(wù)器隨機(jī)數(shù),并將所述新的服務(wù)器隨機(jī)數(shù)攜 帶在狀態(tài)回復(fù)消息中,發(fā)送到所述服務(wù)器,以使所述服務(wù)器可以在收到所述 攜帶有新的服務(wù)器隨機(jī)數(shù)的狀態(tài)回復(fù)消息時(shí),使用所述新的服務(wù)器隨機(jī)數(shù)更 新自身保存的服務(wù)器隨機(jī)數(shù)。
35、 一種終端,其特征在于,所述終端包括協(xié)議或設(shè)備管理協(xié)議規(guī)范的觸發(fā)消息;生成單元,用于在收到所述觸發(fā)消息后,首先使用服務(wù)器隨機(jī)數(shù)認(rèn)證所 述觸發(fā)消息,在認(rèn)證失敗后再使用缺省隨機(jī)數(shù)認(rèn)證觸發(fā)消息,在認(rèn)證通過(guò)后, 使用終端隨機(jī)數(shù)生成會(huì)話請(qǐng)求發(fā)送到服務(wù)器,并生成新的服務(wù)器隨機(jī)數(shù),發(fā) 送到所述服務(wù)器,使所述服務(wù)器使用所述新的服務(wù)器隨機(jī)數(shù)更新服務(wù)器隨機(jī)數(shù)。
36、 如權(quán)利要求35所述的終端,其特征在于,所述終端還包括密碼修改單元,用于在使用所述新的服務(wù)器隨機(jī)數(shù)更新服務(wù)器隨機(jī)數(shù)完 成后,更新服務(wù)器密碼。
37、 一種服務(wù)器,其特征在于,所述服務(wù)器包括觸發(fā)單元,用于生成符合數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議規(guī)范的觸發(fā)消息, 并發(fā)送到終端,以使所述終端在收到所述觸發(fā)消息后,對(duì)所述觸發(fā)消息進(jìn)行 認(rèn)證;接收單元,用接收終端返回的使用服務(wù)器及終端共用隨機(jī)數(shù)生成的會(huì)話請(qǐng)求;認(rèn)證單元,用于使用所述共用隨機(jī)數(shù)對(duì)所述會(huì)話請(qǐng)求進(jìn)行認(rèn)證;生成單元,用于在對(duì)所述會(huì)話請(qǐng)求認(rèn)證通過(guò)后,使用所述共用隨機(jī)數(shù)生 成應(yīng)答消息,并發(fā)送到所述終端,以使所述終端在收到所述應(yīng)答消息后,使 用所述共用隨機(jī)數(shù)對(duì)所述應(yīng)答消息進(jìn)行認(rèn)證。
38、 如權(quán)利要求37所述的服務(wù)器,其特征在于,所述服務(wù)器還包括更新單元,用于在需要更新所述共用隨機(jī)數(shù)時(shí),生成新的共用隨機(jī)數(shù), 并發(fā)送包含所述新的共用隨機(jī)數(shù)的消息到所述終端,以使所述終端在收到所 述消息時(shí),使用所述新的共用隨機(jī)數(shù)更新所保存的共用隨機(jī)數(shù)。
39、 如權(quán)利要求37所述的服務(wù)器,其特征在于,所述服務(wù)器還包括請(qǐng)求單元,用于在需要更新所述共用隨機(jī)數(shù)時(shí),發(fā)送請(qǐng)求更新隨機(jī)數(shù)消 息至所述終端,以使所述終端在收到所述請(qǐng)求更新隨機(jī)數(shù)消息后生成所述新 的共用隨機(jī)數(shù),并發(fā)送包含所述新的共用隨機(jī)數(shù)的更新隨機(jī)數(shù)消息。
40、 一種終端,其特征在于,所述終端包括接收單元,用于接收服務(wù)器發(fā)送的符合數(shù)據(jù)同步協(xié)議或設(shè)備管理協(xié)議規(guī) 范的觸發(fā)消息;第一認(rèn)證單元,用于在收到所述觸發(fā)消息后,對(duì)所述觸發(fā)消息進(jìn)行認(rèn)證;生成單元,用于在認(rèn)證通過(guò)后,使用服務(wù)器及終端共用隨機(jī)數(shù)生成會(huì)話 請(qǐng)求,并發(fā)送到所述服務(wù)器,以使所述服務(wù)器可以在收到所述會(huì)話請(qǐng)求后, 使用所述共用隨機(jī)數(shù)對(duì)所述會(huì)話請(qǐng)求進(jìn)行認(rèn)證;第二認(rèn)證單元,用于在收到所述服務(wù)器使用所述共用隨機(jī)數(shù)生成的應(yīng)答 消息后,使用所述共用隨機(jī)數(shù)對(duì)所述應(yīng)答消息進(jìn)行認(rèn)證。
41、 如權(quán)利要求40所述的終端,其特征在于,所述終端還包括更新單元,用于在需要更新所述共用隨機(jī)數(shù)時(shí),生成新的共用隨機(jī)數(shù), 并發(fā)送包含所述新的共用隨機(jī)數(shù)的更新隨機(jī)數(shù)消息到所述服務(wù)器,以使所述服務(wù)器在收到所述更新隨機(jī)數(shù)消息時(shí),使用所述新的共用隨機(jī)數(shù)更新共用隨 機(jī)數(shù)。 —
42、如權(quán)利要求40所述的終端,其特征在于,所述終端還包括請(qǐng)求單元,用于在需要更新所述共用隨機(jī)數(shù)時(shí),發(fā)送請(qǐng)求更新隨機(jī)數(shù)消 息至所述服務(wù)器,以使所述服務(wù)器在收到所述請(qǐng)求更新隨機(jī)數(shù)消息后生成所 述新的共用隨機(jī)數(shù),并發(fā)送包含所述新的共用隨機(jī)數(shù)的更新隨機(jī)數(shù)消息。
全文摘要
本發(fā)明公開(kāi)了一種進(jìn)行認(rèn)證的方法,包括服務(wù)器使用觸發(fā)消息隨機(jī)數(shù)生成觸發(fā)消息,并將所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息發(fā)送到終端;以使所述終端可以提取所述觸發(fā)消息隨機(jī)數(shù),在確認(rèn)所述觸發(fā)消息隨機(jī)數(shù)有效時(shí),使用所述觸發(fā)消息隨機(jī)數(shù)生成摘要對(duì)所述使用觸發(fā)消息隨機(jī)數(shù)生成的觸發(fā)消息進(jìn)行認(rèn)證,在認(rèn)證通過(guò)后,向所述觸發(fā)消息指示的服務(wù)器發(fā)起會(huì)話請(qǐng)求。本發(fā)明還公開(kāi)了相應(yīng)的系統(tǒng)、服務(wù)器、終端。本發(fā)明使使用DS和DM協(xié)議的終端和服務(wù)器的認(rèn)證過(guò)程更加安全。
文檔編號(hào)H04L9/32GK101431413SQ20071019546
公開(kāi)日2009年5月13日 申請(qǐng)日期2007年11月27日 優(yōu)先權(quán)日2007年11月8日
發(fā)明者李克鵬, 柴曉前, 田林一, 高洪濤 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1