วันศุกร์ที่ 2 พฤศจิกายน พ.ศ. 2561

Low-code Platform

Low-Code Development Platform ไม่ใช่เรื่องใหม่ แต่อาจเป็นม้ามืดที่คาดว่าจะเริ่มเข้ามาในไทยภายในปี 2018 นี้ คนนอกสาย IT สามารถทำการพัฒนา Application ขึ้นมาใช้งานเองได้โดยไม่ต้องอาศัย Programmer มากอย่างแต่ก่อน ทำให้การสร้าง Application ขึ้นมาใช้งานตอบโจทย์ภายในองค์กรด้วยตัวเองนั้นสามารถเป็นไปได้อย่างคล่องตัว โดยถึงแม้ Application เหล่านั้นจะไม่สามารถทำงานได้อย่างซับซ้อนมากนัก แต่หากเป็นแค่การจัดการกับข้อมูล หรือการกำหนด Workflow ต่างๆ ในการทำงานได้ผ่านทาง Mobile Application และ Web Application ระบบ Low-code Platform นี้ก็ถือว่าตอบโจทย์ได้ดีทีเดียว
Low-Code Development Platform รุ่นใหม่ๆ ที่ออกมา ได้รับการพัฒนาในขั้นตอนต่างๆ ของ Software Development Life Cycle (SDLC) แล้ว ตั้งแต่ version control, performance testing จนถึง change management ซึ่งมันไม่เพียงทำให้ง่ายต่อการสร้าง Software เท่านั้น แต่ยังสามารถสร้าง Test, ระบุปัญหา, ปรับเปลี่ยนขนาด Software ได้สะดวกและ application ก็มีความปลอดภัยมากขึ้นด้วย

ดังนั้นนิยามง่ายของ Low-Code Plateform คือ แพลตฟอร์มที่ใช้เพื่อพัฒนา, วิเคราะห์, ควบคุม, โยกย้าย(Production, Analysis, Monitoring, Deployment) เวปไซต์หรือเซอวิส



ตัวอย่างการนำไปใช้ เช่น 

Mendix platform

Mendix platform คือ เทคโนโลยีที่ช่วยให้การพัฒนา Web application ให้สำเร็จได้อย่างรวดเร็ว     ได้รับความนิยม และใช้งานอยู่แพร่หลายในประเทศแถบยุโรป และอเมริกา ซึ่งปัจจุบันมีนักพัฒนาซอฟต์แวร์ใช้งานกว่า 40,000 User ทั่วโลก จากการศึกษาโดยหน่วยงานวิจัยอิสระ Quantitative Software Management หรือ QSM ชี้ให้เห็นว่า การพัฒนาแอปพลิเคชันด้วย Mendix Platform มีความเร็วกว่าการพัฒนาด้วย Programming language อื่น ๆ ถึง 6 เท่า

ดังนั้น Mendix Platform จึงเข้ามาเปลี่ยนแปลงรูปแบบการพัฒนา Custom software จากการเขียน Code ซึ่งต้องอาศัยโปรแกรมเมอร์ที่มีความเชี่ยวชาญ และยังต้องใช้เวลาในการเขียนนานเป็นปี มาเป็นการใช้ Model ซึ่งเป็นเพียงการ Drag and Drop แล้วนำมาประกอบ และทดสอบความถูกต้อง และความปลอดภัย ทำให้เกิดความรวดเร็ว สามารถเขียนแล้วเสร็จภายในเวลาไม่กี่เดือน หรือบางกรณีใช้เวลาเพียงไม่กี่สัปดาห์
โดยผู้ใช้งาน (User) สามารถทำความเข้าใจได้ง่าย สามารถเข้ามามีส่วนร่วมในการพัฒนาและทดสอบได้มากขึ้น ผลลัพธ์ที่ได้ จึงเกิดความรวดเร็วจากการพัฒนา และเกิดประสิทธิภาพจากการได้รับ Custom software ที่ตอบโจทย์ทางธุรกิจง่าย โดยที่ไม่จำเป็นต้องใช้ผู้พัฒนาจำนวนมาก



ref;www.infoworld.com www.techstarthailand.com www.voicetv.co.th

วันอังคารที่ 2 ตุลาคม พ.ศ. 2561

เทคโนโลยี Ultra Wide Band (UWB)

จุกเริ่มต้น พ.ศ. 2545 (ค.ศ. 2002) คณะกรรมการกลางกำกับดูแลกิจการสื่อสารของประเทศสหรัฐอเมริกา (FCC: Federal Communications Commission) หรือเรียกกันว่า เอฟซีซี ได้ออกข้อกำหนดการใช้สัญญาณชนิดหนึ่งที่มีชื่อว่า “อัลตราไวด์แบนด์” (UWB: Ultra Wide Band) เนื่องจากคุณสมบัติของสัญญาณอัลตราไวด์แบนด์มีคุณลักษณะที่โดดเด่น คือ เป็นสัญญาณไร้สายที่มีรูปคลื่นพัลส์ซึ่งปรากฏเพียงชั่วขณะ หรือเป็นพัลส์ที่มีความกว้างของสัญญาณในทางเวลาที่แคบมากที่สุด (F. Nekoogar, 2005) ซึ่งอยู่ในระดับนาโนวินาที (ns: nanosecond, 10-9) หรือที่ระดับพิโควินาที (ps: picosecond, 10-12) เนื่องด้วยความกว้างของพัลส์ทางเวลาที่อยู่ในระดับนี้เมื่อทำการวิเคราะห์แถบความถี่ หรือสเปกตรัม (spectrum) พบว่าเกิดการแผ่สเปกตรัมที่กว้างที่สุด (ultra-wide bandwidth)
ในการส่งสัญญาณและเป็นที่มาของชื่อที่ว่าอัลตราไวด์แบนด์ ปัจจุบัน อัลตราไวด์แบนด์ได้ถูกพัฒนามาอย่างต่อเนื่องและถูกนำไปประยุกต์ใช้งานในด้านต่าง ๆ อย่างหลากหลายเช่น การทหาร, การแพทย์, การสื่อสาร, และการเกษตร แต่ในงานวิจัยนี้จะชี้ให้เห็นถึงประโยชน์ของเทคโนโลยีดังกล่าวว่ามีความเป็นไปได้ที่จะพัฒนาเพื่อก่อให้เกิดประโยชน์ต่อประเทศชาติและการนำไปประยุกต์ใช้งานในสาขา ต่าง ๆ ดังที่ได้กล่าวมา เทคโนโลยีอัลตราไวด์แบนด์เพื่อการสื่อสาร ปัจจุบันเทคโนโลยีการสื่อสารได้พัฒนาไปอย่างรวดเร็วทั้งนี้เพื่อตอบสนองต่อความต้องการของผู้บริโภคที่มีแนวโน้มเพิ่มมากขึ้นโดยเฉพาะในยุคปัจจุบัน
        เทคโนโลยีอัลตราไวด์แบนด์เป็นอีกเทคโนโลยีที่มีความสามารถในการสื่อสารผ่านแบนด์วิดท์ที่กว้างจึงทำให้สามารถส่งข้อมูลด้วยอัตราการส่งข้อมูลสูงได้อย่างรวดเร็วและเมื่อเปรียบเทียบกับการส่งข้อมูลด้วยสัญญาณไร้สายอย่างบลูทูธ (bluetooth) อัลตราไวด์แบนด์สามารถส่งได้มากกว่าหนึ่งร้อยเท่าในเวลาที่เท่ากัน (J. Foerster, 2001) เนื่องด้วยศักยภาพที่สามารถส่งข้อมูลได้ปริมาณที่มากทำให้การสร้างระบบการสื่อสารอัลตราไวด์แบนด์บางประเภทถูกจัดไว้เพื่อการสื่อสารข้อมูลแบบสื่อประสม (multimedia communications) ซึ่งต้องการอัตราการส่งข้อมูลสูง และเทคโนโลยีนี้ได้รับการพิจารณาโดยคณะกรรมการกำหนดมาตรฐานของ ไอทริปเปิ้ลอี (IEEE: Institute of Electrical and Electronics Engineers) โดยจัดให้อยู่ในการสื่อสารในเครือข่ายไร้สายส่วนบุคคล (WPAN: Wireless Personal Area Network) โดยการใช้มาตรฐาน IEEE 802.15.3a และในขณะเดียวกันก็ได้กำหนดสัญญาณเพื่อการระบุตำแหน่ง (positioning) และหาระยะทาง (distancing) ใช้มาตรฐาน IEEE 802.15.4a (K. Siwiak and D. KcKeown) รูปที่ 1 (Intel, 2004) เป็นการเปลี่ยนการส่งข้อมูลแบบสายมาเป็นการส่งข้อมูลแบบไร้สายด้วยการใช้เทคโนโลยีอัลตราไวด์แบนด์แทนการส่งข้อมูลในการเชื่อมต่อระหว่างอุปกรณ์แบบพกพา
ประโยชน์การนำเทคโนโลยีอัลตราไวด์แบนด์มาใช้งานมีมากมายหลายแขนงอาชีพ เช่น เรดาห์ตรวจจับวัตถุที่อยู่หลังกำแพง (through wall radar) หรือเรดาห์ตรวจจับวัตถุใต้พื้นดินโดยเฉพาะอย่างยิ่ง วัตถุที่เป็นระเบิด (Ground Penetrating Radar) และเพื่อการแพทย์



ตัวอย่าง
               
เทคโนโลยีอัลตราไวด์แบนด์ยังถูกนำมาใช้วัดอัตราการเต้นของหัวใจโดยพัฒนาอุปกรณ์แบบไร้สาย (F. Thiel, 2009) ดังรูปที่ 6 และรูปที่ 7 เป็นการส่งข้อมูลของผู้ป่วยแบบไร้สายโดยการส่งผ่านอุปกรณ์มือถือ (personal digital assistance) และขณะที่การนำผู้ป่วยส่งโรงพยาบาลก็จะมีการส่งข้อมูลของผู้ป่วยตลอดเวลาเพื่อประมวลและวินิจฉัยอาการของผู้ป่วยได้ตลอดเวลาและมีประสิทธิภาพ

                              อัลตราไวด์แบนด์ตรวจวัดสัญญาณอัตราการเต้นของหัวใจแบบไร้สาย




                                       การใช้อัลตราไวด์แบนด์ในการสื่อสารข้อมูลของผู้ป่วยแบบไร้สาย




ref ; www.elec-creations.com , InSitE auu amara , NICT

วันอาทิตย์ที่ 2 กันยายน พ.ศ. 2561

5th Generation

เทคโนโลยี 5G มาตรฐานใหม่ของการเชื่อมต่อไร้สายในยุคที่ 5 ที่จะมาแทนที่ระบบ 4G ที่กำลังใช้กันอยู่ในปัจจุบัน ตอนนี้อยู่ในระหว่างการพัฒนาและกำหนดมาตรฐานซึ่งคาดว่าน่าจะเป็นรูปเป็นร่างและมีออกมาให้เราใช้กันในอีกไม่กี่ปีข้างหน้า (องค์กรที่เป็นผู้กำหนดมาตรฐานก็คือ International Telecommunications Union หรือ ITU) ตัว G ที่เราเห็นในคำว่า 3G, 4G และ 5G ย่อมาจาก Generation ที่แปลว่ารุ่น 5G ต้องสามารถรับส่งข้อมูลได้เร็วถึง 20 Gbps มากกว่า 4G ถึง 20 เท่า (4G มีมาตรฐานอยู่ที่ 1Gbps) อีกคุณสมบัติคือการรองรับอุปกรณ์เชื่อมต่อได้นับล้านๆ ชิ้นต่อตารางกิโลเมตร จึงรองรับยุค IoT (Internet of Things) ที่อุปกรณ์ของใช้ของมนุษย์ล้วนเชื่อมต่ออินเทอร์เน็ต ประโยชน์ที่จะนำความสามารถไปใช้งาน เช่น อนาคตเราจะสามารถโหลดไฟล์วีดีโอแบบ HD ที่มีไฟล์ขนาด 7.5 GB ได้ภายใน 1 วินาที , ผสานธุรกิจ Smart Life ต่างๆ , การแพทย์ทางไกล ฯลฯ 



วันพฤหัสบดีที่ 2 สิงหาคม พ.ศ. 2561

WEB API

API ย่อมาจาก Application Programming Interface 
คือโปรแกรมที่ีวิธีติดต่อกันโดยผู้ใช้เป็นคนส่ง และผู้รับตอบกลับมา เช่น ผู้รับอาจหมายถึง Server ของ Google ที่ค้นหาข้อมูลให้เราก็ถือว่าเป็นโปรแกรมใหญ่ๆตัวหนึ่ง Server ของ Facebook ก็เป็นโปรแกรมตัวหนึ่ง Server ธนาคารก็เป็นโปรแกรมตัวหนึ่ง ผู้ส่งคือตัวเราเองที่ใช้เครื่อง (computer , smartphone)
กดปุ่มส่งไปบ้าง หรือป้อนข้อความแล้วกดปุ่มตกลง ผู้รับได้รับก็จะประมวลผลและทำตามส่งผลลัพธ์กลับ
มาที่ผู้ส่ง เป็นต้น


ปัจจุบันคนทำเว็บเพจแบบ API คงหนีไม่พ้นการทำเว็บAPI หลังบ้าน (backend) เพื่อให้ระบบหน้าบ้าน เว็บส่วน frontend หรือแอปพลิเคชันมือถือหรือระบบอื่น ๆ มาเรียกใช้งาน เวลาเราจะเขียนเว็บ API ขึ้นมาใช้สักตัวปกติแล้วก็จะเริ่มจากออกแบบ จากความต้องการจะนำข้อมูลอะไรเข้า-ออกจากระบบของเรา จะประมวลผลอะไร แต่สิ่งนึงที่มักจะถูกมองข้ามคือเรื่องของความปลอดภัย เพราะจุดประสงค์หลักคือเน้นเขียนให้แค่ใช้งานได้ งานเสร็จเร็ว รีบปิดงาน รับเงิน ไปทำโปรเจ็คอื่นต่อ ในมุมมองอีกด้านหนึ่งแล้วเว็บ API ที่ปลอดภัย มันควรจะเป็นยังไง เราควรหาทางป้องกันแก้ไข เพื่อพัฒนาระบบที่เราสร้างให้เกิดความปลอดภัยไปด้วยไม่ใช้แค่สร้างให้ไช้งานได้เฉยๆ มีแนวทางดังนี้

    1. ใช้การเชื่อมต่อเป็น HTTPS ทุกกรณี
HTTPS คือการเข้ารหัสข้อมูลระหว่างผู้ใช้งานกับเว็บ server  เรื่องนี้น่าจะเป็นพื้นฐานความปลอดภัยที่นักพัฒนาทุกคนควรนำไปใช้ได้แล้ว เพราะ server แต่ละบริษัทที่ให้บริการจะเริ่มจรืงจังกับระบบความปลอดภัย เช่น ตั้งแต่เดือนกรกฏาคม 2561 ที่จะถึงนี้ Chrome เวอร์ชั่น 68 จะแจ้งเตือนเว็บทุกเว็บที่ไม่ได้ใช้ HTTPS ว่าไม่ปลอดภัย “Not Secure” เป็นต้น
    2. เก็บรหัสผ่านในรูปแบบที่ผ่านฟังก์ชันแฮชที่มีความปลอดภัยเสมอ
ถ้าเว็บเรามีระบบสมาชิก ให้คนเข้ามาสมัครได้ แน่นอนว่าเราจะต้องทำการเก็บ ชื่อผู้ใช้ กับ รหัสผ่าน แต่จะเกิดอะไรขึ้นถ้า ระบบของเราโดนแฮก หรือผู้ดูแลระบบ คนในองค์กรไม่หวังดี นำข้อมูลรหัสผ่านออกไป? หนึ่งในวิธีลดความเสี่ยงของปัญหานี้คือเราสามารถ แปลงรหัสผ่านโดยการใช้ฟังก์ชันแฮชที่มีความปลอดภัยเช่น bcrypt ไปเป็นรูปแบบที่ไม่สามารถย้อนกลับไปเป็นรหัสผ่านจริง ๆ ได้โดยง่าย ถ้าไม่เคยทำมาก่อน ฟังดูเหมือนซับซ้อนแต่ ถ้าคุณใช้ framework เขียนเว็บ มั่นใจได้ว่าเกือบทุกยี้ห้อมีฟังก์ชันการแฮชรหัสผ่านให้แน่นอน เปิดคู่มืออ่านแล้วรีบแก้ไข ถ้าไม่มีตัวภาษาที่ใช้เขียนก็มีความสามารถทำได้ และอีกอย่างคือควรใส่ค่าสุ่มที่เรียกว่า salt ลงไปก่อนจะทำการแฮชด้วย เพื่อป้องกันการแฮชค่าเดียวกันของต่างผู้ใช้งานแล้วได้แฮชค่าเดิม ซึ่งบางอัลกอริทึมเช่น bcrypt จะใส่ไว้ให้อัตโนมัติแล้วไม่ต้องทำเองให้ยุ่งยาก เพิ่มเติมข้อควรระวังคือ อย่าใช้ ฟังก์ชันแฮชที่มีความปลอดภัยต่ำเมื่อเทียบกับตัวเลือกอื่นในยุคนี้แล้วอย่าง MD5 หรือ SHA1 โดยเด็ดขาด เพื่อสร้างความตระหนักทีมพัฒนาให้เลือกใช้แฮชที่ปลอดภัย เวลาเขียนโปรแกรม
     3. ใช้การสร้างค่าสุ่มที่มีความปลอดภัย
เวลาเราเขียนเว็บขึ้นมา อีกสิ่งที่หนีไม่พ้นแน่ ๆ คือการสร้างค่าสุ่มที่มีความปลอดภัยมีความสำคัญมาก เราควรจะกำหนดความยาวเพื่อไม่ให้ถูกเดาได้โดยง่ายเช่นตั้งแต่ 12 ตัวขึ้นไป พร้อมทั้งใช้ฟังก์ชันที่สร้างเลขสุ่มที่ปลอดภัยด้วยอย่างในภาษา Java ก็จะมี class ที่ใช้สร้าง object สำหรับสร้างค่าสุ่มคือ java.util.Random แต่หารู้ไม่ว่า ฟังก์ชันนี้ไม่ปลอดภัยเพียงพอสำหรับการสร้างค่าที่ต้องใช้เป็นความลับ ซึ่งจะมีฟังก์ชันที่เหมาะสมกว่าสำหรับการสร้างค่าสุ่มที่มีความปลอดภัยคือ java.security.SecureRandom ส่วนถ้าคุณใช้ภาษาอื่น หรือเว็บ framework ก็ปรึกษาคู่มือว่าจะสร้างเลขสุ่มที่ปลอดภัยได้อย่างไร หนึ่งในวิธีที่แนะนำคืออาจจะใช้ฟังก์ชันที่สร้างค่าสุ่มที่เรียกว่า UUID version 4 จะหน้าตาประมาณนี้
123e4567-e89b-12d3-a456-426655440000
ก็ได้ถือว่ามีความปลอดภัยเพียงพอและยากต่อการเดา
     4. ตัวอย่างการออกแบบชื่อ path ของเว็บ API ที่ช่วยลดโอกาสจะเกิดช่องโหว่
วิธีการเขียนการตรวจสอบสิทธิ์ทั้ง การยืนยันตัวผู้ใช้และการยืนยันสิทธิ์ของผู้ใช้งาน ที่ดีคือใช้ framework หรือเทคนิคที่สามารถ รวมการเช็คสิทธิ์แบบศูนย์กลางที่เดียวกันได้ คือตั้งที่เดียวให้มันเช็คสิทธิ์ทั้งหมดทุกจุด อย่าพยายามแยกไปเช็คหลาย ๆ ที่ เพราะแยกแล้วโอกาสพลาดสูงกว่า
     5. การเก็บข้อมูลที่อัปโหลดจากผู้ใช้งานที่ปลอดภัย
ถ้าระบบเรายอมให้ผู้ใช้งานอัปโหลดรูปหรือเอกสาร ภายใต้เงื่อนไขข้อมูลเก็บบน cloud ได้มีงบและระบบสเกลขนาดกลางขึ้นไป ควรแยกไปไว้ระบบเก็บไฟล์ static 
     6. นอกจาก API สำหรับผู้ใช้งานแล้ว API ที่คุยกันระหว่าง server ก็ต้องออกแบบให้ปลอดภัย
ระบบขนาดกลางถึงขนาดใหญ่ นอกจากจะมีการให้ ผู้ใช้งานฝั่ง end-user เรียก API เพื่อใช้ฟีเจอร์ต่าง ๆ แล้ว ตัวระบบใน API นั้น ๆ เอง มักจะต้องไปเรียก API ที่ server อื่นต่ออีกที เพื่อทำงานอะไรบางอย่างที่ทำเองในระบบตัวเองไม่ได้ เช่นการดึงข้อมูลจากระบบอื่นมาใช้ การคุยกันระหว่าง API สองตัวโดยไม่ผ่านผู้ใช้งานฝั่ง end-user เราเรียกว่า server-to-server communication บ่อยครั้งในกระบวนการออกแบบซอฟต์แวร์ มีการออกแบบมาอย่างไม่ปลอดภัย โดยให้ผู้ใช้งานฝั่ง end-user ยิงเข้า API ตัวที่ควรทำเป็น server-to-server communication ได้โดยตรง ผลคือ การตรวจสอบค่าต่าง ๆ ที่ควรทำกลับไม่ได้ถูกตรวจสอบ นี่คือจุดที่ต้องควรระมัดระวังอย่างยิ่ง

     7. ควรทำการตรวจสอบค่าที่รับเข้ามาจากผู้ใช้งานเสมอ
การเขียนโค้ดที่ต้องตรวจสอบค่าของผู้ใช้งานนั้น ควรมีการเรียกใช้งาน utility class หรือ library ที่พิสูจน์และเป็นที่ยอมรับแล้วว่าปลอดภัย และทุก ๆ ครั้งที่จะทำการตรวจสอบในกรณีเดียวกันควรจะต้องเรียกใช้งานจากutility class นั้น ๆ ที่เดียว เพื่อป้องกันในทุกจุดในกรณีเดียวกันให้เหมือนกัน สมมุติถ้า มีช่องโหว่เกิดขึ้นใน utility class นั้นเราก็จะได้แก้จุดเดียว เพื่อว่าให้ง่ายต่อการ maintenance การเพิ่มฟีเจอร์ การ test การ integration กับระบบอื่นและลดข้อผิดพลาดจากกรณีว่า ถ้าเราเขียนไว้หลาย ๆ ที่จาก 100 ที่ อาจจะมีสัก 1 ที่ ๆ ลืมหรือเขียนผิด ถ้าเราบังคับให้ใช้จากที่เดียวเลยก็จะแก้ปัญหานี้ได้ดีขึ้น
     8. คอยตามข่าวช่องโหว่ใน component ที่เราใช้งาน
เวลาเราจะสร้างเว็บ API หรือระบบขึ้นมาสักอย่าง มีโอกาสน้อยมากที่เราจะเขียนโค้ดเองทั้งหมด เรามักจะใช้เว็บ framework หรือ library ของคนอื่นเข้ามาในโค้ดด้วยเสมอ เช่นใช้เพื่อทำฟีเจอร์อ่าน QR code ใช้เพื่อทำ rich-text editor หรืออ่านค่ามาจากเอกสาร Excel ที่ผู้ใช้งานอัปโหลดมาบนเว็บเป็นต้นเวลาเราออกแบบ พัฒนาระบบ เราก็ควรจะใช้งานเวอร์ชั่นล่าสุดในขณะนั้นเสมอเพื่อความปลอดภัยสูงสุด พร้อมทั้ง ทำเอกสารบอกถึงรายชื่อและเวอร์ชันของ component ที่เราใช้ เพื่อว่าถ้าในอนาคตถ้า component ที่เราใช้มีช่องโหว่เราจะได้ ตรวจสอบได้ง่าย และนำเวอร์ชันใหม่มาสับเปลี่ยนกันได้สะดวกมากยิ่งขึ้น เพื่อความปลอดภัยนั้นเอง
เทคนิคต่างๆ เรื่องของความปลอดภัยใน WEB API ยังมีอีกหลายจุดหลายเทคนิค ฉะนั้นการหาความรู้เพิ่มเติมจากโค้ดต่างๆ ยอมมีประโยชน์ มุมมองนักพัฒนา นักทดสอบซอฟต์แวร์ว่าเราควรจะทำยังไงให้ แอปพลิเคชันและเว็บ API เรามีความปลอดภัยมากยิ่งขึ้นก็เป็นหน้าที่ของนักพัฒนาซอฟต์แวร์ทุกคนที่ควรจะตระหนักถึงผู้ใช้งานและอัพเดทความรู้เกี่ยวกับภัยคุกคามและช่องโหว่ใหม่ ๆ อยู่เสมอ
ref ; www.catcyfence.com , medium.com

วันอังคารที่ 3 กรกฎาคม พ.ศ. 2561

Proxy Server

ในเครือข่ายคอมพิวเตอร์ พร็อกซีเซิร์ฟเวอร์ (อังกฤษproxy server) หรือเรียกโดยย่อว่า พร็อกซี คือเซิร์ฟเวอร์ (ระบบคอมพิวเตอร์หรือโปรแกรมประยุกต์) ที่ทำงานโดยการเป็นตัวกลางในการหาข้อมูลตามคำขอของเครื่องลูกข่ายจากเซิร์ฟเวอร์อื่นๆ กล่าวคือเครื่องลูกข่ายเชื่อมต่อไปที่ พร็อกซีเซิร์ฟเวอร์เพื่อขอใช้งานบางบริการ เช่น ไฟล์ การเชื่อมต่อ เว็บเพจ หรือทรัพยากรต่าง ๆ จากเซิร์ฟเวอร์อื่น จากนั้น พร็อกซีเซิร์ฟเวอร์จะทำการคัดกรองด้วยกฎที่ตั้ง ตัวอย่างเช่น คัดกรองจาก หมายเลขไอพีProtocol หลังจากนั้นถ้าการขอผ่านการคัดกรอง พร็อกซีเซิร์ฟเวอร์จะจัดหาข้อมูลตามคำร้องขอจากเซิร์ฟเวอร์อื่นแทนเครื่องลูกข่าย....
พร็อกซีเซิร์ฟเวอร์มีสองจุดประสงค์คือ:
  • เพื่อให้เครื่องลูกข่ายซ่อนตัว (โดยส่วนใหญ่ เพื่อความปลอดภัย)
  • เพื่อความเร็วของการใช้บริการที่เพิ่มขึ้น, โดยการเก็บเว็บเพจจากเว็บเซิร์ฟเวอร์
พร็อกซีเซิร์ฟเวอร์ที่ไม่มีการเปลี่ยนแปลงการขอและการตอบกลับเรียกว่า Gateway หรือในบางครั้ง tunneling proxygivjvgj

ประเภทและหน้าที่


Caching proxy server


ใช้เร่งความเร็วโดยการเก็บข้อมูลจากการเรียกใช้งานครั้งก่อน จากเครื่องลูกข่าย, Caching proxies เก็บสำรองข้อมูลที่ถูกร้องขอบ่อย ทำให้องค์กรขนาดใหญ่ลด upstream bandwidth และค่าใช้จ่าย ในขณะเดียวกันเพิ่มความสามารถขององค์กร. โดยส่วนมาก ISPs, ธุรกิจขนาดใหญ่มี และ มหาวิทยาลัยมี Caching Proxy
ข้อสำคัญของ พร็อกซีเซิร์ฟเวอร์อีกประการหนึ่งคือทำให้ประหยัดค่าใช้จ่าย, ในหนึ่งองค์กรอาจมีหลายระบบในเครือข่าย หรือในความควบคุม บนเครื่องเซิร์ฟเวอร์เพียงตัวเดียว, สามารถแบ่งแยกการเชื่อมต่อสู่อินเทอร์เน็ตของผู้ใช้ในแต่ละระบบ กล่าวคือ ผู้ใช้ในระบบสามารถเชื่อมต่อไปที่ พร็อกซีเซิร์ฟเวอร์และ พร็อกซีเซิร์ฟเวอร์เชื่อต่อไปที่เซิร์ฟเวอร์หลัก

Web proxy

พร็อกซีเซิร์ฟเวอร์ที่สนใจแต่การเชื่อมโยงบนเวิลด์ไวด์เว็บเรียกว่า web proxy. การทำงานหลักของมันคือการเป็น web cache, proxy โปรแกรมส่วนใหญ่ (e.g. Squid) ปฏิเสธบาง URL ใน Blacklist ภายใต้เงื่อนใขการคัดกรอง นิยมใช้ในบริษัท, สถานศึกษา, ห้องสมุด หรือใดก็ตามที่ทำการคัดกรอง

Hostile proxy

บางครั้งพร็อกซีเซิร์ฟเวอร์อาจถูกใช้ในจุดประสงค์ที่ไม่ดี เพื่อดักเก็บข้อมูลที่ส่งผ่านระหว่างเครื่องลูกข่ายกับเว็บเซิร์ฟเวอร์ สามารถเก็บข้อมูลในการกรอกแบบฟอร์มต่าง ๆ บนเว็บ เช่น รหัสผ่านสำหรับอีเมลหรือธนาคารออนไลน์ ทั้งนี้สามารถใช้ SSL เพื่อความปลอดภัย


ส่วนใหญ่สถานที่ราชการหรือหน่วยงานจะติดตั้งค่า Web proxy  ให้กับ Web browser เพื่อใช้คัดกรองหรือจำกัดผู้ใช้งาน เพื่อความปลอดภัยของระบบ ตัวอย่าง
การตั้งค่าใน Windows Internet Explorer
Proxy Server Address 192.168.1.3 Proxy Server Port 8080
 (1)Tools > (2)Internet Options เลือก (3)Connections > (4)LAN Settings เลือกถูกหมายเลข (5) ใส่หมายเลข IP 192.168.1.3, 8080 ลงในช่อง Address และPort ตามล าดับ เลือกถูก หมายเลข (6) แล้วคลิก (7)Advance เลือกถูกหมายเลข 8 แล้วใส่ 192.168.0.222 (9)จากนั้นคลิก OK (10) ทดลองเข้าเว็บไซต์ภายนอกจะปรากฏหน้าต่างให้ใส่ Username, Password




rfe ; wikipedia.org / 

วันเสาร์ที่ 2 มิถุนายน พ.ศ. 2561

Blockchain Technology

บล็อกเชน (Blockchain) คืออะไร?
  เปรียบเสมือนเครือข่ายการเก็บข้อมูลแบบหนึ่ง ที่ทุกคนสามารถเข้าถึงและได้รับข้อมูลเดียวกัน เราจึง
รู้ว่าใครมีสิทธิและเป็นเจ้าของข้อมูลเหล่านี้จริงๆ โดยข้อมูลเหล่านี้จะถูกเก็บอยู่ในแต่ละบล็อก (Block) 
ที่เชื่อมโยงกันบนเครือข่ายเหมือนกับห่วงโซ่ (Chain) เป็นเทคโนโลยีที่ช่วยนำมาซึ่งความปลอดภัยน่าเชื่อถือ โดยไม่ต้องอาศัยคนกลาง
  ผู้เชี่ยวชาญทางเทคโนโลยีด้านต่างๆ มีความเชื่อว่าจุดแข็งหรือประโยชน์ของการจัดเก็บข้อมูลแบบกระจายส่วน (distributed ledger) ทั้งในแง่ความปลอดภัย ประสิทธิภาพการดำเนินการจัดเก็บข้อมูล และความรวดเร็วของการทำธุรกรรมโดยปราศจากตัวกลาง ซึ่งเหนือกว่าระบบเทคโนโลยีแบบรวมศูนย์ (Centralized server-based system) ที่กำลังใช้กันอย่างแพร่หลาย
ในปัจจุบัน เช่น ระบบการประกอบธุรกิจและระบบการเงิน
นอกจากการนำเทคโนโลยีบล็อกเชนมาใช้ในภาคธุรกิจต่างๆแล้ว ก็ได้เริ่มมีแนวคิดของการนำเทคโนโลยีดังกล่าวมาใช้เพื่อพัฒนาประสิทธิภาพการทำงานของภาครัฐเพื่อให้ตอบสนองกับ
พันธกิจและสภาพสังคมที่เปลี่ยนแปลงไปอย่างรวดเร็ว

แนวคิดเกี่ยวกับการใช้เทคโนโลยีบล็อกเชนในการขับเคลื่อนของภาครัฐภาครัฐ
ปัจจุบันหน่วยงานทุกภาคส่วน ย่อมต้องมีการเก็บข้อมูลหรือมีอำนาจในการเข้าถึงข้อมูลที่มีความสำคัญ ซึ่งจะใช้เป็นพื้นฐานในการกำหนดนโยบายสาธารณะและการดำเนินการอื่น ๆ ของรัฐบาลจำนวนมาก แม้ว่าประเทศไทยจะเริ่มใช้ระบบการจัดเก็บข้อมูลสารสนเทศส่วนกลาง และนำระบบคอมพิวเตอร์และอินเทอร์เน็ตมาให้บริการสาธารณะแก่ประชาชนเพื่อความสะดวกและรวดเร็วในการบริหารจัดการอยู่บ้างแล้ว แต่ก็ยังประสบปัญหาต่าง ๆ ในการดำเนินการ โดยปัญหาหลักคือการเข้าถึงข้อมูลประการหนึ่ง และความโปร่งใสในการจัดเก็บข้อมูลอีกประการหนึ่ง
   หน้าที่หลักที่สำคัญของภาครัฐคือ “การสร้างแรงจูงใจ” ให้ผู้ที่เกี่ยวข้องทุกฝ่ายให้ความสำคัญกับการหาจุดสมประโยชน์ระหว่างกัน ไม่ว่าจะเป็นการทำงานหรือการประสานงานระหว่างหน่วยงานของรัฐด้วยกันเอง หรือระหว่างภาครัฐกับภาคเอกชน เพื่อประโยชน์ของส่วนรวม เป็นเรื่องที่
ผู้ที่เกี่ยวข้องในระดับสูงควรให้ความสำคัญเป็นอย่างยิ่ง
ตัวอย่างการนำบล็อกเชนมาปรับใช้กับการขับเคลื่อนของภาครัฐ 
 การบริหารจัดการอัตลักษณ์บุคคล (identity management)
  - การจดทะเบียนอสังหาริมทรัพย์
  - การลงคะแนนเสียงเลือกตั้ง

      การเปลี่ยนแปลงเชิงโครงสร้างเช่นนี้ต้องใช้เวลาและต้องมีการวางแผนอย่างรัดกุมและเป็นระบบ แม้กระทั่งประเทศที่เป็นผู้นำด้านการพัฒนาเทคโนโลยีสารสนเทศของโลกเองก็ยังใช้ระบบบล็อกเชนด้วยความระมัดระวัง โดยการทำโครงการนำร่องก่อนหรือการทดลองดำเนินการผ่าน regulatory sandbox ในกรณีที่ต้องการให้เอกชนเข้ามามีส่วนร่วมในการให้บริการสาธารณะก่อนที่จะเริ่มใช้จริงและเริ่มมีการกำกับดูแล เหตุผลก็เพราะว่า การตัดสินใจลงทุนในโครงสร้างสาธารณูปโภคพื้นฐานในลักษณะนี้จะต้องใช้เงินภาษีของประชาชนจำนวนมหาศาล นอกจากต้นทุนทางการเงินแล้ว การตัดสินใจวางนโยบายสาธารณะที่หละหลวมจะสร้างความเสียหายต่อประชาชนทั้งประเทศในแง่อื่น ๆ ตามมาอย่างไม่มีที่สิ้นสุด


rfe ;  www.lawreform.go.th , siambc.com

วันจันทร์ที่ 14 พฤษภาคม พ.ศ. 2561

Internet Of Things (IoT)

Internet of Things (IoT) คือ "อินเตอร์เน็ตในทุกสิ่ง" หมายถึง การที่อุปกรณ์ต่างๆ สิ่งต่างๆ ได้ถูกเชื่อมโยงทุกสิ่งทุกอย่างสู่โลกอินเตอร์เน็ต ทำให้มนุษย์สามารถสั่งการควบคุมการใช้งานอุปกรณ์ต่างๆ ผ่านทางเครือข่ายอินเตอร์เน็ต เช่น การเปิด-ปิด อุปกรณ์เครื่องใช้ไฟฟ้า (การสั่งการเปิดไฟฟ้าภายในบ้านด้วยการเชื่อมต่ออุปกรณ์ควบคุม เช่น มือถือ ผ่านทางอินเตอร์เน็ต) รถยนต์ โทรศัพท์มือถือ เครื่องมือสื่อสาร เครื่องมือทางการเกษตร อาคาร บ้านเรือน เครื่องใช้ในชีวิตประจำวันต่างๆ ผ่านเครือข่ายอินเตอร์เน็ต เป็นต้น
อีกนัย
IoT มีชื่อเรียกอีกอย่างว่า M2M ย่อมาจาก Machine to Machine คือเทคโนโลยีอินเตอร์เน็ตที่เชื่อมต่ออุปกรณ์กับเครื่องมือต่างๆ เข้าไว้ด้วยกัน เทคโนโลยี IoT มีความจำเป็นต้องทำงานร่วมกับอุปกรณ์ประเภท RFID และ Sensors ซึ่งเปรียบเสมือนการเติมสมองให้กับอุปกรณ์ต่างๆ ที่ขาดไม่คือการเชื่อมต่ออินเตอร์เน็ต เพื่อให้อุปกรณ์สามารถรับส่งข้อมูลถึงกันได้ เทคโนโลยี IoT มีประโยชน์ในหลายด้าน แต่ก็มาพร้อมกับความเสี่ยง เพราะหากระบบรักษาความปลอดภัยของอุปกรณ์ และเครือข่ายอินเตอร์เน็ตไม่ดีพอ ก็อาจทำให้มีผู้ไม่ประสงค์ดีเข้ามาขโมยข้อมูลหรือละเมิดความเป็นส่วนตัวของเราได้ ดังนั้นการพัฒนา IoT จึงจำเป็นต้องพัฒนามาตรการ และระบบรักษาความปลอดภัยไอทีควบคู่กันไปด้วย

แบ่งกลุ่ม Internet of Things

ปัจจุบันมีการแบ่งกลุ่ม Internet of Things ออกตามตลาดการใช้งานเป็น 2 กลุ่มได้แก่
 
  1. Industrial IoT
    คือ แบ่งจาก local network ที่มีหลายเทคโนโลยีที่แตกต่างกันในโครงข่าย Sensor nodes โดยตัวอุปกรณ์ IoT Device ในกลุ่มนี้จะเชื่อมต่อแบบ IP network เพื่อเข้าสู่อินเตอร์เน็ต
      
  2. Commercial IoT
    คือ แบ่งจาก local communication ที่เป็น Bluetooth หรือ Ethernet (wired or wireless) โดยตัวอุปกรณ์ IoT Device ในกลุ่มนี้จะสื่อสารภายในกลุ่ม Sensor nodes เดียวกันเท่านั้นหรือเป็นแบบ local devices เพียงอย่างเดียวอาจไม่ได้เชื่อมสู่อินเตอร์เน็ต
NETPIE (Network Platform for Internet of Everything) คือ cloud platform ที่ถูกออกแบบและพัฒนาขึ้นเพื่ออำนวยให้เกิดการสื่อสารระหว่างอุปกรณ์หรือ things ในเครือข่าย IoT โดยมีประโยชน์ต่อนักพัฒนาและอุตสาหกรรมไทย ศึกษาแนวทางจากคลิปของ NECTEC , CAT








ref ; NECTEC , CAT