Bài viết trình bày tổng quan về các bài toán liên quan đến khóa mã và quyền truy cập của người dùng; đề xuất mô hình quản lý khóa và cơ chế truy cập dữ liệu của người dùng, phương pháp đổi khóa mức cột; chứng minh tính hiệu quả của phương pháp đề xuất, cuối cùng là kết luận và hướng nghiên cứu tiếp theo.
Journal of Science and Technique - Le Quy Don Technical University - No 199 (6-2019) QUẢN LÝ VÀ THAY ĐỔI KHĨA CƠ SỞ DỮ LIỆU MÃ HĨA TRÊN MƠI TRƯỜNG TH NGỒI Hồ Kim Giàu1 , Nguyễn Hiếu Minh2 Tóm tắt Chủ sở hữu liệu thuê dịch vụ sở liệu (Outsourced database) muốn bảo vệ thông tin (tránh bị đánh cắp, sửa đổi liệu, ) trước kẻ công môi trường internet kể từ nhà cung cấp dịch vụ Để bảo vệ liệu mình, thơng tin quan trọng, người chủ sở hữu liệu dùng phương pháp mã hóa liệu trước lưu trữ lên đám mây Khi khai thác liệu, người dùng truy vấn thông tin liệu mã sử dụng khóa cung cấp chủ sở hữu để giải mã kết truy vấn Trong mơ hình đa người dùng, chủ sở hữu phải có chiến lược quản lý phân phối khóa để hạn chế quyền truy cập cá nhân khai thác liệu, đồng thời phải có phương pháp thay đổi khóa phù hợp để tránh cơng lộ thơng tin khóa từ người dùng Một phương pháp đổi khóa ngây thơ tải toàn sở liệu để giải mã, đổi khóa mã hóa, cập nhập lại liệu Nếu sở liệu lớn, cách tiếp cận tốn nhiều thời gian xử lý tài nguyên hệ thống Trong báo này, giới thiệu mơ hình quản lý truy cập đa người dùng đề xuất phương pháp thay đổi khóa mơ hình quản lý khóa mức cột Kết thực nghiệm chứng minh hiệu phương pháp đề xuất có khả áp dụng vào thực tế Từ khóa Cơ sở liệu thuê ngoài; bảo mật liệu; khóa người dùng; quản lý khóa, thay khóa Giới thiệu Điện toán đám mây đời phát triển nhanh chóng xuất nhiều dịch vụ, giải pháp hữu ích th ngồi sở liệu dịch vụ cung cấp cho người dùng giải pháp thiết yếu để giảm chi phí lưu trữ, bảo trì sở liệu Khi sở liệu (CSDL) đưa lên dịch vụ th ngồi người chủ sở hữu liệu (Data Owner - DO) giao toàn quyền lưu trữ, quản trị cho nhà cung cấp dịch vụ (Database Service Provider – DSP); vậy, DSP xem nội dung liệu DO, điều vi phạm tính bí mật liệu, đặc biệt liệu nhạy cảm như: thông tin cá nhân, tài khoản ngân hàng Ngồi ra, có nhiều kẻ công môi trường internet luôn muốn khai thác, đánh cắp liệu Để đảm bảo tính bí mật liệu, DO phải có biện pháp ngăn chặn truy cập trái phép trình lưu trữ khai thác CSDL Học viện Kỹ thuật quân sự, Học viện Kỹ thuật mật mã 77 Section on Information and Communication Technology (ICT) - No 13 (6-2019) Dữ liệu mã hoá Tru yv Người dùng Kế t ấn qu ả u liệ ập h iệu pn ữl Cậ yd Lấ Internet Nhà cung cấp dịch vụ thuê CSDL Chủ sở hữu liệu Hình Mơ hình bảo mật th ngồi sở liệu Giải pháp thông thường để bảo vệ CSDL dịch vụ th ngồi mã hóa liệu Hacigumus [1] người đưa giải pháp thực truy vấn CSDL mã hóa Cơ chế mã hóa sở liệu Hacigumus mã hóa theo ghi, dùng chuyển đổi truy vấn kết hợp với mục lưu trữ phía người dùng để thực tính tốn liệu mã hóa Việc định nghĩa mục DO đặt khơng có chế phân quyền quản lý khóa A Popa cộng [2] trình bày mơ hình mã hóa cách thức thực thi truy vấn CSDL mã hóa cách sử dụng máy chủ làm trung gian gọi CryptDB proxy CryptDB proxy quản lý lược đồ CSDL thực chuyển đổi câu truy vấn người dùng DSP Máy chủ DSP lưu trữ lược đồ ẩn danh (tên bảng tên cột thay định danh), liệu người dùng mã hóa, số bảng phụ trợ sử dụng CryptDB Mỗi trường CSDL rõ mã hóa thành nhiều lớp củ hành (onion) phục vụ nhiều mục đích truy vấn tương ứng khóa bí mật quy định DO lưu trữ CryptDB proxy Tuy nhiên, đề xuất chưa đưa phương pháp thay đổi khóa bí mật nghi ngờ an toàn Các nghiên cứu [3], [4], [5], [6] dùng cấu trúc (XML) lưu trữ thông tin phụ trợ để hỗ trợ truy vấn truy vấn trực tiếp liệu mã Tuy nhiên, nghiên cứu dùng chung khóa mã hóa cho tồn CSDL Điều dẫn đến công theo kiểu bắt tay: người dùng có khóa mã nhân viên nhà cung cấp dịch vụ có tồn sở liệu họ thoả hiệp để giải mã tất liệu mà bỏ qua bước xác thực truy cập Để hạn chế khả truy cập liệu người sử dụng, DO phải bổ sung chế quản lý truy cập (FAGC: Fine-Grained Access Control) cho nhiều người dùng với nhiều quyền khác Có nhiều mức độ kiểm soát truy cập: mức sở liệu (toàn quyền truy cập CSDL), mức bảng, mức cột, mức dịng Trong mức sở liệu đơn giản với khóa chung dễ bị rị rỉ thơng tin khóa bị lộ Mức dịng là mức bảo mật cao khó quản lý cần nhiều khóa tốn nhiều thời gian sinh khóa Hong cộng [7] đề xuất RST (Resource Set Tree) để quản lý khóa truy cập người dùng Cây RST mà nút chứa danh sách lớp người dùng có quyền truy cập vào tập liệu, nhiên phương pháp không đưa mối quan hệ người dùng với khóa mã CSDL Hang cộng [8] đề xuất mơ hình ENKI cho phép quản lý quyền truy cập Khi người dùng xác thực máy chủ họ có khóa (masterkey) để giải mã khóa 78 Journal of Science and Technique - Le Quy Don Technical University - No 199 (6-2019) mã hóa lưu trữ tập khóa Hang dùng trình điều khiển JDBC (có sửa đổi) để viết lại câu truy vấn để thực thi câu truy vấn liệu mã Tuy nhiên, phương pháp khơng đề xuất việc thay đổi khóa mã hóa CSDL Các phương pháp nghiên cứu sinh khóa quản lý truy cập người dùng chưa quan tâm giải tốn thay khóa cho sở liệu th ngồi cần thiết như: lộ khóa từ người dùng hay thu hồi quyền người dùng Điều dẫn đến tính bí mật liệu khơng cịn nhiều ý nghĩa Trong vấn đề liên quan đến tính bí mật liệu, tốn phân phối khóa tốn thay khóa tốn quan trọng góp phần bảo vệ liệu trước công môi trường internet Trong phạm vi nghiên cứu này, nhóm đề xuất giải pháp quản lý truy cập người dùng theo mức cột Cách tiếp cận bảo bảo tính an tồn cho CSDL mà thời gian sinh khóa, truy cập khóa nhanh Bên cạnh đó, báo đề xuất phương pháp thay khóa cho liệu với thời gian thực ngắn, đáp ứng tính sẵn sàng liệu Phần cịn lại báo trình bày sau: Phần trình bày tổng quan tốn liên quan đến khóa mã quyền truy cập người dùng, phần đề xuất mơ hình quản lý khóa chế truy cập liệu người dùng, phần đề xuất phương pháp đổi khóa mức cột, phần kết chứng minh tính hiệu phương pháp đề xuất, cuối kết luận hướng nghiên cứu Tổng quan 2.1 Bài tốn phân phối khóa Khóa mã vấn đề quan trọng toán bảo mật Khóa dùng để mã hóa giải mã liệu theo thuật tốn mã hóa cho trước Cho CSDL có t bảng, giả sử bảng có m cột n ghi Nếu ta thực mã hóa theo mức dịng phân phối khóa cho U người dùng số lượng khố tối đa cần phải quản lý t × n × U Cụ thể toán quản lý điểm sinh viên, CSDL mã hóa để bảo đảm người quản trị vào CSDL sửa đổi điểm sinh viên Mỗi giáo viên có quyền xem sửa điểm dạy nên cấp khóa để mã hóa - giải mã điểm Khi tính điểm trung bình, hệ thống phải cần tất khóa giáo viên có liên quan để giải mã điểm trước tính tốn Mã hóa liệu theo mức cột (trường) tính bảo mật liệu thấp mức dòng liệu cột dùng chung khóa mã Như vậy, số lượng khóa mã cần có là: t×m Tuy nhiên, ta cần có chế quản lý truy cập để hạn chế quyền người dùng vào cột liệu tương ứng Giả sử với bảng T (f1 , f2 , , fm ), người dùng u muốn truy cập vào thuộc tính fi phải có khóa ki , i = 1, , m 2.2 Bài tốn thay khóa Bài tốn thay khóa q trình thực thay đổi lại khóa mã liệu mã hóa sở liệu thuê ngồi Bài tốn thường đặt trường hợp 79 Section on Information and Communication Technology (ICT) - No 13 (6-2019) Bảng Ma trận kiểm soát truy cập cho bảng t1 u1 u2 up f1 f2 1 fm 1 DO muốn lấy lại quyền người dùng lo ngại khóa người dùng khơng cịn an tồn Một phương pháp ngây thơ (naive method) nghĩ đến là: • • • • Bước Bước Bước Bước 1: 2: 3: 4: DO tải toàn CSDL máy chủ mình, Giải mã CSDL khóa có, Mã hóa tồn liệu khóa mã mới, Lưu trữ liệu mã hóa lên CSDL th ngồi Vấn đề đặt CSDL có dung lượng lớn (đơn vị từ Gigabytes, Terabytes ) phương pháp ngây thơ tốn nhiều thời gian khơng thực Thuật tốn đổi khóa ngây thơ đề xuất nghiên cứu [9] thời gian thực mô tả khả thực thi phương pháp 2.3 Quản lý quyền truy cập liệu Quản lý quyền truy cập liệu toán bảo vệ tính riêng tư liệu Nghĩa là, người dùng phép truy cập vào liệu mà DO cấp quyền Trong mơ hình liệu th ngồi, DO phân quyền người dùng bảng CSDL lưu đám mây DSP xâm hại mà không thông qua chế quản lý truy cập Như vậy, muốn tăng tính an tồn cho CSDL, đề xuất đặt DO phân quyền quản lý truy cập máy chủ mình, đồng thời DO phải kiểm tra quyền người dùng trước cho phép người dùng truy vấn đến liệu thuê Để quản lý quyền truy cập liệu người dùng, DO dùng ma trận kiểm soát truy cập Cho bảng T (f1 , f2 , , fm ), người dùng U (u1 , u2 , , up ) Ma trận kiểm soát truy cập A biểu diễn bảng Trong đó, A [i, j] = người dùng thứ i truy cập vào cột liệu thứ j với ≤ i ≤ p, ≤ j ≤ m Ngược lại, A [i, j] = nghĩa người dùng thứ i không truy cập vào cột liệu thứ j Tuỳ vào toán phân quyền cụ thể mà ma trận kiểm soát truy cập thay đổi cột f1 , f2 , , fm thành mức bảng, dòng Véc-tơ quyền truy cập người dùng ui = f2 , f3 , fk , nghĩa người dùng thứ i quyền truy xuất vào cột f2 , f3 , fk Véc-tơ quyền truy cập cột fi = {u1 , u3 , uk , } nghĩa người dùng 1, 2, k quyền truy cập vào cột thứ i 80 Journal of Science and Technique - Le Quy Don Technical University - No 199 (6-2019) Hình Cây quản lý khóa KMT CSDL Quản lý khóa truy cập liệu người dùng 3.1 Mơ hình quản lý khóa Xét bảng T (f1 , f2 , , fm ) với f1 , f2 , , fm thuộc tính; T chứa n ghi r = (ri1 , ri2 , rim ), rij liệu dòng thứ i cột thứ j với ≤ i ≤ n, ≤ j ≤ m Mã hóa liệu mức cột Ek thuộc tính f với khóa k định nghĩa sau: Ek (f ) := {Ek (ri )|ri ∈ f ; i = 1, , n} (1) Mã hóa bảng T (f1 , f2 , , fm ) mã hóa tất thuộc tính f1 , f2 , , fm liệu thuộc tính đó: E(T ) := (Ek1 (f1 ), Ek2 (f2 ), , Ekm (fm )) = {Ek1 (ri1 ), Ek2 (ri2 ), , Ekm (rim )|rij ∈ fj ; i = 1, , n; j = 1, , m} (2) Trong công thức (2), tập K (k1 , k2 , , km ) tập khóa mã bảng T Ta gọi K tập khóa mã theo mức cột T Có nhiều hình thức tổ chức quản lý khóa mã, dùng (tree) để quản lý khóa phương pháp dễ xây dựng, truy xuất nhanh Mỗi sở liệu có quản lý khóa gọi KMT (Key Management Tree) Nút gốc (mức 1) KMT tên sở liệu, mức tên bảng, mức tên trường nút khóa cột Cây KMT quản lý tập trung khóa cột CSDL, dễ dàng quản lý, thay đổi khóa cần thiết thay giao khóa cho người dùng Muốn truy xuất đến khóa cột bảng, ta cần biết tên bảng tên cột Khi kết hợp KMT với ma trận kiểm soát truy cập (bảng 1), người dùng phép truy cập vào cột với khóa cột KMT Cho CSDL DB gồm bảng t1(f 11, f 12, f 13), t2(f 21, f 22) tập khóa mã mức cột bảng t1, t2 tương ứng K1 (k11, k12, k13), K2 (k21, k22) Cây KMT biểu diễn hình 2, giá trị 0, 1, thứ tự nút Khi tổ chức cấu trúc liệu, ta biểu diễn KMT mảng quản lý khóa bảng Giả sử nút có cấu trúc Node (Label, index) Ta dùng mảng K chứa nút IX vị trí nút X mảng K 81 Section on Information and Communication Technology (ICT) - No 13 (6-2019) Bảng Cấu trúc quản lý khóa MHT DB t1 t2 f11 f12 f13 f21 f22 k11 k12 10 k13 11 k21 12 k22 -1 0 1 2 ← Chỉ số mảng ← Nhãn nút ← Chỉ số nút cha (=-1 nút khơng có cha) Tính chất: • • Nếu R nút gốc, IR = −1 Nút B nút A B.index = IA Mặc dù DO quản lý lưu trữ khóa server để tránh trường hợp nhân viên can thiệp bất hợp pháp, DO phải mã hóa khóa khóa M K riêng Quá trình tạo KMT đề xuất thuật toán Algorithm Thuật toán tạo khóa KMT Input: Outsourced database name Output: Encrypted KMTree 1: KMTree ← createRoot("Database", "DBName", DBname); 2: tableName ← getTableName(DBname); 3: for each tb ∈ tableName 4: tNode ← createNode("Table", "TableName", tb); 5: KMTree.appendChild(tNode); 6: fieldName ← getColumnName(DBname, tb); 7: for each f ∈ fieldName 8: key ← KeyGen(λ) 9: tNode.addNode("Field", "FieldName", f, key) 10: end for 11: end for 12: Outfile ← Encrypt(KMTree) Số lượng bảng sở liệu Sd , số cột bảng khác nhau, với Sf số lượng cột lớn bảng Ta quy ước thời gian tạo khóa hàm KeyGen() tg ; Thao tác thêm nút vào thao tác gán số nút cha cho nút tk Độ phức Sd tạp thời gian tính tốn thuật tốn là: O = Sf (tg + tk ) = Sd Sf tg + Sd Sf tk = n=1 f =1 max(Sd Sf tg , Sd Sf tk ) 3.2 Mơ hình quản lý truy cập liệu người dùng Mỗi người dùng có quyền truy cập liệu mức cột khác DO quản lý Như vậy, để truy cập cột cấp phép người dùng phải cung cấp khóa cột tương ứng Điều dẫn đến việc người dùng phải giữ nhiều khóa Các nghiên cứu [10], [7] đề xuất phương pháp suy dẫn khóa người dùng thuật toán 82 Data result XM L Chủ sở hữu liệu e ry Quesult R tre e Querier Server Journal of Science and Technique - Le Quy Don Technical University - No 199 (6-2019) KMT Máy chủ DO Thông tin người dùng + câu truy vấn Khoá ui Kết truy vấn (qua TLS) ui Kết mã Truy vấn người dùng Người dùng Ma trận kiểm soát truy cập f1 f2 fm 1 f1 f2 fm k11 k12 Tru yv ấn Kế tq uả Người dùng p Cậ Khoá giải mã ập nh u liệ iệu ữl yd Lấ Chủ sở hữu liệu Nhà cung cấp dịch vụ th ngồi CSDL Hình Mơ hình truy cập liệu người dùng Dữ liệu mã hoá Queriers Tru CRT (Chinese Remainder Theorem) quản lý khóa nhị phân; Tuy nhiên, số yv ấn Kế t Người dùng cần giữ qu lượng khóa người dùng truy cập liệu nhiều Bên cạnh đó, việc sinh ả Internet khóa suy dẫn khóa tốn nhiều thời gian số lượng người dùng thay đổi liên u liệ ữ tục Để giải vấn đề này, đề xuất giải pháp người dùng sử dụng ID d ập u nh liệ ữnhập ập người dùng, mật Cđăng mà không giữ khóa mã cấpcủa CSDL Khi người d Nhà cung dịch vụ y Lấ thuê CSDL dùng ui truy vấn liệu máy chủ DO xác thực DO dựa vào ma trận quản lý truy cập A để có tên cột liệu mà ui truy cập, đồng thời giải mã sở hữu liệuđược khóa cột tương ứng quyền truy cập người dùng KMT từ Chủ biết cung cấp dịch vụ tạo bảng khóa tạm thời Kui Bảng KuNhà giữ máy chủ DO khơng can i th ngồi CSDL thiệp từ người dùng Sau đó, ui truy vấn liệu(DSP) theo ma trận kiểm soát truy cập Tạo khố để lấy thơng tin cần thiết DO giải2 mã liệu khóa bảng Kui Việc CSDL mã hoá vấn trả người dùng máy chủ DO trao đổi thông tin người dùng,Lưu kếttrữ truy kèm chữ ký lên DSP Chủ sở hữu thông qua giao thứcdữTLS (Transport Layer Security)4 để bảo đảm liệu khôngChủbịsở hữu liệu liệu Trả liệu mã công theo dạng man (DO) in the middle Cơ chế truy cập liệu người dùng thực (DO) kèm chữ ký qua bước sau: vấn ruy T • • • • Bước 1: Người dùng gửi thông tinc vàngười dùng thông qua giao thức TLS Sau Xác thự trả liệu rõ máy chủ xác thực, người dùng gửi câu truy vấn liệu đến máy chủ DO Người dùng Máy chủ trung gian (proxy server) khóa mã DO để giảiNgười Máy chủ dựa vào ma trận kiểm soát truy cập dùng mãdùng KMT Từ đó, máy chủ đưa bảng khóa người dùng Bước 2: Máy chủ DO dựa vào ma trận kiểm soát truy cập để truy vấn cột liệu mà người dùng phép truy cập DSP Bước 3: DSP trả kết truy vấn liệu mã hóa máy chủ DO Bước 4: Máy chủ DO dựa vào bảng khóa người dùng giải mã liệu, trả kết liệu rõ cho người dùng thông qua giao thức TLS Với chế truy cập liệu người dùng đề xuất người dùng quản lý thông tin người dùng mà không nắm giữ thơng tin khóa khóa KMT nên khơng thể cơng theo hình thức thoả hiệp Bên cạnh đó, khóa quản lý máy chủ DO số lượng khóa tương ứng với số cột bảng sở liệu 83 Data Owner Lưu trữ CSDL mã hoá lên DSP T y Tru vấn Xác thực trả liệu rõ Section on Information and Communication Technology (ICT) - No 13 (6-2019) nên việc thay khóa tương đối dễ dàng, khơng ảnh hưởng không phụ thuộc đến người dùng tham gia hệ thống Phương pháp đổi khóa sở liệu mã hóa 4.1 MapReduce MapReduce mơ hình lập trình cho phép xử lý khối lượng liệu lớn cách chia công việc thành nhiệm vụ độc lập thực tác vụ song song thơng qua cụm máy tính (cluster) [11] Lợi lớn chương trình thực MapReduce chạy nút (node) trung tâm xử lý (một, hàng trăm hay hàng nghìn nút) mà khơng quan tâm đến mã lệnh chương trình Lập trình MapReduce việc tạo hai hàm map() reduce(), hàm thực song song nút tính tốn Giai đoạn đầu MapReduce giai đoạn map MapReduce tự động phân chia liệu đầu vào cho nút tính tốn trung tâm liệu Mỗi nút tính tốn chạy hàm map() với mục đích chia nhỏ liệu Trong giai đoạn map, hàm map() xử lý đầu vào cặp khóa-giá trị (key-value), tạo cặp khóa-giá trị trung gian chuyển thành đầu vào cho giai đoạn reduce Giai đoạn thứ hai giai đoạn reduce Giai đoạn tổng hợp xử lý liệu trung gian từ giai đoạn map Reduce thực nút tính tốn, nút nhận khóa, tuỳ thuộc vào giá trị giai đoạn map mà chia sẻ khóa cho nút xử lý, sau tổng hợp lại thành giá trị cho khóa 4.2 Đề xuất phương pháp đổi khóa mức cột Thay đổi khóa mã sở liệu mã hóa nhằm mục đích bảo vệ liệu trước nguy bị lộ khóa Đây tốn tốn nhiều thời gian xử lý nhớ giải theo phương pháp ngây thơ [9] Đổi khóa CSDL mức cột thay đổi khóa cũ cột bảng liệu khóa tương ứng cột Để đổi khóa cho sở liệu mã hóa, ta phải tạo khóa KMT (bài tốn tổng qt thay đổi khóa tất cột bảng, trường hợp riêng thay đổi số cột cụ thể mã hóa số cột nhạy cảm CSDL tập tốn này) tiến hành thay khóa cũ khóa tương ứng từ khóa KMT cũ KMT liệu bảng Thuật tốn đổi khóa liệu mã hóa mức cột thực MapReduce theo bước sau đây: • • • 84 Bước 1: Chuyển bảng từ sở liệu thuê thành tập tin có định dạng HDFS hadoop framework Bước 2: Sử dụng MapReduce để thực đổi khóa với tập tin đầu vào chứa nội dung bảng liệu Quá trình thực song song cụm máy tính Dữ liệu đầu tập tin HDFS (thuật toán 2) Bước 3: Cập nhập liệu tập tin HDFS hadoop lên sở liệu thuê Journal of Science and Technique - Le Quy Don Technical University - No 199 (6-2019) Hình Mơ hình đổi khóa Map-Reduce Algorithm Thuật toán MR-EncColumnKeyChange Input: HDFS file after imported database Output: HDFS file with key change 1: listOldKey ← getKeyFromKMT("OldKMT.file"); 2: listNewKey ← getKeyFromKMT("NewKMT.file"); 3: Send (listOldKey, listNewKey) to REDUCE function 4: procedure MAP (key, value) 5: emit(key, value) 6: end procedure 7: procedure REDUCE (key, value) 8: list[] ← split key by ’, ’ 9: i=0 10: for each data ∈ list 11: plaintext = DeclistOldKey(i) (data) 12: ciphertext = EnclistNewKey(i) (plaintext) 13: newkey.concat(ciphertext + "|") 14: i++; 15: end for 16: emit(newkey, value) 17: end procedure Q trình thay khóa liệu mã mơ tả hình Dữ liệu từ tập tin HDFS xử lý qua hai giai đoạn: map reduce Giai đoạn map, dòng liệu ghi chia thành nhiều phần xử lý nhiều cụm máy tính(cluster); Giai đoạn reduce tiến hành giải mã mã hóa (thay khóa) giá trị kết giai đoạn map Kết thúc hai giai đoạn ta thu tập tin mã hóa với khóa mã 85 Section on Information and Communication Technology (ICT) - No 13 (6-2019) Thời gian thực đổi khóa theo mức cột tổng thời gian trình chuyển liệu từ CSDL thuê thành tập tin định dạng HDFS hadoop, thời gian xử lý thay khóa bảng liệu thời gian cập nhập liệu từ hadoop lên máy chủ dịch vụ Trong đó, ta quan tâm đến thời gian xử lý thay khóa, lúc số lượng liệu cần xử lý lớn Thời gian chuyển đổi liệu từ DSP vào trung tâm tính tốn MapReduce ngược lại phụ thuộc trình phân chia xử lý, tính tốn quản lý cụm máy tính Giai đoạn thực đổi khóa mức cột bảng CSDL đề xuất thuật toán Một hàm map() làm việc nút nên số lần thực đồng thời hàm map() x (x số nút MapReduce) Thời gian cho lần lặp liệu map() nút n (n số lượng ghi) Như vậy, thời gian cần thực xong map() x nút n/x Hàm reduce() thực đổi khóa, nghĩa giải mã mã hóa lại liệu giữ nguyên số lượng ghi Giả sử thời gian giải mã mã hóa tkc Số lượng cột bảng CSDL Sf Như vậy, thời gian thực đổi khóa xong ghi Sf tkc Từ đó, ta có thời gian hàm reduce() thực x nút n.Sf tkc /x Khi thực xong map() tương ứng cho việc thực reduce() Do đó, độ phức tạp thời gian tính tốn thuật tốn O(n) = (n/x)(n.Sf tkc /x) = n2 Sf tkc /x2 Kết thử nghiệm Để đánh giá mơ hình đổi khóa đề xuất, chúng tơi thực thử nghiệm máy tính CoreTM i7-6700 CPU @ 3.40GHz x 8, Ram 8GB Hệ điều hành Ubuntu 16.10, sở liệu TPC-H [12] với 1GB liệu; Thuật tốn mã hóa/giải mã AES-128 bit chế độ OFB, ngơn ngữ lập trình Java CSDL TPC-H có bảng cột bảng tương ứng là: 1) nation(n_nationkey, n_name, n_regionkey, n_comment); 2) region(r_regionkey, r_name, r_comment); 3) part(p_partkey, p_name, p_mfgr, p_brand, p_type, p_size, p_container, p_retailprice, p_comment); 4) supplier(s_suppkey, s_name, s_address, s_nationkey, s_phone, s_acctbal, s_comment); 5) partsupp(ps_partkey, ps_suppkey, ps_availqty, ps_supplycost, ps_comment); 6) customer(c_custkey, c_name, c_address, c_nationkey, c_phone, c_acctbal, c_mktsegment, c_comment); 7) orders(o_orderkey, o_custkey, o_orderstatus, o_totalprice, o_orderdate, o_orderpriority, o_clerk,o_shippriority, o_comment); 8) lineitem(l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment); Với cấu trúc bảng sở liệu TPC-H, tiến hành tạo khóa cho cột theo thuật tốn Trong đó, thuật tốn KeyGen(λ) thuật tốn khởi tạo khóa AES Thời gian tạo KMT 1.534s, dung lượng lưu trữ 4.8 KB Cây 86 Journal of Science and Technique - Le Quy Don Technical University - No 199 (6-2019) Bảng Thời gian thực đổi khóa NaiveKeyChange[9] bước đổi khóa mức cột MapReduce Tên bảng Số ghi customer lineitem nation orders part partsupp region supplier 150000 6001215 25 1500000 200000 800000 10000 Thuật toán Naive KeyChange(s) 6908.127 309241.736 1.499 100763.852 9526.048 36963.637 0.595 449.528 Bước CSDL→HDFS(s) 18.897 218.252 16.571 42.734 28.198 26.125 21.734 16.766 Bước Đổi khóa(s) 36.312 1376.162 18.670 202.997 43.239 76.680 17.518 19.995 Bước HDFS→CSDL(s) 66.872 4963.679 38.101 618.088 92.563 219.674 19.521 25.807 KMT quản lý khóa cột bảng CSDL nên phụ thuộc vào cấu trúc CSDL mà khơng phụ thuộc vào kích thước liệu Việc tăng kích thước liệu khơng ảnh hưởng đến thời gian tạo dung lượng Q trình thực thuật tốn đề xuất (thuật tốn 2) thay đổi khóa tất cột liệu bảng CSDL tương ứng với khóa KMT cũ KMT chạy Hadoop 2.7.0 [13] máy tính Kết thời gian tính tốn mơ tả bảng Thời gian thực đổi khóa mức cột MapReduce: tM R = tI + tC + tE ; tI thời gian nạp bảng từ sở liệu thuê thành tập tin định dạng HDFS Hadoop, tC thời gian thực thay đổi khóa MapReduce, tE thời gian xuất liệu từ Hadoop lên sở liệu thuê ngồi Thời gian thực thuật tốn NaiveKeyChange trình bày [9] Dựa vào bảng 3, tồn thời gian đổi khóa phương pháp đề xuất so sánh với phương pháp NaiveKeyChange hình Kết thực nghiệm cho thấy, liệu bảng có ghi region: dịng, nation: 25 dịng thời gian thực ngây thơ nhanh so với phương pháp đề xuất tương ứng 0.6s/58.773s, 1.5s/73.342s Tuy nhiên, bảng có số lượng ghi đáng kể supplier với 10.000 dịng thời gian thực phương pháp ngây thơ 7.48 phút phương pháp đề xuất 62.568s Thậm chí bảng orders có 1.5 triệu ghi thời gian thực phương pháp ngây thơ ≈ 28 giờ, lớn so với 14 phút phương pháp đề xuất Hình cho thấy thời gian thực số lượng ghi lớn thay đổi không đáng kể so với số lượng ghi nhỏ Nghĩa liệu lớn, hiệu phương pháp đề xuất cao Khi số lượng ghi khoảng triệu (bảng lineitem) phương pháp ngây thơ thực khoảng 3.5 ngày, lâu để tạo phiên bảo trì CSDL xem khơng khả thi cho tính sẵn sàng liệu, phương pháp đề xuất thực đổi khóa khoảng thời gian 1.8 87 Section on Information and Communication Technology (ICT) - No 13 (6-2019) 350,000 Đổi khoá ngây thơ Đổi khoá mức cột đề xuất Thời gian thực (s) 300,000 250,000 200,000 150,000 100,000 50,000 25 10,000 150,000 200,000 800,000 1,500,000 6,001,215 Số lượng ghi (dòng) Hình Kết thực đổi khóa ngây thơ đề xuất Kết luận Chủ sở hữu bảo vệ liệu trước nguy cơng cách mã hóa liệu bảo vệ khóa mã, quản lý quyền truy cập Khi khóa mã khơng cịn an tồn, chủ sở hữu phải thay khóa Trong báo này, chúng tơi đề xuất mơ hình quản lý khóa, quản lý truy cập người dùng mà người dùng quản lý thông tin người dùng không nắm giữ thông tin khóa mã CSDL nên khơng thể cơng theo hình thức thoả hiệp Bên cạnh đó, số lượng khóa mã CSDL với số cột bảng quản lý máy chủ DO nên việc thay khóa tương đối dễ dàng, khơng phụ thuộc đến người dùng tham gia hệ thống Bên cạnh đó, báo đề xuất phương pháp thay khóa với thời gian thực ngắn, đảm bảo cho sở liệu sẵn sàng hoạt động thay khóa Kết chứng minh liệu lớn, tính hiệu phương pháp cao, mà phương pháp tiếp cận ngây thơ khó thực Hướng phát triển tiếp theo, nghiên cứu tốn quản lý phân phối khóa mức dịng kết hợp với việc xác thực tính tồn vẹn liệu, nghĩa khóa người dùng kèm theo thơng tin hỗ trợ kiểm tra liệu trả từ nhà cung cấp dịch vụ xác Tài liệu tham khảo [1] H Hacigumus, B Iyer, C Li, and S Mehrotra, “Executing sql over encrypted data in the database-serviceprovider model,” in Proceedings of the 2002 ACM SIGMOD international conference on Management of data ACM, 2002, pp 216–227 [2] R A Popa, C Redfield, N Zeldovich, and H Balakrishnan, “Cryptdb: Processing queries on an encrypted database,” Communications of the ACM, vol 55, pp 103–111, 2012 88 Journal of Science and Technique - Le Quy Don Technical University - No 199 (6-2019) [3] R Brinkman, L Feng, J Doumen, P H Hartel, and W Jonker, “Efficient tree search in encrypted data.” Information systems security, vol 13, no 3, pp 14–21, 2004 [4] B H K Chen, P Y S Cheung, P Y K Cheung, and Y K Kwok, “Cypherdb: A novel architecture for outsourcing secure database processing,” IEEE Transactions on Cloud Computing, 2015 [5] Z.-F Wang and A.-G Tang, “Implementation of encrypted data for outsourced database,” in Computational Intelligence and Natural Computing Proceedings (CINC), 2010 Second International Conference on, vol IEEE, 2010, pp 150–153 [6] S Tu, M F Kaashoek, S Madden, and N Zeldovich, “Processing analytical queries over encrypted data,” in Proceedings of the VLDB Endowment, vol VLDB Endowment, 2013, pp 289–300 [7] S Hong, H.-I Kim, and J.-W Chang, “An efficient key management scheme for user access control in outsourced databases,” World Wide Web, vol 20, no 3, pp 467–490, 2017 [8] I Hang, F Kerschbaum, and E Damiani, “Enki: Access control for encrypted query processing,” in Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data, ser SIGMOD ’15 New York, NY, USA: ACM, 2015, pp 183–196 [Online] Available: http://doi.acm.org/10.1145/2723372.2749439 [9] H K Giàu, V T Đào, and N H Minh, “Thay đổi khoá sở liệu mã hố mơi trường th ngồi,” in Một số vấn đề chọn lọc an tồn an ninh thơng tin, 2017 [10] T Hue, G Luyen, N Kha, S Wohlgemuth, I Echizen, D Thuc, and T Thuy, “An efficient fine-grained access control mechanism for database outsourcing service,” in Information Security and Intelligence Control (ISIC), 2012 International Conference on IEEE, 2012, pp 65–69 [11] J Dean and S Ghemawat, “Mapreduce: a flexible data processing tool,” Communications of the ACM, 2010 [Online] Available: http://dl.acm.org/citation.cfm?id=1629198 [12] http://www.tpc.org/tpch/ [Online] Available: http://www.tpc.org/tpch/ [13] http://hadoop.apache.org/ [Online] Available: http://hadoop.apache.org/ Ngày nhận 01-2-2018; Ngày chấp nhận đăng 16-10-2018 Hồ Kim Giàu Tốt nghiệp Đại học Khoa học - Tự nhiên, TP Hồ Chí Minh năm 2005 Nhận Thạc sỹ Học viện Bưu Viễn thơng TP.Hồ Chí Minh năm 2011 Đơn vị cơng tác: Trường Đại học Thơng tin liên lạc, Khánh Hồ Hiện làm nghiên cứu sinh Học viện Kỹ thuật Quân Email: hkgiau@gmail.com Hướng nghiên cứu nay: An tồn mạng, an tồn bảo mật thơng tin PGS TS Nguyễn Hiếu Minh Đơn vị công tác: Học viện Kỹ thuật mật mã, Bộ Quốc phòng, Hà Nội E-mail: hieuminhmta@gmail.com Tốt nghiệp đại học Thạc sĩ chuyên ngành Vô tuyến Điện tử, Học viện Kỹ thuật Quân năm 1993 1999 Nhận Tiến sĩ Công nghệ Thông tin - Đại học Kỹ thuật Điện Saint-Peterburg, Liên bang Nga năm 2006 Hướng nghiên cứu nay: An tồn mạng, mật mã, cơng nghệ mạng 89 Section on Information and Communication Technology (ICT) - No 13 (6-2019) MANAGEMENT AND CHANGING OF KEY FOR ENCRYPTED DATA IN OUTSOURCED DATABASE Abstract Data owners who have been outsourced database always want to protect information (avoid being stolen, modified data, ) from the attacker on internet and even from the service provider To protect their data, the data owners encrypt data before storing it in the cloud When querying data, users retrieve encrypted data and decrypt it by using key which is provided by data owner In a multi-user model, the data owner must have key management and distribution to protect database from illegal accesses On the other hand, changing the key is necessary to avoid attacks due to the disclosure of key information A naive method to change the key is to download the whole database to decrypt them, change the key, encrypt them, and then update the data If the database is huge, this approach will take a lot of processing time and system resources In this paper, the authors introduce a multi-user access management model and suggest a method of changing the key on a column-level management model The experiments demonstrate the effective of the proposed method on reducing processing time of changing the key and it can be applied in practice 90 ... xử lý nhớ giải theo phương pháp ngây thơ [9] Đổi khóa CSDL mức cột thay đổi khóa cũ cột bảng liệu khóa tương ứng cột Để đổi khóa cho sở liệu mã hóa, ta phải tạo khóa KMT (bài tốn tổng qt thay đổi. .. khóa mã bảng T Ta gọi K tập khóa mã theo mức cột T Có nhiều hình thức tổ chức quản lý khóa mã, dùng (tree) để quản lý khóa phương pháp dễ xây dựng, truy xuất nhanh Mỗi sở liệu có quản lý khóa. .. thực đổi khóa ngây thơ đề xuất Kết luận Chủ sở hữu bảo vệ liệu trước nguy cơng cách mã hóa liệu bảo vệ khóa mã, quản lý quyền truy cập Khi khóa mã khơng cịn an tồn, chủ sở hữu phải thay khóa Trong