DDBMS - ความปลอดภัยของฐานข้อมูลและการเข้ารหัส

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

ความปลอดภัยและภัยคุกคามของฐานข้อมูล

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

ภัยคุกคามในฐานข้อมูล

  • Availability loss - การสูญเสียความพร้อมใช้งานหมายถึงความไม่พร้อมใช้งานของวัตถุฐานข้อมูลโดยผู้ใช้ที่ถูกต้อง

  • Integrity loss- การสูญเสียความสมบูรณ์เกิดขึ้นเมื่อมีการดำเนินการที่ไม่สามารถยอมรับได้บนฐานข้อมูลไม่ว่าโดยบังเอิญหรือเป็นอันตราย สิ่งนี้อาจเกิดขึ้นขณะสร้างแทรกอัปเดตหรือลบข้อมูล ส่งผลให้ข้อมูลเสียหายนำไปสู่การตัดสินใจที่ไม่ถูกต้อง

  • Confidentiality loss- การสูญเสียการรักษาความลับเกิดขึ้นเนื่องจากการเปิดเผยข้อมูลที่เป็นความลับโดยไม่ได้รับอนุญาตหรือไม่ได้ตั้งใจ อาจส่งผลให้เกิดการกระทำที่ผิดกฎหมายการคุกคามด้านความปลอดภัยและการสูญเสียความเชื่อมั่นของประชาชน

มาตรการควบคุม

มาตรการควบคุมแบ่งออกเป็นประเภทกว้าง ๆ ได้ดังต่อไปนี้ -

  • Access Control- การควบคุมการเข้าถึงรวมถึงกลไกการรักษาความปลอดภัยในระบบการจัดการฐานข้อมูลเพื่อป้องกันการเข้าถึงโดยไม่ได้รับอนุญาต ผู้ใช้สามารถเข้าถึงฐานข้อมูลได้หลังจากล้างขั้นตอนการเข้าสู่ระบบผ่านบัญชีผู้ใช้ที่ถูกต้องเท่านั้น บัญชีผู้ใช้แต่ละบัญชีได้รับการป้องกันด้วยรหัสผ่าน

  • Flow Control- ระบบแบบกระจายครอบคลุมการไหลของข้อมูลจำนวนมากจากไซต์หนึ่งไปยังอีกไซต์หนึ่งและภายในไซต์ด้วย การควบคุมโฟลว์ป้องกันไม่ให้ถ่ายโอนข้อมูลในลักษณะที่สามารถเข้าถึงได้โดยเอเจนต์ที่ไม่ได้รับอนุญาต นโยบายการไหลจะแสดงช่องทางที่ข้อมูลสามารถไหลได้ นอกจากนี้ยังกำหนดคลาสการรักษาความปลอดภัยสำหรับข้อมูลและธุรกรรม

  • Data Encryption- การเข้ารหัสข้อมูลหมายถึงการเข้ารหัสข้อมูลเมื่อต้องสื่อสารข้อมูลที่ละเอียดอ่อนผ่านช่องทางสาธารณะ แม้ว่าตัวแทนที่ไม่ได้รับอนุญาตจะสามารถเข้าถึงข้อมูลได้ แต่เขาก็ไม่สามารถเข้าใจได้เนื่องจากอยู่ในรูปแบบที่ไม่สามารถเข้าใจได้

Cryptography คืออะไร?

Cryptography เป็นศาสตร์แห่งการเข้ารหัสข้อมูลก่อนส่งผ่านเส้นทางการสื่อสารที่ไม่น่าเชื่อถือเพื่อให้มีเพียงผู้รับที่ได้รับอนุญาตเท่านั้นที่สามารถถอดรหัสและใช้งานได้

มีการเรียกข้อความรหัส cipher text และมีการเรียกข้อความต้นฉบับ plain text. กระบวนการแปลงข้อความธรรมดาเป็นข้อความเข้ารหัสโดยผู้ส่งเรียกว่าการเข้ารหัสหรือencryption. กระบวนการแปลงข้อความรหัสเป็นข้อความธรรมดาโดยผู้รับเรียกว่าการถอดรหัสหรือdecryption.

ขั้นตอนทั้งหมดของการสื่อสารโดยใช้การเข้ารหัสสามารถแสดงผ่านแผนภาพต่อไปนี้ -

วิธีการเข้ารหัสทั่วไป

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

ความปลอดภัยในการเข้ารหัสแบบเดิมขึ้นอยู่กับสองปัจจัย -

  • อัลกอริทึมเสียงที่ทุกคนรู้จักกันดี

  • คีย์ลับที่สร้างขึ้นแบบสุ่มโดยเฉพาะอย่างยิ่งคีย์ลับแบบยาวที่ผู้ส่งและผู้รับรู้จักเท่านั้น

อัลกอริธึมการเข้ารหัสแบบเดิมที่มีชื่อเสียงที่สุดคือ Data Encryption Standard หรือ DES.

ข้อดีของวิธีนี้คือใช้งานง่าย อย่างไรก็ตามปัญหาที่ยิ่งใหญ่ที่สุดของการเข้ารหัสแบบเดิมคือการแบ่งปันคีย์ลับระหว่างฝ่ายสื่อสาร วิธีการส่งคีย์นั้นยุ่งยากและเสี่ยงต่อการดักฟังอย่างมาก

การเข้ารหัสคีย์สาธารณะ

ในทางตรงกันข้ามกับการเข้ารหัสทั่วไปการเข้ารหัสคีย์สาธารณะจะใช้คีย์ที่แตกต่างกันสองแบบซึ่งเรียกว่าคีย์สาธารณะและคีย์ส่วนตัว ผู้ใช้แต่ละคนจะสร้างคีย์สาธารณะและคีย์ส่วนตัว จากนั้นผู้ใช้วางคีย์สาธารณะในที่ที่สามารถเข้าถึงได้ เมื่อผู้ส่งต้องการส่งข้อความเขาจะเข้ารหัสโดยใช้คีย์สาธารณะของผู้รับ เมื่อได้รับข้อความที่เข้ารหัสผู้รับจะถอดรหัสโดยใช้คีย์ส่วนตัวของเขา เนื่องจากคีย์ส่วนตัวไม่เป็นที่รู้จักของใครนอกจากผู้รับจึงไม่มีบุคคลอื่นที่ได้รับข้อความสามารถถอดรหัสได้

อัลกอริธึมการเข้ารหัสคีย์สาธารณะที่ได้รับความนิยมมากที่สุดคือ RSA อัลกอริทึมและ Diffie– Hellmanอัลกอริทึม วิธีนี้ปลอดภัยมากในการส่งข้อความส่วนตัว อย่างไรก็ตามปัญหาคือมันเกี่ยวข้องกับการคำนวณจำนวนมากดังนั้นจึงพิสูจน์ได้ว่าไม่มีประสิทธิภาพสำหรับข้อความยาว ๆ

วิธีแก้ปัญหาคือการใช้การเข้ารหัสคีย์สาธารณะร่วมกัน คีย์ลับถูกเข้ารหัสโดยใช้การเข้ารหัสคีย์สาธารณะก่อนที่จะแชร์ระหว่างฝ่ายสื่อสาร จากนั้นข้อความจะถูกส่งโดยใช้การเข้ารหัสแบบเดิมโดยใช้คีย์ลับที่แชร์

ลายเซ็นดิจิทัล

Digital Signature (DS) เป็นเทคนิคการพิสูจน์ตัวตนโดยอาศัยการเข้ารหัสคีย์สาธารณะที่ใช้ในแอปพลิเคชันอีคอมเมิร์ซ มันเชื่อมโยงเครื่องหมายเฉพาะกับบุคคลภายในเนื้อความของข้อความของเขา วิธีนี้ช่วยให้ผู้อื่นตรวจสอบสิทธิ์ผู้ส่งข้อความที่ถูกต้อง

โดยปกติลายเซ็นดิจิทัลของผู้ใช้จะแตกต่างกันไปในแต่ละข้อความเพื่อรักษาความปลอดภัยจากการปลอมแปลง วิธีการมีดังนี้ -

  • ผู้ส่งรับข้อความคำนวณการสรุปข้อความของข้อความและเซ็นชื่อย่อยด้วยคีย์ส่วนตัว

  • จากนั้นผู้ส่งจะต่อท้ายไดเจสต์ที่เซ็นชื่อพร้อมกับข้อความธรรมดา

  • ข้อความถูกส่งผ่านช่องทางการสื่อสาร

  • ผู้รับจะลบไดเจสต์ที่ลงนามต่อท้ายและตรวจสอบไดเจสต์โดยใช้คีย์สาธารณะที่เกี่ยวข้อง

  • จากนั้นผู้รับจะรับข้อความธรรมดาและเรียกใช้ผ่านอัลกอริธึมการย่อยข้อความเดียวกัน

  • หากผลลัพธ์ของขั้นตอนที่ 4 และขั้นตอนที่ 5 ตรงกันแสดงว่าผู้รับทราบว่าข้อความมีความสมบูรณ์และเป็นของจริง