Hướng dẫn authentication_policy mysql - verify_policy mysql
6.4.1.2 & NBSP; Bộ nhớ đệm SHA-2 có thể thực hiệnMySQL cung cấp hai plugin xác thực để thực hiện băm SHA-256 cho mật khẩu tài khoản người dùng:
Phần này mô tả plugin xác thực SHA-2 bộ nhớ đệm. Để biết thông tin về plugin cơ bản (không) ban đầu, xem Phần & NBSP; 6.4.1.3, Xác thực có thể cắm có thể cắm SHA-256. Quan trọng Trong MySQL 8.0, 3 là plugin xác thực mặc định thay vì 6. Để biết thông tin về ý nghĩa của sự thay đổi này đối với hoạt động và khả năng tương thích của máy chủ với máy khách và trình kết nối, hãy xem bộ nhớ cache_sha2_password là plugin xác thực ưa thích.Quan trọng Trong MySQL 8.0, 3 là plugin xác thực mặc định thay vì 6. Để biết thông tin về ý nghĩa của sự thay đổi này đối với hoạt động và khả năng tương thích của máy chủ với máy khách và trình kết nối, hãy xem bộ nhớ cache_sha2_password là plugin xác thực ưa thích.Để kết nối với máy chủ bằng tài khoản xác thực với plugin 3, bạn phải sử dụng kết nối an toàn hoặc kết nối không được mã hóa hỗ trợ trao đổi mật khẩu bằng cặp khóa RSA, như được mô tả sau trong phần này. Dù bằng cách nào, plugin 3 sử dụng khả năng mã hóa của MySQL. Xem Phần & NBSP; 6.3, Sử dụng các kết nối được mã hóa.Ghi chú“sha256” refers to the 256-bit digest length the plugin uses for encryption. In the name 3, “sha2” refers more generally to the SHA-2 class of encryption algorithms, of which 256-bit encryption is one instance. The latter name choice leaves room for future expansion of possible digest lengths without changing the plugin name. Trong tên 2, SHA256, đề cập đến độ dài tiêu hóa 256 bit mà plugin sử dụng để mã hóa. Trong tên 3, SHA2, nói chung là các thuật toán mã hóa SHA-2, trong đó mã hóa 256 bit là một ví dụ. Sự lựa chọn tên sau để lại chỗ cho việc mở rộng trong tương lai của các độ dài tiêu hóa có thể mà không thay đổi tên plugin.
Hỗ trợ được cung cấp cho các kết nối máy khách sử dụng các giao thức ổ cắm và bộ nhớ chung của UNIX. Bảng sau đây hiển thị tên plugin ở phía máy chủ và máy khách.
Tệp thư viện
Sử dụng xác thực có thể cắm SHA-2 Không có (plugin được tích hợp)Các phần sau đây cung cấp thông tin cài đặt và sử dụng cụ thể để lưu trữ xác thực có thể cắm SHA-2:
Hoạt động của bộ nhớ cache để xác thực có thể cắm SHA-2 Các phần sau đây cung cấp thông tin cài đặt và sử dụng cụ thể để lưu trữ xác thực có thể cắm SHA-2:Cài đặt xác thực có thể cắm SHA-2
Sử dụng xác thực có thể cắm SHA-2 Hoạt động của bộ nhớ cache để xác thực có thể cắm SHA-2 Để biết thông tin chung về xác thực có thể cắm trong MySQL, xem Phần & NBSP; 6.2.17, Xác thực có thể cắm được.
Plugin 3 tồn tại trong các biểu mẫu máy chủ và máy khách:
Plugin phía máy chủ được tích hợp vào máy chủ, không cần phải tải rõ ràng và không thể bị vô hiệu hóa bằng cách dỡ nó.
Plugin phía máy khách được tích hợp vào thư viện máy khách 6 và có sẵn cho bất kỳ chương trình nào được liên kết với 6.
Đối với các máy khách sử dụng plugin 3, mật khẩu không bao giờ được hiển thị dưới dạng ClearText khi kết nối với máy chủ. Cách truyền mật khẩu xảy ra phụ thuộc vào việc sử dụng kết nối an toàn hay mã hóa RSA:
Để cho phép sử dụng cặp khóa RSA để trao đổi mật khẩu trong quá trình kết nối máy khách, hãy sử dụng quy trình sau:
Sau khi máy chủ được cấu hình với các tệp khóa RSA, các tài khoản xác thực với plugin 3 có tùy chọn sử dụng các tệp khóa đó để kết nối với máy chủ. Như đã đề cập trước đây, các tài khoản đó có thể sử dụng kết nối an toàn (trong trường hợp RSA không được sử dụng) hoặc kết nối không được mã hóa thực hiện trao đổi mật khẩu bằng RSA. Giả sử rằng một kết nối không được mã hóa được sử dụng. Ví dụ:
Đối với kết nối này, 4, máy chủ xác định rằng 3 là plugin xác thực phù hợp và gọi nó (vì đó là plugin được chỉ định vào thời gian ____76). Plugin thấy rằng kết nối không được mã hóa và do đó yêu cầu mật khẩu được truyền bằng mã hóa RSA. Tuy nhiên, máy chủ không gửi khóa công khai cho máy khách và máy khách không cung cấp khóa công khai, vì vậy nó không thể mã hóa mật khẩu và kết nối không thành công:
Để yêu cầu khóa công khai RSA từ máy chủ, chỉ định tùy chọn 3: 0Trong trường hợp này, máy chủ gửi khóa công khai RSA cho máy khách, sử dụng nó để mã hóa mật khẩu và trả về kết quả cho máy chủ. Plugin sử dụng khóa riêng RSA ở phía máy chủ để giải mã mật khẩu và chấp nhận hoặc từ chối kết nối dựa trên việc mật khẩu có chính xác hay không. Ngoài ra, nếu máy khách có một tệp chứa một bản sao cục bộ của khóa công khai RSA theo yêu cầu của máy chủ, nó có thể chỉ định tệp bằng tùy chọn 2: 1Trong trường hợp này, máy khách sử dụng khóa công khai để mã hóa mật khẩu và trả về kết quả cho máy chủ. Plugin sử dụng khóa riêng RSA ở phía máy chủ để giải mã mật khẩu và chấp nhận hoặc từ chối kết nối dựa trên việc mật khẩu có chính xác hay không. Giá trị khóa công khai trong tệp được đặt tên bởi tùy chọn 2 phải giống như giá trị chính trong tệp phía máy chủ được đặt tên bởi biến hệ thống 7. Nếu tệp khóa chứa giá trị khóa công khai hợp lệ nhưng giá trị không chính xác, xảy ra lỗi xác định truy cập. Nếu tệp khóa không chứa khóa công khai hợp lệ, chương trình máy khách không thể sử dụng nó.Người dùng khách hàng có thể có được khóa công khai RSA theo hai cách:
Hoạt động của bộ nhớ cache để xác thực có thể cắm SHA-2Về phía máy chủ, plugin 3 sử dụng bộ đệm trong bộ nhớ để xác thực nhanh hơn các máy khách đã kết nối trước đó. Các mục bao gồm các cặp tên tài khoản/mật khẩu. Bộ nhớ cache hoạt động như thế này:
Theo cách này, khi khách hàng lần đầu tiên kết nối, xác thực đối với bảng hệ thống 6 xảy ra. Khi khách hàng kết nối sau đó, xác thực nhanh hơn đối với bộ đệm xảy ra.Các hoạt động của bộ đệm mật khẩu ngoài việc thêm các mục được xử lý bởi plugin kiểm toán 8, thực hiện các hành động này thay mặt cho 3:
Hoạt động xóa bộ đệm ảnh hưởng đến các yêu cầu xác thực cho các kết nối máy khách tiếp theo. Đối với mỗi tài khoản người dùng, kết nối máy khách đầu tiên cho người dùng sau bất kỳ hoạt động nào sau đây phải sử dụng kết nối an toàn (được thực hiện bằng cách sử dụng thông tin đăng nhập TLS, tệp ổ cắm UNIX hoặc bộ nhớ chia sẻ) hoặc trao đổi mật khẩu dựa trên cặp khóa RSA:
1 Xóa toàn bộ bộ đệm và ảnh hưởng đến tất cả các tài khoản sử dụng plugin 3. Các hoạt động khác xóa các mục bộ đệm cụ thể và chỉ ảnh hưởng đến các tài khoản là một phần của hoạt động.Khi người dùng xác thực thành công, tài khoản được nhập vào bộ đệm và các kết nối tiếp theo không yêu cầu kết nối an toàn hoặc cặp khóa RSA, cho đến khi một sự kiện xóa bộ đệm khác xảy ra ảnh hưởng đến tài khoản.. |