Điều gì cho phép người dùng kết nối nếu họ không có khóa để giải mã và tất cả các bảng được mã hóa? Bạn cần chỉnh sửa câu hỏi của mình để mô tả chi tiết hơn về trường hợp sử dụng của bạn.
Kiểm soát quyền truy cập cho mỗi người dùng linh hoạt hơn. Giả sử bạn sử dụng mã hóa và một ngày bạn muốn vô hiệu quyền truy cập cho một người dùng cụ thể. Bạn sẽ phải thay đổi khóa và điều đó có nghĩa là bạn phải mã hóa lại tất cả dữ liệu bằng khóa mới và sau đó thông báo cho tất cả những người dùng khác về khóa được cập nhật. Điều đó rất bất tiện.
Trong khi nếu bạn chỉ sử dụng thông tin đăng nhập hoặc các đặc quyền GRANT
để kiểm soát quyền truy cập, bạn có thể tắt bất kỳ tài khoản người dùng nào và/hoặc sử dụng REVOKE
để thay đổi đặc quyền của họ. Tất cả những người dùng khác sẽ tiếp tục có quyền truy cập mà họ đã làm trước đây. Điều đó dễ hơn nhiều.
Bên cạnh đó, MySQL không có tùy chọn "mã hóa tất cả các bảng" toàn cầu. Nó thậm chí không có tùy chọn mã hóa tất cả dữ liệu được chèn vào một bảng đã cho.
MySQL có một số encryption functions như AES_ENCRYPT()
nhưng nó xử lý ở mức độ biểu thức SQL cá nhân:
INSERT INTO MyTable
SET someColumn = AES_ENCRYPT('Something sensitive', 'thePassword');
Bạn sẽ phải làm điều này mỗi khi bạn chèn hoặc cập nhật liên tục.
Sau đó giải mã tương tự mỗi khi bạn CHỌN:
SELECT AES_DECRYPT(someColumn, 'thePassword') FROM MyTable...
Có người nêu trên mã hóa MariaDB. Điều này không làm những gì bạn muốn. Nó có nghĩa là tệp vùng bảng trên đĩa được mã hóa, nhưng máy chủ MariaDB vẫn tự động giải mã nó cho bất kỳ ai kết nối với máy chủ. Vì vậy, nó không tốt hơn so với đặc quyền truy cập SQL. Nó cũng không mã hóa nhật ký truy vấn hoặc nhật ký lỗi hoặc nhật ký nhị phân.
Nguồn
2016-11-15 02:35:17
Bạn có biết điều gì sẽ xảy ra nếu bạn mã hóa tất cả dữ liệu trong MySQL? – Mjh
Có, tất cả dữ liệu người dùng bao gồm cả bảng Mysql sẽ được mã hóa, từ chối truy cập vào người dùng. Nhưng tôi đang cố gắng mã hóa chỉ cơ sở dữ liệu cụ thể. Đó là tất cả những gì tôi biết, Nếu tôi sai, xin vui lòng sửa tôi –
Hãy xem mẫu này từ MariaDB: https://mariadb.com/kb/en/mariadb/data-at-rest-encryption/ –