Public Key Cryptography နှင့် Internet ပေါ်တွင် လျို့ဝှက်စွာ ဆက်သွယ်ခြင်း နည်းနာများ (Part 1)

ကျတော်တို့ အသုံးပြုနေတဲ့ Phone တွေ၊ Laptop တွေ အားလုံး internet ကို ချိတ်ဆက်အသုံးပြုကြပြီ ဆိုရင် Device တစ်ခုနဲ့ တစ်ခု Data တွေ ရယူကြတာ ပေးပို့ကြတာဟာ အခြေခံပဲ ဖြစ်ပါတယ်။

အဲ့လို Data တွေကို ပေးပို့တဲ့ အခါ မိမိပို့တဲ့ အချက်အလက်တွေကို ဖြစ်စေ လက်ခံတဲ့ အရာတွေကိုဖြစ်စေ မသိစေလိုတဲ့သူမသိနိုင်ဖို့ လုံခြုံရေး အစီအမံတွေ ဆောင်ရွက်ထားရပါတယ်။ ယနေ့ခေတ်မှာဆိုရင်တော့ HTTPS လို့အများကြားဖူးကြမယ့် နည်းပညာကို အသုံးပြုပြီး အင်တာနက်မှာ ဆက်သွယ်ကြတာ ဖြစ်ပါတယ်။ တကယ်တော့ ဒီနည်းပညာက ချက်ချင်းကြီး ပေါ်ပေါက်လာတာတော့ မဟုတ်ပါဘူး။ ရှေ့မှာ အခက်အခဲမျိုးစုံ အဆင့်မျိုးစုံ ဖြတ်သန်းပြီးမှ ပေါ်ပေါက်လာတာပါ။ ဒါကြောင့် ယနေ့ခေတ် internet နဲ့ computer security ရဲ့ အဓိကကျတဲ့ အခြေခံဖြစ်တဲ့ public key cryptography အကြောင်းလေးကို အများနားလည်အောင် လေ့လာကြည့်ကြပါမယ်။

ငယ်ငယ်က သူငယ်ချင်းတွေနဲ့ ဖြစ်ဖြစ် (ရည်းစားနဲ့ဖြစ်ဖြစ်) လျှို့ဝှက်စာတွေပေးပြီး ဆော့ဖူးကြမယ်ထင်ပါတယ်။ ဥပမာ စာကို မိမိဆိုလိုတဲ့ အတိုင်းရေးပြီးပို့တာမျိုး
ဥပမာ- “မောင်မောင်ရေ၊ ကျောင်းဆင်းရင် မုန့်သွားစားရအောင်ကွာ”
ဆိုတာမျိုးကို စာချည်းပဲ plain text နဲ့ ပို့တယ်လို့ဆိုလိုပါတယ်။ ဒီစာကို ကြားဖတ်ဖတ်ယူတဲ့ သူမှန်သမျှက ဒီအဓိပ္ပာယ်ကို ဘာအားထုတ်မှုမှ မလိုဘဲ အလွယ်တကူသိရှိသွားမှာပဲဖြစ်ပါတယ်။

တကယ်တော့ ကျတော်တို့တွေ ဟိုးအရင်တစ်ချိန်က internet ပေါ်မှာ ဒီလိုပဲ plain text နဲ့ ပို့ခဲ့ကြဖူးပါတယ်။ ယနေ့ခေတ်လိုမျိုးသာဆိုရင်တော့ ကျွန်တော်တို့ submit/login ခလုတ်ကို နှိပ်လိုက်တိုင်း ကျတော်တို့ရဲ့ password တွေ bank account no. တွေသာ ဒီလိုမျိုးဆိုရင်တော့ မတွေးဝံ့စရာပါ။ ဒါပေမဲ့ ယနေ့မှာတော့ အဲ့လိုမဟုတ်တော့တာကြောင့် ဆက်ကြည့်ရအောင်။

အဲ့တာဆို ကျနော်တို့ တစ်ဆင့်တွေးကြည့်ရအောင်။ လူတိုင်းအလွယ်တကူမသိနိုင်အောင် အဆင့်တဆင့်ခံထားမယ်ပေါ့။ ဒါမျိုးငယ်ငယ်က လုပ်ဖူးတဲ့ သူတွေ ရှိမှာပါ။
ဥပမာ – 9,12,15,22,5,25,15,21 လို့ဂဏန်းတွေ စီရေးပြီး ပို့မယ်ပေါ့။

ရုတ်တရက်ကြည့်ရင်တော့ ချဲဂဏန်းလိုလိုရှိပေမယ့် တကယ်တော့ ILOVEYOU ဆိုတာကို alphabetically သူ့ position နဲ့သူ Map လုပ်ထားတာပါ။ (A ဆို 1, B ဆို 2, .. Z ဆို 26 ပေါ့)

ဒါလည်းတကယ်တော့ ဖောက်ထွင်းရခက်တဲ့ ကိစ္စတော့မဟုတ်ပါဘူး။ ကြားဖတ်ဖမ်းယူလို့ရတဲ့ သူတစ်ယောက်ဟာ အချိန်အနည်းငယ်ပေးပြီး ချက်ချင်းဝှက်စာရဲ့ အဓိပ္ပာယ်ကို သိရှိသွားမှာပဲဖြစ်ပါတယ်။

ဒါမျိုး ဝှက်စာနဲ့ ပို့တာကို Cipher လို့ခေါ်ပါတယ်။ အပေါ်က အများလည်းနားလည်အောင် အရှင်းဆုံး ကို ပြလိုက်တာပါ။

တကယ်တော့ တချို့နေရာတွေမှာ တကယ်အသုံးပြုခဲ့ဖူးတဲ့ cipher တွေက ဒီထက်အများကြီး ပိုရှုပ်ပါတယ်။ စာလုံးတစ်လုံးနဲ့ တစ်လုံးရွေ့တာ၊ အစားထိုးတာ စတာတွေ ရှုပ်ထွေးနေအောင် ပါဝင်ပါတယ်။

ဥပမာ – အလွယ်ဆုံးပြောရရင် Caesar Cipher ဆိုရင် နာမည်ကြီးပါတယ်။ ဒုတိယ ကမ္ဘာစစ်တုန်းက ဂျာမန်တို့ အသုံးပြုခဲ့တဲ့ Enigma machine ဆိုတာလည်း အလွန်ရှုပ်ထွေးတဲ့ cipher device တစ်ခုပါပဲ။

Cipher တွေရဲ့အဓိက အားနည်းချက်ကတော့ သူတို့ကို ဖြေရှင်းရတဲ့ နည်းလမ်းကို ကြားလူက သိရှိသွားရင် ပေါက်ကြားသွားတာပဲ ဖြစ်ပါတယ်။ လက်တလော ပို့တဲ့ အချက်အလက်တွေ သာမကပါဘူး အရင်က ဒီ cipher ကို သုံးပြီးပို့ခဲ့တာတွေ မှန်သမျှလည်း အကုန်ပေါက်ကြားပြီးဖြစ်ပါတယ်။

ဒီထက်ပိုဆိုးတဲ့ ပြသနာတစ်ခုရှိပါသေးတယ်။ ဆိုပါစို့။ ကျနော်တို့ သူငယ်ချင်း ၂ ယောက် လျို့ဝှက် ဆက်သွယ်ချင်တယ်ပေါ့။

အပေါ်ကလို Alphabet တွေကို နေရာနဲ့ map တာမဟုတ်ဘဲ အလွယ်တကူ ပေါက်ကြားမသွားမယ့် အဆင့်တွေအများကြီးပိုပါတယ့် နည်းနည်းခက်ခက်ခဲခဲ algorithm နည်းတစ်ခုကို ဖန်တီးထားတယ်ဆိုပါစို့။

ကျနော်က အဲ့လို algorithm တစ်ခုကို သုံးပြီး ကျနော်ပို့ချင်တဲ့ စာကို လျို့ဝှက်လိုက်မယ် (encrypt လိုက်မယ်) ဆိုရင် ကြားလူဖတ်မရတဲ့ စာတစ်ခုရရှိမှာပဲဖြစ်ပါတယ်။ အဲ့ algorithm ကို ဒီမှာတော့ Key လို့ပဲ အလွယ် သုံးနှုန်းပါ့မယ်။

ဒါပေမဲ့ပြဿနာက လက်ခံသူကျနော့်ရဲ့ သူငယ်ချင်းကလည်း ဒီ Key ကို သိနေမှ ကျနော်ပို့တာဖတ်လို့ရမှာပါ။ တူညီတဲ့ key ကိုပဲ အသုံးပြုပြီးသူက အချက်အလက်ကို ဖောက် decrypt လုပ်ပြီးတော့ ဖတ်ရမှာပါ။

ဒါမျိုးကို တူညီတဲ့ Key/algorithm ကိုပဲ encrypt/decrypt လုပ်တဲ့ နေရာမှာ သုံးထားတဲ့ အတွက် symmetric key encryption လို့ခေါ်ပါတယ်။ အပေါ်က ပြောခဲ့တဲ့ Cipher တွေအများစုကလည်း symmetric သဘောပါပဲ။ လုပ်နည်းသိရင် ဖြေနည်းသိတာပေါ့ အလွယ်ပြောရရင်။

အဲ့တော့ ဒီ Key ကို လက်ခံမယ့်သူ နဲ့ အရင် share ရပါမယ်။ ဘေးအိမ်မှာ နေတဲ့ သူငယ်ချင်းကို လက်တို့ပြီး share တာ ပြသနာမရှိပေမယ့် public access ရတဲ့ နေရာမျိုး (ဥပမာ- အင်တာနက်) ပေါ်မှာ share ဖို့ကျတော့ အဆင်မပြေတော့ပါဘူး။

အချက်အလက်ကို အများမသိစေချင်လို့ Key နဲ့ encrypt ပို့ပါတယ်ဆိုမှ key ကို plain ကြီးတင် share တာဟာ စဉ်းစားကြည့်ရင် မုန့်လုံးစက္ကူကပ်သလို ပြသနာဖြစ်နေပါပြီ။

ဒါမှမဟုတ် ကိုယ်ပို့ချင်တဲ့သူကို အပြင်မှာ ကော်ဖီဆိုင်မှာ ချိန်းပြီး key ကို အရင် share မလား? ဒါလည်းအလုပ် မဟုတ်ပြန်ပါဘူး။

အဲ့တာကြောင့် အဲ့ပြသနာကို ဖြေရှင်းတဲ့ ယနေ့ခေတ် internet ဆက်သွယ်ရေးရဲ့ အခြေခံဖြစ်တဲ့ asymmetric key encryption ဆိုတာ ဖြစ်ပေါ်လာပါတယ်။

(Asymmetric Key Encryption အကြောင်းကို Part 2 မှာဆက်ဖတ်ပေးပါ)

Kevin

အသိအမြင်၊ အတွေးအခေါ် အသစ်တစ်ခုခုရသွားလို့ လှူဒါန်းလိုပါက Science Nuts (Facebook Page) ကို ဆက်သွယ်လှူဒါန်းနိုင်ပါတယ်။
လှူသမျှငွေအကုန်လုံးကို လိုအပ်တဲ့နေရာတွေမှာ ပြန်လည်လှူဒါန်းပေးသွားမှာပါ။

Leave a comment

Design a site like this with WordPress.com
Get started