本發(fā)明涉及信息安全領(lǐng)域,尤其涉及一種服務(wù)器數(shù)據(jù)存儲(chǔ)空間共享的方法及裝置。
背景技術(shù):
隨著網(wǎng)絡(luò)的覆蓋與傳播,云服務(wù)在現(xiàn)實(shí)生活中越來(lái)越普及,現(xiàn)如今,為滿足更多用戶使用云服務(wù),故云服務(wù)在互聯(lián)網(wǎng)上是以集群的形式存在的。
而現(xiàn)有技術(shù)中,服務(wù)器的單機(jī)處理能力和存儲(chǔ)空間是有限的,如果無(wú)限制的將請(qǐng)求發(fā)向單臺(tái)服務(wù)器,則有可能大大超過(guò)服務(wù)器的處理能力導(dǎo)致服務(wù)器崩潰,無(wú)法穩(wěn)定可持續(xù)的為用戶提供可靠的服務(wù),既浪費(fèi)了空間,又在數(shù)據(jù)讀取時(shí)耗費(fèi)時(shí)間。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是為了解決現(xiàn)有技術(shù)中存在的問(wèn)題,提供了一種服務(wù)器數(shù)據(jù)存儲(chǔ)空間共享的方法及裝置。
本發(fā)明采用的技術(shù)方案是:
一方面,一種服務(wù)器數(shù)據(jù)存儲(chǔ)空間共享的方法,方法包括:
當(dāng)接收到應(yīng)用服務(wù)器發(fā)送的認(rèn)證請(qǐng)求時(shí),認(rèn)證服務(wù)器生成挑戰(zhàn)值,獲取認(rèn)證請(qǐng)求中的用戶信息,查找與用戶信息對(duì)應(yīng)的令牌序列號(hào);根據(jù)生成的挑戰(zhàn)值、獲取到的用戶信息以及查找到的令牌序列號(hào)生成推送認(rèn)證請(qǐng)求,發(fā)送推送認(rèn)證請(qǐng)求至移動(dòng)終端令牌,并將生成的挑戰(zhàn)值與查找到的令牌序列號(hào)對(duì)應(yīng)保存至緩存服務(wù)器;
當(dāng)接收到移動(dòng)終端令牌發(fā)送的推送認(rèn)證響應(yīng)時(shí),認(rèn)證服務(wù)器查找移動(dòng)終端令牌對(duì)應(yīng)的服務(wù)器種子密鑰,根據(jù)令牌序列號(hào)從緩存服務(wù)器獲取挑戰(zhàn)值,根據(jù)查找到的服務(wù)器種子密鑰以及獲取到的挑戰(zhàn)值生成應(yīng)答值;判斷生成的應(yīng)答值與推送認(rèn)證響應(yīng)中的應(yīng)答值是否匹配,是則向應(yīng)用服務(wù)器發(fā)送認(rèn)證成功響應(yīng),否則向應(yīng)用服務(wù)器發(fā)送認(rèn)證失敗響應(yīng)。
具體地,當(dāng)接收到應(yīng)用服務(wù)器發(fā)送的認(rèn)證請(qǐng)求時(shí),還包括:獲取認(rèn)證請(qǐng)求中的應(yīng)用標(biāo)識(shí),并根據(jù)應(yīng)用標(biāo)識(shí)獲取應(yīng)用信息;
其中,根據(jù)生成的挑戰(zhàn)值、獲取到的用戶信息以及查找到的令牌序列號(hào)生成推送認(rèn)證請(qǐng)求,具體為:根據(jù)生成的挑戰(zhàn)值、獲取到的用戶信息、查找到的令牌序列號(hào)以及應(yīng)用信息生成推送認(rèn)證請(qǐng)求。
進(jìn)一步地,發(fā)送推送認(rèn)證請(qǐng)求至移動(dòng)終端令牌之前,還包括:認(rèn)證服務(wù)器根據(jù)令牌序列號(hào)從緩存服務(wù)器中獲取對(duì)應(yīng)的認(rèn)證服務(wù)器ip,并判斷自身ip與獲取到的認(rèn)證服務(wù)器ip是否相同,是則將推送認(rèn)證請(qǐng)求發(fā)送至移動(dòng)終端令牌,否則將推送認(rèn)證請(qǐng)求發(fā)送至獲取到的認(rèn)證服務(wù)器ip對(duì)應(yīng)的認(rèn)證服務(wù)器;
具體地,方法還包括:當(dāng)接收到另一認(rèn)證服務(wù)器發(fā)送的推送認(rèn)證請(qǐng)求時(shí),認(rèn)證服務(wù)器將接收到的推送認(rèn)證請(qǐng)求發(fā)送至移動(dòng)終端令牌。
進(jìn)一步地,還包括:當(dāng)接收到移動(dòng)終端令牌發(fā)送的令牌序列號(hào)時(shí),認(rèn)證服務(wù)器將自身ip和令牌序列號(hào)建立關(guān)聯(lián)保存至緩存服務(wù)器。
更進(jìn)一步地,認(rèn)證服務(wù)器將自身ip和令牌序列號(hào)建立關(guān)聯(lián)保存至緩存服務(wù)器后,還包括:認(rèn)證服務(wù)器根據(jù)令牌序列號(hào)獲取認(rèn)證服務(wù)器ip,并與根據(jù)令牌序列號(hào)從緩存服務(wù)器中獲取對(duì)應(yīng)的的認(rèn)證服務(wù)器ip進(jìn)行對(duì)比,如果相同,則無(wú)需更新,結(jié)束;否則,認(rèn)證服務(wù)器將更新與令牌序列號(hào)建立關(guān)聯(lián)的認(rèn)證服務(wù)器ip,結(jié)束。
可選地,發(fā)送推送認(rèn)證請(qǐng)求至移動(dòng)終端令牌之前,還包括:認(rèn)證服務(wù)器發(fā)送推送認(rèn)證請(qǐng)求至緩存服務(wù)器并生成認(rèn)證通知數(shù)據(jù),將認(rèn)證通知數(shù)據(jù)發(fā)送至移動(dòng)終端令牌;
具體地,方法還包括:當(dāng)接收到移動(dòng)終端令牌返回的獲取推送認(rèn)證請(qǐng)求的信息后,認(rèn)證服務(wù)器從獲取推送認(rèn)證請(qǐng)求的信息中獲取令牌序列號(hào),根據(jù)令牌序列號(hào)從緩存服務(wù)器中獲取推送認(rèn)證請(qǐng)求,并將推送請(qǐng)求認(rèn)證發(fā)送至移動(dòng)終端令牌。
更具體地,將認(rèn)證通知數(shù)據(jù)發(fā)送至移動(dòng)終端令牌,具體包括:認(rèn)證服務(wù)器根據(jù)令牌序列號(hào)從緩存服務(wù)器獲取移動(dòng)終端標(biāo)識(shí),并將認(rèn)證通知數(shù)據(jù)和移動(dòng)終端標(biāo)識(shí)發(fā)送至icloud,icloud根據(jù)移動(dòng)終端標(biāo)識(shí)將認(rèn)證通知數(shù)據(jù)發(fā)送至移動(dòng)終端標(biāo)識(shí)對(duì)應(yīng)的移動(dòng)終端令牌。
其中,當(dāng)接收到移動(dòng)終端令牌發(fā)送的令牌序列號(hào)和移動(dòng)終端標(biāo)識(shí)時(shí),認(rèn)證服務(wù)器將令牌序列號(hào)和移動(dòng)終端標(biāo)識(shí)建立關(guān)聯(lián)保存至緩存服務(wù)器。
其中,將令牌序列號(hào)和移動(dòng)終端標(biāo)識(shí)建立關(guān)聯(lián)保存至緩存服務(wù)器后,還包括:認(rèn)證服務(wù)器根據(jù)令牌序列號(hào)獲取移動(dòng)終端標(biāo)識(shí),并與根據(jù)令牌序列號(hào)從緩存服務(wù)器中獲取對(duì)應(yīng)的移動(dòng)終端標(biāo)識(shí)進(jìn)行對(duì)比,如果相同,則無(wú)需更新,結(jié)束;否則,認(rèn)證服務(wù)器將更新與令牌序列號(hào)建立關(guān)聯(lián)的移動(dòng)終端標(biāo)識(shí),結(jié)束。
可選地,當(dāng)接收到移動(dòng)終端令牌發(fā)送的令牌序列號(hào)時(shí),還包括:認(rèn)證服務(wù)器和移動(dòng)終端令牌建立網(wǎng)絡(luò)數(shù)據(jù)鏈路。
進(jìn)一步地,認(rèn)證服務(wù)器和移動(dòng)終端令牌建立網(wǎng)絡(luò)數(shù)據(jù)鏈路后,還包括:認(rèn)證服務(wù)器獲取移動(dòng)終端令牌對(duì)應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí),并將網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí)和令牌序列號(hào)建立關(guān)聯(lián)保存至認(rèn)證服務(wù)器的存儲(chǔ)區(qū)。
更進(jìn)一步地,發(fā)送推送認(rèn)證請(qǐng)求至移動(dòng)終端令牌之前,還包括:認(rèn)證服務(wù)器根據(jù)令牌序列號(hào)從認(rèn)證服務(wù)器的存儲(chǔ)區(qū)中獲取對(duì)應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí),并根據(jù)網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí)獲取對(duì)應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)鏈路;
其中,發(fā)送推送認(rèn)證請(qǐng)求至移動(dòng)終端令牌,具體為:認(rèn)證服務(wù)器根據(jù)網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí)獲取對(duì)應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)鏈路,通過(guò)網(wǎng)絡(luò)數(shù)據(jù)鏈路發(fā)送推送認(rèn)證請(qǐng)求至移動(dòng)終端令牌。
具體地,將生成的挑戰(zhàn)值與查找到的令牌序列號(hào)對(duì)應(yīng)保存至緩存服務(wù)器,具體為:認(rèn)證服務(wù)器發(fā)送存儲(chǔ)挑戰(zhàn)值的請(qǐng)求至緩存服務(wù),緩存服務(wù)按照預(yù)設(shè)的存儲(chǔ)規(guī)則將挑戰(zhàn)值和令牌序列號(hào)存儲(chǔ)至緩存服務(wù)器的列表中;
具體地,根據(jù)令牌序列號(hào)從緩存服務(wù)器獲取挑戰(zhàn)值,具體為:認(rèn)證服務(wù)器發(fā)送獲取挑戰(zhàn)值的請(qǐng)求至緩存服務(wù),緩存服務(wù)根據(jù)令牌序列號(hào)從緩存服務(wù)器的列表中查詢令牌序列號(hào)對(duì)應(yīng)的挑戰(zhàn)值,并返回給認(rèn)證服務(wù)器。
可選地,將生成的挑戰(zhàn)值與查找到的令牌序列號(hào)對(duì)應(yīng)保存至緩存服務(wù)器后,還包括:認(rèn)證服務(wù)器設(shè)置挑戰(zhàn)值保存在緩存服務(wù)器的有效時(shí)間,超過(guò)有效時(shí)間,緩存服務(wù)器將挑戰(zhàn)值刪除。
具體地,判斷生成的應(yīng)答值與推送認(rèn)證響應(yīng)中的應(yīng)答值是否匹配之后,還包括:認(rèn)證服務(wù)器將緩存服務(wù)器中保存的與令牌序列號(hào)對(duì)應(yīng)的挑戰(zhàn)值刪除。
另一方面,本發(fā)明提供了一種服務(wù)器數(shù)據(jù)存儲(chǔ)空間共享的裝置,包括:
第一接收模塊,用于接收應(yīng)用服務(wù)器發(fā)送的認(rèn)證請(qǐng)求;
第一生成模塊,用于當(dāng)?shù)谝唤邮漳K接收到應(yīng)用服務(wù)器發(fā)送的認(rèn)證請(qǐng)求時(shí),生成挑戰(zhàn)值;
第一獲取模塊,用于獲取認(rèn)證請(qǐng)求中的用戶信息;
第一查找模塊,用于查找與用戶信息對(duì)應(yīng)的令牌序列號(hào);
第二生成模塊,用于根據(jù)第一生成模塊生成的挑戰(zhàn)值、第一獲取模塊獲取到的用戶信息以及第一查找模塊查找到的令牌序列號(hào)生成推送認(rèn)證請(qǐng)求;
第一發(fā)送模塊,用于發(fā)送推送認(rèn)證請(qǐng)求至移動(dòng)終端令牌;
第一保存模塊,用于將第一生成模塊生成的挑戰(zhàn)值與第一查找模塊查找到的令牌序列號(hào)對(duì)應(yīng)保存至緩存服務(wù)器;
第二接收模塊,用于接收移動(dòng)終端令牌發(fā)送的推送認(rèn)證響應(yīng);
第二查找模塊,用于查找移動(dòng)終端令牌對(duì)應(yīng)的服務(wù)器種子密鑰;
第二獲取模塊,用于根據(jù)第一查找模塊得到的令牌序列號(hào)從緩存服務(wù)器獲取挑戰(zhàn)值;
第三生成模塊,用于根據(jù)第二查找模塊查找到的服務(wù)器種子密鑰以及第二獲取模塊獲取到的挑戰(zhàn)值生成應(yīng)答值;
第一判斷模塊,用于判斷第三生成模塊生成的應(yīng)答值與第二接收模塊接收到的推送認(rèn)證響應(yīng)中的應(yīng)答值是否匹配;
第二發(fā)送模塊,用于當(dāng)?shù)谝慌袛嗄K判斷第三生成模塊生成的應(yīng)答值與第二接收模塊接收到的推送認(rèn)證響應(yīng)中的應(yīng)答值匹配成功時(shí),向應(yīng)用服務(wù)器發(fā)送認(rèn)證成功響應(yīng);
第三發(fā)送模塊,用于當(dāng)?shù)谝慌袛嗄K判斷第三生成模塊生成的應(yīng)答值與第二接收模塊接收到的推送認(rèn)證響應(yīng)中的應(yīng)答值匹配失敗時(shí),向應(yīng)用服務(wù)器發(fā)送認(rèn)證失敗響應(yīng)。
具體地,裝置還包括:第三獲取模塊,用于獲取認(rèn)證請(qǐng)求中的應(yīng)用標(biāo)識(shí);
第四獲取模塊,用于根據(jù)第三獲取模塊獲取到的應(yīng)用標(biāo)識(shí)獲取應(yīng)用信息;
進(jìn)一步地,第二生成模塊,具體用于:根據(jù)第一生成模塊生成的挑戰(zhàn)值、第一獲取模塊獲取到的用戶信息、第一查找模塊查找到的令牌序列號(hào)以及第四獲取模塊獲取到的應(yīng)用信息成推送認(rèn)證請(qǐng)求。
其中,裝置還包括:第五獲取模塊、第二判斷模塊第四發(fā)送模塊和第五發(fā)送模塊;
第五獲取模塊,用于裝置根據(jù)令牌序列號(hào)從緩存服務(wù)器中獲取對(duì)應(yīng)的認(rèn)證服務(wù)器ip;
第二判斷模塊,用于判斷裝置ip與第五獲取模塊獲取到的ip是否相同;
第四發(fā)送模塊,用于第二判斷模塊判斷裝置ip與第五獲取模塊獲取到的認(rèn)證服務(wù)器ip相同時(shí),將推送認(rèn)證請(qǐng)求發(fā)送至移動(dòng)終端令牌;
第五發(fā)送模塊,用于第二判斷模塊判斷裝置ip與第五獲取模塊獲取到的認(rèn)證服務(wù)器ip不相同時(shí),將推送認(rèn)證請(qǐng)求發(fā)送至第五獲取模塊獲取到的認(rèn)證服務(wù)器ip對(duì)應(yīng)的裝置;
第六接收模塊,用于接收另一裝置發(fā)送的推送認(rèn)證請(qǐng)求;
第六發(fā)送模塊,用于當(dāng)?shù)诹邮漳K接收另一裝置發(fā)送的推送認(rèn)證請(qǐng)求時(shí),將推送認(rèn)證請(qǐng)求發(fā)送至移動(dòng)終端令牌。
具體地,裝置還包括:第七接收模塊和第二保存模塊;
第七接收模塊,用于接收移動(dòng)終端令牌發(fā)送的令牌序列號(hào);
第二保存模塊,用于當(dāng)接收到移動(dòng)終端令牌發(fā)送的令牌序列號(hào)時(shí),裝置將自身ip和令牌序列號(hào)建立關(guān)聯(lián)保存至緩存服務(wù)器。
進(jìn)一步地,裝置還包括:第七獲取模塊、第八獲取模塊、第一對(duì)比模塊和第一更新模塊;
第七獲取模塊,用于根據(jù)令牌序列號(hào)獲取裝置ip;
第八獲取模塊,用于根據(jù)令牌序列號(hào)從緩存服務(wù)器中獲取裝置ip;
第一對(duì)比模塊,用于對(duì)比第七獲取模塊獲取的裝置ip與第八獲取模塊獲取的裝置ip是否相同;
第一更新模塊,用于當(dāng)?shù)谝粚?duì)比模塊對(duì)比第七獲取模塊獲取的裝置ip與第八獲取模塊獲取的裝置ip不同時(shí),更新與令牌序列號(hào)建立關(guān)聯(lián)的裝置ip,結(jié)束。
具體地,裝置還包括:第四生成模塊、第七發(fā)送模塊、第九獲取模塊、第十獲取模塊和第八發(fā)送模塊;
第四生成模塊,用于發(fā)送推送認(rèn)證請(qǐng)求至緩存服務(wù)器并生成認(rèn)證通知數(shù)據(jù);
第七發(fā)送模塊,用于將第四生成模塊生成的認(rèn)證通知數(shù)據(jù)發(fā)送至移動(dòng)終端令牌;
第九獲取模塊,用于當(dāng)接收到移動(dòng)終端令牌返回的獲取推送認(rèn)證請(qǐng)求的信息后,從獲取推送認(rèn)證請(qǐng)求的信息中獲取令牌序列號(hào);
第十獲取模塊,用于根據(jù)第九獲取模塊中獲取的令牌序列號(hào),從緩存服務(wù)器中獲取推送認(rèn)證請(qǐng)求;
第八發(fā)送模塊,用于將第十獲取模塊獲取的推送請(qǐng)求認(rèn)證發(fā)送至移動(dòng)終端令牌。
更進(jìn)一步地,第七發(fā)送模塊,具體包括:第一獲取單元和第一發(fā)送單元;
第一獲取單元,用于根據(jù)令牌序列號(hào)從緩存服務(wù)器獲取移動(dòng)終端標(biāo)識(shí);
第一發(fā)送單元,用于將認(rèn)證通知數(shù)據(jù)和移動(dòng)終端標(biāo)識(shí)發(fā)送至icloud,icloud根據(jù)移動(dòng)終端標(biāo)識(shí)將認(rèn)證通知數(shù)據(jù)發(fā)送至移動(dòng)終端標(biāo)識(shí)對(duì)應(yīng)的移動(dòng)終端令牌。
具體地,在還包括:第三保存模塊;
第三保存模塊,用于當(dāng)接收到移動(dòng)終端令牌發(fā)送的令牌序列號(hào)和移動(dòng)終端標(biāo)識(shí)時(shí),將令牌序列號(hào)和移動(dòng)終端標(biāo)識(shí)建立關(guān)聯(lián)保存至緩存服務(wù)器。
對(duì)應(yīng)地,裝置還包括:第十一獲取模塊、第十二獲取模塊、第二對(duì)比模塊和第二更新模塊
第十一獲取模塊,用于當(dāng)?shù)谌4婺K將令牌序列號(hào)和移動(dòng)終端標(biāo)識(shí)建立關(guān)聯(lián)保存至緩存服務(wù)器后,根據(jù)令牌序列號(hào)獲取移動(dòng)終端標(biāo)識(shí);
第十二獲取模塊,用于根據(jù)令牌序列號(hào)從緩存服務(wù)器中獲取對(duì)應(yīng)的移動(dòng)終端標(biāo)識(shí);
第二對(duì)比模塊,用于對(duì)比第十一獲取模塊和第十二獲取模塊獲取的移動(dòng)終端標(biāo)識(shí)是否相同;
第二更新模塊,用于當(dāng)?shù)诙?duì)比模塊對(duì)比第十一獲取模塊和第十二獲取模塊獲取的移動(dòng)終端標(biāo)識(shí)不同時(shí),更新與令牌序列號(hào)建立關(guān)聯(lián)的移動(dòng)終端標(biāo)識(shí),結(jié)束。
其中,裝置還包括:建立模塊,用于當(dāng)接收到移動(dòng)終端令牌發(fā)送的令牌序列號(hào)時(shí),裝置和移動(dòng)終端令牌建立網(wǎng)絡(luò)數(shù)據(jù)鏈路。
具體地,裝置還包括:第十三獲取模塊和第四保存模塊;
第十三獲取模塊,用于建立模塊建立網(wǎng)絡(luò)數(shù)據(jù)鏈路后,獲取移動(dòng)終端令牌對(duì)應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí);
第四保存模塊,用于將網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí)和令牌序列號(hào)建立關(guān)聯(lián)保存至裝置的存儲(chǔ)區(qū)。
具體地,裝置還包括:第十四獲取模塊;
第十四獲取模塊,用于根據(jù)令牌序列號(hào)從裝置的存儲(chǔ)區(qū)中獲取對(duì)應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí),并根據(jù)網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí)獲取對(duì)應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)鏈路;
進(jìn)一步地,第一發(fā)送模塊,具體用于:根據(jù)第十四獲取模塊獲取的網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí)獲取對(duì)應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)鏈路,通過(guò)網(wǎng)絡(luò)數(shù)據(jù)鏈路發(fā)送推送認(rèn)證請(qǐng)求至移動(dòng)終端令牌。
更進(jìn)一步地,在第一保存模塊,具體用于:發(fā)送存儲(chǔ)挑戰(zhàn)值的請(qǐng)求至緩存服務(wù),緩存服務(wù)按照預(yù)設(shè)的存儲(chǔ)規(guī)則將挑戰(zhàn)值和令牌序列號(hào)存儲(chǔ)至緩存服務(wù)器的列表中;
更進(jìn)一步地,第二獲取模塊,具體用于:發(fā)送獲取挑戰(zhàn)值的請(qǐng)求至緩存服務(wù),緩存服務(wù)根據(jù)令牌序列號(hào)從緩存服務(wù)器的列表中查詢令牌序列號(hào)對(duì)應(yīng)的挑戰(zhàn)值,并返回給認(rèn)證服務(wù)器。
可選地,裝置還包括:設(shè)置模塊;
設(shè)置模塊,用于設(shè)置挑戰(zhàn)值保存在緩存服務(wù)器的有效時(shí)間,當(dāng)挑戰(zhàn)值超過(guò)在緩存服務(wù)器的有效時(shí)間時(shí),緩存服務(wù)器將挑戰(zhàn)值刪除。
可選地,裝置還可以包括:刪除模塊;
刪除模塊,用于第一判斷模塊判斷生成的應(yīng)答值與推送認(rèn)證響應(yīng)中的應(yīng)答值是否匹配之后,將緩存服務(wù)器中保存的與令牌序列號(hào)對(duì)應(yīng)的挑戰(zhàn)值刪除。
本發(fā)明取得的有益效果是:采用本發(fā)明的技術(shù)方法,采用集群的方式均衡處理用戶的請(qǐng)求,將沒(méi)有必要持久化且需要頻繁訪問(wèn)的數(shù)據(jù)保存至緩存服務(wù)器中,可供多臺(tái)認(rèn)證服務(wù)器并發(fā)訪問(wèn),極大的緩解了后端存儲(chǔ)的壓力,簡(jiǎn)化數(shù)據(jù)處理流程,降低數(shù)據(jù)處理難度,保證每臺(tái)服務(wù)器存儲(chǔ)的數(shù)據(jù)能被互通,節(jié)省了認(rèn)證服務(wù)器存儲(chǔ)區(qū)的空間,縮短了數(shù)據(jù)讀取的時(shí)間。
附圖說(shuō)明
為了更清楚的說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單的介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例2提供的一種激活過(guò)程中服務(wù)器數(shù)據(jù)存儲(chǔ)空間共享的方法流程圖;
圖2是本發(fā)明實(shí)施例3提供的一種推送認(rèn)證過(guò)程中服務(wù)器數(shù)據(jù)存儲(chǔ)空間共享的方法中移動(dòng)終端令牌啟動(dòng)時(shí)的操作流程圖;
圖3和圖4是本發(fā)明實(shí)施例3提供的一種推送認(rèn)證過(guò)程中服務(wù)器數(shù)據(jù)存儲(chǔ)空間共享的方法流程圖;
圖5是本發(fā)明實(shí)施例4提供的一種推送認(rèn)證過(guò)程中服務(wù)器數(shù)據(jù)存儲(chǔ)空間共享的方法中移動(dòng)終端令牌啟動(dòng)時(shí)的操作流程圖;
圖6是本發(fā)明實(shí)施例4提供的一種推送認(rèn)證過(guò)程中服務(wù)器數(shù)據(jù)存儲(chǔ)空間共享的方法流程圖;
圖7是本發(fā)明實(shí)施例5提供的一種簡(jiǎn)單挑戰(zhàn)過(guò)程中服務(wù)器數(shù)據(jù)存儲(chǔ)空間共享的方法流程圖;
圖8是本發(fā)明實(shí)施例6提供的一種服務(wù)器數(shù)據(jù)存儲(chǔ)空間共享的裝置的示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明中認(rèn)證服務(wù)器的數(shù)據(jù)可以根據(jù)需求設(shè)定足夠多的數(shù)量,以認(rèn)證服務(wù)器為4臺(tái)為例來(lái)說(shuō)明,在此說(shuō)明,4臺(tái)認(rèn)證服務(wù)器分別命名為一號(hào)認(rèn)證服務(wù)器、二號(hào)認(rèn)證服務(wù)器、三號(hào)認(rèn)證服務(wù)器和四號(hào)認(rèn)證服務(wù)器,其中,一號(hào)認(rèn)證服務(wù)器ip為192.168.3.28、二號(hào)認(rèn)證服務(wù)器ip為192.168.5.21、三號(hào)認(rèn)證服務(wù)器ip為192.168.45.48、四號(hào)認(rèn)證服務(wù)器ip為192.168.52.15,其中,4臺(tái)認(rèn)證服務(wù)器可以單獨(dú)對(duì)緩存服務(wù)器進(jìn)行增刪改查的操作;
本發(fā)明實(shí)施例1描述的是一種服務(wù)器數(shù)據(jù)存儲(chǔ)空間共享的方法,實(shí)施例2描述的是一種激活過(guò)程中服務(wù)器數(shù)據(jù)存儲(chǔ)空間共享的方法,實(shí)施例3描述的是一種推送認(rèn)證過(guò)程中服務(wù)器數(shù)據(jù)存儲(chǔ)空間共享的方法,實(shí)施例4描述的是一種推送認(rèn)證過(guò)程中服務(wù)器數(shù)據(jù)存儲(chǔ)空間共享的方法,實(shí)施例5描述的是一種簡(jiǎn)單挑戰(zhàn)過(guò)程中服務(wù)器數(shù)據(jù)存儲(chǔ)空間共享的方法,實(shí)施例6描述的是一種服務(wù)器數(shù)據(jù)存儲(chǔ)空間共享的裝置。
實(shí)施例1
本發(fā)明實(shí)施例1提供了一種服務(wù)器數(shù)據(jù)存儲(chǔ)空間共享的方法,包括:
當(dāng)接收到應(yīng)用服務(wù)器發(fā)送的認(rèn)證請(qǐng)求時(shí),認(rèn)證服務(wù)器生成挑戰(zhàn)值,獲取認(rèn)證請(qǐng)求中的用戶信息,查找與用戶信息對(duì)應(yīng)的令牌序列號(hào);根據(jù)生成的挑戰(zhàn)值、獲取到的用戶信息以及查找到的令牌序列號(hào)生成推送認(rèn)證請(qǐng)求,發(fā)送推送認(rèn)證請(qǐng)求至移動(dòng)終端令牌,并將生成的挑戰(zhàn)值與查找到的令牌序列號(hào)對(duì)應(yīng)保存至緩存服務(wù)器;
當(dāng)接收到移動(dòng)終端令牌發(fā)送的推送認(rèn)證響應(yīng)時(shí),認(rèn)證服務(wù)器查找移動(dòng)終端令牌對(duì)應(yīng)的服務(wù)器種子密鑰,根據(jù)令牌序列號(hào)從緩存服務(wù)器獲取挑戰(zhàn)值,根據(jù)查找到的服務(wù)器種子密鑰以及獲取到的挑戰(zhàn)值生成應(yīng)答值;判斷生成的應(yīng)答值與推送認(rèn)證響應(yīng)中的應(yīng)答值是否匹配,是則向應(yīng)用服務(wù)器發(fā)送認(rèn)證成功響應(yīng),否則向應(yīng)用服務(wù)器發(fā)送認(rèn)證失敗響應(yīng)。
具體地,當(dāng)接收到應(yīng)用服務(wù)器發(fā)送的認(rèn)證請(qǐng)求時(shí),還包括:獲取認(rèn)證請(qǐng)求中的應(yīng)用標(biāo)識(shí),并根據(jù)應(yīng)用標(biāo)識(shí)獲取應(yīng)用信息;
其中,根據(jù)生成的挑戰(zhàn)值、獲取到的用戶信息以及查找到的令牌序列號(hào)生成推送認(rèn)證請(qǐng)求,具體為:根據(jù)生成的挑戰(zhàn)值、獲取到的用戶信息、查找到的令牌序列號(hào)以及應(yīng)用信息生成推送認(rèn)證請(qǐng)求。
進(jìn)一步地,發(fā)送推送認(rèn)證請(qǐng)求至移動(dòng)終端令牌之前,還包括:認(rèn)證服務(wù)器根據(jù)令牌序列號(hào)從緩存服務(wù)器中獲取對(duì)應(yīng)的認(rèn)證服務(wù)器ip,并判斷自身ip與獲取到的認(rèn)證服務(wù)器ip是否相同,是則將推送認(rèn)證請(qǐng)求發(fā)送至移動(dòng)終端令牌,否則將推送認(rèn)證請(qǐng)求發(fā)送至獲取到的認(rèn)證服務(wù)器ip對(duì)應(yīng)的認(rèn)證服務(wù)器;
具體地,方法還包括:當(dāng)接收到另一認(rèn)證服務(wù)器發(fā)送的推送認(rèn)證請(qǐng)求時(shí),認(rèn)證服務(wù)器將接收到的推送認(rèn)證請(qǐng)求發(fā)送至移動(dòng)終端令牌。
進(jìn)一步地,還包括:當(dāng)接收到移動(dòng)終端令牌發(fā)送的令牌序列號(hào)時(shí),認(rèn)證服務(wù)器將自身ip和令牌序列號(hào)建立關(guān)聯(lián)保存至緩存服務(wù)器。
更進(jìn)一步地,認(rèn)證服務(wù)器將自身ip和令牌序列號(hào)建立關(guān)聯(lián)保存至緩存服務(wù)器后,還包括:認(rèn)證服務(wù)器根據(jù)令牌序列號(hào)獲取認(rèn)證服務(wù)器ip,并與根據(jù)令牌序列號(hào)從緩存服務(wù)器中獲取對(duì)應(yīng)的認(rèn)證服務(wù)器ip進(jìn)行對(duì)比,如果相同,則無(wú)需更新,結(jié)束;否則,認(rèn)證服務(wù)器將更新與令牌序列號(hào)建立關(guān)聯(lián)的認(rèn)證服務(wù)器ip,結(jié)束。
可選地,發(fā)送推送認(rèn)證請(qǐng)求至移動(dòng)終端令牌之前,還包括:認(rèn)證服務(wù)器發(fā)送推送認(rèn)證請(qǐng)求至緩存服務(wù)器并生成認(rèn)證通知數(shù)據(jù),將認(rèn)證通知數(shù)據(jù)發(fā)送至移動(dòng)終端令牌;
具體地,方法還包括:當(dāng)接收到移動(dòng)終端令牌返回的獲取推送認(rèn)證請(qǐng)求的信息后,認(rèn)證服務(wù)器從獲取推送認(rèn)證請(qǐng)求的信息中獲取令牌序列號(hào),根據(jù)令牌序列號(hào)從緩存服務(wù)器中獲取推送認(rèn)證請(qǐng)求,并將推送請(qǐng)求認(rèn)證發(fā)送至移動(dòng)終端令牌。
更具體地,將認(rèn)證通知數(shù)據(jù)發(fā)送至移動(dòng)終端令牌,具體包括:認(rèn)證服務(wù)器根據(jù)令牌序列號(hào)從緩存服務(wù)器獲取移動(dòng)終端標(biāo)識(shí),并將認(rèn)證通知數(shù)據(jù)和移動(dòng)終端標(biāo)識(shí)發(fā)送至icloud,icloud根據(jù)移動(dòng)終端標(biāo)識(shí)將認(rèn)證通知數(shù)據(jù)發(fā)送至移動(dòng)終端標(biāo)識(shí)對(duì)應(yīng)的移動(dòng)終端令牌。
其中,當(dāng)接收到移動(dòng)終端令牌發(fā)送的令牌序列號(hào)和移動(dòng)終端標(biāo)識(shí)時(shí),認(rèn)證服務(wù)器將令牌序列號(hào)和移動(dòng)終端標(biāo)識(shí)建立關(guān)聯(lián)保存至緩存服務(wù)器。
其中,將令牌序列號(hào)和移動(dòng)終端標(biāo)識(shí)建立關(guān)聯(lián)保存至緩存服務(wù)器后,還包括:認(rèn)證服務(wù)器根據(jù)令牌序列號(hào)獲取移動(dòng)終端標(biāo)識(shí),并與根據(jù)令牌序列號(hào)從緩存服務(wù)器中獲取對(duì)應(yīng)的移動(dòng)終端標(biāo)識(shí)進(jìn)行對(duì)比,如果相同,則無(wú)需更新,結(jié)束;否則,認(rèn)證服務(wù)器將更新與令牌序列號(hào)建立關(guān)聯(lián)的移動(dòng)終端標(biāo)識(shí),結(jié)束。
可選地,當(dāng)接收到移動(dòng)終端令牌發(fā)送的令牌序列號(hào)時(shí),還包括:認(rèn)證服務(wù)器和移動(dòng)終端令牌建立網(wǎng)絡(luò)數(shù)據(jù)鏈路。
進(jìn)一步地,認(rèn)證服務(wù)器和移動(dòng)終端令牌建立網(wǎng)絡(luò)數(shù)據(jù)鏈路后,還包括:認(rèn)證服務(wù)器獲取移動(dòng)終端令牌對(duì)應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí),并將網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí)和令牌序列號(hào)建立關(guān)聯(lián)保存至認(rèn)證服務(wù)器的存儲(chǔ)區(qū)。
更進(jìn)一步地,發(fā)送推送認(rèn)證請(qǐng)求至移動(dòng)終端令牌之前,還包括:認(rèn)證服務(wù)器根據(jù)令牌序列號(hào)從認(rèn)證服務(wù)器的存儲(chǔ)區(qū)中獲取對(duì)應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí),并根據(jù)網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí)獲取對(duì)應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)鏈路;
其中,發(fā)送推送認(rèn)證請(qǐng)求至移動(dòng)終端令牌,具體為:認(rèn)證服務(wù)器根據(jù)網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí)獲取對(duì)應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)鏈路,通過(guò)網(wǎng)絡(luò)數(shù)據(jù)鏈路發(fā)送推送認(rèn)證請(qǐng)求至移動(dòng)終端令牌。
具體地,將生成的挑戰(zhàn)值與查找到的令牌序列號(hào)對(duì)應(yīng)保存至緩存服務(wù)器,具體為:認(rèn)證服務(wù)器發(fā)送存儲(chǔ)挑戰(zhàn)值的請(qǐng)求至緩存服務(wù),緩存服務(wù)按照預(yù)設(shè)的存儲(chǔ)規(guī)則將挑戰(zhàn)值和令牌序列號(hào)存儲(chǔ)至緩存服務(wù)器的列表中;
具體地,根據(jù)令牌序列號(hào)從緩存服務(wù)器獲取挑戰(zhàn)值,具體為:認(rèn)證服務(wù)器發(fā)送獲取挑戰(zhàn)值的請(qǐng)求至緩存服務(wù),緩存服務(wù)根據(jù)令牌序列號(hào)從緩存服務(wù)器的列表中查詢令牌序列號(hào)對(duì)應(yīng)的挑戰(zhàn)值,并返回給認(rèn)證服務(wù)器。
可選地,將生成的挑戰(zhàn)值與查找到的令牌序列號(hào)對(duì)應(yīng)保存至緩存服務(wù)器后,還包括:認(rèn)證服務(wù)器設(shè)置挑戰(zhàn)值保存在緩存服務(wù)器的有效時(shí)間,超過(guò)有效時(shí)間,緩存服務(wù)器將挑戰(zhàn)值刪除。
具體地,判斷生成的應(yīng)答值與推送認(rèn)證響應(yīng)中的應(yīng)答值是否匹配之后,還包括:認(rèn)證服務(wù)器將緩存服務(wù)器中保存的與令牌序列號(hào)對(duì)應(yīng)的挑戰(zhàn)值刪除。
實(shí)施例2
本實(shí)施例提供一種激活過(guò)程中服務(wù)器數(shù)據(jù)存儲(chǔ)空間共享的方法,參見(jiàn)圖1,應(yīng)用于包括認(rèn)證管理平臺(tái)、認(rèn)證服務(wù)器和移動(dòng)終端令牌的系統(tǒng)中,具體包括:
步驟101:認(rèn)證管理平臺(tái)根據(jù)用戶記錄中的用戶信息,生成第一激活請(qǐng)求;
本步驟之前還包括:認(rèn)證管理平臺(tái)接收管理員選擇的需要激活的用戶記錄,根據(jù)用戶記錄,判斷是否能夠獲取對(duì)應(yīng)的用戶信息,如果是,則執(zhí)行步驟101,否則提示信息不完整,結(jié)束;
本實(shí)施例中,執(zhí)行步驟101后還包括:判斷是否能夠獲取到對(duì)應(yīng)的令牌標(biāo)識(shí)碼、移動(dòng)終端系統(tǒng)版本,如果是,則執(zhí)行步驟102,否則提示信息不完整,結(jié)束;
其中,認(rèn)證管理平臺(tái)在用戶注冊(cè)時(shí),要求用戶輸入令牌標(biāo)識(shí)碼和移動(dòng)終端系統(tǒng)版本;
例如,認(rèn)證管理平臺(tái)接收到管理員選擇的用戶記錄為:
用戶信息包括:用戶名:abc@test.com,密碼:168408afag
用戶手機(jī)號(hào):01234567890
用戶名:abc
用戶郵箱:123456789@163.com
移動(dòng)終端號(hào):18912345678
令牌標(biāo)識(shí)碼:57987117827971672588
移動(dòng)終端系統(tǒng)版本:1
進(jìn)一步的,本實(shí)施例中,步驟101之前還包括:
步驟100-1:認(rèn)證管理平臺(tái)接收管理員點(diǎn)擊的激活按鈕;
步驟100-2:認(rèn)證管理平臺(tái)判斷是否能夠獲取到上次激活時(shí)間,如果是,則執(zhí)行步驟101-3,否則執(zhí)行步驟101;
步驟100-3:認(rèn)證管理平臺(tái)獲取當(dāng)前系統(tǒng)時(shí)間,判斷當(dāng)前系統(tǒng)時(shí)間和上次激活時(shí)間之差是否大于預(yù)設(shè)時(shí)長(zhǎng),如果是,則執(zhí)行步驟101,否則返回不可重復(fù)激活響應(yīng),結(jié)束;
步驟102:認(rèn)證管理平臺(tái)將第一激活請(qǐng)求發(fā)送給認(rèn)證服務(wù)器;
步驟103:認(rèn)證服務(wù)器從第一激活請(qǐng)求中獲取用戶信息,調(diào)用隨機(jī)數(shù)生成函數(shù),生成第一隨機(jī)數(shù),將第一隨機(jī)數(shù)作為激活請(qǐng)求id;
本實(shí)施例中,優(yōu)選的,為了保證安全,要求二維碼圖片只能在預(yù)定時(shí)間內(nèi)有效,因此,認(rèn)證服務(wù)器生成激活請(qǐng)求id后,將激活請(qǐng)求id保存至服務(wù)器存儲(chǔ)區(qū)中,并記錄服務(wù)器系統(tǒng)時(shí)間。
例如,生成的激活請(qǐng)求id為fasdcvxvdsafdsfzcxcsdfsdafcxz,記錄服務(wù)器系統(tǒng)時(shí)間為1417502570。
步驟104:認(rèn)證服務(wù)器將激活請(qǐng)求id與用戶信息建立關(guān)聯(lián)后,將激活請(qǐng)求id與用戶信息發(fā)送至緩存服務(wù)器;
步驟105:認(rèn)證服務(wù)器生成第一激活響應(yīng)并返回給認(rèn)證管理平臺(tái);
具體地,本實(shí)施例中,認(rèn)證服務(wù)器接收來(lái)自認(rèn)證管理平臺(tái)的第一激活請(qǐng)求,預(yù)設(shè)前綴標(biāo)識(shí)為yunxin://,預(yù)設(shè)域名為:api-6位企業(yè)標(biāo)識(shí).cloudentify.com;
生成的第一激活響應(yīng)為:
yunxin://api-6位企業(yè)標(biāo)識(shí).cloudentify.com?reqid=激活請(qǐng)求id;
例如,認(rèn)證服務(wù)器根據(jù)預(yù)設(shè)前綴標(biāo)識(shí)yunxin://、獲取到的企業(yè)標(biāo)識(shí)dfserv,預(yù)設(shè)域名api-6位企業(yè)標(biāo)識(shí).cloudentify.com和激活請(qǐng)求idfasdcvxvdsafdsfzcxcsdfsdafcxz;
生成的第一激活響應(yīng)為:
yunxin://api-dfserv.cloudentify.com?reqid=fasdcvxvdsafdsfzcxcsdfsdafcxz。
步驟106:認(rèn)證管理平臺(tái)根據(jù)接收到的第一激活響應(yīng)生成二維碼圖片;
具體地,在本實(shí)施例中,認(rèn)證管理平臺(tái)采用郵件激活方式根據(jù)接收到的第一激活響應(yīng)生成二維碼圖片。
步驟107:移動(dòng)終端令牌掃描二維碼,獲取終端端口號(hào),根據(jù)預(yù)設(shè)域名、企業(yè)標(biāo)識(shí)和終端端口號(hào)得到激活url,通過(guò)激活url訪問(wèn)認(rèn)證服務(wù)器,與認(rèn)證服務(wù)器建立網(wǎng)絡(luò)數(shù)據(jù)鏈路,并根據(jù)激活請(qǐng)求id生成第二激活請(qǐng)求;
在本實(shí)施例中,移動(dòng)終端令牌掃描二維碼,根據(jù)二維碼圖片得到第一激活響應(yīng),從第一激活響應(yīng)中獲取預(yù)設(shè)域名、企業(yè)標(biāo)識(shí)和激活請(qǐng)求id。例如,移動(dòng)終端令牌從第一激活響應(yīng)中獲取到的激活請(qǐng)求id為fasdcvxvdsafdsfzcxcsdfsdafcxz;
終端具體為pc機(jī)、ipad、手機(jī)(非裝載所述移動(dòng)終端令牌的終端設(shè)備)等能夠接收郵件的終端設(shè)備。例如,移動(dòng)終端令牌獲取到的終端端口號(hào)為1843,預(yù)設(shè)域名和企業(yè)標(biāo)識(shí)api-dfserv.cloudentify.com;
得到的激活url為:
api-dfserv.cloudentify.com:1843/fasdcvxvdsafdsfzcxcsdfsdafcxz;通過(guò)該激活url訪問(wèn)認(rèn)證服務(wù)器,與認(rèn)證服務(wù)器建立網(wǎng)絡(luò)數(shù)據(jù)鏈路,具體為tcp連接,傳輸數(shù)據(jù)優(yōu)選采用json數(shù)據(jù)格式;
本實(shí)施例中,本步驟還包括:移動(dòng)終端令牌獲取預(yù)設(shè)在線激活請(qǐng)求類型,獲取保存的令牌標(biāo)識(shí)碼和令牌版本號(hào)、調(diào)用獲取系統(tǒng)類型函數(shù),獲取移動(dòng)終端系統(tǒng)類型,然后對(duì)預(yù)設(shè)在線激活請(qǐng)求類型、激活請(qǐng)求id、令牌標(biāo)識(shí)碼、移動(dòng)終端系統(tǒng)類型和令牌版本號(hào)進(jìn)行mac校驗(yàn),得到mac校驗(yàn)碼;
例如,獲取的終端端口號(hào)為1843,獲取到的預(yù)設(shè)在線激活請(qǐng)求類型為6,即"reqtype":"6";獲取到的令牌標(biāo)識(shí)碼為57987117827971672588,即"udid":"57987117827971672588";獲取到的令牌版本號(hào)為2.5,即app_version":"2.5";調(diào)用獲取系統(tǒng)類型函數(shù),獲取到的移動(dòng)終端系統(tǒng)類型為安卓系統(tǒng),則將移動(dòng)終端系統(tǒng)類型置為1(如果為ios系統(tǒng),則將移動(dòng)終端系統(tǒng)類型置為2),即"os":"1";計(jì)算得到的mac校驗(yàn)碼為e5326079df79129b8bd599301a1b9efb360b0cc6;則根據(jù)預(yù)設(shè)域名、企業(yè)標(biāo)識(shí)、激活請(qǐng)求id和終端端口號(hào)生成的第二激活請(qǐng)求為:
{"os":"1","reqid":"fasdcvxvdsafdsfzcxcsdfsdafcxz","reqtype":"6","udid":"57987117827971672588",app_version":"2.5","mac":"e5326079df79129b8bd599301a1b9efb360b0cc6"};
步驟108:移動(dòng)終端令牌通過(guò)網(wǎng)絡(luò)數(shù)據(jù)鏈路將第二激活請(qǐng)求發(fā)送給認(rèn)證服務(wù)器;
步驟109:認(rèn)證服務(wù)器接收到第二激活請(qǐng)求數(shù)據(jù)后,從第二激活請(qǐng)求中獲取激活請(qǐng)求id,判斷激活請(qǐng)求id是否正確且有效,如果是則執(zhí)行步驟110,否則報(bào)錯(cuò),結(jié)束。
本實(shí)施例中,判斷激活請(qǐng)求id是否正確且有效,具體為:判斷激活請(qǐng)求id與服務(wù)器存儲(chǔ)區(qū)中保存的激活請(qǐng)求id是否相同,如果是,則激活請(qǐng)求id正確,否則激活請(qǐng)求id不正確;且判斷服務(wù)器系統(tǒng)時(shí)間與服務(wù)器存儲(chǔ)區(qū)中保存的系統(tǒng)時(shí)間的差值是否在預(yù)設(shè)范圍(優(yōu)選為120s)內(nèi),如果是,則激活請(qǐng)求id有效,否則接收到的激活請(qǐng)求id無(wú)效,刪除服務(wù)器存儲(chǔ)區(qū)中的激活請(qǐng)求id;
本實(shí)施例中,步驟109還包括:認(rèn)證服務(wù)器從第二激活請(qǐng)求數(shù)據(jù)中獲取令牌標(biāo)識(shí)碼和移動(dòng)終端系統(tǒng)類型,并根據(jù)激活請(qǐng)求id從認(rèn)證服務(wù)器存儲(chǔ)區(qū)中獲取保存的終端設(shè)備標(biāo)識(shí)碼和移動(dòng)終端系統(tǒng)類型,判斷是否匹配,如果是,則執(zhí)行步驟110,否則報(bào)錯(cuò),結(jié)束;
步驟110:認(rèn)證服務(wù)器根據(jù)激活請(qǐng)求id從緩存服務(wù)器中獲取用戶信息;
步驟111:認(rèn)證服務(wù)器根據(jù)令牌序列號(hào)生成方法,產(chǎn)生一個(gè)令牌序列號(hào);
本實(shí)施例中,優(yōu)選的,otp認(rèn)證中心根據(jù)令牌序列號(hào)的生成順序,生成一個(gè)長(zhǎng)度為10位的令牌序列號(hào),除此之外,還可以為:對(duì)用戶名進(jìn)行預(yù)設(shè)運(yùn)算,生成令牌序列號(hào);
其中,優(yōu)選的,令牌序列號(hào)生成方法,具體為:根據(jù)令牌序列號(hào)的生成順序,按照從0000000001開(kāi)始每次增加1的順序產(chǎn)生一個(gè)令牌序列號(hào);
例如,已激活的令牌序列號(hào)為1000000009,則本次生成的令牌序列號(hào)為1000000010;
步驟112:認(rèn)證服務(wù)器將令牌序列號(hào)、激活請(qǐng)求id與用戶信息建立關(guān)聯(lián),將建立關(guān)聯(lián)的信息保存至緩存服務(wù)器;
步驟113:認(rèn)證服務(wù)器調(diào)用隨機(jī)數(shù)生成函數(shù),生成第二隨機(jī)數(shù),將該第二隨機(jī)數(shù)作為種子生成因子,根據(jù)種子生成因子生成服務(wù)器種子密鑰;
本實(shí)施例中,優(yōu)選的,otp認(rèn)證中心調(diào)用隨機(jī)數(shù)生成函數(shù),random.nextint(10),生成長(zhǎng)度為10位十進(jìn)制的第二隨機(jī)數(shù),作為種子生成因子;
例如,認(rèn)證服務(wù)器生成的第二隨機(jī)數(shù),即種子生成因子為30750849669824758444;
本實(shí)施例中,認(rèn)證服務(wù)器應(yīng)用預(yù)設(shè)推導(dǎo)算法,對(duì)種子生成因子進(jìn)行推導(dǎo),得到服務(wù)器種子密鑰,優(yōu)選的,認(rèn)證服務(wù)器應(yīng)用pbkdf2推導(dǎo)算法,得到20個(gè)字節(jié)的服務(wù)器種子密鑰,除此之外,還可以為bf推導(dǎo)算法等;
例如,認(rèn)證服務(wù)器生成的第二隨機(jī)數(shù),即種子生成因子為6595781253;
對(duì)種子生成因子進(jìn)行推導(dǎo),得到的服務(wù)器種子密鑰為:
fb80ecda5edf464cf7715ee66a25ed079122d429。
步驟114:認(rèn)證服務(wù)器根據(jù)用戶名獲取對(duì)應(yīng)的企業(yè)密鑰,應(yīng)用企業(yè)密鑰對(duì)服務(wù)器種子密鑰進(jìn)行加密,得到加密服務(wù)器種子密鑰,將加密服務(wù)器種子密鑰與用戶名建立關(guān)聯(lián)并保存至認(rèn)證服務(wù)器存儲(chǔ)區(qū)中;
具體為:認(rèn)證服務(wù)器根據(jù)令牌序列號(hào),使用預(yù)設(shè)加密算法對(duì)服務(wù)器種子密鑰進(jìn)行加密,得到二進(jìn)制的加密服務(wù)器種子密鑰,然后對(duì)二進(jìn)制的加密服務(wù)器種子密鑰進(jìn)行base64轉(zhuǎn)換,得到字符串,優(yōu)選的,預(yù)設(shè)加密算法為3des算法,除此之外,還可以為sm3、rsa算法等;
例如,認(rèn)證服務(wù)器獲取到的企業(yè)密鑰為:
1f3d4e3a12459372b837193177913782;
應(yīng)用企業(yè)密鑰對(duì)服務(wù)器種子密鑰加密且轉(zhuǎn)換后得到的加密服務(wù)器種子密鑰為:
pl96euswsdpp2gj8fr6m-yxbplwe0otjjn2q3lmr1b3nly3vyaxr5lmnvbq;
本實(shí)施例中,認(rèn)證服務(wù)器中保存的企業(yè)密鑰的生成過(guò)程如下:
步驟1:密鑰運(yùn)維平臺(tái)接收密鑰持有者的管理員密鑰;
其中,為保證管理員密鑰的安全性,密鑰持有者的管理員密鑰需要定期更換;
步驟2:密鑰運(yùn)維平臺(tái)對(duì)管理員密鑰進(jìn)行預(yù)設(shè)運(yùn)算,得到主密鑰,將主密鑰保存至存儲(chǔ)區(qū)中;
步驟3:認(rèn)證服務(wù)器定時(shí)向密鑰運(yùn)維平臺(tái)獲取主密鑰,判斷獲取到的主密鑰與服務(wù)器存儲(chǔ)區(qū)中保存的主密鑰是否相同,如果是,則執(zhí)行步驟4,否則更新服務(wù)器存儲(chǔ)區(qū)中的主密鑰,執(zhí)行步驟4;
本實(shí)施例中,由于管理員密鑰需要定期更換,因此優(yōu)選的,認(rèn)證服務(wù)器每隔2分鐘向密鑰運(yùn)維平臺(tái)發(fā)送獲取主密鑰的請(qǐng)求,接收密鑰運(yùn)維平臺(tái)返回的當(dāng)前主密鑰;
步驟4:認(rèn)證服務(wù)器根據(jù)用戶名獲取對(duì)應(yīng)的企業(yè)id,對(duì)主密鑰和企業(yè)id進(jìn)行散列運(yùn)算,得到企業(yè)密鑰,將企業(yè)密鑰保存至緩存服務(wù)器中;
其中,企業(yè)id是在管理員注冊(cè)時(shí),認(rèn)證管理平臺(tái)為該企業(yè)隨機(jī)分配的企業(yè)id,并與多個(gè)用戶名建立關(guān)聯(lián)并保存至緩存服務(wù)器中;
本實(shí)施例中,由于服務(wù)器種子密鑰是使用企業(yè)id進(jìn)行加密的,因此當(dāng)某個(gè)服務(wù)器種子密鑰被破解時(shí),其他企業(yè)的服務(wù)器種子密鑰也不能夠被同時(shí)破解,安全性更佳;
步驟115:認(rèn)證服務(wù)器根據(jù)令牌序列號(hào)和種子生成因子,應(yīng)用預(yù)設(shè)組成方式,生成第二激活響應(yīng);
本實(shí)施例中,優(yōu)選的,認(rèn)證服務(wù)器根據(jù)令牌標(biāo)識(shí)碼對(duì)種子生成因子進(jìn)行加密,得到加密種子生成因子;
本步驟還包括:認(rèn)證服務(wù)器獲取口令生成算法,根據(jù)獲取到的口令生成算法,設(shè)置算法id,獲取當(dāng)前系統(tǒng)時(shí)間;
例如,認(rèn)證服務(wù)器得到的加密種子生成因子為30750849669824758444;獲取到的口令生成算法為sm3口令生成算法,則將算法id設(shè)置為00(如果獲取到的口令生成算法為auth口令生成算法,則將算法id設(shè)置為01);對(duì)在線激活請(qǐng)求類型、激活請(qǐng)求id、算法id、令牌序列號(hào)、加密種子生成因子、用戶名、企業(yè)標(biāo)識(shí)和服務(wù)器系統(tǒng)時(shí)間進(jìn)行mac校驗(yàn),得到mac校驗(yàn)碼;
進(jìn)一步的,認(rèn)證服務(wù)器根據(jù)在線激活請(qǐng)求類型、激活請(qǐng)求id、算法id、令牌序列號(hào)、加密種子生成因子、用戶名、企業(yè)標(biāo)識(shí)、服務(wù)器系統(tǒng)時(shí)間和mac校驗(yàn)碼組成響應(yīng)數(shù)據(jù),應(yīng)用預(yù)設(shè)協(xié)商密鑰對(duì)響應(yīng)數(shù)據(jù)進(jìn)行加密,得到第二激活響應(yīng);
例如,生成的響應(yīng)數(shù)據(jù)為
{"data":"pushtype":"6","reqid":"fasdcvxvdsafdsfzcxcsdfsdafcxz","algid":"00","token":"1000000010","factor":"30750849669824758444","userid":"abc","compname":"dfserv","time":"1417502589"};
應(yīng)用預(yù)設(shè)協(xié)商密鑰對(duì)響應(yīng)數(shù)據(jù)加密后得到的第二激活響應(yīng)為:
{"data":"591f86917938bb30066991c78f1e2b4c63a125ea90d8800418fa3e07dc2d1187f7c64bac023a34d7dc58dcf7c79e99fccc874de6fba79a0eb50614fe73624d69b95fd92d3cf83c1d2894355e790b2ff6dcce8892ed153681eb478521843eaf6f3a5623236754a7bb0b7d709be74d79cd57a20d4a9af495e9c84918920dc0d1f94d032fd8f2baa4e6d8c230b2802e7777a07e47fef374444b77412890c204fb729e6e10fd7fa658db115c32f713b53e1bbbba92d366c0b69e7b70a87eeb564c51","mac":"f09749aa775b9eb84c0931e7250c95ea84ec901a"};
步驟116:認(rèn)證服務(wù)器通過(guò)網(wǎng)絡(luò)數(shù)據(jù)鏈路將第二激活響應(yīng)發(fā)送給移動(dòng)終端令牌;
步驟117:移動(dòng)終端令牌從第二激活響應(yīng)中獲取種子生成因子和令牌序列號(hào),根據(jù)種子生成因子生成令牌種子密鑰,令牌種子密鑰和內(nèi)置的動(dòng)態(tài)因子進(jìn)行計(jì)算,生成動(dòng)態(tài)口令并應(yīng)用令牌序列號(hào)對(duì)令牌種子密鑰進(jìn)行加密,得到加密令牌種子密鑰,將加密令牌種子密鑰和令牌序列號(hào)保存至令牌存儲(chǔ)區(qū)中;
本步驟具體包括:移動(dòng)終端令牌應(yīng)用預(yù)設(shè)協(xié)商密鑰對(duì)第二激活響應(yīng)數(shù)據(jù)進(jìn)行解密,得到響應(yīng)數(shù)據(jù),從響應(yīng)數(shù)據(jù)中獲取種子生成因子和令牌序列號(hào);
本步驟,還包括:移動(dòng)終端令牌從第二激活響應(yīng)中獲取算法id,根據(jù)算法id獲取對(duì)應(yīng)的口令生成算法,從第二激活響應(yīng)中獲取服務(wù)器系統(tǒng)時(shí)間,根據(jù)服務(wù)器系統(tǒng)時(shí)間計(jì)算與移動(dòng)終端時(shí)間的漂移值,根據(jù)該漂移值應(yīng)用選擇的口令生成算法對(duì)令牌種子密鑰和內(nèi)置的動(dòng)態(tài)因子進(jìn)行計(jì)算,生成動(dòng)態(tài)口令;
本步驟之前還包括:移動(dòng)終端令牌從第二激活響應(yīng)中獲取激活請(qǐng)求id,判斷激活請(qǐng)求id與令牌中保存的激活請(qǐng)求id是否相同,如果是,則執(zhí)行步驟116,否則報(bào)錯(cuò),結(jié)束;
例如,手機(jī)移動(dòng)終端令牌對(duì)種子生成因子進(jìn)行推導(dǎo),得到的令牌種子密鑰為fb80ecda5edf464cf7715ee66a25ed079122d429;
根據(jù)算法id獲取到對(duì)應(yīng)的口令生成算法為oath時(shí)間型算法,除此之外還可以為國(guó)密時(shí)間型算法sm3算法等,生成的動(dòng)態(tài)口令為179059;
步驟118:移動(dòng)終端令牌根據(jù)動(dòng)態(tài)口令、令牌序列號(hào)和激活請(qǐng)求id生成第三激活請(qǐng)求;
本實(shí)施例中,優(yōu)選的,移動(dòng)終端令牌根據(jù)預(yù)設(shè)在線激活請(qǐng)求類型、激活請(qǐng)求id、激活成功或失敗結(jié)果、令牌版本號(hào)、令牌序列號(hào)和動(dòng)態(tài)口令,生成第三激活請(qǐng)求;
例如,生成的第三激活請(qǐng)求為:
{"result":"1","reqtype":"7","otp":"179059","token":"1000000010","reqid":"fasdcvxvdsafdsfzcxcsdfsdafcxz"};
本實(shí)施例中,由于一個(gè)手機(jī)可以安裝有多個(gè)令牌程序,每個(gè)令牌程序?qū)?yīng)一個(gè)令牌序列號(hào),移動(dòng)終端令牌將令牌序列號(hào)發(fā)送至認(rèn)證服務(wù)器后,認(rèn)證服務(wù)器獲取與該令牌序列號(hào)對(duì)應(yīng)的所有信息,除此之外,也可以不上送令牌序列號(hào),則認(rèn)證服務(wù)器根據(jù)激活請(qǐng)求id獲取對(duì)應(yīng)的所有信息;
步驟119:移動(dòng)終端令牌通過(guò)網(wǎng)絡(luò)數(shù)據(jù)鏈路將第三激活請(qǐng)求發(fā)送給認(rèn)證服務(wù)器;
步驟120:認(rèn)證服務(wù)器接收到第三激活請(qǐng)求后,從第三激活請(qǐng)求中獲取激活請(qǐng)求id,判斷激活請(qǐng)求id是否正確且有效,如果是則執(zhí)行步驟121,否則報(bào)錯(cuò),結(jié)束;
具體為:認(rèn)證服務(wù)器id與認(rèn)證服務(wù)器存儲(chǔ)區(qū)中保存的激活請(qǐng)求id是否相同,如果是,則激活請(qǐng)求id正確,否則激活請(qǐng)求id不正確;
步驟121:認(rèn)證服務(wù)器從接收到的第三激活請(qǐng)求中獲取動(dòng)態(tài)口令;
步驟122:認(rèn)證服務(wù)器對(duì)服務(wù)器種子密鑰和內(nèi)置的動(dòng)態(tài)因子進(jìn)行計(jì)算,生成動(dòng)態(tài)口令;
在本實(shí)施例中,具體地,認(rèn)證服務(wù)器獲取加密服務(wù)器種子密鑰和企業(yè)密鑰,應(yīng)用企業(yè)密鑰對(duì)加密服務(wù)器種子密鑰進(jìn)行解密,得到服務(wù)器種子密鑰,根據(jù)服務(wù)器種子密鑰生成動(dòng)態(tài)口令;
例如,認(rèn)證服務(wù)器根據(jù)用戶名ft獲取到對(duì)應(yīng)的加密種子服務(wù)器密鑰為:
pl96euswsdpp2gj8fr6m-yxbplwe0otjjn2q3lmr1b3nly3vyaxr5lmnvbq;
獲取到的企業(yè)密鑰為:
1f3d4e3a12459372b837193177913782;
解密得到服務(wù)器種子密鑰為:
fb80ecda5edf464cf7715ee66a25ed079122d429;
生成的動(dòng)態(tài)口令為179059;
在本步驟之前還包括:認(rèn)證服務(wù)器接收到第三激活請(qǐng)求后,從第三激活請(qǐng)求中獲取激活請(qǐng)求id,判斷激活請(qǐng)求id是否正確,如果是,則執(zhí)行步驟122,否則報(bào)錯(cuò),結(jié)束;
具體為:認(rèn)證服務(wù)器判斷激活請(qǐng)求id與服務(wù)器存儲(chǔ)區(qū)中保存的激活請(qǐng)求id是否相同,如果是,則激活請(qǐng)求id正確,否則激活請(qǐng)求id不正確;
步驟123:認(rèn)證服務(wù)器判斷生成的動(dòng)態(tài)口令與從第三激活請(qǐng)求中獲取到的動(dòng)態(tài)口令是否匹配,如果是,則執(zhí)行步驟125,否則向移動(dòng)終端令牌返回激活失敗的第三激活響應(yīng),結(jié)束;
在本實(shí)施例中,步驟123之后還包括:清空緩存服務(wù)器中的數(shù)據(jù);
具體地,認(rèn)證服務(wù)器通知緩存服務(wù)器清除數(shù)據(jù);
步驟124:認(rèn)證服務(wù)器生成激活成功的第三激活響應(yīng);
具體的,認(rèn)證服務(wù)器獲取預(yù)設(shè)在線激活結(jié)果類型、激活時(shí)間,根據(jù)預(yù)設(shè)在線激活類型、激活請(qǐng)求id、激活成功結(jié)果和激活時(shí)間生成第三激活響應(yīng);
例如,認(rèn)證服務(wù)器生成激活成功的第三激活響應(yīng)為:
{"pushtype":"7","reqid":"fasdcvxvdsafdsfzcxcsdfsdafcxz","result":"1","time":"1417502590"};
進(jìn)一步的,本步驟還包括:認(rèn)證服務(wù)器獲取當(dāng)前系統(tǒng)時(shí)間,將當(dāng)前系統(tǒng)時(shí)間作為上次激活時(shí)間保存;
步驟125:認(rèn)證服務(wù)器將第三激活響應(yīng)發(fā)送至移動(dòng)終端令牌;
本實(shí)施例中,認(rèn)證服務(wù)器通過(guò)網(wǎng)絡(luò)數(shù)據(jù)鏈路將第三激活響應(yīng)發(fā)送至移動(dòng)終端令牌;
步驟126:移動(dòng)終端令牌接收到第三激活響應(yīng)后,判斷第三激活響應(yīng)是否激活成功,如果是激活成功,則激活完成,結(jié)束,如果是失敗響應(yīng),則激活失敗,結(jié)束;
本步驟中,激活失敗時(shí)還包括:顯示激活失敗信息;激活完成時(shí)還包括:移動(dòng)終端令牌顯示激活成功信息。
實(shí)施例3
本發(fā)明實(shí)施例3提供了一種推送認(rèn)證過(guò)程中服務(wù)器緩存共享的方法,應(yīng)用于包括應(yīng)用服務(wù)器、認(rèn)證服務(wù)器和移動(dòng)終端令牌的系統(tǒng)中,包括:
參見(jiàn)圖2,當(dāng)移動(dòng)終端令牌啟動(dòng)時(shí),執(zhí)行以下操作:
步驟a1:移動(dòng)終端令牌獲取內(nèi)部保存的訪問(wèn)地址,根據(jù)訪問(wèn)地址與認(rèn)證服務(wù)器建立網(wǎng)絡(luò)數(shù)據(jù)鏈路;
具體地,在本實(shí)施例中,移動(dòng)終端令牌獲取內(nèi)部保存的訪問(wèn)地址,即為內(nèi)部保存的域名,例如:www.ftsafe.com.cn。移動(dòng)終端令牌獲取內(nèi)部保存的訪問(wèn)地址后,請(qǐng)求訪問(wèn)訪問(wèn)地址,自動(dòng)與認(rèn)證服務(wù)器建立網(wǎng)絡(luò)數(shù)據(jù)鏈路。
步驟a2:移動(dòng)終端令牌將內(nèi)部保存的令牌序列號(hào)發(fā)送至負(fù)載均衡器;
步驟a3:負(fù)載均衡器根據(jù)預(yù)設(shè)分配方式,將令牌序列號(hào)發(fā)送至對(duì)應(yīng)的認(rèn)證服務(wù)器;
本實(shí)施例中,負(fù)載均衡器根據(jù)預(yù)設(shè)負(fù)載均衡方式將令牌序列號(hào)發(fā)送至空閑的認(rèn)證服務(wù)器,當(dāng)負(fù)載均衡器接收到移動(dòng)終端令牌發(fā)送的令牌序列號(hào)后,按照預(yù)先約定的順序?qū)⒘钆菩蛄刑?hào)發(fā)送至認(rèn)證服務(wù)器,例如,按照從一到四的順序,先將令牌序列號(hào)發(fā)送至一號(hào)認(rèn)證服務(wù)器,如果一號(hào)認(rèn)證服務(wù)器空閑,則一號(hào)服務(wù)器對(duì)令牌序列號(hào)進(jìn)行處理,如果一號(hào)認(rèn)證服務(wù)器處于工作狀態(tài),則將令牌序列號(hào)依次發(fā)送至二號(hào)認(rèn)證服務(wù)器,以此類推。
步驟a4:認(rèn)證服務(wù)器接收到令牌序列號(hào)后,并將令牌序列號(hào)和認(rèn)證服務(wù)器ip上傳至緩存服務(wù)器,將令牌序列號(hào)與網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí)建立關(guān)聯(lián),保存至認(rèn)證服務(wù)器存儲(chǔ)區(qū);
在本實(shí)施例中,網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí)是一串編號(hào),通過(guò)網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí)就能找到編號(hào)對(duì)應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)鏈路。
步驟a5:緩存服務(wù)器根據(jù)接收到的令牌序列號(hào),判斷是否能夠獲取到與令牌序列號(hào)對(duì)應(yīng)的認(rèn)證服務(wù)器ip,如果是,則執(zhí)行步驟a6,否則將令牌序列號(hào)和認(rèn)證服務(wù)器ip對(duì)應(yīng)保存,結(jié)束;
步驟a6:認(rèn)證服務(wù)器根據(jù)令牌序列號(hào)從緩存服務(wù)器獲取認(rèn)證服務(wù)器ip,判斷獲取的認(rèn)證服務(wù)器ip與上傳至緩存服務(wù)器的認(rèn)證服務(wù)器ip是否相同,如果是,則無(wú)需更新,結(jié)束,否則執(zhí)行步驟a7;
步驟a7:緩存服務(wù)器根據(jù)接收到的令牌序列號(hào)和認(rèn)證服務(wù)器ip,更新與令牌序列號(hào)對(duì)應(yīng)的認(rèn)證服務(wù)器ip,結(jié)束。
如圖3和圖4所示,當(dāng)應(yīng)用界面接收到用戶輸入的用戶信息,并接收到用戶點(diǎn)擊確認(rèn)按鈕后,執(zhí)行以下操作:
步驟201:應(yīng)用服務(wù)器接收來(lái)自應(yīng)用界面的用戶信息;
本實(shí)施例中,用戶信息可以為用戶名,也可以為用戶名和密碼,本實(shí)施例以用戶信息為用戶名和密碼為例來(lái)說(shuō)明;
例如,用戶信息包括:用戶名:abc@test.com,密碼:168408afag,用戶手機(jī)號(hào):01234567890。
本實(shí)施例中,還包括:應(yīng)用服務(wù)器接收到用戶信息后,判斷用戶名和密碼是否正確,如果是,則執(zhí)行步驟202,否則向應(yīng)用界面返回錯(cuò)誤信息,應(yīng)用界面接收到錯(cuò)誤信息后,輸出用戶信息不正確的提示信息,結(jié)束;
其中,當(dāng)用戶名和密碼不正確時(shí),還包括:更新驗(yàn)證次數(shù),判斷更新后的驗(yàn)證次數(shù)是否達(dá)到預(yù)設(shè)次數(shù),如果是,則報(bào)錯(cuò),否則返回步驟201;
進(jìn)一步的,應(yīng)用界面輸出用戶信息不正確的提示信息后,還包括輸出提示重新輸入用戶信息的提示信息。
步驟202:應(yīng)用服務(wù)器根據(jù)用戶信息和內(nèi)部保存的應(yīng)用標(biāo)識(shí)生成認(rèn)證請(qǐng)求;
例如,應(yīng)用界面為websdk登錄界面,對(duì)應(yīng)的應(yīng)用標(biāo)識(shí)為yiwnzh-ajg。
步驟203:應(yīng)用服務(wù)器采用負(fù)載均衡方式將認(rèn)證請(qǐng)求發(fā)送至一號(hào)認(rèn)證服務(wù)器;
本實(shí)施例中,以存在4臺(tái)認(rèn)證服務(wù)器為例來(lái)說(shuō)明,再次說(shuō)明,服務(wù)器可以根據(jù)需要設(shè)定足夠多臺(tái)的數(shù)量;
4臺(tái)認(rèn)證服務(wù)器分別命名為一號(hào)服務(wù)器、二號(hào)服務(wù)器、三號(hào)服務(wù)器和四號(hào)服務(wù)器,其中,4臺(tái)認(rèn)證服務(wù)器可以單獨(dú)對(duì)緩存服務(wù)器進(jìn)行增刪改查的操作,當(dāng)應(yīng)用服務(wù)器向認(rèn)證服務(wù)器發(fā)送認(rèn)證請(qǐng)求后,按照預(yù)先約定的順序?qū)⒄J(rèn)證請(qǐng)求發(fā)送至認(rèn)證服務(wù)器,例如,按照從一到四的順序,先將認(rèn)證請(qǐng)求發(fā)送至一號(hào)認(rèn)證服務(wù)器,如果一號(hào)認(rèn)證服務(wù)器空閑,則一號(hào)服務(wù)器執(zhí)行認(rèn)證操作,如果一號(hào)認(rèn)證服務(wù)器處于工作狀態(tài),則將認(rèn)證請(qǐng)求依次發(fā)送至二號(hào)認(rèn)證服務(wù)器,以此類推;
步驟204:一號(hào)認(rèn)證服務(wù)器接收到認(rèn)證請(qǐng)求后,生成挑戰(zhàn)值,從認(rèn)證請(qǐng)求中獲取認(rèn)證請(qǐng)求中的用戶信息和應(yīng)用標(biāo)識(shí),根據(jù)用戶信息從認(rèn)證服務(wù)器存儲(chǔ)區(qū)中獲取對(duì)應(yīng)的令牌序列號(hào),并根據(jù)應(yīng)用標(biāo)識(shí)獲取對(duì)應(yīng)的應(yīng)用信息;
本實(shí)施例中,認(rèn)證服務(wù)器存儲(chǔ)區(qū)中保存有用戶信息、服務(wù)器種子密鑰、應(yīng)用信息和令牌序列號(hào);
本步驟還包括:判斷從認(rèn)證服務(wù)器存儲(chǔ)區(qū)中是否能夠找到與應(yīng)用標(biāo)識(shí)對(duì)應(yīng)的應(yīng)用信息,如果是,則繼續(xù),否則向應(yīng)用服務(wù)器返回應(yīng)用未注冊(cè)信息;
本實(shí)施例中,優(yōu)選的,生成預(yù)設(shè)長(zhǎng)度的挑戰(zhàn)值,預(yù)設(shè)長(zhǎng)度為6位十進(jìn)制數(shù)據(jù);其中,生成挑戰(zhàn)值可以為調(diào)用隨機(jī)數(shù)生成函數(shù)生成隨機(jī)數(shù),將隨機(jī)數(shù)作為挑戰(zhàn)值,也可以為:根據(jù)用戶名從服務(wù)器存儲(chǔ)區(qū)中獲取對(duì)應(yīng)的服務(wù)器種子密鑰,對(duì)服務(wù)器種子密鑰進(jìn)行計(jì)算,生成挑戰(zhàn)值;
其中,對(duì)服務(wù)器種子密鑰進(jìn)行計(jì)算,生成挑戰(zhàn)值,具體為:應(yīng)用預(yù)設(shè)算法對(duì)服務(wù)器種子密鑰進(jìn)行計(jì)算,生成長(zhǎng)度為6位的十進(jìn)制的挑戰(zhàn)值,優(yōu)選的,預(yù)設(shè)算法為sm3算法,還可以為oath算法等;
例如,生成的挑戰(zhàn)值為308962。
步驟205:一號(hào)認(rèn)證服務(wù)器將挑戰(zhàn)值與令牌序列號(hào)建立關(guān)聯(lián)并保存至緩存服務(wù)器;
具體地,一號(hào)認(rèn)證服務(wù)器將挑戰(zhàn)值和令牌序列號(hào)發(fā)送至緩存服務(wù)。
步驟206:一號(hào)認(rèn)證服務(wù)器根據(jù)接收到的令牌序列號(hào)從緩存服務(wù)器中獲取對(duì)應(yīng)保存的移動(dòng)終端令牌的信息、認(rèn)證服務(wù)器ip;
本步驟之前還包括:認(rèn)證服務(wù)器調(diào)用隨機(jī)數(shù)生成函數(shù),生成隨機(jī)數(shù),將該隨機(jī)數(shù)作為認(rèn)證請(qǐng)求標(biāo)識(shí),與用戶信息建立關(guān)聯(lián)并保存至緩存服務(wù)器中;
進(jìn)一步的,還包括:認(rèn)證服務(wù)器獲取當(dāng)前服務(wù)器時(shí)間,將當(dāng)前服務(wù)器時(shí)間作為認(rèn)證請(qǐng)求標(biāo)識(shí)的生成時(shí)間保存至服務(wù)器存儲(chǔ)區(qū)中;
例如,認(rèn)證服務(wù)器生成的認(rèn)證請(qǐng)求標(biāo)識(shí)為:
02c0e8b4-be19-49f6-aab6-273b38522cea;
認(rèn)證請(qǐng)求標(biāo)識(shí)的生成時(shí)間為1419325026;
則,根據(jù)挑戰(zhàn)值、用戶信息、令牌序列號(hào)和應(yīng)用信息生成推送認(rèn)證請(qǐng)求,具體為:獲取當(dāng)前服務(wù)器時(shí)間,根據(jù)挑戰(zhàn)值、令牌序列號(hào)、用戶信息、當(dāng)前服務(wù)器時(shí)間、應(yīng)用信息和認(rèn)證請(qǐng)求標(biāo)識(shí)生成推送認(rèn)證請(qǐng)求;
例如,生成的推送認(rèn)證請(qǐng)求為:
{"appname":"websdk","challenge":"308962","pushtype":"1","reqid":"02c0e8b4-be19-49f6-aab6-273b38522cea","time":"1419325027","token":"1000000003","userid":"abc@test.com"}。
步驟207:一號(hào)認(rèn)證服務(wù)器根據(jù)挑戰(zhàn)值、用戶信息、令牌序列號(hào)和應(yīng)用信息生成推送認(rèn)證請(qǐng)求;
步驟208:一號(hào)認(rèn)證服務(wù)器判斷緩存服務(wù)器中保存的認(rèn)證服務(wù)器ip與一號(hào)認(rèn)證服務(wù)器ip是否相同,如果是,則執(zhí)行步驟209,否則執(zhí)行步驟211;
本實(shí)施例中,如果一號(hào)認(rèn)證服務(wù)器ip為192.168.3.28,而從緩存服務(wù)器中獲取到的認(rèn)證服務(wù)器ip為192.168.5.21,對(duì)應(yīng)的是二號(hào)認(rèn)證服務(wù)器ip,表示一號(hào)認(rèn)證服務(wù)器不是與移動(dòng)終端令牌建立網(wǎng)絡(luò)數(shù)據(jù)鏈路的認(rèn)證服務(wù)器,則執(zhí)行步驟211。
步驟209:一號(hào)認(rèn)證服務(wù)器根據(jù)令牌序列號(hào)從該服務(wù)器緩存中獲取對(duì)應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí);
步驟210:一號(hào)認(rèn)證服務(wù)器將推送認(rèn)證請(qǐng)求通過(guò)獲取到的網(wǎng)絡(luò)數(shù)據(jù)鏈路發(fā)送至對(duì)應(yīng)的移動(dòng)終端令牌,移動(dòng)終端令牌執(zhí)行步驟214;
步驟211:一號(hào)認(rèn)證服務(wù)器將推送認(rèn)證請(qǐng)求發(fā)送至緩存服務(wù)器中的認(rèn)證服務(wù)器ip對(duì)應(yīng)的二號(hào)認(rèn)證服務(wù)器;
步驟212:二號(hào)認(rèn)證服務(wù)器根據(jù)令牌序列號(hào)從該服務(wù)器緩存中獲取對(duì)應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí);
步驟213:二號(hào)認(rèn)證服務(wù)器將推送認(rèn)證請(qǐng)求通過(guò)獲取到的網(wǎng)絡(luò)數(shù)據(jù)鏈路發(fā)送至對(duì)應(yīng)的移動(dòng)終端令牌,移動(dòng)終端令牌執(zhí)行步驟214;
步驟214:移動(dòng)終端令牌從推送認(rèn)證請(qǐng)求中獲取挑戰(zhàn)值、用戶信息和應(yīng)用信息并顯示,等待接收用戶對(duì)顯示信息的選擇,如果用戶選擇確認(rèn)登錄,則執(zhí)行步驟215,否則結(jié)束;
本實(shí)施例中,移動(dòng)終端令牌根據(jù)挑戰(zhàn)值、用戶信息、應(yīng)用信息和獲取到的令牌當(dāng)前時(shí)間對(duì)預(yù)設(shè)格式進(jìn)行填充,得到顯示信息。
步驟215:移動(dòng)終端令牌對(duì)挑戰(zhàn)值和內(nèi)部保存的令牌種子密鑰進(jìn)行計(jì)算,生成第一應(yīng)答值,根據(jù)第一應(yīng)答值生成推送認(rèn)證響應(yīng)數(shù)據(jù);
其中,移動(dòng)終端令牌根據(jù)登錄結(jié)果、令牌當(dāng)前時(shí)間、認(rèn)證類型、第一應(yīng)答值、令牌序列號(hào)和認(rèn)證請(qǐng)求標(biāo)識(shí)生成推送認(rèn)證響應(yīng)數(shù)據(jù);
例如,移動(dòng)終端令牌生成的第一應(yīng)答值為677165,則生成的推送認(rèn)證響應(yīng)數(shù)據(jù)為:
{"result":"1","time":"1419325027","reqtype":"2","otp":"677165","token":"1000000003","reqid":"02c0e8b4-be19-49f6-aab6-273b38522cea"};
其中,登錄結(jié)果為1,表示為允許登錄,令牌當(dāng)前時(shí)間為1419325027,認(rèn)證類型為2,即為推送認(rèn)證類型,第一應(yīng)答值為677165,令牌序列號(hào)為1000000003,認(rèn)證請(qǐng)求標(biāo)識(shí)為02c0e8b4-be19-49f6-aab6-273b38522cea。
步驟216:移動(dòng)終端令牌通過(guò)網(wǎng)絡(luò)數(shù)據(jù)鏈路將推送認(rèn)證響應(yīng)數(shù)據(jù)上送至一號(hào)認(rèn)證服務(wù)器;
同樣的,移動(dòng)終端令牌將推送認(rèn)證響應(yīng)數(shù)據(jù)發(fā)送至認(rèn)證服務(wù)器也是采用負(fù)載均衡的方式進(jìn)行的。
步驟217:一號(hào)認(rèn)證服務(wù)器從緩存服務(wù)器中獲取保存的挑戰(zhàn)值;
步驟218:一號(hào)認(rèn)證服務(wù)器從推送認(rèn)證響應(yīng)數(shù)據(jù)中獲取第一應(yīng)答值,根據(jù)推送認(rèn)證響應(yīng)數(shù)據(jù)中的令牌序列號(hào)從服務(wù)器數(shù)據(jù)庫(kù)中獲取對(duì)應(yīng)的服務(wù)器種子密鑰;
步驟219:一號(hào)認(rèn)證服務(wù)器根據(jù)挑戰(zhàn)值和服務(wù)器種子密鑰生成第二應(yīng)答值,判斷第一應(yīng)答值和第二應(yīng)答值是否匹配,如果是,則執(zhí)行步驟220,否則生成認(rèn)證失敗響應(yīng),并將該認(rèn)證失敗響應(yīng)返回至應(yīng)用服務(wù)器,結(jié)束;
本步驟還包括:一號(hào)認(rèn)證服務(wù)器將緩存服務(wù)器中保存的該次認(rèn)證的數(shù)據(jù)刪除,具體包括:刪除挑戰(zhàn)值、認(rèn)證請(qǐng)求標(biāo)識(shí)等;
本實(shí)施例中,當(dāng)判定第一應(yīng)答值和第二應(yīng)答值不匹配時(shí),還包括:一號(hào)認(rèn)證服務(wù)器向應(yīng)用服務(wù)器返回認(rèn)證失敗響應(yīng),應(yīng)用服務(wù)器再將認(rèn)證失敗響應(yīng)返回至應(yīng)用界面,應(yīng)用界面接收到認(rèn)證失敗響應(yīng)后,輸出認(rèn)證失敗信息,結(jié)束;
進(jìn)一步的,當(dāng)應(yīng)用界面輸出認(rèn)證失敗信息后,還可以包括:顯示登錄界面,繼續(xù)等待接收用戶輸入用戶信息。
步驟220:一號(hào)認(rèn)證服務(wù)器生成認(rèn)證成功響應(yīng),并將該認(rèn)證成功響應(yīng)返回至應(yīng)用服務(wù)器,認(rèn)證結(jié)束;
本實(shí)施例中,應(yīng)用服務(wù)器接收到認(rèn)證成功響應(yīng)后,將認(rèn)證成功響應(yīng)返回至應(yīng)用界面,應(yīng)用界面允許用戶訪問(wèn)應(yīng)用,并顯示應(yīng)用登錄成功后的界面,應(yīng)用登錄認(rèn)證流程結(jié)束。
實(shí)施例4
本發(fā)明實(shí)施例4提供了一種服務(wù)器緩存共享的方法,應(yīng)用于包括應(yīng)用服務(wù)器、認(rèn)證服務(wù)器、icloud和移動(dòng)終端令牌的系統(tǒng)中,包括:
參見(jiàn)圖5,當(dāng)移動(dòng)終端令牌啟動(dòng)時(shí),執(zhí)行以下操作:
步驟b1:移動(dòng)終端令牌獲取內(nèi)部保存的訪問(wèn)地址,根據(jù)訪問(wèn)地址與認(rèn)證服務(wù)器建立網(wǎng)絡(luò)數(shù)據(jù)鏈路;
步驟b2:移動(dòng)終端令牌將內(nèi)部保存的令牌序列號(hào)和移動(dòng)終端標(biāo)識(shí)發(fā)送至負(fù)載均衡器;
例如,移動(dòng)終端標(biāo)識(shí)為:154654541fhah;
步驟b3:負(fù)載均衡器根據(jù)預(yù)設(shè)分配方式,將令牌序列號(hào)和移動(dòng)終端標(biāo)識(shí)發(fā)送至對(duì)應(yīng)的認(rèn)證服務(wù)器;
其中,預(yù)設(shè)分配方法與實(shí)施例3中步驟a3的操作相同,在此不在贅述;
步驟b4:認(rèn)證服務(wù)器接收到令牌序列號(hào)和移動(dòng)終端標(biāo)識(shí)后,將令牌序列號(hào)和移動(dòng)終端標(biāo)識(shí)發(fā)送至緩存服務(wù)器;
步驟b5:緩存服務(wù)器根據(jù)接收到的令牌序列號(hào),判斷是否能夠獲取到與令牌序列號(hào)對(duì)應(yīng)的移動(dòng)終端標(biāo)識(shí),如果是,則執(zhí)行步驟b6,否則將令牌序列號(hào)和移動(dòng)終端標(biāo)識(shí)對(duì)應(yīng)保存,結(jié)束;
步驟b6:認(rèn)證服務(wù)器根據(jù)令牌號(hào)從緩存服務(wù)器獲取移動(dòng)終端標(biāo)識(shí),判斷獲取的移動(dòng)終端標(biāo)識(shí)與上傳至緩存服務(wù)器的移動(dòng)終端標(biāo)識(shí)是否相同,如果是,則無(wú)需更新,結(jié)束,否則執(zhí)行步驟b7;
步驟b7:緩存服務(wù)器根據(jù)接收到的令牌序列號(hào)和移動(dòng)終端標(biāo)識(shí),更新與令牌序列號(hào)對(duì)應(yīng)的移動(dòng)終端標(biāo)識(shí),結(jié)束。
如圖6所示,當(dāng)應(yīng)用界面接收到用戶輸入的用戶信息,并接收到用戶點(diǎn)擊確認(rèn)按鈕后,執(zhí)行以下操作:
步驟301:應(yīng)用服務(wù)器接收來(lái)自應(yīng)用界面的用戶信息;
本實(shí)施例中,用戶信息可以為用戶名,也可以為用戶名和密碼,本實(shí)施例以用戶信息為用戶名為例來(lái)說(shuō)明;
例如,用戶信息包括:用戶名:abc@test.com;
本實(shí)施例中,還包括:應(yīng)用服務(wù)器接收到用戶名后,判斷從應(yīng)用服務(wù)器存儲(chǔ)區(qū)中是否能夠查找到該用戶名,如果是,則執(zhí)行步驟302,否則向應(yīng)用界面返回錯(cuò)誤信息,應(yīng)用界面接收到錯(cuò)誤信息后,輸出用戶信息不正確的提示信息,結(jié)束;
進(jìn)一步的,應(yīng)用界面輸出用戶信息不正確的提示信息后,還包括輸出提示重新輸入有效用戶信息的提示信息。
步驟302:應(yīng)用服務(wù)器根據(jù)用戶信息和內(nèi)部保存的應(yīng)用標(biāo)識(shí)生成認(rèn)證請(qǐng)求;
例如,應(yīng)用界面為websdk登錄界面,對(duì)應(yīng)的應(yīng)用標(biāo)識(shí)為yiwnzh-ajg。
步驟303:應(yīng)用服務(wù)器采用負(fù)載均衡方式將認(rèn)證請(qǐng)求發(fā)送至認(rèn)證服務(wù)器;
本步驟與實(shí)施例3中步驟203相同,在此不再贅述。
步驟304:認(rèn)證服務(wù)器接收到認(rèn)證請(qǐng)求后生成挑戰(zhàn)值,并將挑戰(zhàn)值保存至緩存服務(wù)器;
本實(shí)施例中,優(yōu)選的,生成預(yù)設(shè)長(zhǎng)度的挑戰(zhàn)值,預(yù)設(shè)長(zhǎng)度為6位十進(jìn)制數(shù)據(jù);其中,生成挑戰(zhàn)值可以為調(diào)用隨機(jī)數(shù)生成函數(shù)生成隨機(jī)數(shù),將隨機(jī)數(shù)作為挑戰(zhàn)值,也可以為:根據(jù)用戶名從服務(wù)器存儲(chǔ)區(qū)中獲取對(duì)應(yīng)的服務(wù)器種子密鑰,對(duì)服務(wù)器種子密鑰進(jìn)行計(jì)算,生成挑戰(zhàn)值;
其中,對(duì)服務(wù)器種子密鑰進(jìn)行計(jì)算,生成挑戰(zhàn)值,具體為:應(yīng)用預(yù)設(shè)算法對(duì)服務(wù)器種子密鑰進(jìn)行計(jì)算,生成長(zhǎng)度為6位的十進(jìn)制的挑戰(zhàn)值,優(yōu)選的,預(yù)設(shè)算法為sm3算法,還可以為oath算法等;
例如,生成的挑戰(zhàn)值為308962。
步驟305:認(rèn)證服務(wù)器從認(rèn)證請(qǐng)求中獲取認(rèn)證請(qǐng)求中的用戶信息和應(yīng)用標(biāo)識(shí),根據(jù)應(yīng)用標(biāo)識(shí)獲取對(duì)應(yīng)的應(yīng)用信息;
本步驟還包括:判斷從服務(wù)器存儲(chǔ)區(qū)中是否能夠找到與應(yīng)用標(biāo)識(shí)對(duì)應(yīng)的應(yīng)用信息,如果是,則繼續(xù),否則向應(yīng)用服務(wù)器返回應(yīng)用未注冊(cè)信息;
步驟306:認(rèn)證服務(wù)器根據(jù)用戶信息從服務(wù)器數(shù)據(jù)庫(kù)中獲取對(duì)應(yīng)的令牌序列號(hào);
本實(shí)施例中,服務(wù)器數(shù)據(jù)庫(kù)中保存有用戶信息、服務(wù)器種子密鑰、應(yīng)用信息和令牌序列號(hào)。
步驟307:認(rèn)證服務(wù)器根據(jù)挑戰(zhàn)值、用戶信息、令牌序列號(hào)和應(yīng)用信息生成推送認(rèn)證請(qǐng)求;
本步驟之前還包括:認(rèn)證服務(wù)器調(diào)用隨機(jī)數(shù)生成函數(shù),生成隨機(jī)數(shù),將該隨機(jī)數(shù)作為認(rèn)證請(qǐng)求標(biāo)識(shí),與用戶信息建立關(guān)聯(lián)并保存至緩存服務(wù)器中;
進(jìn)一步的,還包括:認(rèn)證服務(wù)器獲取當(dāng)前服務(wù)器時(shí)間,將當(dāng)前服務(wù)器時(shí)間作為認(rèn)證請(qǐng)求標(biāo)識(shí)的生成時(shí)間保存至服務(wù)器存儲(chǔ)區(qū)中;
例如,認(rèn)證服務(wù)器生成的認(rèn)證請(qǐng)求標(biāo)識(shí)為:
02c0e8b4-be19-49f6-aab6-273b38522cea;
認(rèn)證請(qǐng)求標(biāo)識(shí)的生成時(shí)間為1419325026;
在本實(shí)施例中,根據(jù)挑戰(zhàn)值、用戶信息、令牌序列號(hào)和應(yīng)用信息生成推送認(rèn)證請(qǐng)求,具體為:獲取當(dāng)前服務(wù)器時(shí)間,根據(jù)挑戰(zhàn)值、令牌序列號(hào)、用戶信息、當(dāng)前服務(wù)器時(shí)間、應(yīng)用信息、移動(dòng)終端標(biāo)識(shí)和認(rèn)證請(qǐng)求標(biāo)識(shí)生成推送認(rèn)證請(qǐng)求;
例如,生成的推送認(rèn)證請(qǐng)求為:
{"appname":"websdk","challenge":"308962","pushtype":"1","reqid":"02c0e8b4-be19-49f6-aab6-273b38522cea","time":"1419325027","token":"1000000003","userid":"abc@test.com","phoneid":"154654541fhah"}。
步驟308:認(rèn)證服務(wù)器根據(jù)令牌序列號(hào)從緩存服務(wù)器中獲取移動(dòng)終端標(biāo)識(shí);
步驟309:認(rèn)證服務(wù)器將推送認(rèn)證請(qǐng)求存入緩存服務(wù)器;
其中,認(rèn)證通知數(shù)據(jù)用于指示推送認(rèn)證請(qǐng)求在緩存服務(wù)器中的位置。
步驟310:認(rèn)證服務(wù)器根據(jù)推送認(rèn)證請(qǐng)求生成認(rèn)證通知數(shù)據(jù);
步驟311:認(rèn)證服務(wù)器將認(rèn)證通知數(shù)據(jù)和移動(dòng)終端標(biāo)識(shí)發(fā)送至icloud;
步驟312:icloud根據(jù)移動(dòng)終端標(biāo)識(shí),將認(rèn)證通知數(shù)據(jù)發(fā)送至該移動(dòng)終端標(biāo)識(shí)對(duì)應(yīng)的移動(dòng)終端令牌中;
步驟313:移動(dòng)終端令牌生成包含認(rèn)證通知數(shù)據(jù)的獲取推送認(rèn)證請(qǐng)求的信息,并通過(guò)網(wǎng)絡(luò)數(shù)據(jù)鏈路發(fā)送至認(rèn)證服務(wù)器;
步驟314:認(rèn)證服務(wù)器接收到包含認(rèn)證通知數(shù)據(jù)的獲取推送認(rèn)證請(qǐng)求的信息后,從緩存服務(wù)器中獲取推送請(qǐng)求認(rèn)證;
步驟315:認(rèn)證服務(wù)器將推送認(rèn)證請(qǐng)求發(fā)送至移動(dòng)終端令牌;
步驟316:移動(dòng)終端令牌從推送認(rèn)證請(qǐng)求中獲取挑戰(zhàn)值、用戶信息和應(yīng)用信息并顯示,等待接收用戶對(duì)顯示信息的選擇,如果用戶選擇確認(rèn)登錄,則執(zhí)行步驟317,否則結(jié)束;
本實(shí)施例中,移動(dòng)終端令牌根據(jù)挑戰(zhàn)值、用戶信息、應(yīng)用信息和獲取到的令牌當(dāng)前時(shí)間對(duì)預(yù)設(shè)格式進(jìn)行填充,得到顯示信息。
步驟317:移動(dòng)終端令牌對(duì)挑戰(zhàn)值和內(nèi)部保存的令牌種子密鑰進(jìn)行計(jì)算,生成第一應(yīng)答值,根據(jù)第一應(yīng)答值生成推送認(rèn)證響應(yīng)數(shù)據(jù);
其中,移動(dòng)終端令牌根據(jù)登錄結(jié)果、令牌當(dāng)前時(shí)間、認(rèn)證類型、第一應(yīng)答值、令牌序列號(hào)和認(rèn)證請(qǐng)求標(biāo)識(shí)生成推送認(rèn)證響應(yīng)數(shù)據(jù);
例如,移動(dòng)終端令牌生成的第一應(yīng)答值為677165,則生成的推送認(rèn)證響應(yīng)數(shù)據(jù)為:
{"result":"1","time":"1419325027","reqtype":"2","otp":"677165","token":"1000000003","reqid":"02c0e8b4-be19-49f6-aab6-273b38522cea"};
其中,登錄結(jié)果為1,表示為允許登錄,令牌當(dāng)前時(shí)間為1419325027,認(rèn)證類型為2,即為推送認(rèn)證類型,第一應(yīng)答值為677165,令牌序列號(hào)為1000000003,認(rèn)證請(qǐng)求標(biāo)識(shí)為02c0e8b4-be19-49f6-aab6-273b38522cea。
步驟318:移動(dòng)終端令牌通過(guò)網(wǎng)絡(luò)數(shù)據(jù)鏈路將推送認(rèn)證響應(yīng)數(shù)據(jù)上送至認(rèn)證服務(wù)器;
步驟319:認(rèn)證服務(wù)器從緩存服務(wù)器中獲取保存的挑戰(zhàn)值;
步驟320:認(rèn)證服務(wù)器從推送認(rèn)證響應(yīng)數(shù)據(jù)中獲取第一應(yīng)答值,并根據(jù)認(rèn)證響應(yīng)數(shù)據(jù)中的令牌序列號(hào)從服務(wù)器數(shù)據(jù)庫(kù)中獲取對(duì)應(yīng)的服務(wù)器種子密鑰;
步驟321:認(rèn)證服務(wù)器根據(jù)挑戰(zhàn)值和服務(wù)器種子密鑰生成第二應(yīng)答值,判斷第一應(yīng)答值和第二應(yīng)答值是否匹配,如果是,則執(zhí)行步驟322,否則結(jié)束;
本步驟還包括:一號(hào)認(rèn)證服務(wù)器將緩存服務(wù)器中保存的該次認(rèn)證的數(shù)據(jù)刪除,具體包括:刪除挑戰(zhàn)值、認(rèn)證請(qǐng)求標(biāo)識(shí)等;
本實(shí)施例中,當(dāng)判定第一應(yīng)答值和第二應(yīng)答值不匹配時(shí),還包括:一號(hào)認(rèn)證服務(wù)器向應(yīng)用服務(wù)器返回認(rèn)證失敗響應(yīng),應(yīng)用服務(wù)器再將認(rèn)證失敗響應(yīng)返回至應(yīng)用界面,應(yīng)用界面接收到認(rèn)證失敗響應(yīng)后,輸出認(rèn)證失敗信息,結(jié)束;
進(jìn)一步的,當(dāng)應(yīng)用界面輸出認(rèn)證失敗信息后,還可以包括:顯示登錄界面,繼續(xù)等待接收用戶輸入用戶信息。
步驟322:認(rèn)證服務(wù)器生成認(rèn)證成功響應(yīng),并將該認(rèn)證成功響應(yīng)返回至應(yīng)用服務(wù)器,認(rèn)證結(jié)束。
本實(shí)施例中,應(yīng)用服務(wù)器接收到認(rèn)證成功響應(yīng)后,將認(rèn)證成功響應(yīng)返回至應(yīng)用界面,應(yīng)用界面允許用戶訪問(wèn)應(yīng)用,并顯示應(yīng)用登錄成功后的界面,應(yīng)用登錄認(rèn)證流程結(jié)束。
實(shí)施例5
本發(fā)明實(shí)施例5提供了一種簡(jiǎn)單挑戰(zhàn)過(guò)程中服務(wù)器數(shù)據(jù)存儲(chǔ)空間共享的方法,應(yīng)用于包括應(yīng)用服務(wù)器、認(rèn)證服務(wù)器和移動(dòng)設(shè)備令牌的系統(tǒng)中,如圖7所示,包括:
步驟401:應(yīng)用服務(wù)器接收來(lái)自應(yīng)用界面的用戶信息;
本實(shí)施例中,用戶信息可以為用戶名,也可以為用戶名和密碼,本實(shí)施例以用戶信息為用戶名為例來(lái)說(shuō)明;
例如,用戶信息包括:用戶名:abc@test.com;
本實(shí)施例中,還包括:應(yīng)用服務(wù)器接收到用戶名后,判斷從應(yīng)用服務(wù)器存儲(chǔ)區(qū)中是否能夠查找到該用戶名,如果是,則執(zhí)行步驟302,否則向應(yīng)用界面返回錯(cuò)誤信息,應(yīng)用界面接收到錯(cuò)誤信息后,輸出用戶信息不正確的提示信息,結(jié)束;
進(jìn)一步的,應(yīng)用界面輸出用戶信息不正確的提示信息后,還包括輸出提示重新輸入有效用戶信息的提示信息。
步驟402:應(yīng)用服務(wù)器根據(jù)用戶信息和內(nèi)部保存的應(yīng)用標(biāo)識(shí)生成認(rèn)證請(qǐng)求;
例如,應(yīng)用界面為websdk登錄界面,對(duì)應(yīng)的應(yīng)用標(biāo)識(shí)為yiwnzh-ajg。
步驟403:應(yīng)用服務(wù)器采用負(fù)載均衡方式將認(rèn)證請(qǐng)求發(fā)送至認(rèn)證服務(wù)器;
步驟404:認(rèn)證服務(wù)器接收到認(rèn)證請(qǐng)求后,從認(rèn)證請(qǐng)求中獲取認(rèn)證請(qǐng)求中的用戶信息和應(yīng)用標(biāo)識(shí),根據(jù)用戶信息從認(rèn)證服務(wù)器存儲(chǔ)區(qū)中獲取對(duì)應(yīng)的令牌序列號(hào),并根據(jù)應(yīng)用標(biāo)識(shí)獲取對(duì)應(yīng)的應(yīng)用信息;
本步驟還包括:判斷從服務(wù)器存儲(chǔ)區(qū)中是否能夠找到與應(yīng)用標(biāo)識(shí)對(duì)應(yīng)的應(yīng)用信息,如果是,則繼續(xù),否則向應(yīng)用服務(wù)器返回應(yīng)用未注冊(cè)信息;
本實(shí)施例中,優(yōu)選的,生成預(yù)設(shè)長(zhǎng)度的挑戰(zhàn)值,預(yù)設(shè)長(zhǎng)度為6位十進(jìn)制數(shù)據(jù);其中,生成挑戰(zhàn)值可以為調(diào)用隨機(jī)數(shù)生成函數(shù)生成隨機(jī)數(shù),將隨機(jī)數(shù)作為挑戰(zhàn)值,也可以為:根據(jù)用戶名從服務(wù)器存儲(chǔ)區(qū)中獲取對(duì)應(yīng)的服務(wù)器種子密鑰,對(duì)服務(wù)器種子密鑰進(jìn)行計(jì)算,生成挑戰(zhàn)值;
其中,對(duì)服務(wù)器種子密鑰進(jìn)行計(jì)算,生成挑戰(zhàn)值,具體為:應(yīng)用預(yù)設(shè)算法對(duì)服務(wù)器種子密鑰進(jìn)行計(jì)算,生成長(zhǎng)度為6位的十進(jìn)制的挑戰(zhàn)值,優(yōu)選的,預(yù)設(shè)算法為sm3算法,還可以為oath算法等;
例如,生成的挑戰(zhàn)值為308962。
步驟405:認(rèn)證服務(wù)器生成挑戰(zhàn)值,并將令牌序列號(hào)、挑戰(zhàn)值發(fā)送到緩存服務(wù)器;
具體地,在本實(shí)施例中,令牌序列號(hào)和挑戰(zhàn)值以“令牌序列號(hào):挑戰(zhàn)值”列表的形式發(fā)送到緩存服務(wù)器。
步驟406:認(rèn)證服務(wù)器根據(jù)挑戰(zhàn)值、令牌序列號(hào)、用戶信息和應(yīng)用名稱生成推送認(rèn)證請(qǐng)求;
本步驟之前還包括:認(rèn)證服務(wù)器調(diào)用隨機(jī)數(shù)生成函數(shù),生成隨機(jī)數(shù),將該隨機(jī)數(shù)作為認(rèn)證請(qǐng)求標(biāo)識(shí),與用戶信息建立關(guān)聯(lián)并保存至緩存服務(wù)器中;
進(jìn)一步的,還包括:認(rèn)證服務(wù)器獲取當(dāng)前服務(wù)器時(shí)間,將當(dāng)前服務(wù)器時(shí)間作為認(rèn)證請(qǐng)求標(biāo)識(shí)的生成時(shí)間保存至服務(wù)器存儲(chǔ)區(qū)中;
例如,認(rèn)證服務(wù)器生成的認(rèn)證請(qǐng)求標(biāo)識(shí)為:
02c0e8b4-be19-49f6-aab6-273b38522cea;
認(rèn)證請(qǐng)求標(biāo)識(shí)的生成時(shí)間為1419325026;
則,根據(jù)挑戰(zhàn)值、用戶信息、令牌序列號(hào)和應(yīng)用信息生成推送認(rèn)證請(qǐng)求,具體為:獲取當(dāng)前服務(wù)器時(shí)間,根據(jù)挑戰(zhàn)值、令牌序列號(hào)、用戶信息、當(dāng)前服務(wù)器時(shí)間、應(yīng)用信息、移動(dòng)終端標(biāo)識(shí)和認(rèn)證請(qǐng)求標(biāo)識(shí)生成推送認(rèn)證請(qǐng)求;
例如,生成的推送認(rèn)證請(qǐng)求為:
{"appname":"websdk","challenge":"308962","pushtype":"1","reqid":"02c0e8b4-be19-49f6-aab6-273b38522cea","time":"1419325027","token":"1000000003","userid":"abc@test.com","phoneid":"154654541fhah"}。
步驟407:認(rèn)證服務(wù)器根據(jù)令牌序列號(hào)從該服務(wù)器緩存中獲取對(duì)應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí);
步驟408:認(rèn)證服務(wù)器將推送認(rèn)證請(qǐng)求通過(guò)獲取到的網(wǎng)絡(luò)數(shù)據(jù)鏈路發(fā)送至對(duì)應(yīng)的移動(dòng)終端令牌;
步驟409:移動(dòng)終端令牌從推送認(rèn)證請(qǐng)求中獲取挑戰(zhàn)值、用戶信息和應(yīng)用信息并顯示,等待接收用戶對(duì)顯示信息的選擇,如果用戶選擇確認(rèn)登錄,則執(zhí)行步驟410,否則結(jié)束;
本實(shí)施例中,移動(dòng)終端令牌根據(jù)挑戰(zhàn)值、用戶信息、應(yīng)用信息和獲取到的令牌當(dāng)前時(shí)間對(duì)預(yù)設(shè)格式進(jìn)行填充,得到顯示信息。
步驟410:移動(dòng)終端令牌對(duì)挑戰(zhàn)值和內(nèi)部保存的令牌種子密鑰進(jìn)行計(jì)算,生成第一應(yīng)答值,根據(jù)第一應(yīng)答值生成推送認(rèn)證響應(yīng)數(shù)據(jù);
其中,移動(dòng)終端令牌根據(jù)登錄結(jié)果、令牌當(dāng)前時(shí)間、認(rèn)證類型、第一應(yīng)答值、令牌序列號(hào)和認(rèn)證請(qǐng)求標(biāo)識(shí)生成推送認(rèn)證響應(yīng)數(shù)據(jù);
例如,移動(dòng)終端令牌生成的第一應(yīng)答值為677165,則生成的推送認(rèn)證響應(yīng)數(shù)據(jù)為:
{"result":"1","time":"1419325027","reqtype":"2","otp":"677165","token":"1000000003","reqid":"02c0e8b4-be19-49f6-aab6-273b38522cea"};
其中,登錄結(jié)果為1,表示為允許登錄,令牌當(dāng)前時(shí)間為1419325027,認(rèn)證類型為2,即為推送認(rèn)證類型,第一應(yīng)答值為677165,令牌序列號(hào)為1000000003,認(rèn)證請(qǐng)求標(biāo)識(shí)為02c0e8b4-be19-49f6-aab6-273b38522cea。
步驟411:移動(dòng)終端令牌通過(guò)網(wǎng)絡(luò)數(shù)據(jù)鏈路將推送認(rèn)證響應(yīng)數(shù)據(jù)上送至認(rèn)證服務(wù)器;
步驟412:認(rèn)證服務(wù)器獲取到客戶端推送認(rèn)證響應(yīng)數(shù)據(jù),從推送認(rèn)證響應(yīng)數(shù)據(jù)中獲取第一應(yīng)答值,根據(jù)認(rèn)證響應(yīng)數(shù)據(jù)中的令牌號(hào),從緩存服務(wù)器中獲取保存的挑戰(zhàn)值;
在本實(shí)施例中,推送認(rèn)證響應(yīng)數(shù)據(jù)中有認(rèn)證標(biāo)識(shí),從中取得緩存服務(wù)器中的“令牌序列號(hào):挑戰(zhàn)值”列表,根據(jù)認(rèn)證響應(yīng)數(shù)據(jù)中的令牌號(hào),從“令牌序列號(hào):挑戰(zhàn)值”列表中取得挑戰(zhàn)值。
步驟413:認(rèn)證服務(wù)器用認(rèn)證響應(yīng)數(shù)據(jù)中的令牌序列號(hào)取得認(rèn)證服務(wù)器中的種子密鑰;
步驟414:認(rèn)證服務(wù)器根據(jù)挑戰(zhàn)值和服務(wù)器種子密鑰生成第二應(yīng)答值,判斷第一應(yīng)答值和第二應(yīng)答值是否匹配,如果是,則執(zhí)行步驟415,否則結(jié)束;
本步驟還包括:一號(hào)認(rèn)證服務(wù)器將緩存服務(wù)器中保存的該次認(rèn)證的數(shù)據(jù)刪除,具體包括:刪除推送認(rèn)證響應(yīng)數(shù)據(jù)、挑戰(zhàn)值、“令牌序列號(hào):挑戰(zhàn)值”列表、認(rèn)證請(qǐng)求標(biāo)識(shí)等;
本實(shí)施例中,當(dāng)判定第一應(yīng)答值和第二應(yīng)答值不匹配時(shí),還包括:一號(hào)認(rèn)證服務(wù)器向應(yīng)用服務(wù)器返回認(rèn)證失敗響應(yīng),應(yīng)用服務(wù)器再將認(rèn)證失敗響應(yīng)返回至應(yīng)用界面,應(yīng)用界面接收到認(rèn)證失敗響應(yīng)后,輸出認(rèn)證失敗信息,結(jié)束;
進(jìn)一步的,當(dāng)應(yīng)用界面輸出認(rèn)證失敗信息后,還可以包括:顯示登錄界面,繼續(xù)等待接收用戶輸入用戶信息。
步驟415:認(rèn)證服務(wù)器生成認(rèn)證成功響應(yīng),并將該認(rèn)證成功響應(yīng)返回至應(yīng)用服務(wù)器,認(rèn)證結(jié)束。
本實(shí)施例中,應(yīng)用服務(wù)器接收到認(rèn)證成功響應(yīng)后,將認(rèn)證成功響應(yīng)返回至應(yīng)用界面,應(yīng)用界面允許用戶訪問(wèn)應(yīng)用,并顯示應(yīng)用登錄成功后的界面,應(yīng)用登錄認(rèn)證流程結(jié)束。
本發(fā)明中,除實(shí)施例中的傳輸方式外,應(yīng)用界面與應(yīng)用服務(wù)器、應(yīng)用服務(wù)器與認(rèn)證服務(wù)器、認(rèn)證服務(wù)器與終端令牌之間的通信數(shù)據(jù)是經(jīng)過(guò)雙方預(yù)先協(xié)商的算法和密鑰處理過(guò)的;進(jìn)一步的,它們之間的通信數(shù)據(jù)還可以包含長(zhǎng)度和校驗(yàn)位,接收方通過(guò)通信數(shù)據(jù)中的長(zhǎng)度和校驗(yàn)位判斷接收到的通信數(shù)據(jù)是否正確,若正確則進(jìn)行正常操作流程,若不正確則通知發(fā)送方數(shù)據(jù)錯(cuò)誤,發(fā)送方重新發(fā)送通信數(shù)據(jù);更進(jìn)一步地,它們之間的通信數(shù)據(jù)還可以進(jìn)行網(wǎng)絡(luò)加密或者采用私密軟件傳輸?shù)?,以保證應(yīng)用服務(wù)器和應(yīng)用界面之間的通信數(shù)據(jù)的安全性。
實(shí)施例6
本發(fā)明實(shí)施例6提供了一種服務(wù)器數(shù)據(jù)存儲(chǔ)空間共享的裝置,如圖8所示,包括:
第一接收模塊101,用于接收應(yīng)用服務(wù)器發(fā)送的認(rèn)證請(qǐng)求;
第一生成模塊102,用于當(dāng)?shù)谝唤邮漳K101接收到應(yīng)用服務(wù)器發(fā)送的認(rèn)證請(qǐng)求時(shí),生成挑戰(zhàn)值;
第一獲取模塊103,用于獲取認(rèn)證請(qǐng)求中的用戶信息;
第一查找模塊104,用于查找與用戶信息對(duì)應(yīng)的令牌序列號(hào);
第二生成模塊105,用于根據(jù)第一生成模塊102生成的挑戰(zhàn)值、第一獲取模塊103獲取到的用戶信息以及第一查找模塊104查找到的令牌序列號(hào)生成推送認(rèn)證請(qǐng)求;
第一發(fā)送模塊106,用于發(fā)送推送認(rèn)證請(qǐng)求至移動(dòng)終端令牌;
第一保存模塊107,用于將第一生成模塊102生成的挑戰(zhàn)值與第一查找模塊104查找到的令牌序列號(hào)對(duì)應(yīng)保存至緩存服務(wù)器;
第二接收模塊108,用于接收移動(dòng)終端令牌發(fā)送的推送認(rèn)證響應(yīng);
第二查找模塊109,用于查找移動(dòng)終端令牌對(duì)應(yīng)的服務(wù)器種子密鑰;
第二獲取模塊110,用于根據(jù)第一查找模塊104得到的令牌序列號(hào)從緩存服務(wù)器獲取挑戰(zhàn)值;
第三生成模塊111,用于根據(jù)第二查找模塊109查找到的服務(wù)器種子密鑰以及第二獲取模塊110獲取到的挑戰(zhàn)值生成應(yīng)答值;
第一判斷模塊112,用于判斷第三生成模塊111生成的應(yīng)答值與第二接收模塊108接收到的推送認(rèn)證響應(yīng)中的應(yīng)答值是否匹配;
第二發(fā)送模塊113,用于當(dāng)?shù)谝慌袛嗄K112判斷第三生成模塊111生成的應(yīng)答值與第二接收模塊108接收到的推送認(rèn)證響應(yīng)中的應(yīng)答值匹配成功時(shí),向應(yīng)用服務(wù)器發(fā)送認(rèn)證成功響應(yīng);
第三發(fā)送模塊114,用于當(dāng)?shù)谝慌袛嗄K112判斷第三生成模塊111生成的應(yīng)答值與第二接收模塊108接收到的推送認(rèn)證響應(yīng)中的應(yīng)答值匹配失敗時(shí),向應(yīng)用服務(wù)器發(fā)送認(rèn)證失敗響應(yīng)。
具體地,本實(shí)施例中的裝置還包括:第三獲取模塊,用于獲取認(rèn)證請(qǐng)求中的應(yīng)用標(biāo)識(shí);
第四獲取模塊,用于根據(jù)第三獲取模塊獲取到的應(yīng)用標(biāo)識(shí)獲取應(yīng)用信息;
進(jìn)一步地,在本實(shí)施例中,第二生成模塊105,具體用于:根據(jù)第一生成模塊102生成的挑戰(zhàn)值、第一獲取模塊103獲取到的用戶信息、第一查找模塊104查找到的令牌序列號(hào)以及第四獲取模塊獲取到的應(yīng)用信息成推送認(rèn)證請(qǐng)求。
在本實(shí)施例中,裝置還包括:第五獲取模塊、第二判斷模塊第四發(fā)送模塊和第五發(fā)送模塊;
第五獲取模塊,用于裝置根據(jù)令牌序列號(hào)從緩存服務(wù)器中獲取對(duì)應(yīng)的認(rèn)證服務(wù)器ip;
第二判斷模塊,用于判斷裝置ip與第五獲取模塊獲取到的ip是否相同;
第四發(fā)送模塊,用于第二判斷模塊判斷裝置ip與第五獲取模塊獲取到的認(rèn)證服務(wù)器ip相同時(shí),將推送認(rèn)證請(qǐng)求發(fā)送至移動(dòng)終端令牌;
第五發(fā)送模塊,用于第二判斷模塊判斷裝置ip與第五獲取模塊獲取到的認(rèn)證服務(wù)器ip不相同時(shí),將推送認(rèn)證請(qǐng)求發(fā)送至第五獲取模塊獲取到的認(rèn)證服務(wù)器ip對(duì)應(yīng)的裝置;
第六接收模塊,用于接收另一裝置發(fā)送的推送認(rèn)證請(qǐng)求;
第六發(fā)送模塊,用于當(dāng)?shù)诹邮漳K接收另一裝置發(fā)送的推送認(rèn)證請(qǐng)求時(shí),將推送認(rèn)證請(qǐng)求發(fā)送至移動(dòng)終端令牌。
具體地,在本實(shí)施例中,裝置還包括::第七接收模塊和第二保存模塊;
第七接收模塊,用于接收移動(dòng)終端令牌發(fā)送的令牌序列號(hào);
第二保存模塊,用于當(dāng)接收到移動(dòng)終端令牌發(fā)送的令牌序列號(hào)時(shí),裝置將自身ip和令牌序列號(hào)建立關(guān)聯(lián)保存至緩存服務(wù)器。
進(jìn)一步地,在本實(shí)施例中,裝置還包括:第七獲取模塊、第八獲取模塊、第一對(duì)比模塊和第一更新模塊;
第七獲取模塊,用于根據(jù)令牌序列號(hào)獲取裝置ip;
第八獲取模塊,用于根據(jù)令牌序列號(hào)從緩存服務(wù)器中獲取裝置ip;
第一對(duì)比模塊,用于對(duì)比第七獲取模塊獲取的裝置ip與第八獲取模塊獲取的裝置ip是否相同;
第一更新模塊,用于當(dāng)?shù)谝粚?duì)比模塊對(duì)比第七獲取模塊獲取的裝置ip與第八獲取模塊獲取的裝置ip不同時(shí),更新與令牌序列號(hào)建立關(guān)聯(lián)的裝置ip,結(jié)束。
具體地,在本實(shí)施例中,裝置還包括:第四生成模塊、第七發(fā)送模塊、第九獲取模塊、第十獲取模塊和第八發(fā)送模塊;
第四生成模塊,用于發(fā)送推送認(rèn)證請(qǐng)求至緩存服務(wù)器并生成認(rèn)證通知數(shù)據(jù);
第七發(fā)送模塊,用于將第四生成模塊生成的認(rèn)證通知數(shù)據(jù)發(fā)送至移動(dòng)終端令牌;
第九獲取模塊,用于當(dāng)接收到移動(dòng)終端令牌返回的獲取推送認(rèn)證請(qǐng)求的信息后,從獲取推送認(rèn)證請(qǐng)求的信息中獲取令牌序列號(hào);
第十獲取模塊,用于根據(jù)第九獲取模塊中獲取的令牌序列號(hào),從緩存服務(wù)器中獲取推送認(rèn)證請(qǐng)求;
第八發(fā)送模塊,用于將第十獲取模塊獲取的推送請(qǐng)求認(rèn)證發(fā)送至移動(dòng)終端令牌。
更進(jìn)一步地,在本實(shí)施例中,第七發(fā)送模塊,具體包括:第一獲取單元和第一發(fā)送單元;
第一獲取單元,用于根據(jù)令牌序列號(hào)從緩存服務(wù)器獲取移動(dòng)終端標(biāo)識(shí);
第一發(fā)送單元,用于將認(rèn)證通知數(shù)據(jù)和移動(dòng)終端標(biāo)識(shí)發(fā)送至icloud,icloud根據(jù)移動(dòng)終端標(biāo)識(shí)將認(rèn)證通知數(shù)據(jù)發(fā)送至移動(dòng)終端標(biāo)識(shí)對(duì)應(yīng)的移動(dòng)終端令牌。
具體地,在本實(shí)施例中還包括:第三保存模塊;
第三保存模塊,用于當(dāng)接收到移動(dòng)終端令牌發(fā)送的令牌序列號(hào)和移動(dòng)終端標(biāo)識(shí)時(shí),將令牌序列號(hào)和移動(dòng)終端標(biāo)識(shí)建立關(guān)聯(lián)保存至緩存服務(wù)器。
對(duì)應(yīng)地,在本實(shí)施例中,裝置還包括:第十一獲取模塊、第十二獲取模塊、第二對(duì)比模塊和第二更新模塊
第十一獲取模塊,用于當(dāng)?shù)谌4婺K將令牌序列號(hào)和移動(dòng)終端標(biāo)識(shí)建立關(guān)聯(lián)保存至緩存服務(wù)器后,根據(jù)令牌序列號(hào)獲取移動(dòng)終端標(biāo)識(shí);
第十二獲取模塊,用于根據(jù)令牌序列號(hào)從緩存服務(wù)器中獲取對(duì)應(yīng)的移動(dòng)終端標(biāo)識(shí);
第二對(duì)比模塊,用于對(duì)比第十一獲取模塊和第十二獲取模塊獲取的移動(dòng)終端標(biāo)識(shí)是否相同;
第二更新模塊,用于當(dāng)?shù)诙?duì)比模塊對(duì)比第十一獲取模塊和第十二獲取模塊獲取的移動(dòng)終端標(biāo)識(shí)不同時(shí),更新與令牌序列號(hào)建立關(guān)聯(lián)的移動(dòng)終端標(biāo)識(shí),結(jié)束。
在本實(shí)施例中,裝置還包括:建立模塊,用于當(dāng)接收到移動(dòng)終端令牌發(fā)送的令牌序列號(hào)時(shí),裝置和移動(dòng)終端令牌建立網(wǎng)絡(luò)數(shù)據(jù)鏈路。
在本實(shí)施例中,裝置還包括:第十三獲取模塊和第四保存模塊;
第十三獲取模塊,用于建立模塊建立網(wǎng)絡(luò)數(shù)據(jù)鏈路后,獲取移動(dòng)終端令牌對(duì)應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí);
第四保存模塊,用于將網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí)和令牌序列號(hào)建立關(guān)聯(lián)保存至裝置的存儲(chǔ)區(qū)。
具體地,在本實(shí)施例中,裝置還包括:第十四獲取模塊;
第十四獲取模塊,用于根據(jù)令牌序列號(hào)從裝置的存儲(chǔ)區(qū)中獲取對(duì)應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí),并根據(jù)網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí)獲取對(duì)應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)鏈路;
進(jìn)一步地,第一發(fā)送模塊106,具體用于:根據(jù)第十四獲取模塊獲取的網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)識(shí)獲取對(duì)應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)鏈路,通過(guò)網(wǎng)絡(luò)數(shù)據(jù)鏈路發(fā)送推送認(rèn)證請(qǐng)求至移動(dòng)終端令牌。
更進(jìn)一步地,在本實(shí)施例中,在第一保存模塊107,具體用于:發(fā)送存儲(chǔ)挑戰(zhàn)值的請(qǐng)求至緩存服務(wù),緩存服務(wù)按照預(yù)設(shè)的存儲(chǔ)規(guī)則將挑戰(zhàn)值和令牌序列號(hào)存儲(chǔ)至緩存服務(wù)器的列表中;
更進(jìn)一步地,在本實(shí)施例中,第二獲取模塊110,具體用于:發(fā)送獲取挑戰(zhàn)值的請(qǐng)求至緩存服務(wù),緩存服務(wù)根據(jù)令牌序列號(hào)從緩存服務(wù)器的列表中查詢令牌序列號(hào)對(duì)應(yīng)的挑戰(zhàn)值,并返回給認(rèn)證服務(wù)器。
可選地,在本實(shí)施例中,裝置還包括:設(shè)置模塊;
設(shè)置模塊,用于設(shè)置挑戰(zhàn)值保存在緩存服務(wù)器的有效時(shí)間,當(dāng)挑戰(zhàn)值超過(guò)在緩存服務(wù)器的有效時(shí)間時(shí),緩存服務(wù)器將挑戰(zhàn)值刪除。
可選地,在本實(shí)施例中,裝置還可以包括:刪除模塊;
刪除模塊,用于第一判斷模塊判斷生成的應(yīng)答值與推送認(rèn)證響應(yīng)中的應(yīng)答值是否匹配之后,將緩存服務(wù)器中保存的與令牌序列號(hào)對(duì)應(yīng)的挑戰(zhàn)值刪除。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。