我們學校使用的是華為的上網認證系統,應該也有很多學校也是使用這套系統吧。
網上有很詳細的關於802.1x的說明。簡單說一下。802.1x是使用的是eap協議,在rfc3748中有關於eap詳細的說明。不過在具體的實現上面每一公司都不同,總體的結構和互動的時序是符合標準的
。傳送的資料幀長度是60。可建立以下結構:
typedef
struct
exauthen
exauthen;
typedef
struct
authen
authen;
typedef
struct
eap_header
eap_header;
可以使用raw_scoket 進行程式設計,寫乙個客戶端,在winxp+sp2下可以使用wincap;
具體實現可以寫乙個狀態機類,實現起來比較簡單。
struct
state
//state(pcap_t *p):state(0),phandle(p){}
bool
start();
bool
logoff();
bool
response2();
bool
response3();
void
setstate(
inti)
void
changstate(eap_header *h)
elseif(
state==2
&&ex.code==1
//request
&&ex.type==7
//reserv??
)elseif(
state==3
&&ex.code==3
//succese
)else
if(state==4
&&ex.code==1
&&ex.type==1
)else
if(ex.code==4
//failure)}
}; 在研究過程,也感覺到,802.1x的安全性的確非常的高,ieee的確牛,幾乎沒有什麼可突破的。發現有兩個漏洞,
一:在傳送 log_off資料時,不需要驗證資訊,連id都不要。就可以使用別人的mac構造log_off資料報,讓對方下線。對於同乙個物理埠下,是可以實現。對於不同埠,是否可行沒有實驗。當然對於不同交換機是肯定不可行的(不明白的想一想)。
二:華為802.1x技術方案,有乙個特點是:使用者帳號+ip位址,來進行驗證。可以發現乙個問題,驗證時使用的ip可以和真實使用的ip不同。就是說我們可以使用非法的ip到處亂逛了,這對網路安全構成巨大的危險,「城堡常常是從內部攻破的」。那為什麼不在**ip資料時驗證呢?可能會有這樣的疑問。如果是這樣的話802.1x就不是802.1x了,他的優勢就一點都沒了,又回到原來的老路上面去了。這也這也正是我為什麼說「使用者帳號+ip位址」是雞肋的原因了。一項技術本身肯定具有其侷限性,我們不能要求他解決所有的網路安全問題,這是不大可能的,即使達到了也是事倍功半的。
下面轉貼貼網上找來的資料,講了不錯,第二點我上面講了:
///
隨著人們對網路邊緣安全的重視,802.1x認證逐漸被廣大使用者接受並使用,尤其在產業園區和高校宿舍區。作為年輕的優秀解決方案,她真的完美嗎?
在講述其缺陷之前,有必要來了解一下802.1認證的特點:
802.1x的邊緣安全是由啟用802.1x功能的交換機來實現的。其每個物理埠內部又分為受控埠和非受控埠,非受控埠只負責處理認證資料報,受控埠負責處理業務資料。登陸前,使用者只能通過非受控埠傳送和接收認證資料報(802.1x格式),而其他格式的資料報則無法通過受控埠;登陸後,受控埠對使用者開放,接受資料的傳輸。
在開發802.1x客戶端的過程中,發現了幾處缺陷:
(1)免撥號,就可以交換機範圍內通訊
根源:802.1x認證體系中,認證流與業務流是分離的。認證流具有不認證也可以通訊的能力(但不具有跨網段的能力)。
實現:如果使用者把自定義的資料格式代替了eap認證報文,並按需要改動一下目標mac,而交換機仍然把此資料報當成合格的802.1x認證包處理,但把它發給了指定的mac。這樣,就可以在不撥號的情況下進行資料傳輸。
後果:影響並不是很大。在同乙個交換機的通訊本來就是應該免費。由於客戶端必須由相應的軟體來分析自定義的資料報,所以本身不會產生安全隱患。
(2)ip繫結的缺陷
根源:根源依舊是認證流與業務流的分離。標準802.1協議是不支援ip繫結的,但幾乎所有廠商根據自己的產品進行了擴充套件,使其協議(私有)支援ip繫結.。其原理是把ip加入到eap資料報裡然後與認徵伺服器核實,確定是否正確。
實現:認證資料報採用自己的ip(運營商分配的)騙過伺服器的認證,而正常的資料通訊仍然採用真實ip。
後果:一方面,此缺陷可以造成ip管理混亂;另一方面,網路的監控系統將失靈,雖然仍然可以對ip進行監控,但無法知道ip對應了哪個使用者。這一點,對運營商來說是乙個巨大的挑戰。
目前,各廠商所稱道802.1x的優勢和安全性很大程度上依賴於私有撥號客戶端。如果一旦客戶端被破解,或者被仿造,那麼很多功能將形如虛設,比如限制**伺服器的使用、繫結ip、客戶端版本的限制等。很多廠商的802.1x校園網介紹中,幾乎有一句類似的話:學生能力有限,很難對客戶端進行破解。但這點著實讓人笑話,事實可以證明:自802.1x流行以後,幾乎每個運營商的客戶端都出現了破解版本,而且很多出於高校學生之手。對於某些學生來說,即使通過資料抓包,轉殖出完全一樣的客戶端也是易如反掌的。
在社會對網路安全日趨重視的今天,802.1x產品的開發者更應該注重協議安全的研究,而不是把賭注下在使用者的能力上。
802 1X協議介紹(認證) ielab
802.1x的認證觸發方式 802.1x的認證過程可以由客戶端主動發起,也可以由裝置端發起。裝置支援的認證觸發方式包括以下兩種 1.客戶端主動觸發方式2.裝置端主動觸發方式 裝置會每隔n秒 例如30秒 主動向客戶端傳送eap request identity報文來觸發認證,這種觸發方式用於支援不能主...
802 1X協議介紹(認證) ielab
802.1x的認證觸發方式 802.1x的認證過程可以由客戶端主動發起,也可以由裝置端發起。裝置支援的認證觸發方式包括以下兩種 1.客戶端主動觸發方式 另外,由於網路中有些裝置不支援上述的組播報文,使得認證裝置無法收到客戶端的認證請求,因此裝置端還支援廣播觸發方式,即,可以接收客戶端傳送的目的位址為...
802 1x協議解析
802.1x協議是由 美 電氣與電子工程師協會提出,剛剛完成標準化的乙個符合ieee 802協議集的區域網接入控制協議,其全稱為基於埠的訪問控制協議。它能夠在利用ieee 802區域網優勢的基礎上提供一種對連線到區域網的使用者進行認證和授權的手段,達到了接受合法使用者接入,保護網路安全的目的。802...