對可共享的加密數據進行解密的方法、裝置及系統與流程
2023-04-28 00:00:08 2

本發明涉及數據安全技術領域,特別是涉及一種對可共享的加密數據進行解密的方法、裝置及系統。
背景技術:
隨著資訊時代的不斷發展,不同部門、不同地區間的信息交流逐步增加,計算機網絡技術的發展為信息傳輸提供了保障。在實際應用中,為了節省用戶終端本地的存儲空間以及實現信息的共享,當用戶終端生成信息後,可以將該信息發送至第三方信息存儲平臺,以便其他用戶終端從第三方信息存儲平臺中獲取該信息,同時也可以通過監管平臺對第三方信息存儲平臺存儲的信息進行監管。
然而,生成的信息並不一定允許所有的用戶終端查看,因此為了信息的隱私以及安全,現有技術提供了以下方案:生成信息的用戶終端在將信息發送至第三方存儲平臺之前,可以利用對稱加密技術的加密密鑰對該信息進行加密,然後將獲得的信息密文發送到第三方存儲平臺進行存儲,並將該解密密鑰(與加密密鑰相同)發送給允許查看該信息的其他用戶終端以及監管平臺,以便其他用戶終端或者監管平臺從第三方存儲平臺獲得信息密文後,可以利用接收到的解密密鑰對信息密文進行解密獲得信息明文。但是,生成信息的用戶終端在將解密密鑰發送給其他用戶終端或者監管平臺的過程中,很可能會被他人截獲,從而導致解密密鑰外洩,進而導致信息明文外洩,使得第三方存儲平臺存儲信息的安全性降低。
技術實現要素:
有鑑於此,本發明提供一種對可共享的加密數據進行解密的方法、裝置及系統,能夠提高第三方存儲平臺存儲信息的安全性。
本發明的目的是採用以下技術方案來實現的:
第一方面,本發明提供了一種對可共享的加密數據進行解密的方法,所述方法應用於信息讀取設備,所述方法包括:
當所述信息讀取設備需要從信息存儲設備讀取信息時,向所述信息存儲設備發送信息讀取請求,所述信息讀取請求中攜帶有所述信息讀取設備的公鑰的運算值,所述公鑰的運算值是根據預設算法對所述公鑰進行運算得到的,所述信息存儲設備針對每條信息存儲一個數據包,且所述數據包中包括:允許讀取信息的信息讀取設備的公鑰的運算值、所述允許讀取信息的信息讀取設備的公鑰對應的密鑰密文以及利用密鑰明文對信息明文加密得到的信息密文之間的映射關係,所述公鑰對應的密鑰密文是利用所述公鑰對用於加密信息明文的密鑰明文進行加密得到的;
接收所述信息存儲設備發送的、根據所述信息讀取設備的公鑰的運算值查找到的密鑰密文以及信息密文;
利用所述信息讀取設備的公鑰對應的私鑰對接收到的密鑰密文進行解密;
若解密成功獲得所述接收到的密鑰密文對應的密鑰明文,則利用獲得的密鑰明文對接收到的信息密文進行解密,並在解密成功後獲得所述信息密文對應的信息明文。
第二方面,本發明提供了一種對可共享的加密數據進行解密的方法,所述方法應用於信息存儲設備,所述方法包括:
當信息讀取設備需要讀取信息時,接收所述信息讀取設備發送的信息讀取請求,所述信息讀取請求中攜帶有所述信息讀取設備的公鑰的運算值,所述公鑰的運算值是根據預設算法對所述公鑰進行運算得到的;
查找包括所述信息讀取設備的公鑰的運算值的數據包,所述信息存儲設備針對每條信息存儲一個數據包,且所述數據包中包括:允許讀取信息的信息讀取設備的公鑰的運算值、所述允許讀取信息的信息讀取設備的公鑰對應的密鑰密文以及利用密鑰明文對信息明文加密得到的信息密文之間的映射關係,所述公鑰對應的密鑰密文是利用所述公鑰對用於加密信息明文的密鑰明文進行加密得到的;
將查找到的數據包中的所述信息讀取設備的公鑰的運算值對應的密鑰密文以及信息密文發送給所述信息讀取設備,以便所述信息讀取設備根據所述密鑰密文以及所述信息密文獲取所述信息密文對應的信息明文。
第三方面,本發明提供了一種對可共享的加密數據進行解密的裝置,所述裝置應用於信息讀取設備,所述裝置包括:
發送單元,用於當所述信息讀取設備需要從信息存儲設備讀取信息時,向所述信息存儲設備發送信息讀取請求,所述信息讀取請求中攜帶有所述信息讀取設備的公鑰的運算值,所述公鑰的運算值是根據預設算法對所述公鑰進行運算得到的,所述信息存儲設備針對每條信息存儲一個數據包,且所述數據包中包括:允許讀取信息的信息讀取設備的公鑰的運算值、所述允許讀取信息的信息讀取設備的公鑰對應的密鑰密文以及利用密鑰明文對信息明文加密得到的信息密文之間的映射關係,所述公鑰對應的密鑰密文是利用所述公鑰對用於加密信息明文的密鑰明文進行加密得到的;
接收單元,用於接收所述信息存儲設備發送的、根據所述信息讀取設備的公鑰的運算值查找到的密鑰密文以及信息密文;
解密單元,用於利用所述信息讀取設備的公鑰對應的私鑰對所述接收單元接收到的密鑰密文進行解密;
所述解密單元還用於當所述解密單元解密成功獲得所述接收到的密鑰密文對應的密鑰明文時,利用獲得的密鑰明文對接收到的信息密文進行解密,並在解密成功後獲得所述信息密文對應的信息明文。
第四方面,本發明提供了一種對可共享的加密數據進行解密的裝置,所述裝置應用於信息存儲設備,所述裝置包括:
接收單元,用於當信息讀取設備需要讀取信息時,接收所述信息讀取設備發送的信息讀取請求,所述信息讀取請求中攜帶有所述信息讀取設備的公鑰的運算值,所述公鑰的運算值是根據預設算法對所述公鑰進行運算得到的;
查找單元,用於查找包括所述信息讀取設備的公鑰的運算值的數據包,所述信息存儲設備針對每條信息存儲一個數據包,且所述數據包中包括:允許讀取信息的信息讀取設備的公鑰的運算值、所述允許讀取信息的信息讀取設備的公鑰對應的密鑰密文以及利用密鑰明文對信息明文加密得到的信息密文之間的映射關係,所述公鑰對應的密鑰密文是利用所述公鑰對用於加密信息明文的密鑰明文進行加密得到的;
發送單元,用於將所述查找單元查找到的數據包中的所述信息讀取設備的公鑰的運算值對應的密鑰密文以及信息密文發送給所述信息讀取設備,以便所述信息讀取設備根據所述密鑰密文以及所述信息密文獲取所述信息密文對應的信息明文。
第五方面,本發明提供了一種對可共享的加密數據進行解密的系統,所述系統包括信息讀取設備以及信息存儲設備;
其中,所述信息讀取設備包括如第三方面所述的裝置;
所述信息存儲設備包括如第四方面所述的裝置。
藉由上述技術方案,本發明提供的對可共享的加密數據進行解密的方法、裝置及系統,能夠在信息讀取設備需要從信息存儲設備讀取信息時,可以先通過自身的公鑰的運算值從信息讀取設備側獲取該公鑰的運算值對應的密鑰密文以及信息密文,然後利用自身的私鑰對密鑰密文進行解密獲得密鑰明文,最後再利用密鑰明文對信息密文進行解密獲得信息明文。由此可知,本發明中的信息讀取設備獲取的密鑰明文不是從信息生成設備側直接獲取的,而是通過只有信息讀取設備知道的私鑰對信息存儲設備反饋的密鑰密文進行解密獲取的,從而不僅可以避免因傳輸密鑰明文而導緻密鑰明文外洩的現象,還可以避免發生其他設備成功解密密鑰密文的現象,進而提高了信息存儲設備存儲可共享的加密數據的安全性。
上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段,而可依照說明書的內容予以實施,並且為了讓本發明的上述和其它目的、特徵和優點能夠更明顯易懂,以下特舉本發明的具體實施方式。
附圖說明
通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對於本領域普通技術人員將變得清楚明了。附圖僅用於示出優選實施方式的目的,而並不認為是對本發明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1示出了本發明實施例提供的一種對可共享的加密數據進行解密的方法的流程圖;
圖2示出了本發明實施例提供的信息存儲設備的數據包中數據對應關係的示意圖;
圖3示出了本發明實施例提供的從信息存儲設備側讀取信息明文的示意圖;
圖4示出了本發明實施例提供的另一種對可共享的加密數據進行解密的方法的流程圖;
圖5示出了本發明實施例提供的存儲信息對應的數據包時涉及的各設備之間的交互圖;
圖6示出了本發明實施例提供的從信息存儲設備側讀取信息時各設備之間的交互圖;
圖7示出了本發明實施例提供的一種對可共享的加密數據進行解密的裝置的組成框圖;
圖8示出了本發明實施例提供的另一種對可共享的加密數據進行解密的裝置的組成框圖;
圖9示出了本發明實施例提供的另一種對可共享的加密數據進行解密的裝置的組成框圖;
圖10示出了本發明實施例提供的一種對可共享的加密數據進行解密的系統的組成框圖。
具體實施方式
下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這裡闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,並且能夠將本公開的範圍完整的傳達給本領域的技術人員。
本發明實施例提供了一種對可共享的加密數據進行解密的方法,所述方法應用於信息讀取設備,如圖1所示,所述方法包括:
101、當所述信息讀取設備需要從信息存儲設備讀取信息時,向所述信息存儲設備發送信息讀取請求;
其中,所述信息讀取請求中攜帶有所述信息讀取設備的公鑰的運算值,所述公鑰的運算值是根據預設算法對所述公鑰進行運算得到的。在實際應用中,所述預設算法可以為哈希算法,也可以為其他算法,在此不做限定。
所述信息存儲設備針對每條信息存儲一個數據包,也就是說,當信息為M條時,數據包為M個,且信息與數據包一一對應。所述數據包中包括:允許讀取信息的信息讀取設備的公鑰的運算值、所述允許讀取信息的信息讀取設備的公鑰對應的密鑰密文以及利用密鑰明文對信息明文加密得到的信息密文之間的映射關係,所述公鑰對應的密鑰密文是利用所述公鑰對用於加密信息明文的密鑰明文進行加密得到的。其中,允許讀取該信息的設備包括信息生成設備、信息生成設備指定的信息接收設備以及用於監管信息的信息監管設備。由此可知,本發明實施例的執行主體信息讀取設備實際上包括信息生成設備、信息生成設備指定的信息接收設備以及用於監管信息的信息監管設備。
具體的,當信息生成設備生成一條信息後,可以分別計算信息生成設備的公鑰的運算值、信息生成設備的公鑰對應的密鑰密文、信息生成設備指定的信息接收設備的公鑰的運算值、信息生成設備指定的信息接收設備的公鑰對應的密鑰密文、用於監管信息的信息監管設備的公鑰的運算值、信息監管設備的公鑰對應的密鑰密文以及利用密鑰明文對信息明文進行加密得到的信息密文,然後基於公鑰的運算值、公鑰對應的密鑰密文以及信息密文三者之間的映射關係,生成包括各個公鑰的運算值、各個公鑰對應的密鑰密文以及信息密文的數據包,並將生成的數據包發送給信息存儲設備進行存儲,以便後續基於該數據包中的公鑰的運算值來作為信息讀取設備讀取信息的讀取憑證。
示例性的,若信息生成設備指定的信息接收設備為信息接收設備A、信息接收設備B以及信息接收設備C,並且允許信息監管設備進行監管,則信息生成設備需要向信息存儲設備發送的數據包中的內容可以如圖2所示。由圖2可知,該數據包中包括5組對應關係,具體為:
(1)信息發送設備的公鑰的哈希值、用信息發送設備的公鑰加密密鑰明文得到的密鑰密文以及用密鑰明文加密信息明文得到的信息密文三者相對應;
(2)信息監管設備的公鑰的哈希值、用信息監管設備的公鑰加密密鑰明文得到的密鑰密文以及用密鑰明文加密信息明文得到的信息密文三者相對應;
(3)信息接收設備A的公鑰的哈希值、用信息接收設備A的公鑰加密密鑰明文得到的密鑰密文以及用密鑰明文加密信息明文得到的信息密文三者相對應;
(4)信息接收設備B的公鑰的哈希值、用信息接收設備B的公鑰加密密鑰明文得到的密鑰密文以及用密鑰明文加密信息明文得到的信息密文三者相對應;
(5)信息接收設備C的公鑰的哈希值、用信息接收設備C的公鑰加密密鑰明文得到的密鑰密文以及用密鑰明文加密信息明文得到的信息密文三者相對應。
此外,數據包中的數據的具體表現形式可以為向量形式,也可以為其他形式,在此不做限定。例如,向量形式可以為{{ADD_j,Envo_j}j=0,1...,n+1,C},其中,ADD_j表示公鑰的運算值,Envo_j表示利用公鑰對密鑰明文進行加密得到的密鑰密文,C表示利用密鑰明文對信息明文進行加密得到的信息密文。
需要補充的是,在實際應用中,信息讀取設備的公私鑰對可能不止一個,當信息讀取設備的公私鑰對為多個時,信息讀取設備可能只使用其中一個公鑰用於生成數據包(即無論是針對哪條信息生成一個數據包,一個設備僅使用一個公鑰),也可能使用不同的公鑰生成不同的數據包(即在針對不同信息生成不同數據包時,一個設備可以使用不同的公鑰生成不同的數據包)。當信息讀取設備使用不同公鑰生成不同數據包時,若信息讀取設備所要讀取的多個信息是用不同公鑰生成的,則為了讀取這些信息,信息讀取設備向信息存儲設備發送信息讀取請求時,需要將多個公鑰的運算值添加到信息讀取請求中,以便信息存儲設備分別根據不同的公鑰的運算值查找不同的數據包。
需要說明的是,在實際應用中,信息生成設備以及信息接收設備可以為用戶終端,信息存儲設備可以為存儲平臺,信息監管設備可以為監管平臺。
102、接收所述信息存儲設備發送的、根據所述信息讀取設備的公鑰的運算值查找到的密鑰密文以及信息密文;
103、利用所述信息讀取設備的公鑰對應的私鑰對接收到的密鑰密文進行解密;
若解密成功,則執行步驟104;若解密失敗,則輸出顯示解密失敗提示信息。
104、若解密成功獲得所述接收到的密鑰密文對應的密鑰明文,則利用獲得的密鑰明文對接收到的信息密文進行解密,並在解密成功後獲得所述信息密文對應的信息明文。
信息讀取設備在從信息存儲設備讀取信息時,可以讀取該信息讀取設備能夠讀取的所有信息,也可以讀取其未曾讀過的新產生的信息,其讀取內容可以根據具體情況而定。當信息讀取設備與信息存儲設備兩者提前設置好默認的信息讀取需求時,信息讀取設備向信息存儲設備發送信息讀取請求時,信息讀取請求中可以不攜帶信息讀取需求;當信息讀取設備與信息存儲設備沒有設置好默認的信息讀取需求時,信息讀取設備在向信息存儲設備發送信息讀取請求時,信息讀取請求中還可以攜帶信息讀取請求。
示例性的,如圖3所示,若信息接收設備A需要讀取的信息包括圖2所示的信息,則信息接收設備A通過向信息存儲設備發送信息接收設備的公鑰的哈希值,來獲取信息接收設備A的公鑰對應的密鑰密文以及信息密文後,可以先利用自身的私鑰對該密鑰密文進行解密獲得密鑰明文,然後利用密鑰明文對信息密文進行解密獲得信息明文。
本發明實施例提供的對可共享的加密數據進行解密的方法,能夠在信息讀取設備需要從信息存儲設備讀取信息時,可以先通過自身的公鑰的運算值從信息讀取設備側獲取該公鑰的運算值對應的密鑰密文以及信息密
文,然後利用自身的私鑰對密鑰密文進行解密獲得密鑰明文,最後再利用密鑰明文對信息密文進行解密獲得信息明文。由此可知,本發明中的信息讀取設備獲取的密鑰明文不是從信息生成設備側直接獲取的,而是通過只有信息讀取設備知道的私鑰對信息存儲設備反饋的密鑰密文進行解密獲取的,從而不僅可以避免因傳輸密鑰明文而導緻密鑰明文外洩的現象,還可以避免發生其他設備成功解密密鑰密文的現象,進而提高了信息存儲設備存儲可共享的加密數據的安全性。
進一步的,依據圖1所示的方法,本發明的另一個實施例還提供了一種對可共享的加密數據進行解密的方法,所述方法應用於信息存儲設備,如圖4所示,所述方法包括:
201、當信息讀取設備需要讀取信息時,接收所述信息讀取設備發送的信息讀取請求;
其中,所述信息讀取請求中攜帶有所述信息讀取設備的公鑰的運算值,且公鑰的運算值可能為一個,也可能為多個。所述公鑰的運算值是根據預設算法對所述公鑰進行運算得到的。
202、查找包括所述信息讀取設備的公鑰的運算值的數據包;
其中,所述信息存儲設備針對每條信息存儲一個數據包,且所述數據包中包括:允許讀取信息的信息讀取設備的公鑰的運算值、所述允許讀取信息的信息讀取設備的公鑰對應的密鑰密文以及利用密鑰明文對信息明文加密得到的信息密文之間的映射關係,所述公鑰對應的密鑰密文是利用所述公鑰對用於加密信息明文的密鑰明文進行加密得到的。
203、將查找到的數據包中的所述信息讀取設備的公鑰的運算值對應的密鑰密文以及信息密文發送給所述信息讀取設備,以便所述信息讀取設備根據所述密鑰密文以及所述信息密文獲取所述信息密文對應的信息明文。
本發明實施例提供的對可共享的加密數據進行解密的方法,能夠在信息讀取設備需要從信息存儲設備讀取信息時,可以先通過自身的公鑰的運算值從信息讀取設備側獲取該公鑰的運算值對應的密鑰密文以及信息密文,然後利用自身的私鑰對密鑰密文進行解密獲得密鑰明文,最後再利用密鑰明文對信息密文進行解密獲得信息明文。由此可知,本發明中的信息讀取設備獲取的密鑰明文不是從信息生成設備側直接獲取的,而是通過只有信息讀取設備知道的私鑰對信息存儲設備反饋的密鑰密文進行解密獲取的,從而不僅可以避免因傳輸密鑰明文而導緻密鑰明文外洩的現象,還可以避免發生其他設備成功解密密鑰密文的現象,進而提高了信息存儲設備存儲可共享的加密數據的安全性。
可選的,信息存儲設備在查找數據包時,可以根據信息讀取設備的不同需求進行不同查找。例如,當信息讀取設備需要讀取所有的信息時,信息存儲設備可以查找包括所述信息讀取設備的公鑰的運算值的所有數據包,並將所有數據包中的密鑰密文以及信息密文反饋給信息讀取設備;當信息讀取設備需要讀取未讀信息時,信息存儲設備可以根據所述信息讀取設備的信息讀取記錄,查找包括所述信息讀取設備的公鑰的運算值的未讀數據包,並將查找到的數據包中的密鑰密文以及信息密文反饋給信息讀取設備。
其中,當信息讀取請求中攜帶有信息讀取需求時,信息存儲設備可以根據所述信息讀取需求查找數據包;當信息讀取請求中沒有攜帶信息讀取需求時,信息存儲設備可以根據默認的信息讀取需求查找數據包。
基於上述實施例的詳細分析,下面以信息讀取設備中的信息接收設備為信息接收設備A為例,對信息讀取設備與信息存儲設備之間的數據交互情況進行介紹:
(一)信息生成設備生成信息對應的數據包,並將數據包發送給信息存儲設備進行存儲的過程可以如圖5所示。
(A1)信息接收設備A以及信息監管設備分別將自身的公鑰發送給信息生成設備,其中信息接收設備A的公鑰為公鑰2,信息監管設備的公鑰為公鑰3;
(A2)信息生成設備接收到公鑰2和公鑰3後,若生成一條信息,則獲取一個密鑰明文,然後利用該密鑰明文對生成的信息明文進行加密,獲得信息密文;
本示例以信息生成設備先接收到信息接收設備以及信息監管設備的公鑰,再生成信息為例進行說明。在實際應用中,信息的生成以及公鑰的接收也可能是同時發生的,也可能是先生成信息,再接收到其他設備發送的公鑰,其發生的先後順序在此不做限定。
(A3)信息生成設備分別對自身的公鑰1、信息接收設備A的公鑰2以及信息監管設備的公鑰3進行哈希運算,獲得哈希值1、哈希值2以及哈希值3;
(A4)信息生成設備分別利用公鑰1、公鑰2以及公鑰3對密鑰明文進行加密,獲得密鑰密文1、密鑰密文2以及密鑰密文3;
需要說明的是,步驟(2)、(3)、(4)不分先後順序,可以按照一定順序依次執行,也可以同時執行。
(A5)信息生成設備將哈希值、密鑰密文以及信息密文以以下對應關係打包為一個數據包1,並將該數據包1發送給信息存儲設備進行存儲。
對應關係:
哈希值1、密鑰密文1以及信息密文三者相對應;
哈希值2、密鑰密文2以及信息密文三者相對應;
哈希值3、密鑰密文3以及信息密文三者相對應。
(二)當數據包存儲至信息存儲設備後,信息生成設備、信息接收設備A以及信息監管設備均可以從信息存儲設備讀取該數據包中的數據。如圖6所示,當信息接收設備A想要從信息存儲設備讀取數據時,與信息存儲設備之前的交互情況如下:
(B1)信息接收設備A對自身的公鑰2進行哈希運算,獲得哈希值2,並將攜帶哈希值2的信息讀取請求發送給信息存儲設備;
(B2)信息存儲設備接收到信息讀取請求後,查找包括哈希值2的數據包,並將查找到的數據包中哈希值2對應的密鑰密文以及信息密文發送給信息接收設備A;其中,查找到的數據包包括數據包1,所需反饋的密鑰密文包括密鑰密文2,信息密文包括密鑰密文2對應的信息密文;
(B3)信息接收設備A接收到密鑰密文2以及信息密文後,先利用自身的私鑰2(即公鑰2對應的私鑰)對密鑰密文2進行解密獲得密鑰明文,然後利用密鑰密文對信息密文進行解密獲得信息明文。
進一步的,依據圖1所示的方法,本發明的另一個實施例還提供了一種對可共享的加密數據進行解密的裝置,所述裝置應用於信息讀取設備,如圖7所示,所述裝置主要包括:發送單元31、接收單元32以及解密單元33。其中,
發送單元31,用於當所述信息讀取設備需要從信息存儲設備讀取信息時,向所述信息存儲設備發送信息讀取請求,所述信息讀取請求中攜帶有所述信息讀取設備的公鑰的運算值,所述公鑰的運算值是根據預設算法對所述公鑰進行運算得到的,所述信息存儲設備針對每條信息存儲一個數據包,且所述數據包中包括:允許讀取信息的信息讀取設備的公鑰的運算值、所述允許讀取信息的信息讀取設備的公鑰對應的密鑰密文以及利用密鑰明文對信息明文加密得到的信息密文之間的映射關係,所述公鑰對應的密鑰密文是利用所述公鑰對用於加密信息明文的密鑰明文進行加密得到的;
接收單元32,用於接收所述信息存儲設備發送的、根據所述信息讀取設備的公鑰的運算值查找到的密鑰密文以及信息密文;
解密單元33,用於利用所述信息讀取設備的公鑰對應的私鑰對所述接收單元32接收到的密鑰密文進行解密;
所述解密單元33還用於當解密成功獲得所述接收到的密鑰密文對應的密鑰明文時,利用獲得的密鑰明文對接收到的信息密文進行解密,並在解密成功後獲得所述信息密文對應的信息明文。
可選的,所述預設算法為哈希算法。
可選的,所述信息讀取設備包括:用於生成信息的信息生成設備、所述信息生成設備指定的信息接收設備以及用於監管信息的信息監管設備。
本發明實施例提供的對可共享的加密數據進行解密的裝置,能夠在信息讀取設備需要從信息存儲設備讀取信息時,可以先通過自身的公鑰的運算值從信息讀取設備側獲取該公鑰的運算值對應的密鑰密文以及信息密文,然後利用自身的私鑰對密鑰密文進行解密獲得密鑰明文,最後再利用密鑰明文對信息密文進行解密獲得信息明文。由此可知,本發明中的信息讀取設備獲取的密鑰明文不是從信息生成設備側直接獲取的,而是通過只有信息讀取設備知道的私鑰對信息存儲設備反饋的密鑰密文進行解密獲取的,從而不僅可以避免因傳輸密鑰明文而導緻密鑰明文外洩的現象,還可以避免發生其他設備成功解密密鑰密文的現象,進而提高了信息存儲設備存儲可共享的加密數據的安全性。
進一步的,依據圖4所示的方法,本發明的另一個實施例還提供了一種對可共享的加密數據進行解密的裝置,所述裝置應用於信息存儲設備,如圖8所示,所述裝置主要包括:接收單元41、查找單元42以及發送單元43。其中,
接收單元41,用於當信息讀取設備需要讀取信息時,接收所述信息讀取設備發送的信息讀取請求,所述信息讀取請求中攜帶有所述信息讀取設備的公鑰的運算值,所述公鑰的運算值是根據預設算法對所述公鑰進行運算得到的;
查找單元42,用於查找包括所述信息讀取設備的公鑰的運算值的數據包,所述信息存儲設備針對每條信息存儲一個數據包,且所述數據包中包括:允許讀取信息的信息讀取設備的公鑰的運算值、所述允許讀取信息的信息讀取設備的公鑰對應的密鑰密文以及利用密鑰明文對信息明文加密得到的信息密文之間的映射關係,所述公鑰對應的密鑰密文是利用所述公鑰對用於加密信息明文的密鑰明文進行加密得到的;
發送單元43,用於將所述查找單元查找到的數據包中的所述信息讀取設備的公鑰的運算值對應的密鑰密文以及信息密文發送給所述信息讀取設備,以便所述信息讀取設備根據所述密鑰密文以及所述信息密文獲取所述信息密文對應的信息明文。
可選的,如圖9所示,所述查找單元42包括:
第一查找模塊421,用於查找包括所述信息讀取設備的公鑰的運算值的所有數據包;
第二查找模塊422,用於根據所述信息讀取設備的信息讀取記錄,查找包括所述信息讀取設備的公鑰的運算值的未讀數據包。
可選的,所述預設算法為哈希算法。
可選的,所述信息讀取設備包括:用於生成信息的信息生成設備、所述信息生成設備指定的信息接收設備以及用於監管信息的信息監管設備。
本發明實施例提供的對可共享的加密數據進行解密的裝置,能夠在信息讀取設備需要從信息存儲設備讀取信息時,可以先通過自身的公鑰的運算值從信息讀取設備側獲取該公鑰的運算值對應的密鑰密文以及信息密文,然後利用自身的私鑰對密鑰密文進行解密獲得密鑰明文,最後再利用密鑰明文對信息密文進行解密獲得信息明文。由此可知,本發明中的信息讀取設備獲取的密鑰明文不是從信息生成設備側直接獲取的,而是通過只有信息讀取設備知道的私鑰對信息存儲設備反饋的密鑰密文進行解密獲取的,從而不僅可以避免因傳輸密鑰明文而導緻密鑰明文外洩的現象,還可以避免發生其他設備成功解密密鑰密文的現象,進而提高了信息存儲設備存儲可共享的加密數據的安全性。
進一步的,依據上述裝置實施例,本發明的另一個實施例還提供了一種對可共享的加密數據進行解密的系統,如圖10所示,所述系統包括信息讀取設備51以及信息存儲設備52;
其中,所述信息讀取設備51包括如圖7所示的裝置;
所述信息存儲設備52包括如圖8或9所示的裝置。
其中,信息讀取設備51與信息存儲設備52之間的交互情況可以參見圖5至圖6的示例。
本發明實施例提供的對可共享的加密數據進行解密的系統,能夠在信息讀取設備需要從信息存儲設備讀取信息時,可以先通過自身的公鑰的運算值從信息讀取設備側獲取該公鑰的運算值對應的密鑰密文以及信息密文,然後利用自身的私鑰對密鑰密文進行解密獲得密鑰明文,最後再利用密鑰明文對信息密文進行解密獲得信息明文。由此可知,本發明中的信息讀取設備獲取的密鑰明文不是從信息生成設備側直接獲取的,而是通過只有信息讀取設備知道的私鑰對信息存儲設備反饋的密鑰密文進行解密獲取的,從而不僅可以避免因傳輸密鑰明文而導緻密鑰明文外洩的現象,還可以避免發生其他設備成功解密密鑰密文的現象,進而提高了信息存儲設備存儲可共享的加密數據的安全性。
在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
可以理解的是,上述方法及裝置中的相關特徵可以相互參考。另外,上述實施例中的「第一」、「第二」等是用於區分各實施例,而並不代表各實施例的優劣。
所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統,裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在此提供的算法和顯示不與任何特定計算機、虛擬系統或者其它設備固有相關。各種通用系統也可以與基於在此的示教一起使用。根據上面的描述,構造這類系統所要求的結構是顯而易見的。此外,本發明也不針對任何特定程式語言。應當明白,可以利用各種程式語言實現在此描述的本發明的內容,並且上面對特定語言所做的描述是為了披露本發明的最佳實施方式。
在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施例可以在沒有這些具體細節的情況下實踐。在一些實例中,並未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。
類似地,應當理解,為了精簡本公開並幫助理解各個發明方面中的一個或多個,在上面對本發明的示例性實施例的描述中,本發明的各個特徵有時被一起分組到單個實施例、圖、或者對其的描述中。然而,並不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發明要求比在每個權利要求中所明確記載的特徵更多的特徵。更確切地說,如下面的權利要求書所反映的那樣,發明方面在於少於前面公開的單個實施例的所有特徵。因此,遵循具體實施方式的權利要求書由此明確地併入該具體實施方式,其中每個權利要求本身都作為本發明的單獨實施例。
本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變並且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特徵和/或過程或者單元中的至少一些是相互排斥之外,可以採用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特徵以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特徵可以由提供相同、等同或相似目的的替代特徵來代替。
此外,本領域的技術人員能夠理解,儘管在此所述的一些實施例包括其它實施例中所包括的某些特徵而不是其它特徵,但是不同實施例的特徵的組合意味著處於本發明的範圍之內並且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
本發明的各個部件實施例可以以硬體實現,或者以在一個或者多個處理器上運行的軟體模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數位訊號處理器(DSP)來實現根據本發明實施例的對可共享的加密數據進行解密的方法、裝置及系統中的一些或者全部部件的一些或者全部功能。本發明還可以實現為用於執行這裡所描述的方法的一部分或者全部的設備或者裝置程序(例如,電腦程式和電腦程式產品)。這樣的實現本發明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從網際網路網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
應該注意的是上述實施例對本發明進行說明而不是對本發明進行限制,並且本領域技術人員在不脫離所附權利要求的範圍的情況下可設計出替換實施例。在權利要求中,不應將位於括號之間的任何參考符號構造成對權利要求的限制。單詞「包含」不排除存在未列在權利要求中的元件或步驟。位於元件之前的單詞「一」或「一個」不排除存在多個這樣的元件。本發明可以藉助於包括有若干不同元件的硬體以及藉助於適當編程的計算機來實現。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬體項來具體體現。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。