Giải Pháp Truy Vấn Trực Tiếp Trên Dữ Liệu Mã Hóa Nhằm Nâng Cao Tính Bảo Mật Cơ Sở Dữ Liệu Trực Tuyến


Tóm tắt nghiên cứu

Trong bối cảnh các tổ chức và doanh nghiệp ngày càng dịch chuyển hệ thống thông tin lên nền tảng hạ tầng thuê ngoài (Outsourced Database Service – ODBS / Database as a Service – DAS), nguy cơ rò rỉ dữ liệu từ môi trường máy chủ không tin cậy (untrusted cloud) trở thành thách thức hàng đầu. Đề tài nghiên cứu mã số CS20-41 do ThS. Hoàng Ngọc Cảnh chủ nhiệm (Trường Đại học Thương mại) đã giải quyết câu hỏi cốt lõi: Làm thế nào để thực thi các câu lệnh truy vấn phức tạp trực tiếp trên cơ sở dữ liệu quan hệ (RDBMS) đã được mã hóa mà vẫn đảm bảo tính bảo mật trước các cuộc tấn công suy diễn và tối ưu hóa hiệu năng hệ thống?

Nghiên cứu xây dựng mô hình kiến trúc 3 lớp tích hợp Máy chủ trung gian (Proxy Framework) kết hợp với kỹ thuật lập chỉ mục mù/bảo mật (Blind/Searchable Indexing) sử dụng hàm băm có khóa HMAC-SHA256 và cơ chế lượng tử hóa/phân khoảng động (Dynamic Quantization/Bucketing). Mô hình cho phép chuyển đổi câu truy vấn gốc (T-SQL/PL-SQL) sang dạng truy vấn trên chỉ mục mã hóa mà không làm ảnh hưởng đến cơ chế mã hóa nền tảng (như AES-OFB).

Kết quả thực nghiệm trên cơ sở dữ liệu mẫu chuẩn quy mô lớn (>20 triệu bản ghi) và ứng dụng quản lý thực tế chứng minh giải pháp hỗ trợ thành công đa dạng các biểu thức điều kiện (so sánh =, <, >, chuỗi ký tự LIKE, tìm kiếm mẫu con tùy ý, truy vấn khoảng BETWEEN, IN, NOT IN), loại bỏ hiệu quả nguy cơ tấn công thống kê tần suất, đồng thời giảm thiểu tối đa dữ liệu dư thừa và thời gian giải mã tại máy trạm.


Bối cảnh và tầm quan trọng

Thực trạng và khoảng trống nghiên cứu

Xu hướng sử dụng điện toán đám mây và cơ sở dữ liệu thuê ngoài (ODBS) mang lại lợi ích vượt trội về chi phí đầu tư phần cứng, bản quyền và nhân sự vận hành. Tuy nhiên, ODBS đặt người sở hữu dữ liệu (Data Owner - DO) vào một mô hình không tin cậy (Untrusted Model), nơi các quản trị viên của nhà cung cấp dịch vụ (Database Service Provider - DSP) hoặc tin tặc tấn công hạ tầng đám mây đều có thể tiếp cận toàn bộ dữ liệu thô.

       [Mô hình Rủi ro Truyền thống trên Điện toán Đám mây]
                                  Nguy cơ: Lộ lọt dữ liệu nhạy cảm,
                                  Đặc quyền Admin DSP, Rò rỉ qua RAM

Các giải pháp bảo mật CSDL truyền thống bộc lộ nhiều điểm hạn chế khi đưa lên môi trường trực tuyến thuê ngoài:

  • Mã hóa trong suốt (TDE - Transparent Data Encryption): Chỉ bảo vệ dữ liệu ở trạng thái nghỉ (data-at-rest) trên đĩa cứng; khi nạp vào bộ nhớ RAM của DSP để xử lý truy vấn, dữ liệu vẫn ở dạng rõ.
  • Mã hóa mức ứng dụng (Application-level Encryption): Dữ liệu mã hóa (bằng AES, DES, RSA...) bị mất hoàn toàn các tính chất tự nhiên (thứ tự, khả năng so sánh, đối sánh chuỗi), khiến máy chủ CSDL không thể lập chỉ mục hay thực thi tìm kiếm.
  • Các cơ chế tích hợp sẵn (như SQL Server Always Encrypted): Hạn chế lớn khi chỉ hỗ trợ phép so sánh bằng (=) đối với mã hóa tất định (Deterministic Encryption), không hỗ trợ tìm kiếm mờ (LIKE), không xử lý được các phép so sánh khoảng và chỉ tương thích trong hệ sinh thái của Microsoft.
  • Mã hóa tìm kiếm (Searchable Encryption - SE) & Mã hóa đồng cấu toàn phần (FHE): Các lược đồ lý thuyết như SSE, PEKS hay FHE có chi phí tính toán cực kỳ lớn, hiệu năng thấp, chủ yếu áp dụng cho văn bản phi cấu trúc (documents) chứ chưa tối ưu cho các bảng dữ liệu quan hệ (RDBMS) có quan hệ ràng buộc và kiểu dữ liệu đa dạng.

Tính thời điểm và tác động

Đề tài được thực hiện trong thời điểm chuyển đổi số quốc gia đang diễn ra mạnh mẽ, khi các cơ quan chính phủ và doanh nghiệp Việt Nam đẩy mạnh triển khai Chính phủ điện tử và Thương mại điện tử. Việc đề xuất một giải pháp trung gian vừa bảo toàn sức mạnh tính toán của hệ quản trị CSDL quan hệ trên đám mây, vừa che giấu hoàn toàn dữ liệu và ý định truy vấn trước nhà cung cấp dịch vụ là yêu cầu cấp thiết, mở ra hướng đi thực tiễn và tiết kiệm chi phí cho các bài toán an ninh dữ liệu trực tuyến.


Methodology và approach

Thiết kế nghiên cứu & Kiến trúc hệ thống

Nghiên cứu kế thừa và mở rộng mô hình Database as a Service (DAS) kết hợp thiết kế kiến trúc hệ thống bảo mật 3 lớp phân lập hoàn toàn trách nhiệm:

                                        [Database Layer (DSP / Cloud)]
                                         - Lưu CSDL mã hóa (Ciphertext)
                                         - Lưu Cột chỉ mục mã hóa (Index)
                                         - Thực thi tìm kiếm trên chỉ mục
  1. Lớp Trình diễn (Presentation Layer): Giao diện tương tác người dùng (Web/App), gửi các yêu cầu nghiệp vụ và câu truy vấn T-SQL/PL-SQL dạng rõ.
  2. Lớp Trung gian (Proxy Layer): Đặt tại phân vùng an toàn do Data Owner kiểm soát. Đóng vai trò là "bộ não" thực hiện phân tích cú pháp SQL, chuyển đổi câu lệnh truy vấn (Query Rewriting), quản lý bảng khóa mật mã, băm chỉ mục và giải mã dữ liệu trả về trước khi đưa tới người dùng cuối.
  3. Lớp Cơ sở dữ liệu (Database Layer): Đặt tại nhà cung cấp dịch vụ (DSP), chỉ lưu trữ các trường dữ liệu đã mã hóa và các cột chỉ mục bảo mật; thực thi các câu truy vấn đã được Proxy viết lại mà hoàn toàn không nắm giữ khóa giải mã hay dữ liệu gốc.

Kỹ thuật lập chỉ mục bảo mật & Mã hóa thích ứng

Để hỗ trợ toàn diện các kiểu dữ liệu và toán tử mà không làm suy yếu tính an toàn mật mã, nghiên cứu đề xuất hai nguyên tắc thiết kế chỉ mục độc lập:

1. Xử lý dữ liệu dạng Ký tự (String/Text)

  • Dữ liệu mã hóa: Sử dụng giải thuật mật mã đối xứng khối (tựa AES ở chế độ phản hồi ngõ ra OFB) kết hợp bộ sinh số giả ngẫu nhiên an toàn (HDRBG) để sinh vector khởi tạo ngẫu nhiên ($IV$). Do đó, hai chuỗi văn bản hoàn toàn giống nhau sẽ cho ra hai chuỗi bản mã khác nhau, chống lại việc thu thập mẫu bản mã.
  • Chỉ mục tìm kiếm (Searchable Index):
    • Nguyên tắc 1 (Chống tấn công suy diễn tần suất cho trường có độ lệch thống kê cao, ví dụ: Họ tên người Việt Nam): Thực hiện tiền xử lý đếm tần suất từ khóa, băm từ khóa qua HMAC-SHA256, sắp xếp theo thứ tự băm và gom cụm thành các khoảng (Buckets). Mỗi khoảng được gán một định danh ngẫu nhiên (Identifier). Khi tìm kiếm theo mẫu (ví dụ: LIKE '%Hoàng@Minh%'), từ khóa được băm và ánh xạ thành định danh khoảng (ví dụ: LIKE '%7@15%'). Quá trình này trả về tập kết quả có chứa dữ liệu dư thừa, sau đó Proxy sẽ giải mã và lọc chính xác (Quy trình 3 bước).
    • Nguyên tắc 2 (Dành cho trường dữ liệu phân bố ngẫu nhiên, khó phân biệt tần suất): Băm trực tiếp từng từ khóa thành chuỗi băm 1-1 bằng HMAC-SHA256. Lệnh truy vấn được chuyển đổi tương đương và lấy chính xác bản ghi tại Database Layer mà không phát sinh dữ liệu dư thừa (Quy trình 2 bước).

2. Xử lý dữ liệu dạng Số và Thời gian (Numeric & DateTime)

  • Toàn bộ dữ liệu thời gian được ánh xạ sang dạng số nguyên.
  • Kỹ thuật chia khoảng động (Quantization): Xác định miền giá trị $[Min, Max]$, chia thành $N$ khoảng với bước nhảy cố định, gán định danh khoảng và băm giá trị đại diện bằng HMAC-SHA256.
  • Kỹ thuật chuyển đổi toán tử so sánh: Dữ liệu mã hóa không thể so sánh trực tiếp bằng các toán tử tự nhiên. Proxy thực hiện chuyển đổi logic các toán tử >=, <=, >, < thành các toán tử IN hoặc NOT IN trên tập các chỉ mục khoảng tương ứng.
Ví dụ chuyển đổi logic:
- Điều kiện gốc:       TIENLUONG >= 5 (với thang lương 30 khoảng, bước nhảy 1 triệu)
- Biến đổi Proxy:      TIENLUONG_INDEX NOT IN (HMAC(1), HMAC(2), HMAC(3), HMAC(4))
- Tập kết quả nhận:    Bao gồm các bản ghi thuộc các khoảng từ 5 đến 30
- Khử dư thừa tại Proxy: Giải mã và lọc lại chính xác TIENLUONG >= 5

Phát hiện chính và kết quả thực nghiệm

Quá trình phân tích, xây dựng và thực nghiệm giải pháp trên bộ cơ sở dữ liệu mẫu chuẩn TPC-H (dung lượng hàng triệu bản ghi) và hệ thống thực tế Quản lý CSDL Đảng viên đã mang lại những phát hiện quan trọng:

                  BẢNG SO SÁNH CÁC GIẢI PHÁP BẢO MẬT CSDL

1. Hiện thực hóa thành công tập lệnh SQL đa dạng trên dữ liệu mã

Nghiên cứu chứng minh rằng việc kết hợp giữa chỉ mục băm phân khoảng và cơ chế viết lại câu lệnh (T-SQL Query Rewriting) tại Proxy cho phép thực thi hầu hết các lệnh thao tác dữ liệu chuẩn (DML: SELECT, INSERT, UPDATE, DELETE) cùng các toán tử so sánh phức tạp (LIKE, BETWEEN, IN, NOT IN, >=, <=, >, <, <>).

2. Triệt tiêu nguy cơ tấn công suy diễn và thống kê tần suất

Đối với các trường dữ liệu có quy luật phân bố tự nhiên rõ rệt (như danh sách Họ người Việt: Nguyễn chiếm 39%, Trần 11%, Lê 10%...), các giải pháp mã hóa tất định truyền thống đều bị giải mã ngược thông qua phân tích tần suất xuất hiện bản mã. Phương pháp chia khoảng (Bucketing) của đề tài đã làm phẳng biểu đồ phân bố tần suất, khiến DSP không thể xác định được mối tương quan giữa bản mã/chỉ mục với từ khóa gốc.

3. Tối ưu hóa chi phí đường truyền nhờ cơ chế lọc kép

Mặc dù phương pháp chia khoảng tạo ra sự dư thừa dữ liệu ở mức trung gian, nhưng việc lọc thô tại Database Layer đã loại bỏ từ 80% - 95% các bản ghi không liên quan trước khi truyền dữ liệu về Proxy. Nhờ đó, Proxy chỉ phải giải mã một tập dữ liệu ứng viên rất nhỏ, giúp giảm tải đáng kể thời gian xử lý và nghẽn băng thông mạng so với phương pháp tải toàn bộ bảng về giải mã qua View/Trigger.

4. Độc lập nền tảng và dễ dàng tích hợp thực tiễn

Giải pháp không đòi hỏi phải chỉnh sửa mã nguồn của hệ quản trị CSDL (RDBMS Engine). Proxy hoạt động độc lập, hỗ trợ cả Microsoft SQL Server và Oracle Database, đồng thời cho phép người sở hữu dữ liệu tùy biến giải thuật mật mã (AES, Blowfish, Camellia...) theo nhu cầu mà không làm thay đổi logic lập chỉ mục.


Đóng góp khoa học

Đóng góp về mặt lý thuyết

  • Hệ thống hóa toàn diện các lý thuyết về mã hóa tìm kiếm (Searchable Encryption - SE) trên cơ sở dữ liệu quan hệ, làm rõ mối quan hệ đánh đổi (trade-off) giữa 4 tiêu chí cốt lõi: Mức độ bảo mật – Hiệu năng – Độ đa dạng biểu thức truy vấn – Khả năng triển khai.
  • Xây dựng mô hình toán học và logic chuyển đổi câu truy vấn đại số quan hệ trên dữ liệu rõ sang câu truy vấn tương đương trên không gian chỉ mục băm phân khoảng.

Đổi mới về phương pháp luận

  • Đề xuất phương pháp phân lớp chỉ mục linh hoạt 2 chế độ (Chế độ 1-1 cho dữ liệu phân bố đều và Chế độ Gom cụm phân khoảng cho dữ liệu phân bố lệch), giải quyết hài hòa bài toán xung đột giữa khả năng chống tấn công thống kê và hiệu năng truy vấn.
  • Xây dựng kỹ thuật chuyển đổi toán tử so sánh liên tục trên tập số sang tập rời rạc thông qua cấu trúc chỉ mục băm có khóa.

Ứng dụng thực tiễn và chính sách

  • Phát triển thành công bộ phần mềm hoàn chỉnh SQL_Proxy_Framework (tự nghiên cứu và phát triển 100%, không sử dụng mã nguồn mở phụ thuộc), có khả năng tích hợp nhanh chóng vào các ứng dụng quản lý hiện hữu.
  • Công bố 01 bài báo khoa học tại Hội thảo Quốc gia "Phát triển TMĐT Việt Nam trong kỷ nguyên số", đóng góp tài liệu tham khảo và giải pháp kỹ thuật đáng tin cậy phục vụ định hướng xây dựng hạ tầng dữ liệu an toàn cho Chính phủ điện tử và Kinh tế số tại Việt Nam.

Đối tượng quan tâm và giá trị mang lại

                             ĐỐI TƯỢNG QUAN TÂM
[Nhà Nghiên cứu / Học thuật] [Kiến trúc sư / Kỹ sư CSDL] [Lãnh đạo CNTT / Quản lý An ninh]
- Cơ sở lý thuyết về SE     - Mẫu thiết kế Proxy        - Giải pháp bảo vệ dữ liệu Cloud
- Phương pháp luận phân tích - Giải pháp mã hóa không đổi - Đáp ứng tuân thủ pháp lý
  an toàn mật mã RDBMS         Engine trên SQL Server/Oracle (Data Privacy, Luật ANM)
  1. Nhà nghiên cứu học thuật & Giảng viên/Sinh viên ngành An toàn thông tin:

    • Tiếp cận tài liệu tổng quan chuyên sâu, có hệ thống về các kỹ thuật Searchable Encryption, Homomorphic Encryption áp dụng trực tiếp trên hệ quản trị CSDL quan hệ.
    • Cung cấp nền tảng lý thuyết để tiếp tục phát triển các thuật toán tối ưu hóa chia khoảng và mở rộng sang CSDL phi quan hệ (NoSQL).
  2. Kiến trúc sư phần mềm & Kỹ sư cơ sở dữ liệu (Database Engineers):

    • Nắm bắt mô hình thiết kế máy chủ Proxy để tự xây dựng các module bảo mật cho ứng dụng doanh nghiệp khi đưa CSDL lên Amazon RDS, Microsoft Azure SQL, Google Cloud SQL.
    • Giải quyết bài toán bảo vệ trường dữ liệu nhạy cảm (Số định danh, Tiền lương, Hồ sơ sức khỏe, Lịch sử giao dịch) mà vẫn giữ được tính năng tìm kiếm LIKE, BETWEEN.
  3. Lãnh đạo CNTT (CIO/CISO) & Cơ quan quản lý nhà nước:

    • Cung cấp giải pháp kỹ thuật đáp ứng các quy chuẩn khắt khe về bảo vệ dữ liệu cá nhân (theo Luật An ninh mạng, Nghị định 13/2023/NĐ-CP).
    • Cho phép tận dụng hạ tầng Cloud thuê ngoài giá rẻ mà không lo ngại rủi ro rò rỉ bí mật nhà nước hoặc bí mật kinh doanh từ phía nhà cung cấp dịch vụ.

Câu hỏi thường gặp (FAQ)

1. Điểm khác biệt lớn nhất giữa giải pháp này và tính năng Always Encrypted của Microsoft SQL Server là gì?

Always Encrypted chủ yếu hỗ trợ phép so sánh bằng (=) khi dùng mã hóa tất định, không hỗ trợ tìm kiếm mờ LIKE, không hỗ trợ toán tử so sánh khoảng trên bản mã và chỉ hoạt động trên hệ sinh thái Microsoft. Giải pháp của đề tài thông qua Proxy Layer hỗ trợ đầy đủ các phép toán phức tạp (LIKE %...%, >=, <=, BETWEEN, IN), chống được tấn công suy diễn tần suất và có thể triển khai linh hoạt trên cả SQL Server, Oracle cũng như các RDBMS khác.

2. Kỹ thuật chia khoảng (Bucketing) có làm sai lệch kết quả truy vấn của người dùng không?

Hoàn toàn không. Kỹ thuật chia khoảng chỉ được sử dụng để lọc thô các bản ghi ứng viên tại Database Layer (máy chủ DSP). Sau khi nhận tập kết quả ứng viên, Proxy Layer sẽ tiến hành giải mã và thực hiện câu truy vấn gốc một lần nữa trên tập dữ liệu đã giải mã để loại bỏ hoàn toàn các bản ghi dư thừa trước khi trả kết quả chính xác 100% về cho người dùng.

3. Việc xử lý qua máy chủ Proxy có gây suy giảm đáng kể hiệu năng của hệ thống không?

Thực nghiệm cho thấy độ trễ xử lý qua Proxy nằm trong ngưỡng chấp nhận được đối với các hệ thống giao dịch trực tuyến (OLTP). Nhờ việc lập chỉ mục hiệu quả, Database Layer lọc bỏ phần lớn dữ liệu không khớp, giảm tải tối đa lưu lượng truyền trên đường truyền và giúp quá trình giải mã tại Proxy diễn ra rất nhanh.

4. Người sở hữu dữ liệu có bị ràng buộc phải sử dụng một thuật toán mã hóa cố định không?

Không. Framework tách biệt hoàn toàn giữa cơ chế sinh chỉ mục tìm kiếm (HMAC-SHA256) và thuật toán mã hóa dữ liệu. Người sở hữu dữ liệu có toàn quyền lựa chọn các thuật toán mã hóa khối tiêu chuẩn (như AES-128/256, Blowfish, 3DES) hoặc các chuẩn mã hóa chuyên dụng theo chính sách an ninh của đơn vị.

5. Giải pháp có hỗ trợ các truy vấn trên CSDL phân tán hoặc NoSQL không?

Mặc dù đề tài tập trung chuyên sâu vào CSDL quan hệ (SQL Server, Oracle), các nguyên tắc cốt lõi về lượng tử hóa khoảng (Quantization) và chỉ mục mù (Blind Indexing) hoàn toàn có thể kế thừa và mở rộng sang các hệ thống lưu trữ dạng Document (MongoDB) hay Key-Value (Redis).


Kết luận

Đề tài nghiên cứu khoa học "Giải pháp truy vấn trực tiếp trên dữ liệu mã hóa nhằm nâng cao tính bảo mật cơ sở dữ liệu trực tuyến" (Mã số: CS20-41) đã giải quyết thành công bài toán then chốt trong an toàn dữ liệu đám mây: thực thi truy vấn phong phú và bảo mật trên CSDL quan hệ thuê ngoài. Bằng việc kết hợp kiến trúc Proxy 3 lớp với kỹ thuật lập chỉ mục phân khoảng thông minh, giải pháp mang lại sự cân bằng tối ưu giữa tính an toàn mật mã, hiệu năng xử lýkhả năng ứng dụng thực tiễn.

Trong tương lai, hướng nghiên cứu có thể tiếp tục mở rộng sang việc tối ưu hóa tự động bước nhảy chia khoảng bằng học máy (Machine Learning) và phát triển các bộ chuyển đổi hỗ trợ các cấu trúc dữ liệu không gian (Spatial/GIS) và NoSQL quy mô lớn.

[!TIP] Khuyến nghị triển khai: Các tổ chức, doanh nghiệp đang có kế hoạch di chuyển cơ sở dữ liệu nhạy cảm lên Cloud nên áp dụng mô hình Proxy Framework để chủ động kiểm soát khóa mật mã và loại bỏ hoàn toàn rủi ro từ môi trường quản trị của bên thứ ba.