本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,更具體地,涉及一種登錄憑證校驗(yàn)方法、裝置。
背景技術(shù):
OAuth(Open Authorization)協(xié)議為用戶資源的授權(quán)提供了一個(gè)安全的、開放而又簡(jiǎn)易的標(biāo)準(zhǔn)。一方面,OAuth是安全的,其與以往的授權(quán)方式不同之處是OAuth的授權(quán)不會(huì)使第三方觸及到用戶的帳號(hào)信息(如用戶名與密碼),即第三方無需使用用戶的用戶名與密碼就可以申請(qǐng)獲得該用戶資源的授權(quán),同時(shí)允許用戶讓第三方應(yīng)用訪問該用戶在某一網(wǎng)站上存儲(chǔ)的私密的資源,如照片,視頻,聯(lián)系人列表等;另一方面,OAuth也是開放的,任何第三方都可以使用OAuth認(rèn)證服務(wù),任何服務(wù)提供商都可以實(shí)現(xiàn)自身的OAuth認(rèn)證服務(wù);另一方面,OAuth也是易實(shí)現(xiàn)的,業(yè)界提供了OAuth的多種實(shí)現(xiàn)如PHP、JavaScript,Java,Ruby等各種語言開發(fā)包,大大節(jié)約了程序員的時(shí)間?;ヂ?lián)網(wǎng)很多服務(wù)如Open API,很多大公司如Google,Yahoo,Microsoft等都提供了OAuth認(rèn)證服務(wù),這些都足以說明OAuth標(biāo)準(zhǔn)逐漸成為開放資源授權(quán)的標(biāo)準(zhǔn)。
OAuth強(qiáng)大的兼容性令其迅速普遍開來,然而OAuth也存在安全隱患。一方面,在OAuth認(rèn)證過程以及Open API調(diào)用過程中,多次會(huì)用到appid,appkey,access token等參數(shù),需要把這些值存儲(chǔ)起來,開發(fā)人員很容易想到用session,即時(shí)域來存儲(chǔ)當(dāng)前的登陸態(tài),而Session是局限的,例如,目前第三方平臺(tái)(QQ、微信)通過OAuth登陸后,當(dāng)訪問服務(wù)器的時(shí)候,服務(wù)器創(chuàng)建session來保存賬號(hào)信息等,當(dāng)結(jié)束服務(wù)器訪問的時(shí)候,session就會(huì)銷毀,同時(shí)用戶訪問的數(shù)據(jù)也不會(huì)保存。另一方面,子域名之間的session信息是不允許共享的。如果存在多個(gè)子域名,則有可能引發(fā)如下情況:在登錄過程用到了www.a.com,而在回調(diào)地址用到了www.i.a.com,由于session信息不能在兩個(gè)子域名之間共享,導(dǎo)致用戶訪問回調(diào)地址出錯(cuò)。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問題,本發(fā)明提出了一種登陸憑證校驗(yàn)方法,而在用戶通過OAuth首次成功登錄第一服務(wù)器后保存第一登錄憑證的加密數(shù)據(jù)包一段時(shí)間,當(dāng)用戶再次登錄時(shí),可以根據(jù)加密數(shù)據(jù)包快速登錄。
第一方面,本發(fā)明提供一種登錄憑證校驗(yàn)方法,包括如下步驟:
響應(yīng)于第一客戶端發(fā)送的通過第一憑證信息登錄本服務(wù)器的登錄請(qǐng)求,解析該登錄請(qǐng)求以獲取由所述第一客戶端成功登錄第一服務(wù)器而取得的所述第一憑證信息的加密數(shù)據(jù)包;
解密所述加密數(shù)據(jù)包以獲取所述第一憑證信息,所述第一憑證信息包括用戶標(biāo)識(shí)信息、用戶身份認(rèn)證信息、第一客戶端設(shè)備信息及第一服務(wù)器生成的第一權(quán)限信息;
發(fā)送所述第一憑證信息至所述第一服務(wù)器以在第一服務(wù)器校驗(yàn)該第一憑證信息合法時(shí)建立第一客戶端和本服務(wù)器的合法連接。
具體地,本服務(wù)器和所述第一服務(wù)器之間建立有通訊協(xié)議,以使本服務(wù)器和第一服務(wù)器共用憑證信息。在服務(wù)器之間通過安全通訊協(xié)議來保證兩個(gè)服務(wù)器共用憑證信息,防止非法服務(wù)器盜取用戶標(biāo)識(shí)信息。
具體地,所述第一客戶端設(shè)備信息表征設(shè)備的唯一ID信息,所述第一憑證信息與該第一客戶端設(shè)備綁定,該第一憑證信息僅能用于該設(shè)備登錄本服務(wù)器。所述憑證信息由第一服務(wù)器生成,并且包括第一客戶端設(shè)備信息,與第一客戶端信息進(jìn)行綁定,保證該第一憑證信息只能支持該第一客戶端登錄服務(wù)器,保證登錄安全性。
具體地,所述校驗(yàn)方法還包括后序步驟:
響應(yīng)于第一客戶端和本服務(wù)器的連接狀態(tài),生成第二權(quán)限信息;
整合所述第一客戶端設(shè)備信息、所述用戶身份認(rèn)證信息、用戶標(biāo)識(shí)信息和所述第二權(quán)限信息成第二憑證信息;
加密所述第二憑證信息并打包,以生成第二加密數(shù)據(jù)包;
發(fā)送所述第二加密數(shù)據(jù)包至第一客戶端。
具體地,采用MD5(Message-Digest Algorithm 5),即信息-摘要算法算法加密所述第二憑證信息,其加密步驟具體包括:
填充所述第二憑證信息至預(yù)設(shè)字節(jié)長(zhǎng)度在填充后的第二憑證信息后添加長(zhǎng)度信息;
按預(yù)設(shè)組數(shù)對(duì)所述填充后的第二憑證信息分組;
采用四個(gè)鏈接變量進(jìn)行四輪循環(huán)運(yùn)算,所述循環(huán)運(yùn)算的次數(shù)為預(yù)設(shè)組數(shù)。
MD5算法加密具有容易計(jì)算、抗修改性、壓縮性和強(qiáng)抗碰撞性等特性,其利于信息的加密。
進(jìn)一步地,所述第一客戶端成功登錄第一服務(wù)器而取得第一憑證信息的加密數(shù)據(jù)包的步驟具體包括:
獲取由第一服務(wù)器根據(jù)用戶在第一客戶端輸入的正確賬號(hào)、正確密碼生成的所述第一憑證信息;
加密所述第一憑證信息成加密數(shù)據(jù)包;
發(fā)送所述加密數(shù)據(jù)包至第一客戶端以保存預(yù)設(shè)時(shí)間段,以用于所述第一客戶端在該預(yù)設(shè)時(shí)間段內(nèi)重復(fù)登錄本服務(wù)器。
進(jìn)一步地,通過第二客戶端登錄所述第一服務(wù)器并修改用戶密碼的方法廢除所述第一客戶端在所述預(yù)設(shè)時(shí)間段內(nèi)重復(fù)登錄本服務(wù)器的權(quán)限。本發(fā)明提供了采用第二客戶端登錄第一服務(wù)器改密的方法廢除原有的第一憑證信息的機(jī)制,以防止在第一客戶端丟失時(shí)盜取設(shè)備的登錄信息。
進(jìn)一步地,所述第一客戶端在所述預(yù)設(shè)時(shí)間段內(nèi)重復(fù)登錄本服務(wù)器的權(quán)限被廢除后,本服務(wù)器禁止所述第一客戶端登錄本服務(wù)器,具體步驟包括如下:
響應(yīng)于第一客戶端發(fā)送的通過第一憑證信息登錄本服務(wù)器的登錄請(qǐng)求,獲取由所述第一客戶端成功登錄第一服務(wù)器而取得的第一憑證信息的加密數(shù)據(jù)包;
解密所述加密數(shù)據(jù)包以獲取所述第一憑證信息;
發(fā)送所述第一憑證信息至所述第一服務(wù)器以在第一服務(wù)器校驗(yàn)該第一憑證信息不合法時(shí)反饋登錄失敗信息至所述第一客戶端。
進(jìn)一步地,所述第二客戶端登錄所述第一服務(wù)器并修改用戶密碼的步驟具體包括:
獲取由所述第一服務(wù)器根據(jù)用戶在第二客戶端輸入的用戶賬號(hào)、修改密碼生成的第三憑證信息;
響應(yīng)于第一客戶端發(fā)送的通過第一憑證信息登錄本服務(wù)器的登錄請(qǐng)求,反饋登錄權(quán)限廢除的信息至所述第一客戶端。
進(jìn)一步地,還包括后序步驟:
所述第一服務(wù)器根據(jù)修改的密碼生成的第三憑證信息發(fā)送至所述第二客戶端以保存預(yù)設(shè)時(shí)間段,以用于所述第二客戶端在該預(yù)設(shè)時(shí)間段內(nèi)重復(fù)登錄本服務(wù)器。
第二方面,本發(fā)明提供了一種登錄憑證校驗(yàn)裝置,該登錄憑證校驗(yàn)裝置具有實(shí)現(xiàn)上述第一方面中登錄憑證校驗(yàn)方法行為的功能。所述功能可以通過硬件實(shí)現(xiàn),也可以通過硬件執(zhí)行相應(yīng)的軟件實(shí)現(xiàn)。所述硬件或軟件包括一個(gè)或多個(gè)與上述功能相對(duì)應(yīng)的模塊。該登錄憑證校驗(yàn)裝置包括如下各模塊:
獲取模塊,用于響應(yīng)于第一客戶端發(fā)送的通過第一憑證信息登錄本服務(wù)器的登錄請(qǐng)求,解析該登錄請(qǐng)求以獲取由所述第一客戶端成功登錄第一服務(wù)器而取得的所述第一憑證信息的加密數(shù)據(jù)包;
解密模塊,用于解密所述加密數(shù)據(jù)包以獲取所述第一憑證信息,所述第一憑證信息包括用戶標(biāo)識(shí)信息、用戶身份認(rèn)證信息、第一客戶端設(shè)備信息及第一服務(wù)器生成的第一權(quán)限信息;
校驗(yàn)?zāi)K,用于發(fā)送所述第一憑證信息至所述第一服務(wù)器以在第一服務(wù)器校驗(yàn)該第一憑證信息合法時(shí)建立第一客戶端和本服務(wù)器的合法連接。
第三方面,本發(fā)明實(shí)施例提供了一種計(jì)算機(jī)存儲(chǔ)介質(zhì),用于儲(chǔ)存為上述登錄憑證校驗(yàn)裝置所用的計(jì)算機(jī)軟件指令,其包含用于執(zhí)行上述方面為登錄憑證校驗(yàn)裝置所設(shè)計(jì)的程序。
相對(duì)于現(xiàn)有技術(shù),本發(fā)明提供的方案,而在用戶通過OAuth首次成功登錄第一服務(wù)器后保存第一登錄憑證的加密數(shù)據(jù)包一段時(shí)間,當(dāng)用戶再次登錄時(shí),可以根據(jù)加密數(shù)據(jù)包快速登錄。一方面,第一客戶端賬號(hào)信息也被加密打包到第一登錄憑證的加密數(shù)據(jù)包中,在使用第一憑證信息登錄時(shí)也同時(shí)檢驗(yàn)第一端客戶端設(shè)備信息,而保存在第一客戶端的第一憑證信息的加密數(shù)據(jù)包僅用于該第一客戶端登錄,避免了跨設(shè)備登錄,進(jìn)一步提升了登錄安全性;一方面,用戶可以采用同一個(gè)保存在本地的加密數(shù)據(jù)包登錄不同的服務(wù)器,方便快捷。另外,對(duì)所述憑證信息進(jìn)行了加密、解密設(shè)計(jì),進(jìn)一步保證了信息安全性,保證了信息安全。
本發(fā)明的這些方面或其他方面在以下實(shí)施例的描述中會(huì)更加簡(jiǎn)明易懂。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的登錄憑證校驗(yàn)方法流程圖。
圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的登錄憑證校驗(yàn)方法后序步驟流程圖。
圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的根據(jù)MD5算法加密所述第二憑證信息的加密步驟流程圖。
圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的第一客戶端成功登錄第一服務(wù)器而取得第一憑證信息的加密數(shù)據(jù)包的流程圖。
圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的本服務(wù)器禁止所述第一客戶端登錄本服務(wù)器。
圖6示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的第二客戶端登錄所述第一服務(wù)器并修改用戶密碼流程圖。
圖7示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的登錄憑證校驗(yàn)裝置框圖。
圖8示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的登錄憑證登錄流程。
圖9示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的修改密碼及相關(guān)流程。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。
在本發(fā)明的說明書和權(quán)利要求書及上述附圖中的描述的一些流程中,包含了按照特定順序出現(xiàn)的多個(gè)操作,但是應(yīng)該清楚了解,這些操作可以不按照其在本文中出現(xiàn)的順序來執(zhí)行或并行執(zhí)行,操作的序號(hào)如101、102等,僅僅是用于區(qū)分開各個(gè)不同的操作,序號(hào)本身不代表任何的執(zhí)行順序。另外,這些流程可以包括更多或更少的操作,并且這些操作可以按順序執(zhí)行或并行執(zhí)行。需要說明的是,本文中的“第一”、“第二”等描述,是用于區(qū)分不同的消息、設(shè)備、模塊等,不代表先后順序,也不限定“第一”和“第二”是不同的類型。
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明所述的“用戶標(biāo)識(shí)信息”,即openid信息,openid信息是由用戶通過OAuth2.0登錄第一服務(wù)器而獲得的,在用戶欲登錄本服務(wù)器時(shí),本服務(wù)器在經(jīng)過用戶許可后通過授權(quán)界面,同時(shí)也獲得用戶的openid,由于其是由用戶注冊(cè)并登錄第一服務(wù)器而獲得,因此將該信息作為第一憑證信息的一部分加密到第一憑證信息的加密數(shù)據(jù)包中,進(jìn)一步的保障了登錄的安全性。
本發(fā)明所述的“用戶身份認(rèn)證信息”,即UID(User Identification),用戶身份證明。用戶在注冊(cè)后,系統(tǒng)會(huì)自動(dòng)分配一個(gè)UID的數(shù)值,即為該專屬用戶編號(hào)。比如,甲在論壇注冊(cè)后獲得UID23,也有可能是其他,這個(gè)是整個(gè)論壇系統(tǒng)自動(dòng)分配的專用于為用戶甲服務(wù)的。
本發(fā)明所述的“第一客戶端設(shè)備信息”,所述第一客戶端設(shè)備信息表征設(shè)備的唯一ID信息,所述第一憑證信息與該第一客戶端設(shè)備綁定,該第一憑證信息僅能用于該設(shè)備登錄本服務(wù)器,而不能用于其他設(shè)備登錄本服務(wù)器。
本發(fā)明所述的“第一權(quán)限信息”,為用戶成功登錄第一服務(wù)器,由第一服務(wù)器生成的access token,即令牌信息/權(quán)限信息,由于OAuth在客戶端與服務(wù)器之間設(shè)置了一個(gè)授權(quán)層(authorization layer)??蛻舳送ㄟ^令牌(assess token)登錄授權(quán)層,進(jìn)而采用同一令牌登錄不同的服務(wù)器,服務(wù)器則根據(jù)令牌的權(quán)限范圍和有效期向客戶端開放資源。同理,所述“第二權(quán)限信息”是由本服務(wù)器生成。
本發(fā)明所述的“合法連接”,是指第一客戶端所提供的第一憑證信息在經(jīng)過第一服務(wù)器校驗(yàn)合法時(shí),即正確時(shí),建立本服務(wù)器與所述第一客戶端的合法連接,當(dāng)建立合法連接后,第一客戶端可以訪問本服務(wù)器,并合法獲取本服務(wù)器所提供的資源。
本發(fā)明所述的“預(yù)設(shè)時(shí)間段”是指所述加密數(shù)據(jù)包預(yù)保存的時(shí)間段,該預(yù)設(shè)時(shí)間段受限于access token權(quán)限的有效期,當(dāng)access token權(quán)限的有效期到達(dá)時(shí),即使保留了所述第一憑證信息的加密數(shù)據(jù)包,也無法再適用該加密數(shù)據(jù)包重復(fù)登錄本服務(wù)器。
第一方面,結(jié)合圖1,本發(fā)明提供一種登錄憑證校驗(yàn)方法,包括如下步驟:
S101,響應(yīng)于第一客戶端發(fā)送的通過第一憑證信息登錄本服務(wù)器的登錄請(qǐng)求,解析該登錄請(qǐng)求以獲取由所述第一客戶端成功登錄第一服務(wù)器而取得的所述第一憑證信息的加密數(shù)據(jù)包。
由于第一客戶端已經(jīng)成功登錄過第一服務(wù)器,并且在第一服務(wù)器獲取了第一憑證信息的加密數(shù)據(jù)包,則根據(jù)OAuth的開放性,任何第三方服務(wù)器均可以通過OAuth認(rèn)證服務(wù),所述第三方服務(wù)器包括本服務(wù)器。在本發(fā)明一個(gè)實(shí)施例中,本服務(wù)器在接收到用戶通過OAuth登錄本服務(wù)的請(qǐng)求時(shí),首先解析登錄請(qǐng)求,并獲取由所述第一客戶端成功登錄第一服務(wù)器而取得的所述第一憑證信息的加密數(shù)據(jù)包。
一方面,所述登錄請(qǐng)求包括了所述第一客戶端的登錄本服務(wù)器的請(qǐng)求,另一方面,所述登錄請(qǐng)求中也攜帶了加密數(shù)據(jù)包。在其他實(shí)施例中,第一客戶端欲采用加密數(shù)據(jù)包登錄本服務(wù)器,必須得到用戶的授權(quán)許可才能進(jìn)行,在授權(quán)許可模式下,本服務(wù)器提供授權(quán)許可提示語,并提供相關(guān)的控件以獲取用戶的授權(quán)許可信息。
具體地,本服務(wù)器和所述第一服務(wù)器之間建立有通訊協(xié)議,以使本服務(wù)器和第一服務(wù)器共用憑證信息。在服務(wù)器之間通過安全通訊協(xié)議來保證兩個(gè)服務(wù)器共用憑證信息,防止非法服務(wù)器盜取用戶標(biāo)識(shí)信息。在本發(fā)明一個(gè)實(shí)施例中,僅僅在具備安全通訊協(xié)議的服務(wù)器之間才可以支持用戶通過令牌登錄授權(quán)層而訪問不同的服務(wù)器,基于此,一些非法服務(wù)器不能夠采用所述第一登錄憑證登錄訪問,以此進(jìn)一步保護(hù)用戶登錄信息的安全,進(jìn)一步保護(hù)用戶的隱私和虛擬財(cái)產(chǎn)等信息。進(jìn)一步地,結(jié)合圖2,所述第一客戶端成功登錄第一服務(wù)器而取得第一憑證信息的加密數(shù)據(jù)包的步驟具體包括:
S201,獲取由第一服務(wù)器根據(jù)用戶在第一客戶端輸入的正確賬號(hào)、正確密碼生成的所述第一憑證信息。
在本發(fā)明一個(gè)實(shí)施中,第一服務(wù)器僅根據(jù)用戶輸入的賬號(hào)、密碼信息生成第一憑證信息。
而在優(yōu)選實(shí)施例中,第一服務(wù)器根據(jù)用戶輸入的賬號(hào)、密碼信息識(shí)別用戶身份,并根據(jù)第一客戶端設(shè)備ID、用戶注冊(cè)的UID、openid等信息生成第一憑證信息,在本實(shí)施例中,第一客戶端設(shè)備信息,即其唯一的設(shè)備信息也被包括在第一憑證信息中,以將第一客戶端設(shè)備信息綁定在第一憑證信息中,從而第一憑證信息僅僅支持第一客戶端登錄服務(wù)器。
S202,加密所述第一憑證信息成加密數(shù)據(jù)包。
優(yōu)選地,采用MD5(Message-Digest Algorithm 5),即信息-摘要算法算法加密所述第一憑證信息,其加密步驟具體包括:
填充所述第一憑證信息至預(yù)設(shè)字節(jié)長(zhǎng)度在填充后的第一憑證信息后添加長(zhǎng)度信息;優(yōu)選地,將第一憑證信息中所包括的所有信息都轉(zhuǎn)換成統(tǒng)一格式,然后按照預(yù)設(shè)字節(jié)長(zhǎng)度(例如512字節(jié)長(zhǎng)度)來填充信息到固定長(zhǎng)度。
按預(yù)設(shè)組數(shù)對(duì)所述填充后的第一憑證信息分組;在本發(fā)明實(shí)施例中,預(yù)設(shè)組數(shù)為5組,例如將512字節(jié)長(zhǎng)度的信息分成5組。
采用四個(gè)鏈接變量進(jìn)行四輪循環(huán)運(yùn)算,所述循環(huán)運(yùn)算的次數(shù)為預(yù)設(shè)組數(shù)。所述的鏈接變量是由系統(tǒng)自動(dòng)生成的,其由于不可逆的循環(huán)運(yùn)算,從而保證加密后的數(shù)據(jù)不被破譯。優(yōu)選地,所述循環(huán)次數(shù)為預(yù)設(shè)組數(shù),例如預(yù)設(shè)組數(shù)為5組,則進(jìn)行五次循環(huán)運(yùn)算。
MD5算法加密具有容易計(jì)算、抗修改性、壓縮性和強(qiáng)抗碰撞性等特性,其利于信息的加密。
S203,發(fā)送所述加密數(shù)據(jù)包至第一客戶端以保存預(yù)設(shè)時(shí)間段,以用于所述第一客戶端在該預(yù)設(shè)時(shí)間段內(nèi)重復(fù)登錄本服務(wù)器。
S102,解密所述加密數(shù)據(jù)包以獲取所述第一憑證信息,所述第一憑證信息包括用戶標(biāo)識(shí)信息、用戶身份認(rèn)證信息、第一客戶端設(shè)備信息及第一服務(wù)器生成的第一權(quán)限信息。在本實(shí)施例中,所述加密數(shù)據(jù)包是由第一憑證信息加密打包而來。優(yōu)選地,當(dāng)采用MD5算法加密時(shí),第一憑證信息被計(jì)算成MD5值,通過和本服務(wù)器中保存的MD5值進(jìn)行比較而獲取第一憑證信息,而本服務(wù)器并不“知道”用戶的密碼是什么。
而在其他實(shí)施例中,當(dāng)可用可逆的算法對(duì)憑證信息進(jìn)行保密時(shí),還可以通過完整解密的方式將第一憑證信息解析出來。具體地,所述第一客戶端設(shè)備信息表征第一客戶端地址,所述第一憑證信息僅用于與該第一客戶端地址綁定的第一客戶端登錄本服務(wù)器。所述憑證信息由第一服務(wù)器生成,并且包括第一客戶端設(shè)備信息,與第一客戶端信息進(jìn)行綁定,保證該第一憑證信息只能支持該第一客戶端登錄服務(wù)器,保證登錄安全性。
S103,發(fā)送所述第一憑證信息至所述第一服務(wù)器以在第一服務(wù)器校驗(yàn)該第一憑證信息合法時(shí)建立第一客戶端和本服務(wù)器的合法連接。第一客戶端所提供的第一憑證信息在經(jīng)過第一服務(wù)器校驗(yàn)合法時(shí),即正確時(shí),建立本服務(wù)器與所述第一客戶端的合法連接,當(dāng)建立合法連接后,客戶端可以訪問本服務(wù)器,并合法獲取本服務(wù)器所提供的資源。
具體地,參考圖3,所述校驗(yàn)方法還包括后序步驟:
S301,響應(yīng)于第一客戶端和本服務(wù)器的連接狀態(tài),生成第二權(quán)限信息。
S302,整合所述第一客戶端設(shè)備信息、所述用戶身份認(rèn)證信息、用戶標(biāo)識(shí)信息和所述第二權(quán)限信息成第二憑證信息;
S303,加密所述第二憑證信息并打包,以生成第二加密數(shù)據(jù)包;
進(jìn)一步地,參考圖4,采用MD5(Message-Digest Algorithm 5),即信息-摘要算法加密所述第二憑證信息,該加密步驟具體包括:
S401,填充所述第二憑證信息至預(yù)設(shè)字節(jié)長(zhǎng)度在填充后的第二憑證信息后添加長(zhǎng)度信息。優(yōu)選地,將第二憑證信息中所包括的所有信息都轉(zhuǎn)換成統(tǒng)一格式,然后按照預(yù)設(shè)字節(jié)長(zhǎng)度(例如512字節(jié)長(zhǎng)度)來填充信息到固定長(zhǎng)度。
S402,按預(yù)設(shè)組數(shù)對(duì)所述填充后的第二憑證信息分組。在本發(fā)明實(shí)施例中,預(yù)設(shè)組數(shù)為5組,例如將512字節(jié)長(zhǎng)度的信息分成5組。
S403,采用四個(gè)鏈接變量進(jìn)行四輪循環(huán)運(yùn)算,所述循環(huán)運(yùn)算的次數(shù)為預(yù)設(shè)組數(shù)。所述的鏈接變量是由系統(tǒng)自動(dòng)生成的,其由于不可逆的循環(huán)運(yùn)算,從而保證加密后的數(shù)據(jù)不被破譯。優(yōu)選地,所述循環(huán)次數(shù)為預(yù)設(shè)組數(shù),例如預(yù)設(shè)組數(shù)為5組,則進(jìn)行五次循環(huán)運(yùn)算。
MD5算法加密具有容易計(jì)算、抗修改性、壓縮性和強(qiáng)抗碰撞性等特性,其利于信息的加密。
進(jìn)一步地,還包括步驟:所述第一服務(wù)器根據(jù)修改的密碼生成的第三憑證信息發(fā)送至所述第二客戶端以保存預(yù)設(shè)時(shí)間段,以用于所述第二客戶端在該預(yù)設(shè)時(shí)間段內(nèi)重復(fù)登錄本服務(wù)器。在本實(shí)施例中,所述登錄憑證是由本服務(wù)器生成的,由于第二登錄憑證包括足夠的信息使其可以用于第一客戶端重復(fù)登錄本服務(wù)。而在本發(fā)明的優(yōu)選實(shí)施例中,是僅采用第一憑證信息的加密數(shù)據(jù)包重復(fù)登錄本服務(wù)器,而無法采用第二登錄憑證登錄本服務(wù)器。
S304,發(fā)送所述第二加密數(shù)據(jù)包至第一客戶端。
進(jìn)一步地,通過第二客戶端登錄所述第一服務(wù)器并修改用戶密碼的方法廢除所述第一客戶端在所述預(yù)設(shè)時(shí)間段內(nèi)重復(fù)登錄本服務(wù)器的權(quán)限。本發(fā)明提供了采用第二客戶端登錄第一服務(wù)器并改密的方法廢除原有的第一憑證信息的機(jī)制,以在第一客戶端丟失時(shí)盜取設(shè)備的登錄信息。
一方面,第一客戶端在每次登陸本服務(wù)器時(shí)都需要將第一憑證信息發(fā)送至第一服務(wù)器進(jìn)行合法性校驗(yàn),因此用戶能夠通過第二客戶端登錄第一服務(wù)器而改變賬號(hào)、密碼而廢除第一登錄憑證;另一方面,在本發(fā)明的運(yùn)行機(jī)制下,每次都采用第一憑證信息登錄,每次都需要經(jīng)過第一服務(wù)器校驗(yàn)合法性,具有更安全的特點(diǎn)。
進(jìn)一步地,參考圖5,所述第一客戶端在所述預(yù)設(shè)時(shí)間段內(nèi)重復(fù)登錄本服務(wù)器的權(quán)限被廢除后,本服務(wù)器禁止所述第一客戶端登錄本服務(wù)器,具體步驟包括如下:
S501,響應(yīng)于第一客戶端發(fā)送的通過第一憑證信息登錄本服務(wù)器的登錄請(qǐng)求,解析該登錄請(qǐng)求以獲取由所述第一客戶端成功登錄第一服務(wù)器而取得的所述第一憑證信息的加密數(shù)據(jù)包。在本發(fā)明一個(gè)實(shí)施例中,本服務(wù)器在接收到用戶通過OAuth登錄本服務(wù)的請(qǐng)求時(shí),首先解析登錄請(qǐng)求,并獲取由所述第一客戶端成功登錄第一服務(wù)器而取得的所述第一憑證信息的加密數(shù)據(jù)包。
S502,解密所述加密數(shù)據(jù)包以獲取所述第一憑證信息。在本實(shí)施例中,所述加密數(shù)據(jù)包是由第一憑證信息加密打包而來。優(yōu)選地,當(dāng)采用MD5算法加密時(shí),第一憑證信息被計(jì)算成MD5值,通過和本服務(wù)器中保存的MD5值進(jìn)行比較而獲取第一憑證信息,而本服務(wù)器并不能獲知用戶的密碼。而在其他實(shí)施例中,當(dāng)使用可逆的算法對(duì)憑證信息進(jìn)行保密時(shí),還可以通過完整解密的方式將第一憑證信息解析出來。
S503,發(fā)送所述第一憑證信息至所述第一服務(wù)器以在第一服務(wù)器校驗(yàn)該第一憑證信息不合法時(shí)反饋登錄失敗信息至所述第一客戶端。第一客戶端所提供的第一憑證信息在經(jīng)過第一服務(wù)器校驗(yàn)不合法時(shí),即信息有誤時(shí),禁止建立本服務(wù)器與所述第一客戶端的合法連接,同時(shí)廢除第一憑證信息登錄本服務(wù)器的權(quán)限。
進(jìn)一步地,所述第二客戶端登錄所述第一服務(wù)器并修改用戶密碼的步驟具體包括:
S601,獲取由所述第一服務(wù)器根據(jù)用戶在第二客戶端輸入的用戶賬號(hào)、修改密碼生成的第三憑證信息;
S602,響應(yīng)于第一客戶端發(fā)送的通過第一憑證信息登錄本服務(wù)器的登錄請(qǐng)求,反饋登錄權(quán)限廢除的信息至所述第一客戶端。
在本實(shí)施例中,通過本服務(wù)器和第一服務(wù)器之間建立的安全通訊協(xié)議,本服務(wù)器直接獲取由所述第一服務(wù)器根據(jù)用戶在第二客戶端輸入的用戶賬號(hào)、修改密碼生成的第三憑證信息。在其中一個(gè)實(shí)施例中,對(duì)比第一憑證信息和第三憑證信息的具體信息,當(dāng)二者信息不同時(shí),用第三憑證信息替換第一憑證信息,從而廢除第一憑證信息登錄本服務(wù)器的登錄效力。
第二方面,本發(fā)明提供了一種登錄憑證校驗(yàn)裝置,該登錄憑證校驗(yàn)裝置具有實(shí)現(xiàn)上述第一方面中功能接口調(diào)用響應(yīng)方法行為的功能。所述功能可以通過硬件實(shí)現(xiàn),也可以通過硬件執(zhí)行相應(yīng)的軟件實(shí)現(xiàn)。所述硬件或軟件包括一個(gè)或多個(gè)與上述功能相對(duì)應(yīng)的模塊。該登錄憑證校驗(yàn)裝置包括如下各模塊:
獲取模塊101,用于響應(yīng)于第一客戶端發(fā)送的通過第一憑證信息登錄本服務(wù)器的登錄請(qǐng)求,解析該登錄請(qǐng)求以獲取由所述第一客戶端成功登錄第一服務(wù)器而取得的所述第一憑證信息的加密數(shù)據(jù)包;
解密模塊102,用于解密所述加密數(shù)據(jù)包以獲取所述第一憑證信息,所述第一憑證信息包括用戶標(biāo)識(shí)信息、用戶身份認(rèn)證信息、第一客戶端設(shè)備信息及第一服務(wù)器生成的第一權(quán)限信息;
校驗(yàn)?zāi)K103,用于發(fā)送所述第一憑證信息至所述第一服務(wù)器以在第一服務(wù)器校驗(yàn)該第一憑證信息合法時(shí)建立第一客戶端和本服務(wù)器的合法連接。
參考圖8,在本發(fā)明一個(gè)實(shí)施例中,本發(fā)明所述的登錄憑證登錄流程將表達(dá)的更為清晰。
參考圖9,在本發(fā)明的一個(gè)實(shí)施例中,本發(fā)明所述的修改密碼及相關(guān)流程將表達(dá)的更為清晰。
本發(fā)明實(shí)施例提供了一種計(jì)算機(jī)存儲(chǔ)介質(zhì),用于儲(chǔ)存為上述登錄憑證校驗(yàn)裝置所用的計(jì)算機(jī)軟件指令,其包含用于執(zhí)行上述方面為登錄憑證校驗(yàn)裝置所設(shè)計(jì)的程序。
本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)可以包括:只讀存儲(chǔ)器(ROM,Read Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁盤或光盤等。
以上對(duì)本發(fā)明所提供的一種可穿戴設(shè)備進(jìn)行了詳細(xì)介紹,對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明實(shí)施例的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。