Thursday, August 13, 2009

SSL และ SSH สำหรับการส่งข้อมูลบน Internet ให้ปลอดภัย

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

ในปัจจุบัน ผู้ใช้เครือข่าย Internet มีจำนวนเพิ่มขึ้นอย่างมาก และเครือข่ายนี้ถูกใช้งานในรูปแบบต่างๆมากมายหลายรูปแบบ โดยเฉพาะอย่างยิ่งในการพาณิชย์อิเล็กทรอนิกส์ (e-commerce) ซึ่งผู้ซื้อและผู้ขายจะต้องส่งข้อมูลที่เป็นความลับถึงกันและกัน เช่น ผู้ซื้อส่งหมายเลขบัตรเครดิตหรือที่อยู่และเบอร์โทรศัพท์โดยส่งผ่านไปบน เครือข่าย Internet หากข้อมูลเหล่านี้ถูกส่งไปแบบธรรมดาก็จะเป็นการค่อนข้างง่ายที่ผู้ไม่หวังดี จะสามารถดักจับข้อมูลเหล่านี้ (sniffing) แล้วนำไปใช้ได้ เนื่องจากข้อมูลเหล่านี้อยู่ในรูปของ cleartext ผู้ดักจับข้อมูลก็จะสามารถนำข้อมูลนั้นไปใช้ได้ทันที

ในอีกกรณีหนึ่ง บนเครือข่าย Internet นี้ ผู้ใช้สามารถเชื่อมต่อและใช้งานเครื่องคอมพิวเตอร์ใดๆก็ได้หากผู้ใช้นั้นได้ รับอนุญาตและสามารถพิสูจน์ตนเองโดยใช้ username และ password ที่ถูกต้องบนเครื่องนั้นๆ โดยจะมีโปรแกรมที่ใช้ช่วยในการเชื่อมต่อและใช้งานนั้น เช่น telnet, rsh, rlogin, rcp, และ ftp เป็นต้น โปรแกรมเหล่านี้ส่งข้อมูลตามแบบมาตรฐานดั้งเดิมของเครือข่าย Internet กล่าวคือ ส่งข้อมูลทุกอย่าง (รวมทั้ง username และ password) ในรูปของ cleartext ดังนั้นหากมีผู้ดักจับข้อมูลเกี่ยวกับ username และ password ได้ ผู้นั้นก็จะสามารถนำเอา username และ password นี้ไปใช้ในการเชื่อมต่อและใช้งานเครื่องคอมพิวเตอร์เครื่องนั้นได้ต่อไป

เนื่องจากปัญหาที่กล่าวมานี้เป็นปัญหาที่ค่อนข้างใหญ่ เพราะการ sniffing นั้นสามารถกระทำได้อย่างค่อนข้างง่าย จึงได้มีการคิดแก้ไขปัญหานี้ขึ้นโดย Netscape ได้คิดค้น protocol ใหม่ขึ้นมาคือ Secure Socket Layer Protocol (SSL) และโปรแกรมเมอร์ชาว Finland ได้เขียนโปรแกรมขึ้นชุดหนึ่ง เรียกว่า Secure Shell (SSH) ซึ่งทั้ง SSL และ SSH จะเข้ารหัสลับข้อมูลใดๆก่อนที่ข้อมูลนั้นจะถูกส่งไปบนเครือข่าย Internet ดังนั้น หากผู้ไม่หวังดีสามารถดักจับข้อมูลนั้นไปได้ ผู้นั้นก็ไม่สามารถที่จะนำข้อมูลนั้นไปใช้ได้เพราะเขาไม่สามารถตีความข้อมูล นั้นได้

SSL นั้นได้รับการยอมรับอย่างกว้างขวางบน world wide web ในการใช้สำหรับตรวจสอบและเข้ารหัสลับการติดต่อสื่อสารระหว่าง client และ server หน้าที่ของ SSL จะแบ่งออกเป็น ๓ ส่วนใหญ่ๆคือ

1. การตรวจสอบ server ว่าเป็นตัวจริง: ตัวโปรแกรม client ที่มีขีดความสามารถในการสื่อสารแบบ SSL จะสามารถตรวจสอบเครื่อง server ที่ตนกำลังจะไปเชื่อมต่อได้ว่า server นั้นเป็น server ตัวจริงหรือไม่ โดยใช้เทคนิคการเข้ารหัสแบบ public key ในการตรวจสอบใบรับรอง (certificate) และ public ID ของ server นั้น (โดยที่มีองค์กรที่ client เชื่อถือเป็นผู้ออกใบรับรองและ public ID ให้แก่ server นั้น)

หน้าที่นี้ของ SSL เป็นหน้าที่ที่สำคัญ โดยเฉพาะอย่างยิ่งในกรณีที่ client ต้องการที่จะส่งข้อมูลที่เป็นความลับ (เช่น หมายเลข credit card) ให้กับ server ซึ่ง client จะต้องตรวจสอบก่อนว่า server เป็นตัวจริงหรือไม่

2. การตรวจสอบว่า client เป็นตัวจริง: server ที่มีขีดความสามารถในการสื่อสารแบบ SSL จะใช้เทคนิคเช่นเดียวกับในหัวข้อที่แล้วในการตรวจสอบ client หรือผู้ใช้ว่าเป็นตัวจริงหรือไม่ โดยจะตรวจสอบใบรับรองและ public ID (ที่มีองค์กรที่ server เชื่อถือเป็นผู้ออกให้) ของ client หรือผู้ใช้นั้น

หน้าที่นี้ของ SSL จะมีประโยชน์ในกรณีเช่น ธนาคารต้องการที่จะส่งข้อมูลลับทางการเงินให้แก่ลูกค้าของตนผ่านทางเครือ ข่าย Internet (server ก็จะต้องตรวจสอบ client ก่อนว่าเป็น client นั้นจริง)

3. การเข้ารหัสลับการเชื่อมต่อ: ในกรณีนี้ ข้อมูลทั้งหมดที่ถูกส่งระหว่าง client และ server จะถูกเข้ารหัสลับ โดยโปรแกรมที่ส่งข้อมูลเป็นผู้เข้ารหัสและโปรแกรมที่รับข้อมูลเป็นผู้ถอด รหัส (โดยใช้วิธี public key) นอกจากการเข้ารหัสลับในลักษณะนี้แล้ว SSL ยังสามารถปกป้องความถูกต้องสมบูรณ์ของข้อมูลได้อีกด้วย กล่าวคือ ตัวโปรแกรมรับข้อมูลจะทราบได้หากข้อมูลถูกเปลี่ยนแปลงไปในขณะกำลังเดินทาง จากผู้ส่งไปยังผู้รับ

ส่วน SSH นั้นเป็นโปรแกรมชุดหนึ่งที่ใช้เชื่อมต่อกับเครื่องคอมพิวเตอร์ที่อยู่ไกลออก ไปโดยผ่านทางเครือข่าย Internet เพื่อที่จะ execute หรือ run คำสั่งบนเครื่องนั้น หรือเพื่อที่จะย้าย file จากเครื่องหนึ่งไปยังอีกเครื่องหนึ่ง SSH ทำให้เกิดมีการพิสูจน์ทราบถึงตัวจริงและช่วยใหมีการสื่อสารที่ปลอดภัยโดยใช้ ระบบการเข้ารหัสลับที่แข็งแกร่งบนช่องการสื่อสารที่ไม่ปลอดภัย

SSH ถูกเขียนขึ้นมาเพื่อใช้ทดแทนโปรแกรม telnet, rlogin, rsh, และ rcp ใน version ล่าสุดของ SSH คือ SSH2 นั้นมีโปรแกรมที่ใช้แทนโปรแกรม ftp เพิ่มขึ้นมาอีก นอกจากนี้ SSH ยังสามารถให้ความปลอดภัยแก่การเชื่อมต่อในรูปของ X และ TCP ต่างๆอีกด้วย


เืรื่องที่เกี่ยวข้อง

ที่มา

No comments:

Post a Comment

Popular Posts