2025년 9월 25일:토토 커뮤니티 : 토토
이 문서는 지원되지 않는 윈 토토 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 53.3. SASL 롤 토토버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

52.3. SASL 인증

SASL은 연결 지향 프로토콜의 인증을 위한 프레임워크입니다. 현재는,포스트그레SQL하나의 SASL 인증 메커니즘인 SCRAM-SHA-256만 구현하지만 앞으로 더 많이 추가될 수 있습니다. 아래 단계에서는 SASL 인증이 일반적으로 수행되는 방법을 보여주고, 다음 하위 섹션에서는 SCRAM-SHA-256에 대한 자세한 내용을 제공합니다.

SASL 인증 메시지 흐름

  1. SASL 인증 교환을 시작하기 위해 서버는 AuthenticationSASL 메시지를 보냅니다. 여기에는 서버가 허용할 수 있는 SASL 인증 메커니즘 목록이 서버의 기본 순서대로 포함되어 있습니다.

  2. 클라이언트는 목록에서 지원되는 메커니즘 중 하나를 선택하고 SASLInitialResponse 메시지를 서버에 보냅니다. 메시지에는 선택한 메커니즘의 이름과 선택적인 초기 클라이언트 응답(선택한 메커니즘에서 이를 사용하는 경우)이 포함됩니다.

  3. 하나 이상의 서버 도전과 클라이언트 응답 메시지가 뒤따를 것입니다. 각 서버 챌린지는 AuthenticationSASLContinue 메시지로 전송되고, 이어서 SASLResponse 메시지로 클라이언트의 응답이 전송됩니다. 메시지의 세부 사항은 메커니즘에 따라 다릅니다.

  4. 마지막으로 인증 교환이 성공적으로 완료되면 서버는 AuthenticationSASLFinal 메시지를 보낸 후 바로 AuthenticationOk 메시지를 보냅니다. AuthenticationSASLFinal에는 선택한 인증 메커니즘에 특정한 콘텐츠를 포함하는 추가 서버-클라이언트 데이터가 포함되어 있습니다. 인증 메커니즘이 완료 시 전송되는 추가 데이터를 사용하지 않는 경우 AuthenticationSASLFinal 메시지가 전송되지 않습니다.

오류 발생 시 서버는 어느 단계에서든 인증을 중단하고 ErrorMessage를 보낼 수 있습니다.

52.3.1. SCRAM-SHA-256 인증

SCRAM-SHA-256(방금 호출됨스크램지금부터)은 현재 유일하게 구현된 SASL 메커니즘입니다. RFC 7677 및 RFC 5802에 자세히 설명되어 있습니다.

SCRAM-SHA-256이 윈 토토에서 사용될 때 서버는 클라이언트가 보내는 사용자 이름을 무시합니다.클라이언트 우선 메시지. 시작 메시지에서 이미 전송된 사용자 이름이 대신 사용됩니다.윈 토토여러 문자 인코딩을 지원하는 반면 SCRAM에서는 사용자 이름으로 utf-8을 사용하도록 지시하므로 윈 토토 사용자 이름을 utf-8로 표현하는 것이 불가능할 수 있습니다.

SCRAM 사양에 따르면 비밀번호도 utf-8에 있으며 다음과 같이 처리됩니다.SASLprep알고리즘.윈 토토11350_11948

채널 바인딩아직 구현되지 않았습니다.

  1. 서버가 AuthenticationSASL 메시지를 보냅니다. 여기에는 서버가 수락할 수 있는 SASL 인증 메커니즘 목록이 포함되어 있습니다.

  2. 클라이언트는 선택한 메커니즘을 나타내는 SASLInitialResponse 메시지를 보내 응답합니다.SCRAM-SHA-256. 초기 클라이언트 응답 필드의 메시지에는 SCRAM이 포함되어 있습니다.클라이언트 우선 메시지.

  3. 서버가 SCRAM과 함께 AuthenticationSASLContinue 메시지를 보냅니다.서버 우선 메시지콘텐츠로.

  4. 클라이언트가 SCRAM과 함께 SASLResponse 메시지를 보냅니다.클라이언트-최종-메시지콘텐츠로.

  5. 서버가 SCRAM과 함께 AuthenticationSASLFinal 메시지를 보냅니다서버-최종-메시지, 바로 뒤에 AuthenticationOk 메시지가 옵니다.