Showing posts with label Software. Show all posts
Showing posts with label Software. Show all posts

Friday, March 2, 2012

OpenSSH နဲ့ Private/Public Key Share အပိုင်း(၂)

၁၀) environment variables ထည့်ပေးရမှာဖြစ်တာကြောင့် my computer -> properties -> advance -> environment varibles ဆိုပြီးသွားရပါတယ်။

 - Cygwin ntsec tty (system variables)
 - Cygwin_Root c:\cygwin (user variables)
 - Path C:\cygwin\bin

ဆိုပြီးရိုက်ထည့်ပေးရပါတယ်။ cygwin runtime system အတွက် global settings ပေးထားရတဲ့သဘောပါ။

၁၁) desktop ပေါ်မှာ cygwin terminal icon လေးပေါ်လာပါလိမ့်မယ်။ အဲဒါကိုဖွင့်ပြီး directory ၂ ခုဆောက်ပေးရပါတယ်။

mkgroup -l > /etc/group
mkpasswd -l > /etc/passwd

၁၂) ssh-host-config ဆိုတဲ့ command ကိုဆက်ရိုက်လိုက်ရင် မေးခွန်းအချို့မေးပါလိမ့်မယ်။ အဲဒီမေးခွန်းတွေထဲက Should privilege separation be used ? ဆိုတဲ့မေးခွန်းတစ်ခုကိုပဲ No လို့ဖြေပေးပါ။

note: cygwin=ntsec binmod tty

၁၃) ပြီးရင်တော့ cygwin server ကို run လို့ရပါပြီ။ services အောက်က run လို့ရသလို cygwin terminal မှာ cygrunsrv -S sshd ဆိုတဲ့ command ရိုက်ပြီးလည်း run နိုင်ပါတယ်။

၁၄) cygwin terminal ကနေ cd /home/[PC admin username] လို့ရိုက်ထည့်ပြီး directory ပြောင်းပါ။ ပြီးရင် .ssh ဆိုတဲ့ directory အသစ်တစ်ခုဆောက်ပါ။

mkdir .ssh

မှတ်ချက်၊ home directory ကတော့ c:\cygwin အောက်က directory ဖြစ်ပါတယ်။ အဲဒီအောက် မှာမှ pc name နဲ့ directory တစ်ခုရှိနေပါတယ်။ ခုဆောက်လိုက်တဲ့ .ssh ကတော့ အဲဒီ pc name directory အောက်မှာရှိနေပါလိမ့်မယ်။ c:\cygwin\home\[PC admin username]\.ssh

အခု ssh server တစ်ခုတည်ဆောက်ပြီးဖြစ်တာကြောင့် .ssh folder အောက်မှာ client ရဲ့ public key ကိုသိမ်းဆည်းပေးထားရမှာဖြစ်ပါတယ်။ ဒါကြောင့် client ဟာ  c:\cygwin\home\[PC admin username] အောက်က directory များကိုပဲ access လုပ်ခွင့်ရှိမှာဖြစ်ပြီး c:\cygwin\home\[PC admin username] ထဲက ဖိုင်တွေကို download လုပ်ယူနိုင်မှာဖြစ်ပါတယ်။

အခုလို ssh server ကို public/private key share နဲ့ ဆက်သွယ်အသုံးပြုခြင်းအား ssh password-less authentication လို့လည်းခေါ်ပါတယ်။ ဒါကြောင့် client ဟာ username အဖြစ် PC admin username နဲ့ password အဖြစ် rsa private key file တွေကိုအသုံးပြုပြီး ကိုလုပ် ရပါတယ်။

အပိုင်း ၃ မသွားခင်မှာ ssh sftp server အခုလို public/private key share နဲ့ access လုပ်ခြင်းရဲ့ အသုံးဝင်ပုံအကြောင်းဆွေးနွေးကြတာပေါ့။

ssh sftp server အတွက် secure authentication တည်ဆောက်ရင် အခုကျနော်တို့သုံးနေတဲ့ public/private key share digital signature က common အဖြစ်ဆုံးဖြစ်ပါတယ်။

ssh က secure ဖြစ်လှပေမယ့်  brute force attack လို့ခေါ်တဲ့ exhaustive key search method တွေနဲ့ encrypted data တွေကိုဖောက်ထွင်းပြီး server ကို access လုပ်ဖို့ကြိုးစားတာ တွေရှိတာကြောင့် key based authentication ကတော့ standard user/password authentication ကို disable လုပ်ထားနိုင်လိုက်ပြီဖြစ်တာနဲ့အညီ server ကိုတခြားတနေရာက တရားမဝင်ချဉ်းကပ်လာမယ့်အကျိုးဆက်တွေပိုပြီးလျော့ခံချလိုက်ရပြီဖြစ်ပါတယ်။

public/private key share digital signature ကိုအခြေခံပြီး စင်ကာပူနိုင်ငံရဲ့ အစိုးရအဖွဲ့အစည်းတစ်ခုဖြစ်တဲ့ IDA က SSID (Singapore standard for identification) ကိုမိတ်ဆက်ပေးပြီး နိုင်ငံတဝှမ်းလုံးမှာ one card solution ကိုအသုံးပြုဖို့ စတင်နေပြီဖြစ်ပါတယ်။ IDA website မှာဖော်ပြထားတာလေးကို share ပေးလိုက်ပါရစေ။ 

SSID is a Singapore standard for identification and is based on the e-passport specifications developed by ICAO (International Civil Aviation Organisation) 

one card solution ဆိုတာက နိုင်ငံသားတစ်ယောက်ရဲ့ ID Card / Passport ကစပြီး ဘဏ်ကဒ်၊ ကား/ရထားစီးတဲ့ကဒ် စတဲ့ကဒ်တွေအားလုံးပေါင်းပြီး တစ်ကဒ်တည်းနဲ့ အလုပ်ဖြစ်စေဖို့ပါ။ အလုပ် လုပ်ပုံကို အရှင်းဆုံးပြောရရင်တော့ ကဒ်တွေထဲက private key နဲ့ encrypt လုပ်မယ်၊ reader ထဲ က public key နဲ့ decrypt လုပ်မယ်။ အဲဒီလို card နဲ့ reader အဆက်အသွယ် လုပ်တယ်ပေါ့။

ကဒ်တွေထဲက private key တွေကတော့ AES and 3DES လို့ ခေါ်တဲ့ symmetric cryptography algorithm တွေနဲ့ RSA and DSA လို့ခေါ်တဲ့ asymmetric algorithm တွေကို သုံးပြီးထုတ်ထားကြတာဖြစ်ပါတယ်။ ဒါမှမဟုတ် sha1 နဲ့ rsa (1024) based key တွေကိုပေါင်းပြီး SOD လို့ခေါ်တဲ့ security data object တွေထုတ်ပြီးသုံးကြတာဖြစ်ပါတယ်။

ကဒ်ထုတ်တဲ့ကုမ္ပဏီအလိုက် algorithm သုံးပုံကွဲပြား ပါတယ်။ Card Reader ထဲမှာတော့ public key ကို embedded လုပ်ထားပြီး ကဒ်ကို read လုပ်လိုက်တာနဲ့ ကဒ်ရဲ့ authentication ကို public key နဲ့ decrypt လုပ်ပြီးစစ်ဆေးပါတယ်။ SSID reader တွေ အဖြစ် ဥပမာ - oberthur နဲ့ acs ကုမ္ပဏီတွေကထုတ်တဲ့ reader တွေကိုသုံးကြပါတယ်။

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

အပိုင်း ၃ ကိုဆက်ပါ့မယ်။
Read more ...

Wednesday, February 29, 2012

OpenSSH နဲ့ Private/Public Key Share အပိုင်း(၁)

OpenSSH နဲ့ Private/Public Key Share အပိုင်း (၁)

ဒီအကြောင်းအရာကတော့ compute science မှာ အနည်းငယ် technical ဆန်နေတာ ကြောင့်သာမာန်စာဖတ်ပရိသတ်အတွက်တော့ စိတ်ဝင်စားဖို့သိပ်ကောင်းမှာမဟုတ်ပါလို့ စကား ပုလ္လင်ခံလိုက်ပါတယ်။ လုံခြုံမှုရှိတဲ့ channel တစ်ခုကနေ အဖိုးတန် ဒေတာ(Data)တွေကို ဘယ်လို ဘယ်ပုံပို့ဆောင်မလဲ၊ ဒါမှမဟုတ်ဘယ်လိုဘယ်ပုံလက်ခံရယူမလဲဆိုတဲ့ကိစ္စပါ။

ဒီအာတီကယ်လ်ကို ဖတ်နေတဲ့မိတ်ဆွေက secure data channel မှာ ssh ခေါ် Secure Shell ဆိုတာဘာလဲနားလည်ပြီးဖြစ်လိမ့်မယ်လို့ ယူဆပါတယ်။ ssh ဆိုတာ network protocol တစ်ခုပါ။ သူ့ကို secure data communication တွေမှာ သုံးပါတယ်။ မေဂျာဗားရှင်းနှစ်မျိုးရှိပြီး ssh1 နဲ့ ssh2 လို့ခေါ်ကြပါတယ်။ အလုပ်လုပ်ပုံက remote computer တစ်လုံးကို ဝင်ရောက် ဆက်သွယ်နိုင်ဖို့အတွက် public key cryptography ကိုအသုံးပြုပြီး ဆက်သွယ်ခွင့် ပေးပါတယ်။ Private/Public Key Share ကိုလည်း အသုံးပြုနိုင်ပါတယ်။ အခုကျနော်တို့ focus လုပ်မှာက Private/Public Key Share ပုံစံနဲ့ remote computer/server တစ်လုံးကို ဆက်သွယ်ပြီး data အပို့အယူလုပ်မှာပါ။ အသုံးဝင်ပုံကိုတော့ တနေရာရောက်ရင် ဆွေးနွေးကြတာပေါ့။


Cryptography မှာ encrypt / decrypt အယ်လ်ဂိုရစ်သမ်တွေ အများကြီးရှိပါတယ်။ RSA / DSA စသဖြင့်ပေါ့။ ပုံပါအတိုင်းကြည့်မယ်ဆိုရင် လိမ္မော်ရောင်လေးထောင့်အဝန်းထဲက key generation algorithm ဆိုတာ အဲဒီ RSA / DSA တွေထဲက တစ်ခုပေါ့။ အဲဒီ အယ်လ်ဂိုရစ်သမ်တွေထဲကမှ အခုကျနော်တို့သုံးမယ့် အယ်လ်ဂိုရစ်သမ်က RSA ဖြစ်ပါတယ်။ ဒီနေရာမှာ အပိုင်း ၂ ခု ခွဲဖို့ လိုအပ်လာပါတယ်။ ပရိုဂရမ်မာတွေအတွက် open source အကြောင်းမဆွေးနွေးခင် ready made tools လေးတွေသုံးပြီး စမ်းသပ်ကြည့်ဖို့ဖြစ်ပါတယ်။ ဆိုတော့ အပိုင်း (၁) က ready made tools တွေသုံးပြီး ထဲထဲဝင်ဝင်နည်းလည်သွားအောင်လုပ်မယ်။ အပိုင်း (၂) က open source ကိုလေ့လာမယ်။

အပိုင်း(၁) မှာ အသုံးပြုမယ့် ready made tools တွေကို download လုပ်ဖို့ လိုပါတယ်။ ပထမဆုံး server setup အရင်လုပ်ပြီး client/server ပုံစံစမ်းသပ်ကြည့်မယ်။ http://cygwin.com/install.html မှာ cygwin.exe ကို download လုပ်ပါ။ open source ပါပဲ။ linux လည်းပိုင်ရင်တော့ လေ့လာကြည့်နိုင်ပါတယ်။ install လုပ်နည်းကိုတော့ အဆင့်ဆင့်သွားရပါမယ်။ How to install cygwin ဆိုပြီး ဂူးဂဲလ်လိုက်ရင်လည်းရပေမယ့် အဆင်ပြေအောင် screen shot များနဲ့ မြန်မာလိုဖော်ပြပေးလိုက်ပါတယ်။

cygwin ရဲ့တခြား usage တွေအကြောင်းလေ့လာချင်တယ်ဆိုရင်တော့ http://cygwin.com/faq-nochunks.html#faq.what အဲဒီမှာလေ့လာကြပါ။ လောလောဆယ် ကျနော်တို့နဲ့ဆိုင်တဲ့ အကြောင်းကတော့ cygwin ကို openssh/sftp server တစ်ခုအနေနဲ့ အသုံးပြုဖို့ပါ။

၁) install from internet ကိုရွေးပါ။




၂) cygwin ရဲ့ root directory ကိုရွေးပေးပါ။



၃) cygwin ရဲ့ local package directory ကိုရွေးပေးပါ။



၄) download လုပ်မယ့် connection type ကိုရွေးပေးပါ။ Default ကတော့ ဖြစ်ပါတယ်။



၅) download လုပ်မယ့် site ကိုရွေးပေးပါ။


၆) install လုပ်ရမယ့် package  တွေထဲက admin package တစ်ခုလုံးကို တစ်ခုချင်းစီ select မှတ်ပါ။


၇) ဒုတိယ package ကတော့ NET အောက်မှာရှိတဲ့ OpenSSH ဖြစ်ပါတယ်။ OpenSSH နဲ့ OpenSSL ကို select မှတ်ပါ။


 ၈) တတိယ package ကတော့ Edito အောက်က Vim ဖြစ်ပါတယ်။ vim:Vi IMproved - enhanced vi editor ကို select မှတ်ပါ။
၉) ပြီးရင်တော့ next ကိုနှိပ်ပြီး install လုပ်လို့ရပါပြီ။
Read more ...

Wednesday, November 30, 2011

ပုရွက်ဆိတ်အခြေခံ လုံခြုံရေးစနစ်


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

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

ဒစ်ဂျစ်တယ်လ်ပုရွက်ဆိတ်များဟာ တစ်နေရာထဲမှာ အငြိမ်နေနေမှာ မဟုတ်ပဲ ကွန်ပျူတာကွန်ယက်စနစ်ကြီးတစ်ခုလုံးကို ပတ်လည်နှံ့ အောင် လည်ပတ်ပြီး “computer worms” လို့ခေါ်တဲ့ အရေးကြီး သတင်းအချက်အလက်များခိုးယူမယ့် ပရိုဂရမ် သို့မဟုတ် မိမိ ကွန်ပျူတာကို တရားမဝင်သုံးစွဲနိုင်မယ့် နည်းစနစ်တွေကို ရှာဖွေမှာ ဖြစ်ပါတယ်။ ရှာဖွေတွေ့ရှိပြီဆိုတာနဲ့ ဒစ်ဂျစ်တယ်လ်ပုရွက်ဆိတ်က တခြားပုရွက်ဆိတ်တပ်သားတွေအားလုံး ပြဿနာဖြစ်ပွားနေတဲ့ နေရာဆီ ချက်ချင်းရောက်လာစေဖို့ ဆောင်ရွက်တော့မှာဖြစ်ပါတယ်။ အဲဒီလိုပုရွက်ဆိတ်တပ်သားတွေကို အခင်းဖြစ်ပွားတဲ့နေရာဆီ အမြန် ဆွဲဆောင်ပေးယုံတင်မက ကွန်ပျူတာသုံးစွဲသူကိုလည်း ချက်ချင်းစုံစမ်းစစ်ဆေးနိုင်အောင် သတိပေး နှိုးဆော်ပါတော့တယ်။ 

ဒီဒစ်ဂျစ်တယ်လ်ပုရွက်ဆိတ်သုံး လုံခြုံရေးစနစ်ကိုတော့ “swarm intelligence” ၊ စုံစမ်းထောက်လှမ်းရေး အင်းဆက်တပ်မဟာလို့ အမည်ပေးထားပါတယ်။ ကွန်ပျူတာကွန်ယက်စနစ်လုံခြုံရေးမှာ ဆရာတစ်ဆူလည်းဖြစ်၊ ကွန်ပျူတာသိပ္ပံပရောဖက်ဆာလည်းဖြစ်တဲ့ အာရင်ဖဲလ်ပ်က သဘာ၀မှာ ပုရွက်ဆိတ်တွေဟာ ခြိမ်းခြောက်လာတဲ့ရန်သူကို အလွန်အောင်မြင်စွာတားဆီးနိုင်တယ်ဆိုတာ ကျွန်တော်တို့သိထားပါတယ်၊ သူတို့တွေဟာ ကာကွယ်ရေးအတွက် အလျင်အမြန်စုစည်းနိုင်ကြသလို တရားမဝင်ချဉ်းနင်းလာတဲ့သူကိုတားဆီးပြီးတာနဲ့ ပြုပြင်မွမ်းမံရေးတွေကိုလည်း ချက်ချင်းဆောင်ရွက်ကြပါတယ်။ ကျွန်တော်တို့ကလည်း ကွန်ပျူတာစနစ်လုံခြုံရေးအတွက်အဲဒီအတိုင်းလိုက်ပြီး ဆောင်ရွက်ဖို့ ကြိုးစားနေတာပါလို့ ပြောပါတယ်။ 

Pacific Northwest National Laboratory (PNNL) ရဲ့ ပညာရှင်တစ်ဦးဖြစ်တဲ့ ဂလန်းဖင့်ခ်က ပုရွက်ဆိတ်တပ်မဟာစနစ်ကို parallel processing ခေါ် ကွန်ပျူတာအချက်အလက်များကို အုပ်စုလိုက်ခွဲခြားပြီး အန္တရာယ်ဝင်ရောက်နေမှုရှိမရှိ စစ်ဆေးမှုပေါ်အခြေခံကာ ဆိုင်ဘာလုံခြုံရေးစနစ်သစ်ကို တီထွင်ကြံဆနေပါတယ်။


"ကျွန်တော်တို့ရဲ့ အကြံကတော့ ဒစ်ဂျစ်တယ်လ်ပုရွက်ဆိတ် ၃၀၀၀ လောက်ကို ကွန်ယက်ထဲဖြန့်ကျက်ပြီး အန္တရာယ်ရှိမရှိစုံစမ်းခိုင်းမှာဖြစ်ပါတယ်၊ သူတို့တွေ ကွန်ယက်ထဲလှည့်ပတ်နေရင်းနဲ့ မသင်္ကာဖွယ်တစ်ခုခုတွေ့ရှိပြီဆိုတာနဲ့ ဒီဒစ်ဂျစ်တယ်လ်ပုရွက်ဆိတ်တွေဟာ တကယ့်ပုရွက်ဆိတ်တွေလုပ်လေ့ရှိတဲ့အတိုင်း တခြားနေရာက ပုရွက်ဆိတ်တွေ အန္တရာယ်ဇုန်ကို ရောက်လာနိုင်ဖို့အတွက် အနံ့အသက်တစ်ခုခုဖြစ်အောင် ဖန်တီးဆောင်ရွက်သလိုမျိုး ဆောင်ရွက်မှာပါ။ ဒစ်ဂျစ်တယ်လ်ပုရွက်ဆိတ်တစ်ကောင်ဟာ အန္တရာယ်တစ်ခုကို တွေ့ပြီဆိုရင် အနံ့ခပ်ပြင်းပြင်းတစ်ခုချန်ခဲ့ဖို့ ဖန်တီးထားပါတယ်။ ပိုပီးအနံ့ပြင်းလေလေ ပုရွက်ဆိတ်ခပ်များများကို ဆွဲဆောင်နိုင်လေလေဖြစ်ပြီး အဆုံးမှတော့ swarm ခေါ်ပုရွက်ဆိတ်အုံ့ကြီးဖြစ်ကာ ကွန်ပျူတာခံစားနေရတဲ့ ရောဂါကိုကုစားပေးပါတယ်" လို့ အာရင်ဖဲလ်ပ်က ဆိုပါတယ်။

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

ကွန်ပျူတာသုံးစွဲသူများအတွက်ကတော့ “swarm intelligence” ၊ စုံစမ်းထောက်လှမ်းရေး အင်းဆက်တပ်မဟာက မိမိတို့စက်ထဲမှာနေရာအတည်တကျယူပြီး နေထိုင်ဆောင်ရွက်ကြမှာလားဆိုတဲ့ စိုးရိမ်မှုမျိုး ရှိစရာမလိုပါဘူး။ ဘာကြောင့်လဲဆိုတော့ “swarm intelligence” က sentinels လို့ခေါ်တဲ့ ဆော့ဖ်ဝဲတစ်မျိုးမှာ တွဲပါလာမှာဖြစ်ပြီး အဲဒီဆော့ဖ်ဝဲကိုပဲ ကွန်ယက်ပေါ်မှာရှိနေတဲ့ ကွန်ပျူတာတစ်လုံးချင်းစီအလိုက် ထည့်သွင်းထားရုံပါပဲ။ အဲဒီဆော့ဖ်ဝဲကနေတဆင့် တပ်မမှူး၊ ဆာဂျင်ဖြစ်တဲ့ ကွန်ပျူတာသုံးစွဲသူထံ ဗိုင်းယက်စ်များသတင်းကို ပေးပို့ပေးမှာဖြစ်ပါတယ်။

Science Daily မှ Ants Vs. Worms: New Computer Security Mimics Nature ကို မြန်မာမှုပြုပါသည်။
Read more ...