本發(fā)明涉及WEB安全驗(yàn)證技術(shù),尤其涉及一種嵌入式WEB安全認(rèn)證方法。
背景技術(shù):
在越來越多的嵌入式產(chǎn)品引入了WEB管理,WEB管理具有簡單直接可視等優(yōu)點(diǎn),通過在嵌入式產(chǎn)品中內(nèi)置一個(gè)輕量級的WEB服務(wù)器,再通過IP及HTTP協(xié)議,就可以實(shí)現(xiàn)嵌入式設(shè)備的遠(yuǎn)程管理控制。為了實(shí)現(xiàn)設(shè)備的安全訪問控制,一般需要輸入WEB登錄用戶名和用戶密碼,經(jīng)過服務(wù)端驗(yàn)證通過后才可以獲得授權(quán)許可,允許對嵌入式設(shè)備進(jìn)行控制管理操作。目前很多嵌入式設(shè)備的登錄用戶名和用戶密碼是明文傳輸?shù)?,很容易被人截獲,從而導(dǎo)致嵌入式設(shè)備被非法訪問,甚至出現(xiàn)不可預(yù)估的損失及危害。
技術(shù)實(shí)現(xiàn)要素:
為了克服現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于提供一種嵌入式WEB安全認(rèn)證方法,其能實(shí)現(xiàn)嵌入式設(shè)備的安全訪問控制。
本發(fā)明的目的采用以下技術(shù)方案實(shí)現(xiàn):
一種嵌入式WEB安全認(rèn)證方法,應(yīng)用于嵌入式系統(tǒng),包括如下步驟:
S1、WEB前端獲取用戶輸入的用戶數(shù)據(jù)和設(shè)備特征碼;用戶數(shù)據(jù)包括用戶名;
S2、WEB前端根據(jù)用戶數(shù)據(jù)和設(shè)備特征碼,通過安全算法得到安全碼;
S3、WEB前端將安全碼和用戶名發(fā)送至服務(wù)端;
S4、服務(wù)端根據(jù)用戶名獲取與用戶名對應(yīng)的預(yù)存用戶數(shù)據(jù),以及獲取設(shè)備特征碼;
S5、服務(wù)端根據(jù)預(yù)存用戶數(shù)據(jù)和設(shè)備特征碼,通過安全驗(yàn)證算法得到安全驗(yàn)證碼;
S6、服務(wù)端判斷安全碼與安全驗(yàn)證碼是否一致,并將驗(yàn)證結(jié)果發(fā)送至WEB前端;
S7、WEB前端根據(jù)驗(yàn)證結(jié)果處理遠(yuǎn)程訪問控制請求。
作為優(yōu)選,所述安全算法包括bcrypt算法。
作為優(yōu)選,所述安全算法還包括MD5算法,先通過bcrypt算法將用戶數(shù)據(jù)和設(shè)備特征碼進(jìn)行加密得到第一安全碼,再通過MD5算法對第一安全碼進(jìn)行加密得到安全碼。
經(jīng)過bcrypt算法計(jì)算的第一安全碼較長,通過MD5算法可以將安全碼進(jìn)行壓縮成較短的安全碼。
作為優(yōu)選,所述安全驗(yàn)證算法包括bcrypt算法。
作為優(yōu)選,所述安全驗(yàn)證算法還包括MD5算法,先通過bcrypt算法將用戶數(shù)據(jù)和設(shè)備特征碼進(jìn)行加密得到第一安全驗(yàn)證碼,再通過MD5算法對第一安全驗(yàn)證碼進(jìn)行加密得到安全驗(yàn)證碼。
經(jīng)過bcrypt算法計(jì)算的第一安全碼較長,通過MD5算法可以將安全碼進(jìn)行壓縮成較短的安全碼。
作為優(yōu)選,驗(yàn)證結(jié)果包括驗(yàn)證通過指令和驗(yàn)證失敗指令,S7中具體為:當(dāng)WEB前端接收到驗(yàn)證通過指令,通過遠(yuǎn)程訪問控制請求;當(dāng)WEB前端接收到驗(yàn)證失敗指令,拒絕遠(yuǎn)程訪問請求。
作為優(yōu)選,S7中拒絕遠(yuǎn)程訪問請求后返回S1。
作為優(yōu)選,S1之前還包括如下步驟:S0、WEB前端接收遠(yuǎn)程訪問控制請求指令。
作為優(yōu)選,設(shè)備特征碼包括嵌入式系統(tǒng)的MAC地址、產(chǎn)品型號、產(chǎn)品類型和產(chǎn)品版本。
作為優(yōu)選,設(shè)備特征碼包括6個(gè)字符的產(chǎn)品類型、6個(gè)字符的產(chǎn)品型號、4個(gè)字符的產(chǎn)品版本和12個(gè)字符的MAC地址。
相比現(xiàn)有技術(shù),本發(fā)明的有益效果在于:通過安全算法將用戶名和用戶密碼進(jìn)行加密,并將加密的安全碼傳輸至服務(wù)端,使用戶名和用戶密碼不再明文傳輸,不易破解,實(shí)現(xiàn)了嵌入式設(shè)備的安全訪問控制。
附圖說明
圖1為本發(fā)明的一種嵌入式WEB安全認(rèn)證方法的流程圖。
具體實(shí)施方式
下面,結(jié)合附圖以及具體實(shí)施方式,對本發(fā)明做進(jìn)一步描述:
一種嵌入式WEB安全認(rèn)證方法,應(yīng)用于嵌入式系統(tǒng),嵌入式系統(tǒng)包括WEB前端和服務(wù)端;如圖1所示,具體包括如下步驟:
步驟10、WEB前端接收遠(yuǎn)程訪問控制請求指令。
步驟11、WEB前端獲取用戶輸入的用戶數(shù)據(jù),用戶數(shù)據(jù)包括用戶名和用戶密碼。
步驟12、WEB前端獲取設(shè)備特征碼;設(shè)備特征碼包括嵌入式系統(tǒng)所在的嵌入式設(shè)備的MAC地址、產(chǎn)品型號、產(chǎn)品類型和產(chǎn)品版本,設(shè)備特征碼為一個(gè)28字符的字符串,包括6個(gè)字符的產(chǎn)品類型、6個(gè)字符的產(chǎn)品型號、4個(gè)字符的產(chǎn)品版本和12個(gè)字符的MAC地址。
步驟13、WEB前端根據(jù)用戶數(shù)據(jù)和設(shè)備特征碼,通過安全算法計(jì)算安全碼;所述安全算法包括bcrypt算法和MD5算法,先通過bcrypt算法將用戶數(shù)據(jù)和設(shè)備特征碼進(jìn)行加密計(jì)算得到第一安全碼,第一安全碼為一個(gè)60字節(jié)的密碼串;再通過MD5算法對第一安全碼進(jìn)行加密計(jì)算得到安全碼,安全碼為32字符(128位)的密碼串。
步驟14、WEB前端將安全碼和用戶名發(fā)送至服務(wù)端。
步驟20、服務(wù)端根據(jù)WEB前端發(fā)送來的用戶名,獲取服務(wù)端內(nèi)與用戶名對應(yīng)的預(yù)存用戶數(shù)據(jù);服務(wù)端內(nèi)存有所有系統(tǒng)用戶的預(yù)存用戶數(shù)據(jù),預(yù)存用戶數(shù)據(jù)包括預(yù)存用戶名和預(yù)存用戶密碼。
步驟21、服務(wù)端獲取與嵌入式設(shè)備對應(yīng)的設(shè)備特征碼,設(shè)備特征碼包括嵌入式系統(tǒng)所在的嵌入式設(shè)備的MAC地址、嵌入式設(shè)備型號、嵌入式設(shè)備類型和嵌入式設(shè)備版本等等信息。
步驟22、服務(wù)端根據(jù)預(yù)存用戶數(shù)據(jù)和設(shè)備特征碼,通過安全驗(yàn)證算法計(jì)算安全驗(yàn)證碼;所述安全驗(yàn)證算法包括bcrypt算法和MD5算法,先通過bcrypt算法將預(yù)存用戶數(shù)據(jù)和設(shè)備特征碼進(jìn)行加密計(jì)算得到第一安全驗(yàn)證碼,第一安全驗(yàn)證碼為一個(gè)60字節(jié)的密碼串;再通過MD5算法對第一安全驗(yàn)證碼進(jìn)行加密計(jì)算得到安全驗(yàn)證碼,安全驗(yàn)證碼為32字符(128位)的密碼串。
經(jīng)過bcrypt算法計(jì)算的第一安全碼較長,通過MD5算法可以將安全碼進(jìn)行壓縮成較短的安全碼。
bcrypt算法是專門為密碼存儲而設(shè)計(jì)的算法,bcrypt算法是基于Blowfish加密算法變形而來,bcrypt算法比PBKDF2更能承受隨著計(jì)算能力加強(qiáng)而帶來的風(fēng)險(xiǎn),bcrypt也有廣泛的函數(shù)庫支持。
步驟23、服務(wù)端判斷WEB前端發(fā)送來的安全碼與安全驗(yàn)證碼是否一致,并將驗(yàn)證結(jié)果發(fā)送至WEB前端,驗(yàn)證結(jié)果包括驗(yàn)證通過指令和驗(yàn)證失敗指令。
步驟30、當(dāng)WEB前端接收到服務(wù)端發(fā)送的驗(yàn)證通過指令,通過遠(yuǎn)程訪問控制請求;當(dāng)WEB前端接收到服務(wù)端發(fā)送的驗(yàn)證失敗指令,拒絕遠(yuǎn)程訪問請求,并返回步驟11。
嵌入式WEB安全認(rèn)證裝置,包括:
接收模塊,設(shè)于WEB前端,用于接收遠(yuǎn)程訪問控制請求指令。
第一獲取模塊,設(shè)于WEB前端,用于獲取用戶輸入的用戶數(shù)據(jù),用戶數(shù)據(jù)包括用戶名和用戶密碼。
第二獲取模塊,設(shè)于WEB前端,用于獲取設(shè)備特征碼,設(shè)備特征碼包括嵌入式系統(tǒng)所在的嵌入式設(shè)備的MAC地址、嵌入式設(shè)備型號、嵌入式設(shè)備類型和嵌入式設(shè)備版本等等信息。
第一安全模塊,設(shè)于WEB前端,用于根據(jù)用戶數(shù)據(jù)和設(shè)備特征碼,通過安全算法計(jì)算安全碼;所述安全算法包括bcrypt算法和MD5算法,先通過bcrypt算法將用戶數(shù)據(jù)和設(shè)備特征碼進(jìn)行加密計(jì)算得到第一安全碼,第一安全碼為一個(gè)60字節(jié)的密碼串;再通過MD5算法對第一安全碼進(jìn)行加密計(jì)算得到安全碼,安全碼為32字符(128位)的密碼串。
發(fā)送模塊,設(shè)于WEB前端,用于將安全碼和用戶名發(fā)送至服務(wù)端。
第三獲取模塊,設(shè)于服務(wù)端,用于根據(jù)WEB前端發(fā)送來的用戶名,獲取服務(wù)端內(nèi)與用戶名對應(yīng)的預(yù)存用戶數(shù)據(jù);服務(wù)端內(nèi)存有所有系統(tǒng)用戶的預(yù)存用戶數(shù)據(jù),預(yù)存用戶數(shù)據(jù)包括預(yù)存用戶名和預(yù)存用戶密碼。
第四獲取模塊,設(shè)于服務(wù)端,用于獲取設(shè)備特征碼。設(shè)備特征碼包括嵌入式系統(tǒng)所在的嵌入式設(shè)備的MAC地址、嵌入式設(shè)備型號、嵌入式設(shè)備類型和嵌入式設(shè)備版本等等信息。
第二安全模塊,設(shè)于服務(wù)端,用于根據(jù)預(yù)存用戶數(shù)據(jù)和設(shè)備特征碼,通過安全算法計(jì)算安全驗(yàn)證碼;所述安全算法包括bcrypt算法和MD5算法,先通過bcrypt算法將預(yù)存用戶數(shù)據(jù)和設(shè)備特征碼進(jìn)行加密計(jì)算得到第一安全驗(yàn)證碼,第一安全驗(yàn)證碼為一個(gè)60字節(jié)的密碼串;再通過MD5算法對第一安全驗(yàn)證碼進(jìn)行加密計(jì)算得到安全驗(yàn)證碼,安全驗(yàn)證碼為32字符(128位)的密碼串。
驗(yàn)證模塊,設(shè)于服務(wù)端,用于判斷WEB前端發(fā)送來的安全碼與安全驗(yàn)證碼是否一致,并將驗(yàn)證結(jié)果發(fā)送至WEB前端,驗(yàn)證結(jié)果包括驗(yàn)證通過指令和驗(yàn)證失敗指令。
反饋模塊,設(shè)于WEB前端,用于當(dāng)接收到服務(wù)端發(fā)送的驗(yàn)證通過指令,通過遠(yuǎn)程訪問控制請求,以及當(dāng)接收到服務(wù)端發(fā)送的驗(yàn)證失敗指令,拒絕遠(yuǎn)程訪問請求,并返回第一獲取模塊。
對本領(lǐng)域的技術(shù)人員來說,可根據(jù)以上描述的技術(shù)方案以及構(gòu)思,做出其它各種相應(yīng)的改變以及形變,而所有的這些改變以及形變都應(yīng)該屬于本發(fā)明權(quán)利要求的保護(hù)范圍之內(nèi)。