HTTPS 연구 보고서

김동주·2024년 1월 24일

🤷 HTTPS (Hyper-Text Transfer Protocol Secure)

🚩 기존의 HTTP 방식의 사이트는 보안에 취약한 모습

대부분의 웹 포털 사이트(Google, NAVER 등)에 로그인 시 Client에서 ID와
PW를 입력하면 해당 정보들이 Server로 전송

  • HTTP에서는 ID와 PW의 정보의 원문이 전송되므로 누군가가 그것을 도청하거
    나 수정할 수 있는 기밀성, 무결성 문제들이 발생
  • 대부분 사용자들이 각 사이트별로 같은 ID와 PW를 사용하기 때문에 이러한
    문제가 발생시 그에 따른 위험도가 매우 높음
  • 주소창에 ‘안전하지 않다‘ 라는 표시가 뜨는 경우 HTTP를 사용하는 것을 확인
    가능

📁 기존의 HTTP 사이트보다 안전하며 대부분의 사이트에서 HTTPS를 사용

  • 사용자의 브라우저와 웹사이트 간에 전송되는 데이터가 암호화되어 도청이나
    변조로부터 보호하기 때문에 HTTPS(Hypertext Transfer Protocol Secure)는 보안
    웹 브라우징의 필수 구성 요소
    업로드중..
  • HTTPS는 Server로 보내는 정보들을 제3자가 못 보도록 암호화된 정보로 전송
  • Client와 Server가 정보를 송수신하는 과정에 침입자가 들어오지 못하도록 보
    안성을 갖춘 프로토콜
  • HTTPS로 웹사이트를 방문하면 주소 표시줄의 웹사이트 URL 옆에 자물쇠 아
    이콘이 표시가 되는데 자물쇠 아이콘은 보안 웹사이트에 연결
  • HTTPS는 온라인 뱅킹, 전자 상거래 및 민감한 정보를 처리하는 기타 모든
    웹사이트에 필수적인 기술

🤼‍ HTTPS에서의 정보 보안 3가지 요소

  • HTTPS는 소켓 통신에서 일반 텍스트를 이용하는 대신에, 웹 상에서 정보를
    암호화는 SSL이나 TLS(SSL에서 발전한 버전) 프토로콜을 통해 세션 데이터를 암
    호화
  • HTTP는 포트 80번을 사용하지만 HTTPS는 443번 포트를 사용

기밀성

  • HTTPS는 TLS(Transport Layer Security) 또는 이전 버전인 SSL(Secure So
    ckets Layer)을 사용하여 데이터를 암호화
  • 이로 인해 데이터가 웹사이트와 사용자 사이에서 전송되는 과정에서
    제3자가 통신 내용을 엿볼 수 없도록 보호

무결성

  • HTTPS는 데이터가 전송되는 동안 변경되거나 손상되지 않도록 보호
  • 데이터의 무결성을 검증하기 위해 TLS/SSL은 메시지 무결성 코드(MAC)
    또는 해시 함수를 사용하여 데이터를 보호
  • 데이터가 중간에 변조되거나 위조되지 않도록 보장

가용성

  • HTTPS는 서버와 클라이언트 간에 안정적인 암호화 통신을 제공하여 서
    비스의 지속적인 가용성을 유지
  • 암호화된 통신은 공격자가 데이터를 가로채더라도 데이터의 의미를 해석
    하지 못하도록 하며 서비스가 정상적으로 작동할 수 있도록 함

🌐 HTTPS 암호화 방식

  • HTTPS는 SSL(Secure Sockets Layer) 또는 TLS(Transport Layer Security) 프로
    토콜을 기반으로 동작

대칭키 암호화 방식을 사용한 데이터 송수신

  • 대칭키 암호화는 하나의 공유된 비밀키를 사용하여 데이터 암복호화
  • 주로 RC4와 AES가 사용되지만 현재는 AES로 대체하는 것이 권장
  • AES는 기존 블록 암호인 DES의 전사적 공격의 취약성 보안을 위해 등장
    하였으며 현대 웹 브라우저와 웹 서버의 보안성을 높이기 위해 사용
  • 비밀키 공유 과정에서 보안이 취약할 수 있는 문제또한 존재

공개키 암호화 방식 통해 안전한 비밀 키 교환

  • 공개키와 개인키를 활용해 암복호화 할 수 있는 암호화 과정을 의미
  • 키 교환을 위한 Diffie-Hellman과 디지털 서명을 위한 RSA 공개키 알고
    리즘 등이 사용

🌐 HTTPS 동작 과정

  • 웹 사이트의 Server가 Client에 보내는 정보의 일부는 Server의 개인키로 암호
    화가 되어있고 Client는 공개키로 풀어서 Server가 맞는지 확인해야 함
  • Client는 신뢰할 수 있는 인증 기관인 CA로부터 Server의 공개키인지 확인
  • Client가 Server에 데이터를 보낼 시 Server는 해당 서버의 인증서를 Client에
    게 제공
  • Client는 인증서 진위여부를 비대칭키 시스템을 사용해 CA들의 정보를 인증
  • Client가 인증서를 복호화하면 Server의 공개키를 확인 가능
  • 메시지들을 대칭키로 암호화하고 키 교환을 공개키를 통하여 진행
    ü HTTPS 에서의 보안 위협
  • HTTPS에서 또한 보안 위협이 존재
  • 인증서 위조(Ceritificate Forgery) 와 같이 악의적인 공격자가 유요한 이증서와
    유사한 가짜 인증서를 만들어서 Client와 Server의 통신에 침입하여 해석 가능
  • 취약한 SSL/TLS 프로토콜 버전이 사용되어 공격자가 이를 이용한 공격 가능
  • Cross-Site Scripting (XSS)문제가 있으며 공격자가 웹 사이트에 악의적인 스크
    립트를 삽입하여 사용자 브라우저에서 실행되게 하여 개인 정보를 탈취 또는 세
    션 하이재킹 등의 공격을 수행
profile
더욱 더 발전된 엔지니어가 되기 위한 개인 공부 블로그(DevOps/Cloud)

0개의 댓글