MySQL 9.0, caching_sha2_password 기본 인증 강제… mysql_native_password 지원 중단
·2025.07.17 00:00
핵심 내용
MySQL 9.0부터 mysql_native_password 지원이 중단되어 caching_sha2_password로의 전환 및 SSL/RSA 연결 준비가 필수적이다.
1 / 6
자세히 보기
MySQL 9.0부터 mysql_native_password 인증 플러그인이 완전히 제거되고, caching_sha2_password가 기본 인증 방식으로 강제 적용된다. 이는 MySQL 8.0부터 기본값으로 변경된 이후의 최종 단계로, 기존에 mysql_native_password를 사용하던 환경은 업그레이드 전 사전 전환 준비가 필요하다.
caching_sha2_password는 SHA-256 알고리즘을 기반으로 하며, 보안을 위해 Key Stretching 기법을 적용한다. 비밀번호 생성 시 20바이트의 고유한 **솔트(Salt)**가 추가되며, caching_sha2_password_digest_rounds 변수에 설정된 횟수(기본 5000회)만큼 반복 해싱을 수행한다. 저장된 해시값은 $A$005$ 형식으로 식별자, 반복 횟수, 솔트, 최종 해시값을 포함한다.
인증 과정은 두 가지로 나뉜다:
- Full Authentication: 최초 연결이나 캐시 미존재 시 수행. 비밀번호 원문은 전송하지 않으며, SSL/TLS 또는 RSA 공개키 암호화 중 하나의 연결 방식을 통해 안전하게 전달되어 검증된다.
- Fast Authentication: 이전 성공적 연결 후 서버 메모리(Heap)에 캐시된 정보를 이용해 Nonce 기반의 빠른 재인증을 수행한다. 캐시는 MySQL 재시작,
FLUSH PRIVILEGES, 계정 정보 변경 시 해제된다.
도입 시 클라이언트와 서버 간 연결 방식(SSL/TLS 또는 RSA)을 확정해야 하며, 기존 커넥터의 버전 호환성 확인, Replication 및 Group Replication 계정의 연결 방식 변경 등 인프라 차원의 준비가 요구된다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.