1.一種基于sgx和cp-abe的區(qū)塊鏈bim數(shù)據(jù)共享系統(tǒng),其特征在于,包括sgx可信加密系統(tǒng)、ipfs存儲(chǔ)系統(tǒng)和區(qū)塊鏈系統(tǒng);
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,接收bim數(shù)據(jù)上傳請(qǐng)求時(shí),sgx可信加密系統(tǒng)還會(huì)接收外部輸入的屬性訪(fǎng)問(wèn)策略,且為該bim數(shù)據(jù)生成唯一的bim數(shù)據(jù)id以及計(jì)算該bim數(shù)據(jù)的哈希值并輸入至區(qū)塊鏈系統(tǒng)中;所述enclave內(nèi)存保護(hù)區(qū)域會(huì)隨機(jī)生成aes密鑰并對(duì)待上傳的bim數(shù)據(jù)進(jìn)行aes對(duì)稱(chēng)加密,加密后的數(shù)據(jù)輸入至ipfs存儲(chǔ)系統(tǒng);
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述智能合約層包括用戶(hù)屬性控制單元和bim數(shù)據(jù)訪(fǎng)問(wèn)控制單元;
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于,所述智能合約層還包括問(wèn)操作記錄單元,所述訪(fǎng)問(wèn)操作記錄單元用于記錄共享系統(tǒng)中登錄注冊(cè)、訪(fǎng)問(wèn)bim數(shù)據(jù)和獲取bim元數(shù)據(jù)結(jié)構(gòu)體的所有操作記錄,并提供操作記錄獲取途徑。
5.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于,sgx可信加密系統(tǒng)將待上傳的bim數(shù)據(jù)的哈希值輸入至區(qū)塊鏈系統(tǒng)后,bim數(shù)據(jù)訪(fǎng)問(wèn)控制單元會(huì)查詢(xún)區(qū)塊鏈賬本層中的哈希值列表,比較判斷哈希值列表是否有與當(dāng)前輸入的哈希值相同的哈希值,若有,拒絕本次上傳請(qǐng)求;若無(wú),將該哈希值存儲(chǔ)到哈希值列表中,且返回繼續(xù)上傳指令給sgx可信加密系統(tǒng)。
6.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于,所述sgx可信加密系統(tǒng)接收到bim數(shù)據(jù)下載請(qǐng)求時(shí),sgx可信加密系統(tǒng)基于請(qǐng)求bim數(shù)據(jù)下載的用戶(hù)id通過(guò)用戶(hù)屬性控制單元獲取該用戶(hù)的用戶(hù)屬性信息,并基于請(qǐng)求下載的bim數(shù)據(jù)id通過(guò)bim數(shù)據(jù)訪(fǎng)問(wèn)控制單元獲取bim元數(shù)據(jù)結(jié)構(gòu)體;enclave內(nèi)存保護(hù)區(qū)域根據(jù)獲取的用戶(hù)屬性信息并基于cp-abe屬性私鑰生成方法獲得屬性私鑰,并基于屬性私鑰對(duì)獲取的bim元數(shù)據(jù)結(jié)構(gòu)體解密,若解密失敗,則bim數(shù)據(jù)下載失敗;若解密成功,則得到cid、哈希值和aes密鑰,根據(jù)cid從ipfs存儲(chǔ)系統(tǒng)獲取加密后的bim數(shù)據(jù),基于aes密鑰對(duì)加密后的bim數(shù)據(jù)進(jìn)行解密,獲得待下載的bim數(shù)據(jù)并計(jì)算該數(shù)據(jù)的哈希值;若計(jì)算得到的哈希值與解密得到的哈希值一致,則將解密得到的待下載的bim數(shù)據(jù)輸出;反之,則不輸出。
7.一種利用權(quán)利要求6所述系統(tǒng)實(shí)現(xiàn)的共享方法,其特征在于,包括以下步驟:
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,sgx可信加密系統(tǒng)將待上傳的bim數(shù)據(jù)的哈希值輸入至區(qū)塊鏈系統(tǒng)后,bim數(shù)據(jù)訪(fǎng)問(wèn)控制單元會(huì)查詢(xún)區(qū)塊鏈賬本層中的哈希值列表,比較判斷哈希值列表是否有與當(dāng)前輸入的哈希值相同的哈希值,若有,拒絕本次上傳請(qǐng)求;若無(wú),將該哈希值存儲(chǔ)到哈希值列表中,且返回繼續(xù)上傳指令給sgx可信加密系統(tǒng)。