반응형
Notice
Recent Posts
Recent Comments
Link
«   2025/11   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
Archives
Today
Total
관리 메뉴

웹풀스택 공부 중

HTTPS의 보안 적용 방식 본문

웹개발/웹 개념

HTTPS의 보안 적용 방식

lukeit 2024. 8. 25. 19:49

HTTPS

  • 웹 통신 내 요청, 응답에 대한 암호화
  • HTTPS의 목적:
    • SSL (Secure Socket Layer) 혹은 TLS (Transport Layer Security) Protocol을 통해 HTTP 보안 강화
    • 요청을 보내고, 응답 받는 두 주체 (End-to-End)만 HTTP 요청 및 응답을 읽을 수 있게 암호화 한다
    • MITM (Man-in-the-Middle) 공격 방지
      • MITM 공격 종류
        • Sniffing (스니핑, 도청): Wireshark를 통해 유저의 모든 웹 서핑 패킷 도청 가능
        • Packet Injection (패킷 주입)
        • Session Hijacking (세선 하이재킹)
        • SSL Stripping (SSL Striping)
  • 보안 적용 방식
    • 대칭키 암호화 방식과 비대칭키 암호화 방식의 장단점만 사용한다
    • 대칭키: 키 하나만 쓴다 -> 노출될 시 매우 위험험하다
      • 암호화 / 복호화 연산 속도가 빠르다
      • Client와 Server간 요청/응답을 주고받을 때 연산속도가 매우 빨라 성능 영향을 안준다
    • 비대칭키 (Private, Public): 비공캐키, 공개키 두개 다 쓴다
      • 공개키는 누구나 볼 수 있고 노출되어도 안전하나 연산 속도가 느리다
      • 갑을 관계를 내포한다: 갑 = Private key, 을 = Public key
        • 1:N = 단일 서버: 다수 클라이언트
        • 1 = 단일 서버만 사용가능한 키: 비공개키
        • N = 다수 클라이언트라면 모두 사용가능한 키: 공개키
      • 수학공식으로 이루어져있다
      • 공개키를 Client에게 공유한다
    • 그래서 HTTPS는 안전하고 빠르다
      • 두개의 암호화 전략을 다 쓴다!
        • Server 와 Client가 비대칭키를 주고받아, 그걸 통해 생성한 대칭키 (= Session Key)로 암호화 통신을 한다
        • CA: SSL 인증서를 발급하는 기관 (= 신뢰할 수 있는 기관)
          • 인증된 서버인지, 인증기관에 의해 암호화된 서버의 공개키인지
          • 피싱 방지: 실제로 도메인을 소유하고 있는 올바른 서버와 통신하고 있는지 확인한다
        • CA (비공개키) -> (CA로 암호화된) WS (공개키) -> WB의 CA 공개키로 CA로 암호화된 WS의 공개키를 복호화시킨다 -> WB와 WS가 각각 가지고 있는 공개키와 비공개키로 Pre-master-key를 만든다 -> Master Key -> Session Key -> WS 와 WB의 Session Key끼리 비교를 한다 -> 같을 때 소통한다
반응형

'웹개발 > 웹 개념' 카테고리의 다른 글

Git 파일 관리  (0) 2024.09.03
CORS (Cross-Origin Resource Sharing, 교차 출처 리소스 공유)와 SOP (Same-Origin Policy)란?  (0) 2024.08.25
Web Storage와 Session이란?  (0) 2024.08.25
Cookie(쿠키)란?  (0) 2024.08.25
Proxy란?  (0) 2024.08.23