本發(fā)明涉及通信領(lǐng)域,尤其是涉及一種針對(duì)突發(fā)環(huán)境事件的應(yīng)急指揮調(diào)度方法以及實(shí)現(xiàn)該方法的系統(tǒng)。
背景技術(shù):
近年來(lái),國(guó)內(nèi)以及國(guó)外突發(fā)事件發(fā)生的頻率日益增多,應(yīng)付難度也日益加大,有效預(yù)防和穩(wěn)妥處置突發(fā)事件已成為社會(huì)各界共同面臨的嚴(yán)峻挑戰(zhàn)。為了在突發(fā)事件發(fā)生時(shí),各部門能有條不紊的按照既定的方案做好本職工作,應(yīng)急預(yù)案體系建設(shè)作為預(yù)防和處置突發(fā)事件的重要基礎(chǔ)得到了普遍重視。
目前,應(yīng)急預(yù)案多以紙質(zhì)文本或電子文件的形式存放于檔案柜或者電腦硬盤中,例如使用word文檔、pdf文檔等電子文件的形式存儲(chǔ)。一旦突發(fā)事件發(fā)生的時(shí)候,應(yīng)急人員很難準(zhǔn)確、快速的查詢獲取相關(guān)的應(yīng)急預(yù)案,也難以有效的提取預(yù)案中的有用信息。對(duì)于臨時(shí)趕到現(xiàn)場(chǎng)指揮的人員來(lái)說(shuō),無(wú)法及時(shí)獲取各種資源,如專家信息、物資等,從而影響了應(yīng)急處置的效率和效果。
技術(shù)實(shí)現(xiàn)要素:
為了解決上述的問(wèn)題,本發(fā)明的主要目的是提供一種能夠在發(fā)生突發(fā)事件時(shí)快速的實(shí)現(xiàn)資源傳送的應(yīng)急指揮調(diào)度方法。
本發(fā)明的另一目的是提供一種能夠在發(fā)生突發(fā)事件時(shí)快速的實(shí)現(xiàn)資源傳送的應(yīng)急指揮調(diào)度系統(tǒng)。
為實(shí)現(xiàn)上述的主要目的,本發(fā)明提供的突發(fā)環(huán)境事件應(yīng)急指揮調(diào)度方法包括移動(dòng)終端從網(wǎng)絡(luò)服務(wù)器獲取rsa公鑰,并將rsa公鑰保存在移動(dòng)終端的本地存儲(chǔ)器上;移動(dòng)終端使用rsa公鑰將登錄信息進(jìn)行加密,并且將加密后的登錄信息發(fā)送至網(wǎng)絡(luò)服務(wù)器,其中,登錄信息包括會(huì)話密鑰、賬戶名稱、登錄密碼以及移動(dòng)終端的硬件設(shè)備信息,會(huì)話密鑰為aes類型密鑰;網(wǎng)絡(luò)服務(wù)器驗(yàn)證登錄信息的真實(shí)性后,將登錄信息生成登錄憑證以及用戶id,將用戶憑證以及用戶id保存至數(shù)據(jù)庫(kù)服務(wù)器中;網(wǎng)絡(luò)服務(wù)器使用會(huì)話密鑰將用戶憑證以及用戶id加密后發(fā)送至移動(dòng)終端;移動(dòng)終端與網(wǎng)絡(luò)服務(wù)器之間的通信均使用會(huì)話密鑰將會(huì)話數(shù)據(jù)以及用戶憑證加密后發(fā)送。
一個(gè)優(yōu)選的方案是,移動(dòng)終端向網(wǎng)絡(luò)服務(wù)器發(fā)送數(shù)據(jù)時(shí),連同用戶id發(fā)送至網(wǎng)絡(luò)服務(wù)器;網(wǎng)絡(luò)服務(wù)器使用會(huì)話密鑰對(duì)所接收的數(shù)據(jù)進(jìn)行解密,并且驗(yàn)證數(shù)據(jù)的真實(shí)性后向移動(dòng)終端返回加密的數(shù)據(jù)。
進(jìn)一步的方案是,移動(dòng)終端從網(wǎng)絡(luò)服務(wù)器獲取rsa公鑰包括:網(wǎng)絡(luò)服務(wù)器判斷是否存儲(chǔ)有移動(dòng)終端的rsa公鑰,如沒(méi)有,則生成移動(dòng)終端的rsa公鑰并發(fā)送至移動(dòng)終端,并且將rsa公鑰保存至數(shù)據(jù)庫(kù)服務(wù)器中。
更進(jìn)一步的方案是,網(wǎng)絡(luò)服務(wù)器驗(yàn)證登錄信息的真實(shí)性包括:網(wǎng)絡(luò)服務(wù)器獲取登錄信息后,從數(shù)據(jù)庫(kù)服務(wù)器中獲取rsa私鑰,并且使用rsa私鑰對(duì)登錄信息進(jìn)行解密,并對(duì)解密后的登錄信息進(jìn)行驗(yàn)證。
更進(jìn)一步的方案是,使用rsa公鑰將登錄信息進(jìn)行加密前,移動(dòng)終端判斷本地是否存儲(chǔ)有會(huì)話密鑰,如沒(méi)有存儲(chǔ)會(huì)話密鑰,則使用密鑰函數(shù)庫(kù)生成一個(gè)會(huì)話密鑰。
更進(jìn)一步的方案是,移動(dòng)終端的硬件設(shè)備信息為移動(dòng)終端的sim卡號(hào)碼。
為實(shí)現(xiàn)上述的另一目的,本發(fā)明提供的突發(fā)環(huán)境事件應(yīng)急指揮調(diào)度系統(tǒng)包括:rsa公鑰獲取模塊,從網(wǎng)絡(luò)服務(wù)器獲取rsa公鑰,并將rsa公鑰保存在本地存儲(chǔ)器上;登錄信息加密模塊,使用rsa公鑰將登錄信息進(jìn)行加密,并且將加密后的登錄信息發(fā)送至網(wǎng)絡(luò)服務(wù)器,其中,登錄信息包括會(huì)話密鑰、賬戶名稱、登錄密碼以及移動(dòng)終端的硬件設(shè)備信息,會(huì)話密鑰為aes類型密鑰;登錄憑證生成模塊,用于在網(wǎng)絡(luò)服務(wù)器驗(yàn)證登錄信息的真實(shí)性后,將登錄信息生成登錄憑證以及用戶id,將用戶憑證以及用戶id保存至數(shù)據(jù)庫(kù)服務(wù)器中;登錄憑證發(fā)送模塊,用于網(wǎng)絡(luò)服務(wù)器使用會(huì)話密鑰將用戶憑證以及用戶id加密后發(fā)送至移動(dòng)終端;會(huì)話數(shù)據(jù)發(fā)送模塊,用于向網(wǎng)絡(luò)服務(wù)器發(fā)送會(huì)話數(shù)據(jù),且使用會(huì)話密鑰將會(huì)話數(shù)據(jù)以及用戶憑證加密后發(fā)送。
由上述方案可見(jiàn),本發(fā)明的突發(fā)環(huán)境事件指揮調(diào)度系統(tǒng)能夠?qū)㈩A(yù)先訂好的文本預(yù)案轉(zhuǎn)換成隨事件處置進(jìn)展而演進(jìn)的應(yīng)急響應(yīng)流程,根據(jù)事件具體信息輔助決策者判斷何時(shí)應(yīng)該做什么、怎么做,從而提高應(yīng)急的科學(xué)化和智能化水平,提高環(huán)保部門應(yīng)對(duì)突發(fā)環(huán)境污染事故的能力,確保在事故發(fā)生時(shí)能以最快的速度發(fā)揮最大的效能,有序的實(shí)施救援,盡快控制事態(tài)發(fā)展,降低事故造成的危害,最大限度的減少事故造成的人員傷亡和財(cái)產(chǎn)損失,保障居民的健康、安全。
為了確保應(yīng)急處置時(shí)通信聯(lián)絡(luò)的安全、可靠、暢通,本發(fā)明的突發(fā)環(huán)境事件應(yīng)急指揮調(diào)度系統(tǒng)充分利用了已建的公眾與專用通信網(wǎng)絡(luò)、有線與無(wú)線通信資源實(shí)現(xiàn)與各級(jí)應(yīng)急指揮平臺(tái)以及與突發(fā)事件現(xiàn)場(chǎng)的信息傳送。
在信息交互過(guò)程中,數(shù)據(jù)傳輸?shù)臏?zhǔn)確性、唯一性和完整性是預(yù)案得以順利執(zhí)行的保障。然而,這些數(shù)據(jù)都依賴于公網(wǎng)傳輸,難免會(huì)被截取、破解和攻擊,沒(méi)有加密的明文信息在網(wǎng)絡(luò)黑客眼中沒(méi)有任何秘密可言,因此需要一套安全的加密體系來(lái)對(duì)在公網(wǎng)上傳輸?shù)臄?shù)據(jù)進(jìn)行加密,保證信息交互過(guò)程的安全。
在信息傳送過(guò)程中進(jìn)行加解密操作就需要加解密算法和密鑰。目前通用的加解密算法原理都是公開(kāi)的,信息的保密性主要依賴與密鑰的安全性。密鑰的分發(fā)、保存決定了整個(gè)系統(tǒng)信息傳輸?shù)陌踩?。本發(fā)明的系統(tǒng)用到的加密算法是rsa算法和aes算法,這兩種加解密算法是目前常用的算法,安全性比較高。
rsa算法是一種公開(kāi)密鑰密碼體制,公開(kāi)密鑰密碼體制就是使用不同的加密密鑰與解密密鑰。在公開(kāi)密鑰密碼體制中,加密密鑰,即公鑰pk是公開(kāi)信息,而解密密鑰,即私鑰sk是需要保密的,加密算法e和解密算法d也都是公開(kāi)的。雖然私鑰sk是由公鑰pk決定的,但卻不能根據(jù)pk計(jì)算出sk。明文信息由私鑰sk加密,接收方收到密文后可以用公鑰pk進(jìn)行解密而得到原始的明文信息。反之,明文信息如果用公鑰pk進(jìn)行加密,則可以用私鑰sk進(jìn)行解密。rsa算法正是基于這種理論,它通常是先生成一對(duì)rsa密鑰,其中之一是保密密鑰,由用戶保存;另一個(gè)為公開(kāi)密鑰,可對(duì)外公開(kāi)。rsa是被研究得最廣泛的公鑰算法,從提出到現(xiàn)今的三十多年里,經(jīng)歷了各種攻擊的考驗(yàn),被認(rèn)為是目前最優(yōu)秀的公鑰方案之一。
aes算法是一個(gè)迭代的、對(duì)稱密鑰分組的密碼,與公共密鑰密碼使用密鑰對(duì)不同,對(duì)稱密鑰密碼使用相同的密鑰加密和解密數(shù)據(jù)。通過(guò)分組密碼返回的加密數(shù)據(jù)的位數(shù)與輸入數(shù)據(jù)相同。aes算法從2002年提出至今,以其安全性強(qiáng)、高性能、高效率、易用和靈活等優(yōu)點(diǎn)而得到廣泛的應(yīng)用。
本發(fā)明的方法正是應(yīng)用了rsa算法以及aes算法的雙重加密,確保移動(dòng)終端與網(wǎng)絡(luò)服務(wù)器之間的數(shù)據(jù)通信安全,在發(fā)生突發(fā)環(huán)境事件時(shí),可以通過(guò)安全的通道將存儲(chǔ)在網(wǎng)絡(luò)服務(wù)器上的數(shù)據(jù)傳輸至移動(dòng)終端,移動(dòng)終端可以使用aes會(huì)話密鑰對(duì)接收到的數(shù)據(jù)進(jìn)行解密,從而獲取應(yīng)對(duì)突發(fā)環(huán)境事件的預(yù)案文件,從而為應(yīng)對(duì)突發(fā)環(huán)境事件提供便利,使得突發(fā)事件能夠快速、有效的得到處理。
附圖說(shuō)明
圖1是本發(fā)明突發(fā)環(huán)境事件應(yīng)急指揮調(diào)度系統(tǒng)實(shí)施例的結(jié)構(gòu)框圖。
圖2是本發(fā)明突發(fā)環(huán)境事件應(yīng)急指揮調(diào)度方法實(shí)施例中移動(dòng)終端登錄網(wǎng)絡(luò)服務(wù)器的時(shí)序圖。
圖3是本發(fā)明突發(fā)環(huán)境事件應(yīng)急指揮調(diào)度方法實(shí)施例中移動(dòng)終端與網(wǎng)絡(luò)服務(wù)器通信的時(shí)序圖。
以下結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
具體實(shí)施方式
本發(fā)明的突發(fā)環(huán)境事件應(yīng)急指揮調(diào)度方法應(yīng)用在移動(dòng)終端與網(wǎng)絡(luò)服務(wù)器之間的通信,優(yōu)選的,網(wǎng)絡(luò)服務(wù)器上預(yù)先存儲(chǔ)有應(yīng)對(duì)突發(fā)環(huán)境事件的預(yù)案文件,如word文檔或者ptd文檔等,而移動(dòng)終端上可以運(yùn)行有應(yīng)用程序,如應(yīng)對(duì)突發(fā)環(huán)境事件的app等,移動(dòng)終端與網(wǎng)絡(luò)服務(wù)器之間可以通過(guò)公共的通信網(wǎng)絡(luò)進(jìn)行通信,如通過(guò)英特網(wǎng)、3g網(wǎng)絡(luò)或者4g網(wǎng)絡(luò)等。本發(fā)明的突發(fā)環(huán)境事件應(yīng)急指揮調(diào)度系統(tǒng)包括運(yùn)行在移動(dòng)終端、網(wǎng)絡(luò)服務(wù)器等硬件設(shè)備上的模塊,用于實(shí)現(xiàn)上述的方法。
突發(fā)環(huán)境事件應(yīng)急指揮調(diào)度系統(tǒng)實(shí)施例:
參見(jiàn)圖1,本實(shí)施例包括移動(dòng)終端10、網(wǎng)絡(luò)服務(wù)器20、安全套接字層密碼庫(kù)30以及數(shù)據(jù)庫(kù)服務(wù)器40,其中移動(dòng)終端10上運(yùn)行有rsa公鑰獲取模塊11、登錄信息加密模塊12以及會(huì)話數(shù)據(jù)發(fā)送模塊13,網(wǎng)絡(luò)服務(wù)器20上運(yùn)行有rsa公鑰生成模塊21、登錄憑證生成模塊22以及登錄憑證發(fā)送模塊23。
移動(dòng)終端10上可以安裝并運(yùn)行有app,例如是應(yīng)對(duì)突發(fā)環(huán)境事件的應(yīng)急指揮調(diào)度應(yīng)用程序,移動(dòng)終端運(yùn)行該應(yīng)用程序以后,可以通過(guò)公共的網(wǎng)絡(luò),如英特網(wǎng)、3g或者4g網(wǎng)絡(luò)與網(wǎng)絡(luò)服務(wù)器進(jìn)行通信,由此向網(wǎng)絡(luò)服務(wù)器發(fā)送數(shù)據(jù)或者接收網(wǎng)絡(luò)服務(wù)器所發(fā)送的數(shù)據(jù)。
其中,rsa公鑰獲取模塊11可以檢測(cè)移動(dòng)終端本地存儲(chǔ)器是否存儲(chǔ)有rsa公鑰,如果沒(méi)有存儲(chǔ)rsa公鑰,則向網(wǎng)絡(luò)服務(wù)器發(fā)送獲取rsa公鑰的請(qǐng)求信息,并且在接收到網(wǎng)絡(luò)服務(wù)器發(fā)送的rsa公鑰后,將rsa公鑰保存在本地存儲(chǔ)器上。
登錄信息加密模塊12用于生成登錄信息,其中,登錄信息可以包括會(huì)話密鑰、賬戶名稱、登錄密碼以及移動(dòng)終端的硬件設(shè)備信息等。本實(shí)施例中,會(huì)話密鑰為aes類型密鑰,優(yōu)選的,移動(dòng)終端生成登錄信息前,首先檢查是否已經(jīng)本地存儲(chǔ)了會(huì)話密鑰,如果沒(méi)有存儲(chǔ)會(huì)話密鑰,則通過(guò)自身的密鑰函數(shù)庫(kù)生成一個(gè)會(huì)話密鑰。并且,移動(dòng)終端的硬件設(shè)備信息可以是移動(dòng)終端所使用的sim卡號(hào)碼,也可以是終端設(shè)備號(hào)碼或者藍(lán)牙模塊的識(shí)別號(hào)碼等。
會(huì)話數(shù)據(jù)發(fā)送模塊13用于向網(wǎng)絡(luò)服務(wù)器20發(fā)送會(huì)話數(shù)據(jù),優(yōu)選的,本實(shí)施中,會(huì)話數(shù)據(jù)是經(jīng)過(guò)加密后發(fā)送的。例如,移動(dòng)終端10生成明文的會(huì)話數(shù)據(jù)后,使用會(huì)話密鑰將明文數(shù)據(jù)進(jìn)行加密。優(yōu)選的,網(wǎng)絡(luò)服務(wù)器20會(huì)生成一個(gè)用戶憑證,并且會(huì)話數(shù)據(jù)發(fā)送模塊13將存儲(chǔ)該用戶憑證,使用會(huì)話密鑰對(duì)會(huì)話數(shù)據(jù)進(jìn)行加密時(shí),需要將會(huì)話數(shù)據(jù)以及用戶憑證一起加密,然后連同用戶id一并發(fā)送到網(wǎng)絡(luò)服務(wù)器20。
網(wǎng)絡(luò)服務(wù)器20的rsa公鑰生成模塊21用于生成rsa公鑰,例如通過(guò)安全套接字層密碼庫(kù)30生成rsa公私鑰對(duì),并且從安全套接字層密碼庫(kù)30獲取所生成的公鑰作為rsa公鑰,且rsa公鑰可以發(fā)送至移動(dòng)終端20。這樣,網(wǎng)絡(luò)服務(wù)器20接收到移動(dòng)終端10發(fā)送的登錄信息后,可以獲取相應(yīng)的rsa私鑰并且對(duì)登錄信息進(jìn)行解密,從而獲取登錄信息中的會(huì)話密鑰、賬戶名稱、登錄密碼以及移動(dòng)終端的硬件設(shè)備信息等。
登錄憑證生成模塊22在獲取解密的登錄信息后,可以對(duì)登錄信息的真實(shí)性進(jìn)行驗(yàn)證,如果登錄信息通過(guò)驗(yàn)證,則使用登錄信息生成登錄憑證以及用戶id,并且將用戶憑證以及用戶id保存至數(shù)據(jù)庫(kù)服務(wù)器40中。同時(shí),登錄憑證發(fā)送模塊23可以將生成的登錄憑證、用戶id信息發(fā)送至移動(dòng)終端10。
突發(fā)環(huán)境事件應(yīng)急指揮調(diào)度方法實(shí)施例:
下面結(jié)合圖2介紹移動(dòng)終端10向網(wǎng)絡(luò)服務(wù)器20進(jìn)行登錄的過(guò)程。首先,執(zhí)行步驟s1,移動(dòng)終端10的應(yīng)用程序在登錄網(wǎng)絡(luò)服務(wù)器20前,先檢查本地存儲(chǔ)器,如sharedpreferences存儲(chǔ)區(qū)中是否保存了網(wǎng)絡(luò)服務(wù)器端的rsa公鑰,如果本地存儲(chǔ)器沒(méi)有保存rsa公鑰,則通過(guò)網(wǎng)絡(luò)發(fā)送https命令從網(wǎng)絡(luò)服務(wù)器20獲取rsa公鑰。
然后,網(wǎng)絡(luò)服務(wù)器20接收到移動(dòng)終端10發(fā)送的獲取rsa公鑰的請(qǐng)求后,執(zhí)行步驟s2,用php代碼連接上mysql數(shù)據(jù)庫(kù)服務(wù)器40,并檢查數(shù)據(jù)庫(kù)服務(wù)器40中是否存儲(chǔ)有rsa公私鑰對(duì),如果存儲(chǔ)有rsa公私鑰對(duì),則執(zhí)行步驟s3,數(shù)據(jù)庫(kù)服務(wù)器40向網(wǎng)絡(luò)服務(wù)器20發(fā)送已經(jīng)存儲(chǔ)的rsa公私鑰對(duì)。
如果數(shù)據(jù)庫(kù)服務(wù)器40中沒(méi)有存儲(chǔ)rsa公私鑰對(duì),則執(zhí)行步驟s101,調(diào)用openssl函數(shù)庫(kù),即安全套接字層密碼庫(kù)30生成rsa公私鑰對(duì),安全套接字層密碼庫(kù)30執(zhí)行步驟s102,將生成的rsa公私鑰對(duì)發(fā)送至網(wǎng)絡(luò)服務(wù)器20。然后,網(wǎng)絡(luò)服務(wù)器20執(zhí)行步驟s103,將rsa公私鑰對(duì)保存到數(shù)據(jù)庫(kù)服務(wù)器40中,數(shù)據(jù)庫(kù)服務(wù)器40接收到rsa公私鑰對(duì)后向網(wǎng)絡(luò)服務(wù)器20發(fā)送保存成功的信息。
當(dāng)網(wǎng)絡(luò)服務(wù)器20接到移動(dòng)終端10發(fā)送的https命令來(lái)獲取rsa公鑰的時(shí)候,則從數(shù)據(jù)庫(kù)服務(wù)器40中檢索出相應(yīng)的rsa公鑰并返回給移動(dòng)終端,即執(zhí)行步驟s2以及步驟s3,由數(shù)據(jù)庫(kù)服務(wù)器40向網(wǎng)絡(luò)服務(wù)器20發(fā)送rsa公鑰。然后執(zhí)行步驟s4以及步驟s5,移動(dòng)終端10向網(wǎng)絡(luò)服務(wù)器20發(fā)送請(qǐng)求獲取rsa公鑰的請(qǐng)求信息,網(wǎng)絡(luò)服務(wù)器20向移動(dòng)終端10發(fā)送rsa公鑰。
移動(dòng)終端10從網(wǎng)絡(luò)服務(wù)器20獲取了rsa公鑰后,即執(zhí)行步驟s6,將rsa公鑰保存到本地的sharedpreferences存儲(chǔ)區(qū)中,后續(xù)需要使用rsa公鑰的時(shí)候就從本地存儲(chǔ)區(qū)中直接讀取到移動(dòng)終端10的內(nèi)存中。
移動(dòng)終端10在發(fā)送登錄信息到服務(wù)器前,執(zhí)行步驟s7,檢查本地的sharedpreferences存儲(chǔ)區(qū)中是否保存有會(huì)話密鑰,本實(shí)施例中,會(huì)話密鑰是aes對(duì)稱加解密密鑰。如果本地存儲(chǔ)器中沒(méi)有存儲(chǔ)會(huì)話密鑰,則執(zhí)行步驟s8,調(diào)用android系統(tǒng)提供的密鑰函數(shù)庫(kù)生成一個(gè)128位的aes類型密鑰,然后執(zhí)行步驟s9,將生成的會(huì)話密鑰保存到本地的sharedpreferences存儲(chǔ)區(qū)中。
移動(dòng)終端10在完成上述的工作后,即可使用rsa公鑰來(lái)加密登錄信息并發(fā)送至網(wǎng)絡(luò)服務(wù)器20。具體的,如果移動(dòng)終端10的本地存儲(chǔ)器中存儲(chǔ)有會(huì)話密鑰,則直接執(zhí)行步驟s10,使用rsa公鑰對(duì)登錄信息進(jìn)行加密,本實(shí)施例中,登錄信息包含會(huì)話密鑰、用戶登錄賬戶、登錄密碼以及移動(dòng)終端10的硬件設(shè)備號(hào)碼,如sim卡號(hào)、藍(lán)牙模塊識(shí)別號(hào)等,然后執(zhí)行步驟s11,把加密后的登錄信息通過(guò)https協(xié)議發(fā)送給網(wǎng)絡(luò)服務(wù)器20。
網(wǎng)絡(luò)服務(wù)器20收到經(jīng)過(guò)rsa公鑰加密的用戶登錄信息后,使用rsa私鑰解密得到登錄信息明文。具體的,執(zhí)行步驟s12,向數(shù)據(jù)庫(kù)服務(wù)器40發(fā)送獲取rsa私鑰的請(qǐng)求信息,數(shù)據(jù)庫(kù)服務(wù)器40執(zhí)行步驟s13,發(fā)送rsa私鑰給網(wǎng)絡(luò)服務(wù)器20。網(wǎng)絡(luò)服務(wù)器20接收到私鑰后,執(zhí)行步驟s14,對(duì)登錄信息進(jìn)行解密,從而獲取明文信息,進(jìn)而驗(yàn)證明文中的登錄用戶賬戶、密碼以及sim卡號(hào)是否正確。
本實(shí)施例中,登錄用戶賬戶、密碼以及sim卡號(hào)等信息應(yīng)該預(yù)先保存在數(shù)據(jù)庫(kù)服務(wù)器40中。因此,驗(yàn)證登錄信息時(shí),需要執(zhí)行步驟s15,將驗(yàn)證信息發(fā)送至數(shù)據(jù)庫(kù)服務(wù)器40,數(shù)據(jù)庫(kù)服務(wù)器40對(duì)登錄信息進(jìn)行驗(yàn)證后,執(zhí)行步驟s16,向網(wǎng)絡(luò)服務(wù)器20發(fā)送登錄信息通過(guò)驗(yàn)證的信息。
在登錄信息通過(guò)驗(yàn)證后,網(wǎng)絡(luò)服務(wù)器20將保存此用戶的會(huì)話密鑰,具體的,執(zhí)行步驟s17,向數(shù)據(jù)庫(kù)服務(wù)器40發(fā)送保存用戶會(huì)話密鑰的請(qǐng)求,在用戶的會(huì)話密鑰保存成功后,數(shù)據(jù)庫(kù)服務(wù)器40執(zhí)行步驟s18,發(fā)送用戶會(huì)話密鑰保存成功的信息到網(wǎng)絡(luò)服務(wù)器20。優(yōu)選的,如果數(shù)據(jù)庫(kù)服務(wù)器40中已經(jīng)存儲(chǔ)有該用戶的會(huì)話密鑰,則使用剛接收到的新的會(huì)話密鑰替換已經(jīng)存儲(chǔ)的會(huì)話密鑰。
接著,網(wǎng)絡(luò)服務(wù)器執(zhí)行步驟s19,生成登錄憑證以及用戶id,具體的,網(wǎng)絡(luò)服務(wù)器20把用戶登錄名、登錄密碼、會(huì)話密鑰、sim卡號(hào)等信息調(diào)用php超文本預(yù)處理器提供的md5函數(shù)進(jìn)行散列運(yùn)算,經(jīng)過(guò)md5散列運(yùn)算得到的32字節(jié)作為用戶登錄憑證。生成用戶憑證后,再調(diào)用php超文本預(yù)處理器提供的uniqid函數(shù)生成全球唯一13字節(jié)數(shù)值作為用戶id,最后執(zhí)行步驟s20,請(qǐng)求把生成的用戶憑證和用戶id保存到數(shù)據(jù)庫(kù)服務(wù)器40中。數(shù)據(jù)庫(kù)服務(wù)器40保存成功后,執(zhí)行步驟s21,反饋保存成功的信息。
然后,網(wǎng)絡(luò)服務(wù)器執(zhí)行步驟s22,將生成的用戶憑證、用戶id以及登錄成功狀態(tài)信息使用此用戶的會(huì)話密鑰進(jìn)行aes加密并把加密結(jié)果返回給登錄用戶,也就是反饋給移動(dòng)終端10。
移動(dòng)終端10接收到網(wǎng)絡(luò)服務(wù)器20返回的信息后,執(zhí)行步驟s23,將用戶憑證以及用戶id的信息保存在本地存儲(chǔ)器上。具體的,移動(dòng)終端10使用本地保存的會(huì)話密鑰對(duì)返回的數(shù)據(jù)進(jìn)行aes解密數(shù)據(jù)后,首先判斷網(wǎng)絡(luò)服務(wù)器20返回的登錄狀態(tài),如果是成功登錄服務(wù)器狀態(tài),則把返回的用戶憑證和用戶id保存到移動(dòng)終端10的本地存儲(chǔ)器,如sharedpreferences存儲(chǔ)區(qū)中。
至此,移動(dòng)終端10與網(wǎng)絡(luò)服務(wù)器20之間的安全傳輸準(zhǔn)備工作完成了,在后續(xù)數(shù)據(jù)交互過(guò)程中,移動(dòng)終端10以及網(wǎng)絡(luò)服務(wù)器20均使用該會(huì)話密鑰對(duì)所需要傳輸?shù)拿魑倪M(jìn)行加密,也對(duì)所接收到的數(shù)據(jù)使用會(huì)話密鑰進(jìn)行解密。因此,移動(dòng)終端10將執(zhí)行步驟s24,使用會(huì)話密鑰對(duì)會(huì)話數(shù)據(jù)進(jìn)行加密,并且執(zhí)行步驟s25,將加密后的數(shù)據(jù)發(fā)送至網(wǎng)絡(luò)服務(wù)器20。
下面結(jié)合圖3介紹移動(dòng)終端10與網(wǎng)絡(luò)服務(wù)器20之間的會(huì)話數(shù)據(jù)發(fā)送與接收的過(guò)程。首先,移動(dòng)終端10執(zhí)行步驟s31,生成明文會(huì)話數(shù)據(jù),然后執(zhí)行步驟s32,獲取會(huì)話密鑰、用戶憑證以及用戶id的信息,并且執(zhí)行步驟s33,使用會(huì)話密鑰對(duì)會(huì)話數(shù)據(jù)以及用戶憑證進(jìn)行加密,并執(zhí)行步驟s34,將加密后的數(shù)據(jù)連同用戶id一并發(fā)送至網(wǎng)絡(luò)服務(wù)器20。
網(wǎng)絡(luò)服務(wù)器20接收到移動(dòng)終端10發(fā)送的數(shù)據(jù)后,執(zhí)行步驟s35,通過(guò)用戶id獲取該用戶的會(huì)話密鑰。由于會(huì)話密鑰存儲(chǔ)在數(shù)據(jù)庫(kù)服務(wù)器40中,因此網(wǎng)絡(luò)服務(wù)器20將從數(shù)據(jù)庫(kù)服務(wù)器40中獲取會(huì)話密鑰,數(shù)據(jù)庫(kù)服務(wù)器40執(zhí)行步驟s36,將會(huì)話密鑰發(fā)送至網(wǎng)絡(luò)服務(wù)器20。然后,執(zhí)行步驟s37,使用會(huì)話密鑰對(duì)數(shù)據(jù)進(jìn)行解密,并且執(zhí)行步驟s38,驗(yàn)證解密后的明文數(shù)據(jù)中的登錄憑證,即對(duì)比解密獲得的登錄憑證以及數(shù)據(jù)庫(kù)服務(wù)器中所存儲(chǔ)獲得登錄憑證是否一致。具體的,執(zhí)行步驟s39,網(wǎng)絡(luò)服務(wù)器20向數(shù)據(jù)庫(kù)服務(wù)器40發(fā)出請(qǐng)求驗(yàn)證登錄憑證的請(qǐng)求,數(shù)據(jù)庫(kù)服務(wù)器40對(duì)登錄憑證進(jìn)行驗(yàn)證。如果數(shù)據(jù)庫(kù)服務(wù)器40接收到的登錄憑證與其存儲(chǔ)的登錄憑證相同,則表示登錄憑證有效,否則,表示登錄憑證無(wú)效,即不通過(guò)驗(yàn)證。在登錄憑證驗(yàn)證通過(guò)以后,執(zhí)行步驟s40,向網(wǎng)絡(luò)服務(wù)器20發(fā)送通過(guò)驗(yàn)證的信息。
然后,網(wǎng)絡(luò)服務(wù)器20執(zhí)行步驟s41,請(qǐng)求將登錄憑證有效的信息保存至數(shù)據(jù)庫(kù)服務(wù)器40,數(shù)據(jù)庫(kù)服務(wù)器40執(zhí)行步驟s42,返回保存成功的信息。網(wǎng)絡(luò)服務(wù)器20執(zhí)行步驟s43,請(qǐng)求獲取返回至移動(dòng)終端10的會(huì)話數(shù)據(jù),數(shù)據(jù)庫(kù)服務(wù)器40執(zhí)行步驟s44,將需要發(fā)送至移動(dòng)終端10的會(huì)話數(shù)據(jù)發(fā)送至網(wǎng)絡(luò)服務(wù)器20,網(wǎng)絡(luò)服務(wù)器20執(zhí)行步驟s45,使用會(huì)話密鑰對(duì)返回的狀態(tài)信息以及會(huì)話數(shù)據(jù)進(jìn)行加密,然后執(zhí)行步驟s46,將加密后的數(shù)據(jù)發(fā)送至移動(dòng)終端10。
移動(dòng)終端10接收到網(wǎng)絡(luò)服務(wù)器20返回的信息后,執(zhí)行步驟s47,使用會(huì)話密鑰對(duì)數(shù)據(jù)進(jìn)行界面,并且執(zhí)行步驟s48,判斷返回的狀態(tài),即判斷網(wǎng)絡(luò)服務(wù)器20是否正確接收到數(shù)據(jù)。
可見(jiàn),本發(fā)明的突發(fā)環(huán)境事件應(yīng)急指揮調(diào)度系統(tǒng)采用rsa算法和aes算法雙重加密體系來(lái)保證在通信過(guò)程中的信息安全。rsa算法的私鑰存放在數(shù)據(jù)庫(kù)服務(wù)器上,公鑰存儲(chǔ)在移動(dòng)終端上,公私鑰用來(lái)加解密臨時(shí)的會(huì)話密鑰,臨時(shí)的會(huì)話密鑰采用aes加密算法對(duì)在網(wǎng)絡(luò)服務(wù)器和移動(dòng)終端之間的交互信息進(jìn)行加解密。由于臨時(shí)的會(huì)話密鑰只存在一定的周期之內(nèi),比如一個(gè)完整的應(yīng)急預(yù)案之內(nèi),下次發(fā)生應(yīng)急預(yù)案的時(shí)候又重新生成不同的會(huì)話密鑰。而且每個(gè)移動(dòng)終端的會(huì)話密鑰都不相同,所以臨時(shí)的會(huì)話密鑰泄密的風(fēng)險(xiǎn)大大降低。
另外移動(dòng)終端每次發(fā)送的信息中都會(huì)附加上設(shè)備的特定硬件信息,如移動(dòng)終端的sim卡的序列號(hào)等,網(wǎng)絡(luò)服務(wù)器解密移動(dòng)終端發(fā)送過(guò)來(lái)的信息后,從此信息中解析出硬件信息,然后和數(shù)據(jù)庫(kù)服務(wù)器中存儲(chǔ)的硬件信息進(jìn)行對(duì)比,通過(guò)驗(yàn)證才確認(rèn)此移動(dòng)終端的合法性,進(jìn)一步保證了通信的安全性。
此外,由于每個(gè)移動(dòng)終端的會(huì)話密鑰是不同的,這使得會(huì)話密鑰得以分散,即使一個(gè)移動(dòng)終端的會(huì)話密鑰泄密也不會(huì)危及到其他移動(dòng)終端的會(huì)話密鑰安全。另外,在aes會(huì)話密鑰的傳輸過(guò)程中,采用的是rsa加密體系,這也保證了會(huì)話密鑰在傳輸過(guò)程中的安全。通過(guò)采用這種傳輸加密體系,在很大程度上保證了敏感數(shù)據(jù)在公網(wǎng)上進(jìn)行傳輸?shù)陌踩浴?/p>
當(dāng)然,上述實(shí)施例僅僅是本發(fā)明優(yōu)選的實(shí)施方式,實(shí)際應(yīng)用時(shí),本發(fā)明還有更多的改變,例如,網(wǎng)絡(luò)服務(wù)器可以與多個(gè)移動(dòng)終端同時(shí)進(jìn)行通信,則網(wǎng)絡(luò)服務(wù)器需要記錄多個(gè)移動(dòng)終端的登錄憑證、用戶id等信息,這樣的改變也能實(shí)現(xiàn)本發(fā)明的目的。