HTTPS

hyeongirlife·2022년 2월 20일
0

TIL

목록 보기
68/90
post-thumbnail

HTTP vs HTTPS

클라이언트와 서버 간 데이터를 주고 받을 때, HTTP를 사용한다면 데이터를 암호화 없이 그대로 전달하기 때문에 해커가 정보를 가로채기 쉽다는 단점이있다. 이 문제를 보완한 것이 HTTPS인데, 데이터를 공개키방식 혹은 대칭키 방식으로 암호화 해 데이터를 송수신 한다.

대칭키 방식

유저 A와 유저 B가 서로 같은키(대칭키)를 가지고 있다면 유저A가 데이터를 대칭키로 암호화해서 보내면 유저B는 대칭키로 복호화 하여 데이터를 읽을 수 있다.

장점은 이후 살펴 볼 공개키 방식보다 데이터 전송속도가 빠르고 비용이 적게 든다.
단점은 해커가 대칭키를 알게된다면 데이터를 탈취 당할 위험이 있다.

해커로부터의 위험을 보완할 방법으로 공개키 방식이 사용된다.

공개키 방식

공개키 방식은 클라이언트가 공개키를 통해 데이터를 암호화 해서 보내면 서버는 자신만 가지고 있는 개인키로 데이터를 복호화할 수 있다. 해커는 공개키를 얻더라도 복호화를 할 수 없다.

장점은 대칭키 방식보다 데이터를 복호화하기 어렵기 때문에 보안성이 높다.
단점은 암호화 연산시간이 길기 때문에 대칭키 방식보다 전송속도가 느리고 비용이 많이 든다.

결국은 대칭키 방식과 공개키 방식은 서로의 장단점을 보완하는 꼴이기 때문에 이를 적절히 활용한 SSL 방식이 생겨났다.

SSL

Secure Socket Layer의 약자로 공개키/개인키 대칭치 기반으로 사용된다.

클라이언트에게 접속을 요청하면 서버는 공개키를 전송한다.
받은 공개키를 활용해 클라이언트의 대칭키를 암호화 한다.
암호화 된 대칭키를 서버로 전송하면, 서버는 자신의 개인키로 대칭키를 복호화해서 클라이언트에 보내게 된다.

profile
머릿속에 있는 내용을 정리하기

0개의 댓글