TLS란?

Transport Layer Security의 약자. 통신의 암호화, 변조 검출, 인증서에 의한 서버 인증을 수행하는 프로토콜. HTTPS는 HTTP를 TLS로 보호한 것이다.

일본어 명칭: TLS

TLS은(는) 네트워크 기초, 웹 기술 기초, 정보 보안 기초 등 4개 분야의 연습 문제 10개에 나와요.

분야: 네트워크 기초

도전해 보기: TLS 관련 문제

RTT(왕복 시간)가 100 ms인 웹 서버에 HTTPS(TCP 위의 TLS 1.3)로 새로 접속하여, 첫 요청을 보내고 응답을 받기 시작할 때까지 걸리는 시간에 가장 가까운 것은? DNS 이름 해석은 끝났으며, 서버의 처리 시간과 데이터 전송 시간은 무시한다.

  1. A약 100 ms
  2. B약 300 ms
  3. C약 200 ms
정답과 해설 보기

정답: B. 약 300 ms

먼저 TCP의 3-way 핸드셰이크에 1왕복이 걸립니다(클라이언트는 마지막 ACK와 함께 TLS의 첫 메시지를 보낼 수 있습니다). 다음으로 TLS 1.3 핸드셰이크에 1왕복, 그 후 HTTP 요청과 응답에 1왕복이 걸려 합계 3왕복, 3 × 100 = 300 ms입니다. TLS 1.2에서는 키 교환에 2왕복이 걸리므로 4왕복인 400 ms가 됩니다. 이 대기 시간은 거리로 정해지는 RTT의 횟수로 결정되므로 회선의 대역폭을 늘려도 짧아지지 않습니다. HTTP/3에서 사용되는 QUIC은 전송 계층과 암호의 핸드셰이크를 1왕복으로 합치고, 재접속할 때는 첫 왕복에서 데이터를 보내는 방법(0-RTT)도 제공합니다.

HTTPS(HTTP를 TLS로 보호한 통신)로 보호되는 것으로 올바른 것은?

  1. A접속한 웹사이트의 운영자가 악의가 없는 신뢰할 수 있는 사람이나 조직이라는 것
  2. B통신하고 있다는 사실 자체나 접속한 서버의 IP 주소가 도중의 경로에서 보이지 않는다는 것
  3. C통신 내용을 도중에 엿보거나 바꿔 쓸 수 없다는 것과, 접속한 서버가 인증서에 적힌 도메인 이름의 정당한 소유자라는 것
정답과 해설 보기

정답: C. 통신 내용을 도중에 엿보거나 바꿔 쓸 수 없다는 것과, 접속한 서버가 인증서에 적힌 도메인 이름의 정당한 소유자라는 것

TLS는 통신의 암호화(기밀성), 변조 검출(무결성), 서버 인증의 세 가지를 제공합니다. 서버는 인증서를 제시하고, 브라우저는 신뢰하는 인증 기관(CA)의 서명을 따라가 인증서가 올바른지 확인하며, URL의 도메인 이름과 일치하는지도 확인합니다. 다만 확인할 수 있는 것은 '그 도메인 이름의 소유자와 통신하고 있다'는 것까지이며, 사이트 운영자가 선량한지는 알 수 없습니다. 사기 사이트라도 자기 도메인 이름의 인증서는 취득할 수 있습니다. 또한 IP 헤더는 암호화되지 않으므로, 어느 IP 주소와 언제, 얼마나 많은 양을 통신하고 있는지는 도중의 경로에서 보입니다.

해설 속 TLS

TLS이(가) 나오는 문제 (10)

  1. RTT(왕복 시간)가 100 ms인 웹 서버에 HTTPS(TCP 위의 TLS 1.3)로 새로 접속하여, 첫 요청을 보내고 응답을 받기 시작할 때까지 걸리는 시간에 가장 가까운 것은? DNS 이름 해석은 끝났으며, 서버의 처리 시간과 데이터 전송 시간은 무시한다.
  2. HTTPS(HTTP를 TLS로 보호한 통신)로 보호되는 것으로 올바른 것은?
  3. TLS에서 브라우저가 접속한 서버를 '위장이 아니다'라고 판단할 수 있는 이유로 올바른 것은?
  4. RTT가 40 ms인 웹 서버에서 HTML 하나와 거기서 참조하는 이미지 4개를 하나씩 차례로 가져온다. TCP 연결 설정에 1왕복, 각 요청과 응답에 1왕복이 걸린다고 하고, 데이터 전송 시간, 서버의 처리 시간, TLS, 연결 종료는 고려하지 않는다. 객체마다 새로운 TCP 연결을 여는 경우와 하나의 TCP 연결을 재사용하는 지속 연결의 경우에 걸리는 시간의 차이는?
  5. 1.5 MB의 텍스트 데이터를 gzip으로 3분의 1 크기로 압축하여 보낸다. 대역폭이 10 Mbps, RTT가 100 ms이고, 데이터를 보내기 시작하기 전에 TCP 연결, TLS 핸드셰이크, HTTP 요청에 합쳐서 3왕복이 걸린다고 한다. 1 MB = 10^6바이트로 하고, 압축과 압축 해제 시간, 헤더, TCP의 혼잡 제어에 의한 대기는 무시한다. 데이터를 다 받을 때까지의 시간에 가장 가까운 것은?
  6. 방화벽(패킷 필터링형)의 기본적인 기능으로 올바른 것은?
  7. 인터넷 VPN에 대한 설명으로 올바른 것은?
  8. 리버스 프록시에 대한 설명으로 올바른 것은?
  9. 큰 파일을 상대에게 암호화하여 보낼 때 자주 사용되는 하이브리드 암호 방식의 절차로 올바른 것은?
  10. Kubernetes 클러스터에서 하나의 호스트 이름으로 도착한 HTTPS 요청 중 경로가 /api로 시작하는 것은 api의 Service로, 그 밖의 것은 web의 Service로 분배하고 싶다. 이 분배 규칙을 정하는 데 적합한 리소스는?

관련 용어

HTTP(하이퍼텍스트 전송 프로토콜) 리버스 프록시(Reverse Proxy) DNS(도메인 네임 시스템) 3-way 핸드셰이크(Three-way Handshake) 공개 키 암호(Public-key Cryptography) 대칭 키 암호(Symmetric-key Cryptography) Kubernetes Pod 기본 게이트웨이(Default Gateway) 서브넷 마스크(Subnet Mask)

용어집으로 돌아가기