740 likes | 921 Views
บทที่ 10 ระบบความปลอดภัย (Security System). 1. เนื้อหา. การเข้ารหัสลับ ลายมือชื่อดิจิตอล ใบรับรองดิจิตอล ระบบความปลอดภัย. 2. Security System. ระบบรักษาความปลอดภัยเป็นเรื่องสำคัญ โดยเฉพาะการพาณิชย์อิเล็กทรอนิกส์ที่
E N D
บทที่ 10ระบบความปลอดภัย (Security System) 1
เนื้อหา • การเข้ารหัสลับ • ลายมือชื่อดิจิตอล • ใบรับรองดิจิตอล • ระบบความปลอดภัย 2
Security System ระบบรักษาความปลอดภัยเป็นเรื่องสำคัญ โดยเฉพาะการพาณิชย์อิเล็กทรอนิกส์ที่ มีการแลกเปลี่ยนข้อมูลระหว่างผู้ส่งและผู้รับ ซึ่งในระบบจะต้องหาวิธีการดูแล ความปลอดภัยของระบบผ่านเครือข่ายต่าง ๆ หรือระบบอินเทอร์เน็ต ในปัจจุบันการใช้งานเต็มไปด้วยการคุกคามจากผู้ไม่ประสงค์ดีที่สร้างความเสียหาย แก่ระบบหลายหลายวิธีการ ดังนั้นเพื่อความปลอดภัยของระบบเราควรออกแบบ และพัฒนาระบบพาณิชย์อิเล็กทรอนิกส์ที่คำนึงความปลอดภัยด้วย 3
ภัยคุกคาม • เช่น hacker , crackers , Denial-of-service attack ฯลฯ • ในปี ค.ศ. 1999 cracker ชาวสวีเดนได้บุกเข้าไปในเว็บไซต์ Microsoft’s Hotmail และได้เข้าไปสร้าง mirror site ที่อนุญาตให้ผู้ใดก็ได้สามารถพิมพ์ชื่อของผู้ใช้ Hotmail แล้วสามารถเข้าไปอ่านข้อความอีเมล์ของผู้นั้นได้ราวกับเป็นเจ้าของเสียเอง • ในอีกกรณีหนึ่ง cracker ที่เป็นเด็กอายุ 19 ปีชาวรัสเซียชื่อว่า Maxim ได้บุกเข้าไปในเว็บไซต์ e-commerce แห่งหนึ่งและขโมยหมายเลขเครดิตการ์ดไปกว่า 300,000 ใบ จากนั้นจึงได้เข้าไปในเว็บไซต์ของเจ้าของเว็บไซต์ดังกล่าวเพื่อเรียกร้องเงินเป็นจำนวน 100,000 เหรียญเป็นค่าไถ่สำหรับเครดิตการ์ดที่เขาขโมยไปได้ เจ้าของเว็บไซต์ปฏิเสธที่จะจ่ายเงินทำให้ Maxim โกรธและนำหมายเลขเครดิตการ์ดทั้ง 300,000 ใบออกประกาศทั่วอินเทอร์เน็ตทำให้ผู้เคราะห์ร้ายคือเจ้าของบัตรเครดิตต้องสูญเสียเงินเป็นจำนวนมาก 4
ภัยคุกคามทางอินเทอร์เน็ตภัยคุกคามทางอินเทอร์เน็ต • ตัวอย่างของการคุกคามได้แก่ • การเข้าถึงระบบเครือข่ายจากผู้ที่ไม่มีสิทธิ์ • การเข้ามาทำลาย เปลี่ยนแปลง หรือ ขโมยข้อมูล • การนำข้อมูลไปเปิดเผยแก่ผู้อื่นที่ไม่เกี่ยวข้อง • การทำให้การทำงานของระบบหยุดชะงัก • การปฏิเสธความรับผิดชอบในการทำธุรกรรม หรือ การอ้างว่าได้รับ หรือ ให้บริการ/ข้อมูล ของ ผู้ซื้อ หรือ ผู้ขาย • ซึ่งถ้าข้อมูลเหล่านั้นเกี่ยวข้องกับ ข้อมูลทางการเงิน เช่น หมายเลขบัตรเครดิต ข้อมูลลับของบริษัท (Corporate Secret) หรือ ข้อมูลที่เป็นทรัพย์สินทางปัญญา (Intellectual Property) จะก่อให้เกิดความเสียหายอย่างมาก 5
วิธีบุกรุกเข้าเครือข่ายและการแก้ปัญหาวิธีบุกรุกเข้าเครือข่ายและการแก้ปัญหา • วิธีการบุกรุก • เข้ามาขโมยและแก้ไขข้อมูลในระบบ • การแก้ไขปัญหา • เก็บข้อมูลโดยการเข้ารหัสลับ (Encryption) • การทำงาน • เข้ารหัสข้อมูลเพื่อป้องกันการลักลอบดูจากผู้ที่ไม่มีสิทธิ • ใช้เทคโนโลยี • สามารถใช้วิธีการเข้ารหัสแบบต่าง ๆ 6
วิธีบุกรุกเข้าเครือข่ายและการแก้ปัญหาวิธีบุกรุกเข้าเครือข่ายและการแก้ปัญหา • วิธีการบุกรุก • ปลอมตัวเข้ามาใช้ระบบและทำรายการปลอม • การแก้ไขปัญหา • ให้ระบบตรวจสอบว่าบุคคลนั้นมีสิทธิจริงหรือไม่(Authentication) • การทำงาน • ใช้หลักการตรวจสอบข้อมูลทั้งผู้ส่งและผู้รับข้อมูล • ใช้เทคโนโลยี • การใช้ลายมือชื่อดิจิตอล 7
วิธีบุกรุกเข้าเครือข่ายและการแก้ปัญหาวิธีบุกรุกเข้าเครือข่ายและการแก้ปัญหา • วิธีการบุกรุก • เข้าใช้ระบบโดยไม่มีสิทธิและใช้ระบบนี้เพื่อเข้าใช้ระบบอื่น • การแก้ไขปัญหา • ด่านกันบุกรุก (Firewall) • การทำงาน • ตรวจสอบและกรองข้อมูลของการติดต่อจากเครือข่ายหรือเครื่องบริการของระบบเพื่อป้องกันข้อมูลเข้าและออกจากระบบจากการไม่มีสิทธิ • ใช้เทคโนโลยี • Firewall และการวางเครือข่ายเสมือน (VPN-Virtual Private Network) ของตนเองซ้อนในอินเทอร์เน็ตอีกชั้นหนึ่ง 8
- ความปลอดภัยของข้อมูลเพื่อการทำธุรกรรมผ่านเครือข่ายอินเทอร์เน็ตนั้นจะหมายถึง การที่ข้อมูลมีความถูกต้อง ครบถ้วน มีความน่าเชื่อถือ และสามารถส่งถึงผู้รับได้อย่าง สมบูรณ์ - ในทางปฏิบัตินั้นสามารถกำหนดลักษณะของการควบคุมความมั่นคงปลอดภัย (Security Controls) ได้ 5 ระดับตามรูป 9
Security Controls1. การพิสูจน์ตัวตน (Authentication) การพิสูจน์ตัวตน คือขั้นตอนการยืนยันความถูกต้องของหลักฐาน (Identity) ที่ แสดงว่าเป็นบุคคลที่กล่าวอ้างจริง ในทางปฏิบัติจะแบ่งออกเป็น 2 ขั้นตอน คือ • การระบุตัวตน (Identification) คือขั้นตอนที่ผู้ใช้แสดงหลักฐานว่าตนเองคือใครเช่น ชื่อผู้ใช้ (username) • การพิสูจน์ตัวตน (Authentication) คือขั้นตอนที่ตรวจสอบหลักฐานเพื่อแสดงว่าเป็นบุคคลที่กล่าวอ้างจริง 10
แผนผังแสดงกระบวนการการพิสูจน์ตัวตนแผนผังแสดงกระบวนการการพิสูจน์ตัวตน • หลักฐานที่ผู้ใช้นำมากล่าวอ้างที่เกี่ยวกับเรื่องของความปลอดภัยนั้นสามารถจำแนกได้ 2 ชนิด - Actual identity คือหลักฐานที่สามารถบ่งบอกได้ว่าในความเป็นจริงบุคคลที่กล่าวอ้างนั้นเป็นใคร - Electronic identity คือหลักฐานทางอิเล็กทรอนิกส์ซึ่งสามารถบ่งบอกข้อมูลของบุคคลนั้นได้ แต่ละบุคคลอาจมีหลักฐานทางอิเล็กทรอนิกส์ได้มากกว่า 1 หลักฐาน ตัวอย่างเช่น บัญชีชื่อผู้ใช้ 11
กลไกของการพิสูจน์ตัวตน (Authentication mechanisms) • กลไกของการพิสูจน์ตัวตน สามารถแบ่งออกได้เป็น 3 คุณลักษณะคือ • สิ่งที่คุณมี (Possession factor) เช่น กุญแจหรือเครดิตการ์ด เป็นต้น • สิ่งที่คุณรู้ (Knowledge factor) เช่น รหัสผ่าน (passwords) หรือการใช้พิน (PINs) เป็นต้น • สิ่งที่คุณเป็น (Biometric factor) เช่น ลายนิ้วมือ รูปแบบเรตินา (retinal patterns) หรือใช้รูปแบบเสียง (voice patterns) เป็นต้น 12
กลไกของการพิสูจน์ตัวตนกลไกของการพิสูจน์ตัวตน • ข้อจำกัดในการใช้ เช่น • สิ่งที่คุณมี (Possession factor) นั้นอาจจะสูญหายหรือถูกขโมยได้ • สิ่งที่คุณรู้ (Knowledge factor) อาจจะถูกดักฟัง เดา หรือขโมยจากเครื่องคอมพิวเตอร์ • สิ่งที่คุณเป็น (Biometric factor) จัดได้ว่าเป็นวิธีที่มีความปลอดภัยสูง แต่การที่จะใช้เทคโนโลยีนี้ได้นั้นจำเป็นต้องมีการลงทุนที่สูง เป็นต้น ** ดังนั้นจึงได้มีการนำแต่ละคุณลักษณะมาใช้ร่วมกัน ช่วยเพิ่มประสิทธิภาพในการรักษาความปลอดภัยของข้อมูล 13
Security Controls2. การกำหนดสิทธิ์ (Authorization) • การกำหนดสิทธิ์ การกำหนดสิทธิ์ คือขั้นตอนในการอนุญาตให้แต่ละบุคคลสามารถเข้าถึงข้อมูลหรือระบบใดได้บ้าง ก่อนอื่นต้องทราบก่อนว่าบุคคลที่กล่าวอ้างนั้นคือใครตามขั้นตอนการพิสูจน์ตัวตนและต้องให้แน่ใจด้วยว่าการพิสูจน์ตัวตนนั้นถูกต้อง 14
Security Controls3. การเข้ารหัสลับ(Encryption) • การเข้ารหัสลับคือการเปลี่ยนข้อความที่สามารถอ่านได้ (plain text) ไปเป็นข้อความที่ไม่สามารถอ่านได้ (cipher text) • การเข้ารหัสลับมีความสำคัญคือ • การตรวจสอบเพื่อยืนยันข้อมูลที่ส่ง (authentication) โดยตรวจสอบการแสดงตนว่าคนส่งเป็นตัวจริงหรือไม่ • การพิสูจน์หลักฐานว่าได้กระทำรายการจริง (Non-Repudiation) เพื่อป้องกันการปฏิเสธภายหลังว่าไม่ได้เป็นผู้กระทำ • การรักษาสิทธิความเป็นส่วนตัว ปกป้องข้อมูลจากผู้ไม่มีสิทธิ 15
Security Controls4. การรักษาความสมบูรณ์ (Integrity) • การรักษาความสมบูรณ์ • การรักษาความสมบูรณ์ คือการรับรองว่าข้อมูลจะไม่ถูกเปลี่ยนแปลงหรือทำลายไปจากต้นฉบับ (source) ไม่ว่าจะเป็นโดยบังเอิญหรือดัดแปลงโดยเจตนาที่อาจส่งผลเสียต่อข้อมูล การคุกคามความสมบูรณ์ของข้อมูลคือการที่บุคคลที่ไม่ได้รับอนุญาตสามารถที่จะเข้าควบคุมการจัดการของข้อมูลได้ 16
Security Controls5. การตรวจสอบ (Audit) • การตรวจสอบ • การตรวจสอบ คือการตรวจสอบหลักฐานทางอิเล็กทรอนิกส์ ซึ่งสามารถใช้ในการติดตามการดำเนินการเพื่อตรวจสอบความถูกต้องและแม่นยำ ตัวอย่างเช่นการตรวจสอบบัญชีชื่อผู้ใช้ โดยผู้ตรวจบัญชี ซึ่งการตรวจสอบความถูกต้องของการดำเนินการเพื่อให้แน่ใจว่าหลักฐานทางอิเล็กทรอนิกส์นั้นได้ถูกสร้างและสั่งให้ทำงานโดยบุคคลที่ได้รับอนุญาต และในการเชื่อมต่อเหตุการณ์เข้ากับบุคคลจะต้องทำการตรวจสอบหลักฐานของบุคคลนั้นด้วย ซึ่งถือเป็นหลักการพื้นฐานของขั้นตอนการทำงานของการพิสูจน์ตัวตนด้วย 17
สรุป การควบคุมความปลอดภัย • การพิสูจน์ตัวตนจัดเป็นการตรวจสอบหลักฐานขั้นพื้นฐานที่สำคัญที่สุดใน 5 ระดับชั้นของการควบคุมความปลอดภัย ดังนั้นการพิสูจน์ตัวตนดีจะช่วยเพิ่มความมั่นคงปลอดภัยขั้นพื้นฐานให้กับระบบมากยิ่งขึ้น • ส่วนประกอบพื้นฐานของการพิสูจน์ตัวตนสมบูรณ์แบ่งได้เป็น 3 ส่วน คือ • การพิสูจน์ตัวตน (Authentication) คือส่วนที่สำคัญที่สุดเพราะเป็นขั้นตอนแรกของการเข้าใช้ระบบ ผู้เข้าใช้ระบบต้องถูกยอมรับจากระบบว่าสามารถเข้าสู่ระบบได้ การพิสูจน์ตัวตนป็นการตรวจสอบหลักฐานเพื่อแสดงว่าเป็นบุคคลนั้นจริง • การกำหนดสิทธิ์ (Authorization) คือข้อจำกัดของบุคคลที่เข้ามาในระบบ ว่าบุคคลคนนั้นสามารถทำอะไรกับระบบได้บ้าง • การบันทึกการใช้งาน (Accountability) คือการบันทึกรายละเอียดของการใช้ระบบและรวมถึงข้อมูลต่างๆที่ผู้ใช้กระทำลงไปในระบบ เพื่อผู้ตรวจสอบจะได้ตรวจสอบได้ว่า ผู้ใช้ที่เข้ามาใช้บริการได้เปลี่ยนแปลงหรือแก้ไขข้อมูลในส่วนใดบ้าง 18
พื้นฐานของระบบความปลอดภัยพื้นฐานของระบบความปลอดภัย • การพิสูจน์ตัวตนและการให้อำนาจ (Authentication and Authorization) • การยืนยันความถูกต้องว่าเป็นคนที่กล่าวอ้างจริง และการอนุญาตให้แต่ละบุคคลสามารถเข้าถึงข้อมูลหรือระบบใดได้บ้าง • การรักษาความลับ (Confidentiality) • การรับรองว่าจะมีการเก็บข้อมูลไว้เป็นความลับ และผู้มีสิทธิเท่านั้นจึงจะเข้าถึงข้อมูลนั้นได้ • การรักษาความถูกต้อง/สมบูรณ์ (Integrity) • การรับรองว่าข้อมูลจะไม่ถูกเปลี่ยนแปลงหรือทำลายไม่ว่าจะเป็นโดย อุบัติเหตุหรือโดยเจตนา • การป้องกันการปฏิเสธหรือการไม่ยอมรับ (Non-Repudiation) • วิธีการสื่อสารซึ่งผู้ส่งข้อมูลได้รับหลักฐานว่าได้มีการส่งข้อมูลแล้วและผู้รับก็ได้รับการยืนยันว่าผู้ส่งเป็นใคร ดังนั้นทั้งผู้ส่งและผู้รับจะไม่สามารถปฏิเสธได้ว่าไม่มีความเกี่ยวข้องกับข้อมูลดังกล่าวในภายหลัง 19
กระบวนการเข้ารหัสและถอดรหัส(cryptography)กระบวนการเข้ารหัสและถอดรหัส(cryptography) • จุดประสงค์หลักของการเข้ารหัสและถอดรหัส คือ ผู้ที่ไม่ได้รับอนุญาตในการเข้าถึงข้อมูลเข้าถึงข้อมูลได้ยากและให้เพียงแค่บุคคลที่อนุญาตให้เข้าถึงข้อมูลเข้าถึงข้อมูลได้เท่านั้น ไม่ใช่ทั้งหมดที่ผู้ที่ไม่ได้รับอนุญาตจะไม่สามารถเข้าถึงข้อมูลได้ผู้ที่ไม่ได้รับอนุญาตอาจเข้าถึงข้อมูลได้แต่ไม่สามารถเข้าใจความหมายของข้อมูลนั้นนั้นได้ • การเข้ารหัส เป็นการใช้ อัลกอริทึม ที่ซับซ้อนในการเปลี่ยน ข้อมูลเดิม(plaintext) ด้วยการเข้ารหัส เปลี่ยนเป็น ข้อมูลมีผ่านการเข้ารหัสแล้ว(ciphertext) • อัลกอริทึมที่ใช้ในการ เข้ารหัส และ ถอดรหัส ข้อมูลแล้วส่งผ่านกันในระบบเน็กเวิร์คนั้น มี 2 แบบ คือ การเข้ารหัสแบบสมมาตร และ การเข้ารหัสแบบอสมมาตร 20
ตัวอย่างการเข้ารหัสสมัยก่อน (Classic cryptography) Caesar cipher การเข้ารหัสข้อมูลแบบ Caesar cipher มีขึ้นในราว 50-70 ปีก่อนคริสตกาลสร้างโดยกษัตริย์ Julius Caesar แห่งโรมัน เพื่อใช้เข้ารหัสข้อความในสารที่ส่งในระหว่างการทำศึกสงคราม เพื่อป้องกันไม่ให้ศัตรูสามารถอ่านข้อความในสารนั้นได้หากสารนั้นถูกแย่งชิงไป การเข้ารหัสแบบ Caesar cipher จะใช้วิธีการแทนที่ตัวอักษรต้นฉบับด้วยตัวอักษรที่อยู่ห่างออกไปข้างหน้าสามตัวเช่น แทนที่ตัว A ด้วยตัว D และแทนที่ตัว B ด้วยตัว E เป็นต้น ดังนั้นการเข้ารหัสแบบ Caesar cipher จึงเป็นการเลื่อนตัวอักษรโดยจำนวนครั้งของการเลื่อนเท่ากับสาม (Shiftment, n = 3) 21
การแม็ปของตัวอักษรในการเข้ารหัสแบบ Caesar cipher สามารถเขียนได้ดังนี้ หากใช้การเข้ารหัสข้อมูลแบบ Caesar cipher เข้ารหัส จะได้ดังนี้ • Plaintext: the quick brown fox jumps over the lazy dog • Ciphertext: WKH TXLFN EURZQ IRA MXPSV RYHU WKH ODCB GRJ ประโยค คือ “the quick brown fox jumps over the lazy dog” ซึ่งเป็นประโยคสั้น ๆ ที่มีตัวอักษรภาษาอังกฤษครบทั้ง 26 ตัว ต่อมา Augustus (ผู้เป็น Caesar องค์ที่สองจากทั้งหมด 12 Caesars) ซึ่งเป็นหลานของ Julius Caesar ได้เปลี่ยนสูตรให้แทนที่ตัว A ด้วยตัว C และแทนที่ตัว B ด้วยตัว D ดังนั้นจึงกลายเป็นการเลื่อนตัวอักษรที่มีจำนวนครั้งของการเลื่อนเท่ากับสอง (Shiftment, n = 2) Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ Cipher: DEFGHIJKLMNOPQRSTUVWXYZABC 22
Caesar cipher - การเข้ารหัสทั้งสองวิธีนี้สามารถถูกเบรค (Break) ได้โดยง่าย (การเบรคในที่นี้หมายถึงการถอดรหัสข้อมูลออกมาได้ ถึงแม้จะไม่ทราบวิธีการเข้ารหัสและไม่มีกุญแจที่ใช้ถอดรหัสก็ตาม) - การเบรคการเข้ารหัสข้อมูลแบบ Caesar cipher ทำได้โดยการทดลองทำการเลื่อนตัวอักษรทุกตัว โดยทดลองเลื่อนด้วยจำนวน Shiftment ที่ต่างกันคือ n=1, n=2, n=3, ... ไปจนถึง n=26 ซึ่งจะใช้การจำนวนครั้งในการทดสอบสูงสุดเพียง 26 ครั้ง (สำหรับภาษาอังกฤษซึ่งมีเพียง 26 ตัวอักษร) ก็จะสามารถทำการเบรคได้ในที่สุด 23
Scytale • Scytale เป็นอุปกรณ์ที่ทำขึ้นจากไม้ที่มีด้านสมมาตรเท่ากันทุกด้าน ในสมัยที่ยังไม่มีคอมพิวเตอร์ ใช้เพื่อเข้ารหัส และ ถอดรหัสลับ • วิธีการเข้ารหัสก็ คือ นํากระดาษมาพันรอบ Scytale แล้วเขียนข้อความลับตามแนวนอน ขนานกับไม้ไป แล้วหลังจากนั้นก็นํากระดาษนี้ไปส่งให้กับผู้รับ ซึ่งถ้าระหว่างทาง ข้อความลับ (CipherText) โดนแย่งไป คนที่แย่งไปถ้าไม่มี Scytale ที่มีขนาดเดียวกันกับ ที่ใช้เขียนขึ้นมาก็จะไม่สามารถอ่านข้อความนั้นได้ • วิธีการถอดรหัส คือ ผู้รับจําเป็นจะต้องมีตัว Scytale ที่สามารถถอดรหัสได้ (Scytale แบบเดียวกัน) แต่วิธีการก็จะเหมือนกับการเข้ารหัส โดยการนํากระดาษมาพันรอบ Scytale แล้วหลังจากนั้นก็อ่านตามแนวนอน ก็จะได้ ข้อความปกติ (PlainText) ออกมา อ่านตามแนวนอนจะได้เป็น “Help me I am under attack” (ตัวอย่างอยู่ในสมัยของ Spartan) 24
การเข้ารหัสสมัยใหม่ (Modern cryptography) • การเข้ารหัสสมัยใหม่มีเรื่องของ กุญแจ( key) เข้ามาเกี่ยวข้อง กุญแจ( key) หมายถึง ชุดตัวเลข หรือ ตัวอักษร กลุ่มนึงที่ถูก ‘สุ่ม’ ขึ้นมาเพื่อใช้ในการ เข้ารหัส หรือ ถอดรหัส • เริ่มในช่วงปี 1970: DES (Data Encryption Standard)เป็นการเข้ารหัสที่พัฒนามาจากอัลกอริทึม Lucifer ของ IBM โดย Lucifer ได้รับการพัฒนาเพิ่มความสามารถและเปลี่ยนชื่อเป็น DES แล้วได้รับการนำเสนอต่อ US NIST (US National Institute of Standards and Technology) ให้กลายเป็นมาตราฐานการเข้ารหัสของ สหรัฐอเมริกา • AES (Advance Encryption Standard) เป็นการเข้ารหัสที่พัฒนาขึ้นมาเพื่อใช้ทดแทน DES หลังจากที่ DES ถูกเบรคได้ โครงการพัฒนา AES ได้เริ่มต้นเมื่อปี 1997 25
1. การสร้างขั้นตอนวิธี (Algorithm) 1.1 อัลกอริทึมแบบสมมาตร (Symmetric key algorithms) 1.2 อัลกอริทึมแบบอสมมาตร (Asymmetric key algorithms) ขั้นตอนการเข้ารหัสลับการเข้ารหัสลับมีส่วนสำคัญของ 2 ส่วนคือ 2. การหา Key ที่เหมาะสมสำหรับการเข้ารหัสและถอดรหัส 26
1.1 อัลกอริทึมแบบสมมาตร (Symmetric key algorithms) • จะใช้กุญแจตัวเดียวกันสำหรับการเข้าและถอดรหัส อัลกอริทึมที่ได้รับความนิยมได้แก่ DES, AES, IDEA • ตัวอย่าง :การเข้ารหัสของ Caesar cipher เช่น ต้องการเข้ารหัสคำว่า CAT โดยมี Key คือ 3วิธีเข้ารหัสทำได้โดย นับขึ้นไป 3 ตัวอักษร ดังนั้น Encryption Decryption C กลายเป็น D E F A กลายเป็น B C D T กลายเป็น U V W F กลายเป็น E D C D กลายเป็น C B A W กลายเป็น V U T ผลลัพธ์จากการเข้ารหัสคือ คำว่า FDW ผลลัพธ์จากการถอดรหัสคือ คำว่า CAT 27
อัลกอริทึมแบบสมมาตร (Symmetric key algorithms) 28
อัลกอริทึมแบบสมมาตร (Symmetric key algorithms) เข้ารหัสลับ ข้อความที่เข้ารหัสแล้ว ข้อความเดิม ก่อนการเข้ารหัส Internet ถอดรหัสด้วยคีย์ลับเดิม ข้อความเดิม หลังถอดรหัส ข้อความที่เข้ารหัสแล้ว 29
ปัญหาของอัลกอริทึมแบบสมมาตรปัญหาของอัลกอริทึมแบบสมมาตร • ผู้ส่งข้อมูลและผู้รับจะจำเป็นต้องแลกเปลี่ยนกุญแจลับกันก่อน (ซึ่งอาจหมายถึงส่งมอบกุญแจลับให้กันก่อน) การแลกเปลี่ยนกุญแจนั้นอาจทำได้อย่างยุ่งยากและไม่สะดวก • ผู้ส่งข้อมูลและผู้รับจะต้องรักษากุญแจลับนั้นไว้เป็นอย่างดี ห้ามเปิดเผยให้ผู้อื่นล่วงรู้โดยเด็ดขาด การที่กุญแจถูกเปิดเผยออกไปสู่ผู้อื่น • สำหรับสองกลุ่มที่ต้องการติดต่อกัน จำเป็นต้องใช้กุญแจลับเป็นจำนวน 1 กุญแจเพื่อติดต่อกัน ซึ่งจะเห็นได้ว่าจำนวนกุญแจมีมากมาย ซึ่งอาจก่อให้เกิดปัญหาด้านการรักษาความปลอดภัยให้กับกุญแจเหล่านี้ 30
1.2 อัลกอริทึมแบบอสมมาตร (Asymmetric key algorithms) • อาจใช้คำว่า Asymmetric Key Encryption หรือ Public Key Encryption หรือใช้คำว่า Public Key Infrastructure (PKI) • จะใช้กุญแจตัวหนึ่งสำหรับการเข้ารหัส และกุญแจอีกตัวหนึ่งสำหรับการถอดรหัส • กุญแจที่ใช้เข้ารหัสเป็นกุญแจที่เปิดเผยสู่สาธารณชน (ใครๆก็สามารถใช้กุญแจนี้เพื่อเข้ารหัสได้) แต่ถ้าการถอดรหัสจะต้องใช้กุญแจอีกดอกหนึ่งที่ไม่เปิดเผย • อัลกอริทึมที่ได้รับความนิยมได้แก่ RSA (ตั้งแต่คิดค้นมายังไม่มีใครสามารถเบรคอัลกอริทึมนี้ได้ และ RSA ได้ถูกนำมาใช้อย่างแพร่หลายในด้าน e-commerce ) • การประยุกต์ใช้งานทำได้โดย เก็บ Key อันหนึ่งไว้กับตัวเองเรียกว่า Private Key ส่วนอีก Key หนึ่งสามารถที่จะแจกจ่ายให้ผู้อื่นได้ดังนั้น Key นี้จึงถูกเรียกว่า Public Key • เมื่อผู้อื่นต้องการที่จะส่งข้อมูลที่เป็นความลับมายังเจ้าของ Private Key จะต้องทำการเข้ารหัสข้อมูลนั้นด้วย Public Key ของผู้รับ ดังนั้นจึงทำให้ผู้ที่มี Private Key เท่านั้นที่จะถอดรหัสข้อมูลได้ • ส่วนการส่งข้อมูลที่เข้ารหัสด้วย Private Key ไปยังผู้อื่น ผู้ใดก็ตามที่มี Public Key (ซึ่งมีอยู่หลายคน) จะสามารถถอดรหัสข้อมูลได้ 31
ให้นับตามเข็มนาฬิกาไป 7 ครั้ง -- จาก 4 นับ 5, 6, 7, 8, 9, 10, 11 11 คือเลขที่ถูกเข้ารหัสแล้ว • ตัวอย่าง ให้นึกถึงหน้าปัดนาฬิกาที่มีเลข 12 ตัวเรียงกันเป็นวงกลม ต้องการส่งเลข 4 ไปให้เพื่อนโดยการเข้ารหัสโดยใช้ Key เท่ากับ 7 การถอดรหัส ให้นำ 11 มานับตามเข็มนาฬิกา 5 ครั้ง -- จาก 11 นับ 12, 1, 2, 3, 4 ก็จะได้เลข 4 กลับมาเหมือนเดิม ซึ่งคีย์ในที่นี้คือ 7 และ 5 นั่นเอง มีความสัมพันธ์กันคือ 7+5 = 12 ตามจำนวนตัวเลขในนาฬิกา เขียนแบบคณิตศาสตร์ : plain text = 4 เข้ารหัสเลข4 ด้วยคีย์ตัวแรกคือ 7 ได้แก่ 4+7 mod 12 = 11 คำนวณคีย์ตัวที่สอง คือ 12 - 7 = 5 ถอดรหัสเลข11 ด้วยคีย์ตัวที่สองคือ 5 ได้แก่ 11+5 mod 12 = 4 32
อัลกอริทึมแบบอสมมาตร (Asymmetric key algorithms) 33
อัลกอริทึมแบบอสมมาตร (Asymmetric key algorithms) เข้ารหัสลับ Public Key ข้อความที่เข้ารหัสแล้ว (Cipher text) ข้อความเดิม ก่อนการเข้ารหัส Internet ถอดรหัสด้วยคีย์ Private Key ข้อความที่เข้ารหัสแล้ว (Cipher text) ข้อความเดิม หลังการถอดรหัส 34
ความแข็งแกร่งของอัลกอริทึมสำหรับการเข้ารหัสความแข็งแกร่งของอัลกอริทึมสำหรับการเข้ารหัส หมายถึงความยากในการที่ผู้บุกรุกจะสามารถถอดรหัสข้อมูลได้โดยปราศจากกุญแจที่ใช้ในการเข้ารหัส ซึ่งจะขึ้นอยู่กับปัจจัยต่างๆ เช่น • การเก็บกุญแจเข้ารหัสไว้อย่างเป็นความลับ : ผู้เป็นเจ้าของกุญแจลับหรือส่วนตัวต้องระมัดระวังไม่ให้กุญแจสูญหายหรือล่วงรู้โดยผู้อื่น • ความยาวของกุญแจเข้ารหัส : ปกติกุญแจเข้ารหัสจะมีความยาวเป็นบิต ยิ่งจำนวนบิตของกุญแจยิ่งมาก ยิ่งทำให้การเดาเพื่อสุ่มหากุญแจที่ถูกต้องเป็นไปได้ยากยิ่งขึ้น • ความไม่เกรงกลัวต่อการศึกษาหรือดูอัลกอริทึมเพื่อหารูปแบบของการเข้ารหัส : อัลกอริทึมที่ดีต้องเปิดให้ผู้รู้ทำการศึกษาในรายละเอียดได้ 35
คำแนะนำในการเลือกใช้อัลกอริทึมคำแนะนำในการเลือกใช้อัลกอริทึม • คือให้ใช้อัลกอริทึมที่ได้มีการใช้งานมาเป็นระยะเวลานานแล้ว ทั้งนี้เนื่องจากหากปัญหาของอัลกอริทึมนี้มีจริง ก็คงเกิดขึ้นมานานแล้วและก็คงเป็นที่ทราบกันแล้ว นั่นคืออย่างน้อยที่สุดจวบจนกระทั่งถึงปัจจุบัน ก็ยังไม่มีการบุกรุกที่ทำให้อัลกอริทึมนั้นไม่สามารถใช้งานได้อย่างปลอดภัยเป็นที่ประจักษ์ ดังนั้นจึงไม่ควรใช้อัลกอริทึมใหม่ๆ ที่เพิ่งได้มีการนำเสนอกันสู่สาธารณะ เพราะอาจมีช่องโหว่แฝงอยู่และยังไม่เป็นที่ทราบในขณะนี้ 36
ความยาวของกุญแจที่ใช้ในการเข้ารหัสความยาวของกุญแจที่ใช้ในการเข้ารหัส • ความยาวของกุญแจเข้ารหัสมีหน่วยนับเป็นบิต • เมื่อเพิ่มความยาวของกุญแจทุกๆ 1 บิต ค่าที่เป็นไปได้ของกุญแจจะเพิ่มขึ้นเป็นสองเท่าตัว หรือจำนวนกุญแจที่เป็นไปได้จะเพิ่มขึ้นเป็น 2 เท่าตัวนั่นเอง (1bit=0,1) • ฉะนั้นจะเห็นได้ว่ากุญแจยิ่งมีความยาวมาก โอกาสที่ผู้บุกรุกจะสามารถคาดเดากุญแจที่ตรงกับหมายเลขที่ถูกต้องของกุญแจจะยิ่งยากมากขึ้นตามลำดับ • ทฤษฎีได้กล่าวไว้ว่าการลองผิดลองถูกนี้โดยเฉลี่ยจะต้องทดลองกับกุญแจเป็นจำนวนครึ่งหนึ่งของกุญแจทั้งหมดก่อนที่จะพบกุญแจที่ถูกต้อง • ความยาวของกุญแจที่มีขนาดเหมาะสมจึงขึ้นอยู่กับความเร็วในการค้นหากุญแจของผู้บุกรุกและระยะเวลาที่ต้องการให้ข้อมูลมีความปลอดภัย 37
ความยาวของกุญแจที่ใช้ในการเข้ารหัสความยาวของกุญแจที่ใช้ในการเข้ารหัส • ตัวอย่างเช่น • ถ้าผู้บุกรุกสามารถลองผิดลองถูกกับกุญแจเป็นจำนวน 10 กุญแจภายในหนึ่งวินาทีแล้ว กุญแจที่มีความยาว 40 บิต จะสามารถป้องกันข้อมูลไว้ได้ 3,484 ปี • ถ้าผู้บุกรุกสามารถลองได้เป็นจำนวน 1 ล้านกุญแจในหนึ่งวินาที (เทคโนโลยีปัจจุบันสามารถทำได้) กุญแจที่มีความยาว 40 บิตจะสามารถป้องกันข้อมูลไว้ได้เพียง 13 วันเท่านั้น (ซึ่งอาจไม่เพียงพอสำหรับในบางลักษณะงาน) • ด้วยเทคโนโลยีในปัจจุบันหากผู้บุกรุกสามารถทดลองได้เป็นจำนวน 1,000 ล้านกุญแจในหนึ่งวินาที กุญแจขนาด 128 บิตจะสามารถป้องกันข้อมูลไว้ได้ 1022 ปี • ดังนั้นด้วยลักษณะงานทั่วไปกุญแจขนาด 128 บิตจะพอเพียงต่อการรักษาความลับของข้อมูลเอาไว้ได้ 38
ลายมือชื่อดิจิตอล(Digital Signature) • ลายมือชื่อจะเป็นสิ่งที่ใช้ในการระบุตัวบุคคล (Authentication) และ ยังแสดงถึงเจตนาในการยอมรับเนื้อหาในสัญญานั้นๆ ซึ่งเชื่อมโยงถึง การป้องกันการปฏิเสธความรับผิดชอบ (Non-Repudiation) • สำหรับในการทำธุรกรรมทางอิเล็กทรอนิกส์นั้นจะใช้ ลายมือชื่ออิเล็กทรอนิกส์ (Electronic Signature) ซึ่งมีรูปแบบต่างๆ เช่น สิ่งที่ระบุตัวบุคคลทางชีวภาพ (ลายพิมพ์นิ้วมือ เสียง ม่านตา เป็นต้น) หรือ จะเป็นสิ่งที่มอบให้แก่บุคคลนั้นๆ ในรูปแบบของ รหัสประจำตัว 39
ข้อมูล อิเล็กทรอนิกส์ + ลายมือชื่อ อิเล็กทรอนิกส์ อักษร, อักขระ, ตัวเลข, เสียง, สัญลักษณ์ ลายมือชื่ออิเล็กทรอนิกส์ (Electronic Signatures) ข้อมูล อิเล็กทรอนิกส์ + 5F8E045AB7F8DFE12BCF6D78GAC9054DEF5E6G8E2AE67DE9F5A6543 ลายมือชื่อดิจิตอล (Digital Signatures) ชุดรหัสดิจิตอล ลายมือชื่อดิจิตอล (Digital Signatures, Digital IDs, Digital Certificates) เป็นลายมือชื่ออิเล็กทรอนิกส์ประเภทหนึ่งที่สร้างโดยวิธีการแบบปลอดภัย 40
e-mail ตัวอย่าง : ลายมือชื่ออิเล็กทรอนิกส์ e-mail 41
ลายมือชื่อดิจิตอล(Digital Signature) • ลายมือชื่อดิจิตอล (Digital Signature) คือ ข้อมูลอิเล็กทรอนิกส์ที่ได้จากการเข้ารหัสข้อมูลด้วยกุญแจส่วนตัวของผู้ส่งซึ่งเปรียบเสมือนเป็นลายมือชื่อของผู้ส่ง คุณสมบัติของลายมือชื่อดิจิตอล นอกจากจะสามารถ ระบุตัวบุคคล และ เป็นกลไกการป้องกันการปฏิเสธความรับผิดชอบแล้ว ยังสามารถป้องกันข้อมูลที่ส่งไปไม่ให้ถูกแก้ไข หรือ หากถูกแก้ไขไปจากเดิมก็สามารถล่วงรู้ได้ 42
ตัวอย่าง : ลายมือชื่อดิจิตอลเมื่อดูจาก e-mail Client 43
กระบวนการสร้างและลงลายมือชื่อดิจิตอลกระบวนการสร้างและลงลายมือชื่อดิจิตอล • เริ่มจากการนำเอาข้อมูลอิเล็กทรอนิกส์ต้นฉบับที่จะส่งไปนั้นมาผ่านกระบวนการทางคณิตศาสตร์ที่เรียกว่า ฟังก์ชันย่อยข้อมูล (Hash Function) เพื่อให้ได้ข้อมูลที่สั้นๆ ที่เรียกว่า ข้อมูลที่ย่อยแล้ว (Digest) • ทำการเข้ารหัสด้วยกุญแจส่วนตัวของผู้ส่งเอง ซึ่งจุดนี้เปรียบเสมือนการลงลายมือชื่อของผู้ส่งเพราะผู้ส่งเท่านั้นที่มีกุญแจส่วนตัวของผู้ส่งเอง และ จะได้ข้อมูลที่เข้ารหัสแล้ว เรียกว่า ลายมือชื่อดิจิตอล • จากนั้นก็ทำการส่ง ลายมือชื่อไปพร้อมกับข้อมูลต้นฉบับ ไปยังผู้รับ ผู้รับก็จะทำการตรวจสอบว่าข้อมูลที่ได้รับถูกแก้ไขระหว่างทางหรือไม่ โดยการนำข้อมูลต้นฉบับที่ได้รับ มาผ่านกระบวนการย่อยด้วย ฟังก์ชันย่อยข้อมูล จะได้ข้อมูลที่ย่อยแล้วอันหนึ่ง และ • นำลายมือชื่อดิจิตอล มาทำการถอดรหัสด้วย กุญแจสาธารณะของผู้ส่ง ก็จะได้ข้อมูลที่ย่อยแล้วอีกอันหนึ่ง แล้วทำการเปรียบเทียบ ข้อมูลที่ย่อยแล้วทั้งสองอัน ถ้าหากว่าเหมือนกัน ก็แสดงว่าข้อมูลที่ได้รับนั้นไม่ได้ถูกแก้ไข แต่ถ้าข้อมูลที่ย่อยแล้ว แตกต่างกัน ก็แสดงว่า ข้อมูลที่ได้รับถูกเปลี่ยนแปลงระหว่างทาง 44
การพิสูจน์ตัวตนโดยการใช้ลายเซ็นดิจิตอล (Digital Signature) • เป็นการนำหลักการของการทำงานของระบบการเข้ารหัสแบบใช้คู่รหัสกุญแจเพื่อการพิสูจน์ตัวตนมาประยุกต์ใช้ ระบบของลายเซ็นดิจิตอลสามารถแบ่งเป็นขั้นตอนได้ดังนี้ • เมื่อผู้ใช้ต้องการจะส่งข้อมูลไปยังผู้รับ ข้อมูลนั้นจะถูกนำไปเข้าฟังก์ชั่นทาง • คณิตศาสตร์ที่เรียกว่า "แฮชฟังก์ชัน" ได้เมสเซสไดเจสต์ (Message Digest) ออกมา 45
การพิสูจน์ตัวตนโดยการใช้ลายเซ็นดิจิตอล (Digital Signature) 2. การใช้กุญแจส่วนตัวเข้ารหัสข้อมูล หมายถึงว่าผู้ส่งได้ลงลายเซ็นดิจิตอล ยินยอมที่ จะให้ผู้รับ สามารถทำการตรวจสอบด้วยกุญแจสาธารณะของผู้ส่งเพื่อพิสูจน์ตัวตน ของผู้ส่งได้ 46
การพิสูจน์ตัวตนโดยการใช้ลายเซ็นดิจิตอล (Digital Signature) 3. การนำเมสเซจไดเจสต์มาเปรียบเทียบกัน ถ้าเหมือนกันก็แสดงว่าข้อความนั้น ยืนยันได้ว่าถูกส่งมาจากผู้ส่งคนนั้นจริง 47
ผู้ส่ง (นายดี) ผู้รับ (นายมาก) ลายมือชื่ออิเล็กทรอนิกส์ของนายดีสำหรับข้อมูล ข้อความต้นฉบับ ก. ข้อมูลต้นฉบับ ก. …จำนวนเงิน800 บาท... …จำนวนเงิน800 บาท ส่ง OpMAFOP กุญแจสาธารณะของผู้ส่ง(นายดี) 256148934147256... ฟังก์ชั่นย่อยข้อมูล ฟังก์ชั่นย่อยข้อมูล การถอดรหัส ไ ฉ ” ฅ ข7 กุญแจส่วนตัว ของผู้ส่ง (นายดี) ไ ฉ ” ฅ ข7 ไ ฉ ” ฅ ข7 123451457824784… การเข้ารหัส เปรียบเทียบ ลายมือชื่ออิเล็กทรอนิกส์ของ นายดีสำหรับข้อมูล ถ้าเหมือนกัน ข้อมูลไม่ถูกเปลี่ยนแปลง ถ้าต่างกัน ข้อมูลถูกเปลี่ยนแปลง OpMAFOP 48
ตัวอย่าง : การส่ง E-mail พร้อมลงลายมือชื่อดิจิตอล (Signing) 49
การสร้างและลงลายมือชื่อดิจิตอลการสร้างและลงลายมือชื่อดิจิตอล • ด้วยการเข้ารหัส และ ลายมือชื่อดิจิตอล ในการทำธุรกรรม เราสามารถ รักษาความลับของข้อมูล สามารถรักษาความถูกต้องของข้อมูลและ สามารถระบุตัวบุคคลได้ระดับหนึ่ง • เพื่อเพิ่มระดับความปลอดภัยในการระบุตัวบุคคลโดยสร้างความเชื่อถือมากขึ้นด้วย ใบรับรองดิจิตอล (Digital Certificate) ซึ่งออกโดยองค์กรกลางที่เป็นที่เชื่อถือ เรียกว่าองค์กรรับรองความถูกต้อง (Certification Authority) จะถูกนำมาใช้สำหรับยืนยันในตอนทำธุรกรรมว่าเป็นบุคคลนั้นๆ จริงตามที่ได้อ้างไว้ 50