+ Mô hình ngữ cảnh chung:
Xây dựng chương trình mã hoá dữ liệu trước khi lưu trữ CSDL và truy vấn CSDL trên dữ liệu mã. Phương pháp đề xuất là dùng máy chủ trung gian (proxy) để mã hoá/ giải mã dữ liệu khi truy vấn. Hoạt động mã hóa và giải mã hoàn toàn trong suốt với người dùng
33
trong quá trình truy vấn dữ liệu và không gây ra ảnh hưởng lớn đến hiệu năng của hệ thống ở mức độ có thể nhận biết bằng trực quan thông thường.
Hình 21. Mô hình ngữ cảnh chung hệ thống bảo mật CSDL
+ Kiến trúc tổng quan:
Kiến trúc tổng quan của hệ thống bảo mật CSDL được xây dựng sẽ bao gồm ba lớp: Lớp trình diễn (Presentation layer);
Lớp trung gian (Proxy layer); Lớp CSDL (Database layer).
• Lớp trình diễn (Presentation layer):
Lớp trình diễn là lớp chạy các ứng dụng để truy xuất đến CSDL mã hoá. Có hai loại ứng dụng là ứng dựng web chạy trên trình duyệt (web browser) và ứng dụng thực thi (Software application). Các ứng dụng này chạy trên máy người dùng và đóng vai trò là lớp giao tiếp giữa người dùng và CSDL mã hoá thông qua lớp trung gian (Proxy layer). Các giao tiếp người dùng được điều khiển thông qua một giao diện người dùng (Graphical User Interface - GUI). Các sự kiện từ GUI sẽ được truyền xuống cho các chức năng như: Tạo khoá, quản lý khoá, tạo CSDL, thêm, sửa, xoá dữ liệu, truy vấn trên dữ liệu mã hoá. Các chức năng này sẽ sử dụng các API của proxy layer để thực hiện các nhiệm vụ tương ứng của chúng.
• Lớp trung gian (Proxy layer):
Lớp trung gian cung cấp các API (Application Programming Interface) chuyển đổi câu truy vấn của người dùng để có thể thực hiện truy vấn dữ liệu trên mã hóa. Proxy layer nằm ở một máy chủ riêng biệt, độc lập với máy người dùng và máy chủ lưu trữ CSDL. Do đó, Proxy layer sẽ không ảnh hưởng đến hiệu năng của máy chủ CSDL.
Trong các bộ phần mềm được xây dựng, sẽ có nhiều loại API: tạo bảng (Create), thêm (Insert), sửa (Update), xoá (Delete) dữ liệu mã hoá trên CSDL; API tạo, quản lý và thay đổi khoá của dữ liệu (API Key manager). Các API sử dụng các thư viện mã hoá (Crypto library), trong đó, thư viện mã hoá cài đặt thuật toán mã hoá AES; thuật toán sinh và một số hàm tự định nghĩa (User defined functions).
• Lớp CSDL (Database layer):
Lớp CSDL là máy chủ chứa hệ quản trị CSDL SQL Server. Trong hệ quản trị có các thủ tục (Procedures), hàm (Functions) và các Triggers phục vụ cho các API ở lớp trung gian. Khi lớp trung gian gửi các truy vấn thì các thủ tục, hàm này xử lý và trả về dữ liệu mã hoá.
34
+ Mô tả chức năng của các thành phần trong hệ thống:
API tạo CSDL mã hoá (API Create table): Các ứng dụng ở lớp trình diễn gọi đến API này để tạo các bảng trong CSDL mã hoá.
API thêm dữ liệu (API Insert): Thực hiện thêm dữ liệu mã hoá từ dữ liệu rõ vào CSDL. Việc thực hiện thêm dữ liệu dựa trên cấu trúc mã hoá của bảng và khoá mã hoá của dữ liệu.
API cập nhập dữ liệu (API Update): Thực hiện cập nhập dữ liệu mã hoá theo điều kiện truy vấn từ các ứng dụng. Việc cập nhập cũng dựa trên cấu trúc bảng và khoá mã hoá của dữ liệu. API mã hoá dữ liệu và lưu trữ dữ liệu được mã hoá vào CSDL.
API xoá dữ liệu (API Insert): Thực hiện xoá dữ liệu trong CSDL theo điều kiện truy vấn từ các ứng dụng.