CSDL Oracle phiờn bản 10g sử dụng cơ chế xỏc thực, quyền hạn, và kiểm tra để bảo đảm sự an toàn dữ liệu trong CSDL nhƣng khụng phải trong cỏc tệp tin hệ điều hành nơi dữ liệu đƣợc lƣu trữ. Để bảo vệ dữ liệu, Oracle 10g cung cấp chức năng mó hoỏ dữ liệu. Chức năng này cho phộp ngƣời dựng cú thể bảo vệ dữ liệu nhạy cảm trong cỏc cột dữ liệu cỏch mó hoỏ chỳng và khoỏ mó hoỏ đƣợc lƣu trữ trờn một module mở rộng.
Oracle cung cấp những cụng cụ cho phộp ngƣời dựng cú thể mó hoỏ những dữ liệu nhạy cảm đơn giản và dễ dàng mà khụng cần cú một ngƣời nào đú hay một ứng dụng để quản lý mó khoỏ và khụng tạo ra cỏc khung nhỡn dữ liệu giải mó vỡ dữ liệu đƣợc giải mó trong suốt đối với mỗi ngƣời dựng cú quyền trờn dữ liệu đú.
- 58 -
III.3.1.1. Cơ chế mó hoỏ dữ liệu của Oracle[12]
Mó hoỏ dữ liệu là hệ thống điều khiển truy cập dựa trờn khoỏ. Cho dự dữ liệu đó mó hoỏ cú thể lấy ra, cũng khụng thể hiểu đƣợc nếu khụng đƣợc giải mó dữ liệu đú. Dữ liệu sẽ đƣợc tự động thực hiện giải mó cho ngƣời dựng cú quyền truy cập.
Khi một bảng chứa cỏc cột dữ liệu mó hoỏ, một khoỏ đơn sẽ đƣợc sử dụng mà khụng phụ thuộc vào số lƣợng cột mó hoỏ dữ liệu. Cỏc khoỏ của tất cả cỏc bảng chứa cỏc cột dữ liệu mó hoỏ đƣợc mó hoỏ bằng khoỏ chớnh của mỏy chủ CSDL và đƣợc lƣu trữ trờn bàng từ điển. Khụng khoỏ nào đƣợc lƣu trữ dƣới dạng tƣờng minh.
Khoỏ chớnh của mỏy chủ đƣợc lƣu trữ trong một module bảo mật mở rộng ở bờn ngoài CSDL và chỉ duy nhất ngƣời quản trị bảo mật mới cú thể truy cập đến nú. Oracle sử dụng Oracle wallet để quản lý mụđun mở rộng. Ngoài chức năng lƣu trữ cỏc khoỏ chớnh. Oracle wallet cũng đƣợc sử dụng để tạo ra cỏc khoỏ mó hoỏ và thực hiện mó hoỏ và giải mó.
- 59 -
Việc sử dụng module bảo mật mở rộng tỏch biệt với cỏc chức năng gốc chớnh của hệ CSDL đó phõn chia trỏch nhiệm giữa ngƣời quản trị CSDL và ngƣời quản trị bảo mật. Bảo mật nhờ đú đƣợc nõng cao hơn vỡ khụng cú ngƣời duy nhất nào cú toàn quyền trờn toàn bộ dữ liệu.
III.3.1.2. Cỏc thuật toỏn mó hoỏ dữ liệu Oracle sử dụng
Thụõt toỏn mó hoỏ mặc định đƣợc sử dụng để mó hoỏ dữ liệu là thuật toỏn AES với 192 bit khoỏ. Sau đõy là những thuật toỏn đƣợc Oracle cung cấp để mó hoỏ dữ liệu trong cơ sở dữ liệu:
Thuật toỏn Kớch cỡ khoỏ Tờn tham số
3DES 168 bit 3DES168
AES 128 bit AES128
AES 192 bit AES192 (mặc định)
AES 256 bit AES256
Bảng 3.2:Cỏc thuật toỏn mó hoỏ dữ liệu trong CSDL
III.3.1.3. Tỏc động của mó hoỏ dữ liệu đối với việc thực thi
Tốc độ thực thi của hệ thống chỉ bị ảnh hƣởng khi dữ liệu đƣợc khi cú thao tỏc trờn cột dữ liệu mó hoỏ. Nú khụng làm ảnh hƣởng đến tốc độ thực thi khi cú những thao tỏc trờn cỏc cột khỏc ngay cả trờn cỏc bảng chứa cỏc cột dữ liệu mó hoỏ. Trong trƣờng hợp mó hoỏ dữ liệu trờn tất cả cỏc hàng trong bảng tại một cột dữ liệu cú thể là nguyờn nhõn để bảng khụng thể truy cập đƣợc khi quỏ trỡnh mó hoỏ sử dụng. Trong trƣờng hợp này cú thể sử dụng Online Redefinition để cho phộp mó hoỏ dữ liệu nhƣng cũng đồng thời cho phộp bảng dữ liệu vẫn sẵn sàng trong khi quỏ trỡnh mó hoỏ đƣợc thực hịờn.
Sự tỏc động đến redo log khi cập nhật toàn bộ trờn những bảng cú kớch thƣớc lớn cũng phải đƣợc quan tõm. Nếu mó hoỏ dữ liệu trờn một bảng cú kớch thƣớc lớn, thỡ khi đú kớch thƣớc của redo log phải đƣợc tăng lờn đỏp ứng đƣợc thao tỏc xử lý.
- 60 -
III.3.2Cỏc vấn đề cần cõn nhắc khi sử dụng mó hoỏ
Truy cập vào dữ liệu mó hoỏ cú thể
- Cụng khai
- Đƣợc điều khiển bởi cỏc chuẩn xỏc thực và cỏc chớnh sỏch và thủ
tục đƣợc phộp
- Đƣợc điều khiển bởi cỏ nhõn ngƣời dựng đƣợc gỏn quyền truy cập
Ngƣời quản trị bảo mật cần phải xỏc định mức độ rủi ro và mức độ mức độ nhạy cảm của dữ liệu đƣợc duy trỡ trờn cỏc site để lựa chọn một phƣơng phỏp bảo mật thớch hợp nhất cho hệ CSDL của mỡnh.
Vấn đề về bảo mật cần đƣợc quan tõm thờm khi dữ liệu mó hoỏ đƣợc truyền trờn mạng. Cỏc cột dữ liệu mó hoỏ đƣợc mó hoỏ trong cỏc file dữ liệu, undolog và redolog cũng nhƣ trờn cỏc bộ nhớ đệm trong khu vực SGA. Tuy nhiờn trong suốt quỏ trỡnh giải mó làm cho nú cú khả năng thể hiện cỏc dữ liệu giải mó trờn cỏc file tạm trờn đĩa cứng, cú khả năng thể hiện cho những ngƣời dựng cú quyền trờn hệ điều hành.
III.3.3Mó hoỏ dữ liệu và tỏi tạo dữ liệu trong mụi trƣờng phõn tỏn
SQL*Loader, Dataguard và import/export là những phƣơng phỏp cho phộp vận chuyển cỏc bảng cú cột dữ liệu mó hoỏ. Chỳng tin tƣởng rằng sử dụng mật khẩu an toàn sẽ bảo vệ đƣợc dữ liệu trong suốt thời gian vận chuyển dữ liệu. Khi dữ liệu đƣợc khụi phục lại tại điểm nhận ngay lập tức sẽ đƣợc khoỏ lại với khoỏ chớnh cục bộ của vị trớ mới. Khi quỏ trỡnh tỏi tạo đƣợc thực hiện thụng qua cỏc cõu lệnh SQL, thụng tin mụ tả sự cập nhật đƣợc thực hiện dƣới dạng mó mỏy (khụng phải mó hoỏ) trong dạng dữ liệu LOB và đƣợc duy trỡ trong hàng đợi trong một khoảng thời gian. Trong khi ở hàng đợi dữ liệu sẽ khụng đƣợc bảo vệ. Để giảm những rủi ro, cấu hỡnh sự tỏi tạo sao cho thụng tin lƣu trữ trong bảng mó hoỏ khụng đợi ở hàng đợi quỏ lõu
- 61 -
III.3.4Một số từ điển phục vụ mó hoỏ dữ liệu
- DBA_ENCRYPTED_COLUMNS
- ALL_ENCRYPTED_COLUMN
- USER_ENCRYPTED_COLUMNS