Thursday, June 2, 2016

Point to Point Protocol (PPP) ဆိုတာ (၁)


          ကၽြန္ေတာ္တို႕ PPP ကို lab ေတြလုပ္ေနတဲ့အခ်ိန္မွာ တစ္ဖက္ကလည္း PPP နဲ႕ပါတ္သက္ၿပီး theoretical ေလးကိုလည္းရွင္းျပေပးပါ့မယ္။ PPP ဆိုတာ open standard protocol တစ္ခုျဖစ္ၿပီး သူ႕ကို serial link ေတြကိုအသံုးျပဳၿပီး point-to-point ခ်ိတ္ဆက္တဲ့ network ေတြမွာအသံုးျပဳတာျဖစ္ပါတယ္။ သူ႕ရဲ႕ရည္ရြယ္ခ်က္ကေတာ့ layer 3 packets ေတြကို point-to-point ခ်ိတ္ဆက္ထားတဲ့ data link layer ေတြအေပၚမွာ ပို႕ေဆာင္ေပးဖို႕အတြက္ျဖစ္ပါတယ္။ သူ႕ေအာက္မွာ protocol ႏွစ္ခု ထပ္မံပါ၀င္ပါတယ္။ အဲဒါေတြကေတာ့
၁) Link control protocol (LCP) နဲ႕
၂) Network control protocol (NCP) တို႕ပဲျဖစ္ပါတယ္။




PPP ဟာ LCP ကိုအသံုးျပဳၿပီး layer 2 အတြက္လိုအပ္တဲ့ service ေတြကိုအရင္ျပဳလုပ္ေပးပါတယ္။ ၿပီးၿပီဆိုရင္ေတာ့ NCP ကိုအသံုးျပဳၿပီး layer 3 အေပၚမွာအသံုးျပဳမယ့္ IP နဲ႕အျခား protocol ေတြအတြက္ PPP link အေပၚမွာ ေကာင္းမြန္စြာလုပ္ေဆာင္ႏိုင္ဖို႕အတြက္ ေဆာင္ရြက္ပါတယ္။ သို႕ေသာ္ မွတ္ထားရမွာက PPP ဆိုတာ Data link layer မွာအလုပ္လုပ္တဲ့ protocol ျဖစ္တယ္ဆိုတာပါပဲ။

Establish a PPP session
          PPP link တစ္ခုေအာင္ျမင္စြာတည္ေဆာက္ၿပီစီးဖို႕အတြက္ လုပ္ငန္းစဥ္ ၃ မ်ိဳးကိုလုပ္ေဆာင္ရပါတယ္။


1)    ပထမဦးဆံုး PPP ကိုအသံုးျပဳထားတဲ့ device ႏွစ္ခုဟာ LCP packets ေတြကိုအျပန္အလွန္ပို႕ၾကၿပီး link ကိုစစ္ေဆးျခင္း၊ connection တည္ေဆာက္ျခင္း တို႕ကိုျပဳလုပ္ပါတယ္။
2)    ေနာက္တစ္ဆင့္အေနနဲ႕ ကၽြန္ေတာ္တို႕ဟာ PPP ကို configure လုပ္တဲ့အခါမွာ PAP သို႕ CHAP တစ္ခုခုကိုအသံုးျပဳၿပီး authentication ကိုျပဳလုပ္ထားခဲ့မယ္ဆိုလို႕ရွိရင္ အဲဒီ authentication process ေတြကိုျပဳလုပ္ပါတယ္။ ဒါကလည္း အျမဲလုပ္ေဆာင္တာမဟုတ္ပဲ authentication လုပ္ထားခဲ့မွသာလွ်င္ေဆာင္ရြက္မွာျဖစ္ပါတယ္။
3)    ေနာက္ဆံုးမွာေတာ့ NCP packet ေတြကိုပို႕ၾကၿပီး link ေပၚမွာ ဘယ္ layer 3 protocol ေတြကို အသံုးျပဳေဆာင္ရြက္ၿပီးေတာ့ encapsulation လုပ္မယ္ဆိုတာေတြကိုေဆာင္ရြက္ပါတယ္။

ဒီေနရာမွာ မွတ္သားရမွာေလးေတြရွိပါတယ္။ ပံုမွန္အားျဖင့္ cisco router ႏွစ္လံုး serial link ကိုအသံုးျပဳၿပီး ခ်ိတ္ဆက္ၾကတဲ့အခါမွာ default encapsulation protocol (HDLC) ကိုအသံုးျပဳပါတယ္။ သူကေတာ့ cisco proprietary protocol ျဖစ္ပါတယ္။ ဒါ့ေၾကာင့္ အျခား non-cisco router မ်ားနဲ႕ခ်ိတ္ဆက္တဲ့အခါမွာေတာ့ open standard protocol တစ္ခုျဖစ္တဲ့ PPP ကိုအသံုးျပဳရမွာျဖစ္ပါတယ္။

PPP authentication Methods
          PPP မွာ built-in security mechanisms ေတြျဖစ္တဲ့ Password Authentication Protocol (PAP) နဲ႕ Chellenge Handshake Authentication Protocol (CHAP) တို႕ပါ၀င္လာပါတယ္။


          PAP ရဲ႕ authentication ကေတာ့ PPP client router ကေန server ဆီကို username နဲ႕ password ပါတဲ့ message ကိုပို႕လိုက္တယ္။ ဒါကို PPP server router က စစ္ေဆးၿပီး မွန္ရင္ accept လုပ္ၿပီး၊ မွားခဲ့ရင္ေတာ့ deny လုပ္ၿပီး connection ကိုျဖဳတ္ခ်ပါတယ္။ ဒါကို two-way handshake authentication လို႕ေခၚဆိုၿပီး PAP ရဲ႕အားနည္းခ်က္ကေတာ့ username နဲ႕ password ေတြကို clear text နဲ႕ပို႕တာပဲျဖစ္ပါတယ္။ ဒါဟာ ၾကားမွာ attacker တစ္ေယာက္ရဲ႕ၾကားျဖတ္ခ်ိတ္ဆက္ျခင္းကိုခံရႏိုင္တဲ့အေန အထားတစ္ခုျဖစ္ပါတယ္။

CHAP authentication methods
          CHAP ကေတာ့ three-way handshake authentication process ကိုအသံုးျပဳၿပီး PAP ထက္ပိုၿပီးရႈပ္ေထြးတဲ့ encrypted text ကိုအသံုးျပဳပါတယ္။



1)    Server က ပထမဆံုးအေနနဲ႕ encrypt လုပ္ထားတဲ့ message တစ္ခုကို client ဆီကိုပို႕ေပးတယ္။



2)    PPP client ဟာ server ဆီကရလာတဲ့ message သို႕ challenge ကို သူ႕မွာရွိတဲ့ password ကိုအသံုးျပဳျပီး decrypt လုပ္ပါတယ္။ ေနာက္ၿပီး ရလာတဲ့ result ကို server ဆီကိုျပန္ပို႕ေပးပါတယ္။



3)    ေနာက္ဆံုးမွာေတာ့ server ဟာ သူ႕မွာရွိတဲ့ result နဲ႕ client ဆီကရလာတဲ့ result ကိုတိုက္ၾကည့္လို႕မွန္တယ္ဆိုရင္ connection ကိုတည္ေဆာက္ေပးၿပီး၊ မွားတယ္ဆိုရင္ေတာ့ connection ကိုျဖဳတ္ခ်လိုက္ပါတယ္။

PAP နဲ႕ CHAP ၾကား အဓိကကြာျခားခ်က္က PAP ဟာ link ေပၚကေနၿပီး plain-text username နဲ႕ password ေတြကိုပို႕ၿပီး authentication  လုပ္တယ္။ ဒါေပမဲ့ CHAP ကေတာ့ random message တစ္ခုကိုသာပို႕လိုက္ၿပီး သက္ဆိုင္ရာ clinet ဆီမွာသာ username နဲ႕ password ကိုအသံုးျပဳၿပီး decrypt လုပ္တာပဲျဖစ္လို႕ username နဲ႕ password ကို link ေပၚမွာမပို႕ေဆာင္ပါဘူး။
အျခားကြဲျပားတာတစ္ခုကေတာ့ PAP ဟာ link ကိုစၿပီးတည္ေဆာက္တဲ့အခ်ိန္တစ္ခုမွာသာ authentication ျပဳလုပ္တာျဖစ္ပါတယ္။ CHAP ကေတာ့ link ကိုတည္ေဆာက္တဲ့အခ်ိန္မွာအျပင္ တည္ေဆာက္ၿပီးတဲ့အခ်ိန္ေတြမွာလည္း အခ်ိန္အပိုင္းအျခားအလိုက္ random text ေတြကိုပို႕ေနတာေၾကာင့္ attacker တစ္ေယာက္ဟာ copy ကူးယူၿပီး ခ်ိတ္ဆက္လို႕မရေအာင္ ( playback attack ) ကိုကာကြယ္ၿပီးသားျဖစ္ေစပါတယ္။
         






No comments:

Post a Comment