Giải pháp bảo mật cơ sở dữ liệu ứng dụng mã nguồn mở
1. Bài toán bảo mật CSDL nhiều cấp
Cơ sở dữ liệu nghiên cứu ở đây được chia thành 3 cấp, cấp 1 là cao nhất (cấp Trung ương), cấp 2 (cấp Tỉnh, Thành phố) và cấp 3 (cấp huyện, quận, thị xã). Trong đó, CSDL cấp Trung ương lưu trữ toàn bộ HSTC trong toàn quốc, CSDL cấp Tỉnh lưu trữ toàn bộ các HSTCNH trong toàn tỉnh, và CSDL cấp Quận, Huyện, Thị xã lưu trữ toàn bộ HSTC trong đơn vị hành chính đó. Giữa CSDL cấp 2 và cấp 1 cũng như giữa cấp 3 và cấp 2 luôn có sự đồng bộ dữ liệu để đảm bảo tính nhất quán dữ liệu giữa các mức. Cách tổ chức CSDL đó được mô tả trên hình sau đây:
Hình 1. Mô hình CSDL Hồ sơ tài chính
2. Mô hình giải pháp bảo vệ cơ sở dữ liệu
Mô hình an toàn hệ thống CSDL nhằm giải quyết các bài toán đảm bảo an toàn dữ liệu khi truyền trên mạng, trong lúc khai thác CSDL phục vụ tác nghiệp và đảm bảo an toàn CSDL khi không phục vụ tác nghiệp. Bài toán bảo mật cho hệ thống CSDL ba cấp như CSDL HSTC được xây dựng trên cơ sở một số ràng buộc sau: không khai thác CSDL vượt cấp, có nghĩa người dùng ở mức dưới không được phép khai thác CSDL ở mức trên và mức ngang hàng; không hỗ trợ khai thác trực tiếp CSDL từ xa; không đòi hỏi theo thời gian thực và việc đồng bộ dữ liệu chủ yếu được thực hiện định kỳ.
Hình 2. Mô hình khai thác CSDL được bảo mật
- Mã hóa các trường dữ liệu quan trọng: Những trường chứa thông tin có độ bảo mật cao được mã hóa bằng hệ mật đã được lựa chọn phù hợp với yêu cầu của dữ liệu. Việc xác định độ mật tương ứng của từng trường phải được người có thẩm quyền xác định. Các thông tin có độ mật cao luôn được lưu trữ ở dạng mã hóa. Những thông tin này chỉ được giải mã ở tầng giao diện với người dùng và chỉ có những thông tin thỏa mãn yêu cầu của người dùng và trong thẩm quyền được phép của người dùng mới được giải mã.
Khi không phục vụ tác nghiệp, phần CSDL chứa dữ liệu có độ mật cao sẽ được chuyển về trạng thái lưu giữ. Khi ở trạng thái lưu giữ này thì ngoài những trường quan trọng được mã hóa thì toàn bộ CSDL cũng được mã hóa. Hệ mật phục vụ cho mã hóa cũng là sự kết hợp giữa mã hóa khóa đối xứng và mã hóa khóa công khai, đảm bảo cho người dùng hợp lệ có thể chuyển CSDL về trạng thái khai thác. Cách thức này sẽ ngăn chặn được những tấn công thông qua hệ điều hành vào CSDL. Với những dữ liệu không có nhu cầu bảo mật thì hệ thống chỉ đảm bảo xác thực nội dung, các kỹ thuật được áp dụng nhằm đảm bảo phát hiện được những thay đổi nội dung bất hợp pháp.
- Quản lý đăng nhập hệ thống: Quản lý người sử dụng hệ thống, phân quyền người sử dụng hệ thống, quản lý đăng nhập hệ thống sử dụng eToken.
- Quản lý thông tin HSTC: Quản lý các danh mục, quản lý thông tin HSTC, tổng hợp báo cáo thống kê, tìm kiếm, chức năng cập nhật, đồng bộ dữ liệu giữa các mức trung ương, tỉnh, huyện, sao lưu và phục hồi dữ liệu HSTC.
+ Chức năng mã hóa phục vụ CSDL khi khai thác được xây dựng ở cả 3 cấp, bao gồm: mã hóa khóa phiên khai thác dữ liệu, sử dụng khóa công khai của người dùng để mã hóa khóa phiên phục vụ khai thác dữ liệu khi người dùng kết thúc phiên làm việc (Hệ mật khóa công khai được sử dụng là RSA); Giải mã khóa phiên khai thác dữ liệu, sử dụng khóa bí mật (hệ mật RSA) của người dùng để giải mã khóa phiên phục vụ khai thác dữ liệu; Mã hóa/ giải mã các trường dữ liệu mật ở cả 3 cấp, sử dụng khóa phiên cho dữ liệu mật và hệ mật khóa đối xứng; Ký số dữ liệu, sử dụng khóa bí mật của người dùng để ký số đối với các hồ sơ thông thường ở cả 3 cấp; Xác thực dữ liệu, sử dụng khóa công khai của người ký để xác thực dữ liệu đối với các hồ sơ thông thường ở cả 3 cấp.
+ Chức năng mật mã phục vụ CSDL khi không khai thác: Các môđun mật mã cho hệ thống bảo mật CSDL HSTC khi không khai thác thực hiện mã hóa file dữ liệu của CSDL đảm bảo an toàn ở mức hệ điều hành.
+ Chức năng mã hóa phục vụ CSDL khi đồng bộ dữ liệu: Đồng bộ dữ liệu được thực hiện ở 2 cấp với nhau là cấp 3 với cấp 2 và cấp 2 với cấp 1. Các chức năng bao gồm: mã hóa khóa phiên phục vụ trao đổi dữ liệu đồng bộ sử dụng hệ mật khóa công khai RSA; giải mã khóa phiên phục vụ trao đổi dữ liệu đồng bộ sử dụng hệ mật khóa công khai RSA; mã hóa dữ liệu đồng bộ sử dụng khóa phiên đồng bộ và hệ mật tương ứng; giải mã dữ liệu đồng bộ sử dụng khóa phiên đồng bộ và hệ mật tương ứng.
+ Chức năng phân loại dữ liệu: do dữ liệu HSTC ban đầu trước khi đưa vào sử dụng trong hệ thống CSDL chỉ là CSDL ở dạng rõ. Để phân hoạch CSDL thành các dữ liệu theo độ mật và khai thác các CSDL này thì dữ liệu ban đầu phải được xử lý và phân loại bởi chức năng xử lý dữ liệu.
Trên cơ sở phân tích thiết kế các chức năng của phần mềm bảo mật CSDL, một chương trình bảo mật CSDL đã được thử nghiệm trong thực tế, với giao diện thử nghiệm trong Hình 5. Giải pháp trình bày trên đây có thể góp phần giải quyết bài toán bảo mật CSDL dựa trên sử dụng hệ quản trị CSDL mã nguồn mở MySQL. Tuy nhiên, để có thể ứng dụng trong thực tế, các chức năng của phần mềm bảo mật CSDL này cần được phân tích, đánh giá một cách toàn diện và có những bước thử nghiệm chặt chẽ.