Classic Load Balancer, Application Load Balancer 및 Network Load Balancer는 SSL/TLS 세션 재개를 지원합니까?

2분 분량
0

Classic Load Balancer, Application Load Balancer 및 Network Load Balancer가 Secure Sockets Layer/Transport Layer Security(SSL/TLS) 세션 재개를 지원하는지 알고 싶습니다.

해결 방법

모든 유형의 로드 밸런서가 SSL/TLS 세션 재개를 지원합니다. 그러나 지원하는 연결 방법은 다양합니다.

SSL/TLS 연결 방법

TLS 핸드셰이크에는 전체 핸드셰이크에 및 축약 핸드셰이크의 두 가지 유형이 있습니다. 전체 핸드셰이크는 한 번만 수행됩니다. 핸드셰이크 후 클라이언트는 서버와 SSL/TLS 세션을 설정합니다. 후속 연결에서는 축약 핸드셰이크를 사용하여 이전에 합의된 세션을 더 빠르게 재개합니다.

TLS 연결을 설정하거나 재개하는 데는 두 가지 방법이 있습니다.

  • SSL 세션 ID - 이 방법은 완전히 합의된 연결이 종료된 후 클라이언트와 서버 모두 일정 기간 동안 세션 보안 파라미터를 유지해야 작동합니다. 세션 재개를 사용하려는 서버는 세션 ID라고 하는 세션의 고유 식별자를 할당합니다. 그런 다음 서버는 ServerHello 메시지에서 세션 ID를 클라이언트에 반환합니다. 이전 세션을 재개하려면 클라이언트는 해당 ClientHello 메시지에 적절한 세션 ID를 제출해야 합니다. 서버가 캐시에서 해당 세션을 찾아 요청을 수락하면 서버는 같은 세션 식별자를 반환합니다. 그런 다음 서버는 축약 SSL 핸드셰이크로 작업을 계속합니다. 그렇지 않으면 서버는 새로운 세션 식별자를 발행하고 전체 핸드셰이크로 전환합니다.
  • SSL 세션 티켓 - 이 방법에는 서버 측 스토리지가 필요 없습니다. 서버는 모든 세션 데이터를 수집하여 암호화한 다음 티켓 형태로 클라이언트에 반환합니다. 후속 연결에서 클라이언트는 티켓을 서버로 다시 제출합니다. 그런 다음 서버는 티켓 무결성을 확인하고 내용을 해독한 다음 이 정보를 사용하여 세션을 재개합니다. 서버 또는 클라이언트가 이 확장을 지원하지 않는 경우 SSL에 내장된 세션 식별자 메커니즘을 대신 사용합니다.

각 로드 밸런서 유형에 지원되는 SSL/TLS 연결 방법

Classic Load Balancer

Classic Load Balancer는 세션 ID 기반 SSL/TLS 세션 재개를 지원하지만 세션 티켓 기반 SSL 세션 재개는 지원하지 않습니다. SSL 세션 캐싱은 노드 수준에서 지원됩니다. 예를 들어 클라이언트가 노드 A에서 받은 SSL 세션 ID를 사용하여 노드 B에 연결한다고 가정해보겠습니다. 이 경우 SSL 핸드셰이크는 전체 핸드셰이크로 되돌아갑니다. 그런 다음 노드 B에서 새로운 SSL 세션 ID가 생성됩니다.

Application Load Balancer

Application Load Balancer는 세션 ID와 세션 티켓 기반 SSL 세션 재개를 모두 지원합니다. 세션 ID와 세션 티켓 모두 노드 수준에서 지원됩니다. 예를 들어 클라이언트가 노드 A에서 받은 SSL 세션 ID 또는 세션 티켓을 사용하여 노드 B에 연결한다고 가정해보겠습니다. 이 경우 SSL 핸드셰이크는 전체 핸드셰이크로 되돌아갑니다. 그런 다음 노드 B에서 새로운 SSL 세션 ID와 세션 티켓이 생성됩니다.

Network Load Balancer

Network Load Balancer는 세션 재개를 위한 세션 티켓만 지원합니다. 세션 티켓을 사용한 재개는 리전 수준에서 지원됩니다. 클라이언트는 IP 주소를 사용하여 Network Load Balancer와의 TLS 세션을 재개할 수 있습니다.

AWS 공식
AWS 공식업데이트됨 일 년 전