HTTP(HyperText Transfer Protocol)와 HTTPS(HyperText Transfer Protocol Secure)
≫ 웹 서버와 클라이언트 간에 데이터를 교환하는 데 사용되는 프로토콜
≫ 웹 브라우저(클라이언트)와 웹 서버 간의 통신을 가능하게 하여 사용자가 웹 페이지를 요청하고 서버로부터 그 페이지를 전달받을 수 있도록 함
≫ 교환되는 데이터 : 주로 HTML 문서, 이미지, 비디오 등 웹 리소스
: 두 프로토콜의 주요 차이점은 HTTPS가 보안을 제공한다는 것 !
HTTP
- 정의 : 웹 상에서 정보를 교환하기 위한 기본 프로토콜
- 보안 : 암호화되지 않은 텍스트로 데이터를 전송 → 전송 중인 데이터를 도청하거나 수정할 수 있는 취약성이 있음
- 포트 : 기본적으로 80번 포트 사용
- 용도 : 단순한 정보 검색 or 보안이 중요하지 않은 데이터 전송에 주로 사용됨
sequenceDiagram
participant C as 클라이언트
participant S as 서버
C->>S : HTTP 요청 (웹 페이지 또는 데이터 요청)
S->>C : HTTP 응답 (요청된 데이터 또는 웹 페이지)
Note over C,S : 통신 과정에서 데이터는 암호화되지 않음
- HTTP 요청 : 클라이언트(예: 웹 브라우저)가 서버에 특정 자원(웹 페이지, 이미지, 데이터 등)을 요청
이때, HTTP 메소드(GET, POST, PUT 등)와 함께 특정 URL을 지정 - HTTP 응답 : 서버는 요청받은 자원의 상태와 요청된 자원(또는 에러 메시지)을 함께 클라이언트에게 전송
응답에는 상태 코드(예: 200 OK, 404 NOT FOUND 등)도 포함됨
HTTPS
- 정의 : HTTP에 SSL/TLS 보안 프로토콜을 추가한 것, 보안이 강화된 버전
- 보안 : 데이터 전송 시 SSL/TLS를 사용하여 데이터를 암호화함. 이로 인해 데이터의 기밀성(도청 방지), 무결성(데이터 변조 방지), 인증(서버 또는 클라이언트의 신원 확인)을 보장
- 포트 : 기본적으로 443번 포트 사용
- 용도 : 온라인 금융 거래, 개인 정보 전송, 로그인 정보 등 민감한 정보를 다루는 모든 웹 활동에 사용됨
sequenceDiagram
participant C as 클라이언트
participant S as 서버
C->>S: 연결 요청 및 클라이언트가 지원하는 암호화 방식 전송
S->>C: 서버 설정 및 SSL 인증서(공개키 포함) 전송
C->>C: 인증서의 유효성 확인
C->>S: 랜덤 데이터(사전 마스터 비밀번호) 암호화하여 전송
S->>S: 랜덤 데이터 복호화 및 세션 키 생성
C->>C: 세션 키 생성
C->>S: 세션 키를 사용해 암호화된 데이터 전송
C->>S: 세션 키를 사용해 암호화된 데이터 전송
Note over C,S: 이후 통신은 세션 키로 암호화하여 진행
- 클라이언트의 연결 요청 : 클라이언트가 서버에 연결을 요청하고, 클라이언트가 지원하는 암호화 방식을 서버에 전송
- 서버의 응답과 인증서 전송 : 서버가 클라이언트에게 SSL 인증서(서버의 공개키를 포함)와 서버가 지원하는 암호화 방식을 전송
- 인증서 확인 : 클라이언트는 받은 인증서의 유효성을 확인하고, 인증서가 신뢰할 수 있는 발급기관에 의해 서명되었는지 검증
- 암호화된 데이터 전송 : 클라이언트는 사전 마스터 비밀번호라 불리는 랜덤 데이터를 서버의 공개키로 암호화하여 서버에 전송
- 세션 키 생성 : 서버와 클라이언트는 이 랜덤 데이터(사전 마스터 비밀번호)를 기반으로 동일한 세션 키를 독립적으로 생성
- 암호화된 통신 : 이후 모든 통신은 이 세션 키를 사용하여 암호화되어 진행됩니다.
하이재킹(Hijacking)이란 ?
컴퓨터 보안에서 사용자의 세션, 웹 트래픽, 브라우저 등을 무단으로 제어하거나 변조하는 행위
공격자가 피해자와 시스템 간의 통신을 가로채거나, 피해자의 세션을 제어하여 민감한 정보를 도용하거나, 부정 행위를 수행하기 위해 사용됨
(세션 하이재킹, IP 하이재킹, DNS 하이재킹, 쿠키 하이재킹)
'spring' 카테고리의 다른 글
웹 어플리케이션 보안 취약성 (0) | 2024.11.02 |
---|---|
로깅(Logging) (0) | 2024.09.20 |
영속성 전이 (0) | 2024.09.15 |
다대일 단/양방향 매핑 (0) | 2024.09.15 |
연관관계 매핑 종류 / 방향 (0) | 2024.09.15 |