專利名稱:將鏈路層安全性集成到物理層收發(fā)器中的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及鏈路層數(shù)據(jù)通信。
背景技術(shù):
在本領(lǐng)域中已經(jīng)知道,物理層收發(fā)器(“PHY”)用于通過(guò)各種介質(zhì)(例如銅線纜和光纜)發(fā)送和接收數(shù)據(jù)。
在接收模式中,PHY充當(dāng)從介質(zhì)接收數(shù)據(jù)并將數(shù)據(jù)解碼成適合于接收設(shè)備的形式的設(shè)備。在發(fā)送模式中,PHY從設(shè)備(通常從介質(zhì)訪問(wèn)控制器(“MAC”))獲取數(shù)據(jù),并將數(shù)據(jù)轉(zhuǎn)換成適合于正在使用的介質(zhì)的形式。
圖1是典型現(xiàn)有技術(shù)的PHY 100的功能框圖。PHY 100通常被配置為在主機(jī)設(shè)備的MAC 110和介質(zhì)120之間充當(dāng)接口。
PHY 100通常包括模擬電路130,該模擬電路130被配置成用于接收來(lái)自介質(zhì)120的數(shù)據(jù),并使用本領(lǐng)域已知技術(shù)將該數(shù)據(jù)解碼成適合于主機(jī)設(shè)備的形式。PHY 100還包括數(shù)字電路140,該數(shù)字電路140被配置成用于接收來(lái)自MAC 110的數(shù)據(jù),并將該數(shù)據(jù)轉(zhuǎn)換成適合于介質(zhì)120的形式。
PHY 100還包括被配置為控制PHY的操作,尤其是數(shù)字電路140的操作的存儲(chǔ)器和控制電路150。存儲(chǔ)器和控制電路150通常將包括用于通過(guò)總線接口160與MAC 110接口的電路。非限制性示例包括介質(zhì)獨(dú)立接口(“MII”)、千兆位介質(zhì)獨(dú)立接口(“GMII”)、十千兆位介質(zhì)獨(dú)立接口(“XGMII”或“XAUI”)、縮減千兆位介質(zhì)獨(dú)立接口(RGMII)和串行千兆位介質(zhì)獨(dú)立接口(SGMII)。
圖1是現(xiàn)有技術(shù)PHY的概念性框圖。
圖2是數(shù)據(jù)傳輸系統(tǒng)的概念性框圖。
圖3是PHY的概念性框圖。
圖4是用于提供鏈路層安全性的方法的流程圖。
圖5是用于利用密碼引擎(crypto engine)管理分組沖突的方法的流程圖。
具體實(shí)施例方式
本領(lǐng)域普通技術(shù)人員將意識(shí)到,以下描述僅僅是示例性的,決不是限制性的。能受益于本公開的那些技術(shù)人員將容易想到其他修改和改良。在以下描述中,類似的標(biāo)號(hào)始終指代類似的元件。
本公開可能涉及數(shù)據(jù)通信。各種被公開的方面可被體現(xiàn)在各種計(jì)算機(jī)和機(jī)器可讀數(shù)據(jù)結(jié)構(gòu)中。此外,可以設(shè)想,可通過(guò)計(jì)算機(jī)和機(jī)器可讀介質(zhì)來(lái)傳輸體現(xiàn)本公開的教導(dǎo)的數(shù)據(jù)結(jié)構(gòu),并且可以通過(guò)利用諸如用于實(shí)現(xiàn)因特網(wǎng)的協(xié)議之類的標(biāo)準(zhǔn)協(xié)議以及其他計(jì)算機(jī)聯(lián)網(wǎng)標(biāo)準(zhǔn)來(lái)經(jīng)由通信系統(tǒng)傳輸體現(xiàn)本公開的教導(dǎo)的數(shù)據(jù)結(jié)構(gòu)。
本公開可能涉及存儲(chǔ)有本公開的各個(gè)方面的機(jī)器可讀介質(zhì)??梢栽O(shè)想,適合于檢索指令的任何介質(zhì)都在本公開的范圍內(nèi)。例如,這樣的介質(zhì)可采取磁介質(zhì)、光介質(zhì)或半導(dǎo)體介質(zhì)的形式,并可被配置為可由本領(lǐng)域已知的機(jī)器所訪問(wèn)。
本公開的各個(gè)方面可通過(guò)使用流程圖來(lái)描述。通常,本公開的一個(gè)方面的單個(gè)實(shí)例可被示出。但是,本領(lǐng)域普通技術(shù)人員將意識(shí)到,這里描述的協(xié)議、過(guò)程和程序可被連續(xù)重復(fù)或按所需頻率重復(fù),以滿足這里所述的需求。因此,通過(guò)使用流程圖對(duì)本公開各個(gè)方面的表示不應(yīng)被用于限制本公開的范圍。
本公開在系統(tǒng)的鏈路層上提供了安全性。在這點(diǎn)上,鏈路層可根據(jù)OSI參考標(biāo)準(zhǔn)來(lái)定義。具體而言,I.E.E.E 802.3標(biāo)準(zhǔn)將鏈路層定義為存在于MAC和介質(zhì)之間的設(shè)備,并且這里也如此定義。
在本公開中,在發(fā)送模式中,通過(guò)在從MAC接收到數(shù)據(jù)時(shí)并且在將數(shù)據(jù)從PHY發(fā)送出去之前,針對(duì)保密性加密數(shù)據(jù)、針對(duì)完整性認(rèn)證數(shù)據(jù)或既針對(duì)保密性加密數(shù)據(jù)又針對(duì)完整性認(rèn)證數(shù)據(jù),從而來(lái)提供鏈路層安全性。相反,在接收模式中,在由PHY接收到數(shù)據(jù)時(shí)并在將數(shù)據(jù)提供給MAC之前,數(shù)據(jù)被解密、認(rèn)證或者既被解密又被認(rèn)證。
圖2是根據(jù)本公開的教導(dǎo)配置的鏈路層數(shù)據(jù)傳輸系統(tǒng)205的圖。系統(tǒng)205包括發(fā)送設(shè)備200,該發(fā)送設(shè)備通過(guò)介質(zhì)240被耦合到接收設(shè)備260。
發(fā)送設(shè)備200包括被用本領(lǐng)域已知技術(shù)配置成充當(dāng)MAC的ASIC以及諸如圖1所述那樣的PHY 230。
密碼設(shè)備220被耦合在MAC 210和PHY 230之間。密碼設(shè)備220優(yōu)選地被配置為利用DES、3DES、MD5、SHA1、RC4或AES或其它類似協(xié)議來(lái)加密/認(rèn)證數(shù)據(jù)分組250。
在本示例中,數(shù)據(jù)分組由密碼設(shè)備220從MAC 210接收到,并且在被提供到PHY 230并被發(fā)送到介質(zhì)240上之前被加密/認(rèn)證。
系統(tǒng)205還包括與發(fā)送設(shè)備200類似配置的接收設(shè)備260,其包括MAC 270、密碼設(shè)備280和PHY 290。
在接收設(shè)備中,加密后的數(shù)據(jù)分組250被PHY 290所接收并被提供到密碼引擎280,在密碼引擎280中,數(shù)據(jù)被解密/認(rèn)證并提供到MAC270。
當(dāng)然,圖2所公開的操作可以工作在相反路徑中。
圖3是根據(jù)本公開的教導(dǎo)配置的PHY的另一實(shí)施例的概念性框圖。
圖3的實(shí)施例規(guī)定,密碼設(shè)備被部署在與PHY相同的芯片上,從而提供了單芯片鏈路層安全性解決方案。
設(shè)備300包括MAC 310和PHY 305。PHY 305包括模擬電路330,該模擬電路330在接收模式中被配置成用于接收來(lái)自介質(zhì)350的數(shù)據(jù),并利用本領(lǐng)域已知技術(shù)將該數(shù)據(jù)解碼成適合于主機(jī)設(shè)備的形式。在發(fā)送模式中,該模擬電路被配置為接收來(lái)自MAC 310的數(shù)據(jù),并將其轉(zhuǎn)換成適合于介質(zhì)350的形式。
PHY 305還包括數(shù)字電路320,該數(shù)字電路320在發(fā)送模式中被配置成用于接收來(lái)自MAC 310的數(shù)據(jù),并將該數(shù)據(jù)轉(zhuǎn)換成適合于介質(zhì)350的形式,而在接收模式中被配置成用于接收來(lái)自模擬電路330的數(shù)據(jù),并將其轉(zhuǎn)換成適合于MAC 310的格式。
PHY 305還包括被配置為控制PHY的操作,尤其是數(shù)字電路320的操作的存儲(chǔ)器和控制電路325。存儲(chǔ)器和控制電路325通常將包括用于通過(guò)總線接口(例如MII或GMII或XGMII或XAUI或SGMII或RGMII)與MAC 310接口的電路。
PHY 305還包括耦合到數(shù)字電路320的密碼模塊340。該密碼模塊可以包括用于密碼功能操作的控制和存儲(chǔ)器電路345。密碼模塊340優(yōu)選地被配置為在將接收自MAC 310的數(shù)據(jù)提供到模擬電路330之前對(duì)該數(shù)據(jù)進(jìn)行加密/認(rèn)證,并在將接收自模擬電路330的數(shù)據(jù)提供到MAC 310之前對(duì)該數(shù)據(jù)進(jìn)行解密/認(rèn)證。密碼模塊可以采用以上公開的密碼技術(shù)。
在另一實(shí)施例中,密碼模塊340可以利用已存在于PHY中的現(xiàn)有硬件來(lái)部署。將會(huì)意識(shí)到,通過(guò)重新使用已存在于PHY上的現(xiàn)有硬件來(lái)實(shí)現(xiàn)密碼特征,可以大大節(jié)省設(shè)備中的不動(dòng)產(chǎn)。
可以設(shè)想,在實(shí)現(xiàn)所公開的密碼特征時(shí),可以重新使用大批PHY組件。例如,密碼設(shè)備可以重新使用PHY的引腳或接口布局、存儲(chǔ)器映射、狀態(tài)機(jī)的各個(gè)元素、邏輯門或甚至上述的一個(gè)或多個(gè)。類似地,存在包含多個(gè)PHY的設(shè)備,例如包含8個(gè)PHY接口的Octal PHY。在這些設(shè)備中,對(duì)已存在于PHY中的引腳和其他元件的重新使用可以減小裸芯和封裝尺寸,從而使設(shè)備制造起來(lái)便宜得多。
類似地,某些芯片并入了MAC作為PHY芯片的一部分。在此情況下,或許可以利用來(lái)自MAC和PHY兩者的元件。
還可以設(shè)想,由密碼設(shè)備提供的附加功能可被用于其他功能或特征。例如,密碼設(shè)備可被配置為執(zhí)行數(shù)據(jù)壓縮。
例如,在一個(gè)實(shí)施例中,圖3的設(shè)備300可以包括這樣的路由器,在該路由器中,MAC 310包括被配置為還充當(dāng)交換結(jié)構(gòu)的ASIC。在此情況下,在該設(shè)備中可以存在很多PHY,并且通過(guò)交叉利用PHY的已有結(jié)構(gòu),可以在無(wú)需附加芯片的情況下添加附加的安全性特征。
在被公開的另一實(shí)施例中,密碼設(shè)備可被用于提高數(shù)據(jù)傳輸系統(tǒng)的整體性能和可靠性。
如本領(lǐng)域普通技術(shù)人員將意識(shí)到的,很多這樣的設(shè)備利用半雙工模式工作,其中常見的性能問(wèn)題是數(shù)據(jù)分組的沖突。
可以設(shè)想,由密碼設(shè)備提供的附加功能可以改善沖突管理。
在本實(shí)施例中,密碼存儲(chǔ)器345可被用于在分組被發(fā)送時(shí)暫時(shí)存儲(chǔ)數(shù)據(jù)和相關(guān)的安全性信息。如果檢測(cè)到?jīng)_突,則可以立即重新使用并重新發(fā)送已存儲(chǔ)的信息,而處理器或MAC無(wú)需重新發(fā)送數(shù)據(jù),或發(fā)送諸如安全性關(guān)聯(lián)之類的新安全性信息。
正如能夠受益于本公開的技術(shù)人員將意識(shí)到的,本公開的益處在于可以節(jié)省處理器周期的時(shí)間,并且還可以通過(guò)將某些處理時(shí)間從ASIC轉(zhuǎn)移到PHY來(lái)改善性能。
可以設(shè)想,密碼設(shè)備可以利用PHY上的存儲(chǔ)器的某些區(qū)域。如果PHY符合某些工業(yè)標(biāo)準(zhǔn)(例如I.E.E.E 802.3),則PHY被提供有存儲(chǔ)器中的某些為特定目的預(yù)留的寄存器,這種寄存器被稱為MII管理接口。例如,寄存器11-14是預(yù)留的,而寄存器16-30是供應(yīng)商專用區(qū)域。
可以設(shè)想,可指導(dǎo)本公開中使用的安全性關(guān)聯(lián)數(shù)據(jù)庫(kù)(SAD)按預(yù)定順序被寫入某些區(qū)域。例如,寄存器11中的一個(gè)比特可被用于打開或關(guān)閉密碼功能。類似地,密碼技術(shù)可能需要諸如密鑰或安全性關(guān)聯(lián)之類的數(shù)據(jù)來(lái)執(zhí)行密碼功能。該數(shù)據(jù)可通過(guò)寄存器12來(lái)訪問(wèn)。這利用了已有的存儲(chǔ)器管理技術(shù)和結(jié)構(gòu)。當(dāng)然,也可使用其他寄存器。
本公開的另一益處是減少流量,這是因?yàn)镻HY可被編程為丟棄或“廢棄”接收到的沒(méi)有通過(guò)解密模塊的流量。在本示例中,沒(méi)有被正確解密的數(shù)據(jù)被加注標(biāo)記,以在被交換結(jié)構(gòu)交換之前被隨后的模塊所丟棄,從而節(jié)省交換結(jié)構(gòu)中的帶寬以用于其他重要功能。這可以降低未經(jīng)授權(quán)的用戶由于拒絕服務(wù)攻擊而使網(wǎng)絡(luò)或聯(lián)網(wǎng)設(shè)備崩潰的危險(xiǎn),從而增強(qiáng)了網(wǎng)絡(luò)的可靠性?;蛘?,安全性邏輯可以中斷處理器以進(jìn)行其他動(dòng)作。
圖4是在數(shù)據(jù)傳輸系統(tǒng)的鏈路層處加密/認(rèn)證數(shù)據(jù)的方法的流程圖。在動(dòng)作400中,想要進(jìn)行通信的PHY可以利用本領(lǐng)域已知的技術(shù)來(lái)自動(dòng)協(xié)商鏈路。應(yīng)該理解,也可以在鏈路的自動(dòng)協(xié)商之前應(yīng)用這里公開的加密/認(rèn)證技術(shù)。
在動(dòng)作410中,發(fā)送方PHY(transmitting PHY,即“TX PHY”)的MAC將想要發(fā)送的數(shù)據(jù)提供到密碼引擎。在動(dòng)作420中,數(shù)據(jù)被密碼引擎加密,并被TX PHY放置在鏈接PHY的介質(zhì)上。
在動(dòng)作430中,接收方PHY(receiving PHY,即“RCV PHY”)接收來(lái)自鏈路的密碼數(shù)據(jù),并將數(shù)據(jù)提供給RCV PHY的密碼引擎,在密碼引擎中,數(shù)據(jù)被解密、認(rèn)證或者既被解密又被認(rèn)證。
在動(dòng)作440中,無(wú)格式數(shù)據(jù)隨后被傳遞到RCV PHY的MAC。
圖5是利用密碼引擎管理分組沖突的方法的流程圖。
在動(dòng)作500中,TX PHY的MAC將想要發(fā)送的數(shù)據(jù)提供到密碼引擎。在動(dòng)作520中,數(shù)據(jù)被密碼引擎加密、認(rèn)證或既被加密又被認(rèn)證,并被TX PHY放置在鏈接PHY的介質(zhì)上。如上所述,想要通信的PHY可以利用本領(lǐng)域已知的技術(shù)來(lái)自動(dòng)協(xié)商鏈路,但是數(shù)據(jù)也可以在鏈路的自動(dòng)協(xié)商前被加密。此時(shí),經(jīng)加密/認(rèn)證的數(shù)據(jù)由密碼引擎所存儲(chǔ)。
在查詢530中,PHY確定是否已經(jīng)發(fā)生分組沖突。如果已經(jīng)發(fā)生沖突,則由TX PHY重新發(fā)送已存儲(chǔ)的分組。如果沒(méi)有發(fā)生沖突,通信過(guò)程則如正常情況那樣前進(jìn),并且已存儲(chǔ)的任何數(shù)據(jù)可被沖掉,或者已使用的空間被回收。
雖然已示出和描述了本公開的實(shí)施例和應(yīng)用,但是對(duì)于本領(lǐng)域技術(shù)人員顯而易見的是,在不脫離本發(fā)明的概念的情況下,可以對(duì)上述內(nèi)容執(zhí)行更多修改和改良。因此,除了在所附權(quán)利要求書的精神內(nèi)之外,本公開將不受限制。
權(quán)利要求
1.一種用于在物理層收發(fā)器(PHY)中提供鏈路層安全性的裝置,包括被配置為向數(shù)據(jù)傳輸介質(zhì)發(fā)送數(shù)據(jù)和從數(shù)據(jù)傳輸介質(zhì)接收數(shù)據(jù)的模擬電路;耦合到所述模擬電路的數(shù)字電路,所述數(shù)字電路被配置為向介質(zhì)訪問(wèn)控制器(MAC)發(fā)送數(shù)據(jù)和從介質(zhì)訪問(wèn)控制器接收數(shù)據(jù);以及耦合到所述數(shù)字電路的密碼引擎。
2.如權(quán)利要求1所述的裝置,其中所述密碼引擎和所述PHY被放置在同一物理芯片上。
3.如權(quán)利要求2所述的裝置,其中所述密碼引擎使用所述芯片上預(yù)先存在的硬件,所述硬件是為了實(shí)現(xiàn)所述PHY的功能而預(yù)先存在的。
4.如權(quán)利要求2所述的裝置,其中所述裝置是多PHY設(shè)備的組件。
5.如權(quán)利要求2所述的裝置,其中所述PHY利用串行PHY介質(zhì)接口通信。
6.如權(quán)利要求3所述的裝置,其中所述預(yù)先存在的硬件是從以下群組中選出的,所述群組包括所述PHY的引腳功能、存儲(chǔ)器映射、狀態(tài)機(jī)、信號(hào)、信號(hào)總線和邏輯門。
7.如權(quán)利要求2所述的裝置,其中所述密碼引擎還被配置為執(zhí)行第二功能。
8.如權(quán)利要求7所述的裝置,其中所述第二功能包括標(biāo)記不合需要的數(shù)據(jù)以待丟棄。
9.如權(quán)利要求2所述的裝置,其中所述MAC包括ASIC,該ASIC還被配置為交換結(jié)構(gòu)。
10.如權(quán)利要求9所述的裝置,其中所述裝置被放置在路由器內(nèi)。
11.如權(quán)利要求10所述的裝置,其中所述密碼引擎還被配置為管理數(shù)據(jù)分組沖突。
12.一種在發(fā)送方PHY和接收方PHY之間提供鏈路層安全性的方法,所述方法包括通過(guò)所述發(fā)送方PHY接收來(lái)自第一MAC的數(shù)據(jù);通過(guò)所述發(fā)送方PHY對(duì)所述數(shù)據(jù)加密,以產(chǎn)生加密數(shù)據(jù);通過(guò)所述發(fā)送方PHY將所述加密數(shù)據(jù)發(fā)送到所述接收方PHY;通過(guò)所述接收方PHY接收所述加密數(shù)據(jù);通過(guò)所述接收方PHY對(duì)所述加密數(shù)據(jù)解密;以及將解密后的數(shù)據(jù)提供到第二MAC。
13.如權(quán)利要求12所述的方法,還包括以下動(dòng)作通過(guò)所述發(fā)送方PHY存儲(chǔ)所述加密數(shù)據(jù);確定是否發(fā)生分組沖突;以及如果發(fā)生沖突,則重新發(fā)送所述已存儲(chǔ)的加密數(shù)據(jù)。
14.一種可由機(jī)器讀取的程序存儲(chǔ)設(shè)備,其切實(shí)體現(xiàn)可由機(jī)器執(zhí)行以執(zhí)行以下方法的指令程序,所述方法包括通過(guò)所述發(fā)送方PHY接收來(lái)自第一MAC的數(shù)據(jù);通過(guò)所述發(fā)送方PHY對(duì)所述數(shù)據(jù)加密,以產(chǎn)生加密數(shù)據(jù);通過(guò)所述發(fā)送方PHY將所述加密數(shù)據(jù)發(fā)送到所述接收方PHY;通過(guò)所述接收方PHY接收所述加密數(shù)據(jù);通過(guò)所述接收方PHY對(duì)所述加密數(shù)據(jù)解密;以及將解密后的數(shù)據(jù)提供到第二MAC。
15.如權(quán)利要求14所述的設(shè)備,其中所述方法還包括以下動(dòng)作通過(guò)所述發(fā)送方PHY存儲(chǔ)所述加密數(shù)據(jù);確定是否發(fā)生分組沖突;以及如果發(fā)生沖突,則重新發(fā)送所述已存儲(chǔ)的加密數(shù)據(jù)。
16.一種用于在物理層收發(fā)器(PHY)中提供鏈路層安全性的裝置,包括用于接收來(lái)自第一MAC的數(shù)據(jù)的裝置;用于對(duì)所述數(shù)據(jù)加密以產(chǎn)生加密數(shù)據(jù)的裝置;用于將所述加密數(shù)據(jù)發(fā)送到所述接收方PHY的裝置;用于接收所述加密數(shù)據(jù)的裝置;用于對(duì)所述加密數(shù)據(jù)解密的裝置;以及用于將解密后的數(shù)據(jù)提供到第二MAC的裝置。
17.如權(quán)利要求16所述的裝置,還包括用于存儲(chǔ)所述加密數(shù)據(jù)的裝置;用于確定是否發(fā)生分組沖突的裝置;以及用于重新發(fā)送所述已存儲(chǔ)的加密數(shù)據(jù)的裝置。
18.如權(quán)利要求17所述的裝置,其中所述密碼引擎裝置還被配置為執(zhí)行第二功能。
19.如權(quán)利要求18所述的裝置,其中所述第二功能包括數(shù)據(jù)壓縮。
20.如權(quán)利要求16所述的裝置,其中所述MAC還包括交換結(jié)構(gòu)裝置。
全文摘要
公開了用于在物理層收發(fā)器(PHY)中提供鏈路層安全性的裝置。在一個(gè)實(shí)施例中,該裝置可以包括被配置為與數(shù)據(jù)傳輸介質(zhì)接口的模擬電路、被配置為與介質(zhì)訪問(wèn)控制器(MAC)接口的數(shù)字電路以及耦合到該數(shù)字電路的密碼引擎。
文檔編號(hào)H04L12/66GK1856951SQ200480026328
公開日2006年11月1日 申請(qǐng)日期2004年9月30日 優(yōu)先權(quán)日2003年9月30日
發(fā)明者丹尼爾·C·比德爾曼, 楊李卓 申請(qǐng)人:思科技術(shù)公司