Skip to content

Latest commit

 

History

History
57 lines (45 loc) · 2.86 KB

HTTP와HTTPS.md

File metadata and controls

57 lines (45 loc) · 2.86 KB

HTTP / HTTPS

개요

  • 클라이언트-서버 구조에서 사용는 프로토콜로, 인터넷에서 가장 많이 사용되는 프로토콜은 HTTP이다.

    • 하지만 “보안이 적용되지 않은 데이터를 전송한다”는 위험성을 가지고 있다.
    • 언제든지 데이터가 도청될 수 있기 떄문이다. 따라서 보안에 상당히 취약한 프로토콜이라고 할 수 있다.
  • HTTPSHTTPTLS 계층을 더한 것이다.

    • TLSSSL의 개선된 버전으로, 서버와 브라우저 사이에 안전하게 암호화된 데이터를 전송할 수 있게 해준다.
    • (HTTP: 80포트, HTTPS: 443포트)

암호화 매커니즘을 통해 기밀성, 무결성 , 인증의 보안 기능성을 얻게 된다.

- 기밀성 : 교환되는 데이터를 도청해도 의미가 없도록 암호화
- 무결성 : 정보가 중간에 변질되지 않는 것을 보장. 전자서명을 통해 통신을 맺어 신뢰성 확보
- 인증 : 인증서 기관을 통해 해당 서버가 안전하다는 것을 확인

개념

HTTP (Hypertext Transfer Protocol)
  • Hypertext인 HTML을 전송하기 위한 통신 규악이다. (Hypertext: 문서와 문서가 링크로 연결되어있는 형태의 문서 체계)
HTTPS ( Hypertext Transfer Protocol Over Secure Socket Layer)
  • HTTP의 보안이 강화된 것이다.

비교

  • 공통점: 통신 규약이다.
  • 차이점:
    • HTTPSSL 인증서를 사용하지 않고, HTTPS는 사용한다.
    • HTTPSHTTP의 보안을 강화한 것이다.
      HTTP는 암호화되지 않은 방법으로 데이터를 전송하기 때문에 서버/클라이언트가 주고 받는 메시지를 감청하기 쉽다.
  • ex) 로그인 페이지: 아이디/비밀번호 같은 중요정보가 노출될 수 있기에 HTTPS로 통신한다.

원리

  • 공개 키 방식은 두 개의 키를 갖게 되며, A키로 암호화하면 B키로 복호화가 가능하여 반대도 가능하다.
  • 여기서 두 개의 키 중 하나는 공개키이고 다른 하나는 비공개키이다.
    → 비공개 키는 private한 사용자가 가지고 있게 되며, 공개 키는 다인에게 공개되는 키이다.
  • 유저가 공개키를 이용하여 데이터를 암호화한 뒤, 비공개 키의 소유자에게 전달하면 비공개 키의 소유자는 비공개 키로 복호화하여 그 데이터를 얻을 수 있다.

- HTTP 장점 : 검색 엔진 최적화의 혜택을 받을 수 있다. (구글이 우리 사이트가 안전하다고 판단하여 검색 순위를 앞에 배치해주는 것)

SSL

: 전자상거래에서 데이터 보안을 위해 개발한 통신 레이어

  • 표현 계층의 프로토콜 (응용 계층 아래)
  • 응용 계층의 아래에 있기 때문에 어떠한 데이터도 암호화해서 보낼 수 있다.
  • TLSSSL의 상위 버전