본문 바로가기

취업준비

기술면접 준비

 

 

1. HTTPS가 동작하는 방식에 대해서 설명 해 주세요.

우선 HTTP를 먼저 알아야한다. HTTP란 HyperText Transfer Protocol의 약자로 즉, 하이퍼텍스트를 전송하기 위해 사용되는 통신 규약으로, 인터넷에서 HTML과 같은 문서를 사용자 컴퓨터에 설치된 웹 브라우저가 웹 서버에 요청할 때의 규칙이다.

 

HTTP 서버는 기본 포트인 80번 포트에서 서비스 대기 중이며, 클라이언트가 TCP 80 포트를 사용해 연결하면 서버는 요청에 응답하면서 자료를 전송한다. HTTP는 정보를 텍스트로 주고 받기 때문에 네트워크에서 전송 신호를 인터셉트 하는 경우 원하지 않는 데이터 유출이 발생할 수 있다. 누군가 전송중인 데이터를 가로채면 누구나 데이터를 읽을 수 있었던 것이다. 이러한 보안 취약점을 해결하기 위한 프로토콜이 HTTP를 SSL(Secure Socket Layer) 프로토콜 위에서 돌아가도록하여 클라이언트와 서버가 주고받는 텍스트를 암호화한다. 즉, HTTPS는 HTTP 프로토콜 + SSL 프로토콜인 것이다.

 

HTTPS를 사용하면 통신 내용이 공격자에게 공격받는 것을 방지할 수 있고, 클라이언트는 접속하려는 서버가 신뢰할 수 있는 서버인지 판단할 수도 있다.

 

HTTPS의 동작방식으로는

 

1. A라는 서버를 만드는 기업이 HTTPS를 적용하기 위해 공개키와 개인키를 만든다.2. 신뢰할 수 있는 CA 기업에 공개키 관리를 부탁하며 계약을 맺는다.3. 계약이 완료된 CA 기업은 A 서버의 공개키, 해당 기업의 이름, 공개키 암호화 방법을 담은 인증서를 만들고 해당 인증서를 CA 기업의 개인키로 암호화해서 A 서버에서 제공한다.4. A 서버는 직접적인 공개키가 아닌 암호화된 인증서를 보유하게 된다.5. 클라이언트가 통신 요청을 보내면 앞선 SSL/TLS Handshake 과정을 수행하여 연결을 수립한다.6. 클라이언트와 A 서버와 통신을 시작한다.

 

 

2. CORS란 무엇인가요?

 

CORS란 Cross-Origin Resource Sharing의 약자로, 다른 출처의 자원을 공유한다는 뜻이다. 교차 출처 리소스 공유는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제이다.

 

CORS가 필요한 이유는 CORS가 없이 모든 곳에서 데이터를 요청할 수 있게 된다면, 다른 사이트에서 원래 사이트를 흉내낼 수 있게 된다. 만약 기존 사이트와 완전히 동일하게 동작하도록 하여 사용자가 로그인을 하도록 하고, 로그인했던 세션 또는 토큰을 탈취하여 악의적으로 정보를 꺼내오거나 다른 사용자의 정보를 입력하는 등 해킹을 할 수 있다. 하지만 이런 공격을 할 수 없도록 브라우저에서 보호하고, 필요한 경우에만 서버와 협의하여 요청할 수 있도록 하기 위해서 필요한 것이다.

 

요약하면 CORS는 서버가 웹 브라우저에서 리소스를 로드할 때 다른 오리진을 통해 로드하지 못하게 하는 HTTP 헤더 기반 매커니즘이다.

 

 

 

'취업준비' 카테고리의 다른 글

기술면접 준비  (1) 2023.12.26
기술면접 준비  (2) 2023.12.22
기술면접 준비  (0) 2023.12.19
기술면접 준비  (0) 2023.12.18
항해를 수료하고 취업준비 시작  (0) 2023.12.13