MySQL8认证插件——Native Pluggable Authentication

这次来翻译一下 MySQL8认证插件, 欢迎指正。

目前MySQL认证插件种类有如下:

插件

适用版本

说明

Native Pluggable Authentication

基于本机密码哈希方法实现身份验证

Caching SHA-2 Pluggable Authentication

实现SHA-256身份验证(如sha256_password),但在服务器端使用缓存

SHA-256 Pluggable Authentication

基于本机使用SHA-256密码哈希执行身份验证

Client-Side Cleartext Pluggable Authentication

客户端身份验证插件,可以让客户端将密码以明文形式发送到服务器,而不需要哈希或加密。这个插件内置在MySQL客户端库中

PAM Pluggable Authentication

仅支持MySQL Enterprise

(Pluggable authentication Modules)来认证MySQL用户。外部身份验证,代理用户支持

Windows Pluggable Authentication

Windows上使用本地Windows服务对客户端连接进行身份验证

LDAP Pluggable Authentication

仅支持MySQL Enterprise

使用LDAP(轻量级目录访问协议)通过访问目录服务(如X.500)来认证MySQL用户

Kerberos Pluggable Authentication

仅支持MySQL Enterprise

使用Kerberos进行身份验证。MySQL 8.0.26及更高版本中可用windows和linux环境

No-Login Pluggable Authentication

mysql_no_login服务器端身份验证插件阻止所有客户端连接到任何使用它的帐户

Socket Peer-Credential Pluggable Authentication

服务器端auth_socket身份验证插件对通过Unix套接字文件从本地主机连接的客户机进行身份验证

FIDO Pluggable Authentication

仅支持MySQL Enterprise

MySQL 8.0.27及更高版本中可用,FIDO身份验证允许使用智能卡、安全密钥和生物识别阅读器等设备进行身份验证

Test Pluggable Authentication

MySQL包含一个测试插件,用于检查帐户凭据,并将成功或失败记录到服务器错误日志中。

Native Pluggable Authentication

MySQL包含一个 mysql_native_password 插件,用于实现本机身份验证;也就是说,基于在引入可插拔身份验证之前使用的密码哈希方法的身份验证。

插件和库名称

插件或文件

插件或文件名称

Server-side plugin

mysql_native_password

Client-side plugin

mysql_native_password

Library file

None (plugins are built in)

安装 Native Pluggable Authentication

mysql_native_password 插件以服务器和客户端形式存在:

● 服务器端插件内置于服务器中,不需要显式加载,也不能通过卸载来禁用。

● 客户端插件内置于 libmysqlclient 客户端库中,可用于任何链接到 libmysqlclient 的程序。

使用 Native Pluggable Authentication

MySQL客户端程序默认使用 mysql_native_password --default-auth 选项可以用作程序预期使用的客户端插件的提示

mysql --default-auth=mysql_native_password



mysql.user.authentication_string 字段采用的如下方式生成: SHA1( SHA1( password ) )

由于 mysql_native_password 在 mysql.user 表中 authentication_string 字段存储的是两次哈希 SHA1(SHA1(password)) 计算的值 ,如果用户密码相同,密码哈希值也相同

CREATE USER 'mysql_native_password_test_user1'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Test_1qaz';
CREATE USER 'mysql_native_password_test_user2'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Test_1qaz';
SELECT user,plugin, authentication_string FROM mysql.user WHERE user like 'mysql_native_password_test_user%';
+-----------------------------------+-----------------------+--------------------------------------------+
| user | plugin | authentication_string |
+-----------------------------------+-----------------------+--------------------------------------------+
| mysql_native_password_test_user1 | mysql_native_password | *F69139585CC832C9D28D62F395D9291C1CA4D41B |
| mysql_native_password_test_user2 | mysql_native_password | *F69139585CC832C9D28D62F395D9291C1CA4D41B |
+-----------------------------------+-----------------------+--------------------------------------------+

备注

美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)建议SHA-1哈希算法的用户尽快迁移到更安全的SHA-2和SHA-3算法。最迟不晚于2030年12月31号。对于国外大的科技公司,如:Meta,谷歌,微软,Mozilla等在2015年时就差不多完成了对SHA-1算法的升级改造.2017时所有的主流浏览器不再将基于SHA-1的数字证书视为安全证书。因为SHA1和其他哈希算法(例如 MD5)可以很容易就预先计算好常见词语的哈希结果词典,如:字典破解(Dictionary Attack)和暴力破解(Brute Force Attack)方式,匹配到密码。并且很多案例已被证明非常容易破解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贺浦力特

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值