클라이언트가 비밀키를 가지고 평문을 암호화해서 서버로 보내면 서버에서 클라이언트와 동일한 비밀키를 가지고 암호문을 복호화해 해독하는 방식
대칭키는 암호화/복호화가 쉽다는 장점을 가지고 있고 암호문을 전송하기 때문에 해커가 도중에 탈취해도 해당 정보를 알아볼 수 없다는 장점을 가지고 있다. 하지만 서버와 클라이언트가 동일한 키를 가지고 있기 위해서는 둘 중 한 곳에서 키를 전송해준 다음 암호화/복호화를 진행해야한다.
이 키를 전송하는 과정에서 해커가 키를 가져가버리면 대칭키 암호화 방식은 말짱도로묵이되어버리는 단점이 있다.
평문 + 공개키 = 암호문, 암호문 + 비공개키 = 평문 으로만 암호/복호화가 가능한 방식
클라이언트에서 평문을 공개키로 암호화해서 서버에 전달하면 서버는 비공개키를 가지고 있고 해독한다. 이 암호화 방식은 해커가 도중에 암호문을 가로채도 비밀키를 들고 있지 않으면 평문을 해독할 수 없기때문에 대칭키보다 보안적인 부분이서 이점이 있지만 암호화 연산 시간이 느리다는 단점도 가지고 있다.
공개키와 대칭키의 서로의 장/단점을 보완하기 위해서 SSL은 이 둘을 혼합한 방식을 사용한다.
HTTPS는 HTTP와는 다르게 통신전에 TSL handshake라는 과정을 거치는데 TCP 3-way handshake와는 별도의 과정이다.
https://ichi.pro/ko/amhohwa-jeongbo-boan-gisul-234313939662355
https://parksb.github.io/article/24.html