Skip to content

Commit f9857cc

Browse files
committed
Docs: 220309/김지원/http https summary
1 parent 91f2d80 commit f9857cc

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

CS/Summary/Network/HttpHttps.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# HTTP HTTPS
2+
3+
## HTTP(HyperText Transfer Protocol)
4+
- http는 **서로 다른 시스템 사이에서 통신을 주고 받게 해주는 가장 기초적인 프로토콜**이며 웹 서핑을 할 때 **서버에서 자신의 브라우저로 데이터를 전송해주는 용도**로 가장 많이 사용된다.
5+
- 인터넷 초기에 모든 웹 사이트에서 기본적으로 사용되었던 프로토콜이기도 하다.
6+
- http는 애플리 케이션 레벨의 프로토콜로 TCP/IP 위에서 작동한다.
7+
- Http는 상태를 가지고 있지 않은 stateless 프로토콜이며 method, path, version, Headers, body등으로 구성된다.
8+
9+
> 프로토콜은 규칙이라고 생각하면 된다.
10+
11+
## HTTP의 문제점
12+
- Http는 **평문 통신**이기 때문에 **도청**이 가능하다.
13+
- 평문이라 함은 암호화 되지 않은 문자를 그대로 보여주는 거라고 생각하면 된다.
14+
- TCP/IP구조 통신은 전부 통신 경로 상에서 엿볼 수 있다.
15+
- 패킷을 수집하는 것만으로 도청할 수 있다.
16+
- 평문으로 통신을 할 경우 메시지의 의미를 파악할 수 있기 때문에 암호화하여 통신해야 한다.
17+
- **통신 상대를 확인하지 않기** 때문에 위장이 가능히다.
18+
- HTTP에 의한 통신에는 상대가 누구인지 확인하는 처리가 없기 때문에 누구든지 리퀘스트를 보낼 수 있다.
19+
- IP주소나 포트 등에서 그 웹 서버에 액세스 제한이 없는 경우 리퀘스트가 오면 상대가 누구든지 무언가의 리스폰스를 반환한다.
20+
- 완전성을 증명할 수 없기 때문에 변조가 가능하다.
21+
- 완정성이란 정보의 정확성을 의미한다.
22+
- 서버 또는 클라이언트에서 수신한 내용이 송신측에서 보낸 내용과 일치한다라는 것을 보장할 수 없는 것이다.
23+
- 리퀘스트나 리스폰스가 발신된 후에 상대가 수신하는 사이에 누군가에 의해 변조되더라도 이 사실을 알 수 없다.
24+
- 이와 같이 공격자가 도중에 리퀘스트나 리스폰스를 뺴앗아 변조하는 공격을 중간자 공격이라고 부른다.
25+
26+
### Http 단점을 해결하려면
27+
1. SSL(Secure Socket Layer)이나 TLS(Transport Layer Security)를 사용하여 다른 프로토콜과 조합하여 HTTP 통신 내용을 암호화 한다. 즉 SSL을 사용해 안전한 통신로를 확립하고 나서 그 통신로를 사용해 HTTP 통신을 하는 것이다.(1) => (HTTPS)
28+
2. HTTP를 사용해서 운반하는 내용만을 암호화하는 것이다. HTTP 자체를 암호화 하는 것이 아닌 컨텐츠만 암호화하는 것인데 다만 이경우는 클라이언트에서 HTTP 메시지를 암호화해서 출력하는 추가 처리가 필요하다.(1)
29+
3. 위 암호화 방법으로 언급된 SSL로 상대를 확인할 수 있다. SSL은 상대를 확인하는 수단으로 증명서를 제공하고 있다.(2)
30+
4. MD5, SHA-SUM, 등의 해시 값을 확인하는 방법과 파일의 디지털 서명을 확인하는 방법이 존재하지만 확실히 확인 할 수 잇는 것은 아니다. 확실히 방지하기위해서는 HTTPS를 사용해야한다. SSL은 인증이나 암호화 그리고 다이제스트 기능이 있다.(3)
31+
32+
## HTTPS
33+
- HTTPS는 **HTTP + SSL/TLS**이다.
34+
- http의 소켓 부분을 SSL(Secure Socket Layer)과 TLS(Transport Layer Secure)로 대체하는 것이 HTTPS이다.
35+
- TLS는 SSL을 바탕으로 한 프로토콜로 이 프로토콜을 통칭해서 SSL이라고 부르기도 한다.
36+
- 기존의 HTTP는 원래 TCP와 통신을 직접했지만, HTTPS는 HTTP는 SSL과 통신하고 SSL이 TCP와 통신하게된다.
37+
- HTTPS의 SSL에서는 공통키 암호화 방식과 공개키 암호화 방식을 혼합한 하이브리드 암호 시스템을 사용한다.

0 commit comments

Comments
 (0)