Okta 보안 사고: Bcrypt 길이 제한 취약성

2025-02-05
Okta 보안 사고: Bcrypt 길이 제한 취약성

Okta 보안 사고는 Bcrypt 구현이 입력 길이를 처리하는 방식에서 비롯되었습니다. Bcrypt 알고리즘은 최대 72자를 지원하며, 그 이상의 문자는 무시되므로 부분적인 사용자 이름과 캐시된 키만으로도 인증이 가능할 수 있습니다. 이 글에서는 Go, Java, JavaScript, Python, Rust 등의 언어에서 Bcrypt 라이브러리를 분석하여 많은 라이브러리가 입력 길이 검증을 제대로 수행하지 않고 있음을 밝히고 있습니다. 이로 인해 보안 위험이 발생합니다. 저자는 API 설계 개선을 주장하며, 잘못된 입력을 명시적으로 거부하여 이러한 취약성을 방지해야 한다고 주장합니다.

개발