กลุ่มขุดบิทคอยน์ GHash.IO มีพลังประมวลผลอันดับหนึ่งของโลกในตอนนี้ และเคยประกาศหยุดรับสมาชิกเพิ่มเมื่อมีพลังแฮช 40% ของเครือข่ายบิทคอยน์ทั้งหมด แต่กลุ่มนี้ก็ยังเติบโตขึ้นเรื่อยๆ จนกระทั่งมีพลังแฮชถึง 51% ต่อเนื่องเป็นระยะเวลา 12 ชั่วโมง
เมื่อเดือนที่แล้วมีงานวิจัยด้านวิทยาการเข้ารหัสลับชิ้นหนึ่งนำเสนอในงาน Eurocrypt 2014 เกี่ยวกับการยืนยันได้ว่าค่าพารามิเตอร์ของกระบวนการเข้ารหัสนั้นเป็นค่าที่สุ่มจริง (verifiably random) ผมได้อ่านงานวิจัยนี้แล้วพบว่าหนึ่งในทีมงานนั้นเป็นคนไทย คือคุณชิดชนก จึงเสถียรทรัพย์ ที่กำลังศึกษาในระดับปริญญาเอกที่มหาวิทยาลัย Eindhoven ในโอกาสนี้ผมจึงอีเมลไปติดต่อขอสัมภาษณ์ และก็ได้มาเป็นบทสัมภาษณ์ฉบับนี้กันครับ
มาตรฐาน TLS 1.3 มีข้อเสนอที่ได้รับเสียงสนับสนุนในการประชุมครั้งที่ผ่านมา (IETF 89) ว่าจะเริ่มถอดกระบวนการเข้ารหัสที่ไม่รับประกันความเป็นความลับในอนาคต (forward secrecy) ออกจากมาตรฐาน ได้แก่การแลกกุญแจลับแบบ RSA
ตัวสร้างเลขสุ่มเทียม Dual_EC_DRBG ที่ตกเป็นประเด็นร้อนว่าถูก NSA แฮกให้ง่ายต่อการถูกแฮกมากขึ้นตั้งแต่ปี 2008 ได้ถูกถอดออกจากมาตรฐานโดย NIST แล้ววันนี้ตามประกาศ NIST SP 800-90A, REV. 1
Symantec ออกรายงานวิเคราะห์มัลแวร์กลุ่มที่เข้ารหัสข้อมูลผู้ใช้เพื่อเรียกเป็นตัวประกัน (Ransomware) ตัวที่ระบาดก่อนหน้านี้คือ Cryptolocker ตอนนี้มีรายงานมัลแวร์ในกลุ่มเดียวกันตัวใหม่คือ CryptoDefence ที่พัฒนาขึ้นมามาก
CryptoDefence จะถูกส่งไปยังเครื่องของเหยื่อผ่านทางสแปมเมล เมื่อติดลงในเครื่องแล้วมัลแวร์จะเริ่มส่งข้อมูลเครื่องของเหยื่อกลับไปยังเซิร์ฟเวอร์ สร้างคู่กุญแจ RSA-2048 แล้วส่งกุญแจลับกลับไปยังเซิร์ฟเวอร์พร้อมสกรีนชอตของเหยื่อ
กระบวนการยืนยันว่าซอฟต์แวร์ตัวหนึ่งมีความปลอดภัยไม่ใช่แค่การเข้ารหัสที่ซับซ้อน (ความซับซ้อนอาจจะสร้างช่องโหว่เสียเองด้วย) หรือการโอเพนซอร์สแล้วอ้างว่ามีการตรวจสอบจากภายนอกแต่โครงการที่มีคนใช้งานน้อยเกินไปก็มักไม่ได้รับการตรวจสอบเพียงพออยู่ดี รอบนี้ทาง Open Technology Fund จึงจัดเงินทุนมาจ้างที่ปรึกษาให้ตรวจสอบความปลอดภัยของโปรแกรมแชตเข้ารหัสอย่าง Cryptocat
รายงานแสดงให้เห็นช่องโหว่และอันตรายหลายอย่าง เช่นกระบวนการยืนยันว่าฝ่ายตรงข้ามที่กำลังแชตอยู่เป็นคนที่เราตั้งใจจะคุยด้วยจริง เมื่อมีกุญแจสาธารณะใหม่แสดงตัวว่าเป็นผู้ใช้เดิมก็ไม่มีการเตือนที่ชัดเจน โดยกระบวนการแจ้งเตือนผู้ใช้ทั้งหมดจะถูกแก้ไขในรุ่นต่อไป
ช่องโหว่ของตัวสร้างเลขสุ่มเทียม Dual_EC_DRBG นับเป็นประเด็นสำคัญที่วงการวิชาการรหัสวิทยาที่เคยเป็นมิตรกับ NSA ปฎิเสธที่จะร่วมงาน รับฟัง หรือพูดคุยกับ NSA ลงเรื่อยๆ ตอนนี้ทีมวิจัยกลุ่มหนึ่งก็เผยแพร่งานวิจัยค้นคว้าว่าผลกระทบของ Dual_EC_DRBG นั้นมีผลกระทบต่อการเข้ารหัสโดยทั่วไปอย่างไรบ้าง โดยเผยแพร่ในเว็บ ProjectBullrun.org ที่ตั้งชื่อตามโครงการ BULLRUN ของ NSA เอง
หนังสือพิมพ์ Washington Post เปิดเผยข้อมูลจากเอกสารชิ้นใหม่ ระบุถึงงบประมาณของงานวิจัย "Penetrating Hard Targets" ที่ทำสัญญาลับกับห้องแล็บฟิสิกส์ของมหาวิทยาลัยแมริแลนด์มูลค่า 79.7 ล้านดอลลาร์
หาก NSA สามารถพัฒนาคอมพิวเตอร์ควันตัมสำเร็จจนใช้งานได้จริง ก้าวต่อไปคือการรันขั้นตอนวิธีของ Shor ที่จะแยกตัวประกอบเฉพาะของตัวเลขออกมาได้อย่างรวดเร็ว โดยกระบวนการแยกตัวประกอบที่ใช้เวลานานเป็นการป้องกันสำคัญของการเข้ารหัส RSA ที่นิยมใช้งานกันโดยทั่วไปทุกวันนี้
ช่องโหว่ของตัวสร้างเลขสุ่มเทียม Dual_EC_DRBG นำเสนอโดยโปรแกรมเมอร์ของไมโครซอฟท์มาตั้งแต่ปี 2007 และเพิ่งได้รับความสนใจเป็นวงกว้างหลังพบว่า NSA เป็นผู้ออกแบบหลักของกระบวนการนี้ ตอนนี้โค้ดตัวอย่างของกระบวนการนี้ก็มีให้ดาวน์โหลดแล้วที่ GitHub
ช่องโหว่สำคัญของ Dual_EC_DRBG คือค่าคงที่ P และ Q ที่ต้องเลือก P = dQ จะทำให้ค่า d กลายเป็นกุญแจลับสำหรับการถอดรหัสค่าสุ่มใดๆ ที่เป็นผลลัพธ์ออกมา โดยต้องสังเกตค่าเพียง 32 ไบต์เท่านั้น
จากข่าวเก่าในประเด็นที่ NSA ได้ฝังช่องโหว่ความปลอดภัยในมาตรฐาน Dual_EC_DRBG ล่าสุดอ้างอิงจากแหล่งข่าวนิรนามของรอยเตอร์ว่า NSA ได้มีการจ่ายเงินให้กับ RSA กว่า 10 ล้านดอลลาร์เพื่อทำให้ช่องโหว่นี้คงอยู่
คดีสิทธิบัตรการเข้ารหัส RC4 และการแลกกุญแจสาธารณะที่บริษัท TQP ฟ้อง Newegg คณะลูกขุนในศาลชั้นต้นตัดสินแล้วว่าให้ Newegg จ่ายค่าเสียหาย 2.3 ล้านดอลลาร์ จากที่ TQP เรียกร้อง 5.1 ล้านดอลลาร์ โดยยืนยันว่ามีการละเมิดสิทธิบัตรทั้งสี่ฉบับจริง
TQP ยังมีคดีรอขึ้นศาลอีกนับสิบคดี โดยมีคู่กรณีเช่น กูเกิล, LinkedIn, หรือโซนี่ จนถึงตอนนี้ TQP ได้รับค่าเสียหายไปแล้วกว่า 45 ล้านดอลลาร์
บริษัทขนาดใหญ่มีแนวโน้มจะเปลี่ยนกระบวนการเข้ารหัสจาก RC4 เป็นกระบวนการอื่นที่แน่นหนากว่า แต่ยังไม่มีบริษัทใดออกมายอมรับว่าเป็นเพราะถูกเรียกค่าเสียหายเช่นนี้
การรักษาความปลอดภัยขั้นสุดท้ายเป็นปัญหาสำคัญขององค์กรจำนวนมาก เช่น รหัส root ของเครื่องเซิร์ฟเวอร์หลักในระบบ รหัสผ่านเพื่อเข้าถึง private key บนสมาร์ตการ์ด การเก็บรักษาข้อมูลเหล่านี้ส่วนมากต้องอาศัยการพิมพ์ออกมาเป็นกระดาษแล้วนำไปเก็บรักษาไว้ที่ปลอดภัยเช่นตู้เซฟธนาคารที่ต้องการกุญแจสองดอกให้เปิดพร้อมกันจึงนำข้อมูลออกมาใช้งานได้ ตอนนี้ CloudFlare ผู้ให้บริการ reverse proxy รายใหญ่ก็นำโครงการภายในที่ชื่อว่า Red October เปิดซอร์สออกมาให้ใช้งานกัน
Red October คือเซิร์ฟเวอร์เข้ารหัสและถอดรหัส โดยไม่มีข้อมูลที่ต้องการเก็บรักษาอยู่บนเซิร์ฟเวอร์จริง ในตัวเซิร์ฟเวอร์ของ Red October นั้นจะเก็บกุญแจ RSA ของผู้ใช้ทุกคนเอาไว้ เมื่อมีการร้องขอให้เข้ารหัสข้อมูลใดๆ เซิร์ฟเวอร์จะ
กระบวนการเข้ารหัสแบบสตรีมอย่าง RC4 ที่รับรู้กันว่าถูกประดิษฐ์ขึ้นมาโดย Ron Rivest หรือตัว R ใน RSA ตั้งแต่ปี 1987 ถูกอ้างว่ามีสิทธิบัตรที่เกิดขึ้นก่อนหน้า ในสิทธิบัตรหมายเลข US 5412730 A สิทธิบัตรนี้ถือครองโดยบริษัท TQP Development โดยตอนนี้มีบริษัทถูก TQP ยื่นฟ้องแล้ว 140 บริษัท แต่ Newegg ผู้ค้าปลีกไอทีรายใหญ่ไม่ยอมจ่ายค่าสิทธิบัตร และนำคดีนี้ขึ้นศาล
RC4 เป็นกระบวนการเข้ารหัสพื้นฐานที่ได้รับความนิยมสูง เพราะมีประสิทธิภาพที่ดี เว็บจำนวนมากใช้ RC4 เป็นกระบวนการเข้ารหัสลำดับแรกเพราะต้องการประหยัดทรัพยากร
ภายใต้บรรยากาศความกลัว NSA ของทั้งโลก การปรับปรุงความปลอดภัยที่เคยมีความสำคัญลำดับ "รองๆ" ก็กลายเป็นวาระเร่งด่วนที่บริการหลักๆ ทั่วโลก เร่งปรับปรุง และตอนนี้สามผู้ให้บริการสำคัญคือ ทวิตเตอร์, กูเกิล, และเฟซบุ๊ก ต่างปรับปรุงกระบวนการเข้ารหัสเพิ่มเติม
กระบวนการที่สำคัญคือการ รองรับ "ความเป็นความลับในอนาคต" (forward secrecy) ในการเข้ารหัส โดยกระบวนการเข้ารหัสเว็บที่ใช้ TLS นั้นจะแบ่งออกเป็นสองส่วน ได้แก่การแลกกุญแจ (key exchange) และการเข้ารหัสแบบสมมาตร การแลกกุญแจที่ง่ายที่สุดคือการแลกด้วยการเข้ารหัสแบบไม่สมมาตร RSA แม้จะง่ายและประหยัดซีพียู แต่มีปัญหาคือหากกุญแจลับ RSA หลุดออกไป คนที่ดักฟังข้อมูลทั้งหมดก็จะสามารถนำกุญแจลับไปถอดรหัสข้อมูลกลับออกมาได้
มาตรฐานการแฮชข้อมูล SHA-3 เพิ่งได้ผู้ชนะเป็น Keccak ไปเมื่อปีที่แล้ว แต่หลังจากการเปิดเผยข้อมูลของ Edward Snowden ทำให้ NIST หน่วยงานกลางผู้ออกมาตรฐานมีปัญหาความน่าเชื่อถืออย่างหนัก จากข่าวความร่วมมือกับ NSA ตอนนี้มาตรฐาน SHA-3 ที่กำลังอยู่ระหว่างกระบวนการปรับมาตรฐาน และเขียนเอกสารในฟอร์แมตที่ชัดเจนกลับมีปัญหาว่าทาง NIST กำลังลดความปลอดภัยของมันอย่างจงใจ
รายงานการฝังช่องโหว่ไว้ในตัวสร้างเลขสุ่ม Dual_EC_DRBG สร้างความตระหนกให้กับทั้งอุตสาหกรรมความปลอดภัย คำถามสำคัญคือมาตรฐานเปิดที่ผ่านกระบวนการสร้างมาตรฐานของ NIST นี้ทำไมจึงหลุดรอดสายตาของนักคณิตศาสตร์และนักรหัสวิทยาทั่วโลกไปได้ วันนี้ทาง WIRED ลงบทความเล่าถึงการนำเสนอความยาว 5 นาทีด้วยสไลด์ 9 หน้าที่งาน Crypto ในปี 2007 ระบุถึงความเป็นไปได้ในการฝังช่องโหว่เอาไว้
แอพพลิเคชั่นบัญชี BitCoin บนแอนดรอยด์จำนวนมากเจอปัญหาบั๊กตัวสร้างตัวเลขสุ่ม ทำให้บัญชีที่สร้างจากแอพพลิเคชั่นเหล่านี้อยู่ในความเสี่ยงทั้งหมด โดยผู้ผลิตรายหลักได้แก้ปัญหาแล้ว โดยแอพพลิเคชั่นเหล่านี้ได้แก่
กระบวนการเข้ารหัสที่มีอยู่ในโลกมากมายและถูกพัฒนาอย่างต่อเนื่องจนทุกวันนี้ซับซ้อนในระดับที่ต้องการความรู้คณิตศาสตร์ระดับสูง เหตุผลสำคัญของการพัฒนาเหล่านี้คือการแข่งขันกับกระบวนการถอดรหัสที่พัฒนาอย่างต่อเนื่องเช่นเดียวกันศาสตร์ที่ว่าด้วยการถอดรหัสนี้เรียกว่า Cryptanalysis เป็นศาสตร์ที่อยู่คู่กับการเข้ารหัสมานาน เทคนิคและกระบวนการก็ซับซ้อนและใช้ในกรณีเฉพาะบางอย่างไปเรื่อยๆ
ในบทความนี้เราจะยกตัวอย่างบางเทคนิคที่ใช้กันในการถอดรหัส
ทีมวิจัยความปลอดภัยจากบริษัท artemis นำเสนอความก้าวหน้าในวงการรหัสวิทยาในช่วงหลัง และคาดว่ากระบวนการแยกตัวประกอบตัวเลขขนาดใหญ่นั้นน่าจะมีการปรับปรุงประสิทธิภาพขึ้นอย่างมากภายในห้าปีข้างหน้า
กระบวนการแยกตัวประกอบเป็นกระบวนการสำคัญในการเข้ารหัสแบบกุญแจไม่สมมาตร RSA และการแลกเปลี่ยนกุญแจ (key exchange) แบบ Diffie Hellman โดย RSA นั้นประกาศ "ผลคูณ" ของเลขจำนวนเฉพาะสองจำนวนเป็นกุญแจสาธารณะ โดยเชื่อว่าการแยกตัวประกอบนั้นทำได้ยาก โดยยังไม่มีการพิสูจน์ว่าการแยกตัวประกอบนั้นเป็นงาน "ยาก" ในทางคณิตศาสตร์ จริงหรือไม่ และความเชื่อใจใน RSA ทุกวันนี้ก็มาจากความเชื่อว่ากระบวนการที่มีประสิทธิภาพนั้นยังไม่ถูกค้นพบ
กูเกิลประกาศเปลี่ยนใบรับรอง SSL จาก 1024 บิตไปเป็นแบบ 2048 บิตทั้งหมดพร้อมกับเปลี่ยนสา่ยการรับรอง (certificate chain) ไปพร้อมกัน
กระบวนการนี้ไม่น่าจะกระทบผู้ใช้ นอกจากผู้ใช้ที่ใช้ไม่ได้อัพเดตระบบปฎิบัติการหรือใช้ไลบรารี SSL ของตัวเองรุ่นเก่า หรือซอฟต์แวร์ที่ฝังใบรับรองเข้ากับโค้ด ก็จะทำงานไม่ได้จากการอัพเดตครั้งนี้
แม้จะอัพเดตขนาดกุญแจไปเป็นขนาด 2048 บิต แต่ทุกวันนี้กระบวนการเข้ารหัสแบบกุญแจสมมาตรก็ยังใช้การเข้ารหัส RC4 แบบ 128 อยู่
กูเกิลเปิดเว็บ cert-test ให้ทุกคนเข้าทดสอบใบรับรองใหม่ได้แล้ว ส่วนกระบวนการอัพเดตจริงจะค่อยๆ อัพเดตไปทีละบริการจนครบในอีกหลายเดือนข้างหน้า
โปรแกรมแชตแบบเข้ารหัสที่ชื่อว่า Cryptocat แจ้งปัญหาความผิดพลาดในกระบวนการสร้างกุญแจร่วมกันของห้องแชตแบบหลายคน ทำให้ข้อมูลที่เข้ารหัสในห้องแชตนั้นถอดรหัสผ่านกระบวนการ brute force ได้ง่ายกว่าที่ออกแบบไว้
Cryptocat ระบุว่าบั๊กนี้มีผลตั้งแต่เวอร์ชั่น 2.0 เป็นต้นมา และได้รับการแก้ไขแล้วในเวอร์ชั่น 2.0.42 อย่างไรก็ดี การแก้บั๊กนี้จะทำให้เวอร์ชั่นที่แก้ปัญหาไม่สามารถแชตแบบห้องรวมกับเวอร์ชั่นก่อนหน้าได้อีกต่อไป
ทาง Cryptocat แนะนำให้ทุกคนย้ายไปใช้โปรแกรมรุ่น 2.1 หรือใหม่กว่าเพื่อหลีกเลี่ยงปัญหานี้
ที่มา - Cryptocat
ในบรรดากระบวนการเข้ารหัสนั้น เราอาจจะบอกได้ว่าการเข้ารหัสแบบกุญแจสมมาตร (symmetric key) ที่เป็นกระบวนการการเข้ารหัสที่ทั้งสองฝ่าย มี “ความลับ” ร่วมกันอยู่ก่อน เมื่อส่งข้อมูลจริงแล้วจึงใช้ความลับนั้นถอดรหัสผ่านออกมาได้จึงได้ข้อความที่อ่านออกมาได้
กระบวนการป้องกันข้อความที่เป็นความลับนั้นมีมานานนับย้อนไปได้ถึงสมัยจูเลียส ซีซาร์ ที่อาศัยการสลับตัวอักษรด้วยตารางที่เป็นความลับ โดยทุกตัวในตารางจะมีตัวแทนของตัวเองทั้งหมด
ความสามารถสำคัญของคอมพิวเตอร์คือการทำตามคำสั่งที่ชัดเจนได้อย่างแม่นยำและคาดเดาผลลัพธ์ได้เป็นอย่างดี แต่ในโลกความเป็นจริง กระบวนการอย่างหนึ่งที่สำคัญมากคือการ "มั่ว" ที่ในแม้แต่มนุษย์เราเองก็ยังทำได้ลำบาก เราอาจจะขอให้ใครสักคนมั่วตัวเลขอะไรก็ได้สักสี่หลักให้เรา แต่เราอาจจะพบว่าเมื่อเราขอให้คนจำนวนมากๆ สุ่มเลข เราอาจจะพบว่าเลขที่เราได้มักเป็นเลขที่เราใช้งานบ่อยๆ เช่น "1234", "0000", หรือ "1111"
ระบบการเข้ารหัสแบบ homomorphic encryption (HE อาจแปลไทยได้เป็นการเข้ารหัสแบบสาทิสสัณฐาน) เป็นระบบเข้ารหัสที่เปิดโอกาสให้เราสามารถกระทำบางคำสั่งกับข้อมูลที่เข้ารหัสอยู่ โดยไม่ต้องถอดรหัสออกมาก่อน เช่น การบวกตัวเลขสองตัวที่เข้ารหัสเอาไว้โดยไม่ต้องถอดรหัสตัวเลขทั้งสองชุดออกมา งานวิจัยนี้มีมาตั้งแต่ปี 2009 และตอนนี้ห้องแลป T J Watson ก็เปิดซอร์ส HElib ในสัญญาอนุญาตแบบ GPL ให้ดาวน์โหลดไปใช้งานได้แล้ว
ในกระบวนการรักษาความปลอดภัยคอมพิวเตอร์ นอกเหนือจากการดูแลระบบให้ควบคุมสิ่งที่ผู้ใช้หรือผู้บุกรุกให้ไม่สามารถทำงานใดๆ นอกเหนือจากที่กำหนดไว้ กระบวนการเข้ารหัส (Cryptography) นับเป็นสิ่งสำคัญที่ช่วยให้กระบวนการควบคุมนั้นเป็นไปได้จริง กระบวนการเข้ารหัสทุกวันนี้มักสร้างจากตัวประกอบสามตัวหลักได้แก่ ฟังก์ชั่นแฮช, การเข้ารหัสแบบกุญแจสมมาตร (symmetric key), และการเข้ารหัสแบบกุญแจอสมมาตร (asymmetric key) ในตอนแรกจะพูดถึงฟังก์ชั่นแฮชก่อน