STARTTLS 명령을 보내고 응답을 받은 후 클라이언트에 어떤 일이 발생합니까?

STARTTLS 명령을 보내고 응답을 받은 후 클라이언트에 어떤 일이 발생합니까?

IMAP의 STARTTLS 명령이 정확히 어떻게 작동하는지, 전송할 때 무슨 일이 일어나는지 이해하려고 노력 중입니다.클라이언트로서 로그인 프로세스 전에 "STARTTLS" 명령을 보내고 "OK start TLS 협상 지금"이라는 응답을 받은 후, 고객으로서 변경되는 사항이 있나요?더 나아가통신(예: 요청 및 응답 형식, 일부 추가 정보 등)? 나는 낮은 수준이 아닌 API 수준에 대해 이야기하고 있습니다.

답변1

STARTLS프로세스는 클라이언트와 서버에 암호화된 연결 협상을 시작하도록 지시하므로 모든 추가 데이터는 TLS(SSL, Close Enough) 암호화됩니다. 이렇게 하면 사람들이 귀하의 트래픽(예: 사용자 이름, 비밀번호)을 스니핑하는 것을 방지할 수 있습니다.

이제 일부 서버는 다른 서비스를 제공하도록 구성할 수 있습니다. 예를 들어 IMAP 서버는 일반 연결에서는 LOGIN 명령을 허용하지 않지만 TLS 암호화 연결에서는 허용할 수 있습니다.

우리는 차이점을 볼 수 있습니다. 이 예에서는 일반 IMAP 연결에 대해 다음을 표시합니다.

* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS LOGINDISABLED] Dovecot ready.

"LOGINDISABLED" 부분을 참고하세요.

TLS를 통해 동일한 서버에 연결하는 경우

* CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN

이제 "AUTH"를 사용할 수 있으므로 로그인을 시도할 수 있습니다.

IMAP은 이러한 방식으로 작동하는 유일한 서비스가 아닙니다. 예를 들어 일반 연결의 SMTP는 다음과 같습니다.

250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

그리고 TLS를 사용하세요

250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

다시 한 번 AUTH새로운 명령을 사용할 수 있습니다.

관련 정보