평범한 이야기들

[Mysql] caching_sha2_password ? mysql_native_password? 본문

평범한 개발 이야기/ETC

[Mysql] caching_sha2_password ? mysql_native_password?

songsariya 2021. 1. 20. 23:30
728x90

 MySQL의 기본 인증 플러그인(default_authentication_plugin)이 8 버전부터 caching_sha2_password로 변경이 되었다. 기존에는 mysql_native_password가 기본값이었고 sha2를 쓰기 위해서는 별도의 plugin을 설치를 해야 했다.

 

 바뀐 이유는 mysql_native_password 인 경우에는 저장되어 있는 hash code를 탈취하면, 시간이 걸리겠지만 비밀번호를 알아낼 수 있는 문제를 가지고 있었기 때문이다. 그래서 좀 더 고도화된 sha2암호화 기법을 기반으로 RSA key를 이용한 SALT를 추가하는 방법으로 보안을 강화시키기 위해서 이다. 비밀번호가 같더라도 각기 다른 hash code를 저장하게 되어 비밀번호를 알아내는 것은 더욱 힘들어졌다.

 

 사용자 생성 시 패스워드 방식을 다르게 하려면 아래와 같이 하면 된다.

 

mysql > CREATE USER 'sha2user'@'localhost' identified with caching_sha2_password by 'password';

mysql > CREATE USER 'nativeuser'@'localhost' identified with mysql_native_password by 'password';

 

 

728x90
Comments