以太無(wú)源光網(wǎng)絡(luò)下行加密方案

為解決以太無(wú)源光網(wǎng)絡(luò)下行數(shù)據(jù)傳輸?shù)牟话踩詥?wèn)題,我們提出一種基于時(shí)間標(biāo)簽函數(shù)的加密方案,來(lái)完成下行數(shù)據(jù)的加密。

一、AES加密算法與時(shí)間標(biāo)簽的結(jié)合

本文基于時(shí)間標(biāo)簽的加密方案將AES算法與時(shí)間相結(jié)合形成時(shí)間函數(shù)作為密鑰,對(duì)下行數(shù)據(jù)進(jìn)行加密。AES作為對(duì)稱(chēng)加密算法的代表,具有強(qiáng)安全性、高效率等優(yōu)點(diǎn),能滿足實(shí)時(shí)性業(yè)務(wù)的需求,將它與時(shí)間相結(jié)合,讓密鑰隨著時(shí)間動(dòng)態(tài)更新,同時(shí)也滿足了高安全性的業(yè)務(wù)。

1、AES加密算法原理

AES是一個(gè)對(duì)稱(chēng)密碼,它是由字節(jié)代換、行移位,列混合和加輪密鑰這4種代換進(jìn)行循環(huán)變換所形成的。根據(jù)所選密鑰大小的不同,可以分別進(jìn)行10輪、12輪和14輪的變換。、本文選用最簡(jiǎn)單的AES-128算法,它需要經(jīng)過(guò)10輪變換,其加解密的原理如圖l所示,其中,Ki(i=0,1,...,9)表示進(jìn)行的10輪變換的擴(kuò)展密鑰,每一輪擴(kuò)展密鑰都是由4個(gè)字(即16 Byte)組成的。首先鼻輸入的明文與島進(jìn)入加輪密鑰模塊,加輪密鑰模塊主要進(jìn)行異或操作,然后將異或的結(jié)果按順序依次進(jìn)行字節(jié)代換、行移位、列混合和加輪密鑰這4種變換,每完成一次這4種變換即完成了一輪的變換,再重復(fù)這樣的操作9次,直到進(jìn)行到第10次操作時(shí),不需要進(jìn)行列變換,然后直接輸出結(jié)果,即是加密后的密文。解密過(guò)程與加密過(guò)程類(lèi)似,只不過(guò)4種變換進(jìn)行的是逆操作,即每一輪完成的是逆字節(jié)變換、逆行移位、逆列混合和加輪密鑰4種操作,且擴(kuò)展密鑰是從K9到Ko。

1

2、MixColumns變換與時(shí)間標(biāo)簽的結(jié)合

在AES算法的4種變換中,由于字節(jié)代換、行移位和加輪密鑰都是對(duì)數(shù)據(jù)本身的變換操作,不引入額外的參數(shù),因此選擇在MixColumns變換中引入時(shí)間標(biāo)簽。MixColumnS變換過(guò)程如圖2所示,AES-128算法的密鑰是一個(gè)4 Bytex4 Byte的狀態(tài)矩陣,每一行和每一列都是由4個(gè)字節(jié)組成。MixColumns變換是把狀態(tài)矩陣中的每一列都與一個(gè)常數(shù)矩陣相乘,得到一個(gè)新的列,然后把變換后的新列重新組合成一個(gè)新的狀態(tài)矩陣。

1

常數(shù)矩陣是一個(gè)有逆元的多項(xiàng)式;

1

設(shè)要進(jìn)行MixColumns變換的狀態(tài)矩陣多項(xiàng)式為:

1

則MixColumns變換可表述為:

1

其中,⊕是AES算法中定義的2個(gè)多項(xiàng)式的乘法,即模m(x)乘法,因?yàn)锳ES算法是按4 Byte的字進(jìn)行的,所以m(x)是一個(gè)4次多項(xiàng)式,即m(x)=x4+1:

MixColumns變換寫(xiě)成矩陣形式為:

1

引入時(shí)間標(biāo)簽z后,MixColumns變換為:

1

因?yàn)槊看翁崛〉臅r(shí)間標(biāo)簽也是一個(gè)常數(shù)t,所以可以把時(shí)間標(biāo)簽放在列變換的常數(shù)矩陣中(如式(5)所示),即將常數(shù)矩陣乘以時(shí)間,形成一個(gè)新的常數(shù)矩陣,再將這個(gè)新的常數(shù)矩陣與狀態(tài)矩陣的每一列相乘,得到一個(gè)與時(shí)間有關(guān)的新矩陣。這樣,經(jīng)過(guò)MixColumns變換形成的將是與時(shí)間有關(guān)的新?tīng)顟B(tài)矩陣。當(dāng)完成了10輪變換之后,最后輸出的結(jié)果將是與時(shí)間有關(guān)的密鑰,即本方案中的AES(t)。由于每次提取的時(shí)間標(biāo)簽,都不一樣,因此經(jīng)過(guò)MixColumns變換之后,最終形成的密鑰也不一樣,這樣,密鑰就會(huì)隨著時(shí)間變化。解密的過(guò)程與加密類(lèi)似,即解密是在逆列混合的常數(shù)矩陣中引入時(shí)間f,且逆變換的常數(shù)矩陣與正變換的常數(shù)矩陣互為逆矩陣。

二、基于時(shí)間標(biāo)簽的加/解密模塊設(shè)計(jì)

1、加密定位

本文方案的設(shè)計(jì)原則是對(duì)數(shù)據(jù)鏈路層的數(shù)據(jù)幀進(jìn)行加密。根據(jù)EPON點(diǎn)到多點(diǎn)的結(jié)構(gòu)特征,實(shí)際應(yīng)用中應(yīng)盡可能不對(duì)上層產(chǎn)生太多影響,保持上層的獨(dú)立性和完整性,基于這種考慮,在媒體接入控制(Media Access Control,MAC)子層和RS(Reconciliation Sub-Iayer)之間增加一個(gè)透明的加/解模塊,使之對(duì)上面的MAC子層來(lái)說(shuō)相當(dāng)于一個(gè)RS,而對(duì)下面的RS來(lái)說(shuō)相當(dāng)于一個(gè)MAC子層。這樣,密鑰不需要通過(guò)信道傳輸,即不會(huì)增加額外的成本,也不會(huì)對(duì)網(wǎng)絡(luò)的性能影響太大。加/解密模塊的內(nèi)部結(jié)構(gòu)如圖3所示。

1

首先提取發(fā)送數(shù)據(jù)幀中的4 Byte時(shí)間標(biāo)簽,把時(shí)間標(biāo)簽作為AES加/解密算法的參數(shù),形成與時(shí)間有關(guān)的時(shí)間加密函數(shù)AES(t),將這個(gè)函數(shù)作為加/解的密鑰,然后將輸入數(shù)據(jù)幀和生成的AES(t)-起輸入加/解密控制模塊,若是下行發(fā)送數(shù)據(jù),則光線路終端(Optical Line Terminal,OLT)完成加密功能,輸出密文發(fā)送出去;若是上行發(fā)送數(shù)據(jù),則OLT完成解密功能,輸出明文。ONU端加/解模塊功能與OLT一樣,是一個(gè)對(duì)應(yīng)的關(guān)系,只要能保持OLT和ONU兩端的同步即可。

在整個(gè)設(shè)計(jì)方案中,最關(guān)鍵的一點(diǎn)就是時(shí)間標(biāo)簽與AES加密算法的結(jié)合,即時(shí)間標(biāo)簽如何與AES加密算法結(jié)合形成時(shí)間加密函數(shù)AES(t)。

2、時(shí)間標(biāo)簽的提取與同步

時(shí)間標(biāo)簽放在幀中的什么位置和怎樣提取,密鑰怎樣隨著時(shí)間變化,以及OLT和ONU兩端的時(shí)間標(biāo)簽如何同步,都是需要重點(diǎn)解決的問(wèn)題。

借用EPON系統(tǒng)的測(cè)距和同步技術(shù),可以在測(cè)距的時(shí)候提取到時(shí)間標(biāo)簽。根據(jù)IEEE 802.3ah技術(shù)規(guī)范,MAC幀的幀結(jié)構(gòu)符合以太網(wǎng)規(guī)范,是64~1518可變長(zhǎng)度字節(jié)幀,且有4 Byte是用來(lái)存放時(shí)間標(biāo)簽的,因此,可以利用這4 Byte的時(shí)間標(biāo)簽并在測(cè)距的時(shí)候提取。在測(cè)距時(shí),下行的時(shí)間標(biāo)簽放在OLT發(fā)給ONU的Gate控制幀中,上行的時(shí)間標(biāo)簽放在ONU發(fā)給OLT的Report控制幀中。

EPON系統(tǒng)采用時(shí)間標(biāo)簽法進(jìn)行測(cè)距來(lái)保證收發(fā)同步,即每次發(fā)送數(shù)據(jù)之前耍進(jìn)行精測(cè)再為ONU分配帶寬。如圖4所示,OLT、ONU兩端有同頻系統(tǒng)時(shí)鐘,OLT以一定的時(shí)間間隔給每個(gè)ONU發(fā)送當(dāng)前OLT的時(shí)間標(biāo)簽值,ONU收到后用該時(shí)間標(biāo)簽值來(lái)刷新ONU當(dāng)前時(shí)間標(biāo)簽,這樣保證ONU以落后于OLT -定的時(shí)間與OLI’在時(shí)間上同步,這時(shí)ONU也可以獲得并提取這個(gè)時(shí)間標(biāo)簽。由于EPON中要求對(duì)所有ONU進(jìn)行實(shí)時(shí)測(cè)距,因此在每次測(cè)距的時(shí)候,OLT和ONU都能提取時(shí)間標(biāo)簽并形成與當(dāng)前時(shí)刻相對(duì)應(yīng)的加/解密密鑰,完成數(shù)據(jù)的加密和解密操作,且密鑰隨著時(shí)間變化,這種實(shí)時(shí)性和唯一性使系統(tǒng)的安全性大幅度提高。

1

綜上所述,時(shí)間標(biāo)簽的提取和同步是基于EPON系統(tǒng)的測(cè)距過(guò)程,每個(gè)ONU都有自己的動(dòng)態(tài)時(shí)間標(biāo)簽。在測(cè)距的過(guò)程中,既完成了OLT和ONU兩端時(shí)間標(biāo)簽的同步,也達(dá)到了密鑰的同步和不斷更新。

3、加密指示和密鑰更新的設(shè)計(jì)

傳輸?shù)臄?shù)據(jù)中既有加密的數(shù)據(jù)”也有沒(méi)加密的數(shù)據(jù),發(fā)送端需要給接收端指示,告訴它數(shù)據(jù)是否進(jìn)行了加密處理和密鑰是否已經(jīng)更新。鑒于前導(dǎo)碼在EPON系統(tǒng)中不進(jìn)行加密處理,有關(guān)加密的指示信息可以選擇在前導(dǎo)碼中攜帶。目前前導(dǎo)碼中只有第4字節(jié)、第5字節(jié)被保留,尚未攜帶具體信息,因此,本文方案利用第5字節(jié)的前2 bit來(lái)傳送加密信息,分別定義為加密指示比特(EIB)和更新指示比特(UIB),它們?cè)谇皩?dǎo)碼中的位置如圖5所示,其中,EIB用于指示數(shù)據(jù)是否經(jīng)過(guò)加密處理;UIB用于指示當(dāng)前加密所使用的密鑰是否更新。

1

OLT通過(guò)EIB和UIB指示ONU的過(guò)程如下:

(1)在系統(tǒng)初始時(shí)刻,OLT和ONU沒(méi)有建立邏輯鏈接之前,沒(méi)有數(shù)據(jù)發(fā)送,也不存在加密的問(wèn)題,因此,EIB和UIB都為0,表示鏈路尚未進(jìn)行加密。

(2)當(dāng)ONU向OLT發(fā)送注冊(cè)響應(yīng)幀表示注冊(cè)完成時(shí),

OLT開(kāi)始向ONU發(fā)送數(shù)據(jù),在發(fā)送數(shù)據(jù)之前OLT完成了對(duì)ONU的測(cè)距。在OLT端,先提取當(dāng)前時(shí)刻的時(shí)間標(biāo)簽,形成時(shí)間函數(shù)對(duì)要發(fā)送的數(shù)據(jù)進(jìn)行加密,并將EIB設(shè)為l,UIB設(shè)為0,表明數(shù)據(jù)經(jīng)過(guò)了加密處理,但是密鑰為初始密鑰,尚未更新。當(dāng)ONU收到OLT發(fā)送的數(shù)據(jù)后,先檢測(cè)指示比特的變化,然后用ONU相對(duì)應(yīng)的時(shí)間標(biāo)簽密鑰對(duì)數(shù)據(jù)進(jìn)行解密。

(3)第2次要發(fā)送數(shù)據(jù)時(shí),同樣在OLT端提取當(dāng)前時(shí)刻的時(shí)間標(biāo)簽。這時(shí)生成一個(gè)新的密鑰,用新密鑰加密數(shù)據(jù)后,EIB和UIB都設(shè)為1,表明數(shù)據(jù)經(jīng)過(guò)了加密處理,且密鑰經(jīng)過(guò)了更新,因?yàn)閁IB由O跳變到1島當(dāng)ONU收到數(shù)據(jù)后,需用第2次測(cè)距的時(shí)間標(biāo)簽生成的新密鑰才能解密數(shù)據(jù)包a同理,以后的每一個(gè)時(shí)刻發(fā)送數(shù)據(jù),EIB一直保持為1,表明數(shù)據(jù)經(jīng)過(guò)了加密,而UIB則在0和l之間不斷發(fā)生跳變,表明密鑰經(jīng)過(guò)了更新,ONU需用更新后的密鑰才能解密。

綜上所述,只要EIB為1,就表示數(shù)據(jù)經(jīng)過(guò)了加密處理,ONU就要對(duì)數(shù)據(jù)進(jìn)行解密;而UIB只要發(fā)生了跳變,就表示密鑰進(jìn)行了更新,ONU要用更新后的密鑰對(duì)數(shù)據(jù)解密。

小知識(shí)之以太網(wǎng)無(wú)源光網(wǎng)絡(luò)

以太網(wǎng)無(wú)源光網(wǎng)絡(luò)(Ethernet Passive Optical Network , EPON) 是一種新型的光纖接入網(wǎng)技術(shù),它采用點(diǎn)到多點(diǎn)結(jié)構(gòu)、無(wú)源光纖傳輸,在以太網(wǎng)之上提供多種業(yè)務(wù)。