스크램 인증은 버전 4.5의 새로운 기능 중 하나입니다. 확인 이 블로그 항목 을 참조하여 Couchbase의 SCRAM에 대해 소개하세요.

이 문서에서는 Java에서 스크램 핸드셰이크를 모니터링하는 방법에 대해 설명합니다.

첫째, SCRAM을 사용하기 위해 Java 코드에서 특별한 작업을 할 필요가 없습니다. SCRAM은 기본적으로 사용하도록 설정되어 있으며, Java SDK 버전이 2.2.5 이상이고 Couchbase Server 버전이 4.5 이상인 경우에 사용됩니다.

비밀번호가 있는 버킷을 열면 SCRAM이 사용됩니다.

Java 코드에서 스크램 인증을 모니터링하려면 디버그 수준을 최고로 설정하면 됩니다:

이제 코드의 어느 지점에서 버킷에 액세스합니다:

이제 인증 대화를 볼 수 있습니다:

여기서는 서버가 지원되는 인증 방법에 대해 알리고 클라이언트가 가장 강력한 인증 방법을 선택하는 단계만 보여드립니다. 이 핸드셰이크에서는 서버가 지원합니다:

  • SCRAM-SHA512
  • SCRAM-SHA256
  • SCRAM-SHA1
  • CRAM-MD5 플레인

그리고 클라이언트는 가장 강한 것을 선택합니다: SCRAM-SHA512

Couchbase 4.1에 대해 동일한 코드를 실행하면 이 출력이 생성됩니다:

여기에서 CRAM-MD5가 어떻게 선택되는지 확인할 수 있습니다.

네트워크 트래픽을 스니핑하여 인증을 모니터링할 수도 있습니다. 이 작업을 위한 훌륭한 도구 중 하나는 와이어샤크. 트래픽을 가져온 다음 프로토콜 "Couchbase"를 기준으로 필터링할 수 있습니다:

ws_scram

끝으로 인증 핸드셰이크를 모니터링하는 것이 얼마나 쉬운지 눈치채셨을 텐데요, 이것이 바로 클라이언트-서버 인증에 TLS를 사용하는 것을 권장하는 이유입니다.

이러한 방식으로 스크램은 상호 인증을 사용하므로 중간자 공격을 피할 수 있으며, 서버는 클라이언트 해시 비밀번호를 기반으로 '비밀'을 알고 있다는 것을 증명하기 위해 도전에 응답해야 합니다.

행복한 인증!

작성자

게시자 카우치베이스 팀

의 선임 웹 관리자입니다. 웹 사이트 관리자로서 디자인, 구현, 콘텐츠 및 성능을 포함한 웹 사이트 자산에 대한 전반적인 책임을 맡고 있습니다.

댓글 남기기