Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 정처기
- 혼공단
- Til
- join
- 자바
- doitandroid
- 카카오코테
- groupby
- CS
- 프로그래머스
- MySQL
- 자료구조
- 오블완
- 인프런
- Kotlin
- 스터디
- select
- 안드로이드
- 정보처리기사
- java
- 코틀린
- Android
- 기술면접
- 티스토리챌린지
- SQL
- 혼공파
- 혼공챌린지
- 안드로이드스튜디오
- 알고리즘
- 코테
Archives
- Today
- Total
Welcome! Everything is fine.
#17. HTTPS란? 본문
728x90
HTTPS(Hyper Text Transfer Protocol Secure)
HTTPS는 보안 계층인 SSL/TLS를 이용해 HTTP의 보안을 강화한 웹 통신 프로토콜이다. SSL(Secure Socket Layer)은 넷스케이프에서 개발한 암호화 프로토콜이다. 이 SSL을 보완해 새로 만든 프로토콜이 TLS(Transport Layer Security)이다. 현재 HTTPS에서 통용되는 방식은 TLS지만, SSL이라는 명칭은 사라지지 않아 SSL 또는 SSL/TLS라고 부른다. HTTPS 이러한 암호화 프로토콜을 통해 데이터 암호화를 거치지 않아 보안에 취약한 HTTP의 약점을 보완하였다. HTTPS에서는 HTTP는 SSL과 통신하고, SSL이 TCP와 통신하게 된다.
SSL/TLS의 암호화 방식
HTTPS는 대칭키 암호화 방식과 공개키 암호화 방식을 둘 다 사용하여 동작한다.
- 대칭키 암호화 방식 : 데이터의 암호화, 복호화에 모두 같은 키인 대칭키를 이용하는 방식이다. HTTPS 연결 과정에서 사용되는 세션키(주고 받는 데이터를 암호화하기 위한 키)가 대칭키이다.
- 공개키 암호화 방식 : 데이터의 암호화와 복호화를 다른 키로 하는 방식이다. 처음 연결했을 때 안전하게 세션키를 공유하는 과정에서 공개키가 사용된다.
HTTP 계층
응용 계층(HTTP) |
전송 계층(TCP) |
인터넷 계층(IP) |
네트워크 인터페이스 계층(네트워크 인터페이스) |
HTTPS 계층
데이터를 송신할 때는 응용 계층 → 보안 계층으로 데이터를 보내고, 보안 계층에서 데이터를 암호화하여 전송 계층으로 전달한다.
데이터를 수신할 때는 전송 계층 → 보안 계층으로 데이터를 보내고, 보안 계층에서 데이터를 복호화하여 응용 계층으로 전달한다.
응용 계층(HTTP) |
보안 계층(SSL/TLS) |
전송 계층(TCP) |
인터넷 계층(IP) |
네트워크 인터페이스 계층(네트워크 인터페이스) |
HTTPS의 장단점
장점
- 보안이 뛰어나다.
단점
- HTTP에 비해 느리다.
- CPU나 메모리 등 많은 리소스를 필요로 한다.
- 설치 및 인증서 유지를 위한 비용이 든다.
HTTPS의 장단점에 따라, 보안이 중요한 민감한 정보(로그인이나 결제 시스템 등에서 사용되는 개인 정보)가 필요한 경우에만 HTTPS를 사용하고, 그렇지 않다면 HTTP를 이용하는 것이 합리적일 것 같다.
'CS 스터디' 카테고리의 다른 글
[DB] 7월 2주차 기술면접 질문 정리 (0) | 2024.07.19 |
---|---|
#16. 인덱스(Index)란? 인덱스의 목적, 장단점 (0) | 2024.03.12 |
#15. 멀티 프로세스와 멀티 스레드 (0) | 2024.03.07 |
#14. 힙(Heap) (0) | 2024.02.27 |
#13. 트리(Tree) (1) | 2024.02.27 |