เทคโนโลยีรักษาความปลอดภัย SSL
Secure Socket Layer (SSL Protocol)
การรักษาความปลอดภัยให้กับข้อมูลเป็นสิ่งที่หลีกเลี่ยงไม่ได้ ข่าวสารที่จะแลกเปลี่ยนกันนั้นมีความปลอดภัย ป้องกันไม่ให้เกิดความผิดพลาดอันส่งผลให้การติดต่อสื่อสารล้มเหลว เราจะใช้หลักการรักษาความปลอดภัยของข้อมูลในรูปแบบ RSA โดยใช้โปรโตคอล SSL ซึ่งเป็นหลักการรักษาความปลอดภัยที่ใช้หลักทางคณิตศาสตร์ที่มีรูปแบบการคำนวณที่เข้าใจง่าย อีกทั้งยังมีความปลอดภัยสูง
ระบบรักษาความปลอดภัยแบบ Secure Socket Layer
SSL เป็นโพรโตคอลจัดการความปลอดภัยในระบบอินเทอร์เน็ตที่ใช้ในการสื่อสารข้อมูลกันระหว่างไคลเอนต์กับเซิร์ฟเวอร์ ปกติแล้วข้อมูลที่ส่งไปหากันจะไม่มีการเข้ารหัสข้อมูลแต่อย่างใด ทำให้การดักจับข้อมูลเป็นไปได้โดยง่าย แต่ถ้าเป็นระบบที่ใช้ SSL ข้อมูลจากไคลเอนต์ที่จะส่งไปที่เซิร์ฟเวอร์จะถูกเข้ารหัสก่อนที่จะส่งไปที่เซิร์ฟเวอร์ ทำให้ข้อมูลที่รับส่งกันมีความปลอดภัยมากยิ่งขึ้น
SSL เริ่มพัฒนาโดย Netscape Communications เพื่อใช้ในโพรโตคอลระดับแอพพลิเคชันคือ Hypertext Transfer Protocol (HTTP) เป็นการสื่อสารผ่านเว็บให้ปลอดภัย พัฒนาในช่วงต้นของยุคการค้าอิเล็กทรอนิคส์ กำลังได้รับความนิยมในโลกอินเตอร์เน็ต
การเข้ารหัสของ SSL มีได้ 2 แบบคือ การเข้ารหัสแบบ 40 bits กับการเข้ารหัสแบบ 128 bits ซึ่งการเข้ารหัสแบบหลังนี้มีใช้แค่ในประเทศสหรัฐอเมริกาเท่านั้น หลักการของการทำงานของ SSL คือ จะมีการเข้ารหัสข้อมูลที่ทางคฃไคลเอนต์โดยเว็บบราวเซอร์จะเป็นตัวเข้ารหัสให้ เว็บบราวเซอร์จะเอา Public key จากเซิร์ฟเวอร์มาเข้ารหัสกับ Master key ที่บราวเซอร์สร้างขึ้นมา จากนั้นก็ใช้คีย์พวกนี้เข้ารหัสข้อมูลที่จะส่งไปให้เซิร์ฟเวอร์ ข้อมูลที่เข้ารหัสเรียบร้อยแล้วจะส่งไปที่เซิร์ฟเวอร์ ซึ่งเซิร์ฟเวอร์มีหน้าที่ในการถอดรหัสนั้นกลับมาเป็นข้อมูลปกติ เช่น การจ่ายเงินผ่านบัตรเครดิตของธนาคารกสิกร บัตร VISA และ Master Card ของทุกธนาคาร โดยผู้ซื้อไม่ต้องมีการแจ้งขอใช้บริการกับธนาคารล่วงหน้า โดยที่ผู้ให้บริการจะมีวงจรที่เชื่อมต่อกับธนาคารโดยตรง ก่อนที่ข้อมูลจะเข้าถึง Server ของธนาคารได้ก็ต้องผ่านระบบรักษาความปลอดภัยของธนาคาร ก่อนแล้วจึงมีการเข้ารหัสข้อมูลแบบ 40 bits
โพรโตคอล SSL อนุญาตให้สามารถเลือกวิธีการในการเข้ารหัส วิธีสร้างไดเจสต์ [*1] และลายเซ็นดิจิตอลได้อย่างอิสระก่อนการสื่อสารจะเริ่มต้นขึ้น ตามความต้องการของทั้งเว็บเซิร์ฟเวอร์และบราวเซอร์ เพื่อเพิ่มความยืดหยุ่นในการใช้งาน เปิดโอกาสให้ทดลองใช้วิธีการในการเข้ารหัสวิธีใหม่ รวมถึงลดปัญหาการส่งออกวิธีการเข้ารหัสไปประเทศที่ไม่อนุญาต
Netscape เริ่มพัฒนา SSL เวอร์ชันแรก คือ เวอร์ชัน 2.0 และเวอร์ 3.0 ซึ่งสนับสนุนความสามารถด้านความปลอดภัยมากขึ้น และเป็นเวอร์ชันสุดท้ายก่อนที่จะเป็นมาตรฐานกลางของโพรโตคอลบนอินเตอร์เน็ต โดยเปลี่ยนชื่อเป็น Transport Layer Security หรือ TLS ดูแลมาตรฐานโดย Internet Engineering Task Force (IETF)
กระบวนการในการเริ่มต้นการสื่อสารผ่านชั้น SSL แบ่งเป็น 4 ขั้นตอน ดังนี้
ขั้นตอน 1 : ประกาศชุดวิธีการเข้ารหัส ไดเจสต์ และลายเซ็นดิจิตอลที่สนับสนุนของทั้งไคลเอ็นต์และเซิร์ฟเวอร์
ไคลเอ็นต์และเซิร์ฟเวอร์ส่งข้อความเริ่มต้นการสื่อสาร (Hello message) ซึ่งประกอบไปด้วยเวอร์ชันของโพรโตคอลที่ใช้ วิธีการเข้ารหัสที่เว็บเซิร์ฟเวอร์และไคลเอ็นต์สนับสนุน หมายเลขระบุการสื่อสาร (Session identifier) รวมถึงวิธีการบีบอัดข้อมูลในการสื่อสารที่สนับสนุน
หมายเลขระบุการสื่อสารที่เกิดขึ้น ใช้สำหรับตรวจสอบการเชื่อมต่อระหว่างไคลเอ็นต์และเซิร์ฟเวอร์ ถ้ามีการเชื่อมต่อก่อนหน้านี้เกิดขึ้น แสดงว่าได้มีการตกลงวิธีการสื่อสารแล้ว สามารถเริ่มต้นส่งข้อมูลได้ทันที เป็นการลดเวลาติดต่อสื่อสารลง
ขั้นตอน 2 : การพิสูจน์ตัวตนของเซิร์ฟเวอร์ต่อไคลเอ็นต์
ถัดมาเว็บเซิร์ฟเวอร์ทำการส่ง Certificate หรือใบยืนยันความมีตัวตนของเซิร์ฟเวอร์ ไคลเอ็นต์จะทำการตรวจสอบ Certificate กับผู้ให้บริการ Certificate Authority ที่ได้ตั้งค่าไว้ เพื่อยืนยันความถูกต้องของ Certificate ของเซิร์ฟเวอร์
ขั้นตอน 3 : การพิสูจน์ตัวตนของไคลเอ็นต์ต่อเซิร์ฟเวอร์ ถ้าจำเป็น
เซิร์ฟเวอร์สามารถร้องขอ Certificate จากไคลเอ็นต์เพื่อตรวจสอบความถูกต้องของ Client ด้วยก็ได้ ใช้ในกรณีที่มีการจำกัดการใช้งานเฉพาะไคลเอ็นต์ที่ต้องการเท่านั้น ซึ่ง SSL สนับสนุนการตรวจสอบได้จากทั้งเซิร์ฟเวอร์และไคลเอ็นต์ ขึ้นอยู่กับการเลือกใช้งานในขณะติดต่อสื่อสารที่เกิดขึ้นนั้น
ขั้นตอน 4 : ไคลเอ็นต์และเซิร์ฟเวอร์ตกลงชุดวิธีการเข้ารหัส การสร้างไดเจสต์ และการใช้ลายเซ็นดิจิตอล
ขั้นตอนการตรวจสอบ Certificate ที่เซิร์ฟเวอร์ร้องขอจากไคลเอ็นต์จะมีหรือไม่มีก็ได้ ขึ้นอยู่กับการตั้งค่าบนเซิร์ฟเวอร์ หลังจากขั้นตอนการตรวจสอบเสร็จสิ้น เซิร์ฟเวอร์และไคลเอ็นต์จะตกลงการใช้งานวิธีการเข้ารหัสระหว่างกันโดยใช้ค่าที่ได้จากการประกาศในขั้นตอนแรก
วิธีการแลกเปลี่ยนกุญแจในการเข้ารหัส (Key exchange method) คือการกำหนดกลไกการแลกเปลี่ยนกุญแจที่ใช้ในการเข้ารหัสระหว่างการสื่อสาร โดยทั้งไคลเอ็นต์และเซิร์ฟเวอร์จะใช้กุญแจนี้ในการเข้ารหัสและถอดรหัสข้อมูล ใน SSL เวอร์ชัน 2.0 จะสนับสนุนวิธีการแลกเปลี่ยนกุญแจแบบ RSA ส่วน SSL เวอร์ชัน 3.0 ขึ้นไปจะสนับสนุนวิธีการอื่นๆ เพิ่มเติมเช่นการใช้ RSA ร่วมกับการใช้ Certificate หรือ Diffie-Hellman เป็นต้น
วิธีการเข้ารหัสในปัจจุบันแบ่งเป็นสองวิธีคือ การใช้กุญแจเดียวกันในการเข้ารหัสและถอดรหัส อาจเรียกกุญแจนี้ว่า Session key หรือ Secret key ส่วนอีกวิธีการคือ การใช้กุญแจคนละตัวในการเข้ารหัสและถอดรหัส ประกอบไปด้วยกุญแจสาธารณะและกุญแจส่วนตัวซึ่งเป็นคู่กันเสมอ เข้ารหัสด้วยกุญแจใด จะต้องถอดรหัสด้วยกุญแจที่คู่กันและตรงกันข้ามเท่านั้น มักใช้วิธีการเข้ารหัสด้วยกุญแจคนละตัวมาใช้ในการเข้ารหัส Session key และส่งไปให้ฝั่งตรงข้ามก่อนการสื่อสารจะเกิดขึ้นรวมเรียกว่าวิธีการแลกเปลี่ยนกุญแจในการเข้ารหัส
SSL ใช้วิธีการเข้ารหัสด้วยกุญแจสมมาตร หรือกุญแจเดียวในการเข้ารหัสและถอดรหัส ตามที่กล่าวข้างต้น วิธีการเข้ารหัสคือ การเข้ารหัสด้วย DES และ 3DES (Data Encryption Standard), วิธีการเข้ารหัสด้วย IDEA ส่วน RC2 และ RC4 เป็นวิธีการเข้ารหัสของ RSA รวมถึงวิธีการเข้ารหัสแบบ Fortezza สำหรับความยาวของการเข้ารหัสที่ใช้คือ 40 บิต, 96 บิต และ 128 บิต
การสร้าง Message Authentication Code (MAC) เพื่อใช้สำหรับการยืนยันความถูกต้องของข้อมูลระหว่างการสื่อสารและป้องกันการปลอมข้อมูล ส่วนฟังก์ชันสร้างไดเจสต์ที่ SSL สนับสนุนและเลือกใช้ได้ในปัจจุบันคือ MD5 ขนาด 128 บิต และ SHA-1 (Secure Hash Algorithm) ขนาด 160 บิต ซึ่งจะได้วิธีการที่ทั้งสองฝ่ายสนับสนุนและเหมาะสมซึ่งเป็นขั้นตอนสุดท้ายก่อนการสื่อสารที่มีการเข้ารหัสจะเริ่มต้นขึ้น
สรุป
การรักษาความมั่นคงปลอดภัยของระบบคอมพิวเตอร์ หรือ ระบบเครือข่ายคอมพิวเตอร์เป็นสิ่งที่ควรตระหนักเป็นอย่างยิ่งในปัจจุบัน เพราะโลกในยุคปัจจุบันเป็นโลกแห่งข้อมูลข่าวสาร การเก็บรักษาข้อมูลให้ปลอดภัยจึงเป็นสิ่งสำคัญกับตัวบุคคลและองค์กร เพราะฉะนั้นการที่จะอนุญาตให้บุคคลใดบุคคลหนึ่งสามารถเข้าถึงข้อมูลจึงเป็นสิ่งที่ควรระมัดระวัง เพราะข้อมูลบางอย่างของบุคคลและองค์กรมีความสำคัญและไม่สามารถเปิดเผยต่อบุคคลภายนอกได้
การพิสูจน์ตัวตนจึงมีความสำคัญ เนื่องจากว่าการที่บุคคลใดบุคคลหนึ่งจะเข้าสู่ระบบได้ จะต้องได้รับการยอมรับว่าได้รับอนุญาตจริง การตรวจสอบหลักฐานจึงเป็นขั้นตอนแรกก่อนอนุญาตให้เข้าสู่ระบบ การยืนยันตัวตนยิ่งมีความซับซ้อนมาก หมายถึงว่า ความปลอดภัยของข้อมูลก็มีมากขึ้นด้วย
http://www.vcharkarn.com