sondmk header
ความปลอดภัยของระบบสารสนเทศ

บทที่ 5 การเข้ารหัสข้อมูล

5.1 การเข้ารหัสข้อมูล
การเข้ารหัสข้อมูล(Encryption) มีจุดประสงค์เพื่อ "รักษาความลับของข้อมูล" และจะถูกอ่านได้ โดย ผู้ที่ได้รับอนุญาตเท่านั้น

หลักการ คือ การแปลงข้อมูล ให้อยู่ในรูปแบบที่ไม่สามารถอ่านได้

5.1 จุดประสงค์ที่สำคัญ 3 อย่าง ของการเข้ารหัสข้อมูล
1. การทำให้ข้อมูล เป็นความลับ เพื่อป้องกันผู้ที่ไม่มีสิทธ์เข้าถึงข้อมูลได้
2. การทำให้ข้อมูล สามารถตรวจสอบความสมบูรณ์ได้เพื่อรักษาสภาพของข้อมูลให้อยู่ในสภาพเดิมอย่างสมบูรณ์ (ข้อมูล จะต้องไม่สูญหาย หรือถูกแก้ไขเปลียนแปลง) 
3. การทำให้ สามารถพิสูจน์ตัวตนของผู้ส่งข้อมูลได้ เพื่อให้ตรวจสอบได้ว่า ใครเป็นผู้ส่ง และป้องกันการแอบอ้าง

การเข้ารหัสข้อมูล คือ วิธีการเปลี่ยนแปลงข้อมูล เพื่ออยู่ในรูปแบบที่อ่านไม่ออก โดยใช้อัลกอริทึมในการเข้ารหัสเข้ามาช่วย

การถอดรหัสข้อมูล คือ วิธีการตรงกันข้ามกับการเข้ารหัสข้อมูล และใช้อัลกอริทึมเข้ามาช่วยเช่นกัน

การทำให้ข้อมูลเป็นความลับ ก็คือ การทำให้ข้อมูลนั้นสามารถอ่านได้เฉพาะบุคคลที่ได้รับอนุญาติเท่านั้น โดยการเข้ารหัสข้อมูล ก่อนที่จะทำการส่งต่อให้กับผู้ที่เราจะติดต่อด้วย

องค์ประกอบของรหัสลับ
1. ข้อความต้นฉบับ (Plain text) คือ ข้อความก่อนเข้ารหัส
2. อัลกอริทึมการเข้ารหัสลับ(Algorithm Encrypt) คือ กระบวนการที่ใช้ในการแปลงข้อมูลต้นฉบับ ให้เป็นข้อมูลที่ได้รับการเข้ารหัส
3. กุญแจลับ (Key) คือ เป็นคีย์ ที่ใช้ร่วมกับอัลกอริทึม ในการเข้าและถอดรหัส 
4. ข้อความไซเฟอร์ (Ciphertext) คือ ข้อความหรือข้อมูลที่ผ่านการเข้ารหัสเรียบร้อยแล้ว 
5. อัลกอริทึมการถอดรหัส(Algorithm Decrypt) คือ กระบวนการในการแปลงข้อความไซเฟอร์ ให้เป็นข้อความต้นฉบับโดยอาศัยกุญแจลับดอกเดียวกัน 

การเข้ารหัส แบ่งออกเป็น 2 ประเภทใหญ่ๆ คือ 
1 การเข้ารหัสแบบกุญแจ สมมาตร (Symmetric Cryptography) Secret key 
2 การเข้ารหัสแบบกุญแจ อสมมาตร (Asymmetric Cryptography) Public key

Secret key คือ การเขัารหัสข้อมูลด้วยกุญแจเดี่ยว ทั้งผู้ส่งและผู้รับ โดยผู้ส่งกับผู้รับ ต้องตกลงกันก่อน ว่าจะใช้รูปแบบไหนในการเข้ารหัสข้อมูล ซึ่งมันก็คือคีย์ (Key) เช่น การเลื่อนตัวอักษรถัดไป 1 ตำแหน่ง (จากA ให้เป็น B) เป็นต้น

ข้อดีของ Secret key คือ 
1 การเข้าและถอดรหัสข้อมูล ใช้เวลาน้อย เพราะอัลกอริทึมไม่ได้ซับซ้อน 
2 ขนาดของข้อมูลที่เข้ารหัสแล้ว มีการเปลี่ยนแปลงไม่มาก (ไม่ใหญ่ไปกว่าเดิมมาก) 

ข้อเสียของ Secret key คือ 
1 การจัดการกับ key ที่ยุ่งยาก เพราะต้องจำให้ได้ว่า ติดต่อกับ B ต้องใช้ keyไหน กับ C ต้องใช้ key ไหน 
2 การกระจายกุญแจลับ กุญแจ 1 ดอกต่อผู้รับ 1 คน ดังนั้น ถ้าติดต่อกับคนมากๆ ก็ต้องส่งกุญแจลับไปให้กับทุกคนที่ติดต่อด้วย

Asymmetric-Crypto (Public key) คือ การเข้ารหัสด้วยกุญแจคู่ (private key) และ (public key) 

หลักการ คือ ถ้าใช้กุญแจลูกใดเข้ารหัส ก็ต้องใช้อีกลูกในการถอดรหัส(ใช้ลูกเดียวกันไม่ได้) การเข้าและถอดรหัส จะใช้ Function ทางคณิตศาสรต์เข้ามาช่วย โดยฟังก์ชั่นน้้น ได้รับการพิสูจน์แล้วว่า จะมีเฉพาะคู่ของมันเท่านั้น ที่จะสามารถถอดรหัสได้ 

ข้อดีของ Asymmetric
1 จัดการกับกุญแจได้ง่าย ไม่จำเป็นต้องจำว่าใช้กุญแจคู่ไหนกับใคร ใช้แค่ private key ของตัวเองในการเข้ารหัสและถอดรหัสพอ 
2 การกระจายกุญแจลับ สามารถใช้ public key ในการเข้าและถอดรหัส และสามารถเปิดเผยให้กับใครก็ได้ที่ต้องการติดต่อด้วย 

ข้อด้อยของ Asymmetric 
1. การเข้าและถอดรหัสข้อมูล ใช้เวลามาก เพราะอัลกอริทึมค่อนข้างซับซ้อน 
2. ขนาดข้อมูล หลังการเข้ารหัส มีการเปลี่ยนแปลงมาก (ใหญ่กว่าเดิม)

5.2 ระบบรหัสลับ
ระบบรหัสลับ หรือ Cipher มีองค์ประกอบหลายส่วน เพื่อเข้ารหัสข้อมูล ประกอบด้วย อัลกอริทึม เทคนิคการจัดการข้อมูล กระบวนการ และขั้นตอนการทำงาน จะถูกผสมผสานเข้าด้วยกันเพื่อเข้ารหัสข้อมูล 

ระบบรหัสลับ (10) 1. Substitution Cipher {'โมโน'=>'แทนที่อักษร' , 'โพลี'=>'ใช้คีย์เข้าช่วย'} 2. Rail Fence Transposition Cipher 3. Columnar Transposition Cipher 4. Caesar Cipher 5. Vigenere Cipher 6. Exclustive OR 7. Vernam Cipher 8. Running Key Cipher 9. Hash Function (One-Way Function) 10. Digital Signatures 1. Substitution Cipher แบ่งเป็น 2 วิธี คือ 1 แบบโมโนอัลฟาเบติก เป็นการแทนที่ตัวอักษรด้วยคู่ของมันเอง 2 แบบโพลีอัลฟาเบติก เป็นการใช้คีย์เข้ามาช่วย ในการเข้ารหัส (plaintext แนวนอน | key แนวตั้ว) 2. Rail Fence Transposition Cipher 3. Columnar Transposition Cipher 4. Caesar Cipher 5. Vigenere Cipher 6. Exclustive OR 7. Vernam Cipher 8. Running Key Cipher 9. Hash Function (One-Way Function) 10. Digital Signatures


Framework

Library


เครื่องมือพัฒนาเว็บ



การออกแบบและพัฒนาเว็บไซต์


Download SourceCode



copyAllright © 2016 soundmk.com