| เรื่องราวดีๆ จาก : Thaiwinadmin.blogsport |
| |
| รู้จักโปรโตคอล Secure Socket Layer (SSL) |
การรักษาความปลอดภัยให้กับข้อมูลข่าวสารที่จะแลกเปลี่ยนกันนั้นเป็นสิ่งที่จำเป็น ทั้งนี้ เพื่อป้องกันไม่ให้เกิดความผิดพลาดอันส่งผลให้การติดต่อสื่อสารล้มเหลว ทั่วไปจะใช้หลักการรักษาความปลอดภัยของข้อมูลในรูปแบบ RSA โดยใช้โปรโตคอล SSL ซึ่งเป็นหลักการรักษาความปลอดภัย ที่ใช้อัลกอริธึมทางคณิตศาสตร์ที่มีรูปแบบการคำนวณที่เข้าใจง่ายแต่มีความปลอดภัยสูง |
| |
| ระบบรักษาความปลอดภัยข้อมูลแบบ Secure Socket Layer |
Secure Socket Layer (SSL) เป็นโปรโตคอลสำหรับใช้จัดการความปลอดภัย ในการสื่อสารข้อมูลกันระหว่างไคลเอนต์กับเซิร์ฟเวอร์ผ่านทางระบบเครือข่ายหรืออินเทอร์เน็ต ซึ่งโดยปกติแล้วข้อมูลที่รับ-ส่งกันนั้นจะไม่มีการเข้ารหัสข้อมูลแต่อย่างใด นั้นคือถ้าใครสามารถทำการดักจับข้อมูลเหล่านั้นได้ ก็จะสามารถทราบหรืออ่านเนื้อหาของข้อมูลเหล่านั้นในทันที แต่ถ้าทำการเข้ารหัสด้วย SSL ข้อมูลจากไคลเอ็นต์ที่จะส่งไปยังเซิร์ฟเวอร์จะถูกเข้ารหัสก่อน ถึงแม้ว่าจะมีใครสามารถทำการดักจับข้อมูลเหล่านั้นได้ แต่จะไม่สามารถอ่านเนื้อหาของข้อมูลเหล่านั้นในทันที ทำให้ข้อมูลที่รับส่งกันมีความปลอดภัยมากยิ่งขึ้น |
| |
| ประวัติและความเป็นมาของโปรโตคอล SSL |
โปรโตคอล SSL เริ่มพัฒนาโดย Netscape Communications เพื่อใช้กับโปรโตคอลระดับแอพพลิเคชัน คือ Hypertext Transfer Protocol (HTTP) สำหรับการสื่อสารผ่านเว็บให้มีความปลอดภัย โดยพัฒนาในช่วงต้นของยุคการค้าอิเล็กทรอนิกส์ที่กำลังได้รับความนิยม การเข้ารหัสด้วยโปรโตคอล SSL นั้นมี 2 แบบคือ การเข้ารหัสแบบ 40 bits กับการเข้ารหัสแบบ 128 bits ซึ่งการเข้ารหัสแบบหลังนี้มีใช้แค่ในประเทศสหรัฐอเมริกาเท่านั้น
หลักการของการทำงานของโปรโตคอล SSL คือ จะมีการเข้ารหัสข้อมูลในฝั่งเครื่องไคลเอ็นต์ โดยเว็บบราวเซอร์จะเป็นตัวเข้ารหัสข้อมูล โดยบราวเซอร์จะใช้ Public key จากฝั่งเซิร์ฟเวอร์มาเข้ารหัสกับ Master key ที่บราวเซอร์สร้างขึ้นมาเอง จากนั้นก็ใช้คีย์พวกนี้เข้ารหัสข้อมูลก่อนส่งไปให้เซิร์ฟเวอร์ เมื่อเซิร์ฟเวอร์ได้รับข้อมูลที่ถูกเข้ารหัสจากฝั่งเครื่องไคลเอ็นต์ มันก็จะทำการถอดรหัสข้อมูลนั้นกลับมาเป็นข้อมูลปกติ
โปรโตคอล SSL อนุญาตให้สามารถเลือกวิธีการในการเข้ารหัส วิธีสร้างไดเจสต์ [*1] และลายเซ็นดิจิตอลได้อย่างอิสระก่อนการสื่อสารจะเริ่มต้นขึ้น ตามความต้องการของทั้งเว็บเซิร์ฟเวอร์และบราวเซอร์ เพื่อเพิ่มความยืดหยุ่นในการใช้งาน เปิดโอกาสให้ทดลองใช้วิธีการในการเข้ารหัสวิธีใหม่ รวมถึงลดปัญหาการส่งออกวิธีการเข้ารหัสไปประเทศที่ไม่อนุญาต
Netscape เริ่มพัฒนา SSL เวอร์ชันแรก คือ เวอร์ชัน 2.0 และเวอร์ 3.0 ซึ่งสนับสนุนความสามารถด้านความปลอดภัยมากขึ้น และเป็นเวอร์ชันสุดท้ายก่อนที่จะเป็นมาตรฐานกลางของโปรโตคอลบนอินเตอร์เน็ต โดยเปลี่ยนชื่อเป็น Transport Layer Security หรือ TLS ดูแลมาตรฐานโดย Internet Engineering Task Force (IETF) |
| |
| ขั้นตอนการทำงานของโปรโตคอล SSL |
| กระบวนการในการเริ่มต้นการสื่อสารผ่านชั้น SSL แบ่งเป็น 4 ขั้นตอน ดังนี้ |
| |
| ขั้นตอน 1: ประกาศชุดวิธีการเข้ารหัส ไดเจสต์ และลายเซ็นดิจิตอลที่สนับสนุนของทั้งไคลเอ็นต์และเซิร์ฟเวอร์ |
ไคลเอ็นต์และเซิร์ฟเวอร์ส่งข้อความเริ่มต้นการสื่อสาร (Hello message) ซึ่งประกอบไปด้วยเวอร์ชันของโปรโตคอลที่ใช้ วิธีการเข้ารหัสที่เว็บเซิร์ฟเวอร์และไคลเอ็นต์สนับสนุน หมายเลขระบุการสื่อสาร (Session identifier) รวมถึงวิธีการบีบอัดข้อมูลในการสื่อสารที่สนับสนุน
หมายเลขระบุการสื่อสารที่เกิดขึ้น จะใช้สำหรับตรวจสอบการเชื่อมต่อระหว่างไคลเอ็นต์และเซิร์ฟเวอร์ ถ้ามีการเชื่อมต่อก่อนหน้านี้เกิดขึ้น แสดงว่าได้มีการตกลงวิธีการสื่อสารแล้ว สามารถเริ่มต้นส่งข้อมูลได้ทันที เป็นการลดเวลาติดต่อสื่อสารลง
|
| |
| ขั้นตอน 2: การพิสูจน์ตัวตนของเซิร์ฟเวอร์ต่อไคลเอ็นต์ |
| ถัดมาเว็บเซิร์ฟเวอร์ทำการส่ง Certificate หรือใบยืนยันความมีตัวตนของเซิร์ฟเวอร์ ไคลเอ็นต์จะทำการตรวจสอบ Certificate กับผู้ให้บริการ Certificate Authority ที่ได้ตั้งค่าไว้ เพื่อยืนยันความถูกต้องของ Certificate ของเซิร์ฟเวอร์ |
| |
| ขั้นตอน 3: การพิสูจน์ตัวตนของไคลเอ็นต์ต่อเซิร์ฟเวอร์ ถ้าจำเป็น |
เซิร์ฟเวอร์สามารถร้องขอ Certificate จากไคลเอ็นต์เพื่อตรวจสอบความถูกต้องของไคลเอ็นต์ด้วยก็ได้ ใช้ในกรณีที่มีการจำกัดการใช้งานเฉพาะไคลเอ็นต์ที่ต้องการเท่านั้น ซึ่ง SSL สนับสนุนการตรวจสอบได้จากทั้งเซิร์ฟเวอร์และไคลเอ็นต์ ขึ้นอยู่กับการเลือกใช้งานในขณะติดต่อสื่อสารที่เกิดขึ้นนั้น |
| |
| ขั้นตอน 4: ไคลเอ็นต์และเซิร์ฟเวอร์ตกลงชุดวิธีการเข้ารหัส การสร้างไดเจสต์ และการใช้ลายเซ็นดิจิตอล |
ขั้นตอนการตรวจสอบ Certificate ที่เซิร์ฟเวอร์ร้องขอจากไคลเอ็นต์จะมีหรือไม่มีก็ได้ ขึ้นอยู่กับการตั้งค่าบนเซิร์ฟเวอร์ หลังจากขั้นตอนการตรวจสอบเสร็จสิ้น เซิร์ฟเวอร์และไคลเอ็นต์จะตกลงการใช้งานวิธีการเข้ารหัสระหว่างกัน โดยใช้ค่าที่ได้จากการประกาศในขั้นตอนแรก |
| |
|
วิธีการแลกเปลี่ยนกุญแจในการเข้ารหัส (Key exchange method) คือ การกำหนดกลไกการแลกเปลี่ยนกุญแจที่ใช้ในการเข้ารหัสระหว่างการสื่อสาร โดยทั้งไคลเอ็นต์และเซิร์ฟเวอร์จะใช้กุญแจนี้ในการเข้ารหัสและถอดรหัสข้อมูล ใน SSL เวอร์ชัน 2.0 จะสนับสนุนวิธีการแลกเปลี่ยนกุญแจแบบ RSA ส่วน SSL เวอร์ชัน 3.0 ขึ้นไปจะสนับสนุนวิธีการอื่นๆ เพิ่มเติมเช่นการใช้ RSA ร่วมกับการใช้ Certificate หรือ Diffie-Hellman เป็นต้น |
| |
| วิธีการเข้ารหัสในปัจจุบันแบ่งเป็นสองวิธีคือ |
| 1. การใช้กุญแจเดียวกันในการเข้ารหัสและถอดรหัส อาจเรียกกุญแจนี้ว่า Session key หรือ Secret key |
| |
2. การใช้กุญแจคนละตัวในการเข้ารหัสและถอดรหัส ประกอบไปด้วยกุญแจสาธารณะและกุญแจส่วนตัวซึ่งเป็นคู่กันเสมอ เข้ารหัสด้วยกุญแจใด จะต้องถอดรหัสด้วยกุญแจที่คู่กันและตรงกันข้ามเท่านั้น มักใช้วิธีการเข้ารหัสด้วยกุญแจคนละตัวมาใช้ในการเข้ารหัส 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 บิต ซึ่งจะได้วิธีการที่ทั้งสองฝ่ายสนับสนุนและเหมาะสมซึ่งเป็นขั้นตอนสุดท้าย ก่อนการสื่อสารที่มีการเข้ารหัสจะเริ่มต้นขึ้น |
| |
| บทสรุป |
การรักษาความมั่นคงปลอดภัยของระบบคอมพิวเตอร์ หรือ ระบบเครือข่ายคอมพิวเตอร์เป็นสิ่งที่ควรตระหนักเป็นอย่างยิ่งในปัจจุบัน เพราะโลกในยุคปัจจุบันเป็นโลกแห่งข้อมูลข่าวสาร การเก็บรักษาข้อมูลให้ปลอดภัยจึงเป็นสิ่งสำคัญกับตัวบุคคลและองค์กร เพราะฉะนั้นการที่จะอนุญาตให้บุคคลใดบุคคลหนึ่งสามารถเข้าถึงข้อมูลจึงเป็นสิ่งที่ควรระมัดระวัง เพราะข้อมูลบางอย่างของบุคคลและองค์กรมีความสำคัญและไม่สามารถเปิดเผยต่อ บุคคลภายนอกได้
การพิสูจน์ตัวตนจึงมีความสำคัญ เนื่องจากว่าการที่บุคคลใดบุคคลหนึ่งจะเข้าสู่ระบบได้ จะต้องได้รับการยอมรับว่าได้รับอนุญาตจริง การตรวจสอบหลักฐานจึงเป็นขั้นตอนแรกก่อนอนุญาตให้เข้าสู่ระบบ การยืนยันตัวตนยิ่งมีความซับซ้อนมาก หมายถึงว่า ความปลอดภัยของข้อมูลก็มีมากขึ้นด้วย
|
| |
| |