Computer >> Máy Tính >  >> Lập trình >> Cơ sở dữ liệu

Bảo mật cơ sở dữ liệu Oracle bằng cách sử dụng Mã hóa dữ liệu minh bạch

Blog này trình bày những điều cơ bản về cách sử dụng tùy chọn bảo mật nâng cao để bảo mật dữ liệu nhạy cảm trong cơ sở dữ liệu Oracle® bằng cách sử dụng Mã hóa dữ liệu minh bạch (TDE). Tính năng này cho phép bạn mã hóa các cột cơ sở dữ liệu và quản lý khóa mã hóa.

Giới thiệu

TDE cho phép mã hóa dữ liệu cơ sở dữ liệu nhạy cảm, được lưu trữ trong các tệp hệ thống điều hành. Nó cung cấp khả năng lưu trữ và quản lý an toàn các khóa mã hóa trong một mô-đun bảo mật nằm bên ngoài cơ sở dữ liệu.

Dữ liệu được mã hóa được giải mã một cách minh bạch cho người dùng cơ sở dữ liệu có quyền truy cập vào dữ liệu. TDE lưu trữ các khóa mã hóa trong một mô-đun bảo mật bên ngoài cơ sở dữ liệu.

Tại sao sử dụng TDE?

Nếu kẻ trộm ăn cắp các băng sao lưu của cơ sở dữ liệu và khôi phục nó trên máy chủ của chúng, chúng có quyền truy cập vào dữ liệu nhạy cảm nhất của công ty. Đây là rủi ro không thể chấp nhận được. Hầu hết các quy định và hướng dẫn của công ty đều coi việc bảo vệ dữ liệu cơ sở dữ liệu là một yêu cầu tuân thủ. Làm cách nào bạn có thể bảo vệ cơ sở dữ liệu của mình khỏi lỗ hổng này?

Một giải pháp là mã hóa dữ liệu nhạy cảm trong cơ sở dữ liệu và lưu trữ các khóa mã hóa ở một vị trí riêng biệt. Nếu không có chìa khóa, mọi dữ liệu bị đánh cắp đều không có giá trị.

TDE hoạt động như thế nào?

TDE là một hệ thống kiểm soát truy cập dựa trên chìa khóa. Ngay cả khi dữ liệu đã mã hóa được truy xuất, thì việc giải mã được ủy quyền cũng vô ích nếu không có sự giải mã được ủy quyền, điều này xảy ra tự động đối với những người dùng được ủy quyền truy cập vào bảng.

Đối với các bảng chứa các cột được mã hóa, khóa mã hóa được gọi là khóa mã hóa cột. Khóa mã hóa cột của mỗi bảng được mã hóa bằng khóa chính của máy chủ cơ sở dữ liệu. Khóa mã hóa chính được lưu trữ bên ngoài cơ sở dữ liệu trong Oracle Wallet.

Các khóa bảng được mã hóa được đặt trong từ điển dữ liệu. Khi người dùng nhập dữ liệu vào cột này được xác định là đã mã hóa, Oracle sẽ thực hiện các tác vụ sau:

  1. Nó truy xuất khóa chính từ ví.
  2. Nó giải mã khóa mã hóa cho bảng đó từ từ điển dữ liệu.
  3. Nó sử dụng khóa mã hóa đó trên giá trị đầu vào.
  4. Nó lưu trữ dữ liệu được mã hóa trong cơ sở dữ liệu.
Bảo mật cơ sở dữ liệu Oracle bằng cách sử dụng Mã hóa dữ liệu minh bạch

Nguồn hình ảnh :https://docs.oracle.com/database/121/ASOAG/img/GUID-5FD3A3BB-441C-4C42-A520-1248974627B0-default.png

TDE mã hóa dữ liệu trong các tệp cơ sở dữ liệu sau:

  • Tệp dữ liệu
  • Làm lại nhật ký và lưu trữ các tệp nhật ký
  • Bộ nhớ
  • Bản sao lưu tệp

Quản lý Ví Oracle

Phần này mô tả việc tạo, mở và đóng ví.

Tạo ví

Khi bạn bật TDE lần đầu tiên, bạn phải tạo ví nơi lưu trữ khóa chính.

Theo mặc định, ví được tạo trong $ ORACLE_BASE / admin / $ ORACLE_SID / wallet , nhưng bạn có thể đặt một vị trí khác bằng cách chỉ định vị trí đó trong sqlnet.ora trong các dòng tiếp theo:

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

Tiếp theo, chạy lệnh sau để tạo ví:

ALTER SYSTEM SET ENCRYPTION KEY [certificate_ID] IDENTIFIED BY password;
Bảo mật cơ sở dữ liệu Oracle bằng cách sử dụng Mã hóa dữ liệu minh bạch
  • Mật khẩu của ví phân biệt chữ hoa chữ thường. Đặt chuỗi mật khẩu trong dấu ngoặc kép ("“).

  • certificate_ID là một chuỗi tùy chọn chứa mã định danh duy nhất của chứng chỉ được lưu trữ trong ví Oracle. Bạn có thể tìm kiếm acertificate_ID bằng cách truy vấn V $ WALLET chế độ xem cố định khi ví mở.

Bảo mật cơ sở dữ liệu Oracle bằng cách sử dụng Mã hóa dữ liệu minh bạch

Mở và đóng ví

Sau khi tạo ví và đặt mật khẩu, bạn cần mở walletexp một cách rõ ràng bằng cách sử dụng SYS , SYSTEM hoặc SYSDBA tài khoản mỗi khi bạn khởi động cơ sở dữ liệu.

Ví dụ:chạy lệnh sau:

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

Quan trọng: Để thực hiện bất kỳ hành động nào trên cơ sở dữ liệu, bạn phải mở ví.

Ví dụ sau minh họa một thao tác cơ sở dữ liệu trong đó cơ sở dữ liệu được khởi động nhưng ví bị đóng:

alter system set encryption wallet close;
Bảo mật cơ sở dữ liệu Oracle bằng cách sử dụng Mã hóa dữ liệu minh bạch

Bây giờ, nếu bạn cố gắng truy xuất dữ liệu từ một cột được mã hóa, thông báo lỗi sau sẽ hiển thị vì ví đã bị đóng:

Bảo mật cơ sở dữ liệu Oracle bằng cách sử dụng Mã hóa dữ liệu minh bạch

Để truy xuất dữ liệu từ một cột được mã hóa, bạn cần mở một ví bằng cách sử dụng lệnh sau:

alter system set encryption wallet open identified by "oracle12345";
Bảo mật cơ sở dữ liệu Oracle bằng cách sử dụng Mã hóa dữ liệu minh bạch

Giờ đây, bạn có thể truy xuất dữ liệu từ các cột được mã hóa vì ví đang mở.

Tạo bảng với cột được mã hóa

Sử dụng lệnh sau để tạo bảng có cột được mã hóa:

CREATE TABLE test2 (id number,name varchar2(20),s_s_num number ENCRYPT);
Bảo mật cơ sở dữ liệu Oracle bằng cách sử dụng Mã hóa dữ liệu minh bạch

Tạo bảng bằng thuật toán không mặc định và tùy chọn KHÔNG MUỐI

SALT là một chuỗi ngẫu nhiên được thêm vào dữ liệu trước khi nó được mã hóa để đảm bảo an toàn hơn và khó bị hack hơn. Theo mặc định, TDE thêm SALT vào văn bản rõ ràng trước khi mã hóa nó.

Bạn không thể tạo và lập chỉ mục trên cột được mã hóa bằng tùy chọn SALT. Nếu bạn muốn thêm chỉ mục trên cột được mã hóa, bạn phải sử dụng KHÔNG CÓ SALToption, chẳng hạn như ví dụ sau:

CREATE TABLE test3 (id number,name varchar2(20),s_s_num number ENCRYPT NO SALT,Ph_no number ENCRYPT USING '3DES168');
Bảo mật cơ sở dữ liệu Oracle bằng cách sử dụng Mã hóa dữ liệu minh bạch

Đây, S_S_NUM được mã hóa bằng tùy chọn KHÔNG MUỐI và PH_NO cột được tạo bằng tùy chọn SALT mặc định.

Ví dụ sau cho thấy rằng bạn không thể tạo chỉ mục trên PH_NO vì bạn đã tạo nó bằng tùy chọn SALT theo mặc định.

Bảo mật cơ sở dữ liệu Oracle bằng cách sử dụng Mã hóa dữ liệu minh bạch

Mã hóa các cột trong bảng hiện có

Lệnh sau mã hóa một cột trong bảng hiện có:

ALTER TABLE test1 ADD (ssn VARCHAR2(11) ENCRYPT);
Bảo mật cơ sở dữ liệu Oracle bằng cách sử dụng Mã hóa dữ liệu minh bạch

Tắt mã hóa trên một cột

Lệnh sau vô hiệu hóa mã hóa trên một cột:

ALTER TABLE test1 MODIFY (ssn DECRYPT);
Bảo mật cơ sở dữ liệu Oracle bằng cách sử dụng Mã hóa dữ liệu minh bạch

Hạn chế sử dụng TDE

Hãy ghi nhớ các hạn chế sau khi sử dụng TDE:

  • Bạn không thể tạo bất kỳ chỉ mục nào ngoài cây B trên một cột được mã hóa.
Bảo mật cơ sở dữ liệu Oracle bằng cách sử dụng Mã hóa dữ liệu minh bạch
  • Mã hóa không được phép trên các đối tượng lớn bên ngoài (BFILE).
Bảo mật cơ sở dữ liệu Oracle bằng cách sử dụng Mã hóa dữ liệu minh bạch
  • Bạn không thể thực hiện các thao tác nhập hoặc xuất nếu ví bị đóng.

Lỗi vì ví bị đóng

Bảo mật cơ sở dữ liệu Oracle bằng cách sử dụng Mã hóa dữ liệu minh bạch

Thành công vì ví được mở

Bảo mật cơ sở dữ liệu Oracle bằng cách sử dụng Mã hóa dữ liệu minh bạch

Kết luận

Nếu bạn cần bảo mật dữ liệu nhạy cảm khỏi truy cập trái phép hoặc cửa sau, hãy sử dụng tùy chọn bảo mật TDE. Tính năng này cho phép bạn cung cấp mã hóa dữ liệu và tuân thủ ngay lập tức mà không cần mã hóa và quản lý khóa phức tạp. Do đó, nó cho phép bạn tập trung vào các nỗ lực chiến lược hơn.

Sử dụng tab Phản hồi để đưa ra bất kỳ nhận xét nào hoặc đặt câu hỏi.

Tối ưu hóa môi trường của bạn với quản trị, quản lý và cấu hình chuyên gia

Dịch vụ ứng dụng của Rackspace (RAS) các chuyên gia cung cấp các dịch vụ chuyên nghiệp và được quản lý sau trên nhiều danh mục ứng dụng:

  • nền tảng Thương mại điện tử và Trải nghiệm Kỹ thuật số
  • Hoạch định Nguồn lực Doanh nghiệp (ERP)
  • Kinh doanh Thông minh
  • Quản lý quan hệ khách hàng của Salesforce (CRM)
  • Cơ sở dữ liệu
  • Lưu trữ Email và Năng suất

Chúng tôi cung cấp:

  • Chuyên môn không thiên vị :Chúng tôi đơn giản hóa và hướng dẫn hành trình hiện đại hóa của bạn, tập trung vào các khả năng mang lại giá trị tức thì.
  • Trải nghiệm cuồng tín ™:Chúng tôi kết hợp một Quy trình trước. Công nghệ thứ hai. Tiếp cận với hỗ trợ kỹ thuật chuyên dụng để cung cấp các giải pháp toàn diện.
  • Danh mục đầu tư vô song :Chúng tôi áp dụng nhiều kinh nghiệm về đám mây để giúp bạn lựa chọn và triển khai công nghệ phù hợp trên đám mây phù hợp.
  • Phân phối nhanh :Chúng tôi đáp ứng bạn ở nơi bạn đang ở trong hành trình và thành công vượt bậc với bạn.

Trò chuyện ngay bây giờ để bắt đầu.