AWS CloudHSM을 사용한 SSL/TLS 오프로드 작동 방식
HTTPS 연결을 설정하기 위해 웹 서버는 클라이언트와의 핸드섀이크 프로세스를 수행합니다. 이 프로세스의 일환으로 서버는 다음 그림에 나온 것처럼 암호화 처리 일부를 AWS CloudHSM 클러스터의 HSM에 오프로딩합니다. 프로세스의 각 단계는 그림 아래 설명되어 있습니다.
참고
다음 이미지와 프로세스는 서버 확인 및 키 교환에 RSA가 사용된다고 가정합니다. RSA 대신 Diffie-Hellman을 사용하는 경우 프로세스가 약간 다릅니다.
-
클라이언트가 서버에 hello 메시지를 전송합니다.
-
서버는 hello 메시지로 응답하고 서버의 인증서를 전송합니다.
-
클라이언트는 다음 작업을 수행합니다.
-
클라이언트가 신뢰하는 루트 인증서로 SSL/TLS 서버의 인증서가 서명되어 있는지 확인합니다.
-
서버 인증서에서 퍼블릭 키를 추출합니다.
-
pre-master 시크릿을 생성하여 서버의 퍼블릭 키로 암호화합니다.
-
암호화된 pre-master 시크릿을 서버로 전송합니다.
-
-
클라이언트의 pre-master 시크릿을 복호화하기 위해 서버가 이를 HSM에 전송합니다. HSM은 HSM에 있는 프라이빗 키를 사용하여 pre-master 시크릿을 암호화 해제한 다음 pre-master 시크릿을 서버로 전송합니다. 클라이언트와 서버는 각각 독립적으로 pre-master 시크릿과 hello 메시지의 일부 정보를 사용하여 마스터 시크릿을 계산합니다.
-
핸드섀이크 프로세스가 종료됩니다. 세션의 나머지에서는 클라이언트와 서버 사이에서 전송되는 모든 메시지가 master secret의 파생문으로 암호화됩니다.
AWS CloudHSM을 사용하여 SSL/TLS 오프로드를 구성하는 방법은 다음 주제 중 하나를 참조하십시오.