ဒီarticle လေးရေးဖြစ်သွားတဲ့အကြောင်းအရင်းကတော့ ဒီအပတ်ကျနော် KodeKloud ကနေ 100 Days of Cloud ဆိုတဲ့ challenge လေးလုပ်ရင်းနဲ့ အဲ့ဒီမှာ AWS ရဲ့ KMS နဲ့ ပတ်သတ်တဲ့ lab လေးတခုပါလာတယ်၊ အဲ့ lab လေးလုပ်ရင်းနဲ့မှတဆင့် encryption နဲ့ ပတ်သတ်တဲ့ အခြေခံအကြောင်းအရာတွေ sharing လုပ်ပေးဖို့ idea ရလာလို့ ရေးဖြစ်သွားတာပါ။
Encryption ဆိုတာဘာလဲ?
ကျနော်တို့ အင်တာနက်ပေါ်မှာ စာရိုက်လိုက်တိုင်း၊ ငွေလွှဲလိုက်တိုင်း ဒါမှမဟုတ် Website တစ်ခုခုကို ဝင်ကြည့်လိုက်တိုင်းမှာ ဒီအချက်အလက်တွေက တစ်ဖက်လူဆီကို ဘယ်လိုမျိုး လုံလုံခြုံခြုံ ရောက်သွားတာလဲ စဉ်းစားဖူးကြလားမသိဘူး? အဲ့ဒီနောက်ကွယ်ကနေ အလုပ်လုပ် ပေးနေတဲ့အရာ ကတော့ encryption ပံဖြစ်ပါတယ်။ Data တွေကို public network ကနေတဆင့် အချင်းချင်း ပေးပို့ကြတဲ့အခါ ကြားထည်းကတစုံတယောက်ကနေ eavesdropping လုပ်ပြီး အရေးကြီးတဲ့ သီတင်းအချက်အလက်တွေကို ခိုးယူလိုက်တာမျိုး ၊ ပြင်ဆင်လိုက်တာမျိုးစတဲ့ ပြဿနာတွေကို ကြုံတွေ့ရနိုင်ပါတယ်။ encryption ကိုအသုံးပြုလိုက်ချင်းအားဖြင့် အဲ့ဒီပြဿနာတွေကို တနည်းတဖုံ လျှော့ချပေးနိုင်ပါတယ်။ Encryption ဆိုတာကတော့ algorithm တွေကိုအသုံးပြုူပြီး data တွေကို readable format ကနေ unreadable format ကိုပြောင်းလဲကာ unauthorized access တွေကနေ ကာကွယ်ပေးတာဖြစ်ပါတယ်။ အခုတခါမှာတော့ Data encryption အတွက်အသုံးပြုတဲ့ technique တွေအများကြီးရှိတဲ့အထဲကမှ အဓိကကျတဲ့ symmetric encryption နဲ့ asymmetric encryption method ၂ခု အကြောင်းကို sharing လုပ်ချင်ပါတယ်။
Symmetric Encryption
symmetric encryption မှာတော့ encrypt အတွက်ကော decrypt အတွက် ကောကို key တခုထည်းကိုသာအသုံးပြုပါတယ်။ symmetric encryption အတွက်အသုံးများတဲ့ method တွေကတော့ AES(Advanced Encryption Standard) နဲ့ DES (Data Encryption Standard) တို့ဖြစ်ပါတယ်။
Symmetric Encryption ရဲ့အားသာချက်တွေကတော့ ရိုးရှင်းတယ်၊ data size ကြီးကြီးမားမားတွေကိုလည်း computational power နဲနဲ နဲ့ လျှင်လျှင်မြန်မြန် encrypt လုပ်နိုင်ချင်းတို့ဖြစ်ပါတယ်။ But သူ့မှာ အဓိကပြဿနာတခုရှိတယ် အဲ့ဒါကတော့ key distribution ပဲဖြစ်တယ်။ ပေးပို့မယ့်သူ (Sender) ကနေ လက်ခံမယ့်သူ (Recipient) ကို data ပို့တဲ့အခါကျရင် encrypt လုပ်ဖို့ key လိုတယ် အဲ့ဒီ Key ကို ဘယ်သူကပဲ ဖန်တီးဖန်တီး၊ နှစ်ယောက်လုံးဆီမှာ ဒီ Key အတူတူရှိနေဖို့ လိုပါတယ် but ပြဿနာက အဲ့ဒိ create လုပ်ထားတဲ့ key ကို အခြားတဖက်ဆီကို secure ဖြစ်ဖြစ်နဲ့ဘယ်လိုပေးမလည်းဆိုပြီးတွေးစရာရှိတယ်။ အဲ့ပြဿနာကို ဖြေရှင်းဖို့အတွက် နောက်ပိုင်းမှာ asymmetric encryption ဆိုပြီးတော့ပေါ်လာပါတယ်။

Asymmetric Encryption
Asymmetric encryption မှာတော့ symmetric encryption နဲ့မတူတော့ပဲ public key နဲ့ private key ဆိုပြီး key ၂ခုကိုအသုံးပြုပါတယ်။ public key ကိုတော့ encryption အတွက်အသုံးပြုပြီး private key ကိုတော့ decryption အတွက်အသုံးပြုပါတယ်။ asymmetric encryption အတွက်အသုံးများတဲ့ method တွေကတော့ RSA (Rivest–Shamir–Adleman) နဲ့ ECC ( Elliptic Curve Cryptography ) တို့ဖြစ်ပါတယ်။
Asymmetric encryption မှာဆိုရင် Data လက်ခံမယ့်သူ (Recipient) ကပဲ public key နဲ့ private key ၂ခုစလုံးကို generate လုပ်ထားဖို့လိုအပ်ပါတယ်။ ပြီးတာနဲ့ လက်ခံမယ့်သူ (Recipient) က သူ့ရဲ့ Public Key ကို လူတိုင်း (သို့မဟုတ်) ပေးပို့မယ့်သူ (Sender) ဆီကို မျှဝေပေးလိုက်ပါတယ်။ Sender ကနေ Recipient ကို data ပို့ချင်တဲ့အခါ ပို့ချင်တဲ့ data တွေကို public key နဲ့ encrypt လုပ်ပြီးမှ Recipient ဆီပေးပို့လိုက်တယ်။ Data ကို လက်ခံရရှိတာနဲ့တပြိုင်နက် Recipient က သူ့ရဲ့ private key ကို အသုံးပြုပြီး decrypt လုပ်လိုက်တာဖြစ်ပါတယ်။ But asymmetric encryption ရဲ့ပြဿနာကတော့ complex algorithm တွေကိုအသုံးပြုရတဲ့အတွက် encryption, decryption ပြုလုပ်ရာမှာ symmetric encryption ထက်ပိုမိုနှေးကွေးတဲ့အပြင် computing power တော်တော်များများကို အသုံးပြုရတာပဲဖြစ်ပါတယ်။

အခုနောက်ပိုင်းမှာတော့ ဒီနည်းလမ်း (၂) ခုစလုံးရဲ့ အားသာချက်တွေကို ပေါင်းစပ်ပြီး အသုံးပြုလာကြပါတယ်။။ SSL/TLS ကတောအဲ့အတွက် အကောင်းဆုံး ဉပမာဖြစ်ပါတယ်။ သူက Keyတွေ ဖလှယ်ဖို့အတွက် Asymmetric ကိုသုံးပြီး၊ တကယ့် Data တွေ ပို့တဲ့အခါမှာတော့ မြန်ဆန်တဲ့ Symmetric ကို ပြောင်းသုံးသွားတာ ဖြစ်ပါတယ်။ နောက်ပိုင်း အခွင့်ကြုံတဲ့အခါကျရင် SSL/TLS နဲ့ ပတ်သက်ပြီး ကျနော် လေ့လာမိသလောက်လေးကို ထပ်မံမျှဝေပေးသွားဖို့ စဉ်းစားထားပါတယ်။
Discussion
Join the conversation
How do you feel about this article?
Comments
Sign in to join the conversation
Sign in to be the first to comment!
Share Your Article
Share with your professional network
Recent Articles

AWS - Application Load Balancer
Elastic Load Balancing (ELB) ELB ဆိုတာကတော့ request တွေကို တစ်နေရာတည်းမှ လက်ခံကာ Amazon EC2 instances၊ containers, etc.....

Terraform Day 3: Benefits of Terraform State
Terraform ကိုလေ့လာ တဲ့အခါ ကျွန််တော်တို့ရဲ့ Project Folder ထဲမှာ terraform.tfstate ဆိုတဲ့ ဖိုင်လေးကို တွေ့ဖူးကြပါလိမ့်မယ...

Terraform Day 2: Essential IaC Principles You Must Know
မနေ့ကတော့ Terraform အကြောင်း အကြမ်းဖျင်း Concept ကို ပြောပြခဲ့ပြီးပြီဆိုတော့ ဒီနေ့မှာတော့ Terraform ကို Professional ကျက...

TCP/IP Protocol
အားလုံးပဲမင်္ဂလာပါ။ ဒီနေ့ ကျွန်တော်တို့ TCP/IP Protocol အကြောင်း ဆွေးနွေးသွားပါမယ်။ ပထမဆုံးအနေနဲ့ TCP/IP ရဲ့ History လေး...

Terraform Day 1: Introduction to IAC and Terraform
ကျွန်တော်တို့ cloud အကြောင်း စပြောကြပြီဆိုရင် အရင်ဆုံး ခေါင်းထဲရောက်လာတာ Console ထဲဝင်၊ UI ကနေ ခလုတ်လေးတွေ လိုက်နှိပ်ပြီ...

