What's Encryption?

What's Encryption?

AWS Key Management Service (KMS) ကို အသုံးပြု၍ AWS အတွင်းရှိ သင့် sensitive data တွေကို protect ပြုလုပ်ရန် နည်းလမ်းများကို မလေ့လာခင် KMS ကိုသုံးစွဲပြီး encryption way နည်းလမ်းများ၏ အခြေခံကို နားလည်ရန် အရေးကြီးပါသည်။ ဒါဟာ အသစ်သော encryption way နည်းလမ်းတွေအတွက် အကျိုးရှိနိုင်ပါသည်။

Unencrypted Data

Unencrypted data ဆိုသည်မှာ လက်ခံရရှိသည့် မည်သူမဆို ဝင်ရောက်‌ဖတ်ရှုနိုင်သည်။ ၎င်းကို plain text or clear text လို့လဲ ခေါ်ကြသည်။ ၎င်းတွင် sensitive information or confidential information တွေ မပါဝင်သေးသရွေ့ encryption မပြုလုပ်ထားလဲ ပြသနာမရှိပါ။ အကယ်၍ data သည် data at rest or in transit လိုမျိုး အခြေနေမျိုးတွင်လဲ no issue ပါ။

အကယ်၍ data တွင် sensitive ဖြစ်သည့် information တွေ customer data or financial records ကဲ့သို့ information တွေပါရှိခဲ့လျှင် only authorized person များသာ content ကို ကြည့်ရှုနိုင်ရန် သေချာစေဖို့ အလွန်အရေးကြီးပါသည်။

ထိုသို့သော အခြေနေမျိုးတွင် data ကို security ၏ additional layer တစ်ခုဖြစ်သည့် encryption ဖြင့် ထပ်ပေါင်းထည့်ရန် လိုအပ်သည်။

Data Encryption

Data encryption ဆိုတာ plain text data ကို mathematical algorithms and encryption keys တွေသုံးပြီး ဖတ်မရတဲ့ cipher text အဖြစ် ပြောင်းလဲတဲ့ လုပ်ငန်းစဉ်တစ်ခု ဖြစ်ပါတယ်။ data တွေကို encrypt လုပ်လိုက်တဲ့အခါ decrypt မလုပ်မချင်း ဖတ်လို့မရတဲ့ အခြေအနေ ဖြစ်သွားပါတယ်။ data ကို ပြန်ဖတ်လို့ရအောင် decrypt လုပ်ဖို့အတွက် encryption keys တွေ လိုအပ်ပါတယ်။

An encryption key ဆိုတာ encryption algorithm နဲ့အတူ အသုံးပြုတဲ့ ရိုးရှင်းတဲ့ a string of characters တစ်ခု ဖြစ်ပါတယ်။ Key က ရှည်လေ encryption က ပိုအားကောင်းလေ ဖြစ်ပါတယ်။ Keys တွေပါဝင်တဲ့ encryption နည်းလမ်းတွေမှာ အမျိုးအစား နှစ်မျိုးရှိတယ်။ symmetric cryptography နဲ့ asymmetric cryptography တို့ ဖြစ်ပါတယ်။ AWS Key Management Service (KMS) က ဒီနည်းလမ်း နှစ်မျိုးလုံးကို အသုံးပြုပါတယ်။

What's data at rest and data in transit?

Data at Rest: Data at Rest ဆိုတာ တစ်နေရာရာမှာ သိမ်းထားတဲ့၊ ရွှေ့မနေတဲ့၊ လွှဲမပြောင်းနေတဲ့ ဒေတာကို ဆိုလိုပါတယ်။ ဥပမာ -

  • Hard Drive ထဲမှာ သိမ်းထားတဲ့ data

  • Database တွေထဲမှာ သိမ်းထားတဲ့ data

  • Cloud Storage တွေမှာ သိမ်းထားတဲ့ data

  • တခြားမရွှေ့နိုင်တဲ့ device တွေမှာ သိမ်းထားတဲ့ data

ဒီလို တစ်နေရာတည်းမှာ သိမ်းထားတဲ့အတွက် Data at Rest ကို အခွင့်မရှိသူတွေ ဝင်ရောက်ကြည့်ရှုခြင်း၊ အသုံးပြုခြင်းတွေကနေ ကာကွယ်ဖို့နဲ့ လုံခြုံမှုရှိစေဖို့ encryption and access controls တွေနဲ့ ကာကွယ်ထားလေ့ရှိပါတယ်။

Data in Transit: Data in Transit ဆိုတာ တစ်နေရာကနေ နောက်တစ်နေရာကို ရွေ့ပြောင်းတာ၊ ပို့နေတဲ့ data ကို ဆိုလိုပါတယ်။ ဥပမာ -

  • Network တစ်ခုပေါ်မှာ သွားနေတဲ့ data

  • Data centers တွေကြား ပို့နေတဲ့ data

  • Client ကနေ Server ဆီ ပို့နေတဲ့ data

  • Storage environment အမျိုးမျိုးကြား ပို့နေတဲ့ data

Data in Transit က လမ်းခရီးမှာ interception ကြားဖြတ်ခံရနိုင်တဲ့ အန္တရာယ် vulnerable ပိုများတဲ့အတွက် လုံခြုံတဲ့ လွှဲပြောင်းမှု protocols များ (ဥပမာ - TLS သို့မဟုတ် HTTPS) နဲ့ လွှဲပြောင်းနေစဉ် encryption တွေ လိုအပ်ပါတယ်။ ဒါမှ data တွေကို လွှဲပြောင်းနေစဉ်မှာ အခွင့်မရှိသူတွေ ကြားဖြတ်ယူသွားခြင်းကနေ ကာကွယ်နိုင်မှာ ဖြစ်ပါတယ်။

Key Difference:

  • Data at Rest is static, in a "stored" state.

  • Data in Transit is actively moving, being transferred or communicated between locations.

What’s difference between Symmetric နှင့် Asymmetric encryption keys?

Asymmetric encryption တွင် keys နှစ်ခုခွဲခြားထားသည်။ တစ်ခုသည် data ကို encrypt လုပ်ရန် အသုံးပြုပြီး၊ အခြားတစ်ခုသည် data ကို decrypt လုပ်ရန် အသုံးပြုသည်။ ဤ keys များကို တစ်ချိန်တည်း၌ ဖန်တီးပြီး၊ သင်္ချာနည်းဗျူဟာ (mathematical strategy) တစ်ခုမှတစ်ဆင့် ဆက်စပ်ထားသည်။ တစ်ခုသည် private key အဖြစ် ယူဆပြီး၊ တစ်ဦးတည်းသာ ထိန်းသိမ်းထားသင့်သည်၊ ၎င်းကို မည်သူမျှ မမျှဝေသင့်ပါ။ အခြားတစ်ခုသည် public key အဖြစ် ယူဆပြီး၊ ၎င်းကို မည်သူကိုမဆို ပေးနိုင်သည်။ Public key ကို မည်သူမဆို ရရှိနိုင်သော်လည်း၊ private key မရှိဘဲ၊ encrypted ပြုလုပ်ထားသော data ကို decrypt မပြုလုပ်နိုင်ပါ။

Asymmetric encryption ကို အသုံးပြုသောအခါ၊ data ကို decrypt လုပ်ရန် private နှင့် public keys နှစ်ခုစလုံး လိုအပ်ပါသည်။

ဒါဆို ၎င်းဟာ ဘယ်လို အလုပ်လုပ်သလဲ?

တစ်စုံတစ်ဦးက သင့်အား encrypted message သို့မဟုတ် data ပေးလိုပါက၊ သူတို့သည် သင့် public key ကို အသုံးပြု၍ message ကို encrypt ပြုလုပ်မည်၊ ၎င်းကို မည်သူမဆို ရရှိနိုင်သည်။ message ကို သင့်ထံ ပေးပို့ပြီး၊ သင်၏ private key ကို အသုံးပြု၍ data ကို decrypt လုပ်ပါမည်။ ဤနည်းလမ်းဖြင့် သင့် private key ကို revealed လုပ်စရာမလိုဘဲ၊ encrypted data ကို မည်သူမဆို ပေးပို့နိုင်သည်။

Asymmetric cryptography algorithms တွင် ရှိသော example များမှာ RSA, Diffie-Hellman, နှင့် Digital Signature Algorithm တို့ဖြစ်သည်။

Symmetric encryption တွင်၊ တစ်ခုတည်းသော key ဖြင့် data ကို encrypt နှင့် decrypt လုပ်ရန် အသုံးပြုသည်။ ဥပမာအားဖြင့် တစ်စုံတစ်ဦးက symmetric encryption နည်းလမ်းကို အသုံးပြုပါက၊ data ကို key တစ်ခုဖြင့် encrypt လုပ်ပြီး၊ ထို data ကို access လုပ်ရန်အခါတွင်လဲ encrypted ပြုလုပ်စဥ်က အသုံးပြုခဲ့သော key ကို အသုံးပြု၍ data ကို decrypt လုပ်ပါမည်။ ထို့ကြောင့် ဤ key ကို နှစ်ဦးအကြား လုံခြုံစွာ ပေးပို့ရမည်၊ ဤနည်းလမ်းတွင် downside အားနည်းချက်တစ်ခု ရှိသည်။ key ကို ပေးပို့နေစဉ်တွင် တစ်စုံတစ်ဦးက intercepts ပြုလုပ်ပါက၊ Third party သည် ဒီ key နှင့် ဆက်စပ်နေသည့် မည်သည် data ကိုမဆို လွယ်ကူစွာ decrypt လုပ်နိုင်သည်။

Symmetric cryptography algorithms တွင် အသုံးပြုသော example များမှာ AES (Advanced Encryption Standard), DES (Digital Encryption Standard), Triple DES နှင့် Blowfish တို့ဖြစ်သည်။