本發明實施例涉及數據傳輸技術,尤其涉及一種基于HTTP協議的數據傳輸方法及裝置。
背景技術:
在互聯網興起的背景下,網絡中進行安全的數據傳輸已經成為一個需要亟待解決的問題。由于互聯網在設計初期考慮的是提供免費服務,讓世界各地資源共享,因此當時的設計者沒有去充分考慮信息安全的問題。但在實際的環境中,如果數據傳輸不充分考慮加密的問題,那么很可能的傳輸過程中就會被目的不純的人截取,而利用截獲的內容從事違法犯罪活動。
有鑒于此,特提出本發明。
技術實現要素:
本發明實施例提供一種基于HTTP協議的數據傳輸方法及裝置,以實現提高網絡數據傳輸安全性的目的。
第一方面,本發明實施例提供了一種基于HTTP協議的數據傳輸方法,包括:
檢測到數據發送請求時,數據發送方根據預設的SDK加密工具包對目標數據進行加密,并將加密后的密文和預設編號發送至數據接收方,所述預設編號用于標識數據發送方;
數據接收方根據接收到的預設編號查詢對應的解密密鑰和SDK解密工具包;
數據接收方根據解密密鑰和SDK解密工具包對所述密文進行解密。
第二方面,本發明實施例還提供了一種基于HTTP協議的數據傳輸裝置,包括:
加密發送模塊,用于檢測到數據發送請求時,數據發送方根據預設的SDK加密工具包對目標數據進行加密,并將加密后的密文和預設編號發送至數據接收方,所述預設編號用于標識數據發送方;
查詢模塊,用于數據接收方根據接收到的預設編號查詢對應的解密密鑰和SDK解密工具包;
解密模塊,用于數據接收方根據解密密鑰和SDK解密工具包對所述密文進行解密。
本發明實施例通過檢測到數據發送請求時,數據發送方根據預設的SDK加密工具包對目標數據進行加密,并將加密后的密文和預設編號發送至數據接收方,數據接收方根據接收到的預設編號查詢對應的解密密鑰和SDK解密工具包;數據接收方根據解密密鑰和SDK解密工具包對密文進行解密。傳輸過程中僅傳輸編碼和密文,數據接收方通過編號正確匹配密鑰后進行解密,解決了現有技術在互聯網環境下進行數據傳輸時安全性低的問題,實現了提高網絡數據傳輸安全性的目的。
附圖說明
圖1為本發明實施例一提供的一種基于HTTP協議的數據傳輸方法的流程圖;
圖2為本發明實施例二提供的一種基于HTTP協議的數據傳輸方法的流程圖;
圖3為本發明實施例三提供的一種基于HTTP協議的數據傳輸方法的流程圖;
圖4為本發明實施例四提供的一種基于HTTP協議的數據傳輸裝置的結構圖。
具體實施方式
下面結合附圖和實施例對本發明作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用于解釋本發明,而非對本發明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發明相關的部分而非全部結構。
實施例一
圖1為本發明實施例一提供的一種基于HTTP協議的數據傳輸方法的流程圖,本實施例可適用于在webservices或者其他基于HTTP協議進行網絡數據傳輸的情況,該方法可以由基于HTTP協議的數據傳輸裝置來執行,該裝置可通過硬件和/或軟件的方式實現。參考圖1,本實施例提供的基于HTTP協議的數據傳輸方法具體包括:
S110、檢測到數據發送請求時,數據發送方根據預設的SDK加密工具包對目標數據進行加密,并將加密后的密文和預設編號發送至數據接收方,所述預設編號用于標識數據發送方。
其中,SDK(Software Development Kit,軟件開發工具包)加密工具包和該數據發送方的編號預設在數據發送方中,SDK加密工具包中封裝有相應加密算法、傳輸協議、加密密鑰等信息,根據該SDK加密工具包可以對待加密的目標數據進行自動加密。預設編號可以標識該數據發送方,預設編號至少包括用戶注冊地編碼和用于標識用戶名稱的序號,數據接收方根據該預設編號可以確定唯一的數據發送方。
具體地,當數據發送方生成數據發送請求時,數據發送方自動調用SDK加密工具包對待發送的目標數據進行加密,從而將目標數據從明文變為密文,在加密完成后,將密文和預設編號通過HTTP接口一起發送至數據接收方。其中,HTTP接口可以指向數據接收方的IP地址。
S120、數據接收方根據接收到的預設編號查詢對應的解密密鑰和SDK解密工具包。
其中,數據接收方通過相應的HTTP接口接收預設編號和密文,并根據接收到的預設編號查詢對應的解密密鑰和SDK解密工具包。
其中,數據接收方中存儲有預設編號、該預設編號對應的解密密鑰以及SDK解密工具包,該SDK解密工具包中至少封裝有與加密算法相應的解密算法。需要說明的是,與同一預設編號對應的SDK加密工具包和SDK解密工具包是相互配對的,即該SDK加密工具包中封裝的加密算法和該SDK解密工具包中封裝的解密算法是相配對的,另外同一預設編號對應的加密密鑰和解密密鑰也是相配對的,如此數據接收方可以根據接收到的預設編號查詢對應的解密密鑰和SDK解密工具包,以便正確進行解密。
S130、數據接收方根據解密密鑰和SDK解密工具包對所述密文進行解密。
具體地,數據接收方可利用SDK解密工具內部封裝的解密算法和解密密鑰對該密文進行解密。
優選的,數據接收方在解密完成后,對相應的HTTP接口進行響應,完成本次數據傳輸的請求。
本發明實施例通過檢測到數據發送請求時,數據發送方根據預設的SDK加密工具包對目標數據進行加密,并將加密后的密文和預設編號發送至數據接收方,數據接收方根據接收到的預設編號查詢對應的解密密鑰和SDK解密工具包;數據接收方根據解密密鑰和SDK解密工具包對密文進行解密。傳輸過程中僅傳輸編碼和密文,數據接收方通過編號正確匹配密鑰后進行解密,解決了現有技術在互聯網環境下進行數據傳輸時安全性低的問題,實現了提高網絡數據傳輸安全性的目的。
實施例二
圖2為本發明實施例二提供的一種基于HTTP協議的數據傳輸方法的流程圖,本實施例在上述實施例的基礎上,優選是對檢測到數據發送請求之前的操作進行了優化,具體包括:
S210、加密工具生成方檢測到申請加密工具包的請求時,生成用于標識數據發送方的預設編號、加密密鑰以及解密密鑰。
其中,預設編號可以根據預設編碼規則來生成,預設編碼規則可以為“數據發送方的6位注冊地編碼+8位用于標識數據發送方的序號”。示例性的,假設數據發送方A企業的注冊地為北京,當前系統中已經對5000個數據發送方進行編碼,則生成的用于標識A企業的編碼可以為001。
優選的,所述加密密鑰和解密密鑰為對稱密鑰或者非對稱密鑰。其中,對稱密鑰算法中加密密鑰和解密密鑰是相同的,它要求發送者和接收者在安全通信之前商定一個密鑰,對稱密鑰算法的特點是加密處理簡單,加解密速度快。而非對稱密鑰是指一個加密算法的加密密鑰和解密密鑰是不一樣的,其中一個是公開密鑰,另一個是私有密鑰,公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那么只有用對應的公開密鑰才能解密,非對稱密鑰具有安全性高,但是加解密速度慢且密鑰尺寸大的特點。實際應用中可以根據實際需要選擇對稱密鑰或者非對稱密鑰。
優選的,所述加密工具生成方為數據發送方/數據接收方。加密工具生成方中存儲有每一數據接收方的編號,在檢測到申請加密工具包的請求時,可根據已存儲的數據接收方的編號來確定新的用于標識數據發送方的預設編號,并生成與該預設編號相對應的加密密鑰和解密密鑰。
其中,該申請加密工具包的請求中至少攜帶有數據發送方的相關信息和數據接收方的相關信息,該數據發送方的相關信息包括該數據發送方的注冊地編碼和IP地址等,該數據接收方的相關信息包括IP地址。
S220、根據加密密鑰生成SDK加密工具包。
具體地,將加密密鑰、預設的加密算法、傳輸協議等信息封裝到SDK加密工具包中。
由于SDK加密工具包重要封裝有加密密鑰,加密密鑰改變相應的SDK加密工具包也會改變,因此檢測到申請加密工具包的請求后要根據加密密鑰生成SDK加密工具包。而SDK解密工具包在解密時可以根據取出的解密密鑰進行解密,無需封裝在SDK解密工具包中,因此只要加密工具生成方中預設有SDK解密工具包即可。
S230、將預設編號、解密密鑰和預設的SDK解密工具包發給數據接收方,并將預設編號和SDK加密工具包發給數據發送方,所述SDK加密工具包至少封裝有加密密鑰。
具體地,如果加密工具生成方是數據接收方,則將預設編號和預設的SDK加密工具包發給數據發送方,并可直接對預設編號、解密密鑰和預設的SDK解密工具進行保存即可;如果加密工具生成方是數據發送方,則將預設編號、解密密鑰和預設的SDK解密工具包發給數據接收方,并可直接對預設編號和預設的SDK加密工具包進行保存即可。
S240、檢測到數據發送請求時,數據發送方根據預設的SDK加密工具包對目標數據進行加密,并將加密后的密文和預設編號發送至數據接收方,所述預設編號用于標識數據發送方。
S250、數據接收方根據接收到的預設編號查詢對應的解密密鑰和SDK解密工具包。
S260、數據接收方根據解密密鑰和SDK解密工具包對密文進行解密。
本實施例的技術方案,通過加密工具生成方檢測到申請加密工具包的請求時,生成用于標識數據發送方的預設編號、加密密鑰以及解密密鑰;根據加密密鑰生成SDK加密工具包;將預設編號、解密密鑰和預設的SDK解密工具包發給數據接收方,并將預設編號和SDK加密工具包發給數據發送方,SDK加密工具包至少封裝有加密密鑰,實現對SDK加密工具包的自動生成,實現自動在數據發送方中預存預設編號和SDK加密工具包,在數據接收方中預存預設編號、解密密鑰和預設的SDK解密工具包,以便后續檢測到數據發送請求時方便數據發送方和數據接收方進行相應的調用。
實施例三
圖3為本發明實施例三提供的一種基于HTTP協議的數據傳輸方法的流程圖,本實施例在上述各實施例的基礎上,優選是在數據接收方根據接收到的預設編號查詢對應的解密密鑰和SDK解密工具包之前添加了相應操作,具體包括:
S310、檢測到數據發送請求時,數據發送方根據預設的SDK加密工具包對目標數據進行加密,并將加密后的密文和預設編號發送至數據接收方,所述預設編號用于標識數據發送方。
S320、數據接收方對接收到的預設編號進行驗證。
當驗證失敗時,進入操作S330;當驗證成功時,進入操作S340。
S330、數據接收方返回驗證結果并記錄本次驗證的相關信息。
其中,本次驗證的相關信息可以是數據發送方的IP地址和預設編號。優選的,還可根據歷史相關信息來判斷該數據發送方是否為惡意入侵。
S340、數據接收方根據接收到的預設編號查詢對應的解密密鑰和SDK解密工具包。
S350、數據接收方根據解密密鑰和SDK解密工具包對所述密文進行解密。
實施例四
圖4為本發明實施例四提供的一種基于HTTP協議的數據傳輸裝置的結構圖,本實施例可適用于在webservices或者其他基于HTTP協議進行網絡數據傳輸的情況,該裝置可通過硬件和/或軟件的方式實現。參考圖4,本實施例提供的基于HTTP協議的數據傳輸裝置具體包括:
加密發送模塊410,用于檢測到數據發送請求時,數據發送方根據預設的SDK加密工具包對目標數據進行加密,并將加密后的密文和預設編號發送至數據接收方,所述預設編號用于標識數據發送方;
查詢模塊420,用于數據接收方根據接收到的預設編號查詢對應的解密密鑰和SDK解密工具包;
解密模塊430,用于數據接收方根據解密密鑰和SDK解密工具包對所述密文進行解密。
本實施例中,還可以包括:
第一生成模塊,用于在檢測到數據發送請求之前,加密工具生成方檢測到申請加密工具包的請求時,生成用于標識數據發送方的預設編號、加密密鑰以及解密密鑰;
第二生成模塊,用于根據加密密鑰生成SDK加密工具包;
發送模塊,用于將預設編號、解密密鑰和預設的SDK解密工具包發給數據接收方,并將預設編號和SDK加密工具包發給數據發送方,所述SDK加密工具包至少封裝有加密密鑰;
其中,所述加密工具生成方為數據發送方/數據接收方。
本實施例中,還可以包括:
驗證模塊,用于在數據接收方根據接收到的預設編號查詢對應的解密密鑰和SDK解密工具包之前,數據接收方對接收到的預設編號進行驗證;
返回模塊,用于當驗證失敗時,數據接收方返回驗證結果并記錄本次驗證的相關信息。
在上述技術方案的基礎上,優選的,所述加密密鑰和解密密鑰為對稱密鑰或者非對稱密鑰。
在上述技術方案的基礎上,優選的,所述預設編號至少包括用戶注冊地編碼和用于標識用戶名稱的序號。
本實施例提供的基于HTTP協議的數據傳輸裝置,與本發明任意實施例所提供的基于HTTP協議的數據傳輸方法屬于同一發明構思,可執行本發明任意實施例所提供的基于HTTP協議的數據傳輸方法,具備執行方法相應的功能模塊和有益效果。
注意,上述僅為本發明的較佳實施例及所運用技術原理。本領域技術人員會理解,本發明不限于這里所述的特定實施例,對本領域技術人員來說能夠進行各種明顯的變化、重新調整和替代而不會脫離本發明的保護范圍。因此,雖然通過以上實施例對本發明進行了較為詳細的說明,但是本發明不僅僅限于以上實施例,在不脫離本發明構思的情況下,還可以包括更多其他等效實施例,而本發明的范圍由所附的權利要求范圍決定。