本發(fā)明涉及信息安全,具體涉及一種數(shù)據(jù)共享方法、裝置及系統(tǒng)。
背景技術(shù):
1、數(shù)據(jù)共享可以有效促進數(shù)據(jù)流通和價值釋放,打破信息孤島現(xiàn)象。然而,有些數(shù)據(jù)中不僅包含了大量私人信息,而且還可能包含數(shù)據(jù)提供方工作中的敏感數(shù)據(jù),例如基礎(chǔ)庫數(shù)據(jù)、經(jīng)濟數(shù)據(jù)等。目前,對于這類數(shù)據(jù)共享存在諸多難題:第一,數(shù)據(jù)共享面臨隱私泄露風(fēng)險;第二,數(shù)據(jù)使用方無法保證數(shù)據(jù)提供方所共享的數(shù)據(jù)滿足自身研究需求;第三,數(shù)據(jù)中可能包含一些敏感信息,需要經(jīng)過監(jiān)管部門許可才能共享流通。因此,如何能在大規(guī)模數(shù)據(jù)共享場景下實現(xiàn)這類數(shù)據(jù)安全高效共享成為了一個尚待解決的技術(shù)問題。
技術(shù)實現(xiàn)思路
1、本發(fā)明提供一種數(shù)據(jù)共享方法、裝置及系統(tǒng),以使數(shù)據(jù)得到安全、高效的共享。
2、為此,本發(fā)明提供如下技術(shù)方案:
3、一方面,本發(fā)明提供一種數(shù)據(jù)共享方法,所述方法包括:
4、數(shù)據(jù)提供方加密所述數(shù)據(jù)得到數(shù)據(jù)密文,將所述數(shù)據(jù)密文保存至星際文件系統(tǒng),并獲取密文索引地址;所述星際文件系統(tǒng)為由區(qū)塊鏈上的一個或多個共識節(jié)點組成的分布式存儲系統(tǒng);
5、從所述區(qū)塊鏈上獲取數(shù)據(jù)使用方的數(shù)據(jù)需求信息,向監(jiān)管中心發(fā)送申請材料和簽名,以使所述監(jiān)管中心驗證所述簽名的有效性并審核所述申請材料是否符合數(shù)據(jù)共享相關(guān)規(guī)定;
6、接收到所述監(jiān)管中心發(fā)送的審核確認(rèn)后,數(shù)據(jù)提供方使用自身私鑰和數(shù)據(jù)使用方的公鑰生成重加密密鑰,并將所述重加密密鑰發(fā)送給所述星際文件系統(tǒng),以使所述星際文件系統(tǒng)利用收到的重加密密鑰生成重加密密文并發(fā)送給所述數(shù)據(jù)使用方。
7、可選地,所述加密所述數(shù)據(jù)得到數(shù)據(jù)密文包括:通過非對稱公鑰加密算法或?qū)ΨQ加密算法加密所述數(shù)據(jù)得到數(shù)據(jù)密文。
8、可選地,所述申請材料包括:所述數(shù)據(jù)需求信息、數(shù)據(jù)提供方地址、數(shù)據(jù)使用方地址、以及所述密文索引地址。
9、可選地,所述方法還包括:
10、所述監(jiān)管中心收到所述申請材料和簽名后,驗證所述簽名的有效性并根據(jù)所述申請材料審核所述申請材料是否符合數(shù)據(jù)共享相關(guān)規(guī)定;
11、如果簽名有效,并且所述申請材料符合數(shù)據(jù)共享相關(guān)規(guī)定,則生成數(shù)據(jù)共享授權(quán)令牌和令牌簽名;
12、將所述數(shù)據(jù)共享授權(quán)令牌和令牌簽名發(fā)送給所述數(shù)據(jù)使用方。
13、可選地,所述數(shù)據(jù)提供方生成重加密密鑰片段包括:所述數(shù)據(jù)提供方使用自身私鑰和所述數(shù)據(jù)使用方的公鑰生成重加密密鑰。
14、可選地,所述重加密密鑰包括:n個重加密密鑰片段,n>1;
15、所述方法還包括:
16、所述星際文件系統(tǒng)將所述數(shù)據(jù)密文分別保存在n個共識節(jié)點上;
17、所述n個共識節(jié)點分別利用收到的重加密密鑰片段生成重加密密文片段,并將所述重加密密文片段發(fā)送給所述數(shù)據(jù)使用方。
18、所述數(shù)據(jù)共享授權(quán)令牌包括:被授權(quán)實體地址;
19、所述方法還包括:
20、所述數(shù)據(jù)使用方將所述數(shù)據(jù)共享授權(quán)令牌和令牌簽名發(fā)送給所述星際文件系統(tǒng);
21、所述星際文件系統(tǒng)驗證所述令牌簽名的有效性,并驗證所述數(shù)據(jù)共享授權(quán)令牌中的被授權(quán)實體地址是否與數(shù)據(jù)使用方賬戶地址一致;
22、如果驗證通過,發(fā)送所述密文索引地址對應(yīng)的重加密密文片段給所述數(shù)據(jù)使用方。
23、可選地,所述方法還包括:所述數(shù)據(jù)使用方收到t個重加密密文片段后,組合成密文,利用自身私鑰和數(shù)據(jù)提供方公鑰解密所述密文,得到解密數(shù)據(jù)。
24、可選地,所述方法還包括:
25、所述數(shù)據(jù)提供方為所述數(shù)據(jù)生成哈希值,將所述哈希值保存到區(qū)塊鏈上;
26、所述數(shù)據(jù)使用方計算所述解密數(shù)據(jù)的哈希值,將所述哈希值與區(qū)塊鏈上保存的哈希值進行比較,確定所述數(shù)據(jù)是否完整。
27、可選地,所述方法還包括:
28、所述數(shù)據(jù)使用方利用密鑰生成算法生成零知識證明密鑰對,在所述區(qū)塊鏈上設(shè)置用于驗證零知識證明的智能合約,并將所述數(shù)據(jù)需求信息、公共字符串、生成證明密鑰發(fā)布到所述區(qū)塊鏈上;
29、所述數(shù)據(jù)提供方從所述區(qū)塊鏈上獲取數(shù)據(jù)使用方的數(shù)據(jù)需求信息后,確定所述數(shù)據(jù)需求信息是否符合要求;
30、如果符合要求,則根據(jù)所述公共字符串、所述生成證明密鑰、所述數(shù)據(jù)需求信息生成零知識證明,將所述零知識證明提交給所述智能合約;
31、所述智能合約驗證所述零知識證明的有效性;
32、如果有效,則向所述數(shù)據(jù)提供方發(fā)送獎勵;
33、所述數(shù)據(jù)提供方收到所述智能合約發(fā)送的獎勵后,向所述監(jiān)管中心發(fā)送申請材料和簽名。
34、另一方面,本發(fā)明還提供一種數(shù)據(jù)共享裝置,所述裝置包括:
35、數(shù)據(jù)處理模塊,用于加密所述數(shù)據(jù)得到數(shù)據(jù)密文,將所述數(shù)據(jù)密文保存至星際文件系統(tǒng),并獲取密文索引地址;所述星際文件系統(tǒng)為由區(qū)塊鏈上的一個或多個共識節(jié)點組成的分布式存儲系統(tǒng);
36、請求模塊,用于從所述區(qū)塊鏈上獲取數(shù)據(jù)使用方的數(shù)據(jù)需求信息,向監(jiān)管中心發(fā)送申請材料和簽名,以使所述監(jiān)管中心驗證所述簽名的有效性并審核所述申請材料是否符合數(shù)據(jù)共享相關(guān)規(guī)定;
37、響應(yīng)模塊,用于接收到所述監(jiān)管中心發(fā)送的審核確認(rèn)后,使用自身私鑰和數(shù)據(jù)使用方的公鑰生成重加密密鑰,并將所述重加密密鑰發(fā)送給所述星際文件系統(tǒng),以使所述星際文件系統(tǒng)利用收到的重加密密鑰生成重加密密文并發(fā)送給所述數(shù)據(jù)使用方。
38、另一方面,本發(fā)明還提供一種數(shù)據(jù)共享系統(tǒng),所述系統(tǒng)包括:數(shù)據(jù)中心、區(qū)塊鏈、星際文件系統(tǒng)、監(jiān)管中心;所述數(shù)據(jù)中心包括所述數(shù)據(jù)共享裝置;
39、所述數(shù)據(jù)中心,用于提供向數(shù)據(jù)使用方提供數(shù)據(jù);
40、所述監(jiān)管中心作為可信第三方實體,用于審核所述數(shù)據(jù)中心提供的數(shù)據(jù)是否符合數(shù)據(jù)共享相關(guān)規(guī)定;
41、所述星際文件系統(tǒng)包括所述區(qū)塊鏈上的一個或多個共識節(jié)點,用于存儲加密數(shù)據(jù)和驗證令牌有效性;
42、所述區(qū)塊鏈,用于提供重加密操作,存儲數(shù)據(jù)交易記錄。
43、另一方面,本發(fā)明還提供一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,所述計算機程序被處理器運行時執(zhí)行所述數(shù)據(jù)共享方法的步驟。
44、本發(fā)明提供的數(shù)據(jù)共享方法、裝置及系統(tǒng),通過設(shè)置監(jiān)管中心,數(shù)據(jù)提供方將數(shù)據(jù)密文保存至星際文件系統(tǒng)中,在從區(qū)塊鏈上獲取數(shù)據(jù)使用方的數(shù)據(jù)需求信息后,先向監(jiān)管中心發(fā)送申請材料和簽名,從而可以使監(jiān)管中心驗證簽名的有效性并審核申請材料是否符合數(shù)據(jù)共享相關(guān)規(guī)定,在監(jiān)管中心審核確認(rèn)后,數(shù)據(jù)提供方使用自身私鑰和數(shù)據(jù)使用方的公鑰生成重加密密鑰,發(fā)送給星際文件系統(tǒng),星際文件系統(tǒng)利用收到的重加密密鑰生成重加密密文并發(fā)送給數(shù)據(jù)使用方。本發(fā)明方案引入監(jiān)管中心實現(xiàn)對數(shù)據(jù)共享的監(jiān)管,利用區(qū)塊鏈技術(shù)充分保證了數(shù)據(jù)的完整性和可追責(zé)性。利用本發(fā)明方案,可以在一些受限環(huán)境下,提供安全、高效和可監(jiān)管的數(shù)據(jù)共享。
45、進一步地,利用星際文件系統(tǒng)及重加密技術(shù),可以將數(shù)據(jù)密文保存在星際文件系統(tǒng)的多個共識節(jié)點上,在生成重加密密鑰時,也相應(yīng)地生成多個重加密密鑰片段,使多個共識節(jié)點分別對其保存的數(shù)據(jù)密文進行重加密,生成重加密密文片段,從而可以在完全去中心化場景中實現(xiàn)數(shù)據(jù)共享,有效地避免了單點故障等問題造成的數(shù)據(jù)丟失或損壞,提高了數(shù)據(jù)存儲的可靠性。
46、進一步地,利用智能合約和零知識證明,保證了數(shù)據(jù)的有效性,進而保障了數(shù)據(jù)使用方的權(quán)益。通過設(shè)定激勵機制,向數(shù)據(jù)提供方發(fā)送獎勵,可以更好地保障數(shù)據(jù)提供方的利益。