Skip to content

[이동현] ch14 #40

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

[이동현] ch14 #40

wants to merge 1 commit into from

Conversation

dhlee3994
Copy link
Contributor

질문

  • HTTPS로 데이터가 전송되는 과정을 설명해주세요.

close #9

@dhlee3994 dhlee3994 added this to the HTTP 완벽 가이드 milestone May 5, 2024
@dhlee3994 dhlee3994 requested review from wisdom08 and youngDaLee May 5, 2024 12:38
@dhlee3994 dhlee3994 self-assigned this May 5, 2024
@wisdom08
Copy link
Member

SSL/TLS 핸드셰이크 과정을 통해 데이터가 전달됩니다.

  1. 클라리언트가 암호화/해시 알고리즘과 random 값(추후 공통키 만들 때 사용) 전달
  2. 서버는 전달받은 암호화/해시 방식 중 우선순위가 높은 옵션을 선택해서 클라이언트에 전달, 이때 서버도 random 값을 하나 만들어서 전달한다.
  3. 서버는 서버 인증서를 전달하고 서버 측에서 보낼 정보를 모두 보냈음을 알린다.
  4. 클라이언트는 암호화에 사용할 키를 만들기 위한 재료를 생성해서 서버의 public 키로 암호화해서 서버에 전달한다. 서버는 자신의 private 키를 통해 클라이언트로 받은 걸 추출할 수 있다.
  5. 서버와 클라이언트는 이전에 주고 받았던 random값을 통해 마스터 시크릿을 생성한다.
  6. 위 암호화 과정을 통해 데이터를 암호화 하고 데이터를 주고 받는다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

<HTTP 완벽 가이드> 14장
2 participants