WSL+ Git + Yubikey + GPG Code Sign ekka code karanne kawuda?

Status
Not open for further replies.

BLACKLIST_MEMBER

Well-known member
  • Feb 9, 2008
    37,854
    14,810
    113
    127.0.0.1
    Windows Subsystem (WSL) + Git (VCS) + GPG Code Signing + Yubikey (Smart card) එකට පාවිච්චි කරන කවුරු හරි ඉන්නවද?


    GPG2 වල මෑතක ඉඳන් අප්ඩේට් වල GPG Key එකෙන් SSH Authenticate කරන්න පුළුවන්. (සර්වර් එකට කනෙක්ට් වෙන්න SSH Key එකක් වෙනම generate කරන්නේ නැතුව) GPG agent එකෙන් ම තමන්ගේ Authentication support PGP key එක forward කරන්න හදන්න පුළුවන් (PUTTY Agent නෙමෙයි).
    එතකොට එකම GPG Key එකෙන් (subkey) Code Sign (git commit -S -m "blah blah") කරන ගමන් Git Push කරන්නත් පුළුවන්.
    (GPG සහ SSH Keys ඔක්කොම RSA Algoryth, (ඉස්සර වෙනත් Tools පාවිච්චි කරලා GPG Key එක OpenSSH format එකට කන්වර්ට් කරනවා)


    මේක කන්ෆිග් කරන්න පුළුවන් Windows Subsystem (Ubuntu)වලත්.


    නමුත් ස්මාට් කාඩ් පාවිච්චි කරලා කෝඩ් සයින් කරන්න හදාගත්තොත් තවත් ලේසියි සහ ඉක්මන්.
    කෙලින්ම Linux වල මේක කරන්න පුළුවන් නමුත් කවුරු හරි WSL වල කරපු කෙනෙක් ඉන්නවද?



    WSL වල libusb support කරනකන් ඉඳල මේක ගත්තේ ඒ වැඩේට.


    https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubuntu-on-windo/suggestions/16759696-support-usb-devices-like-microcontrollers-libusb


    56Tc2AJ.png




    හැබැයි තවම WSL වල USB Block device (/dev/sda etc)වැඩ නැහැ
    (https://github.com/Microsoft/WSL/issues/689)


    ඒ උනාට token2Shell කියන emulator එකෙන් Agent forward කරන්න පුළුවන්. මුන් ඒ උනාට එක Windows Store එකේ විකුනන්න දාල තියෙන්නේ :dull:
    අනික් එක WSL Command prompt එකට වැඩ කරන්නේ නැහැ හරියට token2shell එක. (PHPStorm එකේ කමාන්ඩ් ලයින් එකට WSL Command prompt එක ගන්න පුළුවන්)


    හැබැයි මෙන්න මේ ඩයල් එක කොහොමහරි කුරුටු ගාල වැඩේ ගොඩ දාගෙන තියෙනවා. https://twitter.com/NZSmartie/status/946529416225570820


    Pagent එකෙන්. (පරණ ක්‍රමයට, ඒ කියන්නේ GPG2 Agent එක නැති කාලේ කරපු විදිහට) නමුත් මූ yubikey එක්ක මේක කරලා තියෙනවා.
    හැබැයි ලිනක්ස් එක ඇතුලේ නෙමෙයි gpg4win එකෙන්. ඒත් කමක් නැහැ වැඩේ වෙනවනම්.
    හරියට විස්තරයක් නැහැ ඒ ගැන



    කවුරු හරි දන්න කුකුලෙක් ඉන්නවද මේ වැඩේ කරන්න? Stackoverflowe එකෙත් වැඩිය Cryptography කාරයෝ සපෝට් එකක් දෙන්නේ නැහැ.



    මේකටත් වෝට් එකක් දාගෙන යමල්ල! (මේක කිසි දෙයක් නොතේරුන උනුත් වොට් කරාට කමක් නැහැ, ඕකට වොට් කරපු එවුන්ගෙන් අහඹුවෙන් එකෙක් තෝරලා ඌට කාර් එකක් දෙනවලු)
    https://wpdev.uservoice.com/forums/266908-command-prompt-console-windows-subsystem-for-l/suggestions/16894144-support-gpg2-smartcard-integration-yubikey
     
    Last edited:
    • Like
    Reactions: thilaknawe

    Voltage

    Well-known member
  • Feb 6, 2012
    21,723
    1
    15,120
    113
    reply එකක් දාන්න කලින් ගොඩක් වෙලාවක් wikipedia එකේ ඉන්න වෙයි වගේ :(
     

    PMMM

    Member
    Jul 5, 2018
    313
    41
    0
    සමාවන්න, ගුප්තකේතන පිළිබඳ කිසිවක් නොදනිමි.
     

    BLACKLIST_MEMBER

    Well-known member
  • Feb 9, 2008
    37,854
    14,810
    113
    127.0.0.1
    oka mokadda bn wallaet ekakda?
    Yubikey එක නේද?

    Universal 2 Factor Authentication (U2F) support කරන Hardware එකක්. Yubico කියන Company එකෙන් හදන්නේ. වෙන කොහෙන්වත් ගන්න නැහැ. ගත්තොත් ඒක Safe නැහැ.

    ඒ වගේම තව ගොඩක් Cryptography සම්බන්ද දේවල් වලට පාවිච්චි කරන්න පුළුවන්. Crypto Currency නෙවෙයි :rolleyes: (Cryptography wallet වලට නම් පාවිච්චි කරන්න පුළුවන්)

    Google Authenticator එක වෙනුවට එහෙම පාවිච්චි කරන්න පුළුවන් දැනට තියෙන සේෆ් ම මෙතඩ් එකක්. Militory grade cryptography and security.

    ඔය ෆේස්බුක් එකේ ලොගින් වුනාම Password, Username ගහල 2 Pass authentication ඇක්ටිව් කරාම ෆෝන් එකට SMS එකක් එනවානෙ, එහෙම නැතිනම් App එකකින් කෝඩ් එක Generate කරලා එන්ටර් කරන්න එනවනේ
    ඒ වෙනුවට මේක USB Port එකට connect කරලා ඔකේ තියෙන Metal plate එක ටච් කරන්න තියෙන්නේ. එතකොට U2F Support කරන බ්‍රව්සර් (Quantom firefox, Chrome) එකෙන් ඒක detect කරලා ලොගින් වෙනවා. Facebook/Google/Lastpass වගේ ගොඩක් ඒවා තියෙනවා මේක සපෝර්ට් කරනව.

    One time password generate කරන්න පාවිච්චි කරන්න පුළුවන්, වගේ තව ගොඩක් දේවල් වලට Program කරන්න පුළුවන්.

    මේක ඇතුලේ mathamatical calculation එකක් වෙන්නේ.
    කෙටි කරලා කිව්වොත්:
    මේකේ ඇතුලේ ප්‍රෝග්‍රෑම් කරලා තියෙනවා තියෙනවා Private ID එකක්, මේක Yubikey එකෙන් Pre program කරලා එවන්නේ, නමුත් අපිට මේක Overwrite කරන්න පුළුවන්. හැබැයි ඊටපස්සේ ආපහු ඒ කී එක ආපහු දාගන්න බැහැ. ඒ උනාට ප්‍රශ්නයක් නැහැ. අලුත් කි එකක් හදල Yubikey servers වලට අප්ලෝඩ් කරන්න පුළුවන්. ඒක Safe (මොකද මේක එවන අතරතුර කාටහරි අරගෙන Clone කරගන්න පුළුවන් (Raspberry Pie එක ප්‍රෝග්‍රෑම් කරන්න පුළුවන් ක්ලෝන් කරන විදිහට, ඒක කෝඩ් එකත් Github එකේ තියෙනව, මේ සේරම opensource)


    මීට අමතරව 16 bits Usage counter එකක් තියෙනවා ( මේක USB Plug කරන වාරයක් වාරයක් පාසා ඒ කවුන්ටර් එක වැඩි වෙනවා,

    සහ time stamp (~ 8 Hz සැරෙන් සැරේ මේ counter එක වැඩි වෙනවා),

    8 bits Session Ctr ( Metal Plate එක Touch කරන සැරයක් සැරයක් ගානේ මේ කවුන්ටර් එක වැඩි වෙනවා)


    මේ සේරම එකට එකතු කරලා, එකට Random generate කරපු තව Value එකකුත් එකතු කරලා(පාස්වර්ඩ් එක වෙනස් වෙනස් ජාතියේ ඒවා එන්න),


    තව Checksum values calculate කරලා (Key එක corrupt වෙලාද කියල මෙතනින් බලන්න පුල්වුඅන්) ඔක්කොම ටික AES 128 ECB Cipher ඇල්ගොරිතම් එකට හරවල එක මුලට Public ID එක add කරහම තමයි One time password එක Generate වෙන්නේ.

    මේ One time Key එක පබ්ලික් Key එකෙන් Verify කරන්න පුළුවන් ඒ කෙනාගේමද කියල.

    ඊටපස්සේ තමයි Login වෙන්නේ.

    Public key, Private Key අතර සම්බන්දය ගැන දන්නවා ඇති කියල හිතනවා.
    නොදන්නා අයට කියන්නම් කෙටියෙන්:
    උදාහරණයක් විදිහට මේ Key දෙක එකට එකක් සම්බන්දයි. Public key කියන එක රහස් දෙයක් නෙමෙයි, ඕනෑම කෙනෙක්ට ඒක පෙන්නන්න පුළුවන් නමුත් Privatekey කියන එක Secret එකක්.

    RSA Algorithm එක හරියට පබ්ලික් කී කියන්නේ ලොක් එක ඇරලා දාපු ඉබ්බෙක් (Paddle lock) වගේ.

    හිතන්න, ඔයාට තැපැල් කරන්න ඕන මොනවහරි රහස් පණිවිඩයක් මට, නමුත් තැපෑල අතරමග ඒ පණිවිඩය වෙන කෙනෙක්ට ඇරල බලන්න බැරි වෙන්න ඕන.

    ඔන්න එතකොට මම කරන්නේ Door එකක් තියෙන යකඩ පෙට්ටියක් උබට එවනවා ඕපන් කරපු ඉබ්බෙකුත් එක්ක. නමුත් ඉබ්බාගේ යතුර මගේ අතේ තියෙන්නේ. මම පබ්ලික් එකේ එවනවා ඉබ්බවයි පෙට්ටියයි උබට, නමුත් උබ දන්නවා මේ ඉබ්බා ලොක් කරොත්, ලොක් එක අරින්න පුළුවන් මට විතරයි කියල. එතකොට උබ පණිවුඩය බොක්ස් එක ඇතුලට දාල ඉබ්බාගෙන් Lock කරලා මට තැපැල් කරනවා බය නැතුව. මොකද ඒ ඉබ්බා ට හරියන්නේ මගේ යතුර විතරයි.

    අන්න ඒ වගේ Mathamatically දෙක එකට Bond වෙච්ච Keys දෙකක් private and Public key කියන්නේ.


    ඒ ඇරෙන්න මේක ඇතුලේ ස්ලෝට්ස් දෙකක් තියෙනවා PGP Keys ප්‍රෝග්‍රෑම් කරන්න. (මම දැන් පාවිච්චි කරන්න යන mode එක)


    මේ slot එක ඇතුලට දාන කිසිම දෙයක් ආපහු එලියට ගන්න බැහැ උබ සමාන්තර ලෝකෙක හිටියොත් ඇරෙන්න :rolleyes: ඒකයි මේකේ විශේෂත්වය.
    මේක ඇතුලට Secret Keys දෙකක් ස්ලොට් දෙකට දාගෙන පාවිච්චි කරන්න පුළුවන්.
    කී එක දැම්මොත් දැම්මම තමයි, එලියට ගන්න පුළුවන් කි එකෙන් Mathamatically generate කරන ටෝකන් එක විතරයි.


    ඒ නිසා, ඉහත කියපු One time password generate කරන්න mode එකට මේක පාවිච්චි කරත් උබ පබ්ලික් කම්පියුටර් එකකට මේක ගහල බය නැතිව ෆේස්බුක් වගේ එකකට ලොග් වෙන්න පුළුවන් (හැබැයි ලොගින් සෙෂන් එක සේව් කරන්නේ නැතුව) වයිරස් තිබුනත් එකෙන් කී එක හොරකම් කරත්, ඒක එක පාරකට පස්සේ පාවිච්චි කරන්න බැහැ, ඒක yubico servers වලිනුත් වැලිඩ් ද කියල චෙක් වෙනව. (Yubico server එක විශ්වාස නැතිනම් අපිට ම වෙන සර්වර් එකක් හොස්ට් කරගන්නත් පුළුවන් Validate කරන්න, Server එක ඕපන්සෝස්) ඒ වගේම තප්පර ගානකින් ඒක expire වෙලා යනව.


    ප්‍රශ්නයක් තියෙනවනම් ඇහුවට කමක් නැහැ මම ගොඩක් මේ cryptography subject එකේ Mathamatical Level එකට යනකන්ම දන්නව.
    දෙයක් ඉගෙනගත්ත නම් රෙපක් නොදුන්නට කමක් නැහැ මේකට ගිහින්, වෝට් එකක් දාපං :P:rofl:



    https://wpdev.uservoice.com/forums/266908-command-prompt-console-windows-subsystem-for-l/suggestions/16894144-support-gpg2-smartcard-integration-yubikey
     
    Last edited:

    PMMM

    Member
    Jul 5, 2018
    313
    41
    0
    Yubikey එක නේද?

    Universal 2 Factor Authentication (U2F) support කරන Hardware එකක්. Yubico කියන Company එකෙන් හදන්නේ. වෙන කොහෙන්වත් ගන්න නැහැ. ගත්තොත් ඒක Safe නැහැ.

    ඒ වගේම තව ගොඩක් Cryptography සම්බන්ද දේවල් වලට පාවිච්චි කරන්න පුළුවන්. Crypto Currency නෙවෙයි (Cryptography wallet වලට නම් පාවිච්චි කරන්න පුළුවන්)

    Google Authenticator එක වෙනුවට එහෙම පාවිච්චි කරන්න පුළුවන් දැනට තියෙන සේෆ් ම මෙතඩ් එකක්. Militory grade cryptography and security.

    ඔය ෆේස්බුක් එකේ ලොගින් වුනාම Password, Username ගහල 2 Pass authentication ඇක්ටිව් කරාම ෆෝන් එකට SMS එකක් එනවානෙ, එහෙම නැතිනම් App එකකින් කෝඩ් එක Generate කරලා එන්ටර් කරන්න එනවනේ
    ඒ වෙනුවට මේක USB Port එකට connect කරලා ඔකේ තියෙන Metal plate එක ටච් කරන්න තියෙන්නේ. එතකොට U2F Support කරන බ්‍රව්සර් (Quantom firefox, Chrome) එකෙන් ඒක detect කරලා ලොගින් වෙනවා. Facebook/Google/Lastpass වගේ ගොඩක් ඒවා තියෙනවා මේක සපෝර්ට් කරනව.

    One time password generate කරන්න පාවිච්චි කරන්න පුළුවන්, වගේ තව ගොඩක් දේවල් වලට Program කරන්න පුළුවන්.

    මේක ඇතුලේ mathamatical calculation එකක් වෙන්නේ.
    කෙටි කරලා කිව්වොත්:
    මේකේ ඇතුලේ ප්‍රෝග්‍රෑම් කරලා තියෙනවා තියෙනවා Private ID එකක්, මේක Yubikey එකෙන් Pre program කරලා එවන්නේ, නමුත් අපිට මේක Overwrite කරන්න පුළුවන්. හැබැයි ඊටපස්සේ ආපහු ඒ කී එක ආපහු දාගන්න බැහැ. ඒ උනාට ප්‍රශ්නයක් නැහැ. අලුත් කි එකක් හදල Yubikey servers වලට අප්ලෝඩ් කරන්න පුළුවන්. ඒක Safe (මොකද මේක එවන අතරතුර කාටහරි අරගෙන Clone කරගන්න පුළුවන් (Raspberry Pie එක ප්‍රෝග්‍රෑම් කරන්න පුළුවන් ක්ලෝන් කරන විදිහට, ඒක කෝඩ් එකත් Github එකේ තියෙනව, මේ සේරම opensource)


    මීට අමතරව 16 bits Usage counter එකක් තියෙනවා ( මේක USB Plug කරන වාරයක් වාරයක් පාසා ඒ කවුන්ටර් එක වැඩි වෙනවා,

    සහ time stamp (~ 8 Hz සැරෙන් සැරේ මේ counter එක වැඩි වෙනවා),

    8 bits Session Ctr ( Metal Plate එක Touch කරන සැරයක් සැරයක් ගානේ මේ කවුන්ටර් එක වැඩි වෙනවා)

    මේ සේරම එකට එකතු කරලා, එකට Random generate කරපු තව Value එකකුත් එකතු කරලා(පාස්වර්ඩ් එක වෙනස් වෙනස් ජාතියේ ඒවා එන්න),

    තව Checksum values calculate කරලා (Key එක corrupt වෙලාද කියල මෙතනින් බලන්න පුල්වුඅන්) ඔක්කොම ටික AES 128 ECB Cipher ඇල්ගොරිතම් එකට හරවල එක මුලට Public ID එක add කරහම තමයි One time password එක Generate වෙන්නේ.

    මේ One time Key එක පබ්ලික් Key එකෙන් Verify කරන්න පුළුවන් ඒ කෙනාගේමද කියල.

    ඊටපස්සේ තමයි Login වෙන්නේ.
    Public key, Private Key අතර සම්බන්දය ගැන දන්නවා ඇති කියල හිතනවා.
    නොදන්නා අයට කියන්නම් කෙටියෙන්:
    උදාහරණයක් විදිහට මේ Key දෙක එකට එකක් සම්බන්දයි. Public key කියන එක රහස් දෙයක් නෙමෙයි, ඕනෑම කෙනෙක්ට ඒක පෙන්නන්න පුළුවන් නමුත් Privatekey කියන එක Secret එකක්.

    RSA Algorithm එක හරියට පබ්ලික් කී කියන්නේ ලොක් එක ඇරලා දාපු ඉබ්බෙක් (Paddle lock) වගේ.

    හිතන්න, ඔයාට තැපැල් කරන්න ඕන මොනවහරි රහස් පණිවිඩයක් මට, නමුත් තැපෑල අතරමග ඒ පණිවිඩය වෙන කෙනෙක්ට ඇරල බලන්න බැරි වෙන්න ඕන.

    ඔන්න එතකොට මම කරන්නේ Door එකක් තියෙන යකඩ පෙට්ටියක් උබට එවනවා ඕපන් කරපු ඉබ්බෙකුත් එක්ක. නමුත් ඉබ්බාගේ යතුර මගේ අතේ තියෙන්නේ. මම පබ්ලික් එකේ එවනවා ඉබ්බවයි පෙට්ටියයි උබට, නමුත් උබ දන්නවා මේ ඉබ්බා ලොක් කරොත්, ලොක් එක අරින්න පුළුවන් මට විතරයි කියල. එතකොට උබ පණිවුඩය බොක්ස් එක ඇතුලට දාල ඉබ්බාගෙන් Lock කරලා මට තැපැල් කරනවා බය නැතුව. මොකද ඒ ඉබ්බා ට හරියන්නේ මගේ යතුර විතරයි.

    අන්න ඒ වගේ Mathamatically දෙක එකට Bond වෙච්ච Keys දෙකක් private and Public key කියන්නේ.

    ඒ ඇරෙන්න මේක ඇතුලේ ස්ලෝට්ස් දෙකක් තියෙනවා PGP Keys ප්‍රෝග්‍රෑම් කරන්න. (මම දැන් පාවිච්චි කරන්න යන mode එක)


    මේ slot එක ඇතුලට දාන කිසිම දෙයක් ආපහු එලියට ගන්න බැහැ උබ සමාන්තර ලෝකෙක හිටියොත් ඇරෙන්න ඒකයි මේකේ විශේෂත්වය.
    මේක ඇතුලට Secret Keys දෙකක් ස්ලොට් දෙකට දාගෙන පාවිච්චි කරන්න පුළුවන්.
    කී එක දැම්මොත් දැම්මම තමයි, එලියට ගන්න පුළුවන් කි එකෙන් Mathamatically generate කරන ටෝකන් එක විතරයි.


    ඒ නිසා, ඉහත කියපු One time password generate කරන්න mode එකට මේක පාවිච්චි කරත් උබ පබ්ලික් කම්පියුටර් එකකට මේක ගහල බය නැතිව ෆේස්බුක් වගේ එකකට ලොග් වෙන්න පුළුවන් (හැබැයි ලොගින් සෙෂන් එක සේව් කරන්නේ නැතුව) වයිරස් තිබුනත් එකෙන් කී එක හොරකම් කරත්, ඒක එක පාරකට පස්සේ පාවිච්චි කරන්න බැහැ, ඒක yubico servers වලිනුත් වැලිඩ් ද කියල චෙක් වෙනව. (Yubico server එක විශ්වාස නැතිනම් අපිට ම වෙන සර්වර් එකක් හොස්ට් කරගන්නත් පුළුවන් Validate කරන්න, Server එක ඕපන්සෝස්) ඒ වගේම තප්පර ගානකින් ඒක expire වෙලා යනව.


    ප්‍රශ්නයක් තියෙනවනම් ඇහුවට කමක් නැහැ මම ගොඩක් මේ cryptography subject එකේ Mathamatical Level එකට යනකන්ම දන්නව.
    දෙයක් ඉගෙනගත්ත නම් රෙපක් නොදුන්නට කමක් නැහැ මේකට ගිහින්, වෝට් එකක් දාපං



    https://wpdev.uservoice.com/forums/...44-support-gpg2-smartcard-integration-yubikey


    :eek:
     

    Jack_Sparrow

    Well-known member
  • Jun 16, 2008
    42,522
    1
    16,928
    113
    Black Pearl
    ochchara karala naha ban Git account eka 2 factor dala PAT ekakin commit push karanne
    Yubi key ekak wage use karana eka hodai mokek hari lap eka hack karala shot eka dena ewa avoid karaganna puluwanne :)
    PGP key ekak tiyan innawa pack sign karanna, anemanda dan nam PGP walapallata gihin wage
     

    BLACKLIST_MEMBER

    Well-known member
  • Feb 9, 2008
    37,854
    14,810
    113
    127.0.0.1
    ochchara karala naha ban Git account eka 2 factor dala PAT ekakin commit push karanne
    Yubi key ekak wage use karana eka hodai mokek hari lap eka hack karala shot eka dena ewa avoid karaganna puluwanne :)
    PGP key ekak tiyan innawa pack sign karanna, anemanda dan nam PGP walapallata gihin wage
    ela meka man karala godak kal WSL dan use karanne na ban dan full time linux / unix
    me aurudu 2katata wage parana ekakne bump wela thiyenne :dull:

    anika balapan oya photo eke background eke thiyena website eke hati. koi kaale thibba site da yako owa aadi kaalene. aachchi seeya kaale ewa mewa. matakath na ohoma ekak thibbada kiyalawath dan
     
    Status
    Not open for further replies.