Fairy ' s
[23. March] HTTPS / TIL #2 본문
HTTPS
- HTTP에 Secure을 더한 보안이 강화된 HTTP
- 비대칭 키 암호화
- ex. 암호화한 키 A는 한 쌍인 다른 키 B로만 복호화 가능
- 서버는 한 쌍의 키인 A와 B중에 하나는 숨겨두고 다른 하나는 클라이언트에 공개하여 데이터를 안전하게 전송
1. Hand Shake : 서로를 확인하고 서버는 공개키와 인증서 정보를 클라이언트에 전송
2. 비밀 키 생성 : 클라이언트와 서버는 서로 만들고 교환한 임의의 정보를 바탕으로 비밀 키를 생성
각자 생성한 키를 바탕으로 클라이언트가 테스트용 데이터를 만들어낸 비밀키로 암호화해서 전달
3. 상호 키 검증 : 서버 역시 만들어진 비밀키로 복호화를 하고 다시 암호화를 해서 클라이언트로 전달
클라이언트가 같은 내용의 데이터를 복호화하는데에 성공했다면, 성공적으로 비밀키가 만들어지고 HTTPS 연결이 성립된 상태이다. 이후에 이 비밀키를 바탕으로 정말로 데이터 송수신에 필요한 동일 키 암호화 및 복호화를 진행한다. - 인증서 (Certificate)
- 정말로 데이터를 보내준 서버인지 인증/확인 하는 용도
- 요청을 보내면 서버는 인증서와 함께 응답을 전송한다.
- 응답을 받은 클라이언트는 인증서에 작성된 도메인과 응답객체에 작성된 도메인을 비교한다.
- 제 3자가 도메인 공격을 하여 도메인을 변경하게 되면 다른 제공자임을 확인할 수 있다. - 인증서 발급 기관 (Certificate Authority)
- 각 브라우저는 신뢰하는 CA에 정보를 가지고 있다.
- CA 자격이 박탈당할 수도 있다.
'Devops Bootcamp' 카테고리의 다른 글
[29. March] 데이터베이스 개념 / TIL (0) | 2023.03.29 |
---|---|
[24. March] WAS Web Server / TIL (0) | 2023.03.24 |
[23. March] REST API / TIL #1 (0) | 2023.03.23 |
[22. March] HTTP #2 / TIL (0) | 2023.03.22 |
[22. March] HTTP #1 / TIL (0) | 2023.03.22 |
Comments