專利名稱:一種文件傳輸方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無線局域網(wǎng)(Wireless Local Area Networks,簡稱WLAN ) 領(lǐng)域,尤其涉及一種文件傳輸方法及系統(tǒng)。
背景技術(shù):
無線局域網(wǎng)鑒別與保密基礎(chǔ)結(jié)構(gòu)(Wireless Local Area Network Authentication and Privacy Infrastructure, 簡稱為 WAPI )終端是以IEEE (Institute of Electrical and Electronics Engineers , 電氣牙口電子工牙呈師十辦會) 802.11無線協(xié)議為基礎(chǔ)的無線局域網(wǎng)安全標準。WAPI協(xié)議由兩部分構(gòu)成 WAI (WLAN Authentication Infrastructure,無線局域網(wǎng)鑒別基礎(chǔ)結(jié)構(gòu))和 WPI (WLAN Privacy Infrastructure,無線局域網(wǎng)保密基礎(chǔ)結(jié)構(gòu))。WAI是用 于無線局域網(wǎng)身份鑒別和密鑰管理的安全方案。WPI是用于無線局域網(wǎng)數(shù)據(jù) 傳輸保護的安全方案,包括數(shù)據(jù)加密、數(shù)據(jù)鑒別和重放保護等功能。典型的WAPI系統(tǒng)主要由鑒別器實體(Authenticator Entity,簡稱AE )、 鑒別請求者實體(Authentication Supplicant Entity,簡稱ASUE)以及鑒別服 務(wù)實體(Authentication Service Entity,簡稱ASE )組成。其中,鑒別請求者 實體是在接入無線局域網(wǎng)之前請求進行鑒別操作的實體,駐留在STA (STAtkm,無線站點,即終端)中;鑒別器實體用于為鑒別請求者實體在 接入無線局域網(wǎng)之前提供身份鑒別操作, 一般駐留在AP (Access Point,接 入點)或STA中;鑒別服務(wù)實體用于為鑒別器實體和鑒別請求者實體提供 證書鑒別的服務(wù), 一般駐留在鑒別服務(wù)單元(Authentication Service Unit, 簡稱ASU,也可以稱為鑒別服務(wù)器)中。終端接入無線局域網(wǎng)時,首先需要與AP進行802.11協(xié)議的鏈路協(xié)商, 之后AP觸發(fā)該終端的WAI身份鑒別和密鑰管理過程,配合鑒別服務(wù)器完 成與終端之間的雙向身份認證;身份認證通過后,AP會與終端進行會話密鑰協(xié)商,并使用協(xié)商出的會話密鑰為終端提供基于WPI的鏈路層加密和解 密服務(wù)。在無線局域網(wǎng)中,文件共享是非常重要的應(yīng)用,但現(xiàn)有的傳輸文件的協(xié) 議都存在安全上的漏洞,文件都以明文方式傳送,攻擊者可以任意竊聽、篡改報文的頭部以及文件內(nèi)容。在具有WLAN接入能力的終端上,WAPI只 能保證在接入部分(鏈路層)的安全性,對文件傳輸?shù)葢?yīng)用層業(yè)務(wù)不能起到 保護作用。發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題是,克服現(xiàn)有技術(shù)的不足,提供一種文件傳 輸方法及系統(tǒng),以提高文件傳輸?shù)陌踩?。為了解決上述問題,本發(fā)明提供一種文件傳輸方法,該方法包括文件的發(fā)送方與文件的接收方分別計算臨時公鑰PY。=g()sy(mod P)和 PX0=gosx(mod P)后,交換PYo以及所述發(fā)送方的簽名值、PXo以及所述接收 方的簽名值;所述發(fā)送方和接收方驗證對方的簽名值后,分別計算(PX。)sy(mod P)和 (PYo)sx(modP),并將上述值作為密鑰USK;所述發(fā)送方將待發(fā)送文件的文件塊采用密鑰USK加密后發(fā)送給所述接 收方;所述接收方采用密鑰USK對接收到的加密的文件塊進4于解密;其中,sy和sx分別為所述發(fā)送方和接收方生成的隨積4t;質(zhì)數(shù)參數(shù)P 為所述發(fā)送方和接收方預(yù)先設(shè)定的質(zhì)數(shù),底數(shù)參數(shù)go為所述發(fā)送方和接收 方預(yù)先設(shè)定的小于P的正整數(shù)。述發(fā)送方和接收方分別根據(jù)當前使用的密鑰USK生成新的底數(shù)參數(shù)值g; 并分別計算新的臨時公鑰PY=gsy(mod P)和PX = gsx(mod P);所述發(fā)送方和接收方交換PY以及所述發(fā)送方的簽名值、PX以及所述 接收方的簽名值;所述發(fā)送方和接收方驗證對方的簽名值后,分別計算(PX)sy(mod P)和 (PY)sx(mod P),并將上述值作為新的密鑰USK;生成所述新的密鑰USK后,所述發(fā)送方采用所述新的密鑰USK對所述 文件的未發(fā)送文件塊加密后發(fā)送給所述接收方;所述接收方采用所述新的密 鑰USK對采用所述新的密鑰USK加密的文件塊進行解密;其中,g小于所述質(zhì)數(shù)參數(shù)P;此外,所述發(fā)送方和接收方為無線局域網(wǎng)鑒別與保密基礎(chǔ)結(jié)構(gòu)WAPI 終端;所述WAPI終端采用如下方式生成所述簽名值將待簽名的明文參數(shù)發(fā)送給該WAPI終端的無線局域網(wǎng)鑒別基礎(chǔ)結(jié)構(gòu) WAI單元;所述WAI單元使用該WAPI終端的WAPI證書對應(yīng)的私有密鑰對所述 明文參數(shù)或所述明文參數(shù)的哈希值進行加密,生成所述簽名值。此外,所述發(fā)送方和接收方采用如下方式生成所述新的底數(shù)參數(shù)值g:從當前使用的密鑰USK中提取n個比特作為所述新的底數(shù)參數(shù)值g;或?qū)Ξ斍笆褂玫拿荑€USK進行哈希運算生成哈希值,并從哈希值中提取 n個比特作為所述新的底數(shù)參數(shù)值g;n為底數(shù)參數(shù)的比特數(shù);n小于密鑰USK的比特數(shù)。此外,所述發(fā)送方采用所述新的密鑰USK對所述文件的未發(fā)送文件塊 加密后,將該文件塊封裝在文件塊報文中發(fā)送給所述接收方;所述文件塊報 文的報文頭中包含已使用所述新的密鑰USK加密的標識;接收到所述文件塊報文后,所述接收方根據(jù)所述標識使用所述新的密鑰 USK對其中封裝的文件塊進行解密。本發(fā)明還提供一種文件傳輸系統(tǒng),該系統(tǒng)包含作為文件的發(fā)送方的第一 通信節(jié)點、和作為文件的接收方第二通信節(jié)點;所述第一通信節(jié)點中設(shè)置有第一密鑰生成單元,文件加密單元,第一通信單元;所述第二通信節(jié)點中設(shè)置有第二密鑰生成單元,文件解密單元, 第二通信單元;所述第一密鑰生成單元用于生成隨機數(shù)sy,并計算臨時公鑰 PY0=gosy(mod P),將所述PYQ和所述第 一通信節(jié)點的簽名值通過所述第 一通 信單元發(fā)送給所述第二通信節(jié)點;所述第二密鑰生成單元用于生成隨機數(shù)sx,并計算臨時公鑰 PX0=gosx(mod P),將所述PXo和所述第二通信節(jié)點的簽名值通過所述第二通 信單元發(fā)送給所述第一通信節(jié)點;所述第一密鑰生成單元還用于在通過所述第一通信單元接收到所述 PX0和所述第二通信節(jié)點的簽名值后,對所述第二通信節(jié)點的簽名值進行驗 證,驗證成功后,計算密鑰USK=(PXQ)sy(modP),并將其發(fā)送給所述文件加 密單元;所述第二密鑰生成單元還用于在通過所述第二通信單元接收到所述 PYo和所述第一通信節(jié)點的簽名值后,對所述第一通信節(jié)點的簽名值進行驗 證,驗證成功后,計算密鑰USK=(PYG)sx(modP),并將其發(fā)送給所述文件解 密單元;所述文件加密單元用于采用所述密鑰USK對所述文件的文件塊進行加 密后通過所述第一通信單元發(fā)送給所述第二通信節(jié)點;所述文件解密單元用于在通過所述第二通信單元接收到所述加密的文 件塊后,采用所述密鑰USK對其進行解密;其中,質(zhì)數(shù)參數(shù)P為所述第一通信節(jié)點和第二通信節(jié)點預(yù)先設(shè)定的質(zhì) 數(shù),底數(shù)參數(shù)go為所述第一通信節(jié)點和第二通信節(jié)點預(yù)先設(shè)定的小于P的 正整數(shù)。此外,所述第一密鑰生成單元還用于根據(jù)當前使用的密鑰USK生成新 的底數(shù)參數(shù)值g,并計算新的臨時公鑰PY=gsy(mod P),將所述PY和所述第 一通信節(jié)點的簽名值通過所述第一通信單元發(fā)送給所述第二通信節(jié)點;所述第二密鑰生成單元還用于根據(jù)當前使用的密鑰USK生成新的底數(shù) 參數(shù)值g,并計算新的臨時公鑰PX=gsx(modP),將所述PX和所述第二通信通信單元發(fā)送給所述第 一通信節(jié)點;所述第一密鑰生成單元還用于在通過所述第一通信單元接收到所述PX和所述第二通信節(jié)點的簽名值后,對所述第二通信節(jié)點的簽名值進行驗證,驗證成功后,計算新的密鑰USK =(PX)sy(mod P),并將其發(fā)送給所述文件加 密單元進4于文件塊的加密;所述第二密鑰生成單元還用于在通過所述第二通信單元接收到所述PY 和所述第 一通信節(jié)點的簽名值后,對所述第一通信節(jié)點的簽名值進行驗證, 驗證成功后,計算密鑰USK=(PY)sx(modP),并將其發(fā)送給所述文件解密單 元進行文件塊的解密;其中,g小于所述質(zhì)數(shù)參數(shù)P。此外,所述第一通信節(jié)點中還設(shè)置有第一 WAI單元;所述第二通信節(jié) 點中還設(shè)置有第二 WAI單元;所述第一密鑰生成單元采用如下方式生成所述簽名值將待簽名的明文 參數(shù)發(fā)送給所述第一 WAI單元;所述第一 WAI單元使用所述第一通信節(jié)點 的WAPI證書對應(yīng)的私有密鑰對所述明文參數(shù)或所述明文參數(shù)的p合希值進 行加密,生成所述簽名值,并將所述簽名值返回給所述第一密鑰生成單元;所述第二密鑰生成單元采用如下方式生成所述簽名值將待簽名的明文 參數(shù)發(fā)送給所述第二 WAI單元;所述第二 WAI單元使用所述第二通信節(jié)點 的WAPI證書對應(yīng)的私有密鑰對所述明文參數(shù)或所述明文參數(shù)的哈希值進 行加密,生成所述簽名值,并將所述簽名值返回給所述第二密鑰生成單元。此外,所述第一密鑰生成單元和第二密鑰生成單元采用如下方式生成所 述新的底數(shù)參數(shù)值g:從當前使用的密鑰USK中提取n個比特作為所述新的底數(shù)參數(shù)值g;或?qū)Ξ斍笆褂玫拿荑€USK進行哈希運算,并從哈希運算生成的哈希值中 提取n個比特作為所述新的底數(shù)參數(shù)值g;n為底數(shù)參數(shù)的比特數(shù);n小于密鑰USK的比特數(shù)。此外,所述文件加密單元在接收到所述新的密鑰USK對所述文件的未發(fā)送文件塊加密后,將該文件塊封裝在文件塊報文中通過所述第一通信單元 發(fā)送給所述接收方;所述文件塊報文的報文頭中包含已使用所述新的密鑰 USK力口密的標識;所述文件解密單元通過所述第二通信單元接收到文件塊報文后,根據(jù)所 述標識使用所述新的密鑰USK對其中封裝的文件塊進行解密。綜上所述,本發(fā)明在文件傳輸前使用Diffie-Hellman算法,并結(jié)合基于 非對稱密鑰的簽名機制進行密鑰協(xié)商,提高了文件傳輸?shù)陌踩?,并且在?鑰協(xié)商的過程中引入了雙向認證機制;此外,為了進一步提高文件傳輸?shù)陌?全性,在文件傳輸?shù)倪^程中,通過更新Diffie-Hellman算法的底lt參lt來進 行密鑰的更新,以較小的計算量實現(xiàn)了密鑰動態(tài)更新的目的。
圖1是本發(fā)明實施例文件傳輸方法的流程圖;圖2是本發(fā)明實施例文件塊報文的封裝結(jié)構(gòu)示意圖;圖3是本發(fā)明實施例文件傳輸系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
本發(fā)明的核心思想是,在文件傳輸前使用Diffie-Hellman算法,并結(jié)合 基于非對稱密鑰的簽名機制進行密鑰協(xié)商,以提高文件傳輸?shù)陌踩?。下面將結(jié)合附圖和實施例對本發(fā)明進行詳細描述。圖1是本發(fā)明實施例文件傳輸方法的流程圖;本實施例中文件的發(fā)送方 (終端A)和文件的接收方(終端B )都為WAPI終端,終端A和終端B 中都存々者有對方的WAPI證書;如圖1所示,該方法包括如下步驟100:終端A與終端B進行文件參數(shù)的協(xié)商;在本步驟中,雙方可以協(xié)商以下文件參數(shù)文件名稱、文件大小等。 文件參數(shù)協(xié)商完畢后,終端A和終端B可以開始協(xié)商生成用于傳輸文件的密鑰。101:終端B采用與終端A預(yù)先協(xié)商設(shè)置的Di傷e-Hellman算法參數(shù)P 和go ,以及終端B生成的隨機數(shù)sx ,計算PXG = gosx(mod P);其中,P和go為整數(shù),且P〉go; mod表示取模運算。為了提高安全性,P通常為大質(zhì)數(shù),因此可以將P稱為Di傷e-Hellman 算法的質(zhì)數(shù)參數(shù),而將g。稱為Diffie-Hellman算法的底數(shù)參數(shù)。需要注意的是,本步驟中使用的質(zhì)數(shù)參數(shù)P和底數(shù)參數(shù)gQ無需保密, 可以采用明文方式在網(wǎng)絡(luò)中傳輸。終端B可以調(diào)用該終端的WAI單元^是供的隨機數(shù)生成接口生成隨枳4tsx。102:終端B向終端A發(fā)送密鑰協(xié)商請求報文;密鑰協(xié)商請求報文中包含PX。等參數(shù),以及終端B對PXo等參數(shù)的簽 名值。終端B可以調(diào)用該終端的WAI單元提供的簽名生成接口生成上述簽名 值,也就是說將PXo等參數(shù)作為明文發(fā)送給WAI單元,WAI單元使用終端 B的WAPI證書的私鑰(簡稱為終端B的私鑰)對輸入的明文進行加密生成 簽名值。當然,WAI單元也可以先將輸入的明文進行哈希運算,并使用終 端B的私鑰對哈希運算得到的哈希值進行加密得到簽名值。103:接收到密鑰協(xié)商請求報文后,終端A對終端B的簽名進行-驗證, 驗證成功后,生成隨機數(shù)sy,計算PYQ= g。sy(mod P);并計算得到密鑰 USK=( PX0)sy(mod P);同樣,終端A也可以調(diào)用該終端的WAI單元^是供的隨機數(shù)生成4妻口生 成隨一幾l史sy。此外,終端A可以調(diào)用該終端的WAI單元提供的簽名驗證接口對終端 B的簽名進行驗證,也就是說將密鑰協(xié)商請求報文中包含的明文參數(shù)和簽名 值發(fā)送給WAI單元,WAI單元使用終端B的WAPI證書的公鑰(簡稱為終 端B的公鑰)對簽名值進行解密,并將解密后的結(jié)果與輸出的明文參數(shù)或 明文參數(shù)的哈希值進行比較,得到簽名驗證結(jié)果。13104:終端A向AP發(fā)送密鑰協(xié)商響應(yīng)報文;密鑰協(xié)商響應(yīng)報文中包含PYq等參數(shù),以及終端A對PYo等參數(shù)的簽 名值。終端A可以調(diào)用WAI單元提供的簽名生成接口生成上述簽名值。105:接收到密鑰協(xié)商響應(yīng)報文后,終端B對終端A的簽名值進行驗證, 驗證成功后,計算得到密鑰USK'- (PY。)sx(mod P)。需要注意的是,根據(jù)模運算的規(guī)則可知,由于<formula>formula see original document page 14</formula>也就是說,終端A和終端B協(xié)商得到了相同的密鑰(以下統(tǒng)稱為USK )。106:終端B向終端A發(fā)送文件傳輸請求報文,以通知終端A密鑰已生 成完畢,可以開始文件的傳輸。107:終端A接收到文件傳輸請求報文后,將待傳輸文件分割成多個文 件塊,使用密鑰USK對各文件塊進行加密,并將各加密的文件塊封裝在文 件塊報文中發(fā)送給用戶B;文件塊報文的封裝結(jié)構(gòu)如圖2所示,包括文件塊報文頭和文件塊數(shù)據(jù)兩 部分;其中文件塊數(shù)據(jù)部分中封裝有加密的文件塊;文件塊報文頭中包含文件塊序號、文件塊長度、文件塊總數(shù);文件塊序號用于標識該文件塊報文中所封裝的文件塊的序號;文件塊長度用于標識整個文件塊報文的長度,如果文件塊長度為固定 值,則文件塊報文頭中可以不包含該字段,該長度值可以由終端A和終端B 協(xié)商得到;~ 108,直至文件傳^T結(jié)束。為 了進一步增加文件傳輸過程的安全性,終端A和終端B還可以采用如下步 驟進行密鑰更新109:傳輸N (N>0)個文件塊才艮文后,終端A可以停止文件塊才艮文的 傳輸,從密鑰USK中提取n個比特(例如,前n個比特;n小于密鑰USK 的比特數(shù))作為新的底數(shù)參數(shù)(記作g, g<P),重新計算生成臨時公鑰PY =gsy(modP),將其包含在密鑰更新請求中發(fā)送給終端B;上述密鑰更新請求中除包含PY值外,還包含終端A對PY等參數(shù)的簽 名值。110:終端B接收到臨時密鑰更新請求后,對終端A的簽名值進行驗證, 驗證通過后,按照相同的方法更新底數(shù)參數(shù)g,重新計算生成臨時公鑰PX = gSx(modP),以及密鑰USK=(PY)sx(mod P);111:終端B將PX值包含在密鑰更新響應(yīng)中發(fā)送給終端A;上述密鑰更新響應(yīng)中除包含PX值外,還包含終端B對PX等參數(shù)的簽 名值。112:接收到臨時密鑰更新響應(yīng)后,終端A對終端B的簽名值進行驗證, 驗證通過后,使用更新的PX值重新計算USK=(PX)sy(mod P)。此后,終端A使用新的密鑰對后續(xù)的文件塊進行加密傳輸,終端B也 采用新的密鑰對后續(xù)"^妄收到的文件塊進行解密。根據(jù)本發(fā)明的基本原理,上述實施例還可以有多種變換方式,例如( 一)在上述實施例中,發(fā)送方和接收方通過更新底數(shù)g來更新臨時公 鑰PY/PX,進而更新密鑰USK;在本發(fā)明的其它實施例中,雙方也可以通 過分別重新生成隨機數(shù)來更新臨時公鑰PY/PX,當然,通過重新生成隨機數(shù)來更新臨時公鑰PY/PX的計算量較大。(二 )在上述實施例中,通過從密鑰USK中提取n個比特來生成新的 底數(shù)參數(shù)g;在本發(fā)明的其它實施例中,也可以對USK進行哈希運算得到 哈希值,然后從哈希值中提取n個比特作為新的底數(shù)參數(shù)g;當然,通信雙 方必須采用相同的哈希算法,以及相同的比特提取方法生成新的底數(shù)參數(shù)g, 以便通信雙方能保持相同的底數(shù)參數(shù)g。(三) 在上述實施例中,由終端A發(fā)起更新密鑰USK,且在更新完成 前停止文件塊的加密傳輸;在本發(fā)明的其它實施例中,更新密鑰USK的過 程中無需停止文件塊的加密傳輸,只需在密鑰更新完成后,終端A開始使 用新密鑰加密文件塊時通知終端B采用新密鑰解密(例如,在文件塊報文 頭中標識該文件塊報文已啟用新的密鑰)即可;此外,也可以由終端B發(fā)起更新密鑰USK;同樣,密鑰USK的生成也 可以由終端B發(fā)起。(四) 在上述實施例中,質(zhì)數(shù)參數(shù)P由通信雙方預(yù)先協(xié)商得到;由于 WAPI終端的ECDH (橢圓曲線密碼體制的Diffie-Hellman (戴菲-赫曼)交 換)參數(shù)中包含固定的質(zhì)數(shù)參數(shù)P,因此,如果通信雙方都是WAPI終端, 則可以從分別從終端的WAI單元中提取ECDH參數(shù)中的質(zhì)數(shù)參數(shù)P 。圖3是本發(fā)明實施例文件傳輸系統(tǒng)的結(jié)構(gòu)示意圖;圖3中的第一通信節(jié) 點和第二通信節(jié)點分別是文件的發(fā)送方和接收方;第一通信節(jié)點和第二通信 節(jié)點可以分別是支持WAPI協(xié)議的終端和AP、或AP和終端、或終端和 終端、或AP和AP。如圖3所示,第一通信節(jié)點中設(shè)置有第一密鑰生成單元,文件加密單 元,第一通信單元;第二通信節(jié)點中設(shè)置有第二密鑰生成單元,文件解密 單元,第二通信單元;第一密鑰生成單元用于生成隨機數(shù)sy,并計算臨時公鑰PYQ=g()sy(mod P),將PYG和第一通信節(jié)點的簽名值通過第一通信單元發(fā)送給第二通信節(jié) 點.第二密鑰生成單元用于生成隨機數(shù)sx,并計算臨時7>鑰PXQ=gosx(modP),將PXq和第二通信節(jié)點的簽名值通過第二通信單元發(fā)送給第一通信節(jié) 點;第一密鑰生成單元還用于在通過第一通信單元接收到PXG和第二通信節(jié)點的簽名值后,對第二通信節(jié)點的簽名值進行驗證,驗證成功后,計算密鑰USK=(PXo)sy(modP),并將其發(fā)送給文件加密單元;第二密鑰生成單元還用于在通過第二通信單元接收到PYo和第一通信 節(jié)點的簽名值后,對第一通信節(jié)點的簽名值進行驗證,驗證成功后,計算密 鑰USK=(PYQ)sx(modP),并將其發(fā)送給文件解密單元;文件加密單元用于采用密鑰USK對文件的文件塊進ff加密后通過第一 通信單元發(fā)送給第二通信節(jié)點;文件解密單元用于在通過第二通信單元接收到加密的文件塊后,采用密 鑰USK對其進行解密。此外,第一密鑰生成單元還用于根據(jù)當前使用的密鑰USK生成新的底 數(shù)參數(shù)值g ,并計算新的臨時公鑰PY=gsy(mod P),將PY和第 一通信節(jié)點的 簽名值通過第 一通信單元發(fā)送給第二通信節(jié)點;第二密鑰生成單元還用于根據(jù)當前使用的密鑰USK生成新的底數(shù)參數(shù) 值g,并計算新的臨時公鑰PX=gsx(modP),將PX和第二通信節(jié)點的簽名值 通過第二通信單元發(fā)送給第 一通信節(jié)點;第一密鑰生成單元還用于在通過第一通信單元接收到PX和第二通信節(jié) 點的簽名值后,對第二通信節(jié)點的簽名值進行驗證,驗證成功后,計算新的 密鑰USK=(PX)sy(modP),并將其發(fā)送給文件加密單元進行文件塊的加密;第二密鑰生成單元還用于在通過第二通信單元接收到PY和第一通信節(jié) 點的簽名值后,對第一通信節(jié)點的簽名值進行驗證,驗證成功后,計算密鑰 USK=(PY)sx(modP),并將其發(fā)送給文件解密單元進行文件塊的解密。此外,第一通信節(jié)點中還"^殳置有第一 WAI單元;第二通信節(jié)點中還設(shè)置有第二 WAI單元;第一密鑰生成單元采用如下方式生成簽名值將待簽名的明文參數(shù)發(fā)送 給第一 WAI單元;第一 WAI單元使用第一通信節(jié)點的WAPI證書對應(yīng)的私 有密鑰對明文參數(shù)或明文參數(shù)的哈希值進行加密,生成簽名值,并將簽名值 返回給第一密鑰生成單元;第二密鑰生成單元采用如下方式生成簽名值將待簽名的明文參數(shù)發(fā)送 給第二 WAI單元;第二 WAI單元使用第二通信節(jié)點的WAPI證書對應(yīng)的私有密鑰對明文參數(shù)或明文參數(shù)的哈希值進行加密,生成簽名值,并將簽名值 返回給第二密鑰生成單元。文件加密單元在接收到新的密鑰USK對文件的未發(fā)送文件塊加密后, 將該文件塊封裝在文件塊報文中通過第一通信單元發(fā)送給接收方;文件塊報 文的報文頭中包含已使用新的密鑰USK加密的標識;文件解密單元通過第二通信單元接收到文件塊報文后,根據(jù)標識使用新 的密鑰USK對其中封裝的文件塊進行解密。
權(quán)利要求
1、一種文件傳輸方法,其特征在于,該方法包括,文件的發(fā)送方與文件的接收方分別計算臨時公鑰PY0=g0sy(mod P)和PX0=g0sx(mod P)后,交換PY0以及所述發(fā)送方的簽名值、PX0以及所述接收方的簽名值;所述發(fā)送方和接收方驗證對方的簽名值后,分別計算(PX0)sy(mod P)和(PY0)sx(mod P),并將上述值作為密鑰USK;所述發(fā)送方將待發(fā)送文件的文件塊采用密鑰USK加密后發(fā)送給所述接收方;所述接收方采用密鑰USK對接收到的加密的文件塊進行解密;其中,sy和sx分別為所述發(fā)送方和接收方生成的隨機數(shù);質(zhì)數(shù)參數(shù)P為所述發(fā)送方和接收方預(yù)先設(shè)定的質(zhì)數(shù),底數(shù)參數(shù)g0為所述發(fā)送方和接收方預(yù)先設(shè)定的小于P的正整數(shù)。
2、 如權(quán)利要求l所述的方法,其特征在于,在所述發(fā)送方向所述接收方發(fā)送所述文件的文件塊的過程中,所述發(fā)送 方和接收方分別根據(jù)當前使用的密鑰USK生成新的底數(shù)參數(shù)值g;并分別 計算新的臨時公鑰PY=gsy(mod P)和PX = gsx(mod P);所述發(fā)送方和接收方交換PY以及所述發(fā)送方的簽名值、PX以及所述 接收方的簽名值;所述發(fā)送方和接收方驗證對方的簽名值后,分別計算(PX)sy(mod P)和 (PY)sx(mod P),并將上述值作為新的密鑰USK;生成所述新的密鑰USK后,所述發(fā)送方采用所述新的密鑰USK對所述 文件的未發(fā)送文件塊加密后發(fā)送給所述接收方;所述接收方采用所述新的密 鑰USK對采用所述新的密鑰USK加密的文件塊進行解密;其中,g小于所述質(zhì)數(shù)參數(shù)P。
3、 如權(quán)利要求1或2所述的方法,其特征在于,所述發(fā)送方和接收方為無線局域網(wǎng)鑒別與保密基礎(chǔ)結(jié)構(gòu)WAPI終端;所 述WAPI終端采用如下方式生成所述簽名值將待簽名的明文參數(shù)發(fā)送給該WAPI終端的無線局域網(wǎng)鑒別基礎(chǔ)結(jié)構(gòu) WAI單元;所述WAI單元使用該WAPI終端的WAPI證書對應(yīng)的私有密鑰對所述 明文參數(shù)或所述明文參數(shù)的哈希值進行加密,生成所述簽名值。
4、 如權(quán)利要求2所述的方法,其特征在于, 所述發(fā)送方和接收方采用如下方式生成所述新的底數(shù)參數(shù)值g: 從當前使用的密鑰USK中提取n個比特作為所述新的底數(shù)參數(shù)值g;或?qū)Ξ斍笆褂玫拿荑€USK進行哈希運算生成哈希值,并從哈希值中提取 n個比特作為所述新的底數(shù)參數(shù)值g;n為底數(shù)參數(shù)的比特數(shù);n小于密鑰USK的比特數(shù)。
5、 如權(quán)利要求2所述的方法,其特征在于,所述發(fā)送方采用所述新的密鑰USK對所述文件的未發(fā)送文件塊加密 后,將該文件塊封裝在文件塊報文中發(fā)送給所述接收方;所述文件塊報文的 報文頭中包含已使用所述新的密鑰USK加密的標識;接收到所述文件塊報文后,所述接收方根據(jù)所述標識使用所述新的密鑰 USK對其中封裝的文件塊進行解密。
6、 一種文件傳輸系統(tǒng),該系統(tǒng)包含作為文件的發(fā)送方的第一通信節(jié)點、 和作為文件的接收方第二通信節(jié)點;其特征在于,所述第一通信節(jié)點中設(shè)置有第一密鑰生成單元,文件加密單元,第一 通信單元;所述第二通信節(jié)點中設(shè)置有第二密鑰生成單元,文件解密單元, 第二通信單元;所述第 一密鑰生成單元用于生成隨機數(shù)sy,并計算臨時公鑰 <formula>formula see original document page 3</formula>將所述PY。和所述第 一通信節(jié)點的簽名值通過所述第 一通信單元發(fā)送給所述第二通信節(jié)點;所述第二密鑰生成單元用于生成隨機數(shù)SX,并計算臨時公鑰PX0=g()sx(modP),將所述PXo和所述第二通信節(jié)點的簽名值通過所述第二通 信單元發(fā)送給所述第一通信節(jié)點;所述第一密鑰生成單元還用于在通過所述第一通信單元接收到所述 PX0和所述第二通信節(jié)點的簽名值后,對所述第二通信節(jié)點的簽名值進行驗 證,驗證成功后,計算密鑰USK==(PXG)sy(modP),并將其發(fā)送給所述文件加 密單元;所述第二密鑰生成單元還用于在通過所述第二通信單元接收到所述 PY0和所述第一通信節(jié)點的簽名值后,對所述第一通信節(jié)點的簽名值進行驗 證,驗證成功后,計算密鑰USK=(PYQ)sx(modP),并將其發(fā)送給所述文件解 密單元;所述文件加密單元用于采用所述密鑰USK對所述文件的文件塊進行加 密后通過所述第一通信單元發(fā)送給所述第二通信節(jié)點;所述文件解密單元用于在通過所述第二通信單元接收到所述加密的文 件塊后,采用所述密鑰USK對其進行解密;其中,質(zhì)數(shù)參數(shù)P為所述第一通信節(jié)點和第二通信節(jié)點預(yù)先設(shè)定的質(zhì) 數(shù),底數(shù)參數(shù)g。為所述第一通信節(jié)點和第二通信節(jié)點預(yù)先設(shè)定的小于P的 正整數(shù)。
7、如權(quán)利要求6所述的系統(tǒng),其特征在于,所述第一密鑰生成單元還用于4艮據(jù)當前使用的密鑰USK生成新的底數(shù) 參數(shù)值g,并計算新的臨時公鑰PY=gsy(mod P),將所述PY和所述第 一通信 節(jié)點的簽名值通過所述第 一通信單元發(fā)送給所述第二通信節(jié)點;所述第二密鑰生成單元還用于^4居當前使用的密鑰USK生成新的底數(shù) 參數(shù)值g,并計算新的臨時公鑰PX=gsx(modP),將所述PX和所述第二通信 節(jié)點的簽名值通過所述第二通信單元發(fā)送給所述第 一通信節(jié)點;所述第一密鑰生成單元還用于在通過所述第一通信單元接收到所述PX 和所述第二通信節(jié)點的簽名值后,對所述第二通信節(jié)點的簽名值進行驗證,驗證成功后,計算新的密鑰USK=(PX)sy(modP),并將其發(fā)送給所述文件加 密單元進行文件塊的加密;所述第二密鑰生成單元還用于在通過所述第二通信單元接收到所述PY 和所述第 一通信節(jié)點的簽名值后,對所述第一通信節(jié)點的簽名值進行驗證, 驗證成功后,計算密鑰USK=(PY)sx(modP),并將其發(fā)送給所述文件解密單 元進4于文件塊的解密;其中,g小于所述質(zhì)數(shù)參數(shù)P。
8、 如權(quán)利要求6或7所述的系統(tǒng),其特征在于,所述第一通信節(jié)點中還設(shè)置有第一 WAI單元;所述第二通信節(jié)點中還 設(shè)置有第二 WAI單元;所述第一密鑰生成單元采用如下方式生成所述簽名值將待簽名的明文 參數(shù)發(fā)送給所述第一 WAI單元;所述第一 WAI單元使用所述第一通信節(jié)點 的WAPI證書對應(yīng)的私有密鑰對所述明文參數(shù)或所述明文參數(shù)的p合希值進 行加密,生成所述簽名值,并將所述簽名值返回給所述第一密鑰生成單元;所述第二密鑰生成單元采用如下方式生成所述簽名值將待簽名的明文 參數(shù)發(fā)送給所述第二 WAI單元;所述第二 WAI單元使用所述第二通信節(jié)點 的WAPI證書對應(yīng)的私有密鑰對所述明文參凄欠或所述明文參數(shù)的口合希值進 行加密,生成所述簽名值,并將所述簽名值返回給所述第二密鑰生成單元。
9、 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述第一密鑰生成單元和第二密鑰生成單元采用如下方式生成所述新 的底數(shù)參數(shù)值g:從當前使用的密鑰USK中提取n個比特作為所述新的底數(shù)參數(shù)值g;或?qū)Ξ斍笆褂玫拿荑€USK進行哈希運算,并從哈希運算生成的哈希值中 提取n個比特作為所述新的底數(shù)參數(shù)值g;n為底數(shù)參數(shù)的比特數(shù);n小于密鑰USK的比特數(shù)。
10、 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述文件加密單元在接收到所述新的密鑰USK對所述文件的未發(fā)送文 件塊加密后,將該文件塊封裝在文件塊報文中通過所述第一通信單元發(fā)送給所述接收方;所述文件塊報文的報文頭中包含已使用所述新的密鑰USK加 密的標識;所述文件解密單元通過所述第二通信單元接收到文件塊報文后,根據(jù)所 述標識使用所述新的密鑰USK對其中封裝的文件塊進行解密。
全文摘要
一種文件傳輸方法及系統(tǒng),該方法包括文件的發(fā)送方與文件的接收方分別計算臨時公鑰PY<sub>0</sub>=g<sub>0</sub><sup>sy</sup>(mod P)和PX<sub>0</sub>=g<sub>0</sub><sup>sx</sup>(mod P)后,交換PY<sub>0</sub>以及發(fā)送方的簽名值、PX<sub>0</sub>以及接收方的簽名值;發(fā)送方和接收方驗證對方的簽名值后,分別計算(PX<sub>0</sub>)<sup>sy</sup>(mod P)和(PY<sub>0</sub>)<sup>sx</sup>(mod P),并將上述值作為密鑰USK;發(fā)送方將待發(fā)送文件的文件塊采用USK加密后發(fā)送給接收方;接收方采用密鑰USK對接收到的加密的文件塊進行解密;其中,sy和sx分別為發(fā)送方和接收方生成的隨機數(shù);質(zhì)數(shù)參數(shù)P為發(fā)送方和接收方預(yù)先設(shè)定的質(zhì)數(shù),底數(shù)參數(shù)g<sub>0</sub>為發(fā)送方和接收方預(yù)先設(shè)定的小于P的正整數(shù)。
文檔編號H04L9/30GK101600204SQ20091015075
公開日2009年12月9日 申請日期2009年6月30日 優(yōu)先權(quán)日2009年6月30日
發(fā)明者劉家兵, 康望星, 施元慶 申請人:中興通訊股份有限公司