本發(fā)明涉及一種區(qū)塊鏈數(shù)據(jù)傳輸?shù)姆椒?,尤其涉及一種使用sctp協(xié)議對(duì)區(qū)塊鏈數(shù)據(jù)進(jìn)行安全傳輸?shù)姆椒ā?/p>
背景技術(shù):
基于對(duì)等協(xié)議傳輸區(qū)塊鏈數(shù)據(jù)是目前常用的區(qū)塊鏈數(shù)據(jù)傳輸方式,目前對(duì)等網(wǎng)絡(luò)大部分是建立在udp或tcp協(xié)議基礎(chǔ)之上。
在區(qū)塊鏈數(shù)據(jù)傳輸?shù)膶?duì)等網(wǎng)絡(luò)環(huán)境中,計(jì)算機(jī)節(jié)點(diǎn)之間不依賴專用的集中服務(wù)器,每一個(gè)節(jié)點(diǎn)既能充當(dāng)網(wǎng)絡(luò)服務(wù)的請(qǐng)求者,又能對(duì)其它節(jié)點(diǎn)的請(qǐng)求提供服務(wù),但這樣的架構(gòu)卻存在數(shù)據(jù)安全性差、實(shí)時(shí)性差、數(shù)據(jù)冗余度大、不可預(yù)測、不可控等問題。
技術(shù)實(shí)現(xiàn)要素:
為了克服上述現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種基于sctp協(xié)議的區(qū)塊鏈數(shù)據(jù)安全傳輸方法。
本發(fā)明提供了一種基于sctp協(xié)議的區(qū)塊鏈數(shù)據(jù)安全傳輸方法,包括以下步驟:
s1、應(yīng)用層獲取非對(duì)稱加密的公私鑰對(duì)、對(duì)稱加密秘鑰,并對(duì)區(qū)塊鏈數(shù)據(jù)進(jìn)行簽名、加密;
s2、傳輸層使用sctp協(xié)議對(duì)數(shù)據(jù)包進(jìn)行傳遞;
s3、應(yīng)用層獲取非對(duì)稱加密的公私鑰對(duì)、對(duì)稱加密秘鑰,并對(duì)區(qū)塊鏈數(shù)據(jù)進(jìn)行解密、驗(yàn)簽。
所述步驟s1中對(duì)區(qū)塊鏈數(shù)據(jù)簽名和加密方式具體包括以下步驟:
s11:采用非對(duì)稱加密,獲取自方私鑰對(duì)區(qū)塊鏈數(shù)據(jù)進(jìn)行簽名,從ca或其他keymanagement中獲取對(duì)方公鑰,對(duì)簽名字符串和區(qū)塊鏈數(shù)據(jù)進(jìn)行公鑰加密p11;
可選的,s12:采用對(duì)稱加密結(jié)合數(shù)字信封傳遞對(duì)稱秘鑰,獲取自方私鑰對(duì)區(qū)塊鏈數(shù)據(jù)進(jìn)行簽名,從ca或其他keymanagement中獲取對(duì)方公鑰,對(duì)簽名字符串和區(qū)塊鏈數(shù)據(jù)進(jìn)行對(duì)稱加密p12,使用對(duì)方公鑰將對(duì)稱秘鑰進(jìn)行加密p13;
所述步驟s2中對(duì)區(qū)塊鏈數(shù)據(jù)進(jìn)行傳輸?shù)牟襟E為:
s21:sctp通過4次握手建立偶聯(lián);
s22:sctp基于多宿主、多流、消息分幀等協(xié)議技術(shù)傳遞加密后的區(qū)塊鏈數(shù)據(jù);
s23:sctp平滑關(guān)閉本次傳輸套接字;
s24:根據(jù)需要重復(fù)s21-s24
所述步驟s3中對(duì)區(qū)塊鏈數(shù)據(jù)解密和驗(yàn)簽方式具體包括以下與s1相對(duì)應(yīng)的步驟:
s31:采用非對(duì)稱加密,獲取自方私鑰對(duì)sctp傳遞的加密區(qū)塊鏈數(shù)據(jù)進(jìn)行解密,從ca或其他keymanagement中獲取對(duì)方公鑰,對(duì)簽名字符串和區(qū)塊鏈數(shù)據(jù)進(jìn)行公鑰驗(yàn)簽;
可選的,s32:采用對(duì)稱加密結(jié)合數(shù)字信封傳遞對(duì)稱秘鑰,獲取自方私鑰將非對(duì)稱加密的對(duì)稱秘鑰進(jìn)行解密,利用對(duì)稱秘鑰對(duì)加密的區(qū)塊鏈數(shù)據(jù)進(jìn)行解密,從ca或其他keymanagement中獲取對(duì)方公鑰,對(duì)區(qū)塊鏈數(shù)據(jù)進(jìn)行驗(yàn)簽;
本發(fā)明具有以下優(yōu)點(diǎn)和有益效果:本發(fā)明提供一種基于sctp協(xié)議的區(qū)塊鏈數(shù)據(jù)安全傳輸方法,這種區(qū)塊鏈數(shù)據(jù)傳輸方法可以利用現(xiàn)有以太網(wǎng)組網(wǎng)結(jié)構(gòu)提升區(qū)塊鏈數(shù)據(jù)傳輸?shù)陌踩?、?shí)時(shí)性、降低網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)冗余等問題。
附圖說明
圖1為本發(fā)明選取代表性非對(duì)稱加密算法rsa為典型實(shí)施例1提供的一種基于sctp協(xié)議的區(qū)塊鏈數(shù)據(jù)安全傳輸方法的流程圖。
圖2為本發(fā)明選取代表性非對(duì)稱加密算法rsa和對(duì)稱加密算法aes為典型實(shí)施例2提供的一種基于sctp協(xié)議的區(qū)塊鏈數(shù)據(jù)安全傳輸方法的流程圖。
圖3為本發(fā)明提供的一種基于sctp協(xié)議的區(qū)塊鏈數(shù)據(jù)安全傳輸方法的整體業(yè)務(wù)流程圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本實(shí)施例的附圖中相同或相似的標(biāo)號(hào)對(duì)應(yīng)相同或相似的部件;在本發(fā)明的描述中,需要說明的是,除非另有說明,“多個(gè)”的含義是兩個(gè)或兩個(gè)以上;術(shù)語“上”、“下”、“左”、“右”、“內(nèi)”、“外”、“前端”、“后端”、“頭部”、“尾部”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對(duì)本發(fā)明的限制。此外,術(shù)語“第一”、“第二”、“第三”等僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性。
在本發(fā)明的描述中,還需要說明的是,除非另有明確的規(guī)定和限定,術(shù)語“安裝”、“相連”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是硬連接,也可以是軟連接;可以是直接相連,也可以通過中間媒介間接相連。對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可視具體情況理解上述術(shù)語在本發(fā)明中的具體含義。
下面結(jié)合附圖1對(duì)本發(fā)明的實(shí)施例1進(jìn)一步說明。
如附圖1所示:本發(fā)明選取代表性非對(duì)稱加密算法rsa為典型實(shí)施例1提供的一種基于sctp協(xié)議的區(qū)塊鏈數(shù)據(jù)安全傳輸方法包括以下步驟:
s1、應(yīng)用層獲取rsa公私鑰對(duì)并對(duì)區(qū)塊鏈數(shù)據(jù)進(jìn)行簽名、加密;
s2、傳輸層使用sctp協(xié)議對(duì)數(shù)據(jù)包進(jìn)行傳遞;
s3、應(yīng)用層獲取rsa公私鑰對(duì)并對(duì)區(qū)塊鏈數(shù)據(jù)進(jìn)行解密、驗(yàn)簽。
作為上述實(shí)施例的優(yōu)選實(shí)施方式,步驟s1中,我們選擇非對(duì)稱加密算法rsa作為典型實(shí)施例,包括但不僅限于采用rsa,ecc,sm2等非對(duì)稱加密算法,具體包括以下步驟:
所述步驟s1中對(duì)區(qū)塊鏈數(shù)據(jù)簽名和加密方式具體包括以下步驟:
s11:采用rsa非對(duì)稱加密,獲取自方私鑰,對(duì)區(qū)塊鏈數(shù)據(jù)進(jìn)行簽名,從ca或其他keymanagement中獲取對(duì)方rsa公鑰,對(duì)簽名字符串和區(qū)塊鏈數(shù)據(jù)進(jìn)行rsa公鑰加密p11;
所述步驟s2中對(duì)區(qū)塊鏈數(shù)據(jù)進(jìn)行傳輸?shù)牟襟E為:
s21:sctp通過4次握手建立偶聯(lián);
s22:sctp基于多宿主、多流、消息分幀等協(xié)議技術(shù)傳遞加密后的區(qū)塊鏈數(shù)據(jù);
s23:sctp平滑關(guān)閉本次傳輸套接字;
s24:根據(jù)需要重復(fù)s21-s24
所述步驟s3中對(duì)區(qū)塊鏈數(shù)據(jù)解密和驗(yàn)簽方式具體包括以下步驟:
s31:采用rsa非對(duì)稱加密,獲取自方私鑰對(duì)sctp傳遞的加密區(qū)塊鏈數(shù)據(jù)進(jìn)行解密,從ca或其他keymanagement中獲取對(duì)方rsa公鑰,對(duì)簽名字符串和區(qū)塊鏈數(shù)據(jù)進(jìn)行公鑰驗(yàn)簽;
下面結(jié)合附圖2對(duì)本發(fā)明的實(shí)施例2進(jìn)一步說明。
如附圖2所示:本發(fā)明選取代表性非對(duì)稱加密算法rsa和對(duì)稱加密算法aes為典型實(shí)施例2提供的一種基于sctp協(xié)議的區(qū)塊鏈數(shù)據(jù)安全傳輸方法包括以下步驟:
s1、應(yīng)用層獲取rsa公私鑰對(duì)和aes秘鑰并對(duì)區(qū)塊鏈數(shù)據(jù)進(jìn)行簽名、加密;
s2、傳輸層使用sctp協(xié)議對(duì)數(shù)據(jù)包進(jìn)行傳遞;
s3、應(yīng)用層獲取rsa公私鑰對(duì)和aes秘鑰并對(duì)區(qū)塊鏈數(shù)據(jù)進(jìn)行解密、驗(yàn)簽。
作為上述實(shí)施例的優(yōu)選實(shí)施方式,步驟s1中,我們選擇非對(duì)稱加密算法rsa和對(duì)稱加密算法aes作為典型實(shí)施例2,包括但不僅限于采用rsa,ecc,sm2等非對(duì)稱加密算法和aes、des等對(duì)稱加密算法構(gòu)造的數(shù)字信封,具體包括以下步驟:
所述步驟s1中對(duì)區(qū)塊鏈數(shù)據(jù)簽名和加密方式具體包括以下步驟:
s11:采用aes對(duì)稱加密結(jié)合rsa數(shù)字信封傳遞對(duì)稱秘鑰,獲取自方rsa私鑰對(duì)區(qū)塊鏈數(shù)據(jù)進(jìn)行簽名,從ca或其他keymanagement中獲取對(duì)方rsa公鑰,對(duì)簽名字符串和區(qū)塊鏈數(shù)據(jù)進(jìn)行aes對(duì)稱加密p12,使用對(duì)方rsa公鑰將aes對(duì)稱秘鑰進(jìn)行加密p13;
所述步驟s2中對(duì)區(qū)塊鏈數(shù)據(jù)進(jìn)行傳輸?shù)牟襟E為:
s21:sctp通過4次握手建立偶聯(lián);
s22:sctp基于多宿主、多流、消息分幀等協(xié)議技術(shù)傳遞加密后的區(qū)塊鏈數(shù)據(jù);
s23:sctp平滑關(guān)閉本次傳輸套接字;
s24:根據(jù)需要重復(fù)s21-s24
所述步驟s3中對(duì)區(qū)塊鏈數(shù)據(jù)解密和驗(yàn)簽方式具體包括以下與s1相對(duì)應(yīng)的步驟:
s31:采用aes對(duì)稱加密結(jié)合rsa數(shù)字信封傳遞aes對(duì)稱秘鑰,獲取rsa自方私鑰將rsa非對(duì)稱加密的aes對(duì)稱秘鑰進(jìn)行解密,利用aes對(duì)稱秘鑰對(duì)加密的區(qū)塊鏈數(shù)據(jù)進(jìn)行解密,從ca或其他keymanagement中獲取對(duì)方rsa公鑰,對(duì)區(qū)塊鏈數(shù)據(jù)進(jìn)行驗(yàn)簽;
最后說明的是:以上所述的2個(gè)實(shí)施例僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。