호주 IT 취업

[SSO 로그인 흐름 2편] 로그인 버튼을 누르면 무슨 일이? – DNS와 캐시의 여정

ActYourValue 2025. 6. 16. 11:24
반응형

로그인 여정의 시작: 도메인부터 찾아야 한다

지난 글에서 우리는 SSO(Single Sign-On)의 전체적인 흐름을 간단히 살펴봤습니다. 이번 글부터는 그 여정 하나하나를 따라가 볼 텐데요, 첫 번째 주제는 바로 **"주소 찾기"**입니다.

 

생각해보세요. 여러분이 회사 웹메일 사이트에서 로그인 버튼을 누르자 브라우저에 SSO 로그인 창이 떴습니다.

 

그런데 이 로그인 창이 뜨려면 먼저 **“어디에 접속할지”**를 알아야 합니다. 사람은 login.company.com처럼 주소를 기억하지만, 컴퓨터는 숫자(IP 주소)로만 통신합니다.

 

이 주소를 숫자로 바꾸는 게 바로 DNS의 역할입니다. 그런데, 무조건 물어보는 게 아니라 우선 "예전에 가봤던 기억"부터 떠올립니다. 즉, 캐시를 먼저 뒤지는 거죠.


1단계: 브라우저 캐시 – “전에 가봤던 곳?”

브라우저는 먼저 자기 메모장을 꺼내듭니다.

“login.company.com? 전에 가본 적 있던가?”

 

브라우저 내부에는 최근 방문한 사이트의 주소와 IP가 잠깐 저장돼 있습니다. 이걸 브라우저 DNS 캐시라고 부릅니다. 마치 내가 지난주에 갔던 식당의 주소를 핸드폰 지도 기록에서 확인하는 것과 비슷하죠.

 

찾았다면? 바로 그 IP로 서버 접속을 시도합니다.

 

못 찾았을 경우? 다음 단계로 갑니다.


2단계: 운영체제(OS) 캐시 – “컴퓨터는 기억할까?”

브라우저도 모르면 운영체제에 묻습니다.

“혹시 이 주소 기억해?”

 

윈도우든 맥이든 컴퓨터는 DNS 정보를 따로 저장해 놓습니다. 이를 로컬 DNS 캐시라고 부르며, 브라우저보다 더 오랫동안 기억하고 있습니다.

 

이 캐시를 검색해도 없으면, 그다음은?


3단계: hosts 파일 – “혹시 수동으로 적어둔 적 있지?”

운영체제는 마지막으로 hosts 파일을 확인합니다.

 

이건 마치 "엄마 전화번호를 주소록 말고 냉장고 메모지에 적어놓은" 경우라고 생각하시면 돼요.

 

시스템 관리자나 개발자가 특정 도메인 주소를 강제로 특정 IP로 연결해둔 경우, 이 파일이 사용됩니다. (보안 상의 문제로 가짜 IP를 넣는 피싱 공격도 이 경로를 타기도 하죠.)


4단계: DNS 서버 질의 – “진짜 전화번호부에 물어보자”

어디서도 주소를 못 찾았다면, 이제는 외부에 묻습니다.

“DNS 서버님, login.company.com은 어디에 있어요?”

 

이게 바로 DNS 질의입니다. 컴퓨터는 설정된 DNS 서버(회사 내 DNS, 또는 공용 DNS인 Google의 8.8.8.8 등)에게 요청을 보냅니다.

 

DNS 서버는 마치 도메인 전용 전화번호부 같은 역할을 하며, 다음과 같은 과정을 거칩니다:

  1. 루트 서버: “.com은 어디에서 관리해?”
  2. TLD 서버: “company.com은 어디에 있어?”
  3. 권한 있는 DNS 서버: “login.company.com의 IP는 이거야!”

이렇게 계층적으로 조회하며, 최종적으로 login.company.com → 192.0.2.10 같은 실제 IP 주소를 받아옵니다.


보안과 성능에 중요한 이유

이 주소 찾기 과정은 SSO에서 매우 중요한 첫걸음입니다. 왜냐하면:

  • 잘못된 주소(IP)에 접속하면 피싱 위험이 있습니다.
  • DNS spoofing 공격처럼, 도메인을 가로채 가짜 사이트로 유도할 수 있습니다.
  • 캐시를 잘 활용하면 로그인 속도 향상에도 도움이 됩니다.

즉, 안전하게 신뢰할 수 있는 IdP와 SP 주소에 정확하게 연결되는 게 전체 인증 과정의 전제조건입니다.


다음 이야기 예고

이제 우리는 브라우저가 SSO 로그인 페이지의 주소를 어떻게 찾는지 배웠습니다. 이 IP를 기반으로 다음에는 실제 서버에 연결을 시도하고, HTTPS로 안전하게 통신을 시작합니다.

 

다음 편에서는 이 서버와의 TCP 연결 및 HTTPS 인증서 교환 과정을 따라가 보겠습니다. 그리고 왜 이 연결이 사용자 ID와 비밀번호를 안전하게 보호하는 데 핵심인지 설명할 예정이에요.

반응형