[CS] HTTP(2) - HTTPS, CORS, SOP

·2023년 10월 31일
0

CS

목록 보기
2/3

📁HTTPS (Hyper Transfer Protocol)

💡 HTTP 프로토콜의 문제점 - 서버에서부터 브라우저로 전송되는 정보가 암호화되지 않는다는 점
  • 이러한 HTTP의 문제점을 HTTPS 프로토콜은 SSL(보안 소켓 계층)을 사용함으로써 해결
  • SSL - 서버와 브라우저 사이에 안전하게 암호화된 연결을 만들 수 있게 도와주고 서버 브라우저가 민감한 정보를 주고받을 때, 이가 도난 당하는 것을 막아줌
    • 사용자가 사이트에 제공하는 정보를 암호화

  • HTTPS는 TLS(전송 계층 보안) 프로토콜을 통해서도 보안 유지
    • TLS - 데이터 무결성을 제공하기 때문에 데이터가 전송 중에 수정되거나 손상되는 것을 방지, 인증 기능도 제공

📁출처 (URL의 구성)

  • Protocol + Host + Port 가 같으면 동일 출처(Origin)이라고 한다.

동일 출처 예시
http://Example.com:80, http://example.comHTTP 기본 Port인 80번이 생략되어있으므로 동일 출처
http://example.com/app1/index.html, http://example.com/app2/index.htmlProtocol, Host, Port(생략)이 같으며, Path부터 다르므로 동일 출처

다른 출처 예시
http://example.com/app1, https://example.com/app2Protocol이 다름
http://example.com, http://www.example.com, http://myapp.example.comHost가 다름
http://example.com, http://example.com:808080, 8080으로 포트가 다름

📁CORS (Cross-Origin Resource Sharing, 교차 출처 자원 공유)

  • 출처가 다른 자원들을 공유한다는 뜻
  • 한 출처에 있는 자원에서 다른 출처에 있는 자원에 접근하도록 하는 개념

다른 출처의 위험성

  • CORS 정책이 없고 모든 다른 출처 요청이 가능한 경우
  • 굉장히 중요한/유용한 정보를 담고 있는 사이트도 열람 가능
  • 예시⤵️

    🗣 홈페이지를 서핑하고 있는데, script가 심어진 evil.com 페이지를 열었다고 가정하자.
    굉장히 유용한 정보를 담고 있는 사이트이지만, 페이지를 열면서 script가 실행되어 은행에 'Delete /account'를 요청하도록 되어 있다.
    결국 AJAX 호출로 은행 API를 호출하여 나의 은행 계좌를 삭제해버리는 사고가 발생한다.


📁SOP (Same-Origin Policy, 동일 출처 정책)

  • 다른 출처로부터 조회된 자원들의 읽기 접근을 막아 다른 출처 공경을 예방
  • 단, 다른 출처에서 얻은 이미지를 담는 <img>, 외부 주소를 담는 <link> 같은 여러 태그들을 허용

0개의 댓글