나의 독학은

8장 - 누가 액세스하고 있는지를 확인하는 인증 본문

학습/그림으로 배우는 Http & Network Basic

8장 - 누가 액세스하고 있는지를 확인하는 인증

안종혁 2023. 9. 14. 16:57

8.4 SSL 클라이언트 인증

- HTTPS의 클라이언트 인증서를 이용한 인증 방식

 

✅ SSL 클라이언트 인증의 인증 수순

1. 인증이 필요한 리소스의 요청이 있을 경우 서버는 클라이언트에게 클라이언트 인증서를 요구하는 "Certificate Request" 메시지를 송신

2. 유저는 송신할 클라이언트 증명서를 선택 후, "Client Certificate"라는 메시지와 함께 증명서 송신

3. 서버는 클라이언트 증명서를 검증함. 결과가 정확하다면 클라이언트의 공개키를 취득한 후, HTTPS에 의한 암호를 개시함.

 

✅ SSL 클라이언트 인증은 2-factor 인증에서 사용

*2-factor 인증 : SSL 클라이언트 인증과 다른 인증 방법을 함께 사용하는 인증 방식

ex) SSL인증 + 폼 베이스 인증 or SSL인증 + 패스워드

 

✅ SSL 클라이언트 인증은 비싸다

8.5 폼 베이스 인증

- HTTP 프로토콜로 서버에 클라이언트의 자격 정보(Credential)을 송신하여 자격 정보 검증에 따라 결과가 나타남

ex) 자격 정보인 유저ID와 패스워드를 입력해서 서버에 보냄

 

✅ 인증 대부분은 폼 베이스 인증이다

 

✅ 세션 관리와 쿠키에 의해 구현한다

1. 유저ID나 패스워드 같은 자격 정보를 포함한 리퀘스트를 HTTPS통신을 사용하여 서버에 송신

2. 서버는 유저를 식별하기 위해 세션ID를 기록하고, Set-Cookie 헤더 필드에 세션 ID를 저장해서 리스폰스를 반환

*세션 ID : 다른 유저와 식별하기 위한 것, 제3자에게 악용되지 않기 위해 추측하기 어려문 문자열로 구성

3. 클라이언트는 세션ID를 쿠키로 저장하여 다음번에 같은 서버에 송신할 때는 자동으로 쿠키를 송신하기 때문에 세션ID도 같이 송신되게 함.

 

출처

- 그림으로 배우는 Http & Network Basic