一種基于網(wǎng)絡(luò)服務(wù)Web Service的加密方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)安全領(lǐng)域,尤其涉及一種基于Web Service的加密方法和系統(tǒng)。
【背景技術(shù)】
[0002]Web Service (又稱Web服務(wù))是一個(gè)平臺(tái)獨(dú)立的、低親合的、自包含的、基于可編程的Web的應(yīng)用程序。Web Service技術(shù),能使得運(yùn)行在不同機(jī)器上的不同應(yīng)用無(wú)須借助附加的、專門的第三方軟件或硬件,就可相互交換數(shù)據(jù)或集成。簡(jiǎn)單來(lái)說(shuō),Web Service是一種可以跨編程語(yǔ)言和操作系統(tǒng)平臺(tái)的遠(yuǎn)程調(diào)用系統(tǒng),通過(guò)網(wǎng)絡(luò)暴露出自己的API供用戶調(diào)用。Web Service的出現(xiàn),為異構(gòu)系統(tǒng)間的數(shù)據(jù)交換和集成提供了方便,同時(shí)也大大降低了企業(yè)成本。
[0003]由于Web Service是通過(guò)網(wǎng)絡(luò)對(duì)外暴露自己的API的,因此其安全性是必須要考慮的一個(gè)問題。根據(jù)其程序特點(diǎn),主要的過(guò)程表現(xiàn)為三個(gè)步驟:(1)身份驗(yàn)證;(2)方法調(diào)用;(3)結(jié)果返回。由于在網(wǎng)絡(luò)中傳輸數(shù)據(jù)的敏感性,因此這三個(gè)步驟的每一個(gè)的安全性都是需要嚴(yán)格考慮的。目前在Web Service安全性方面,主要采用的安全方式有兩種:第一種是添加SOAP Header驗(yàn)證的方式,由于Web Service是基于SOAP消息傳遞的,該方法通過(guò)對(duì)每個(gè)消息頭部添加驗(yàn)證信息來(lái)保證內(nèi)容的安全性。第二種方法是利用證書驗(yàn)證身份的方式,通過(guò)證書服務(wù)器來(lái)驗(yàn)證發(fā)送者和接收者雙方的身份,以此來(lái)確定是否安全。
[0004]但以上兩種方式均存在著不足之處:第一種方式中在SOAP消息頭部添加信息,看起來(lái)是每一次都可以保證消息的安全性,但增加了消息內(nèi)容的長(zhǎng)度,而且其信息也是可以通過(guò)網(wǎng)絡(luò)抓包的方式被第三方明文截取到的,因此并不算安全。第二種方式中通過(guò)使用證書來(lái)驗(yàn)證雙方身份,需要構(gòu)建一個(gè)安全的身份驗(yàn)證服務(wù)器,實(shí)現(xiàn)較復(fù)雜增加了成本,而且在身份驗(yàn)證的過(guò)程中發(fā)送者和接收者雙方的身份都是可以被第三方偽造的,這個(gè)是證書使用過(guò)程中常見的安全問題,因此也并不絕對(duì)的安全。
【發(fā)明內(nèi)容】
[0005]為了解決上述問題,本發(fā)明提出了一種基于網(wǎng)絡(luò)服務(wù)Web Service的加密方法和系統(tǒng),能夠有效克服常用方法中的安全性不足的問題,提高Web Service在使用過(guò)程中的安全性。
[0006]為了達(dá)到上述目的,本發(fā)明提出了一種基于網(wǎng)絡(luò)服務(wù)Web Service的加密方法,該方法包括:
[0007]在對(duì)Web Service進(jìn)行方法調(diào)用時(shí),對(duì)需要傳輸?shù)拿總€(gè)參數(shù)進(jìn)行可逆加密。
[0008]在加密后的參數(shù)的傳輸過(guò)程中附帶一個(gè)與該參數(shù)相對(duì)應(yīng)的檢驗(yàn)字段;其中,該校驗(yàn)字段是預(yù)先經(jīng)過(guò)不可逆加密的。
[0009]優(yōu)選地,該方法還包括:預(yù)先根據(jù)預(yù)設(shè)的生成策略生成該校驗(yàn)字段,其中,預(yù)設(shè)的生成策略與需要傳輸?shù)膮?shù)相關(guān)聯(lián)。
[0010]優(yōu)選地,該方法還包括:
[0011]預(yù)先對(duì)Web Service的每個(gè)調(diào)用者注冊(cè)的用戶名和用戶密碼分別進(jìn)行不可逆加
I_L| ο
[0012]優(yōu)選地,該方法還包括:
[0013]在Web Service的結(jié)果返回階段,將需要返回的結(jié)果信息序列化為字符串。
[0014]對(duì)序列化后的字符串進(jìn)行可逆加密。
[0015]為了達(dá)到上述目的,本發(fā)明還提出了一種基于網(wǎng)絡(luò)服務(wù)Web Service的加密系統(tǒng),該系統(tǒng)包括:加密模塊和附帶模塊。
[0016]加密模塊,用于在對(duì)Web Service進(jìn)行方法調(diào)用時(shí),對(duì)需要傳輸?shù)拿總€(gè)參數(shù)進(jìn)行可逆加密。
[0017]附帶模塊,用于在加密后的參數(shù)的傳輸過(guò)程中附帶一個(gè)與該參數(shù)相對(duì)應(yīng)的檢驗(yàn)字段;其中,該校驗(yàn)字段是預(yù)先經(jīng)過(guò)不可逆加密的。
[0018]優(yōu)選地,該系統(tǒng)還包括:生成模塊。
[0019]生成模塊,用于預(yù)先根據(jù)預(yù)設(shè)的生成策略生成該校驗(yàn)字段,其中,預(yù)設(shè)的生成策略與需要傳輸?shù)膮?shù)相關(guān)聯(lián)。
[0020]優(yōu)選地,加密模塊還用于:
[0021]預(yù)先對(duì)Web Service的每個(gè)調(diào)用者注冊(cè)的用戶名和用戶密碼分別進(jìn)行不可逆加處
I_L| ο
[0022]優(yōu)選地,該系統(tǒng)還包括:序列化模塊。
[0023]序列化模塊,用于在Web Service的結(jié)果返回階段,將需要返回的結(jié)果信息序列化為字符串。
[0024]加密模塊,還用于對(duì)序列化后的字符串進(jìn)行可逆加密。
[0025]與現(xiàn)有技術(shù)相比,本發(fā)明包括:在對(duì)Web Service進(jìn)行方法調(diào)用時(shí),對(duì)需要傳輸?shù)拿總€(gè)參數(shù)進(jìn)行可逆加密。在加密后的參數(shù)的傳輸過(guò)程中附帶一個(gè)與該參數(shù)相對(duì)應(yīng)的檢驗(yàn)字段;其中,該校驗(yàn)字段是預(yù)先經(jīng)過(guò)不可逆加密的。通過(guò)本發(fā)明的方案,能夠有效克服常用方法中的安全性不足的問題,提高Web Service在使用過(guò)程中的安全性。
【附圖說(shuō)明】
[0026]下面對(duì)本發(fā)明實(shí)施例中的附圖進(jìn)行說(shuō)明,實(shí)施例中的附圖是用于對(duì)本發(fā)明的進(jìn)一步理解,與說(shuō)明書一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明保護(hù)范圍的限制。
[0027]圖1為本發(fā)明的基于Web Service的加密方法流程圖;
[0028]圖2為本發(fā)明的基于Web Service的加密系統(tǒng)組成框圖。
【具體實(shí)施方式】
[0029]為了便于本領(lǐng)域技術(shù)人員的理解,下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的描述,并不能用來(lái)限制本發(fā)明的保護(hù)范圍。
[0030]本方法較易實(shí)現(xiàn),并且針對(duì)Web Service使用過(guò)程中的身份驗(yàn)證、方法調(diào)用和結(jié)果傳輸三個(gè)過(guò)程的每一個(gè)過(guò)程都進(jìn)行了相關(guān)的安全加密,從而保證了 Web Service整體的使用安全性。
[0031]為了達(dá)到上述目的,本發(fā)明提出了一種基于網(wǎng)絡(luò)服務(wù)Web Service的加密方法,如圖1所示,該方法包括:
[0032]S101、在對(duì)Web Service進(jìn)行方法調(diào)用時(shí),對(duì)需要傳輸?shù)拿總€(gè)參數(shù)進(jìn)行可逆加密。
[0033]不可逆加密算法的特征是加密過(guò)程中不需要使用密鑰,輸入明文后由系統(tǒng)直接經(jīng)過(guò)加密算法處理成密文,這種加密后的數(shù)據(jù)是無(wú)法被解密的,只有重新輸入明文,并再次經(jīng)過(guò)同樣不可逆的加密算法處理,得到相同的加密密文并被系統(tǒng)重新識(shí)別后,才能真正解密。
[0034]可逆加密算法,是指可以由密文獲得明文的加密算法。
[0035]在本發(fā)明實(shí)施例中,對(duì)傳遞的參數(shù)進(jìn)行加密可以保證傳輸過(guò)程中的安全性,對(duì)每個(gè)要傳輸?shù)膮?shù)進(jìn)行可逆加密主要是方便后續(xù)的解密使用。
[0036]S102、在加密后的參數(shù)的傳輸過(guò)程中附帶一個(gè)與該參數(shù)相對(duì)應(yīng)的檢驗(yàn)字段;其中,該校驗(yàn)字段是預(yù)先經(jīng)過(guò)不可逆加密的。
[0037]在本發(fā)明實(shí)施例中,增加傳輸校驗(yàn)字段可以進(jìn)一步起到參數(shù)安全的保證,同時(shí)也起到了一個(gè)干擾作用,一定程度上保證了安全,防止Web Service方法被非法調(diào)用。
[0038]優(yōu)選地,該方法還包括:預(yù)先根據(jù)預(yù)設(shè)的生成策略生成該校驗(yàn)字段,其中,預(yù)設(shè)的生成策略與需要傳輸?shù)膮?shù)相關(guān)聯(lián)。
[0039]在本發(fā)明實(shí)施例中,校驗(yàn)字段可以根據(jù)實(shí)際需要對(duì)其生成策略進(jìn)行規(guī)則設(shè)置,最好是與傳遞參數(shù)的明文內(nèi)容有關(guān),并