技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)安全傳輸方法。
背景技術(shù):
:
目前,移動設(shè)備在與服務(wù)器進行數(shù)據(jù)傳輸時,通常直接采用鍵值對的方式傳輸,一個key對應(yīng)一個value,雖然value的內(nèi)容經(jīng)過加密,但在傳輸?shù)倪^程中,網(wǎng)絡(luò)環(huán)境通常險象環(huán)生,尤其是在公用網(wǎng)絡(luò)環(huán)境中,所有進行交互的數(shù)據(jù)都有可能被攻擊者通過工具進行嗅探,攔截到對應(yīng)的請求信息后,即可模擬客戶端請求給服務(wù)器,從而獲取數(shù)據(jù),造成用戶信息的泄漏,在這種情況下,服務(wù)器無從得知接收到的請求數(shù)據(jù)是否安全,給傳輸工作帶來困擾。
技術(shù)實現(xiàn)要素:
:
本發(fā)明提供了一種數(shù)據(jù)安全傳輸方法,它設(shè)計合理,在移動設(shè)備和服務(wù)器進行數(shù)據(jù)傳輸時,服務(wù)器能夠清晰的辨別出接收到的請求數(shù)據(jù)是否被篡改,從而保證數(shù)據(jù)傳輸?shù)陌踩裕苊饬擞脩粜畔⒌男孤?,保證了傳輸?shù)陌踩?,解決了現(xiàn)有技術(shù)中存在的問題。
本發(fā)明為解決上述技術(shù)問題所采用的技術(shù)方案是:
一種數(shù)據(jù)安全傳輸方法,步驟包括:
(1)在服務(wù)器中配置若干個加密算法,每個算法對應(yīng)生產(chǎn)若干對密鑰,每對密鑰均包括公鑰和私鑰,服務(wù)器將密鑰與加密算法相對應(yīng)保存在服務(wù)器中;
(2)移動設(shè)備通過網(wǎng)絡(luò)向服務(wù)器提出提取密鑰請求,服務(wù)器收到密鑰請求后,隨機選擇一種加密算法,并將該加密算法所對應(yīng)的密鑰的公鑰發(fā)送至移動設(shè)備;
(3)移動設(shè)備獲得公鑰后,通過公鑰對請求參數(shù)進行加密,得到請求參數(shù)值的加密數(shù)據(jù),該數(shù)據(jù)作為安全檢測數(shù)據(jù);
(4)移動設(shè)備將請求參數(shù)和安全檢測數(shù)據(jù)一起發(fā)送至服務(wù)器,服務(wù)器接收到請求參數(shù)和安全檢測數(shù)據(jù)后,通過密鑰的私鑰對安全檢測數(shù)據(jù)進行解密,得到安全檢測還原數(shù)據(jù);
(5)將步驟(4)得到的安全檢測還原數(shù)據(jù)與請求參數(shù)進行對比,如果安全檢測還原數(shù)據(jù)與請求參數(shù)相同,則說明數(shù)據(jù)安全未經(jīng)篡改,服務(wù)器即對移動設(shè)備的請求進行響應(yīng),返回響應(yīng)數(shù)據(jù);
(6)移動設(shè)備對返回的響應(yīng)數(shù)據(jù)進行處理,通訊過程結(jié)束;
(7)在步驟(5)中如果安全檢測還原數(shù)據(jù)與請求參數(shù)不同,則說明數(shù)據(jù)不安全,經(jīng)過了篡改,服務(wù)器不對移動設(shè)備的請求進行響應(yīng)。
在步驟(3)-(7)中,(3)移動設(shè)備獲得公鑰后,通過公鑰對請求參數(shù)的前n位字符進行加密,n的值小于請求參數(shù)的字符位數(shù),得到請求參數(shù)的前n位字符的加密數(shù)據(jù),該數(shù)據(jù)作為安全檢測數(shù)據(jù);
(4)移動設(shè)備將請求參數(shù)和安全檢測數(shù)據(jù)一起發(fā)送至服務(wù)器,服務(wù)器接收到請求參數(shù)和安全檢測數(shù)據(jù)后,通過密鑰的私鑰對安全檢測數(shù)據(jù)進行解密,得到安全檢測還原數(shù)據(jù);
(5)將步驟(4)得到的安全檢測還原數(shù)據(jù)與請求參數(shù)的前n位字符進行對比,如果安全檢測還原數(shù)據(jù)與請求參數(shù)的前n位字符相同,則說明數(shù)據(jù)安全未經(jīng)篡改,服務(wù)器即對移動設(shè)備的請求進行響應(yīng),返回響應(yīng)數(shù)據(jù);
(6)移動設(shè)備對返回的響應(yīng)數(shù)據(jù)進行處理,通訊過程結(jié)束;
(7)在步驟(5)中如果安全檢測還原數(shù)據(jù)與請求參數(shù)的前n位字符不同,則說明數(shù)據(jù)不安全,經(jīng)過了篡改,服務(wù)器不對移動設(shè)備的請求進行響應(yīng)。
本發(fā)明采用上述方法,在移動設(shè)備和服務(wù)器進行數(shù)據(jù)傳輸時,服務(wù)器能夠清晰的辨別出接收到的請求數(shù)據(jù)是否被篡改,從而保證數(shù)據(jù)傳輸?shù)陌踩?,避免了用戶信息的泄露,保證了傳輸?shù)陌踩浴?/p>
具體實施方式:
為能清楚說明本方案的技術(shù)特點,下面通過具體實施方式,對本發(fā)明進行詳細闡述。
一種數(shù)據(jù)安全傳輸方法,步驟包括:
(1)在服務(wù)器中配置若干個加密算法,每個算法對應(yīng)生產(chǎn)若干對密鑰,每對密鑰均包括公鑰和私鑰,服務(wù)器將密鑰與加密算法相對應(yīng)保存在服務(wù)器中;
(2)移動設(shè)備通過網(wǎng)絡(luò)向服務(wù)器提出提取密鑰請求,服務(wù)器收到密鑰請求后,隨機選擇一種加密算法,并將該加密算法所對應(yīng)的密鑰的公鑰發(fā)送至移動設(shè)備;
(3)移動設(shè)備獲得公鑰后,通過公鑰對請求參數(shù)進行加密,得到請求參數(shù)值的加密數(shù)據(jù),該數(shù)據(jù)作為安全檢測數(shù)據(jù);
(4)移動設(shè)備將請求參數(shù)和安全檢測數(shù)據(jù)一起發(fā)送至服務(wù)器,服務(wù)器接收到請求參數(shù)和安全檢測數(shù)據(jù)后,通過密鑰的私鑰對安全檢測數(shù)據(jù)進行解密,得到安全檢測還原數(shù)據(jù);
(5)將步驟(4)得到的安全檢測還原數(shù)據(jù)與請求參數(shù)進行對比,如果安全檢測還原數(shù)據(jù)與請求參數(shù)相同,則說明數(shù)據(jù)安全未經(jīng)篡改,服務(wù)器即對移動設(shè)備的請求進行響應(yīng),返回響應(yīng)數(shù)據(jù);
(6)移動設(shè)備對返回的響應(yīng)數(shù)據(jù)進行處理,通訊過程結(jié)束;
(7)在步驟(5)中如果安全檢測還原數(shù)據(jù)與請求參數(shù)不同,則說明數(shù)據(jù)不安全,經(jīng)過了篡改,服務(wù)器不對移動設(shè)備的請求進行響應(yīng)。
在步驟(3)-(7)中,(3)移動設(shè)備獲得公鑰后,通過公鑰對請求參數(shù)的前n位字符進行加密,n的值小于請求參數(shù)的字符位數(shù),得到請求參數(shù)的前n位字符的加密數(shù)據(jù),該數(shù)據(jù)作為安全檢測數(shù)據(jù);
(4)移動設(shè)備將請求參數(shù)和安全檢測數(shù)據(jù)一起發(fā)送至服務(wù)器,服務(wù)器接收到請求參數(shù)和安全檢測數(shù)據(jù)后,通過密鑰的私鑰對安全檢測數(shù)據(jù)進行解密,得到安全檢測還原數(shù)據(jù);
(5)將步驟(4)得到的安全檢測還原數(shù)據(jù)與請求參數(shù)的前n位字符進行對比,如果安全檢測還原數(shù)據(jù)與請求參數(shù)的前n位字符相同,則說明數(shù)據(jù)安全未經(jīng)篡改,服務(wù)器即對移動設(shè)備的請求進行響應(yīng),返回響應(yīng)數(shù)據(jù);
(6)移動設(shè)備對返回的響應(yīng)數(shù)據(jù)進行處理,通訊過程結(jié)束;
(7)在步驟(5)中如果安全檢測還原數(shù)據(jù)與請求參數(shù)的前n位字符不同,則說明數(shù)據(jù)不安全,經(jīng)過了篡改,服務(wù)器不對移動設(shè)備的請求進行響應(yīng)。
如移動設(shè)備向服務(wù)器請求數(shù)據(jù)username、password及對應(yīng)值,移動設(shè)備通過網(wǎng)絡(luò)向服務(wù)器提出提取密鑰請求,服務(wù)器收到密鑰請求后,隨機選擇一種加密算法,并將該加密算法所對應(yīng)的密鑰的公鑰發(fā)送至移動設(shè)備,移動設(shè)備獲得公鑰后,通過公鑰對username、password及對應(yīng)值進行加密,得到hash(username,value1,password,value2)作為安全檢測數(shù)據(jù);移動設(shè)備將username、password及對應(yīng)值和hash(username,value1,password,value2)一起發(fā)送至服務(wù)器,服務(wù)器接收到后,通過密鑰的私鑰對安全檢測數(shù)據(jù)進行解密,得到安全檢測還原數(shù)據(jù)。若安全檢測還原數(shù)據(jù)為username,value1,password,value2,則說明數(shù)據(jù)安全未經(jīng)篡改,服務(wù)器即對移動設(shè)備的請求進行響應(yīng),返回響應(yīng)數(shù)據(jù);如果安全檢測還原數(shù)據(jù)不為username,value1,password,value2,則說明數(shù)據(jù)不安全,經(jīng)過了篡改,服務(wù)器不對移動設(shè)備的請求進行響應(yīng)。
當請求參數(shù)字符位數(shù)較多時,進行加密較為困難,此時采取對請求參數(shù)的前n位字符進行加密的方式,如n值可以為5,得到請求參數(shù)的前5位字符的加密數(shù)據(jù),該數(shù)據(jù)作為安全檢測數(shù)據(jù)。
采用本發(fā)明的數(shù)據(jù)安全傳輸方法,在移動設(shè)備和服務(wù)器進行數(shù)據(jù)傳輸時,服務(wù)器能夠清晰的辨別出接收到的請求數(shù)據(jù)是否被篡改,從而保證數(shù)據(jù)傳輸?shù)陌踩?,避免了用戶信息的泄露,保證了傳輸?shù)陌踩浴?/p>
上述具體實施方式不能作為對本發(fā)明保護范圍的限制,對于本技術(shù)領(lǐng)域的技術(shù)人員來說,對本發(fā)明實施方式所做出的任何替代改進或變換均落在本發(fā)明的保護范圍內(nèi)。
本發(fā)明未詳述之處,均為本技術(shù)領(lǐng)域技術(shù)人員的公知技術(shù)。