티스토리 뷰

ASAC/정리용

[04-02] HTTPS

hee-ya07 2024. 12. 20. 17:28

0. 대칭키 암호화와 비대칭키 암호화

  대칭키 암호화 (Symmetric Encryption) 비대칭키 암호화 (Asymmetric Encryption)
암호화 및 복호화 방식 동일한 키로 암호화하고 복호화 공개키로 암호화하고 비공개키로 복호화
키 관리 - 키 관리가 매우 중요
- 키 유출 시 위험
- 공개키는 자유롭게 배포 가능,
- 비공개키는 보호 필요
연산 속도 - 빠름  - 느림
보안성 - 키 유출 시 보안 위험 있음 - 매우 안전 (공개키는 노출되어도 안전)
적합한 용도 - 대량 데이터 암호화
- 빠른 통신 (클라이언트-서버 간)
- 인증, 개인 정보 보호,
- 1: N 통신 (단일 서버와 다수 클라이언트)
  • 비대칭 암호화는 갑을 관계를 내포, 갑(비공개키)과 을(공개키)
    => 데이터 관리의 주체에 따라 구분됨

        1) 1 : N = 단일 서버 : 다수 클라이언트
        2) 1 = 단일 서버만 사용 가능한 키 : 비공개
        3) N = 다수 클라이언트라면 모두 사용 가능한 키 : 공개키
  • 대칭키 암호화 장점 : 키가 노출되면 매우 위험 But, 암호화/복호화 연산 속도가 빠르다.
    - 연산속도가 빨라 매번 클라이언트와 서버가 요청/응답을 주고받을때 성능/영향을 덜 줌

1. HTTP의 목적

: SSL(Secure Sockets Layer) or TLS(Transport Layer Security) 프로토콜을 통해 HTTP 보안 강화

: 요청을 보내고, 응답을 받는 두 주체(End-to-End)만 HTTP 요청 및 응답을 읽을 수 있게 암호화

  • MITM (Man-In-The-Middle) 공격 방지
    - MITM 공격 종류
        1) 스니핑(Sniffing, 도청): Wireshark 를 통해 여러분의 모든 웹 서핑 패킷 도청 가능
        2) 패킹 주입(Packet Injection): DHCP/ARP 로 LAN 내 컴퓨터 인지 후 패킷 대신 받아 조작 주입
            => ARP Spoofing/Poisoning 를 통해 해커 MAC 주소로 LAN 내 컴퓨터 인지
            => Spoofing 위변조 (혹은 아기돼지 삼형제 늑대) ↔ Sniffing 도청 (혹은 가로채기)
        3) 세션 하이재킹 공격(Session Hijacking)
         4) SSL 스트리핑(SSL Stripping) 등

2. HTTPS 보안 적용 방식

  •  대칭키(비공개키) + 비대칭키(공개키) 암호화 방식 사용
    - 비대칭키(Public, Private), 대칭키(’세션키’로 부름)
  • 서버는 클라이언트에게 비대칭키 중 공개키(Public)를 그냥 전달하지 않고 CA 인증기관의 인증 후 전달
    • CA : SSL 인증서를 발급하는 기관, 신뢰할 수 있는 기관
      - 인증 기관에 의해 인증된 서버인지 = 인증 기관에 의해 암호화된 ‘서버의 공개키’인지
      - 피싱 방지 : 클라이언트가 실제로 도메인을 소유하고 있는 올바른 서버와 통신하고 있는지 확인 목적

3. HHTPS (SSL/TLS 핸드세이크)

출처: ASAC 7기 수업자료

  • 서버는 기본적으로
    - WS -> CA : 인증서 서명 요청(CSR: "WS의 public키"+"서버의 정보") 를 인증서 서명 발급 요청 및 일부 발급
    - "시그니처"
  • WB는 기본적으로
    - CA -> WB : 서버의 인증서(시그니처: 서버의 공개키, 서버 정보, CA의 서명 )를 저장 및 보관

 

1) WB -> WS : 평문1 + 지원하는 암호화 방법 (Cipher Suites), TLS 버전 등의 정보 전송
2) WS -> WB : 평문2 + 서버가 사용할 암호화 방식(지원하는 Cipher Suite)을 선택 + 서버 인증서(Server Certificate) 응답 

3) WB : 인증서의 유효성 확인 후, 내재 or 인증을 설치한 CA의 public 키를 통해 위의 키 복호화

4) WB: pre-master-key생성(WB에서 생성한 랜덤 값을 서버의 public키를 사용하여 암호화) 및 서버 전달

5) WS: private key를 이용하여 pre-master-key 복호화

6) 공유된 평문 1, 평문2, pre-master-key를 이용하여 Master Key 생성

7) 선택된 암호화 방식과 Master key를 겹쳐 Session key 생성

8) 이를 바탕으로 비공개 키 알고리즘을 사용하여 통신

 

출처

ASAC

http://www.ktword.co.kr/test/view/view.php?no=5953

https://chipmaker.tistory.com/entry/%E3%85%87

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
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 31
글 보관함