專利背景
分散式的
資料庫的使用方式為多方機構共同往這個資料庫里寫入數據。通常情況下,加入分散式系統的節點會提供讀寫接口。2018年1月之前的分散式系統的數據讀寫都是由與分散式系統對接的機構來發起和控制的,在一次寫操作過程中,由對接機構發起數據存入分散式系統的請求,數據會通過分散式系統提供的寫入接口將數據寫到分散式系統中,並同步到分散式系統中的其他節點,在一次讀操作過程中,接入機構通過分散式系統提供的讀接口從分散式系統中讀取數據並使用。
因此,所有要存入分散式系統中的數據必須經由分散式系統所提供的讀寫接口來完成,這樣就會造成許可權集中以及性能瓶頸等問題。除此之外,一旦這一個讀寫接口出問題,那么會造成無法向分散式系統上寫入數據的風險。當待寫入數據量很多時,也會有數據寫入延時、丟失等問題。
發明內容
專利目的
基於此,有必要針對上述技術問題,提供一種將讀寫許可權下放至授權終端的數據處理方法、裝置、計算機設備和存儲介質。
技術方案
《數據處理方法、裝置、計算機設備和存儲介質》其中一種數據處理方法,所述方法包括:通過預先配置的接口根據密鑰交換協定與分散式系統交換獲得第一臨時會話密鑰;通過所述第一臨時會話密鑰對待寫入數據進行加密;通過預先配置的接口將加密後的待寫入數據傳送至所述分散式系統,以使所述分散式系統通過第二臨時會話密鑰對所述加密後的待寫入數據進行解密得到第一明文,所述第二臨時會話密鑰與所述第一臨時會話密鑰對應。
在其中一個實施例中,所述通過所述第一臨時會話密鑰對待寫入數據進行加密的步驟之後,還包括:通過預先部署的終端私鑰對加密後的待寫入數據進行簽名;所述通過預先配置的接口將加密後的待寫入數據傳送至所述分散式系統,以使所述分散式系統通過第二臨時會話密鑰對所述加密後的待寫入數據進行解密得到第一明文的步驟,包括:通過預先配置的接口將經過加密和簽名後的待寫入數據傳送至分散式系統,以使所述分散式系統通過終端公鑰對接收到的待寫入數據進行驗簽成功後,通過第二臨時會話密鑰對加密後的待寫入數據進行解密得到第一明文,所述終端公鑰與所述終端私鑰對應。
在其中一個實施例中,所述方法還包括:通過預先配置的接口接收分散式系統返回的通過第二臨時會話密鑰加密後的待讀取數據;通過所述第一臨時會話密鑰對加密後的所述待讀取數據進行解密得到第二明文。在其中一個實施例中,所述通過預先配置的接口接收分散式系統返回的通過第二臨時會話密鑰加密後的待讀取數據的步驟,包括:通過預先配置的接口接收分散式系統返回的通過終端公鑰和第二臨時會話密鑰加簽和加密後的待讀取數據;所述通過所述第一臨時會話密鑰對加密後的所述待讀取數據進行解密得到第二明文的步驟之前,還包括:通過終端私鑰對通過終端公鑰加簽後的待讀取數據進行驗簽得到加密後的待讀取數據。
在其中一個實施例中,所述方法還包括:向分散式系統傳送註冊請求,所述註冊請求中攜帶有註冊類型以及終端標識;接收所述分散式系統根據所述終端標識和所述註冊類型生成的配置檔案;根據所述配置檔案進行配置。在其中一個實施例中,所述方法還包括:獲取終端信息,並根據所述終端信息生成終端公鑰以及與終端公鑰對應的終端私鑰;將所述終端公鑰傳送至分散式系統;所述接收所述分散式系統根據所述終端標識和所述註冊類型生成的配置檔案的步驟,包括:當所述分散式系統對通過證書授權中心對所述終端公鑰簽名成功後,接收所述分散式系統根據所述終端標識和所述註冊類型生成的配置檔案。
在其中一個實施例中,所述方法還包括:獲取終端信息,並將所述終端信息傳送至分散式系統;接收分散式系統返回的與所述終端信息對應的終端私鑰和終端公鑰,所述終端私鑰和所述終端公鑰為所述分散式系統通過證書授權中心根據所述終端信息生成的。
一種數據處理裝置,所述裝置包括:密鑰獲取模組,用於通過預先配置的接口根據密鑰交換協定與分散式系統交換獲得第一臨時會話密鑰;加密模組,用於通過所述第一臨時會話密鑰對待寫入數據進行加密;寫入模組,用於通過預先配置的接口將加密後的待寫入數據傳送至所述分散式系統,以使所述分散式系統通過第二臨時會話密鑰對所述加密後的待寫入數據進行解密得到第一明文,所述第二臨時會話密鑰與所述第一臨時會話密鑰對應。
一種計算機設備,包括存儲器、處理器及存儲在存儲器上並可在處理器上運行的電腦程式,所述處理器執行所述電腦程式時實現上述任一項所述方法的步驟。一種計算機可讀存儲介質,其上存儲有電腦程式,所述電腦程式被處理器執行時實現上述任一項所述的方法的步驟。
改善效果
《數據處理方法、裝置、計算機設備和存儲介質》預先在授權中心配置接口,不用在分散式系統部署的入口節點,大大節約了部署成本,且通過對終端配置接口,可以使得分散式系統中的數據來源豐富,接入更加簡單方便,而且大大緩解了分散式系統接入節點的壓力,避免了由一個接入節點來寫入數據的相關問題。
附圖說明
圖1為一個實施例中數據處理方法的套用場景圖;
圖2為一個實施例中數據處理方法的流程示意圖;
圖3為一實施例中的預先配置步驟的流程圖;
圖4為一實施例中的數據處理方法的時序圖;
圖5為一個實施例中數據處理裝置的結構框圖;
圖6為一個實施例中計算機設備的內部結構圖。
權利要求
1.一種數據處理方法,所述方法包括:通過預先配置的接口根據密鑰交換協定與分散式系統交換獲得第一臨時會話密鑰;通過所述第一臨時會話密鑰對待寫入數據進行加密;通過預先配置的接口將加密後的待寫入數據傳送至所述分散式系統,以使所述分散式系統通過第二臨時會話密鑰對所述加密後的待寫入數據進行解密得到第一明文,所述第二臨時會話密鑰與所述第一臨時會話密鑰對應。
2.根據權利要求1所述的方法,其特徵在於,所述通過所述第一臨時會話密鑰對待寫入數據進行加密的步驟之後,還包括:通過預先部署的終端私鑰對加密後的待寫入數據進行簽名;所述通過預先配置的接口將加密後的待寫入數據傳送至所述分散式系統,以使所述分散式系統通過第二臨時會話密鑰對所述加密後的待寫入數據進行解密得到第一明文的步驟,包括:通過預先配置的接口將經過加密和簽名後的待寫入數據傳送至分散式系統,以使所述分散式系統通過終端公鑰對接收到的待寫入數據進行驗簽成功後,通過第二臨時會話密鑰對加密後的待寫入數據進行解密得到第一明文,所述終端公鑰與所述終端私鑰對應。
3.根據權利要求1所述的方法,其特徵在於,所述方法還包括:通過預先配置的接口接收分散式系統返回的通過第二臨時會話密鑰加密後的待讀取數據;通過所述第一臨時會話密鑰對加密後的所述待讀取數據進行解密得到第二明文。
4.根據權利要求3所述的方法,其特徵在於,所述通過預先配置的接口接收分散式系統返回的通過第二臨時會話密鑰加密後的待讀取數據的步驟,包括:通過預先配置的接口接收分散式系統返回的通過終端公鑰和第二臨時會話密鑰加簽和加密後的待讀取數據;所述通過所述第一臨時會話密鑰對加密後的所述待讀取數據進行解密得到第二明文的步驟之前,還包括:通過終端私鑰對通過終端公鑰加簽後的待讀取數據進行驗簽得到加密後的待讀取數據。
5.根據權利要求1至4任一項所述的方法,其特徵在於,所述方法還包括:向分散式系統傳送註冊請求,所述註冊請求中攜帶有註冊類型以及終端標識;接收所述分散式系統根據所述終端標識和所述註冊類型生成的配置檔案;根據所述配置檔案進行配置。
6.根據權利要求5所述的方法,其特徵在於,所述方法還包括:獲取終端信息,並根據所述終端信息生成終端公鑰以及與終端公鑰對應的終端私鑰;將所述終端公鑰傳送至分散式系統;所述接收所述分散式系統根據所述終端標識和所述註冊類型生成的配置檔案的步驟,包括:當所述分散式系統對通過證書授權中心對所述終端公鑰簽名成功後,接收所述分散式系統根據所述終端標識和所述註冊類型生成的配置檔案。
7.根據權利要求5所述的方法,其特徵在於,所述方法還包括:獲取終端信息,並將所述終端信息傳送至分散式系統;接收分散式系統返回的與所述終端信息對應的終端私鑰和終端公鑰,所述終端私鑰和所述終端公鑰為所述分散式系統通過證書授權中心根據所述終端信息生成的。
8.一種數據處理裝置,其特徵在於,所述裝置包括:密鑰獲取模組,用於通過預先配置的接口根據密鑰交換協定與分散式系統交換獲得第一臨時會話密鑰;加密模組,用於通過所述第一臨時會話密鑰對待寫入數據進行加密;寫入模組,用於通過預先配置的接口將加密後的待寫入數據傳送至所述分散式系統,以使所述分散式系統通過第二臨時會話密鑰對所述加密後的待寫入數據進行解密得到第一明文,所述第二臨時會話密鑰與所述第一臨時會話密鑰對應。
9.一種計算機設備,包括存儲器、處理器及存儲在存儲器上並可在處理器上運行的電腦程式,其特徵在於,所述處理器執行所述電腦程式時實現權利要求1至7中任一項所述方法的步驟。
10.一種計算機可讀存儲介質,其上存儲有電腦程式,其特徵在於,所述電腦程式被處理器執行時實現權利要求1至7中任一項所述的方法的步驟。
實施方式
《數據處理方法、裝置、計算機設備和存儲介質》提供的數據處理方法,可以套用於如圖1所示的套用環境中。其中,終端通過網路與分散式系統通過網路進行連線。分散式系統通過預先對終端進行配置,將原本部署在分散式系統的讀寫節點處的讀寫許可權下放至終端,從而待寫入數據可以通過終端上傳至分散式系統的任意節點上,例如可以對終端通過配置檔案進行配置,該配置檔案可以是集成的SDK(Software Development Kit,軟體工具開發包),通過對終端的接口等進行配置,在終端形成一安全模組,該安全模組獲得了分散式系統的訪問許可權、加解密的密鑰管理、終端私鑰的管理、授權證書的管理等。其中,終端通過該安全模組根據密鑰交換協定與分散式系統交換獲得第一臨時會話密鑰,通過第一臨時會話密鑰對待寫入數據進行加密;通過預先配置的接口將加密後的待寫入數據傳送至分散式系統以實現數據的寫入,同樣數據的讀取則可以是通過該安全模組向分散式系統傳送數據讀取請求,然後通過預先配置的接口接收分散式系統返回的通過第二臨時會話密鑰加密後的待讀取數據;通過第一臨時會話密鑰對加密後的待讀取數據進行解密得到第二明文。其中,終端102可以但不限於是各種個人計算機、筆記本電腦、智慧型手機、平板電腦和攜帶型可穿戴設備。
在一個實施例中,如圖2所示,提供一種數據處理方法,以該方法套用於圖1中的終端為例進行說明,包括以下步驟:S202:通過預先配置的接口根據密鑰交換協定與分散式系統交換獲得第一臨時會話密鑰。其中,該分散式系統可以是區塊鏈或其他的分散式系統,在此不作具體限制。
具體地,預先配置的接口是終端通過向分散式系統註冊獲得的,例如終端向分散式系統傳送註冊請求,分散式系統判斷終端是否為安全終端,當為安全終端時,則可以對該終端進行授權,例如傳送對應的配置檔案對終端的目標接口進行配置等。即通過預先配置將原本部署在分散式系統的讀寫節點處的讀寫許可權下放到終端,從而待上傳數據可以通過終端處理後,上傳至分散式系統的任意節點上,且分散式系統不再需要部署大量的讀寫節點,可以大大降低成本。該部署過程可以是通過在終端形成安全模組的形式存在,例如將配置好的SDK下載到終端進行載入運行後,該SDK則統一管理與分散式系統進行互動的接口。
其中,第一臨時會話密鑰可以是根據需要做到不同類型的數據採用不同的臨時會話密鑰,例如每一次終端與分散式系統進行數據互動的臨時會話密鑰均可以不同,這樣即使不法分子獲取到該臨時會話密鑰也無法預測下一次數據互動的密鑰,從而無法獲取到數據明文。
具體地,終端和授權終端中可以存儲有共享曲線參數,例如第一終端中存儲有第一共享曲線參數,第二終端中存儲有第二共享曲線參數,而分散式系統中存儲有所有的共享曲線參數,每一共享曲線參數包括橢圓曲線E,階N以及基點G。通過預先配置的接口根據密鑰交換協定與分散式系統交換獲得第一臨時會話密鑰具體可以包括:向通過預先配置的接口向分散式系統傳送密鑰交換請求;接收分散式系統根據密鑰交換請求返回的第一密鑰關鍵碼;根據第一密鑰關鍵碼生成第一臨時會話密鑰;其中第二臨時會話密鑰是由終端生成第二隨機數,並根據第二隨機數生成第二密鑰關鍵碼,將第二密鑰關鍵碼傳送至分散式系統,分散式系統根據第二密鑰關鍵碼以及分散式系統生成的第一隨機數生成第二臨時會話密鑰。
下面詳細地說明第一臨時會話密鑰和第二臨時會話密鑰的生成過程:終端向分散式系統傳送密鑰交換請求,該請求攜帶有終端標識,終端標識可以唯一地確定該終端,並生成第二隨機數;當分散式系統接收到終端傳送的密鑰交換請求後,則獲取到與該終端對應的基點G,並生成第一隨機數a,分散式系統根據該基點G和第一隨機數生成第一密鑰關鍵碼A=a*G,並將生成的第一密鑰關鍵碼傳送給終端;終端根據自身存儲的基點G以及第二隨機數生成第二密鑰關鍵碼B=b*G,並將該第二密鑰關鍵碼傳送給分散式系統;分散式系統根據第二密鑰關鍵碼以及第一隨機數計算得到第二臨時會話密鑰Q=a*B,終端根據第一密鑰關鍵碼以及第二隨機數計算得到第一臨時會話密鑰Q’=b*A,根據交換律和結合律Q=Q’,過程為Q=a*B=a*b*G=b*a*G=b*G=Q’。其中A的傳遞可以公開,即攻擊者可以獲取A。由於橢圓曲線的離散對數問題是難題,所以攻擊者不可以通過A、G計算出a。從而交換雙方可以在不共享任何秘密的情況下協商出一個密鑰,從而可以保證待寫入數據的安全性。
S204:通過第一臨時會話密鑰對待寫入數據進行加密。具體地,在終端與分散式系統計算得到臨時會話密鑰後,終端可以通過該第一臨時會話密鑰對待寫入數據進行加密,從而可以保證該待寫入數據的安全性,且進一步地為了使得分散式系統可以了解具體是哪一個終端傳送的待寫入數據,可以將終端標識以及該加密後的待寫入數據一起傳送給分散式系統,該終端標識可以唯一地確定該終端,其可以是終端的MAC地址等。
S206:通過預先配置的接口將加密後的待寫入數據傳送至分散式系統,以使分散式系統通過第二臨時會話密鑰對加密後的待寫入數據進行解密得到第一明文,第二臨時會話密鑰與第一臨時會話密鑰對應。具體地,在數據加密成功後,則通過預先配置的接口將加密後的待寫入數據傳送至分散式系統中,分散式系統在接收到該加密後的待寫入數據後,可以獲取到剛計算得到的第二臨時會話密鑰,通過該第二臨時會話密鑰對加密的待寫入數據進行解密得到數據明文。且優選地,當存在多個終端同時向分散式系統傳送待寫入數據時,則分散式系統首先根據終端的終端標識獲得所計算的第二臨時會話密鑰,例如在分散式系統計算出該第二臨時會話密鑰時,首先將該第二臨時會話密鑰與對應的終端標識進行關聯存儲,從而分散式系統可以根據終端標識獲得所計算的第二臨時會話密鑰,再根據該第二臨時會話密鑰對該加密的待上傳數據進行解密即可獲得第一明文。
其中,在分散式系統獲取到第一明文後,還可以按照分散式系統上的數據加密方式,對數據進行加密存儲以保證數據在分散式系統上的安全性。上述數據處理方法,預先在授權中心配置接口,不用在分散式系統部署的入口節點,大大節約了部署成本,且通過對授權終端配置接口,可以使得分散式系統中的數據來源豐富,接入更加簡單方便,而且大大緩解了分散式系統接入節點的壓力,避免了由一個接入節點來寫入數據的相關問題。
在其中一個實施例中,通過第一臨時會話密鑰對待寫入數據進行加密的步驟之後,即步驟S204之後還包括通過預先部署的終端私鑰對加密後的待寫入數據進行簽名;從而通過預先配置的接口將加密後的待寫入數據傳送至分散式系統,以使分散式系統通過第二臨時會話密鑰對加密後的待寫入數據進行解密得到第一明文的步驟,即步驟S206可以包括:通過預先配置的接口將經過加密和簽名後的待寫入數據傳送至分散式系統,以使分散式系統通過終端公鑰對接收到的待寫入數據進行驗簽成功後,通過第二臨時會話密鑰對加密後的待寫入數據進行解密得到第一明文,終端公鑰與終端私鑰對應。具體地,為了進一步保證終端與分散式系統之間數據傳輸的安全性,還可以預先部署終端公私鑰,即終端發向分散式系統的數據均通過終端私鑰進行簽名,從而在分散式系統處可以通過對應的終端公鑰進行驗簽,進一步保證了數據傳輸的安全性。
該預先部署的終端公私鑰可以是由終端生成的,即終端在註冊時,將終端生成的公鑰提交到分散式系統,然後由分散式系統通過分散式系統的證書授權中心對該終端公鑰進行簽名存放在分散式系統上,並向終端返回授權證書,以表示終端註冊成功;在另外的實施例中,該終端的公私鑰可以是在分散式系統生成的,即分散式系統根據終端信息生成終端的公私鑰,然後將終端私鑰返給終端,且為了保證終端私鑰的安全性,該過程可以是通過線下進行的。
具體地,在終端通過第一臨時會話密鑰對待寫入數據進行加密後,還可以通過該預先部署的終端私鑰對該加密後的待寫入數據進行加簽,從而將該加密和加簽後的待寫入數據以及終端標識傳送至分散式系統,分散式系統在接收到該數據後,可以首先根據終端標識獲取到終端公鑰,通過終端公鑰對該加密和加簽的待寫入數據進行驗簽,只有驗簽成功後才會通過第二臨時會話密鑰對加密的待寫入數據進行解密獲得第一明文,否則直接刪除驗簽不成功的待寫入數據,以保證上傳到分散式系統上的數據均是安全數據。其中獲取到終端公鑰的步驟可以是通過分散式系統的證書對分散式系統進行了簽名,因此可以首先通過分散式系統證書對應的私鑰對該簽名後的終端公鑰進行驗簽得到終端公鑰。優選地,對於加密和數字簽名可以使用不同的會話密鑰,做到一用途一密鑰。且為了保證數據的可靠性,可以通過雙層加簽,例如終端在通過終端私鑰加簽後,再通過分散式系統公鑰進行加簽,從而在分散式系統接收到數據後,首先通過分散式系統公鑰對應的私鑰進行驗簽,驗簽成功後,再通過終端公鑰進行驗簽,最後再通過第二臨時會話密鑰進行解密,進一步保證數據的安全性。
上述實施例中分散式系統會對該終端上送的數據進行簽名驗證,確認該終端的授權許可權,確保該數據確實由該終端上送並且未被篡改;由此保證分散式系統上的數據有效性和真實性。通過該方案,有效解決了多終端接入分散式系統的系統中的上傳數據的安全問題,數據的授權讀取方在獲取數據後,可通過分散式系統上獲取某個授權終端的證書,驗證獲取數據的真實性,解決了授權機構的信任問題。在其中一個實施例中,該數據處理方法還可以包括數據讀取步驟,該數據讀取步驟可以包括通過預先配置的接口接收分散式系統返回的通過第二臨時會話密鑰加密後的待讀取數據;通過第一臨時會話密鑰對加密後的待讀取數據進行解密得到第二明文。
具體地,上述實施例中主要涉及到將終端的待上傳數據上傳至分散式系統上,該實施例主要是涉及到終端從分散式系統讀取待讀取數據,其中終端可以首先向分散式系統傳送數據讀取請求,該數據讀取請求中攜帶有終端標識,然後分散式系統根據密鑰交換協定與終端進行密鑰交換得到第二臨時會話密鑰和第一臨時會話密鑰,該第一臨時會話密鑰和第二臨時會話密鑰的具體獲取方式可以參見上述所述,在此不再贅述。分散式系統通過所獲取到的第二臨時會話密鑰對待讀取數據進行加密,並將加密後的待讀取數據傳送至對應的終端,從而終端可以通過與第二臨時會話密鑰對應的第一臨時會話密鑰解密待讀取數據得到第二明文,從而可以對第二明文進行處理。
上述實施例中,預先在授權中心配置接口,不用在分散式系統部署的入口節點,大大節約了部署成本,且通過對授權終端配置接口,可以使得分散式系統中的數據來源豐富,接入更加簡單方便,而且大大緩解了分散式系統接入節點的壓力,避免了由一個接入節點來寫入數據的相關問題。同時各終端對相同數據採用唯一標識,避免了入鏈數據的重複。實現了多方渠道的接入,從而實現數據共享的功能。並且,各個入口是互相獨立的,某個入口的宕機是不會影響到別的入口的工作的。
在其中一個實施例中,通過預先配置的接口接收分散式系統返回的通過第二臨時會話密鑰加密後的待讀取數據的步驟可以包括:通過預先配置的接口接收分散式系統返回的通過終端公鑰和第二臨時會話密鑰加簽和加密後的待讀取數據。從而通過第一臨時會話密鑰對加密後的待讀取數據進行解密得到第二明文的步驟之前,還可以包括:通過終端私鑰對通過終端公鑰加簽後的待讀取數據進行驗簽得到加密後的待讀取數據。
具體地,在預先配置階段可以配置終端的公鑰和私鑰,並將終端的公鑰存儲在分散式系統上,從而在終端從分散式系統讀取數據的時候,分散式系統可以首先通過第二臨時會話密鑰對該待讀取數據進行加密,再通過終端公鑰對該待讀取數據進行加簽以進一步保證待讀取數據的安全性。在終端接收到該待讀取數據時,首先獲取到終端私鑰,對該加密和加簽後的待讀取數據進行驗簽,在驗簽成功後,才會對該待讀取數據通過第一臨時會話密鑰進行解密得到第二明文,從而對該第二明文進行其他處理。其中,對於加密和數字簽名可以使用不同的會話密鑰,做到一用途一密鑰。且為了保證數據的可靠性,可以通過雙層加簽,例如分散式系統在通過終端公鑰進行加簽後,可以再通過分散式系統私鑰進行加簽,從而在終端接收到數據後,首先通過分散式系統公鑰進行驗簽,驗簽成功後,再通過終端私鑰進行驗簽,最後再通過第一臨時會話密鑰進行解密,進一步保證數據的安全性。
在該實施例中,接入的終端可以不用部署分散式系統的入口節點,大大節約了部署成本,同時可以針對不同終端的自身特點,提供差異化的接口配置,使得接入方式更為豐富。採用這種系統,可以使得分散式系統中的數據來源豐富,接入更加簡單方便,而且大大緩解了分散式系統接入伺服器的壓力。避免了由一個接入口來寫入數據的相關問題。同時各機構和企業對相同數據採用唯一標識,避免了入鏈數據的重複。實現了多方渠道的接入,從而實現數據共享的功能。並且,各個入口是互相獨立的,某個入口的宕機是不會影響到別的入口的工作的。
在其中一個實施例中,該數據處理方法還可以包括一預先配置步驟,該預先配置步驟是為了將原本部署在分散式系統的讀寫節點處的讀寫許可權下放到終端,從而數據可以通過終端處理後直接上傳到分散式系統,且終端可以直接從分散式系統上獲取到數據,接入的終端可以不用部署分散式系統的入口節點,大大節約了部署成本。
參見圖3,圖3為一實施例中的預先配置步驟的流程圖,該預先配置步驟可以包括:S302:向分散式系統傳送註冊請求,註冊請求中攜帶有註冊類型以及終端標識。具體地,當終端想要直接與分散式系統進行數據交換時,則需要獲取到分散式系統的授權,因此由終端向分散式系統傳送註冊請求,該註冊請求中攜帶有終端標識,以唯一地表征該終端,註冊類型是由於有些終端是數據存儲類型終端,有些終端是記賬類型終端,針對不同的終端其配置檔案是不相同的,可以針對不同授權終端的自身特點,提供差異化的接口配置,使得接入方式更為豐富。
其中,分散式系統在接收到該終端的註冊請求時,首先可以根據終端標識確定該終端,然後判斷該終端是否是安全終端,例如分散式系統中可以預先存儲安全終端的標識,當接收到終端的註冊請求時,可以首先與預先存儲的安全終端的標識進行比對,只有比對成功,才會繼續根據終端標識和註冊類型獲取到對應的配置檔案。
S304:接收分散式系統根據終端標識和註冊類型生成的配置檔案。具體地,根據終端標識和註冊類型獲取到對應的配置檔案的步驟可以包括根據註冊請求中的註冊類型獲取到對應的配置檔案,再將終端的相關信息填寫在該配置檔案中,例如終端標識等。具體地,註冊類型可以包括數據存儲類型和記賬類型等,對於數據存儲類型,其配置檔案中的初始化的接口中包括了:數據加密、解密、數據ID混淆、分散式系統資料庫查詢等接口;記賬類型則需要提供同態加密、環簽名等賬本記賬對賬相關的接口。在分散式系統生成對應的配置檔案後,可以將該配置檔案傳送到對應的終端,且為了保證配置檔案的安全性,防止線上傳輸中該配置檔案被非法分子獲取,可以通過線下傳輸的方式將配置檔案傳送至對應的終端。
S306:根據配置檔案進行配置。具體地,終端獲取到該配置檔案後,根據配置檔案中的內容對終端進行配置。配置檔案不僅僅是授權終端的訪問許可權,還有包括其他的功能,比如加解密、私鑰/證書管理等,是相當於寫好的SDK模組,由終端下載後在本地載入運行,而授權終端相當於調用SDK,由SDK統一訪問到分散式系統讀寫節點,這些功能因為比較複雜,所以可以提供安全模組,配置的時候,也可以理解為配置安全模組,從而後續數據上傳和數據讀取全部是統一從安全模組處理。
上述實施例中,將原本部署在分散式系統的讀寫節點處的讀寫許可權下放到終端,從而數據可以通過終端處理後直接上傳到分散式系統,且終端可以直接從分散式系統上獲取到數據,接入的終端可以不用部署分散式系統的入口節點,大大節約了部署成本。
在其中一個實施例中,該預先配置步驟還可以包括終端公私鑰生成步驟,該步驟可以包括兩種實現方式,一種是由終端生成公私鑰對,終端在註冊的時候,提交到分散式系統的證書授權中心,有該證書授權中心對終端公鑰進行簽名,並將簽名後的終端公鑰和終端標識關聯存儲至分散式系統上,以便於分散式系統接收到經過終端私鑰簽名的數據時可以通過該終端公鑰進行驗簽。另一種方式時由終端提交終端信息至分散式系統,分散式系統根據該終端信息生成終端的公私鑰,並將生成的終端私鑰返給終端,可選地,通過線下的方式將該終端私鑰返給終端,以保證終端私鑰的安全性。
下面就兩種方式分別進行詳細地說明:第一種方式可以包括終端獲取終端信息,並根據終端信息生成終端公鑰以及與終端公鑰對應的終端私鑰;將終端公鑰傳送至分散式系統。其中終端信息可以包括終端標識、用戶信息,例如賬號和密碼等,根據該終端信息可以通過開源工具生成終端的公私鑰,或者將該終端信息傳送至權威的證書授權中心,由權威的證書授權中心根據該終端信息生成終端公私鑰,並下發至終端,終端將生成的終端公鑰上傳至分散式系統,以便於分散式系統在接收到通過終端私鑰簽名的數據時,可以通過該終端公鑰進行驗簽。具體地,接收分散式系統根據終端標識和註冊類型生成的配置檔案的步驟,包括:當分散式系統對通過證書授權中心對終端公鑰簽名成功後,接收分散式系統根據終端標識和註冊類型生成的配置檔案。當分散式系統接收到終端上傳的終端公鑰後,通過分散式系統上的證書授權中心對終端公鑰進行簽名,以存儲在分散式系統上,防止該終端公鑰被其他非法分子獲取到,且在存儲完成後,則向終端下發授權證書,即根據終端標識和註冊類型生成的配置檔案。
第二種方式可以是終端獲取到終端信息,並將終端信息傳送至分散式系統,由分散式系統根據該終端信息生成對應的終端的公私鑰,該其中終端信息可以包括終端標識、用戶信息,例如賬號和密碼等,分散式系統通過分散式系統的證書授權中心根據該終端信息生成終端公私鑰,並將該終端私鑰傳送至終端進行存儲,終端公鑰則與終端標識關聯存儲至分散式系統,以便於分散式系統在接收到通過終端私鑰簽名的數據時,可以通過該終端公鑰進行驗簽。接收分散式系統返回的與終端信息對應的終端私鑰和終端公鑰,終端私鑰和終端公鑰為分散式系統通過證書授權中心根據終端信息生成的。
上述實施例中,預先配置步驟還可以生成終端公私鑰,從而在終端和分散式系統進行數據傳輸時,不僅僅通過臨時會話密鑰進行加密,還通過終端公私鑰進行加簽,進一步提高了數據的安全性。
參閱圖4,圖4為一實施例中的數據處理方法的時序圖,該實施例中以終端向分散式系統上傳數據進行說明,且終端的公私鑰是由終端生成的,在該實施例中,該分散式系統為區塊鏈。
其中,終端首先獲取到終端信息,然後根據終端信息生成終端公私鑰;其次終端向區塊鏈傳送註冊請求,該註冊請求攜帶有註冊類型、終端標識以及生成的終端公鑰信息;第三,區塊連結收到該註冊請求後,通過區塊鏈的證書授權中心對該終端公鑰進行簽名,並存儲至區塊鏈上,並根據註冊類型和終端標識生成對應的配置檔案;第四,區塊鏈將該配置檔案下發至終端,該步驟可以通過線下的方式進行;第五,終端根據該配置檔案對終端進行配置,例如形成對應的安全模組;第六,在配置完成後,終端可以從區塊鏈獲取到授權證書,即可以對數據進行加密,以保證數據安全;第七,終端通過安全模組根據密鑰交換協定與區塊鏈進行交換獲得臨時會話密鑰;第八,通過該臨時會話密鑰對待上傳數據進行加密,並通過終端私鑰對數據進行加簽;第九,終端將加密和加簽後的數據通過安全模組傳送至區塊鏈;第十,區塊鏈在接收到該加密和加簽後的數據後,可以根據終端標識獲取到終端公鑰,通過終端公鑰對該加密和加簽後的數據進行驗簽,在驗簽成功後再通過密鑰交換歇息獲得的臨時會話密鑰對加密的數據進行解密得到明文,在得到明文後,還可以根據需要通過區塊鏈上的公私鑰對該數據進行加密後存儲在區塊鏈上,以保證數據在區塊鏈上的安全。
上述數據處理方法,預先在授權中心配置接口,不用在區塊鏈部署的入口節點,大大節約了部署成本,且通過對授權終端配置接口,可以使得區塊鏈中的數據來源豐富,接入更加簡單方便,而且大大緩解了區塊連結入節點的壓力,避免了由一個接入節點來寫入數據的相關問題。
應該理解的是,雖然圖2-4的流程圖中的各個步驟按照箭頭的指示依次顯示,但是這些步驟並不是必然按照箭頭指示的順序依次執行。除非該文中有明確的說明,這些步驟的執行並沒有嚴格的順序限制,這些步驟可以以其它的順序執行。而且,圖2-4中的至少一部分步驟可以包括多個子步驟或者多個階段,這些子步驟或者階段並不必然是在同一時刻執行完成,而是可以在不同的時刻執行,這些子步驟或者階段的執行順序也不必然是依次進行,而是可以與其它步驟或者其它步驟的子步驟或者階段的至少一部分輪流或者交替地執行。
在其中一個實施例中,如圖5所示,提供了一種數據處理裝置,包括密鑰獲取模組100、加密模組200以及寫入模組300,其中:密鑰獲取模組100,用於通過預先配置的接口根據密鑰交換協定與分散式系統交換獲得第一臨時會話密鑰。加密模組200,用於通過第一臨時會話密鑰對待寫入數據進行加密。寫入模組300,用於通過預先配置的接口將加密後的待寫入數據傳送至分散式系統,以使分散式系統通過第二臨時會話密鑰對加密後的待寫入數據進行解密得到第一明文,第二臨時會話密鑰與第一臨時會話密鑰對應。
在其中一個實施例中,裝置還可以包括:簽名模組,用於在通過第一臨時會話密鑰對待寫入數據進行加密後,通過預先部署的終端私鑰對加密後的待寫入數據進行簽名。寫入模組300還用於通過預先配置的接口將經過加密和簽名後的待寫入數據傳送至分散式系統,以使分散式系統通過終端公鑰對接收到的待寫入數據進行驗簽成功後,通過第二臨時會話密鑰對加密後的待寫入數據進行解密得到第一明文,終端公鑰與終端私鑰對應。
在其中一個實施例中,裝置還可以包括:讀取模組,用於通過預先配置的接口接收分散式系統返回的通過第二臨時會話密鑰加密後的待讀取數據。解密模組,用於通過第一臨時會話密鑰對加密後的待讀取數據進行解密得到第二明文。在其中一個實施例中,讀取模組還用於通過預先配置的接口接收分散式系統返回的通過終端公鑰和第二臨時會話密鑰加簽和加密後的待讀取數據。
裝置還可以包括驗簽模組,用於在通過第一臨時會話密鑰對加密後的待讀取數據進行解密得到第二明文之前,通過終端私鑰對通過終端公鑰加簽後的待讀取數據進行驗簽得到加密後的待讀取數據。在其中一個實施例中,裝置還可以包括:傳送模組,用於向分散式系統傳送註冊請求,註冊請求中攜帶有註冊類型以及終端標識。接收模組,用於接收分散式系統根據終端標識和註冊類型生成的配置檔案。配置模組,用於根據配置檔案進行配置。在其中一個實施例中,裝置還可以包括:第一公私鑰生成模組,用於獲取終端信息,並根據終端信息生成終端公鑰以及與終端公鑰對應的終端私鑰。傳送模組還用於將終端公鑰傳送至分散式系統。接收模組還用於當分散式系統對通過證書授權中心對終端公鑰簽名成功後,接收分散式系統根據終端標識和註冊類型生成的配置檔案。
在其中一個實施例中,傳送模組還可以用於獲取終端信息,並將終端信息傳送至分散式系統。接收模組還用於接收分散式系統返回的與終端信息對應的終端私鑰和終端公鑰,終端私鑰和終端公鑰為分散式系統通過證書授權中心根據終端信息生成的。關於數據處理裝置的具體限定可以參見上文中對於數據處理方法的限定,在此不再贅述。上述數據處理裝置中的各個模組可全部或部分通過軟體、硬體及其組合來實現。上述各模組可以硬體形式內嵌於或獨立於計算機設備中的處理器中,也可以以軟體形式存儲於計算機設備中的存儲器中,以便於處理器調用執行以上各個模組對應的操作。
在一個實施例中,提供了一種計算機設備,該計算機設備可以是終端,其內部結構圖可以如圖6所示。該計算機設備包括通過系統匯流排連線的處理器、存儲器、網路接口、顯示屏和輸入裝置。其中,該計算機設備的處理器用於提供計算和控制能力。該計算機設備的存儲器包括非易失性存儲介質、記憶體儲器。該非易失性存儲介質存儲有作業系統和電腦程式。該記憶體儲器為非易失性存儲介質中的作業系統和電腦程式的運行提供環境。該計算機設備的網路接口用於與外部的終端通過網路連線通信。該電腦程式被處理器執行時以實現一種數據處理方法。該計算機設備的顯示屏可以是液晶顯示屏或者電子墨水顯示屏,該計算機設備的輸入裝置可以是顯示屏上覆蓋的觸摸層,也可以是計算機設備外殼上設定的按鍵、軌跡球或觸控板,還可以是外接的鍵盤、觸控板或滑鼠等。
該領域技術人員可以理解,圖6中示出的結構,僅僅是與該發明方案相關的部分結構的框圖,並不構成對該發明方案所套用於其上的計算機設備的限定,具體的計算機設備可以包括比圖中所示更多或更少的部件,或者組合某些部件,或者具有不同的部件布置。
在一個實施例中,提供了一種計算機設備,包括存儲器、處理器及存儲在存儲器上並可在處理器上運行的電腦程式,處理器執行電腦程式時實現以下步驟:通過預先配置的接口根據密鑰交換協定與分散式系統交換獲得第一臨時會話密鑰;通過第一臨時會話密鑰對待寫入數據進行加密;通過預先配置的接口將加密後的待寫入數據傳送至分散式系統,以使分散式系統通過第二臨時會話密鑰對加密後的待寫入數據進行解密得到第一明文,第二臨時會話密鑰與第一臨時會話密鑰對應。
在一個實施例中,處理器執行電腦程式時實現的通過第一臨時會話密鑰對待寫入數據進行加密的步驟之後,還可以包括:通過預先部署的終端私鑰對加密後的待寫入數據進行簽名;處理器執行電腦程式時實現的通過預先配置的接口將加密後的待寫入數據傳送至分散式系統,以使分散式系統通過第二臨時會話密鑰對加密後的待寫入數據進行解密得到第一明文的步驟,可以包括:通過預先配置的接口將經過加密和簽名後的待寫入數據傳送至分散式系統,以使分散式系統通過終端公鑰對接收到的待寫入數據進行驗簽成功後,通過第二臨時會話密鑰對加密後的待寫入數據進行解密得到第一明文,終端公鑰與終端私鑰對應。
在一個實施例中,處理器執行電腦程式時還實現以下步驟:通過預先配置的接口接收分散式系統返回的通過第二臨時會話密鑰加密後的待讀取數據;通過第一臨時會話密鑰對加密後的待讀取數據進行解密得到第二明文。在一個實施例中,處理器執行電腦程式時實現的通過預先配置的接口接收分散式系統返回的通過第二臨時會話密鑰加密後的待讀取數據的步驟,可以包括:通過預先配置的接口接收分散式系統返回的通過終端公鑰和第二臨時會話密鑰加簽和加密後的待讀取數據;處理器執行電腦程式時實現的通過第一臨時會話密鑰對加密後的待讀取數據進行解密得到第二明文的步驟之前,還可以包括:通過終端私鑰對通過終端公鑰加簽後的待讀取數據進行驗簽得到加密後的待讀取數據。
在一個實施例中,處理器執行電腦程式時還實現以下步驟:向分散式系統傳送註冊請求,註冊請求中攜帶有註冊類型以及終端標識;接收分散式系統根據終端標識和註冊類型生成的配置檔案;根據配置檔案進行配置。在一個實施例中,處理器執行電腦程式時還實現以下步驟:獲取終端信息,並根據終端信息生成終端公鑰以及與終端公鑰對應的終端私鑰;將終端公鑰傳送至分散式系統;處理器執行電腦程式時實現的接收分散式系統根據終端標識和註冊類型生成的配置檔案的步驟,可以包括:當分散式系統對通過證書授權中心對終端公鑰簽名成功後,接收分散式系統根據終端標識和註冊類型生成的配置檔案。
在一個實施例中,處理器執行電腦程式時還實現以下步驟:獲取終端信息,並將終端信息傳送至分散式系統;接收分散式系統返回的與終端信息對應的終端私鑰和終端公鑰,終端私鑰和終端公鑰為分散式系統通過證書授權中心根據終端信息生成的。在一個實施例中,提供了一種計算機可讀存儲介質,其上存儲有電腦程式,電腦程式被處理器執行時實現以下步驟:通過預先配置的接口根據密鑰交換協定與分散式系統交換獲得第一臨時會話密鑰;通過第一臨時會話密鑰對待寫入數據進行加密;通過預先配置的接口將加密後的待寫入數據傳送至分散式系統,以使分散式系統通過第二臨時會話密鑰對加密後的待寫入數據進行解密得到第一明文,第二臨時會話密鑰與第一臨時會話密鑰對應。
在一個實施例中,電腦程式被處理器執行時實現的通過第一臨時會話密鑰對待寫入數據進行加密的步驟之後,還可以包括:通過預先部署的終端私鑰對加密後的待寫入數據進行簽名;電腦程式被處理器執行時實現的通過預先配置的接口將加密後的待寫入數據傳送至分散式系統,以使分散式系統通過第二臨時會話密鑰對加密後的待寫入數據進行解密得到第一明文的步驟,可以包括:通過預先配置的接口將經過加密和簽名後的待寫入數據傳送至分散式系統,以使分散式系統通過終端公鑰對接收到的待寫入數據進行驗簽成功後,通過第二臨時會話密鑰對加密後的待寫入數據進行解密得到第一明文,終端公鑰與終端私鑰對應。
在一個實施例中,電腦程式被處理器執行時還實現以下步驟:通過預先配置的接口接收分散式系統返回的通過第二臨時會話密鑰加密後的待讀取數據;通過第一臨時會話密鑰對加密後的待讀取數據進行解密得到第二明文。在一個實施例中,電腦程式被處理器執行時實現的通過預先配置的接口接收分散式系統返回的通過第二臨時會話密鑰加密後的待讀取數據的步驟,可以包括:通過預先配置的接口接收分散式系統返回的通過終端公鑰和第二臨時會話密鑰加簽和加密後的待讀取數據;電腦程式被處理器執行時實現的通過第一臨時會話密鑰對加密後的待讀取數據進行解密得到第二明文的步驟之前,還可以包括:通過終端私鑰對通過終端公鑰加簽後的待讀取數據進行驗簽得到加密後的待讀取數據。
在一個實施例中,電腦程式被處理器執行時還實現以下步驟:向分散式系統傳送註冊請求,註冊請求中攜帶有註冊類型以及終端標識;接收分散式系統根據終端標識和註冊類型生成的配置檔案;根據配置檔案進行配置。在一個實施例中,電腦程式被處理器執行時還實現以下步驟:獲取終端信息,並根據終端信息生成終端公鑰以及與終端公鑰對應的終端私鑰;將終端公鑰傳送至分散式系統;電腦程式被處理器執行時實現的接收分散式系統根據終端標識和註冊類型生成的配置檔案的步驟,可以包括:當分散式系統對通過證書授權中心對終端公鑰簽名成功後,接收分散式系統根據終端標識和註冊類型生成的配置檔案。
在一個實施例中,電腦程式被處理器執行時還實現以下步驟:獲取終端信息,並將終端信息傳送至分散式系統;接收分散式系統返回的與終端信息對應的終端私鑰和終端公鑰,終端私鑰和終端公鑰為分散式系統通過證書授權中心根據終端信息生成的。
該領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過電腦程式來指令相關的硬體來完成,所述的電腦程式可存儲於一非易失性計算機可讀取存儲介質中,該電腦程式在執行時,可包括如上述各方法的實施例的流程。其中,該發明所提供的各實施例中所使用的對存儲器、存儲、資料庫或其它介質的任何引用,均可包括非易失性和/或易失性存儲器。非易失性存儲器可包括唯讀存儲器(ROM)、可程式ROM(PROM)、電可程式ROM(EPROM)、電可擦除可程式ROM(EEPROM)或快閃記憶體。易失性存儲器可包括隨機存取存儲器(RAM)或者外部高速緩衝存儲器。作為說明而非局限,RAM以多種形式可得,諸如靜態RAM(SRAM)、動態RAM(DRAM)、同步DRAM(SDRAM)、雙數據率SDRAM(DDRSDRAM)、增強型SDRAM(ESDRAM)、同步鏈路(Synchlink)DRAM(SLDRAM)、存儲器匯流排(Rambus)直接RAM(RDRAM)、直接存儲器匯流排動態RAM(DRDRAM)、以及存儲器匯流排動態RAM(RDRAM)等。
榮譽表彰
2021年11月,《數據處理方法、裝置、計算機設備和存儲介質》獲得第八屆廣東專利獎優秀獎。