본문으로 바로가기

HTTP와 HTTPS의 차이점

category IT/Java & Jsp & Spring 2017. 12. 22. 20:19




안녕하세요, @라바입니다.


HTTP와 HTTPS의 차이점에 대해서 알아보겠습니다.



1. HTTP란?


HTTP는 Hypertext Transfer Protocol의 약자입니다. 즉, Hypertext인 HTML을 전송하기 위한 통신규약을 의미하는데, 서버와 클라이언트간 주고받는 데이터가 암호화 되어 있지 않기 때문에 보안상 취약한 단점이 있습니다.


2. HTTPS란?


HTTP 끝에 붙은 "S"는 Over Secure Socket Layer의 약자로서, secure통신이 가능한 http 통신방법 이라고 이해하면 쉽습니다.

즉, 서버와 클라이언트간 주고받는 데이터를 암호화시켜서 악의적인 감청이나 데이터의 변조등을 막을 수 있는 보안상 강점이 있습니다.

하지만, 모든 데이터를 암호화하는 작업을 거치게되면서 속도상 느리다는 단점이 있습니다.


    *HTTPS는 HTTP와는 다른 특정 프로토콜은 아니며, 기본 HTTP 통신에 SSL(Secure Socket Layer)계층의 단계가 추가되는 것입니다.



3. SSL 이란?


보안 소켓 계층을 의미하며, 인터넷 상에서 데이터를 안전하게 전송하기 위한 인터넷 암호화 통신 프로토콜 입니다.


이 SSL 프로토콜은 OSI 7계층 모델 중 어느 한 계층에 속해서 동작하는 것이 아니라, 응용계층과 전송계층 사이에 독립적인 프로토콜 계층을 만들어서 동작합니다.



4. SSL 계층에서 데이터를 암호화 시키는 방법은 ?


그러면 대체 전달되는 데이터를 어떻게 암호화를 시킨다는 말인지 궁금할텐데요, 2가지 방법이 있습니다.


 첫째, 대칭키 방식


    - 한 개의 key를 이용하여, 암호화와 복호화를 모두 할 수 있는 방식의 암호화 기법 (대칭키 사용)


 둘째, 공개키 방식


    - 두개의 key를 이용하여, 암호화와 복호화를 하나씩 수행하는 암호화 기법 (공개키 / 비공개키 사용)


     이를테면, A키로 암호화를 하면 B키로 복호화 할 수 있고, B키로 암호화하면 A키로 복호화 할 수 있는 방식을 뜻함.

     이때 두개의 키 중 하나를 비공개키로 지정하여 자신만이 가지고있고, 나머지 하나를 공개키로 지정하여 타인에게 제공을 하면서 두개의 key는 쌍을 이루게 됨.



'IT > Java & Jsp & Spring' 카테고리의 다른 글

Spring 스케쥴러 사용  (0) 2019.10.04
Spring Scheduler Lock 설정 in 멀티 클러스터  (0) 2019.10.04
JAVA 개발환경 셋팅하기 with JDK, Eclipse  (0) 2017.11.11
SFTP 파일전송  (0) 2017.11.10