Tiểu luận Mã hóa cơ sở dữ liệu database encryption

TRƢỜNG ĐẠI HỌC KHOA HỌC HUẾ KHOA CÔNG NGHỆ THÔNG TIN TIỂU LUẬN CƠ SỞ DỮ LIỆU NÂNG CAO ĐỀ TÀI: MÃ HÓA CƠ SỞ DỮ LIỆU DATABASE ENCRYPTION LỚP CAO HỌC: NGÀNH KHOA HỌC MÁY TÍNH GVHD: PGS.TS NGUYỄN MẬU HÂN THỰC HIỆN: NHÓM 2 Cao Chí Hiển Nguyễn Thị Thụy Nguyễn Thị Thảo Đào Thị Hiểu Dƣơng Thị Minh Thảo GIA LAI, 7/ 2018 MỤC LỤC LỜI NÓI ĐẦU ..............................................................................................................................

pdf16 trang | Chia sẻ: huong20 | Ngày: 07/01/2022 | Lượt xem: 408 | Lượt tải: 0download
Tóm tắt tài liệu Tiểu luận Mã hóa cơ sở dữ liệu database encryption, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
. 1 MÃ HÓA CƠ SỞ DỮ LIỆU (DATABASE ENCRYPTION) .................................................... 2 I. ĐỊNH NGHĨA VÀ HỌC THUYẾT MÃ HÓA CƠ SỞ DỮ LIỆU ..................................... 2 1.1. Đinh nghĩa Mã hóa cơ sở dữ liệu - Definition: ............................................................ 2 1.2 Học thuyết mã hóa cơ sở dữ liệu Theory: ..................................................................... 2 II. CÁC MỨC ĐỘ MÃ HÓA - ENCRYPTION LEVEL ....................................................... 3 2.1. Mức độ mã hóa lƣu trữ: Storage-level encryption ..................................................... 3 2.2. Mức độ mã hóa Cớ sở dữ liệu: Database-level encryption ........................................ 4 2.3 Mức độ mã hóa ứng dụng: Application-level encryption ............................................ 4 III. THUẬT TOÁN MÃ HÓA VÀ MÔ HÌNH HOẠT ĐỘNG: Encryption Algorithm and Mode of Operation .................................................................................................................... 5 IV. QUẢN LÝ KHÓA Key Management ................................................................................ 6 V. CÁC ỨNG DỤNG Applications .......................................................................................... 7 VI. HƢỚNG PHÁT TRIỂN VÀ CÁC VẤN ĐỀ MỞ Open Problems and future directions .................................................................................................................................... 9 6.1. Lƣợc đồ mã hóa Encryption Scheme ............................................................................ 9 6.2. Các chiến lƣợc mã hóa cơ sở dữ liệu mới New database encryption strategies ..... 10 6.3. Các vấn đề bảo mật khác - Other Security Issues ..................................................... 12 TÀI LIỆU THAMTHẢO ............................................................................................................ 13 Trang 1 LỜI NÓI ĐẦU Hiện này, thời đại công nghệ thông tin đã được toàn cầu hóa với sự trợ giúp của mạng Internet. Cùng với sự phát triển của công nghệ thông tin đã thúc đấy sự phát triển kinh tế, xã hội. Các hoạt động của các tổ chức xã hội như: Kinh tế, chính trị, văn hóa, quân sự, Ngoài những thông tin được chia sẻ của các tổ chức lên mạng Internet hay các trang mạng xã hội. Bên cạnh đó có những thông tin việc mất mát, rò rỉ thông tin có thể ảnh hưởng nghiêm trọng đến tài chính, sự tồn vong của tổ chức. Các phương thức tấn công thông qua mạng ngày càng tinh vi, phức tạp có thể dẫn đến mất mát thông tin, thậm chí có thể làm sụp đổ hoàn toàn hệ thống thông tin của tổ chức. Vì vậy an toàn và bảo mật thông tin là nhiệm vụ rất nặng nề và khó đoán trước được, nhưng tựu trung lại gồm ba hướng chính sau: Bảo đảm an toàn thông tin tại máy chủ; Bảo đảm an toàn cho phía máy trạm; Bảo mật thông tin trên đường truyền. Vậy vấn đề đặt ra là dự liệu khi được lưu trữ trên may chủ, máy trạm và di chuyển trên đường truyền làm sao bảo về được dữ liệu và chống được các truy cập trái phép cơ sở dữ liệu. Nếu dữ liệu vẫn bị hacker tấn công và chiếm đọt quyền truy cập cơ sở dữ liệu, làm sao thông tin vẫn không bị rò rỉ, mất mát. Đó là dữ liệu trước khi lưu trữ ở máy trạm, máy chủ và truyền đi phải được mã hóa. Đây là nội dung chính trong tiểu luận của nhóm em về đề tài: Mã hóa cơ sở dữ liệu (Database Encryption) Mặc dù đã rất cố gắng nhưng tiểu luận này không tránh khỏi những sai sót. Nhóm chúng em rất mong nhận được các ý kiến góp ý của thầy hướng dẫn và các bạn. Xin chân thành cảm ơn PGS.TS. NGUYỄN MẪU HÂN đã tận tình hướng dẫn và tạo điều kiện cho chúng em hoàn thành môn học này. Trang 2 ĐỀ TÀI: MÃ HÓA CƠ SỞ DỮ LIỆU (DATABASE ENCRYPTION) I. ĐỊNH NGHĨA VÀ HỌC THUYẾT MÃ HÓA CƠ SỞ DỮ LIỆU 1.1. Đinh nghĩa Mã hóa cơ sở dữ liệu - Definition: Mã hóa cơ sở dữ liệu đề cập đến việc sử dụng các kỹ thuật mã hóa để biến đổi cơ sở dữ liệu văn bản rõ vào một cơ sở dữ liệu được mã hóa (hoặc một phần cơ sở dữ liệu), do đó làm cho nó không thể đọc được cho bất kỳ ai ngoại trừ những người có khóa mã hóa, hay kiến thức về các khóa mã hóa. 1.2 Học thuyết mã hóa cơ sở dữ liệu Theory: Bảo mật cơ sở dữ liệu bao gồm ba thuộc tính chính: bảo mật, toàn vẹn và tính khả sẵn sàng. Nói một cách tổng thể, bảo mật thực thi được xác định trước hạn chế trong khi truy cập dữ liệu được bảo vệ, do đó ngăn chặn việc những người không được phép truy cập. Thuộc tính toàn vẹn đảm bảo rằng dữ liệu không thể bị hỏng một cách vô hình. Cuối cùng, tính sẵn sàng đảm bảo kịp thời và truy cập đáng tin cậy vào cơ sở dữ liệu. Để bảo mật dữ liệu, hãy thực thi các chính sách kiểm soát truy cập được xác định của Hệ quản trị cơ sở dữ liệu - Database management system (DBMS) là một phương pháp phổ biến. Quyền truy cập chính sách kiểm soát, đó là để nói một bộ ủy quyền, có thể có các hình thức khác nhau tùy thuộc vào mô hình dữ liệu cơ bản (ví dụ, CSDL quan hệ, XML,) và cách ủy quyền nào được quản lý, sau quyền truy cập Tùy ý kiểm soát (DAC), Kiểm soát truy cập dựa trên vai trò (RBAC) hoặc Kiểm soát truy cập bắt buộc (MAC). Bất kể mô hình điều khiển truy cập, các ủy quyền được thực thi bởi cơ sở dữ liệu máy chủ có kẻ hở. Ví dụ: kẻ xâm nhập có thể xâm nhập hệ thống thông tin và cố gắng khai thác cơ sở dữ liệu trên đĩa. Thực tế là nhiều cơ sở dữ liệu được thuê đặt tại các máy chủ chứa hệ quản trị cơ sở dữ liệu đây là một kiểu lộ thông tin từ nhà cung cấp dịch vụ. Nhà cung cấp dịch vụ cơ sở dữ liệu (DSP). Sau đó, chủ sở hữu dữ liệu không có lựa chọn nào khác ngoài tin tưởng DSP rằng hệ thống của họ Trang 3 được bảo đảm đầy đủ và nhân viên của họ ngoài bất kỳ nghi ngờ nào. Cuối cùng, một quản trị viên cơ sở dữ liệu (DBA) có đủ đặc quyền để giả mạo kiểm soát truy cập định nghĩa và để theo dõi hành vi DBMS. Với tinh thần của một nguyên tắc cũ và quan trọng được gọi là bảo vệ theo chiều sâu (tức là, lớp bảo vệ như vậy mà kẻ tấn công phải vượt qua lớp sau lớp bảo vệ), với các kỹ thuật mã hóa để bổ sung và củng cố quyền truy cập kiểm soát gần đây đã nhận được nhiều sự chú ý từ cộng đồng cơ sở dữ liệu. Mục đích của mã hóa cơ sở dữ liệu là đảm bảo độ mờ của cơ sở dữ liệu bằng cách giữ thông tin bị ẩn với bất kỳ người nào không được phép (ví dụ: kẻ xâm nhập). Thậm chí nếu những kẻ tấn công có được các chính sách kiểm soát truy cập tường lửa và bỏ qua lớp bảo vệ, họ vẫn cần các khóa mã hóa để giải mã dữ liệu. Mã hóa có thể cung cấp bảo mật mạnh cho dữ liệu khi đã mã hóa, nhưng phát triển chiến lược mã hóa cơ sở dữ liệu phải cân nhắc nhiều yếu tố. Ví dụ, nơi cần được thực hiện mã hóa, trong lớp lưu trữ, trong cơ sở dữ liệu hoặc trong ứng dụng nơi dữ liệu đã được tạo ra? Số lượng dữ liệu nên được mã hóa để bảo mật đầy đủ? Nên dùng thuật toán gì để mã hóa? Ai nên có quyền truy cập vào các khóa mã hóa? Làm thế nào để giảm thiểu tác động của mã hóa cơ sở dữ liệu lên dữ liệu? II. CÁC MỨC ĐỘ MÃ HÓA - ENCRYPTION LEVEL 2.1. Mức độ mã hóa lƣu trữ: Storage-level encryption Để mã hóa dữ liệu trong các hệ thống con lưu trữ và do đó bảo vệ dữ liệu đầu cuối (ví dụ, bị trộm cắp phương tiện lưu trữ). Việc này rất thích hợp cho mã hóa tệp hoặc toàn bộ thư mục trong hệ điều hành. Theo quan điểm cơ sở dữ liệu, mã hóa mức lưu trữ có lợi thế để minh bạch, do đó tránh bất kỳ sự thay đổi nào đối với các ứng dụng hiện hành. Mặt khác, các hệ thống con lưu trữ không có hiểu biết về các đối tượng và cấu trúc cơ sở dữ liệu, nên chiến lược mã hóa không thể liên quan đến các quyền của người dùng (ví dụ: dùng các khóa mã hóa cho người dùng riêng biệt để sử dụng cơ sở dữ liệu), cũng như độ nhạy cảm của dữ liệu. Do đó, mã hóa chọn lọc - tức là, chỉ mã hóa một phần của cơ sở dữ liệu để giảm chi phí mã hóa - được giới hạn ở mức độ chi tiết của tệp. Tuy nhiên, các tập tin mã hóa chọn lọc là rủi ro vì người ta phải đảm bảo rằng không có bản sao dữ liệu nhạy cảm nào vẫn không được mã hóa (ví dụ: trong tệp nhật ký log file, tệp tạm thời temporary file, v.v.). Trang 4 2.2. Mức độ mã hóa Cớ sở dữ liệu: Database-level encryption Mức độ mã hóa CSDL cho phép bảo mật dữ liệu khi nó được chèn vào, hoặc được lấy dữ liệu ra từ cơ sở dữ liệu. Do đó, chiến lược mã hóa có thể là một phần của thiết kế cơ sở dữ liệu và có thể liên quan đến độ nhạy dữ liệu hoặc đặc quyền của người dùng. Mã hóa chọn lọc có thể thực hiện được và có thể được thực hiện ở nhiều mức chi tiết khác nhau, chẳng hạn như bảng, cột, hàng. Nó thậm chí có thể liên quan đến một số điều kiện logic. Tùy thuộc vào mức độ tích hợp của tính năng mã hóa trong các DBMS, quá trình mã hóa có thể phát sinh một số thay đổi thành ứng dụng. Hơn nữa, nó có thể làm giảm hiệu suất DBMS vì mã hóa thường cấm sử dụng chỉ mục trên dữ liệu được mã hóa. Thật vậy, trừ khi sử dụng thuật toán mã hóa cụ thể hoặc phương thức mã hóa, lập chỉ mục dữ liệu được mã hóa là vô dụng. Đối với cả hai chiến lược trên, dữ liệu được giải mã trên máy chủ cơ sở dữ liệu khi chạy. Như vậy, các khóa mã hóa phải được truyền hoặc giữ với dữ liệu được mã hóa trên phía máy chủ, do đó cung cấp sự bảo vệ hạn chế đối với quản trị viên máy chủ hoặc bất kỳ kẻ xâm nhập nào chiếm đoạt quyền người quản trị. Bởi vì, kẻ tấn công có thể do thám bộ nhớ và khám phá các khóa mã hóa hoặc dữ liệu văn bản rõ. 2.3 Mức độ mã hóa ứng dụng: Application-level encryption Mức độ mã hóa ứng dụng là di chuyển quá trình mã hóa / giải mã tới tầng ứng dụng khi tạo, xử lý dữ liệu. Do đó, mã hóa được thực hiện ở tầng ứng dụng sau đó lưu trữ dữ liệu đã mã hóa vào hệ cơ sở dữ liệu. Việc lưu trữ và truy xuất dữ liệu được mã hóa một cách tự nhiên, cuối cùng dữ liệu được giải mã thực hiện tại tầng ứng dụng. Cách tiếp cận này có lợi ích để tách các khóa mã hóa khỏi dữ liệu được mã hóa được lưu trữ trong cơ sở dữ liệu vì các khóa không bao giờ phải rời khỏi phía tầng ứng dụng. Tuy nhiên, các ứng dụng cần được sửa đổi để áp dụng giải pháp này. Ngoài ra, tùy thuộc vào mức chi tiết mã hóa, các ứng dụng có thể phải truy xuất một tập dữ liệu lớn hơn dữ liệu thực tế cấp cho người dùng. Người dùng (hoặc bất kỳ kẻ tấn công nào có quyền truy cập vào máy nơi ứng dụng chạy) có thể tấn công ứng dụng để truy cập dữ liệu trái phép. Trang 5 Chiến lược trên gây ra chi phí cao hoạt động (chỉ mục trên dữ liệu được mã hóa vô ích) và hạn chế một số chức năng nâng cao trong cơ sở dữ liệu trên dữ liệu được mã hóa, giống như các thủ tục được lưu trữ store procedure(mã được lưu trữ trong DBMS có thể là được chia sẻ và gọi bởi một số ứng dụng) và trigger (mã được kích hoạt khi một số dữ liệu trong cơ sở dữ liệu được sửa đổi). Xét về độ chi tiết và khóa quản lý, mã hóa cấp ứng dụng mang lại sự linh hoạt cao nhất kể từ khi độ chi tiết mã hóa và các khóa mã hóa có thể được chọn tùy thuộc vào logic ứng dụng. Hình 1. Ba chiến lược mã hóa cơ sở dữ liệu III. THUẬT TOÁN MÃ HÓA VÀ MÔ HÌNH HOẠT ĐỘNG: Encryption Algorithm and Mode of Operation Độc lập với chiến lược mã hóa, bảo mật dữ liệu được mã hóa phụ thuộc vào thuật toán mã hóa, kích thước khóa mã hóa. Ngay cả khi đã sử dụng các thuật toán mạnh, chẳng hạn như AES, các văn bản mã hóa vẫn có thể tiết lộ thông tin văn bản rõ nếu không có chế độ bảo mật phù hợp. Ví dụ, nếu thuật toán mã hóa được thực hiện trong chế độ sách điện tử (ECB), giống hệt nhau các khối văn bản được mã hóa thành các khối văn bản mã hóa giống hệt nhau. Điều này tiết lộ các mẫu lặp đi lặp lại và bị phá với việc so sánh các mẫu. Trong bối cảnh cơ sở dữ liệu, mô hình lặp lại phổ biến như nhiều các bản ghi có thể có cùng các giá trị thuộc tính, vì thế phải cần lưu ý khi chọn chế độ mã hóa. Hơn nữa, các giải pháp đơn giản có thể Trang 6 hoạt động ở các giải pháp khác ngữ cảnh, có thể không thành công trong cơ sở dữ liệu vì dữ liệu thường xuyên được cập nhật với dữ liệu trước đó. Tất cả các đặc trưng của mgữ cảnh cơ sở dữ liệu như dữ liệu có tính lặp đi lặp lại các mẫu, cập nhật, khối lượng lớn dữ liệu được mã hóa nên được xem xét để hướng dẫn lựa chọn một thuật toán mã hóa đầy đủ và mô hình hoạt động. Hơn nữa, việc bảo vệ nên đủ mạnh vì dữ liệu có thể hợp lệ trong một thời gian rất dài (vài năm). Do đó, thuật toán mã hóa hiện đại và mô hình hoạt động (không có bất kỳ nhượng quyền) nên được sử dụng. IV. QUẢN LÝ KHÓA Key Management Quản lý khóa đề cập đến cách các khóa mã hóa được tạo ra và được quản lý trong suốt thời gian sống của chương trình, cơ sở dữ liệu. Bởi vì mật mã dựa trên các khóa mã hóa và giải mã dữ liệu, giải pháp bảo vệ cơ sở dữ liệu chính là bảo vệ của các khóa. Do đó, vị trí của các khóa mã hóa và hạn chế truy cập của chúng đặc biệt quan trọng. Vì vấn đề khá độc lập với mức mã hóa, cho nên giả định sau đây được đề xuất cho mức mã hóa cấp cơ sở dữ liệu. Đối với mã hóa cấp cơ sở dữ liệu, một giải pháp dễ dàng là lưu trữ các khóa trong một bảng hoặc tệp cơ sở dữ liệu bị hạn chế, có khả năng được mã hóa bằng khóa chính (khóa chính được lưu trữ một nơi nào đó trên máy chủ cơ sở dữ liệu). Nhưng tất cả quản trị viên có quyền truy cập đặc quyền cũng có thể truy cập các khóa này và giải mã mọi dữ liệu trong hệ thống mà không bao giờ bị phát hiện. Để khắc phục vấn đề này, các chipset mã hóa giả mạo chuyên dụng, được gọi là module bảo mật phần cứng (HSM - Hardware Security Module), có thể được sử dụng để cung cấp lưu trữ bảo mật an toàn cho các khóa mã hóa. Nói chung, các khóa mã hóa được lưu trữ trên máy chủ được mã hóa bằng khóa chính được lưu trữ trong HSM. Tại thời điểm khi mã hóa / giải mã, các khóa được mã hóa được giải mã một cách tự động bằng HSM (sử dụng khóa chính) và xóa khỏi bộ nhớ máy chủ ngay khi các hoạt động mã hóa thực hiện, như trong Hình 2.a. Trang 7 Hình 2. Quản trị khóa Một giải pháp thay thế là chuyển các nhiệm vụ liên quan đến bảo mật sang phần mềm riêng biệt chạy trên một máy chủ khác (vật lý), được gọi là máy chủ bảo mật, như trong Hình 2.b. Sau đó, máy chủ bảo mật quản lý người dùng, vai trò, đặc quyền, chính sách mã hóa và các khóa mã hóa (có khả năng dựa vào HSM). Trong DBMS, một module bảo mật giao tiếp với máy chủ bảo mật để xác thực người dùng, kiểm tra đặc quyền và mã hóa hoặc giải mã dữ liệu. Sau đó, các khóa mã hóa có thể được liên kết với người dùng hoặc cho đặc quyền của người dùng. Một sự phân biệt rõ ràng cũng được thực hiện giữa vai trò của DBA, quản lý tài nguyên cơ sở dữ liệu và vai trò của SA (Security Administrator), quản trị các thông số bảo mật. Để đảm bảo an toàn thông tin cho cơ sở dữ liệu bởi những cuộc tấn công cần đòi hỏi có sự liên kết giữa DBA và SA. Trong khi thêm máy chủ bảo mật và / hoặc HSM giảm thiểu mức độ tiếp xúc với các khóa mã hóa, nó không bảo vệ hoàn toàn cơ sở dữ liệu. Thực sự là các khóa mã hóa, cũng như dữ liệu được giải mã vẫn xuất hiện (một thời gian ngắn) trong bộ nhớ máy chủ cơ sở dữ liệu và có thể là mục tiêu của kẻ tấn công. V. CÁC ỨNG DỤNG Applications Hầu hết các nhà sản xuất DBMS cung cấp mã hóa tự nhiên cho các nhà phát triển ứng dụng bao gồm các biện pháp bổ sung bảo mật dữ liệu thông qua mã hóa chọn lọc dữ liệu được lưu trữ. Như Oracle8i / 9i có bộ công cụ mã hóa, hoặc IBM Trang 8 DB2 với các chức năng có thể được nhúng trong các câu lệnh SQL, hoặc Sybase và SQL Server 2005 có các phần mở rộng của SQL. Để hạn chế chi phí hoạt động, mã hóa chọn lọc thường có thể được thực hiện ở cấp cột nhưng có thể liên quan đến việc thay đổi cơ sở dữ liệu lược đồ để chứa dữ liệu nhị phân phát sinh từ quá trình mã hóa. SQL Server 2008 giới thiệu TDE (Transparent Data Encryption - mã hóa dữ liệu trong suốt) thực sự rất giống với mã hóa mức lưu trữ. Toàn bộ cơ sở dữ liệu được bảo vệ bởi một khóa duy nhất (DEK for Database Encryption Key), có khả năng tự bảo vệ bởi độ phức tạp hơn, kể cả khả năng sử dụng HSM. TDE thực hiện tất cả các hoạt động mã hóa ở cấp I/O, nhưng trong hệ thống cơ sở dữ liệu lại loại bỏ bất kỳ nhu cầu nào cho các nhà phát triển ứng dụng tạo mã tùy chỉnh để mã hóa và giải mã dữ liệu. TDE (cùng tên với SQL Server nhưng các chức năng khác nhau) đã được được giới thiệu trong Oracle10g / 11g, mở rộng đáng kể khả năng sử dụng mã hóa trong DBMS. Giờ đây, khóa mã hóa có thể được quản lý bởi HSM hoặc được lưu trữ trong một tập tin mở rộng mà được bảo mật bằng cách sử dụng mật khẩu của người quản trị. Mã hóa chọn lọc có thể được thực hiện tại cột mức độ chi tiết hoặc lớn hơn một hoặc một số bảng và chỉ mục. Để tránh việc phân tích dữ liệu được mã hóa, Oracle đề xuất trong quá trình mã hóa Salt, một chuỗi 16 byte ngẫu nhiên được lưu trữ với mỗi giá trị thuộc tính được mã hóa. Mã hóa cấp độ cơ sở dữ liệu với phương pháp máy chủ bảo mật được đề cập ở trên là đề xuất bởi IBM DB2 với chuyên gia mã hóa dữ liệu DEE và bởi bên thứ ba các nhà cung cấp như Protegrity , RSA BSAFE và SafeNet. Các sản phẩm của nhà cung cấp bên thứ ba có thể thích ứng với hầu hết các công cụ DBMS (Oracle, IBM DB2, SQL Server và Sybase) Trang 9 Bảng Tham chiếu nhanh lệnh SQL trong TDE Task SQL Command Wallet setup in sql.ora ENCRYPTION_WALLET_LOCATION = (SOURCE= (METHOD = FILE) (METHOD_DATA = (DIRECTORY = C:\APP))) Initializing database Master key ALTER SYSTEM SET ENCRYPTION KEY IDENTIFIED BY “AMINU9090”; To OPEN wallet ALTER SYSTEM SET ENCRYPTION WALLET OPEN IEDNITFIED BY AMINU9090; To CLOSE ALTER SYSTEM SET ENCRYPTION WALLET CLOSED IEDNITFIED BY AMINU9090; Add encrypted column to existing table ALTER TABLE table_name ADD (column_name datatype ENCRYPT Encrypt unencrypted existing table ALTER TABLE table_name MODIFY (column_name ENCRYPT) Create Table and encrypt column CREATE TABLE (column_name datatype ENCRYPT) Creating table from an existing table CREATE TABLE AS SELECT * ; VI. HƢỚNG PHÁT TRIỂN VÀ CÁC VẤN ĐỀ MỞ Open Problems and future directions 6.1. Lƣợc đồ mã hóa Encryption Scheme Trong khi tất cả các sản phẩm cơ sở dữ liệu thương mại hiện đều có sử dụng các thuật toán mã hóa cơ sở dữ liệu cổ điển, các lược đồ mã hóa cụ thể đã thu hút nhiều sự chú ý trong lĩnh vực học thuật, cụ thể trong Cơ sở dữ liệu dưới dạng mô hình dịch vụ. Trong mô hình này, các nhà cung cấp dịch vụ cơ sở dữ liệu cung cấp cho khách hàng của mình cơ chế để tạo, lưu trữ và truy cập cơ sở dữ liệu của họ tại máy chủ đặt trang web. Trong bối cảnh này, máy chủ cơ sở dữ liệu có thể quản lý dữ liệu được mã hóa mà không cần có quyền truy cập vào các khóa mã hóa (tương tự như mã hóa cấp ứng dụng). Trang 10 Mã hóa đồng bộ PH (Privacy homomorphic) bảo mật là một dạng mã hóa mà người ta có thể thực hiện một số phép toán đại số cụ thể trên bản rõ cũng như trên bản mã hóa. Ứng dụng đầu tiên của PH đến truy vấn tổng hợp trong cơ sở dữ liệu quan hệ được khai thác trong, nhưng các chức năng mã hóa PH lại không an toàn đối với các cuộc tấn công mã hóa văn bản cơ yếu. Trong nó hỗ trợ truy vấn tổng hợp phức tạp và truy vấn lồng nhau, nhưng lược đồ này có thể tiết lộ thông tin về phân phối đầu vào, điều này có thể bị khai thác. Lược đồ mã hóa OPES (Order preserving encryption schemecho) phép xây dựng các chỉ mục trực tiếp trên văn bản mã hóa. OPES có thể xử lý, không cần giải mã, bất kỳ loại câu truy vấn SQL. Không may, OPES đã được thể hiện không an toàn trong và tác giả đã giới thiệu lược đồ mã hóa so sánh nhanh FCE (fast comparison encryption) cho chiến lược mã hóa cấp cơ sở dữ liệu. FCE có thể được sử dụng để so sánh nhanh thông qua kỹ thuật giải mã từng phần. Nó mã hóa văn bản rõ theo (byte by byte) cho phép so sánh nhanh bắt đầu từ byte đánh dấu và dừng ngay khi tìm thấy sự khác biệt. Một đề xuất thay thế là sử dụng các thuật toán mã hóa cổ điển và để lưu trữ thông tin bổ sung mờ phụ trợ, bên cạnh văn bản mã hóa để cho phép một phần xử lý truy vấn trên dữ liệu được mã hóa. Thông tin phụ trợ như vậy không nên tiết lộ nội dung văn bản rõ, do đó có sự cân bằng giữa an ninh và hiệu quả: tăng độ chính xác của thông tin phụ trợ làm tăng hiệu suất xử lý nhiều hơn có thể được thực hiện trên dữ liệu được mã hóa, nhưng nó cũng làm tăng nguy cơ tiết lộ dữ liệu. 6.2. Các chiến lƣợc mã hóa cơ sở dữ liệu mới New database encryption strategies Kiến trúc hiện tại bao gồm mã hóa cơ sở dữ liệu không đầy đủ các yêu cầu như đã đề cập ở trên, các khóa mã hóa xuất hiện ở dạng văn bản rõ trong RAM của máy chủ hay của máy khách nơi ứng dụng chạy. HSM hoạt động như một nơi lưu trữ an toàn để giảm thiểu rủi ro làm giảm sự tiếp xúc với khóa mã hóa/giải mã trong suốt thời gian sống của nó. Nghiên cứu cho thấy sử dụng HSM tốt hơn, tránh phơi bày các khóa mã hóa trong toàn bộ quá trình. Hai kiến trúc có thể được xem xét: server-HSM khi HSM được chia sẻ bởi tất cả người dùng và đặt trên máy chủ; Trang 11 client-HSM khi HSM dành riêng cho một người dùng và nằm gần người dùng, có khả năng đặt trên máy khách. Hai kiến trúc này được mô tả trong hình: Hình 3. Môndun bảo mật phần cứng (HSM) chiến lược mã hóa CSDL mới Về mặt logic, máy chủ-HSM không khác gì hơn là mã hóa cấp cơ sở dữ liệu với một máy chủ bảo mật được nhúng trong HSM. HSM hiện quản lý người dùng, đặc quyền, chính sách và khóa mã hóa. Nó có cùng ưu điểm như cấp cơ sở dữ liệu mã hóa với cách tiếp cận máy chủ bảo mật nhưng không hiển thị các khóa mã hóa tại bất cứ lúc nào (kể từ khi mã hóa / giải mã được thực hiện trong HSM). Hơn nữa, máy chủ bảo mật không thể bị giả mạo vì nó được nhúng hoàn toàn vào trong HSM. Với cách tiếp cận này, dữ liệu duy nhất xuất hiện trong văn bản rõ là kết quả truy vấn được phân phối tới người dùng. Khó khăn chính của phương pháp này là sự phức tạp của nó, vì một phần mềm phức tạp phải được nhúng vào một HSM với nguồn tài nguyên tính toán bị hạn chế (do các ràng buộc về bảo mật). Trong khi đó Client-HSM tương tự với Server-HSM là mang lại lợi ích tương tự về an ninh, nó đặt ra một số thách thức mới. Thật vậy, HSM hiện được dành riêng cho một người dùng và đặt ngoài máy chủ, điều này gây khó khăn cho việc hợp tác chặt chẽ giữa máy chủ cơ sở dữ liệu và HSM. Do đó, máy chủ cơ sở dữ liệu phải mã hóa dữ liệu và cung cấp cho HSM là một siêu tập hợp kết quả truy vấn, sau đó được giải mã và lọc trong HSM. Mặc dù có những khó khăn này, vì HSM dành riêng cho một người dùng, mã nhúng là đơn giản hơn và ít đòi hỏi tài nguyên hơn, làm cho cách tiếp cận này thực tế hơn. Trang 12 6.3. Các vấn đề bảo mật khác - Other Security Issues Mã hóa dữ liệu chỉ đảm bảo bảo mật dữ liệu, nhưng không cho phép đảm bảo về tính toàn vẹn của dữ liệu, tức là trên thực tế dữ liệu đó không phải là bất hợp do pháp giả mạo hoặc sửa đổi (tính xác thực) hoặc thay thế bằng các phiên bản cũ hơn. Ngoài ra, nếu máy chủ cơ sở dữ liệu không đáng tin cậy, (ví dụ: nó có thể đã bị giả mạo bởi kẻ tấn công), nên người ta kiểm tra kết quả truy vấn đúng đắn kết quả tương ứng với đặc tả truy vấn và đầy đủ (không có kết quả truy vấn nào bị thiếu). Kỹ thuật mã hóa và cụ thể hơn các hàm băm mật mã là các thành phần quan trọng để xây dựng các kỹ thuật kiểm tra tính toàn vẹn. Thông thường, Mã xác thực thư MAC (Message Authentication Code) có thể được sử dụng để đảm bảo tính xác thực của dữ liệu và khi kết hợp với cây hàm băm MHT (Merkle Hash Tree ), có thể mang lại bằng chứng về tính chính xác và đầy đủ. Đảm bảo yếu tố tin cậy là cần thiết để giữ thông tin hiện tại của từng dữ liệu. Sử dụng các kỹ thuật mã hóa “as-is” để đảm bảo có tác động cực lớn đến kích thước cơ sở dữ liệu (ví dụ: MAC, 20 byte được thêm vào mỗi giá trị thuộc tính được mã hóa trong TDE của Oracle 11g để đảm bảo dữ liệu tính xác thực) và tăng hiệu suất cơ sở dữ liệu, do đó thúc đẩy nhiều người đang thực hiện nghiên cứu về các chủ đề đó. Ví dụ: trong Cơ sở dữ liệu dưới dạng dịch vụ (DAS), khi MHT áp đặt các ràng buộc, đồng thờ làm chậm các quá trình cập nhật dữ liệu, dẫn đến một phương pháp xác thực dựa trên chữ ký mới đã được giới thiệu gần đây, cho kiểm tra tính xác thực, đầy đủ và độ mới của câu trả lời truy vấn. Ngoài ra, một số cách tiếp cận xác suất cũng được sử dụng để đảm bảo tính toàn vẹn cho cơ sở dữ liệu. Trang 13 TÀI LIỆU THAMTHẢO 1. Database encryption, Luc Bouganim, Yanli Guo, 2009 https://hal.archives-ouvertes.fr/hal-00623915 với tên tệp BOUGA_B6_ENC_CRYPT_2009.pdf 2. Performance Analysis of the Encryption Algorithms as Solution to Cloud Database Security https://pdfs.semanticscholar.org/34f5/b715b734baa4d5cf843fe3e6322ca2940d4d.pdf

Các file đính kèm theo tài liệu này:

  • pdftieu_luan_ma_hoa_co_so_du_lieu_database_encryption.pdf