Cryptographic Key ကို သိုလှောင်ခြင်း
ကိုယ်ရေးသော့တစ်ခုသည် ၎င်းနှင့်သက်ဆိုင်သည့် အာဏာပိုင်အတွက် ခွင့်ပြုထားသော လုပ်ဆောင်ချက်တိုင်းကို အတည်ပြုနိုင်သည်။ ကိုယ်ရေးသော့ကို မည်သည့်အခါမျှ မမျှဝေပါနှင့်။ မျိုးစေ့ပစ္စည်း၊ ပြန်လည်ရယူရေး လျှို့ဝှက်ချက်များ၊ ကိုင်ဆောင်သူတိုကင်များနှင့် ထုတ်ယူထားသော သော့ဖိုင်များကို တူညီစွာ ဂရုတစိုက် ကာကွယ်ပါ။
ထုတ်လုပ်မှုစနစ် မစတင်မီ ထိန်းသိမ်းမှု ပုံစံကို ရွေးချယ်ပါ။ ထိုပုံစံသည် အန္တရာယ်ရှိသည့် တန်ဖိုး၊ အကောင့်ထိန်းချုပ်သူ မူဝါဒနှင့် ဖြန့်ချထားမှု ပြန်လည်ရယူရေး လုပ်ငန်းစဉ်တို့နှင့် ကိုက်ညီရမည်။
စောင့်ရှောက်မှု နယ်နိမိတ်ကို သတ်မှတ်ပါ
- အာဏာပိုင်တိုင်း၊ အများသုံး သော့၊ အယ်လ်ဂိုရစ်သမ်၊ ပတ်ဝန်းကျင်၊ ရည်ရွယ်ချက်၊ ထိန်းသိမ်းသူ၊ သိုလှောင်တဲ့နေရာ၊ Backup နဲ့ အစားထိုးမှု လုပ်ငန်းစဉ်တွေကို စာရင်းပြုစုပါ။
- ဖွံ့ဖြိုးမှု၊ စမ်းသပ်မှု၊ ထုတ်လုပ်မှု၊ ပုံမှန် ငွေကြေးဆောင်ရွက်မှု၊ အုပ်ချုပ်ရေး၊ ဖြန့်ချိခြင်းနဲ့ ပြန်လည်ထူထောင်ရေးအတွက် သီးခြား သော့တွေကို သုံးပါ။
- လူတွေနဲ့ လုပ်ငန်းစဉ်တွေကို သူတို့ရဲ့ အခန်းကဏ္ဍကြောင့် လိုအပ်တဲ့ သော့တွေပဲ ရယူခွင့်ပေးပါ။
- အန္တရာယ်ပုံစံက လိုအပ်သည်ဟု သတ်မှတ်ပါက တန်ဖိုးမြင့် သို့မဟုတ် အုပ်ချုပ်မှုဆိုင်ရာ လက်မှတ်ရေးထိုးခြင်းအတွက် သီးခြားအတည်ပြုချက်ကို တောင်းဆိုပါ။
- လက်မှတ်ထိုးသူက ဘယ်ကွန်ရက်နဲ့ အာဏာပိုင်ကို သုံးနိုင်တယ်ဆိုတာ မှတ်တမ်းတင်ပါ။ လက်မှတ်ထိုးမှု ဝန်ဆောင်မှုက ဒီနယ်ပယ်အပြင်မှာ တောင်းဆိုချက်တွေကို ပယ်ချဖို့လိုပါတယ်။
သင့်တော်သော သိုလှောင်နည်းကို ရွေးချယ်ပါ။
ဒေသတွင်းဖွံ့ဖြိုးရေး၊ ထိန်းချုပ်ထားသော စမ်းသပ်မှုများ သို့မဟုတ် လုံခြုံသော ထိန်းသိမ်းမှုသို့ လွှဲပြောင်းခြင်းအတွက် သော့ကို ခွင့်ပြုချက်ကန့်သတ်ထားသည့် ဖိုင်သို့ ထုတ်ယူနိုင်သည်။ ပံ့ပိုးထားသော Unix ပလက်ဖောင်းတွင် kagami ဖြင့် သော့ directory အသစ်တစ်ခု ဖန်တီးပါ။
cargo run --bin kagami -- keys --algorithm ed25519 --out-dir ./client-keyမိဘ directory သည် ရှိပြီးသားဖြစ်ရမည်။ ရည်မှန်းထားသော directory သည် အသစ်ဖြစ်ရမည် သို့မဟုတ် လက်ရှိအသုံးပြုသူက ပိုင်ဆိုင်ပြီးသားဖြစ်ရမည်၊ mode 0700 ဖြစ်ရမည်၊ symbolic link မပါရ၊ ဗလာဖြစ်ရမည်။ Kagami က public.key နှင့် private.key ကို mode 0600 ဖြင့် ရေးပြီး --pop သည် pop.hex ကိုပါ ရေးသည်။ ပိုင်ရှင်တစ်ဦးတည်းအတွက်သာ ဖိုင်စနစ်စည်းမျဉ်းများကို Kagami မပြဋ္ဌာန်းနိုင်သော ပလက်ဖောင်းများတွင် command သည် ပျက်ကွက်မည်။
ကိုယ်ရေးသော့ဖိုင်သည် စာဝှက်မထားသော ထုတ်ယူမှုဖြစ်သည်။ ၎င်းကို source control၊ မျှဝေထားသော folder များ၊ log များ၊ ticket များ၊ chat နှင့် build artifact များထဲ မထည့်ပါနှင့်။ ထုတ်လုပ်ရေးသော့ကို ခွင့်ပြုထားသော ထိန်းသိမ်းမှုနယ်နိမိတ်သို့ ထည့်သွင်းပြီးနောက် ဖြန့်ချထားမှုလုပ်ငန်းစဉ်အတိုင်း ထုတ်ယူထားသည့်ဖိုင်ကို ဖယ်ရှားပါ။ ထုတ်လုပ်ရေးတွင် ဖွံ့ဖြိုးရေးသော့ကို ပြန်မသုံးပါနှင့်။
ထုတ်လုပ်မှုအတွက် အောက်ပါအတိုင်း စစ်ဆေးထားသော ထိန်းသိမ်းမှု နယ်နိမိတ်ကို ဦးစားပေးပါ။
- Hardware Security Module (သို့) Hardware အားဖြင့်ထောက်ပံ့ထားသော Keystore
- လည်ပတ်ရေးစနစ် သို့မဟုတ် မိုဘိုင်း keystore
- သီးခြား လက်မှတ်ရေးထိုးမှု ဝန်ဆောင်မှု
- ခွင့်ပြုထားတဲ့ အလုပ်ဝန်ဆောင်မှုအတွက်သာ သော့ကို ထုတ်ပေးတဲ့ လျှို့ဝှက် စီမံခန့်ခွဲသူ
ရွေးချယ်ထားသော ပေါင်းစပ်မှုက ထိုဂုဏ်သတ္တိကို ပံ့ပိုးလျှင် သော့ပစ္စည်းကို ထုတ်ယူ၍မရအောင် ထားပါ။ ထိန်းသိမ်းရေးစနစ်က Iroha အာဏာပိုင်လိုအပ်သော algorithm နှင့် လက်မှတ်ရေးထိုးမှုလုပ်ဆောင်ချက်ကို ပံ့ပိုးကြောင်း အတည်ပြုပါ။
သိုလှောင်နေစဉ် စာဝှက်ခြင်းသည် သိမ်းဆည်းထားသောမိတ္တူကို ကာကွယ်ပေးသည်။ သို့သော် ခွင့်ပြုချက်မရှိသည့် process သို့မဟုတ် operator က စာဝှက်ဖြေထားသော byte များကို ရရှိပြီးနောက် သော့ကို မကာကွယ်နိုင်တော့ပါ။ host ကို ခိုင်မာစေပါ၊ runtime ဝင်ရောက်ခွင့်ကို ကန့်သတ်ပါ၊ လက်မှတ်ရေးထိုးမှုလုပ်ဆောင်ချက်ကို စောင့်ကြည့်ပါ။
လက်မှတ်ရေးထိုးခြင်း လုပ်ငန်းခွင်များကို ကာကွယ်ပေးရန်
- နာမည်တပ်ထားသော operator လက္ခဏာများ၊ ခိုင်မာတဲ့ စစ်ဆေးခြင်းနှင့် လက်မှတ်ရေးထိုးစနစ်များကို စစ်ဆေးသုံးစွဲမှု။
- command-line arguments, shell history, environment dumps, process listings, crash reports နဲ့ application logs တွေထဲက raw keys တွေကို ရှောင်ရှားပါ။
- လိုအပ်တဲ့ လုပ်ဆောင်ချက်အတွက်ပဲ လက်မှတ်ထိုးကိရိယာကို ဖွင့်ပါ။ သုံးပြီးနောက် session ကို ပိတ်လိုက်ပါ (သို့) ကုန်ဆုံးလိုက်ပါ။
- ခွင့်ပြုချက်မပေးမီ အာဏာ၊ ကွန်ရက်၊ ညွှန်ကြားချက်များ၊ အရင်းအမြစ်များနှင့် အခကြေးငွေများကို ပြပါ။
- အခွင့်ထူးခံ သို့မဟုတ် တန်ဖိုးမြင့် အရောင်းအဝယ်များအတွက် ရှင်းလင်းသော အတည်ပြုချက် တောင်းဆိုပါ။
- Custom Client Integration က လက်မှတ်ရေးထိုးမှုကို လွှဲပြောင်းနိုင်တဲ့အခါ Browser စာမျက်နှာများနှင့် general-purpose application process များအပြင်မှာ raw private key တွေကို သိမ်းထားပါ။
Plain-text client ဖွဲ့စည်းမှုက ဒေသတွင်းဖွံ့ဖြိုးရေးနဲ့ ထိန်းချုပ်မှု စမ်းသပ်မှုတွေအတွက်သာ သင့်တော်ပါတယ်။ ထုတ်လုပ်မှု ပေါင်းစပ်မှုဟာ ခွင့်ပြုထားတဲ့ ထိန်းသိမ်းမှု နယ်နိမိတ်ကနေ လက်မှတ်တွေ ရယူသင့်တယ်။ Stock Iroha CLI သည် Client ဖွဲ့စည်းချက်မှ ပုဂ္ဂလိက သော့ကိုဖတ်ပြီး ယေဘုယျ ပြင်ပ လက်မှတ်ရေးထိုးသူ အလိုက်အက်ပ်တာတစ်ခု မပေးပါ။ Custom clients များသည် Transaction payload hash ကိုတည်ဆောက်နိုင်ပြီး ပြင်ပလက်မှတ်ရေးထိုးသူများမှထုတ်လုပ်သော လက်မှတ်တစ်ခုကို ချိတ်ဆက်နိုင်ပါသည်။
Key ကို Back Up လုပ်ပြီး ပြန်ယူပါ
- ပြန်လည်ထူထောင်ရေး မူဝါဒက backup လုပ်ဖို့ လိုအပ်တဲ့ သော့တွေပဲ back up လုပ်ပါ။
- Backup တွေကို encrypt လုပ်ပြီး Live Signer ကနေ ခွဲထားပါ။
- Live Key နဲ့တူတဲ့ Access နဲ့ approval controls တွေကို Backup ကို သုံးပါ။
- တာဝန်ခွဲခြားမှု လိုအပ်ပါက ပြန်လည်ရယူရေး အထောက်အထားများကို သီးခြားထိန်းသိမ်းမှုအောက်တွင် ထားပါ။
- ထုတ်လုပ်ရေးသော့ပစ္စည်းကို မဖော်ထုတ်ဘဲ ပြန်လည်ရယူမှုကို စမ်းသပ်ပါ။
- Backup ဖန်တီးမှု၊ ဝင်ရောက်မှု၊ ပြန်လည်ထူထောင်ခြင်းနဲ့ ဖျက်ဆီးမှုတိုင်းကို မှတ်တမ်းတင်ပြီး သုံးသပ်ပါ။
ဆက်စပ်မှုမရှိတဲ့ wallet mnemonic format က Iroha private key ကို ကိုယ်စားပြုနိုင်တယ်လို့ မယူဆပါနဲ့။ ရွေးချယ်ထားတဲ့ ထိန်းသိမ်းရေးစနစ်က ထောက်ပံ့ပြီး စစ်ဆေးတဲ့ ပြန်လည်ထူထောင်ရေးပုံစံကိုသာ အသုံးပြုပါ။
ဖော်ထုတ်ခံရသော သို့မဟုတ် အနားပေးထားသော သော့များကို အစားထိုးပါ
ဖြစ်ရပ်တစ်ခု မဖြစ်မီ အစားထိုးရန် ပြင်ဆင်ပါ။ လုပ်ငန်းစဉ်တွင် အောက်ပါတို့ကို သတ်မှတ်ရမည်။
- သော့တစ်ခု ဖော်ထုတ်ခံရသည် သို့မဟုတ် အနားပေးထားသည်ဟု မည်သူက ကြေညာနိုင်သနည်း
- ထိခိုက်ခံရတဲ့ လက်မှတ်ရေးထိုးသူကို ဘယ်လို ခွဲခြားထားလဲ။
- သော့သစ်ကို ဘယ်လို ဖန်တီးပြီး ခွင့်ပြုထားတဲ့ ထိန်းသိမ်းမှုမှာ ထားရှိရမလဲ
- အကောင့်တစ်ခုအတွက် ခွင့်ပြုထားသော ထိန်းချုပ်သူအစားထိုးခြင်း သို့မဟုတ် လူမှုရေးပြန်လည်ရယူခြင်းက အစားထိုး canonical
AccountIdကို မည်သို့ဖန်တီးပြီး ဆက်စပ်အခြေအနေကို မည်သို့ရွှေ့ပြောင်းသနည်း - node သို့မဟုတ် peer အတွက် ခွင့်ပြုထားသော on-chain consensus-key rotation သို့မဟုတ် disablement ကို BLS PoP၊ activation နှင့် overlap policy၊ local key configuration၊
trusted_peers_popနှင့် deployment topology တို့နှင့် မည်သို့ညှိနှိုင်းသနည်း - မှီခိုနေသော ဖွဲ့စည်းပုံများ၊ အက်ပ်များနှင့် operator များက
AccountIdအသစ်၊ အများသုံးသော့ သို့မဟုတ် peer identity ကို မည်သို့လက်ခံသနည်း - ခေတ်ဟောင်းသော့ရဲ့ အာဏာကို ဖယ်ရှားပြီး ၎င်းရဲ့ မိတ္တူတွေကို သိမ်းဆည်းထားခြင်း (သို့) ဖျက်ဆီးခြင်း
- ကွန်ရက်နှင့် မှီခိုသော အက်ပ်များအား နောက်ပိုင်းတွင် ဘယ်လို စစ်ဆေးရမည်နည်း။
WARNING
စာဝှက်ခြင်း သို့မဟုတ် စကားဝှက်အသစ်တစ်ခုက ကူးယူထားသော ကိုယ်ရေးသော့ကို ပြန်လည်လုံခြုံအောင် မလုပ်နိုင်ပါ။ ဖော်ထုတ်ခံရသည်ဟု သံသယရှိလျှင် သော့ကို သုံးတာရပ်ပြီး ခွင့်ပြုထားသော အစားထိုးခြင်း သို့မဟုတ် ရုပ်သိမ်းခြင်း လုပ်ငန်းစဉ်ကို လိုက်နာပါ။
Generating Cryptographic Keys၊ Operational Security နှင့် Security Principles ကိုကြည့်ပါ။