Notice
Recent Posts
Recent Comments
Link
04-27 12:54
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 리눅스
- HTTP
- dbeaver
- 우리FIS아카데미 #
- mysql
- 클라우드 서비스 개발
- jdk
- https
- 맥
- Gradle
- route 53
- 글로벌소프트웨어캠퍼스
- springboot
- 클라우드 서비스 개발 #
- 우리FIS아카데미
- spring
- 로드밸런스
- Java
- 우리FISA #
- 맥북
- AWS
- 맥OS
- M2
- 우리FISA
- 우리에프아이에스
- sts
- K-디지털트레이닝
- 도메인
- 우리에프아이에스 #
Archives
- Today
- Total
<<개발일지>>
https 통신 흐름 -작성중- 본문
HTTPS를 통한 안전한 통신의 핵심 아이디어는 바로 그거입니다. 서버의 공개 키는 클라이언트와 공유하여 데이터를 암호화하는 데 사용하고, 서버만이 가진 개인 키를 통해 그 데이터를 복호화하는 방식으로 보안을 유지합니다.
아래에 그 과정을 간단하게 요약하겠습니다:
HTTPS 통신의 기본 원리
- 공개 키와 개인 키의 역할:
- 공개 키: 누구나 접근할 수 있는 키로, 데이터를 암호화하는 데 사용됩니다.
- 개인 키: 공개되지 않은 비밀 키로, 암호화된 데이터를 복호화하는 데 사용됩니다.
- 통신 과정:
- 서버 인증서 전송:
- 클라이언트가 서버에 접속을 시도할 때, 서버는 자신의 인증서를 클라이언트에게 전송합니다. 이 인증서에는 서버의 공개 키가 포함되어 있습니다.
- 클라이언트 인증서 검증:
- 클라이언트는 서버의 인증서가 신뢰할 수 있는 인증 기관(CA)에 의해 서명되었는지를 확인하여 서버의 신원을 검증합니다.
- 세션 키 암호화:
- 클라이언트는 세션 키(대칭 키)를 생성하고, 서버의 공개 키로 이 세션 키를 암호화하여 서버에 보냅니다.
- 개인 키로 복호화:
- 서버는 자신의 개인 키를 사용하여 클라이언트가 보낸 암호화된 세션 키를 복호화합니다.
- 암호화된 통신 시작:
- 클라이언트와 서버는 모두 동일한 세션 키를 가지게 되었고, 이를 통해 모든 이후의 통신을 대칭 암호화 방식으로 암호화하여 데이터를 안전하게 전송합니다.
- 서버 인증서 전송:
예시로 설명
1. 서버 인증서 전송
plaintext
코드 복사
클라이언트 -> 서버: HTTPS 연결 요청 서버 -> 클라이언트: 서버 인증서(공개 키 포함)
- 서버는 자신의 공개 키가 포함된 인증서를 클라이언트에 전달합니다.
- 클라이언트는 이 인증서를 사용하여 서버의 신뢰성을 확인합니다.
2. 클라이언트의 세션 키 암호화
plaintext
코드 복사
클라이언트: 세션 키 생성 클라이언트 -> 서버: 공개 키로 암호화된 세션 키
- 클라이언트는 세션 키를 생성하여 서버의 공개 키로 암호화한 후 서버에 보냅니다.
3. 서버의 개인 키로 복호화
plaintext
코드 복사
서버: 개인 키로 암호화된 세션 키 복호화
- 서버는 자신의 개인 키를 사용하여 클라이언트가 보낸 암호화된 세션 키를 복호화합니다.
4. 암호화된 통신
plaintext
코드 복사
클라이언트 <-> 서버: 대칭 암호화된 데이터 전송
- 이후의 통신은 생성된 세션 키를 사용하여 대칭 암호화 방식으로 데이터를 전송합니다.
요약
- 공개 키: 클라이언트에게 배포되어 데이터를 암호화하는 데 사용.
- 개인 키: 서버에서 비밀리에 보관하며, 암호화된 데이터를 복호화하는 데 사용.
- 세션 키: 클라이언트와 서버 간의 데이터를 대칭 암호화하는 데 사용.
이 방법을 통해 HTTPS는 클라이언트와 서버 간의 통신을 안전하게 보호합니다. 공개 키와 개인 키를 사용하여 세션 키를 안전하게 교환하고, 이후의 데이터 전송은 세션 키를 사용하여 암호화되어 기밀성과 무결성을 보장합니다.
'전송프로토콜' 카테고리의 다른 글
파일 이동 시 http(s) vs (s)ftp (1) | 2024.08.15 |
---|---|
https http 그리고 set-cookie의 secure (0) | 2024.08.05 |
HTTPS를 적용하는 이유는?? (지도, 카메라) (1) | 2024.05.22 |