Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> ฐานข้อมูล

รักษาความปลอดภัยฐานข้อมูล Oracle โดยใช้การเข้ารหัสข้อมูลแบบโปร่งใส

บล็อกนี้ครอบคลุมข้อมูลสำคัญเกี่ยวกับวิธีใช้ตัวเลือกการรักษาความปลอดภัยขั้นสูงเพื่อรักษาความปลอดภัยข้อมูลที่สำคัญภายในฐานข้อมูล Oracle® โดยใช้ Transparent DataEncryption (TDE) คุณลักษณะนี้ช่วยให้คุณสามารถเข้ารหัสคอลัมน์ฐานข้อมูลและจัดการคีย์การเข้ารหัสได้

แนะนำตัว

TDE ช่วยให้สามารถเข้ารหัสข้อมูลฐานข้อมูลที่มีความละเอียดอ่อน ซึ่งจัดเก็บไว้ในไฟล์ระบบปฏิบัติการ ให้การจัดเก็บและการจัดการคีย์การเข้ารหัสที่ปลอดภัยในโมดูลความปลอดภัยที่อยู่นอกฐานข้อมูล

ข้อมูลที่เข้ารหัสจะถูกถอดรหัสอย่างโปร่งใสสำหรับผู้ใช้ฐานข้อมูลที่สามารถเข้าถึงข้อมูลได้ TDE จัดเก็บคีย์การเข้ารหัสในโมดูลความปลอดภัยภายนอกฐานข้อมูล

เหตุใดจึงต้องใช้ TDE

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

ทางออกหนึ่งคือการเข้ารหัสข้อมูลที่ละเอียดอ่อนในฐานข้อมูลและจัดเก็บคีย์การเข้ารหัสไว้ในตำแหน่งที่แยกจากกัน หากไม่มีกุญแจ ข้อมูลที่ขโมยมาก็ไร้ค่า

TDE ทำงานอย่างไร

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

สำหรับตารางที่มีคอลัมน์ที่เข้ารหัส คีย์เข้ารหัสจะเรียกว่าคีย์เข้ารหัสคอลัมน์ คีย์การเข้ารหัสคอลัมน์ของแต่ละตารางจะถูกเข้ารหัสด้วยมาสเตอร์คีย์ของเซิร์ฟเวอร์ฐานข้อมูล คีย์การเข้ารหัสหลักถูกเก็บไว้นอกฐานข้อมูลใน Oracle Wallet

คีย์ตารางที่เข้ารหัสจะอยู่ในพจนานุกรมข้อมูล เมื่อผู้ใช้ป้อนข้อมูลลงในคอลัมน์ซึ่งถูกกำหนดเป็นเข้ารหัส Oracle จะดำเนินการดังต่อไปนี้:

  1. ดึงมาสเตอร์คีย์จากกระเป๋าสตางค์
  2. ถอดรหัสคีย์การเข้ารหัสสำหรับตารางนั้นจากพจนานุกรมข้อมูล
  3. ใช้คีย์เข้ารหัสนั้นกับค่าอินพุต
  4. เก็บข้อมูลที่เข้ารหัสไว้ในฐานข้อมูล
รักษาความปลอดภัยฐานข้อมูล Oracle โดยใช้การเข้ารหัสข้อมูลแบบโปร่งใส

แหล่งที่มาของรูปภาพ :https://docs.oracle.com/database/121/ASOAG/img/GUID-5FD3A3BB-441C-4C42-A520-1248974627B0-default.png

TDE เข้ารหัสข้อมูลในไฟล์ฐานข้อมูลต่อไปนี้:

  • ไฟล์ข้อมูล
  • บันทึกการทำซ้ำและเก็บไฟล์บันทึก
  • หน่วยความจำ
  • การสำรองไฟล์

การจัดการ Oracle Wallet

ส่วนนี้อธิบายการสร้าง เปิด และปิดกระเป๋าเงิน

สร้างกระเป๋าสตางค์

เมื่อคุณเปิดใช้งาน TDE เป็นครั้งแรก คุณต้องสร้างกระเป๋าเงินที่จัดเก็บมาสเตอร์คีย์

โดยค่าเริ่มต้น กระเป๋าเงินจะถูกสร้างขึ้นใน $ORACLE_BASE/admin/$ORACLE_SID/wallet แต่คุณสามารถตั้งค่าตำแหน่งอื่นได้โดยการระบุตำแหน่งใน sqlnet.ora ในบรรทัดต่อไปนี้:

ENCRYPTION_WALLET_LOCATION = (SOURCE =
                             (METHOD = FILE)
                             (METHOD_DATA =
                             (DIRECTORY =D:\oracle\product\Wallet)))

ถัดไป เรียกใช้คำสั่งต่อไปนี้เพื่อสร้างกระเป๋าเงิน:

ALTER SYSTEM SET ENCRYPTION KEY [certificate_ID] IDENTIFIED BY password;
รักษาความปลอดภัยฐานข้อมูล Oracle โดยใช้การเข้ารหัสข้อมูลแบบโปร่งใส
  • กระเป๋าเงิน รหัสผ่าน มีความละเอียดอ่อนตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ใส่สตริงรหัสผ่านในเครื่องหมายคำพูดคู่ (" “).

  • ใบรับรอง_ID เป็นสตริงทางเลือกที่มีตัวระบุเฉพาะของใบรับรองที่จัดเก็บไว้ในกระเป๋าเงิน Oracle คุณสามารถค้นหา acertificate_ID ได้โดยค้นหา V$WALLET มุมมองคงที่เมื่อเปิดกระเป๋าเงิน

รักษาความปลอดภัยฐานข้อมูล Oracle โดยใช้การเข้ารหัสข้อมูลแบบโปร่งใส

เปิดและปิดกระเป๋าเงิน

หลังจากที่คุณสร้างกระเป๋าเงินและตั้งรหัสผ่าน คุณจะต้องเปิดกระเป๋าเงินอย่างชัดแจ้งโดยใช้ SYS , SYSTEM , หรือ SYSDBA บัญชีทุกครั้งที่คุณเริ่มฐานข้อมูล

ตัวอย่างเช่น เรียกใช้คำสั่งต่อไปนี้:

alter system set encryption wallet open identified by "oracle12345";

สำคัญ: หากต้องการดำเนินการใดๆ กับฐานข้อมูล คุณต้องเปิดกระเป๋าเงิน

ตัวอย่างต่อไปนี้แสดงให้เห็นถึงการดำเนินการของฐานข้อมูลที่ฐานข้อมูลอยู่แต่กระเป๋าเงินถูกปิด:

alter system set encryption wallet close;
รักษาความปลอดภัยฐานข้อมูล Oracle โดยใช้การเข้ารหัสข้อมูลแบบโปร่งใส

ตอนนี้ หากคุณพยายามดึงข้อมูลจากคอลัมน์ที่เข้ารหัส ข้อความแสดงข้อผิดพลาดต่อไปนี้จะปรากฏขึ้นเนื่องจากกระเป๋าเงินปิดอยู่:

รักษาความปลอดภัยฐานข้อมูล Oracle โดยใช้การเข้ารหัสข้อมูลแบบโปร่งใส

ในการดึงข้อมูลจากคอลัมน์ที่เข้ารหัส คุณต้องเปิดกระเป๋าเงินโดยใช้คำสั่งต่อไปนี้:

alter system set encryption wallet open identified by "oracle12345";
รักษาความปลอดภัยฐานข้อมูล Oracle โดยใช้การเข้ารหัสข้อมูลแบบโปร่งใส

ตอนนี้คุณสามารถดึงข้อมูลจากคอลัมน์ที่เข้ารหัสได้เนื่องจากกระเป๋าเงินเปิดอยู่

สร้างตารางด้วยคอลัมน์ที่เข้ารหัส

ใช้คำสั่งต่อไปนี้เพื่อสร้างตารางที่มีคอลัมน์ที่เข้ารหัส:

CREATE TABLE test2 (id number,name varchar2(20),s_s_num number ENCRYPT);
รักษาความปลอดภัยฐานข้อมูล Oracle โดยใช้การเข้ารหัสข้อมูลแบบโปร่งใส

สร้างตารางโดยใช้อัลกอริทึมที่ไม่ใช่ค่าเริ่มต้นและตัวเลือก NO SALT

SALT เป็นสตริงสุ่มที่เพิ่มลงในข้อมูลก่อนที่จะเข้ารหัสเพื่อให้ปลอดภัยยิ่งขึ้นและแฮ็คได้ยากขึ้น โดยค่าเริ่มต้น TDE จะเพิ่ม SALT ให้กับข้อความที่ชัดเจนก่อนที่จะเข้ารหัส

คุณไม่สามารถสร้างและสร้างดัชนีในคอลัมน์ที่เข้ารหัสด้วยตัวเลือก SALT หากคุณต้องการเพิ่มดัชนีในคอลัมน์ที่เข้ารหัส คุณต้องใช้ NO SALToption เช่นตัวอย่างต่อไปนี้:

CREATE TABLE test3 (id number,name varchar2(20),s_s_num number ENCRYPT NO SALT,Ph_no number ENCRYPT USING '3DES168');
รักษาความปลอดภัยฐานข้อมูล Oracle โดยใช้การเข้ารหัสข้อมูลแบบโปร่งใส

ที่นี่ S_S_NUM คอลัมน์ถูกเข้ารหัสด้วยตัวเลือก NO SALT และ PH_NO คอลัมน์ถูกสร้างขึ้นด้วยตัวเลือก SALT เริ่มต้น

ตัวอย่างต่อไปนี้แสดงว่าคุณไม่สามารถสร้างดัชนีบน PH_NO เนื่องจากคุณสร้างด้วยตัวเลือก SALT โดยค่าเริ่มต้น

รักษาความปลอดภัยฐานข้อมูล Oracle โดยใช้การเข้ารหัสข้อมูลแบบโปร่งใส

เข้ารหัสคอลัมน์ในตารางที่มีอยู่

คำสั่งต่อไปนี้เข้ารหัสคอลัมน์ในตารางที่มีอยู่:

ALTER TABLE test1 ADD (ssn VARCHAR2(11) ENCRYPT);
รักษาความปลอดภัยฐานข้อมูล Oracle โดยใช้การเข้ารหัสข้อมูลแบบโปร่งใส

ปิดใช้งานการเข้ารหัสในคอลัมน์

คำสั่งต่อไปนี้ปิดใช้งานการเข้ารหัสในคอลัมน์:

ALTER TABLE test1 MODIFY (ssn DECRYPT);
รักษาความปลอดภัยฐานข้อมูล Oracle โดยใช้การเข้ารหัสข้อมูลแบบโปร่งใส

ข้อจำกัดในการใช้ TDE

โปรดคำนึงถึงข้อจำกัดต่อไปนี้เกี่ยวกับการใช้ TDE:

  • คุณไม่สามารถสร้างดัชนีอื่นใดนอกจาก B-tree ในคอลัมน์ที่เข้ารหัสได้
รักษาความปลอดภัยฐานข้อมูล Oracle โดยใช้การเข้ารหัสข้อมูลแบบโปร่งใส
  • ไม่อนุญาตให้เข้ารหัสบนวัตถุขนาดใหญ่ภายนอก (BFILE)
รักษาความปลอดภัยฐานข้อมูล Oracle โดยใช้การเข้ารหัสข้อมูลแบบโปร่งใส
  • คุณไม่สามารถดำเนินการนำเข้าหรือส่งออกได้หากกระเป๋าเงินถูกปิด

ข้อผิดพลาดเนื่องจากกระเป๋าเงินถูกปิด

รักษาความปลอดภัยฐานข้อมูล Oracle โดยใช้การเข้ารหัสข้อมูลแบบโปร่งใส

สำเร็จเพราะกระเป๋าเงินเปิดอยู่

รักษาความปลอดภัยฐานข้อมูล Oracle โดยใช้การเข้ารหัสข้อมูลแบบโปร่งใส

บทสรุป

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

ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม

เพิ่มประสิทธิภาพสภาพแวดล้อมของคุณด้วยการดูแลระบบ การจัดการ และการกำหนดค่าจากผู้เชี่ยวชาญ

บริการแอปพลิเคชันของ Rackspace(RAS) ผู้เชี่ยวชาญจะให้บริการแบบมืออาชีพและที่มีการจัดการในแอปพลิเคชันที่หลากหลาย:

  • แพลตฟอร์มอีคอมเมิร์ซและประสบการณ์ดิจิทัล
  • การวางแผนทรัพยากรองค์กร (ERP)
  • ระบบธุรกิจอัจฉริยะ
  • การจัดการลูกค้าสัมพันธ์ของ Salesforce (CRM)
  • ฐานข้อมูล
  • อีเมลโฮสติ้งและประสิทธิภาพการทำงาน

เราจัดส่ง:

  • ความเชี่ยวชาญที่เป็นกลาง :เราลดความซับซ้อนและเป็นแนวทางในการสร้างสรรค์สิ่งใหม่ของคุณ โดยมุ่งเน้นที่ความสามารถที่มอบคุณค่าในทันที
  • ประสบการณ์สุดคลั่ง ™:เรารวมกระบวนการก่อน เทคโนโลยีที่สอง®แนวทางพร้อมการสนับสนุนทางเทคนิคเฉพาะเพื่อมอบโซลูชันที่ครอบคลุม
  • ผลงานที่ยอดเยี่ยม :เราใช้ประสบการณ์ระบบคลาวด์ที่ครอบคลุมเพื่อช่วยคุณเลือกและปรับใช้เทคโนโลยีที่เหมาะสมบนระบบคลาวด์ที่เหมาะสม
  • ส่งไว :เราพบคุณในที่ที่คุณอยู่ในการเดินทางของคุณและปรับความสำเร็จของเราไปพร้อมกับคุณ

แชทเลยเพื่อเริ่มต้น