HTTPS 통신방식

JaeGu Jeong·2024년 2월 5일
0

CS

목록 보기
2/2


HTTPS는 하이브리드 암호화 방식을 사용한다.
OpenSSL로 인증서를 만들었던 경험으로 작성하겠다.

암호화 종류

공개키 AES
대칭키 RSA
해시 SHA-256

통신 흐름

1. Server

암호화용 공개키 보유.
복호화용 개인키 보유.

2. Client

433포트 또는 SSL을 지원하는 포트로 서버접속.
HTTPS로 핸드쉐이크 요청. - ClientHello

3. Server

공개키 전송. - ServerHello

4. Client

통신을 암호화 할 세션키를 대칭키 알고리즘으로 생성.
세션키를 서버의 공개키로 암호화 후 전송.
세션키로 "Finished"문자열을 해시값으로 변환 후 또 전송.

5. Server

수신받은 세션키를 서버의 개인키로 복호화.
세션키로 "Finished"문자열을 해시값으로 변환.
수신받은 해시값과 서버의 해시값을 비교.
일치하면 클라이언트에게 HTTPS연결이 완료됨을 알림.

6. Client, Server

세션키로 모든 요청과 응답을 암호화 및 복호화.

결론

대학교에서 배우는 기본적인 암호화 방식이 모두사용되는 프로토콜.
전체적인 흐름만 기술했지만 실제로는 더 다양한 알고리즘과 검증방식이 추가될 수 있기에 강력한 보안이 가능.

profile
BackEnd Developer

0개의 댓글