บทที่ 6 Access Control Panida Panichkul
Outline การควบคุมการเข้าถึง การระบุตัวตน การพิสูจน์ตัวตน การกำหนดสิทธิ์
6.1 การควบคุมการเข้าถึง (Access Control) การควบคุมการเข้าถึง (Access Control) หมายถึง การทำให้มั่นใจว่าทรัพยากรต่างๆ ของระบบจะได้รับอนุญาตให้ถูกใช้โดยผู้ใช้ที่มี สิทธิ์เท่านั้น [http://www.sans.org/security- resources/glossary.php] การควบคุมการเข้าถึงระบบ ต้องอาศัย เทคโนโลยีต่างๆ เป็นกลไกการทำงาน ประกอบด้วย 4 กลไก ได้แก่ การระบุตัวตน (Identification) การพิสูจน์ตัวตน (Authentication) การกำหนดสิทธิ์ (Authorization) การจัดทำประวัติการเข้าใช้ระบบ (Accountability) Panida Panichkul
6.1.1 การระบุตัวตน (Identification) เป็นกลไกที่ได้จัดเตรียมสารสนเทศของบุคคลที่ จะเข้าใช้ระบบ โดยทั่วไปเรียกว่า “Identifier” ซึ่ง Identifier ของผู้ใช้แต่ละคน จะต้องมีค่าไม่ซ้ำกัน เช่น Username, PIN Code, Password และมักจะใช้ร่วมกับกลไก การพิสูจน์ตัวตน Panida Panichkul
6.1.2 การพิสูจน์ตัวตน (Authentication) การพิสูจน์ตัวตน (Authentication) หมายถึง กระบวนการยืนยันความถูกต้องของตัวบุคคลที่ กล่าวอ้าง [http://www.sans.org/security- resources/glossary.php] การพิสูจน์ตัวตน แบ่งเป็น 2 ขั้นตอน คือ ระบุตัวตน พิสูจน์ตัวตน Panida Panichkul
Panida Panichkul
วิธีการที่ใช้พิสูจน์ตัวบุคคล อาศัยสิ่งที่เกี่ยวข้องกับตัวบุคคล 3 ประการ สิ่งที่รู้ (Something you know) ได้แก่ รหัสผ่าน (Password) สิ่งที่มี (Something you have) เช่น บัตรเอทีเอ็ม บัตรประจำตัวประชาชน เป็น ต้น สิ่งที่เป็น (Something you are) ได้แก่ การพิสูจน์ตัวตนด้วยลักษณะทางชีวภาพ (Biometric) เช่น ตรวจลาย นิ้วมือ เส้นเลือดดำบนฝ่ามือ หรือลายม่านตา เป็นต้น Panida Panichkul
สิ่งที่รู้ (รหัสผ่าน) สิ่งที่ผู้ใช้รู้ (Something you know) ที่ สามารถนำมาใช้พิสูจน์ตัวตนได้ และนิยม นำมาใช้เป็นกลไกพื้นฐานของการพิสูจน์ตัวตน คือ “รหัสผ่าน” รหัสผ่าน (Password) คือ คำหรือกลุ่มของ ตัวอักษรที่มีเพียงผู้ใช้คนเดียวเท่านั้นที่ทราบ Passphrase “วลีผ่าน” หมายถึง ชุดของ ตัวอักษร มีลักษณะคล้ายกับรหัสผ่าน แต่จะมี ความยาวมากกว่ารหัสผ่านและคาดเดาได้ยาก กว่าด้วย เช่น std@sskrual@ne Panida Panichkul
คุณลักษณะของ Passphrase ที่ดี ต้องไม่สร้างจากคำคมที่โด่งดังในนวนิยาย ภาพยนตร์ หรือภาพยนตร์โฆษณา ง่ายต่อการจดจำ และสะกดคำได้ถูกต้อง สามารถใช้กฎเกณฑ์ต่างๆ เพื่อเพิ่มความยาก ต่อการคาดเดาและง่ายต่อการจดจำได้ และ เมื่อผ่านกฎเกณฑ์ดังกล่าวแล้ว จะทำให้ได้ “Virtual Password” ไม่ควรใช้ตัวอักษรซ้ำกันในรหัสผ่าน รหัสผ่านที่เกิดจากการกำหนดโดยไร้กฎเกณฑ์ หรือไร้เงื่อนไขที่ตายตัว จะช่วยให้แฮคเกอร์ คาดเดาได้ยาก Panida Panichkul
สิ่งที่มี บัตรแถบแม่เหล็ก เช่น บัตรเอทีเอ็ม บัตร เครดิต บัตรเดบิต บัตรอัจฉริยะ บัตรที่ฝังไมโครชิป Panida Panichkul
Two-factor Authentication เพิ่มระดับชั้นการ รักษาความปลอดภัย Two-factor Authentication การที่จะสามารถ ผ่านกระบวนการพิสูจน์ตัวตนได้ จะต้องมี (1) อุปกรณ์ ซึ่งก็คือตัวบัตร และ (2) รหัสลับ บางอย่าง เช่น PIN Code Two-factor Authentication เพิ่มระดับชั้นการ รักษาความปลอดภัย Panida Panichkul
สิ่งที่เป็น (Biometric) ปัญหาที่เกิดกับการพิสูจน์ตัวตนโดยใช้สิ่งที่ผู้ใช้รู้ เช่น รหัสผ่าน คือการลืมรหัสผ่าน และปัญหาที่เกิดกับการพิสูจน์ตัวตนโดยใช้สิ่งที่ ผู้ใช้มี เช่น บัตรเอทีเอ็ม คือการลืมบัตรและ ทำหาย จึงได้มีการพิสูจน์ตัวตนโดยใช้ “สิ่งที่ผู้ใช้เป็น (Something you are)” แทน นั่นคือ การ พิสูจน์จากลักษณะทางชีวภาพหรือทางร่างกาย ของผู้ใช้ เรียกว่า “Biometric” ตัวอย่างเช่น พิสูจน์ด้วยลายนิ้วมือ (Fingerprint) ลายมือ (Palm Scan: รอยเส้น เลือดที่ฝ่ามือ) จดจำใบหน้า (Face Recognition) รูปร่างของมือ (Hand Geometry) สแกนเรตินา (Retina Scan) และสแกนม่านตา (Iris Scan) เป็นต้น Panida Panichkul
Panida Panichkul
การใช้ระบบ Biometric มี 2 ขั้นตอน นำข้อมูลทางชีวภาพเข้าสู่ระบบครั้งแรก (Enrollment) Panida Panichkul
การพิสูจน์ตัวตน (Authentication) Panida Panichkul
6.2.3 การกำหนดสิทธิ์ (Authorization) การกำหนดสิทธิ์ (Authorization) คือ การจำกัดสิทธิ์ในการกระทำใดๆ ต่อระบบ และข้อมูลในระบบของผู้ใช้ที่ผ่านการพิสูจน์ ตัวตนมาแล้ว [Stamp, 2006] Access Control List (ACL) Matrix คือ กลไกการควบคุมการเข้าถึงทรัพยากรของ ระบบ โดยการแสดงรายชื่อผู้ใช้ระบบ และ การกระทำที่ผู้ใช้ได้รับอนุญาตให้กระทำต่อ ทรัพยากรใดๆ ของระบบ Panida Panichkul
Subject ผู้ใช้ที่มีสิทธิ์เข้าถึงระบบ ตาราง ACL ประกอบด้วย Subject ผู้ใช้ที่มีสิทธิ์เข้าถึงระบบ Object ทรัพยากรต่างๆ ของระบบ ที่จะ ถูกใช้โดยผู้ใช้ Access Operation การกระทำที่ Subject ได้รับอนุญาตให้กระทำต่อ Object ได้ เช่น อ่าน (Read) เขียน (Write) และประมวลผล (Execute) เป็น ต้น องค์ประกอบทั้ง 3 จะถูกนำมาสร้างเป็นตาราง โดยกำหนดให้ Subject อยู่ในแนวนอน (Row) ส่วน Object อยู่ในแนวตั้ง (Column) และ Access Operation จะ กำหนดไว้ในช่องที่เกิดจากการตัดกันของ Subject และ Object ดังตัวอย่างต่อไปนี้ Panida Panichkul
Panida Panichkul
คำสั่ง SQL ควบคุมการเข้าถึงฐานข้อมูล การที่ User จะสามารถเข้าใช้ฐานข้อมูลได้ จะต้องได้รับสิทธิ์ในการเข้าถึงฐานข้อมูลและ ต้องได้รับสิทธิ์ในการดำเนินการใดๆ กับตัว ข้อมูลใน Table ของฐานข้อมูลด้วย ผู้ที่ทำ หน้าที่ในการกำหนดสิทธิ์เหล่านี้ให้กับ User ก็ คือ DBA การเข้าถึงฐานข้อมูล ทำได้โดยการสร้าง User ซึ่งสิ่งสำคัญที่ต้องกำหนดให้กับ User เพื่อใช้ติดต่อกับฐานข้อมูลคือ “รหัสผ่าน (Password)” การดำเนินการใดๆ กับข้อมูลใน Table ของฐานข้อมูล ทำได้โดยการให้สิทธิ์ใน การดำเนินการนั้นๆ แก่ User ที่สร้างขึ้น จากข้อ 1 Panida Panichkul
การให้สิทธิ์ในการเข้าถึงฐานข้อมูล การสร้าง User ใหม่ การแก้ไข User CREATE USER Username IDENTIFIED BY Password; CREATE USER Joey IDENTIFIED BY joey2008; ALTER USER Username IDENTIFIED BY New-password; ALTER USER Joey IDENTIFIED BY joker_joey; Panida Panichkul
การให้สิทธิ์ในการสร้าง Table แก่ User DROP USER Username; DROP USER Joey; GRANT create table TO somsri; Panida Panichkul
การให้สิทธิ์ในการเข้าถึงข้อมูลใน Table แก่ User GRANT create table TO somsri; //เป็นการให้สิทธิ์ผู้ใช้ที่ชื่อ “somsri” สามารถสร้าง Table ได้ GRANT select, insert, update, delete ON customer TO Jimmy; // เป็นการให้สิทธิ์ผู้ใช้ที่ชื่อ “Jimmy” สามารถเรียกดู เพิ่ม อัพเดท และลบข้อมูลใน Table “Customer” ได้ Panida Panichkul
การถอนสิทธิ์ REVOKE update ON customer FROM jimmy; Panida Panichkul
กิจกรรม การกำหนดรหัสผ่านที่ดีมีหลักการอย่างไรบ้าง Panida Panichkul
Reference Hacking & Security, สุเมธ จิตภักดีบดินทร์, สำนักพิมพ์ EZ-IT Books, 2554. ความมั่นคงปลอดภัยของสารสนเทศ, พนิดา พานิชกุล, สำนักพิมพ์ เคทีพี, 2553.