Tags:
Node Thumbnail

การรักษาความปลอดภัยขั้นสุดท้ายเป็นปัญหาสำคัญขององค์กรจำนวนมาก เช่น รหัส root ของเครื่องเซิร์ฟเวอร์หลักในระบบ รหัสผ่านเพื่อเข้าถึง private key บนสมาร์ตการ์ด การเก็บรักษาข้อมูลเหล่านี้ส่วนมากต้องอาศัยการพิมพ์ออกมาเป็นกระดาษแล้วนำไปเก็บรักษาไว้ที่ปลอดภัยเช่นตู้เซฟธนาคารที่ต้องการกุญแจสองดอกให้เปิดพร้อมกันจึงนำข้อมูลออกมาใช้งานได้ ตอนนี้ CloudFlare ผู้ให้บริการ reverse proxy รายใหญ่ก็นำโครงการภายในที่ชื่อว่า Red October เปิดซอร์สออกมาให้ใช้งานกัน

Red October คือเซิร์ฟเวอร์เข้ารหัสและถอดรหัส โดยไม่มีข้อมูลที่ต้องการเก็บรักษาอยู่บนเซิร์ฟเวอร์จริง ในตัวเซิร์ฟเวอร์ของ Red October นั้นจะเก็บกุญแจ RSA ของผู้ใช้ทุกคนเอาไว้ เมื่อมีการร้องขอให้เข้ารหัสข้อมูลใดๆ เซิร์ฟเวอร์จะ

  1. สร้างกุญแจสมมาตรโดยสุ่มเลขขึ้นมาใหม่
  2. เข้ารหัสข้อมูลด้วยกุญแจสมมาตรนั้น
  3. จับกลุ่มทุกกลุ่มที่เป็นไปได้ ตามที่ผู้ขอให้เข้ารหัสกำหนด เช่น กำหนดผู้ใช้ที่มีสิทธิถอดรหัส 3 คน โดยต้องใช้ 2 คนถอดรหัส จะจับได้ 3 กลุ่ม (3 เลือก 2)
  4. ใช้กุญแจสาธารณะของแต่ละคนในแต่ละกลุ่มเข้ารหัสกุญแจสมมาตรเป็นชั้นๆ จนครบจำนวนคนแล้วจัดเก็บ

    กระบวนการถอดรหัสนั้นกลับข้างกัน โดยผู้ใช้จะต้องล็อกอินในระบบแล้ว "ให้สิทธิ์" (delegate) ในการเข้าถึงกุญแจส่วนตัว (private key) กับเซิร์ฟเวอร์โดยระบุระยะเวลา การให้สิทธิ์ต้องระบุระยะเวลาและจำนวนครั้งที่ใช้งานได้ เมื่อมีผู้ใช้ร้องขอการถอดรหัสข้อมูล ข้อมูลที่ใส่เข้ามาจะมีข้อมูลอยู่แล้วว่าใครเป็นผู้ถอดรหัสได้บ้าง เซิร์ฟเวอร์จะเข้าไปตามหาว่าผู้ใช้เหล่านั้นได้ให้สิทธิ์ไว้หรือไม่ หากให้สิทธิ์ไว้ครบจำนวนคนก็จะถอดรหัสไปได้

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

กระบวนการนี้เลียนแบบการปล่อยอาวุธนิวเคลียร์ที่มีกฎ two-man rule คือ ห้ามมีใครคนใดคนหนึ่งมีสิทธิ์ปล่อยอาวุธนิวเคลียร์ด้วยตัวเอง

Red October คงมีจุดอ่อนสำคัญคือการวางกุญแจส่วนตัว RSA ไว้ในเซิร์ฟเวอร์ หากเซิร์ฟเวอร์ถูกเจาะไปได้และมีการดัดแปลงโค้ดเพื่อเก็บรหัสผ่านสำหรับการเปิดไฟล์กุญแจลับนี้ก็คงทำให้แฮกเกอร์ดึงข้อมูลออกไปได้ แต่ทั้งนี้มันเป็นระบบจัดการสิทธิ์ที่พึ่งรหัสวิทยาอย่างมากเทียบกับระบบ workflow อื่นๆ ที่มักไม่มีการเข้ารหัสใดๆ

ทาง CloudFlare เปิดให้ดาวน์โหลด Red October ไปใช้งานได้ฟรี รวมถึงนำซอร์สโค้ดไปตรวจสอบความปลอดภัยกันได้

ที่มา - CloudFlare

alt="upic.me"

Get latest news from Blognone

Comments

By: panurat2000
ContributorSymbianUbuntuIn Love
on 26 November 2013 - 07:18 #658713
panurat2000's picture

กระบวนการนี้เลียนแบบการปล่อยอาวุธนิวเคลียร์มี่มีกฎ two-man rule

มี่มี => ที่มี

By: pepporony
ContributorAndroid
on 26 November 2013 - 08:22 #658722

เห็นในหนังขโมยกุญแจไปสองอันแล้วเอาไปใช้ แสดงว่ายังไม่ปลอดภัย

ขอเสนอให้หลังจากไขกุญแจแล้ว ต้องเต้นเข้าจังหวะทั้งสองคนด้วยครับ!

By: lew
FounderJusci's WriterMEconomicsAndroid
on 26 November 2013 - 08:40 #658730 Reply to:658722
lew's picture

กฎข้อแรกของกระบวนการรักษาความปลอดภัยคือ "ไม่มีอะไรปลอดภัยสมบูรณ์จริงๆ" ครับ

เป้าหมายของระบบรักษาความปลอดภัยไม่ใช่การสร้างระบบที่ปลอดภัยสมบูรณ์ แต่สร้างระบบที่ปลอดภัยจนกระทั่ง "ไม่คุ้มที่จะฝ่าระบบรักษาความปลอดภัย" ในกรณีนี้สองคนก็อาจจะถูกขโมยกุญแจได้ แต่ก็มีความเสี่ยงน้อยกว่าที่ให้คนเดียวถือข้อมูลลับทั้งบริษัท แล้ววันดีคืนดีลาออกไปโดยไม่มีใครรู้ว่าถือข้อมูลอะไรอยู่แน่ๆ


lewcpe.com, @wasonliw

By: AlninlA
ContributorAndroidUbuntu
on 26 November 2013 - 09:22 #658743 Reply to:658722
AlninlA's picture

Synchronized key stroke! เหมือนเคยเห็นในหนัง

By: blackpigeon
iPhoneWindows PhoneAndroidBlackberry
on 27 November 2013 - 17:50 #659314 Reply to:658722
blackpigeon's picture

คุ้นๆ ตรงที่ "ต้องเต้นเข้าจังหวะทั้งสองคน"

By: jane
AndroidUbuntu
on 26 November 2013 - 09:25 #658744
jane's picture

เป็นแนวคิดที่ไม่เลวเลย
เอา pki ที่มีอยู่แล้ว มา encrypt ข้อมูลโดย user a จากนั้น encrypt ต่อด้วย user b

เวลาถอดรหัสก็ decrypt ด้วย user b ตามด้วย user a

By: Zeball
iPhoneWindows PhoneAndroidUbuntu
on 26 November 2013 - 09:53 #658750

ใช้กุญแจสาธารณะของแต่คนในแต่ละกลุ่ม => ใช้กุญแจสาธารณะของแต่ละคนในแต่ละกลุ่ม

หรือ

ใช้กุญแจสาธารณะของแต่คนในแต่ละกลุ่ม => ใช้กุญแจสาธารณะของคนในแต่ละกลุ่ม

ไม่รู้ว่าอันไหนถูก

เหมือนในหนังเรื่อง white house down ที่ใช้การเข้าถึงระบบขีปนาวุธต้องใช้ระบบ Cerberus ในการเข้าถึงระบบ

By: xvlnw
iPhoneRed HatUbuntuWindows
on 26 November 2013 - 20:01 #658949
xvlnw's picture

เจ๋ง เลิศ ... etc. แต่เสียอย่างเดียว ไม่มี Node ในไทย T.T