一種安全交換數(shù)據(jù)的方法
【專利摘要】本發(fā)明提供一種安全交換數(shù)據(jù)的方法,包括獲取數(shù)據(jù)交換的雙方各自發(fā)送的第一數(shù)據(jù)交換請(qǐng)求、對(duì)第一數(shù)據(jù)交換請(qǐng)求進(jìn)行分析處理,獲取數(shù)據(jù)交換的雙方各自發(fā)送的第二數(shù)據(jù)交換請(qǐng)求、接收數(shù)據(jù)交換的雙方分別根據(jù)對(duì)方發(fā)送的第二數(shù)據(jù)交換請(qǐng)求返回的第三數(shù)據(jù)交換請(qǐng)求以及接收數(shù)據(jù)交換的雙方分別根據(jù)第三數(shù)據(jù)交換請(qǐng)求返回的加密待交換數(shù)據(jù),將加密待交換數(shù)據(jù)分別發(fā)送給數(shù)據(jù)交換的對(duì)方。本發(fā)明的方法通過(guò)引導(dǎo)雙方同時(shí)交換數(shù)據(jù),在保證數(shù)據(jù)不泄密的情況下,對(duì)比出雙方各自需要的數(shù)據(jù)索引清單,在雙方確認(rèn)的情況下,再給出完整的密文或者明文進(jìn)行交換,從而可以避免出現(xiàn)一方給出數(shù)據(jù),另一方不給數(shù)據(jù)的情況,通過(guò)加密簽名機(jī)制,進(jìn)一步提高了數(shù)據(jù)交換的安全性。
【專利說(shuō)明】
一種安全交換數(shù)據(jù)的方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及信息安全技術(shù)領(lǐng)域,尤其涉及一種安全交換數(shù)據(jù)的方法。
【背景技術(shù)】
[0002]數(shù)據(jù)交換的應(yīng)用越來(lái)越廣泛,信息清單是一種表達(dá)特定含義的名單的數(shù)據(jù),如黑名單、白名單等,其索引本身就是核心信息。一般各自都具有自己的特定名單數(shù)據(jù),當(dāng)希望進(jìn)行信息共享,需要與其他方進(jìn)行數(shù)據(jù)交換時(shí),通常存在如下問(wèn)題:就是一方將自己的數(shù)據(jù)給了對(duì)方,對(duì)方看過(guò)以后反悔不交換了,其實(shí)此時(shí)自己的數(shù)據(jù)已經(jīng)泄露,對(duì)方獲益,而己方未獲益反而損失了自己的數(shù)據(jù)資源。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于提供一種安全交換數(shù)據(jù)的方法,用以解決現(xiàn)有技術(shù)中數(shù)據(jù)交換時(shí)存在的一方發(fā)出數(shù)據(jù)另一方不給數(shù)據(jù)的安全問(wèn)題。
[0004]為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種安全交換數(shù)據(jù)的方法,包括如下步驟:
[0005]獲取數(shù)據(jù)交換的雙方各自發(fā)送的第一數(shù)據(jù)交換請(qǐng)求,其中,第一數(shù)據(jù)交換請(qǐng)求中包括數(shù)據(jù)交換的雙方各自所有的數(shù)據(jù)索引清單;
[0006]對(duì)第一數(shù)據(jù)交換請(qǐng)求進(jìn)行分析處理,獲取數(shù)據(jù)交換的雙方各自發(fā)送的第二數(shù)據(jù)交換請(qǐng)求,其中,第二數(shù)據(jù)交換請(qǐng)求中包括數(shù)據(jù)交換的雙方各自能夠進(jìn)行數(shù)據(jù)交換的數(shù)據(jù)索引清單和數(shù)量,并分別將其發(fā)送給數(shù)據(jù)交換的對(duì)方;
[0007]接收數(shù)據(jù)交換的雙方分別根據(jù)對(duì)方能夠進(jìn)行數(shù)據(jù)交換的數(shù)據(jù)索引清單和數(shù)量返回的第三數(shù)據(jù)交換請(qǐng)求,其中,第三數(shù)據(jù)交換請(qǐng)求中包括數(shù)據(jù)交換的雙方各自希望進(jìn)行數(shù)據(jù)交換的數(shù)據(jù)索引清單和數(shù)量,并分別將其發(fā)送給數(shù)據(jù)交換的對(duì)方;
[0008]接收數(shù)據(jù)交換的雙方分別根據(jù)對(duì)方希望進(jìn)行數(shù)據(jù)交換的數(shù)據(jù)索引清單和數(shù)量返回的加密待交換數(shù)據(jù),將加密待交換數(shù)據(jù)分別發(fā)送給數(shù)據(jù)交換的對(duì)方。
[0009]進(jìn)一步的,數(shù)據(jù)交換的雙方協(xié)商確定數(shù)據(jù)交換的模式。
[0010]采用上述本發(fā)明技術(shù)方案的有益效果是:通過(guò)引導(dǎo)雙方同時(shí)交換數(shù)據(jù),在保證數(shù)據(jù)不泄密的情況下,對(duì)比出雙方各自需要的數(shù)據(jù)索引清單,在雙方確認(rèn)的情況下,再給出完整的密文或者明文進(jìn)行交換,從而可以避免出現(xiàn)一方給出數(shù)據(jù),另一方不給數(shù)據(jù)的情況,通過(guò)加密簽名機(jī)制,進(jìn)一步提高了數(shù)據(jù)交換的安全性。
【附圖說(shuō)明】
[0011 ]圖1為本發(fā)明安全交換數(shù)據(jù)的方法流程圖。
【具體實(shí)施方式】
[0012]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。
[0013]本發(fā)明實(shí)施例公開了一種安全交換數(shù)據(jù)的方法,如圖1所示,該方法可以包括如下步驟:
[0014]步驟SlOl,數(shù)據(jù)交換的雙方協(xié)商確定數(shù)據(jù)交換的模式;
[0015]在本發(fā)明實(shí)施例中,如果需要進(jìn)行數(shù)據(jù)交換的雙方為機(jī)構(gòu)X和機(jī)構(gòu)Y,那么,機(jī)構(gòu)X和機(jī)構(gòu)Y在進(jìn)行數(shù)據(jù)交換之前,可以通過(guò)數(shù)據(jù)交換平臺(tái)確定數(shù)據(jù)交換的模式。其中,數(shù)據(jù)交換的模式具體可以包括:數(shù)據(jù)預(yù)處理方式和參數(shù),即在原始信息中是否增加隨機(jī)值,前端增加還是后端增加,增加的隨機(jī)值是什么等;數(shù)據(jù)處理的單向散列算法,其算法可以選擇MD5、SHA-1或SHA256等;數(shù)據(jù)選取方式,即確定選取多少長(zhǎng)度的信息,選擇那一部分的信息進(jìn)行對(duì)比;數(shù)據(jù)交換方式,即采用密文交換或者明文交換等。
[0016]在本發(fā)明實(shí)施例中,雙方可以采用離線方式協(xié)商,也可以采用在線方式協(xié)商。數(shù)據(jù)交換的模式可以雙方協(xié)商一次后長(zhǎng)期使用,也可以每次交換前都重新協(xié)商確定。以下舉例說(shuō)明機(jī)構(gòu)X和機(jī)構(gòu)Y協(xié)商確定的數(shù)據(jù)交換的模式,如在原數(shù)據(jù)末尾增加end值,使用SHA256算法,選取數(shù)據(jù)的前30字節(jié),密文交換。
[0017]步驟S102,獲取數(shù)據(jù)交換的雙方各自發(fā)送的第一數(shù)據(jù)交換請(qǐng)求;
[0018]需要說(shuō)明的是,本發(fā)明的執(zhí)行主體是數(shù)據(jù)交換平臺(tái)Z,本實(shí)施例還是以機(jī)構(gòu)X和機(jī)構(gòu)Y為例進(jìn)行說(shuō)明,在本實(shí)施例中,機(jī)構(gòu)對(duì)用有唯一的公私鑰對(duì)(Ρχ,Κχ),數(shù)據(jù)索引清單Dx,包括Nx條索引;機(jī)構(gòu)Y擁有唯一的公私鑰對(duì)(Py,Ky),數(shù)據(jù)索引清單Dy,包括Ny條索引;數(shù)據(jù)交換平臺(tái)Z擁有唯一的公私鑰對(duì)(Pz,Kz)。使用公鑰P加密數(shù)據(jù)A記為P(A),使用私鑰K對(duì)數(shù)據(jù)A進(jìn)行簽名記為K(A),假設(shè)機(jī)構(gòu)Χ、Υ和數(shù)據(jù)交換平臺(tái)Z都認(rèn)可各方的公鑰信息。
[0019]則機(jī)構(gòu)X和Y需要進(jìn)行數(shù)據(jù)交換時(shí),都分別向數(shù)據(jù)交換平臺(tái)Z發(fā)送各自的第一數(shù)據(jù)交換請(qǐng)求,其中,第一數(shù)據(jù)交換請(qǐng)求中包括數(shù)據(jù)交換的雙方各自所有的數(shù)據(jù)索引清單,即機(jī)構(gòu)X對(duì)清單Dx中的數(shù)據(jù)按照協(xié)商確定的數(shù)據(jù)交換的模式進(jìn)行處理:在其末尾增加end參數(shù);使用SHA256算法進(jìn)行HASH處理;提取每條記錄的前30字節(jié)形成新的清單列表Dx30。機(jī)構(gòu)Y則對(duì)Dy進(jìn)行相同處理,形成新的清單列表Dy 30。
[0020]機(jī)構(gòu)對(duì)是取Dx30清單,使用機(jī)構(gòu)X的私鑰簽名發(fā)送給數(shù)據(jù)交換平臺(tái)Z,記為Dx30+Kx(Dx30) ο機(jī)構(gòu)Y也將Dy30清單簽名后發(fā)送給數(shù)據(jù)交換平臺(tái)Z,記為Dy30+Ky (Dy30)。
[0021]步驟S103,對(duì)第一數(shù)據(jù)交換請(qǐng)求進(jìn)行分析處理,獲取數(shù)據(jù)交換的雙方各自發(fā)送的第二數(shù)據(jù)交換請(qǐng)求;
[0022]在本實(shí)施例中,第二數(shù)據(jù)交換請(qǐng)求中包括數(shù)據(jù)交換的雙方各自能夠進(jìn)行數(shù)據(jù)交換的數(shù)據(jù)索引清單和數(shù)量,并分別將其發(fā)送給數(shù)據(jù)交換的對(duì)方。具體為:數(shù)據(jù)交換平臺(tái)Z將機(jī)構(gòu)X和Y發(fā)來(lái)的信息進(jìn)行驗(yàn)證后,進(jìn)行密文對(duì)比,獲取不在X機(jī)構(gòu)清單列表中的Y機(jī)構(gòu)清單Dy-X,數(shù)量記為Cy-X,獲取不在Y機(jī)構(gòu)清單列表中的X機(jī)構(gòu)清單Dx-y,數(shù)量記為Cx_y,然后將Dy-χ和Cx-y簽名發(fā)送給X,記為Dy-x+Cx-y+Kz (Dy-x+Cx-y),將Dx_y和Cy-χ簽名發(fā)送給Y,記為Dx-y+Cy-χ+Κζ(Dx-y+Cy-x)。
[0023]步驟S104,接收數(shù)據(jù)交換的雙方分別根據(jù)對(duì)方能夠進(jìn)行數(shù)據(jù)交換的數(shù)據(jù)索引清單和數(shù)量返回的第三數(shù)據(jù)交換請(qǐng)求;
[0024]在本實(shí)施例中,第三數(shù)據(jù)交換請(qǐng)求中包括數(shù)據(jù)交換的雙方各自希望進(jìn)行數(shù)據(jù)交換的數(shù)據(jù)索引清單和數(shù)量,并分別將其發(fā)送給數(shù)據(jù)交換的對(duì)方。具體的,機(jī)構(gòu)X收到Z方發(fā)過(guò)來(lái)的Dy-x和Cx-y,如果希望進(jìn)行交換,則計(jì)算Dy-χ的數(shù)量Cy-χ,選取Cx_y和Cy-χ中的較小值作為交換數(shù)量Cxy,從Dy-χ中選取Cxy數(shù)量的交換清單Dxy,簽名后發(fā)送到Z,記為Cxy+Dxy+Kx(Cxy+Dxy),表明希望得到Y(jié)的Dxy對(duì)應(yīng)的清單。同樣原理,機(jī)構(gòu)Y收到Z方發(fā)過(guò)來(lái)的Dx_y和Cy-X,如果希望進(jìn)行交換,則計(jì)算Dx-y的數(shù)量Cx-y,選取Cx-y和Cy-χ中的較小值作為交換數(shù)量Cxy,從Dx-y中選取Cxy數(shù)量的交換清單Dyx,簽名后發(fā)送到Z,記為Cxy+Dyx+Ky (Cxy+Dyx),表明希望得到X的Dyx對(duì)應(yīng)的清單。
[0025]當(dāng)Z 收到X 發(fā)來(lái)的Cxy+Dxy+Kx (Cxy+Dxy)和 Y發(fā)來(lái)的Cxy+Dyx+Ky (Cxy+Dyx)后,確認(rèn)雙方都希望交換清單,則將請(qǐng)求分別發(fā)給Y和X。
[0026]步驟S105,接收數(shù)據(jù)交換的雙方分別根據(jù)對(duì)方希望進(jìn)行數(shù)據(jù)交換的數(shù)據(jù)索引清單和數(shù)量返回的加密待交換數(shù)據(jù),將加密待交換數(shù)據(jù)分別發(fā)送給數(shù)據(jù)交換的對(duì)方。
[0027]當(dāng)X收到Cxy+Dyx+Ky(Cxy+Dyx)后,驗(yàn)證Y的簽名是否正確,然后提取Dyx對(duì)應(yīng)的原文或者完整密文DX,使用Y的公鑰加密后發(fā)給Z,記為Py(DX)+Kx(Py(DX))。同樣的,當(dāng)Y收到Cxy+Dxy+Kx(Cxy+Dxy)后,驗(yàn)證X的簽名是否正確,然后提取Dxy對(duì)應(yīng)的原文或者完整密文DY,使用X的公鑰加密后發(fā)給Z,記為Px(DY)+Ky(Px(DY))。
[0028]當(dāng)Z收到X發(fā)來(lái)的?7(0乂)+1^(?7(0乂))和¥發(fā)來(lái)的?40¥)+1^(?40¥))后,確認(rèn)雙方都完成交換清單準(zhǔn)備,則將交換的清單分別發(fā)給Y和X。
[0029]X收到Px(DY)+Ky(Px(DY))后,驗(yàn)證Y的簽名是否正確,然后使用自身的私鑰Kx解密Px(DY),得到Y(jié)發(fā)送的清單DY,然后將DY與Dxy進(jìn)行比較,確認(rèn)Y發(fā)送的DY是否為希望交換的清單,比較方法是,若DY為明文,則將DY中的每項(xiàng)清單末尾增加end參數(shù),使用SHA256算法進(jìn)行HASH處理,若Dxy清單每一項(xiàng)是交換清單HASH處理后每一項(xiàng)的前30字節(jié),則表明交換清單正確;如果DY為密文,若Dxy清單每一項(xiàng)為DY每一項(xiàng)的前30字節(jié),則表明交換清單正確。同樣道理,Y收到Py (DX) +Kx(Py (DX))后,驗(yàn)證X的簽名是否正確,然后使用自身的私鑰Ky解密Py(DX),得到X發(fā)送的清單DX,然后將DX與Dyx進(jìn)行比較,按照同樣的方法確認(rèn)X發(fā)送的DX是否為希望交換的清單。
[0030]清單交換后,如果采用的是明文清單交換,則交換的清單可以直接與自有清單合并,形成新的清單數(shù)據(jù)。如果采用的是密文清單交換,則無(wú)法與自有清單直接合并,如果要判斷外部信息是否在加密的清單中,則需要采用單獨(dú)的應(yīng)用流程:首先,將外部信息根據(jù)密文規(guī)則處理,如在信息末尾增加end參數(shù),使用SHA256算法進(jìn)行HASH處理;然后將處理后的外部信息密文與密文清單進(jìn)行對(duì)比,如果有匹配項(xiàng),則說(shuō)明外部信息在清單中,如果沒(méi)有匹配項(xiàng),則說(shuō)明外部信息未在清單中。
[0031]本發(fā)明的方法通過(guò)第三方機(jī)構(gòu)即數(shù)據(jù)交換平臺(tái)對(duì)雙方發(fā)送的數(shù)據(jù)進(jìn)行對(duì)比和引導(dǎo)雙方同時(shí)交換數(shù)據(jù)。在交換的過(guò)程中,通過(guò)將索引進(jìn)行單向散列HASH處理成密文,并且給出部分的密文進(jìn)行對(duì)比,在保證信息不泄密的情況下(即使對(duì)方獲取到這些密文也無(wú)法應(yīng)用),可以對(duì)比出雙方各自需要的數(shù)據(jù)索引清單,在雙方確認(rèn)的情況下,再給出完整的密文或者明文數(shù)據(jù)進(jìn)行交換,從而可以避免出現(xiàn)一方給出數(shù)據(jù),另一方不給數(shù)據(jù)的情況;另外,通過(guò)采用公私鑰的加密簽名機(jī)制,也可以保證第三方無(wú)法解密和使用信息,進(jìn)一步提高了數(shù)據(jù)交換的安全性。
[0032]本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0033]最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。
【主權(quán)項(xiàng)】
1.一種安全交換數(shù)據(jù)的方法,其特征在于,包括如下步驟: 獲取數(shù)據(jù)交換的雙方各自發(fā)送的第一數(shù)據(jù)交換請(qǐng)求,所述第一數(shù)據(jù)交換請(qǐng)求中包括數(shù)據(jù)交換的雙方各自所有的數(shù)據(jù)索引清單; 對(duì)所述第一數(shù)據(jù)交換請(qǐng)求進(jìn)行分析處理,獲取數(shù)據(jù)交換的雙方各自發(fā)送的第二數(shù)據(jù)交換請(qǐng)求,所述第二數(shù)據(jù)交換請(qǐng)求中包括數(shù)據(jù)交換的雙方各自能夠進(jìn)行數(shù)據(jù)交換的數(shù)據(jù)索引清單和數(shù)量,并分別將其發(fā)送給數(shù)據(jù)交換的對(duì)方; 接收數(shù)據(jù)交換的雙方分別根據(jù)對(duì)方能夠進(jìn)行數(shù)據(jù)交換的數(shù)據(jù)索引清單和數(shù)量返回的第三數(shù)據(jù)交換請(qǐng)求,所述第三數(shù)據(jù)交換請(qǐng)求中包括數(shù)據(jù)交換的雙方各自希望進(jìn)行數(shù)據(jù)交換的數(shù)據(jù)索引清單和數(shù)量,并分別將其發(fā)送給數(shù)據(jù)交換的對(duì)方; 接收數(shù)據(jù)交換的雙方分別根據(jù)對(duì)方希望進(jìn)行數(shù)據(jù)交換的數(shù)據(jù)索引清單和數(shù)量返回的加密待交換數(shù)據(jù),將所述加密待交換數(shù)據(jù)分別發(fā)送給數(shù)據(jù)交換的對(duì)方。2.根據(jù)權(quán)利要求1所述的安全交換數(shù)據(jù)的方法,其特征在于,在所述獲取數(shù)據(jù)交換的雙方各自發(fā)送的第一數(shù)據(jù)交換請(qǐng)求之前還包括: 數(shù)據(jù)交換的雙方協(xié)商確定數(shù)據(jù)交換的模式。
【文檔編號(hào)】H04L29/06GK105897737SQ201610327988
【公開日】2016年8月24日
【申請(qǐng)日】2016年5月17日
【發(fā)明人】韓洪慧
【申請(qǐng)人】上海憑安網(wǎng)絡(luò)科技有限公司