TIL(2021.04.14)

한국·2021년 4월 24일
0

TIL

목록 보기
32/33
post-thumbnail

HTTPS

  • Hyper Text Transfer Protocol Secure Socket layer 의 약자이며 HTTP over SSL(TLS), HTTP over Secure라고 부르기도 한다.
    * HTTP 요청을 SSL 혹은 TLS라는 알고리즘을 이용해, HTTP 통신을 하는 과정에서 내용을 암호화하여 데이터를 전송하는 방법

HTTPS의 특징

  • HTTP보다 상대적으로 안전한 방법이고, 데이터 제공자의 신원을 보장받을 수 있다.

    • 암호화된 데이터를 주고받기 때문에, 중간에 인터넷 요청이 탈취되더라도 그 내용을 알아볼 수 없다. 이에 반해 HTTP 프로토콜은 요청 및 응답을 탈취한다면 프로그램을 이용하여 해당 요청으로 전달되는 데이터의 내용을 확인할 수 있다(보안취약).

  • 브라우저가 응답과 함께 전달된 인증서 정보를 확인할 수 있다.

    • 브라우저는 인증서에서 해당 인증서를 발급한 CA 정보를 확인하고 인증된 CA가 발급한 인증서가 아니라면 아래와 같이 화면에 경고창을 띄워 서버와 연결이 안전하지 않다는 화면을 보여준다.
  • 브라우저는 인증서의 도메인과 데이터를 제공한 제공자의 도메인을 비교할 수 있기 때문에 인증서의 도메인 정보와 데이터 제공자의 도메인 정보가 다른 '중간자 공격'을 감지하여 보안 위협으로부터 사용자 및 사용자의 데이터를 보호할 수 있다.

그렇다면 왜 데이터 제공자의 신원을 확인하고 보장받는 게 인증에서 중요할까?

  • 클라이언트는 데이터 제공자가 제공해준 데이터를 사용할 수밖에 없다.
  • 클라이언트는 서버에 데이터 요청을 하고 이후 받은 데이터를 이용해서 화면을 렌더링하는 등의 작업을 해야 한다.
  • 그렇기 때문에 요청 및 응답을 중간에서 가로채는 중간자 공격에 취약하다.
    • '중간자 공격': 클라이언트와 서버 사이에서 공격자가 서로의 요청, 응답의 데이터를 탈취 및 변조하여 다시 전송하는 공격
  • 데이터가 중간에 다른 도메인을 거쳐서 전달되기 때문에 서버가 해당 데이터는 https://example.com 도메인에서 제공되었습니다.라는 추가데이터를 응답객체에 실어 보낸다면 '중간자 공격'으로 인해 다른 도메인에서 데이터를 받은 클라이언트는 데이터를 제공한 도메인과 전달받은 내용의 도메인을 비교하여 '중간자 공격'이 존재하는지 아닌지 확인할 수 있다.
    • 물론 중간자 공격으로 인해 이런 추가 데이터 또한 변조할 수 있다..
      따라서 해당 데이터를 암호화시키는 작업이 필요.
profile
소통하는 개발자를 꿈꾸는

0개의 댓글