모바일 개발하는 자바리안의 메모장

Network - HTTPS 본문

Network

Network - HTTPS

자바리안 2022. 9. 19. 21:33
반응형

면접때 꽤 자주 등장하는 질문, HTTP와 HTTPS의 차이는 무엇인가?

자신있게 말할 수 있었던 건 끝의 S가 Secure라는 거 정도였기에 이번 기회에 좀 더 깊이있게 이해해보고자 한다.

 

HTTPS는 앞서 언급한 바와 같이 Htper Text Transfer Protocol Secure 의 줄임말이며 암호화를 지원한다.

포트는 443을 사용하며(HTTP는 80) 클라이언트, 서버가 아닌 제 3자가에게 정보가 노출되지 않도록 아래와 같은 2개 암호화를 지원한다 :

    1) 대칭키 암호화 : Client, Server 모두 동일한 키를 사용하여 암호화, 복호화 진행

    2) 비대칭키 암호화 : 공개키, 개인키 한쌍을 사용하여 암호화, 복호화 진행

 

암호화하는 과정에서 Session Key가 사용되는데 해당 Key는 클라이언트 브라우저에 의해 생성된다.

생성된 Session Key는 서버로부터 전달 받은 공개키에 의해 암호화되고, 암호화된 키는 서버로 전달한다.

이렇게 서버로 전송된 Session 키는 서버의 개인키를 사용하여 복호화한다. 

그렇게 서버와 클라이언트는 동일한 Session Key 정보를 갖게되며 이를 기반으로 신뢰성이 형성된다. 

HTTPS 인증 과정

 

반응형

'Network' 카테고리의 다른 글

Network - HTTP 상태코드 종류  (0) 2022.07.10
Comments