http/https

2019-04-18

Mixed Content 즉, 혼합 컨텐츠 이슈이다.
혼합 컨텐츠는 https로 요청한 자원과 http로 요청한 자원이 섞여 있는 것을 의미한다.
최초로 html이 안전한 https 연결을 통해 로드를 하는데 다른 리소스(이미지,동영상,스타일시트,스크립트 등)이 안전하지 않은
http로 연결이 될 때 발생하는 이슈이다.

혼합 콘텐츠의 종류

수동적(passive) 혼합 콘텐츠

이미지나 오디오와 같은 콘텐츠를 http로 요청하는 것이다.
공격자가 중간에 가로채어 파일을 수정하더라도 사이트 전체에 상호작용이 일어나는 콘텐츠가 아니므로 능동적 혼한 콘텐츠보다
영향이 덜하다. 그러나 음란물로 변경될 수 있는 위험은 있다.

크롬 개발자 모드에서 노란색으로 표현이 된다.

능동적(active) 혼합 콘텐츠

브라우저가 실행하게 되는 스크립트, CSS, ifreame, 플래시 등의 콘텐츠를 http로 요청하는 것이다.
공격자가 중간에 가로채어 코드를 수정하면 사이드 전체에 영향이 가게 되어 위험하다.
스크립트를 악의적으로 변경하여 이상한 URL로 리다이렉트되거나, 사용잦의 정보를 빼내는 스크립트 등으로 사용될 수 있어 위험하다.

크롬 개발자 모드에서 빨간색으로 보여준다.

http란?

html과 같은 문서를 웹 브라우저가 웹 서버에 요청하는 프로토콜이다.
즉 텍스트 교환을 하는 것이다. http는 암호화가 되어 있지 않아 내가 있는 네트워크에 누군가가 접속을 해서 내용을 가로챌 수 있다.

https란?

http와 동일하지만 암호화되어 있다.
즉 인터넷 상에서 정보를 암호화하는 프로토콜을 이용하여 웹 브라우저와 서버가 데이터를 주고 받는 통신 규약이다.
암호화를 할때에는 2개의 키가 필요하다. 하나의 키는 공개키로 공개키 저장소에 등록을 해 놓고 다른 하나는 서버만 알 수 있는 개인키를 소유하고 있다.

https 통신의 흐름에 대해서 알아보자
공개키 저장소라는 CA(Certificate Authority)이다.
CA는 민간기업이지만 아무나 운영할 수 없고 신회성이 검증된 기업만 운영이 가능하다고 한다.
가끔씩 동사무소 사이트같은 곳을 들어가면 https지만 주의요함, 안전하지 않은 사이트등의 알림이 뜨는 경우가 있다.
이는 신뢰할 수 없는 CA 기업을 통해서 인증서를 발급받은 사이트라는 것이다. ㄷ ㄷ ;;
세계적으로 신뢰할 수 있는 CA기업의 공개키는 브라우저가 이미 알고 있다고 한다.