Mã hóa MySQL là một quá trình mã hóa cơ sở dữ liệu thực hành chuyển đổi văn bản thuần túy và bản ghi dữ liệu có thể đọc được văn bản trong cơ sở dữ liệu máy chủ thành văn bản băm không thể hiểu được với sự trợ giúp của thuật toán mã hóa Show Nói chung, khi bất kỳ người dùng nào duyệt dữ liệu trong cơ sở dữ liệu, thì dữ liệu dựa trên loại cột của bảng sẽ có thể đọc được bằng văn bản. Một số danh mục trường được sử dụng cổ điển cho các cột trong bảng cơ sở dữ liệu như VARCHAR, INT, TEXT và DATETIME ở dạng con người có thể đọc được, ngoại trừ các đốm màu và một số danh mục trường khác Bắt đầu khóa học khoa học dữ liệu miễn phí của bạn Hadoop, Khoa học dữ liệu, Thống kê và những thứ khác Do đó, Mã hóa MySQL được thực hiện bằng cách mã hóa vùng chứa chứa các bản ghi dữ liệu MySQL được lưu trữ, tức là. e. nói bộ nhớ đĩa hoặc mã hóa thông tin dữ liệu trước khi hướng nó đến máy chủ MySQL Gói khoa học dữ liệu tất cả trong một(360+ khóa học, hơn 50 dự án) Giá bán Hơn 360 khóa học trực tuyến. hơn 50 dự án. Hơn 1500 giờ. Giấy chứng nhận có thể kiểm chứng. Truy cập trọn đời cú pháp MySQL Enterprise Encryption cung cấp các tính năng chức năng điển hình của ngành cho mã hóa bất đối xứng để bảo vệ dữ liệu nhạy cảm trong suốt vòng đời của nó, i. e. Mật mã khóa công khai. Mã hóa doanh nghiệp MySQL này chịu trách nhiệm mã hóa, chữ ký số, tạo khóa và một số tính năng mã hóa để phục vụ các tổ chức bảo vệ dữ liệu thân mật và đáp ứng các yêu cầu pháp lý bao gồm Sarbanes-Oxley, HIPAA và Tiêu chuẩn bảo mật dữ liệu PCI Ngoài ra, MySQL Enterprise Encryption cung cấp cho các DBA cũng như Nhà phát triển các công cụ kỹ thuật mà họ yêu cầu đối với những công cụ được liệt kê bên dưới
Điều này cho phép các nhà phát triển phần mềm mã hóa các bản ghi dữ liệu với sự hỗ trợ của các thuật toán mã hóa DHS, RDS và DH một cách dễ dàng MySQL Enterprise Encryption cho phép doanh nghiệp của bạn thực hiện những điều sau
MySQL Enterprise TDE (Mã hóa dữ liệu trong suốt) giữ an toàn cho dữ liệu nguy hiểm của người dùng bằng cách hỗ trợ mã hóa dữ liệu ở trạng thái nghỉ trong cơ sở dữ liệu máy chủ. Nó bảo vệ quyền riêng tư của thông tin người dùng, tránh vi phạm dữ liệu và hỗ trợ đáp ứng các yêu cầu kiểm soát bao gồm
Mã hóa hoạt động như thế nào trong MySQL?Các bảng InnoDB trong MySQL duy trì mã hóa data-at-rest cho các không gian bảng chung, không gian bảng tệp trên mỗi bảng làm lại nhật ký, hoàn tác nhật ký và không gian bảng hệ thống mysql. Trong Mysql 8. 0. 16, để thiết lập mã hóa theo mặc định cho các lược đồ DBMS và tương tự, các vùng bảng chung cũng được duy trì để cho phép các DBA giám sát xem các bảng được tạo trong các lược đồ đó và các vùng bảng liên quan có được mã hóa hay không InnoDB triển khai khóa mã hóa hai tầng, bao gồm khóa mã hóa chính và khóa vùng bảng. Khi bất kỳ vùng bảng nào trong MySQL được mã hóa, thì nó được giữ trong tiêu đề vùng bảng. Khi bất kỳ người dùng hoặc ứng dụng xác thực nào cần tiếp nhận thông tin vùng bảng được mã hóa, InnoDB sẽ áp dụng khóa mã hóa chính để giải mã khóa vùng bảng. Ở đây, phiên bản khóa không gian bảng được giải mã không sửa đổi, nhưng chúng tôi có thể sửa đổi khóa được mã hóa chính theo yêu cầu. Do đó, hành động này được biểu thị là xoay phím chính Thuộc tính mã hóa data-at-rest phụ thuộc vào plugin khóa để quản lý khóa mã hóa chính. Plugin tệp khóa này được cung cấp cho tất cả các phiên bản MySQL nơi dữ liệu khóa được lưu trữ trong một tệp cục bộ trên máy chủ của máy chủ. MySQL Enterprise Edition cung cấp plugin khóa bổ sung
ví dụTrong Mysql 8. 0. 16, biến có tên default_table_encryption quy định mã hóa của một vùng bảng được tạo ngay lập tức ngoại trừ mệnh đề ENCRYPTION được xác định công khai trong câu lệnh CREATE TABLESPACE. Trong phiên bản trước của MySQL 8. 0. 16, điều khoản MÃ HÓA nên được nêu để cho phép mã hóa như được viết bên dưới
Để sửa đổi mã hóa của một vùng bảng chung hiện tại, cần nêu rõ mệnh đề ENCRYPTION
Để mã hóa vùng bảng hệ thống mysql, MySQL 8. 0. 16 cũng hỗ trợ nó. Vùng bảng hệ thống mysql này bao gồm cơ sở dữ liệu hệ thống mysql cùng với các bảng từ điển dữ liệu MySQL và theo mặc định, nó không được mã hóa. Vì vậy, để kích hoạt mã hóa, chúng ta cần xác định tên vùng bảng cũng như tùy chọn ENCRYPTION trong câu lệnh ALTER TABLESPACE như bên dưới
Ngoài ra, để hạn chế mã hóa cho vùng bảng hệ thống mysql này, chúng ta cần đặt ENCRYPTION = ‘N’ bằng cách áp dụng câu lệnh truy vấn ALTER TABLESPACE
Hãy nhớ rằng để cho phép hoặc hạn chế mã hóa cho hệ thống mysql, không gian bảng cần có các đặc quyền để CREATE TABLESPACE trên tất cả các bảng trong cơ sở dữ liệu được hiển thị trong ví dụ, i. e. TẠO TABLESPACE trên *. * trong MySQL Bất cứ khi nào tùy chọn ENCRYPTION được nêu trong một truy vấn, CREATE TABLE hoặc ALTER TABLE, nó sẽ được ghi lại trong cột bảng CREATE_OPTIONS INFORMATION_SCHEMA. NHỮNG CÁI BÀN. Chúng tôi có thể kiểm tra cột để xác minh các bảng nằm trong không gian bảng tệp trên mỗi bảng được mã hóa
Phần kết luận
Bài viết được đề xuấtĐây là hướng dẫn mã hóa MySQL. Ở đây chúng ta thảo luận về cách mã hóa hoạt động trong MySQL, cùng với các ví dụ. Bạn cũng có thể xem các bài viết sau để tìm hiểu thêm – Cơ sở dữ liệu MySQL có thể được mã hóa không?MySQL Enterprise TDE cho phép mã hóa dữ liệu lưu trữ bằng cách mã hóa các tệp vật lý của cơ sở dữ liệu . Dữ liệu được mã hóa tự động, theo thời gian thực, trước khi ghi vào bộ nhớ và được giải mã khi đọc từ bộ nhớ.
MySQL sử dụng loại mã hóa nào?Mã hóa khóa công khai bất đối xứng (RSA)
Làm cách nào để mã hóa mật khẩu trong MySQL?Máy chủ MySQL sử dụng chức năng MẬT KHẨU để mã hóa mật khẩu MySQL để lưu trữ trong cột Mật khẩu của bảng cấp người dùng. Giá trị do hàm MẬT KHẨU trả về là một chuỗi được băm hoặc NULL nếu đối số là NULL. Hàm MẬT KHẨU nhận một tham số là chuỗi cần mã hóa.
Làm cách nào để lưu trữ dữ liệu được mã hóa trong MySQL?Để lưu trữ dữ liệu được mã hóa, bạn có thể sử dụng trường BLOB và sử dụng các chức năng mã hóa tích hợp của MySQL . Thí dụ. cập nhật mytable set myfield = AES_ENCRYPT('some value', SHA2('key bí mật an toàn của bạn', 512)); . |