HTTPS를 사용하여 "naver.com"에 접속했을 때의 과정은 다음과 같다.
주소 입력 및 DNS 조회
웹 브라우저에 "https://naver.com"을 입력하면 브라우저는 DNS 서버를 통해 해당 도메인의 IP 주소를 얻는다.
서버 연결 및 SSL/TLS 핸드셰이크
웹 브라우저가 웹 서버와의 TCP 연결을 설정한 후, SSL/TLS 핸드셰이크라는 과정을 거친다. 이 과정에서 웹 브라우저와 웹 서버는 서로를 인증하고, 암호화에 사용할 키를 교환합니다. 이 키는 이후의 통신에서 데이터를 암호화하고 복호화하는데 사용된다.
인증 요청
웹 서버는 클라이언트에게 인증이 필요하다고 요청할 수 있다. 이때 Kerberos 또는 SAML과 같은 인증 프로토콜을 사용될 수 있다.
- Kerberos
클라이언트는 Kerberos 프로토콜을 사용하여 인증 서버(Ticket Granting Server, TGS)에게 인증 티켓을 요청한다. 인증 서버는 사용자의 신원을 확인하고, 인증 티켓을 발급하여 클라이언트에게 전달한다. 이후 클라이언트는 웹 서버에게 인증 티켓을 제공하여 접속을 시도한다.
- SAML (Security Assertion Markup Language)
클라이언트는 웹 서비스 제공자(Identity Provider, IdP)에게 인증을 요청한다. IdP는 클라이언트의 신원을 확인하고, SAML 토큰을 생성하여 클라이언트에게 전달한다. 클라이언트는 이 토큰을 웹 서비스 제공자에게 제출하여 접속을 시도할 수 있다.
인증 및 세션 생성
웹 서버는 클라이언트가 제공한 인증 티켓 또는 SAML 토큰을 검증한 뒤, 유효한 인증이 확인되면, 웹 서버는 클라이언트와의 세션을 생성하고, 클라이언트에 대한 신원 정보를 저장한다.
HTTP 요청 및 응답
클라이언트는 인증된 세션을 통해 HTTP 요청을 보내고, 웹 서버는 이에 대한 응답을 전송한다. 이후 데이터의 암호화 및 해독은 SSL/TLS의 역할이며, HTTPS 프로토콜을 통해 안전한 통신이 이루어진다.
'IT' 카테고리의 다른 글
OpenID Connect, SAML 차이점 (0) | 2023.07.05 |
---|---|
SAML, OAuth 2.0 (OpenID Connect) 주요 차이점 (0) | 2023.07.05 |
TCP/IP, UDP 차이점 (0) | 2023.07.04 |
VMware Cloud on AWS (0) | 2023.07.04 |
Multi-AZ란? (0) | 2023.07.04 |