【WLAN從入門到精通-基礎篇】第8期——STA接入過程 上期和大家分享了FIT AP在AC上的上線過程,其實無論是FAT AP還是上線的FIT AP,最終目的都是要用來提供無線網絡覆蓋環(huán)境,以供無線終端STA接入。這樣我們才能在日常的生活和工作中,在無線網絡覆蓋范圍內,通過便捷的無線方式,經AP連接到網絡中,進行娛樂或辦公。本期將要為大家介紹的是在無線網絡環(huán)境中,STA是如何接入到AP上的——STA接入過程。 上一回我們說到FIT AP經過一段不輕松的過程,成功拜入AC師傅的門下,獲得師傅的認可后,修習了高深的內功,此后,和諸位師兄弟一起,被師傅委以重任。在玉樹臨風風流倜儻才高八斗學富五車的師傅的英明領導下,眾師兄弟齊心協力建立起了名噪一時的龍門鏢局,師傅AC任總鏢頭,AP作為鏢師專為各類主顧押鏢。龍門鏢局以響應主顧速度快,托鏢安全有保障而為眾人熟知。故坊間有傳言“挖掘技術哪家強,中國山東找藍翔;托運鏢物誰最能,首屈一指是龍門”。經過一段時間的打拼,龍門鏢局現已名聲在外,能夠走到這一步,鏢局處理托鏢事務的標準規(guī)范流程起了重要的作用。那么我們就來看看要想找龍門鏢局托鏢,具體需要怎么做吧。 主顧STA找鏢局托鏢,具體過程有三: 其一、尋找到滿意的鏢師AP(掃描:用于STA發(fā)現無線網絡); 其二、向鏢師出示自己的托鏢資格(鏈路認證:STA和AP間無線鏈路的認證過程,通過了這個認證,才表示STA有資格和AP建立無線鏈路); 其三、簽訂托鏢協議(關聯:確定STA有資格和AP建立無線鏈路后,STA還需要與AP協商無線鏈路的服務參數,才能完成無線鏈路的建立)。 本文以STA找鏢局托鏢的流程來喻指STA接入過程,托鏢則指數據傳輸。這里我們說的STA接入過程,包括三個階段:掃描、鏈路認證和關聯。 完成了這三個階段后,STA就連接上了AP。后續(xù)STA還要根據實際情況,來決定STA是獲取IP地址后就可以接入網絡,還是需要再進行各種接入認證和密鑰協商后才能接入網絡(圖中是以Portal認證的流程為例,獲取IP是在接入認證之前,不同的認證方式獲取IP的順序可能不一樣,例如MAC認證,獲取IP是在接入認證之后進行的)。 Ps:接入認證和密鑰協商不是一定要進行的,在STA關聯階段,STA會根據收到的關聯回應報文來決定是否需要進行接入認證和密鑰協商。具體會在后面的關聯階段描述。但在實際的應用中,考慮到無線網絡的安全性,通常都會選擇進行接入認證和密鑰協商的。 第一階段:掃描 主顧STA在托鏢之前,首先要找到自己滿意的鏢師。因為鏢局為適應市場需求,在不同區(qū)域安排有不同的鏢師負責業(yè)務,而主顧可能會在不同的區(qū)域中移動,因此主顧就需要及時的了解到當前有哪些鏢師可以雇傭。主顧找到可雇傭鏢師的過程,用行話來說就是掃描。主顧可以主動的去尋找鏢師,也可以被動的等待鏢師推送給你的服務信息。 聯系到平時我們使用手機連接Wi-Fi之前,通常都是要先看看當前手機上能搜索到哪些無線信號,然后再選中一個網絡接入。圖中是手機搜索到的無線網絡,里面的那一串串字母是啥?對了,就是我們之前介紹過的SSID,也就是每個無線網絡的標志。而我們就是通過點擊其中的一個想要連接的SSID來進行聯網的。 其實在這里就體現了一個信息,要想連接無線網絡,就需要先搜索到無線網絡。STA搜索無線網絡的過程就叫做掃描。當然現在很多手機在開啟Wi-Fi連接功能的時候,如果以前連接的網絡能夠連上,會自動就連接以前的網絡,這是手機軟件為簡化用戶的操作而設計的功能,并不是說手機就不用再進行掃描過程了。實際上掃描過程是手機等這類STA自動進行的過程,我們在使用的時候,看到的已經是掃描到的結果了。 掃描分為兩類:主動掃描和被動掃描。正如字面的含義,主動掃描是指STA主動去探測搜索無線網絡,而被動掃描則是指STA只會被動的接收AP發(fā)送的無線信號。具體過程請看下文描述。 主動掃描 主動尋找鏢師的過程中,主顧STA會在其力所能及的范圍內,主動去尋找都有哪些鏢師可以幫忙押鏢?,F在STA已經前往鏢局,尋找所有能提供服務的鏢師。進入鏢局后,STA找了個稍高的位置站好,喊了一嗓子,“有鏢師可以幫忙托鏢沒,這有一宗大買賣”,也許是大買賣三個字引起了眾鏢師的關注,幾乎是最短的時間內,所有的鏢師的回應了STA的請求。一般按照龍門鏢局的規(guī)范要求,所有在位的鏢師都要回應主顧的需求,為的就是能夠讓主顧能夠完整的獲取到鏢師的信息,為主顧提供更多的選擇。而STA現在需要做的就是從中選擇一個最中意的鏢師。 主動掃描情況下,STA會主動在其所支持的信道上依次發(fā)送探測信號,用于探測周圍存在的無線網絡,STA發(fā)送的探測信號稱為探測請求幀(Probe Request)。探測請求幀又可以分為兩類,一類是未指定任何SSID,一類是指定了SSID的。 1、探測請求幀里面如果沒有指定SSID,就是意味著這個探測請求想要獲取到周圍所有能夠獲取到的無線網絡信號。所有收到這個廣播探測請求幀的AP都會回應STA,并表明自己的SSID是什么,這樣STA就能夠搜索到周圍的所有無線網絡了。(注意如果AP的無線網絡中配置了Beacon幀中隱藏SSID的功能,此時AP是不會回應STA的廣播型探測請求幀的,STA也就無法通過這種方式獲取到SSID信息。) 有時候STA發(fā)現熱情的鏢師實在是太多了,為了能夠迅速找到想要雇傭的鏢師,STA會直接喊出鏢師的名字,這樣其他的鏢師自然不會再來打擾,而只有被點名的鏢師才會找上前來,與主顧溝通交流。 2、探測請求幀中指定了SSID,這就表示STA只想找到特定的SSID,不需要除指定SSID之外的其它無線網絡。AP收到了請求幀后,只有發(fā)現請求幀中的SSID和自己的SSID是相同的情況下,才會回應STA。 被動掃描 除了通過主動去鏢局的方式尋找鏢師外,鏢師也會定期發(fā)送信息或傳單來告訴主顧們這里有鏢師可以提供押鏢服務。通過這些主動送上門的信息或傳單上的聯系方式,STA也能找到可以雇傭的鏢師。這樣做的好處當然就是讓主顧更加的省力省事了。 被動掃描情況下,STA是不會主動發(fā)送探測請求報文的,它要做的就只是被動的接收AP定期發(fā)送的信標幀(Beacon幀)。 AP的Beacon幀中,會包含有AP的SSID和支持速率等等信息,AP會定期的向外廣播發(fā)送Beacon幀。例如AP發(fā)送Beacon幀的默認周期為100ms,即AP每100ms都會廣播發(fā)送一次Beacon幀。STA就是通過在其支持的每個信道上偵聽Beacon幀,來獲知周圍存在的無線網絡。(注意如果無線網絡中配置了Beacon幀中隱藏SSID的功能,此時AP發(fā)送的Beacon幀中攜帶的SSID是空字符串,這樣STA是無法從Beacon幀中獲取到SSID信息的。) STA是通過主動掃描還是被動掃描來搜索無線信號呢?這完全是由STA的支持情況來決定的。手機或電腦的無線網卡,一般來說這兩種掃描方式都會支持。無論是主動掃描還是被動掃描探測到的無線網絡都會顯示在手機或電腦的網絡連接中,供使用者選擇接入。而一般VoIP語音終端通常會使用被動掃描方式,其目的是可以節(jié)省電量。 當手機掃描到無線網絡信號后,我們就可以選擇接入哪個網絡了,這時STA就需要進入鏈路認證階段了。 第二階段:鏈路認證 當STA找到滿意的鏢師后,并不能夠直接就讓鏢師押送貨物,而是需要先通過鏢師的認證,驗證STA的合法資格后才能簽訂押鏢協議,避免不合法或惡意的STA進行不可告人的活動。 龍門鏢局為主顧們提供了好幾種服務套餐(安全策略),每種服務套餐都會包含有不同的方式來驗證STA的合法資格。但總的來說驗證STA資格的方式分有兩種:開放系統認證和共享密鑰認證。 STA和AP之間是通過無線鏈路進行連接的,在建立這個鏈路的過程中,需要要求STA通過無線鏈路的認證,只有通過認證后才能進行STA和AP之間的無線關聯。但此時尚不能判斷,STA是否有接入無線網絡的權限,需要根據后續(xù)STA是否要進行接入認證、是否通過接入認證才能判斷。 一說到認證,可能大家就會想到802.1X認證、PSK認證、Open認證等等一堆的認證方式。那這些認證方式和鏈路認證有什么關系呢?在解決這個問題前,我們先來簡單的了解下安全策略。 安全策略體現的是一整套的安全機制,它包括無線鏈路建立時的鏈路認證方式,無線用戶上線時的用戶接入認證方式和無線用戶傳輸數據業(yè)務時的數據加密方式。如同下表中,列舉出來幾種安全策略所對應的鏈路認證、接入認證和數據加密的方式。
這里再配合下面這張圖一起理解下。鏈路認證和接入認證是先后兩個不同階段的認證。 從表中可以看出,安全策略可分為WEP、WPA、WPA2和WAPI幾種,這幾種安全策略對應的鏈路認證其實只有Open和Shared-key Authentication兩種,而802.1X和PSK則是屬于接入認證方式。另外用戶接入認證方式其實還包括表中未列出的MAC認證和Portal認證。 (Ps:更多的安全策略、MAC認證和Portal認證的內容,可以參考WLAN安全特性和安全特性的特性描述。) 現在回到我們的主題上來,鏈路認證包括Open和Shared-key Authentication,具體認證過程是怎么樣的呢? 開放系統認證(Open System Authentication) 為加快鏢師處理業(yè)務的速度能力,龍門鏢局使用了一種叫做開放系統認證的方式來檢查主顧的合法資格,只要主顧有托鏢請求,鏢師都會直接同意。當然這樣做會存在安全隱患,讓不合法的主顧有機可趁,所以為了提高鏢局的安全保障,通常配合這套認證方式,會在后面的托鏢流程中再進行一次嚴格的方式來專門檢查主顧的合法資格。 開放系統認證簡稱就是Open認證,又叫不認證。但是要注意,不認證也是一種認證方式,只不過這種鏈路認證方式下,只要有STA發(fā)送認證請求,AP都會允許其認證成功,是一種不安全的認證方式,所以實際使用中這種鏈路認證方式通常會和其它的接入認證方式結合使用,以提高安全性。 共享密鑰認證(Shared-key Authentication) 另一種方式叫共享密鑰認證,需要主顧和鏢師間先確定好一個暗語,主顧發(fā)出托鏢請求后,鏢師會用暗語的方式驗證主顧的身份合法性。通過了認證會給主顧辦理托鏢業(yè)務。 看到共享密鑰認證,從名稱上很容易就讓人聯想到預共享密鑰認證PSK(Pre-shared key Authentication),其實共享密鑰認證是一種鏈路認證方式,而預共享密鑰認證是一種用戶接入認證方式,兩種認證方式的過程實際上是類似的。 共享密鑰認證的過程只有四個步驟,在認證前,需要在STA和AP上都配置相同的密鑰,否則是不能認證成功的。 認證的第一步,是由STA向AP發(fā)送一個認證請求。 接著,AP在收到請求后會生成一個挑戰(zhàn)短語,再將這個挑戰(zhàn)短語發(fā)送給STA,假設這個挑戰(zhàn)短語是A。 然后,STA會用自己的密鑰Key將挑戰(zhàn)短語進行加密,加密后再發(fā)給AP,假設加密后變?yōu)榱薆。 最后,AP收到STA的加密后信息B,用自己的密鑰Key進行解密。只要STA和AP上的密鑰配置的一致,解密出來的結果就會是A,AP會將這個結果與最開始發(fā)給STA的挑戰(zhàn)短語進行對比,發(fā)現結果一致,則告知STA認證成功,結果不一致則就會認證失敗。 鏈路認證成功后,STA就可以進行下一步的關聯階段了。 第三階段:關聯 驗證完了主顧的合法資格后,鏢師將主顧請到會客室,準備簽訂托鏢協議。STA將準備好的各類協議材料提交給鏢師,然后鏢師會把這些材料遞交給鏢頭,由現任的鏢頭AC來審核簽訂協議。審核簽訂完成后,鏢師再把鏢頭的審核簽訂結果遞交給主顧。至此,STA完成了托鏢的流程。 關聯總是由STA發(fā)起的,實際上關聯就是STA和AP間無線鏈路服務協商的過程。 關聯階段也是一個只有關聯請求和回應的兩步的過程。 STA在發(fā)送的關聯請求幀中,會包含一些信息,包括STA自身的各種參數,以及根據服務配置選擇的各種參數。(主要包括STA支持的速率、信道、QoS的能力,以及選擇的接入認證和加密算法等等。)如果是FAT AP收到了STA的關聯請求,那么FAT AP會直接判斷STA后續(xù)是否要進行接入認證并回應STA;如果是FIT AP接收到了STA的關聯請求,FIT AP要負責將請求報文進行CAPWAP封裝后發(fā)送給AC,由AC進行判斷處理,并且FIT AP還要負責將AC的處理結果解CAPWAP封裝后再發(fā)送給STA。(在這個過程中FIT AP起到一個傳話筒的作用,且AP和AP間的這類關聯報文需要通過CAPWAP隧道傳輸。) 托鏢協議簽訂完成后,根據主顧選擇的服務套餐,后續(xù)會有不同的托鏢流程。例如,主顧選擇的是WEP安全策略的服務套餐(例如Open+不加密),這種情況下,協議簽訂完成后,STA獲取一個臨時聯系方式(獲取IP地址),就可以通過鏢局發(fā)鏢了。如果主顧選擇的是WPA安全策略的服務套餐(例如Open+802.1X+CCMP),協議簽訂完成后,用戶獲取聯系方式后,還需要進行一輪新的身份權限認證(802.1X認證)和密鑰協商,成功后才能通過鏢局發(fā)鏢。 關聯完成后,表明STA和AP間已經建立好了無線鏈路,如果沒有配置接入認證,STA在獲取到IP地址后就可以進行無線網絡的訪問了。如果配置了接入認證的,STA還需要完成接入認證、密鑰協商等階段才能進行網絡訪問。(如果接入認證失敗,僅可以訪問Guest VLAN中的網絡資源或Portal認證界面。) 其它階段 如前面鏈路認證階段所述,接入認證包括802.1X認證、PSK認證、MAC認證以及Portal認證。通過這些認證方式可以實現了對用戶身份的認證,提高了網絡的安全性,而密鑰協商是對用戶數據安全提供保障。完成接入認證和密鑰協商后,就可以進行網絡訪問了。限于本期的重點,詳細的內容不加以描述,有興趣了解這方面內容,可以參考WLAN安全和安全的特性描述。最后給大家分享個內涵故事,并用本期介紹的知識簡單分析下。一對新婚夫妻,老婆為了向某單身閨蜜秀優(yōu)越,帶著新婚的老公去看望該單身閨蜜,席間老婆拿出老公的IPhone6,習慣性的開啟了Wi-Fi,沒有輸入密碼,直接就連上了網絡。。。。。瞬間,她貌似明白了什么,默默的拿出了自己的手機,選擇連接閨蜜家的Wi-Fi,顯示這是一個安全的網絡,需要輸入密碼才能連接。她醒了,她徹底覺悟了——她的手機能關聯閨蜜家的WLAN,但她要輸入密碼才能使用閨蜜家的Wi-Fi。手機上能看到這個Wi-Fi網絡,表示手機成功的通過掃描過程找到了Wi-Fi網絡。老公的手機直接能連Wi-Fi,老婆的手機要輸密碼才能連,并且手機有顯示這是一個安全的網絡,表示閨蜜家的Wi-Fi是存在密碼認證的。手機連接過的Wi-Fi,通??梢源鎯ι洗芜B接時的一些信息,比如密碼,那么下次再連接的時候是不需要用戶重新輸入密碼,手機軟件直接幫忙輸入了。所以老公的手機一定是之前有連過閨蜜家的Wi-Fi,這次才會不用輸密碼就直接連上。那這個密碼是鏈路認證還是接入認證階段提示的呢,僅通過上面的信息是無法判斷的。因為鏈路認證可以采用共享密鑰加密方式,接入認證可以采用更多的(比如802.1X、PSK、Portal等)認證方式,兩者都需要輸入密碼,所以不能認為需要輸密碼就是接入認證,也有可能是鏈路認證。不過在實際使用中,鏈路認證通常使用Open認證,較少使用共享密鑰認證,所以一般情況下是接入認證提示密碼的可能性大。 THE END.
|
|