favicon

Jayden { do: smite }

230918(월) 성장

🚤 성장일지 7.0

행복한 이기주의자(웨인 다이어)의 내용에 자극받아 시작하는 소박한 성장기록

살아있는 꽃과 죽은 꽃은 어떻게 구별하는가?<br/> 성장하고 있는 것이 살아 있는 것이다.<br/> 생명의 유일한 증거는 성장이다!

⚛ (7.0)<완전 개편> 파인만 학습법을 알게 된만큼, 성장일지는 정말 그 날의 키워드 중심으로 간단하게 정리하도록 한다.

⚛️ 키워드: 직관적이고 쉽고 간단하게 작성

(Forward) Proxy vs Reverse Proxy

  • Proxy: 대신하는 대리의 역할
  • (Forward) Proxy Server: 클라이언트의 대리 역할을 하는 서버
    • 클라이언트의 IP를 숨길 수 있다.
    • 해당 네트워크에 있는 클라이언트들의 특정 웹사이트 접근을 제한할 수 있다.
    • (공통) 요청에 대한 응답을 캐싱할 수 있다.
  • Reverse Proxy Server: 서버의 대리 역할을 하는 서버
    • 서버의 IP를 숨길 수 있다.
    • Proxy에서 로드밸런싱을 함으로써 서버의 부하를 줄일 수 있다.
    • (공통) 요청에 대한 응답을 캐싱할 수 있다.

HTTP vs HTTPS(feat. TLS handshake)

HTTP는 클라이언트와 서버가 데이터를 전송하기 위한 규약이다. 이 때, HTTP는 텍스트로 데이터를 송수신하게 되는데 이로 인해 중간에 데이터를 가로채면 해당 텍스트가 모두 공개된다. 이를 해결하기 위해 HTTP에 SSL/TLS 기술을 결합하여 보안을 강화한 것이 HTTPS다.

TLS handshake

TLS 핸드셰이크 과정은 클라이언트가 https로 된 웹 서버에 접속할 때 일어나는 과정으로 클라이언트와 서버가 서로 암호화된 데이터를 송수신하기 위한 열쇠를 교환하기 위함이라고 생각하면 편하다.

  1. 클라이언트가 HTTPS 웹사이트로 접속 시, 자신이 사용 가능한 Cipher suite, Session ID, SSL 프로토콜 버전 등을 담아 전송한다.
  2. 서버는 클라이언트가 보내온 패킷을 받아서 여러 Cipher Suite 중 하나를 선택하고 CA로부터 받은 SSL 인증서(서버의 공개키 포함)를 클라이언트에게 함께 전달한다.
  3. 클라이언트는 CA의 개인키로 암호화된 SSL 인증서를 공개키로 복호화하여 인증된 서버인지 확인하고 서버의 공개키를 얻을 수 있다. 이제 서버와 암호화된 소통을 하기 위한 대칭키를 생성하고 서버의 공개키로 이를 암호화하여 서버에게 전송한다.
  4. 서버는 본인의 개인키로 클라이언트의 데이터를 복호화하고 대칭키를 얻어낸다. 이제 클라이언트와 서버는 이 대칭키를 통해 데이터를 암호화하여 전송하고 복호화할 수 있게 된다.

📝 회고

바쁜 하루였따...!!! 그래도 목표했던만큼 다 해냈다!!!

참고

undefined

Copyright 2023. all rights reserved by Jayden