လုံခြုံရေးဟာ ရွေးချယ်စရာတစ်ခု မဟုတ်တော့ဘဲ အင်တာနက်နည်းပညာကျွမ်းကျင်သူတိုင်းအတွက် မဖြစ်မနေလိုအပ်တဲ့ သင်တန်းတစ်ခု ဖြစ်လာပါပြီ။ HTTP၊ HTTPS၊ SSL၊ TLS - နောက်ကွယ်မှာ ဘာတွေဖြစ်နေလဲဆိုတာ တကယ်နားလည်ပါသလား။ ဒီဆောင်းပါးမှာ ခေတ်မီ ကုဒ်ဝှက်ထားတဲ့ ဆက်သွယ်ရေးပရိုတိုကောတွေရဲ့ အဓိကယုတ္တိဗေဒကို သာမန်နဲ့ ပရော်ဖက်ရှင်နယ်နည်းလမ်းနဲ့ ရှင်းပြပေးမှာဖြစ်ပြီး "သော့ခလောက်တွေရဲ့နောက်ကွယ်က" လျှို့ဝှက်ချက်တွေကို မြင်သာတဲ့ စီးဆင်းမှုဇယားနဲ့ နားလည်အောင် ကူညီပေးပါမယ်။
HTTP ဘာကြောင့် "လုံခြုံမှုမရှိ" တာလဲ။ --- မိတ်ဆက်
အဲဒီ ရင်းနှီးပြီးသား browser သတိပေးချက်ကို မှတ်မိလား။
"မင်းရဲ့ ချိတ်ဆက်မှုက သီးသန့်မဟုတ်ဘူး။"
ဝဘ်ဆိုက်တစ်ခုသည် HTTPS ကို မထည့်သွင်းပါက အသုံးပြုသူ၏ အချက်အလက်အားလုံးကို ကွန်ရက်တစ်လျှောက် plaintext ဖြင့် ပြသပေးပါသည်။ သင်၏ login စကားဝှက်များ၊ ဘဏ်ကတ်နံပါတ်များနှင့် ကိုယ်ရေးကိုယ်တာ စကားပြောဆိုမှုများကိုပင် ကောင်းမွန်သော ဟက်ကာတစ်ဦးက ဖမ်းယူနိုင်ပါသည်။ ၎င်း၏ မူလအကြောင်းရင်းမှာ HTTP ၏ encryption မရှိခြင်းကြောင့် ဖြစ်သည်။
ဒါဆိုရင် HTTPS နဲ့ ၎င်းရဲ့နောက်ကွယ်က "ဂိတ်စောင့်" TLS က အင်တာနက်ပေါ်မှာ ဒေတာတွေ လုံခြုံစွာ သွားလာနိုင်အောင် ဘယ်လိုခွင့်ပြုပေးသလဲ။ အလွှာလိုက် ခွဲခြမ်းစိတ်ဖြာကြည့်ရအောင်။
HTTPS = HTTP + TLS/SSL --- ဖွဲ့စည်းပုံနှင့် အဓိကသဘောတရားများ
၁။ HTTPS ဆိုတာ အနှစ်ချုပ်အားဖြင့် ဘာလဲ။
HTTPS (HyperText Transfer Protocol Secure) = HTTP + ကုဒ်ဝှက်ခြင်းအလွှာ (TLS/SSL)
○ HTTP: ၎င်းသည် ဒေတာသယ်ယူပို့ဆောင်ရေးအတွက် တာဝန်ရှိသော်လည်း အကြောင်းအရာကို plaintext ဖြင့် မြင်နိုင်သည်။
○ TLS/SSL: HTTP ဆက်သွယ်မှုအတွက် "ကုဒ်ဝှက်ခြင်းအတွက် သော့ခတ်ခြင်း" ကို ပေးစွမ်းပြီး ဒေတာကို တရားဝင်ပေးပို့သူနှင့် လက်ခံသူသာ ဖြေရှင်းနိုင်သော ပဟေဠိတစ်ခုအဖြစ်သို့ ပြောင်းလဲပေးသည်။
ပုံ ၁: HTTP နှင့် HTTPS ဒေတာစီးဆင်းမှု။
ဘရောက်ဆာ လိပ်စာဘားရှိ "လော့ခ်" သည် TLS/SSL လုံခြုံရေးအလံဖြစ်သည်။
၂။ TLS နှင့် SSL အကြား ဆက်နွယ်မှုကား အဘယ်နည်း။
○ SSL (Secure Sockets Layer): ပြင်းထန်သော အားနည်းချက်များရှိကြောင်း တွေ့ရှိရသည့် အစောဆုံး cryptographic protocol။
○ TLS (သယ်ယူပို့ဆောင်ရေးအလွှာလုံခြုံရေး): SSL ၏ ဆက်ခံသူ၊ TLS 1.2 နှင့် ပိုမိုအဆင့်မြင့်သော TLS 1.3၊ ၎င်းတို့သည် လုံခြုံရေးနှင့် စွမ်းဆောင်ရည်တွင် သိသာထင်ရှားသော တိုးတက်မှုများကို ပေးဆောင်သည်။
ယနေ့ခေတ်တွင် "SSL လက်မှတ်များ" ဆိုသည်မှာ TLS protocol ၏ အကောင်အထည်ဖော်မှုများသာဖြစ်ပြီး extensions များကိုသာ အမည်ပေးထားသည်။
TLS ကို နက်နက်ရှိုင်းရှိုင်း လေ့လာခြင်း- HTTPS နောက်ကွယ်ရှိ လျှို့ဝှက်ကုဒ်ပညာ
၁။ လက်ဆွဲနှုတ်ဆက်ခြင်း လုပ်ငန်းစဉ်ကို အပြည့်အဝ ဖြေရှင်းပြီးပါပြီ
TLS လုံခြုံသော ဆက်သွယ်ရေး၏ အခြေခံအုတ်မြစ်မှာ စနစ်ထည့်သွင်းချိန်တွင် လက်ဆွဲနှုတ်ဆက်သည့် အကဖြစ်သည်။ စံ TLS လက်ဆွဲနှုတ်ဆက်သည့် လုပ်ငန်းစဉ်ကို ခွဲခြမ်းစိတ်ဖြာကြည့်ကြပါစို့။
ပုံ ၂: ပုံမှန် TLS လက်ဆွဲနှုတ်ဆက်ခြင်း လုပ်ငန်းစဉ်။
1️⃣ TCP ချိတ်ဆက်မှု စနစ်ထည့်သွင်းခြင်း
client (ဥပမာ browser) သည် server (standard port 443) သို့ TCP ချိတ်ဆက်မှုကို စတင်သည်။
၂️⃣ TLS လက်ဆွဲနှုတ်ဆက်ခြင်း အဆင့်
○ Client Hello: browser သည် ပံ့ပိုးပေးထားသော TLS ဗားရှင်း၊ cipher နှင့် random number တို့ကို Server Name Indication (SNI) နှင့်အတူ ပေးပို့ပြီး server အား မည်သည့် hostname ကို ဝင်ရောက်လိုကြောင်း ပြောပြသည် (ဆိုက်များစွာတွင် IP မျှဝေခြင်းကို ဖွင့်ပေးခြင်း)။
○ ဆာဗာ မင်္ဂလာပါနှင့် လက်မှတ်ပြဿနာ- ဆာဗာသည် သင့်လျော်သော TLS ဗားရှင်းနှင့် ကုဒ်ဝှက်ကို ရွေးချယ်ပြီး ၎င်း၏ လက်မှတ် (အများပြည်သူ့သော့ဖြင့်) နှင့် ကျပန်းနံပါတ်များကို ပြန်ပို့ပေးသည်။
○ လက်မှတ်အတည်ပြုခြင်း- ဘရောက်ဆာသည် ဆာဗာလက်မှတ်ကွင်းဆက်ကို အတုပြုလုပ်ထားခြင်းမရှိကြောင်း သေချာစေရန် ယုံကြည်စိတ်ချရသော root CA အထိ အတည်ပြုပါသည်။
○ Premaster key ထုတ်လုပ်ခြင်း- browser သည် premaster key တစ်ခုကို generate လုပ်ပြီး server ၏ public key ဖြင့် encrypt လုပ်ကာ server သို့ပေးပို့သည်။ နှစ်ဖက်စလုံးသည် session key ကို ညှိနှိုင်းသည်- နှစ်ဖက်စလုံး၏ random number များနှင့် premaster key ကို အသုံးပြု၍ client နှင့် server သည် တူညီသော symmetric encryption session key ကို တွက်ချက်သည်။
○ လက်ဆွဲနှုတ်ဆက်ခြင်း ပြီးစီးခြင်း- နှစ်ဖက်စလုံးသည် "ပြီးစီး" သော မက်ဆေ့ချ်များကို အပြန်အလှန်ပေးပို့ပြီး ကုဒ်ဝှက်ထားသော ဒေတာထုတ်လွှင့်မှုအဆင့်သို့ ဝင်ရောက်သည်။
3️⃣ လုံခြုံသောဒေတာလွှဲပြောင်းမှု
ဝန်ဆောင်မှုဒေတာအားလုံးကို ညှိနှိုင်းထားသော session key ဖြင့် ထိရောက်စွာ encrypt လုပ်ထားပြီး အလယ်တွင် ကြားဖြတ်ခံရသော်လည်း "ရှုပ်ထွေးသော code" အစုအဝေးတစ်ခုသာ ဖြစ်ပါသည်။
၄️⃣ အစည်းအဝေးကို ပြန်လည်အသုံးပြုခြင်း
TLS သည် Session ကို ထပ်မံပံ့ပိုးပေးပါသည်၊ ၎င်းသည် တူညီသော client အား ငြီးငွေ့ဖွယ်ကောင်းသော လက်ဆွဲနှုတ်ဆက်ခြင်းကို ကျော်သွားခွင့်ပြုခြင်းဖြင့် စွမ်းဆောင်ရည်ကို သိသိသာသာ မြှင့်တင်ပေးနိုင်ပါသည်။
Asymmetric encryption (RSA ကဲ့သို့) သည် လုံခြုံသော်လည်း နှေးကွေးသည်။ Symmetric encryption သည် မြန်ဆန်သော်လည်း key distribution မှာ ခက်ခဲသည်။ TLS သည် "အဆင့်နှစ်ဆင့်" ဗျူဟာကို အသုံးပြုသည် - ပထမဦးစွာ asymmetric secure key exchange နှင့် ထို့နောက် symmetric scheme ကို အသုံးပြု၍ data ကို ထိရောက်စွာ encrypt လုပ်သည်။
၂။ အယ်လဂိုရီသမ် ဆင့်ကဲဖြစ်စဉ်နှင့် လုံခြုံရေး တိုးတက်မှု
RSA နှင့် Diffie-Hellman
○ RSA
၎င်းကို TLS လက်ဆွဲနှုတ်ဆက်ခြင်းအတွင်း session key များကို လုံခြုံစွာဖြန့်ဝေရန်အတွက် ပထမဆုံးတွင် ကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုခဲ့သည်။ client သည် session key တစ်ခုကိုထုတ်ပေးပြီး server ၏ public key ဖြင့် encrypt လုပ်ကာ server သာ decrypt လုပ်နိုင်ရန် ပေးပို့သည်။
○ Diffie-Hellman (DH/ECDH)
TLS 1.3 မှစ၍ RSA ကို key exchange အတွက် အသုံးမပြုတော့ဘဲ forward secrecy (PFS) ကို ပံ့ပိုးပေးသည့် ပိုမိုလုံခြုံသော DH/ECDH algorithms များကို အသုံးပြုလာပါသည်။ private key ပေါက်ကြားသွားသည့်တိုင် historical data များကို unlock လုပ်၍မရပါ။
| TLS ဗားရှင်း | သော့လဲလှယ်မှု အယ်လဂိုရီသမ် | လုံခြုံရေး |
| TLS ၁.၂ | RSA/DH/ECDH | ပိုမိုမြင့်မားသော |
| TLS ၁.၃ | DH/ECDH အတွက်သာ | ပိုမိုမြင့်မားသော |
ကွန်ရက်ချိတ်ဆက်မှု ကျွမ်းကျင်သူများ ကျွမ်းကျင်ရမည့် လက်တွေ့ကျသော အကြံဉာဏ်များ
○ ပိုမိုမြန်ဆန်လုံခြုံသော ကုဒ်ဝှက်စနစ်အတွက် TLS 1.3 သို့ ဦးစားပေး အဆင့်မြှင့်တင်ပါ။
○ ခိုင်မာသော ကုဒ်ဝှက်စနစ်များ (AES-GCM၊ ChaCha20 စသည်) ကို ဖွင့်ပြီး အားနည်းသော အယ်လဂိုရီသမ်များနှင့် မလုံခြုံသော ပရိုတိုကောများ (SSLv3၊ TLS 1.0) ကို ပိတ်ပါ။
○ HTTPS ကာကွယ်မှုအလုံးစုံကို ပိုမိုကောင်းမွန်စေရန် HSTS၊ OCSP Stapling စသည်တို့ကို ပြင်ဆင်သတ်မှတ်ပါ။
○ ယုံကြည်မှုကွင်းဆက်၏ တရားဝင်မှုနှင့် တည်တံ့မှုကို သေချာစေရန်အတွက် လက်မှတ်ကွင်းဆက်ကို ပုံမှန် အပ်ဒိတ်လုပ်ပြီး ပြန်လည်သုံးသပ်ပါ။
နိဂုံးချုပ်နှင့် အတွေးအမြင်များ- သင့်လုပ်ငန်းသည် အမှန်တကယ် လုံခြုံပါသလား။
plaintext HTTP မှ အပြည့်အဝ encrypted HTTPS အထိ၊ protocol အဆင့်မြှင့်တင်မှုတိုင်း၏နောက်ကွယ်တွင် လုံခြုံရေးလိုအပ်ချက်များ တိုးတက်ပြောင်းလဲလာခဲ့သည်။ ခေတ်မီကွန်ရက်များတွင် encrypted ဆက်သွယ်ရေး၏ အခြေခံအုတ်မြစ်အနေဖြင့်၊ TLS သည် ပိုမိုရှုပ်ထွေးလာသော တိုက်ခိုက်မှုပတ်ဝန်းကျင်ကို ကိုင်တွယ်ဖြေရှင်းရန် ၎င်းကိုယ်တိုင် အဆက်မပြတ်တိုးတက်အောင် လုပ်ဆောင်နေပါသည်။
သင့်လုပ်ငန်းက HTTPS ကို အသုံးပြုနေပြီးသားလား။ သင့်ရဲ့ crypto configuration က လုပ်ငန်းရဲ့ အကောင်းဆုံးလုပ်ဆောင်မှုတွေနဲ့ ကိုက်ညီပါသလား။
ပို့စ်တင်ချိန်: ၂၀၂၅ ခုနှစ်၊ ဇူလိုင်လ ၂၂ ရက်



