HTTP의 문제점
- 도청이 가능하다. (평문 통신)
- 위장이 가능하다. (통신 상대 확인X)
- 변조가 가능하다. (완전성 증명 불가)
- 다른 암호화하지 않은 프로토콜에도 공통되는 문제점들임
1. TCP/IP는 도청 가능한 네트워크이다.
TCP/IP 구조의 통신은 전부 통신 경로 상에서 엿볼 수 있다. 패킷을 수집하는 것만으로 도청을 할 수 있다. 평문으로 통신을 할 경우 메시지의 의미를 파악할 수 있기 때문에 암호화하여 통신해야 한다.
보완방법
- 통신 자체를 암호화
- SSL(Secure Socket Layer) or TLS(Transport Layer Security) 라는 다른 프로토콜을 조합함으로써 HTTP의 통신 내용을 암호화할 수 있다. SSL을 조합한 HTTP를 HTTPS(HTTP Secure) or HTTP over SSL 이라고 부른다.
- 콘텐츠를 암호화
- HTTP를 사용해서 운반하는 내용인, HTTP 메시지에 포함되는 콘텐츠만 암호화하는 것이다. 암호화해서 전송하면 받은 측에서는 그 암호를 해독하여 출력하는 처리가 필요하다.
2. 통신 상대를 확인하지 않기 때문에 위장이 가능하다.
HTTP에 의한 통신에는 상대가 누구인지 확인하는 처리는 없기 때문에 누구든지 리퀘스트를 보낼 수 있다. IP주소나 포트 등에서 그 웹 서버에 엑세스 제한이 없는 경우 리퀘스트가 오면 상대가 누구든지 무언가의 리스폰스를 반환한다.
3. 완전성을 증명할 수 없기 때문에 변조가 가능하다.
완전성이란 정보의 정확성을 의미한다. 서버나 클라이언트에서 수신한 내용이 송신측에서 보낸 내용과 일치한다라는 것을 보장할 수 없는 것이다. 리퀘스트나 리스폰스가 발신된 후에 상대가 수신하는 사이에 누군가에 의해 변조되더라도 이 사실을 알 수 없다. 이와 같이 공격차가 도중에 리퀘스트나 리스폰스를 빼앗아 변조하는 공격을 중간자 공격(Man-in-the-Middle)이라고 부른다.
보완 방법
MD5, SHA-1 등의 해시 값을 확인하는 방법과 파일의 디지털 서명을 확인하는 방법이 존재하지만 확실히 확인할 수 있는 것은 아니다. 확실히 방지하기에는 HTTPS를 사용해야 한다. SSL에는 인증이나 암호화, 다이제스트 기능을 제공하고 있다.
'~2023.02 > 1일 1CS지식' 카테고리의 다른 글
DNS와 DHCP란? (0) | 2022.07.16 |
---|---|
동기와 비동기, 블로킹과 논-블로킹이란? (0) | 2022.07.15 |
대표적인 SQL의 종류 3가지와 종류별 명령어는? (0) | 2022.07.14 |
AVL 트리란? (0) | 2022.07.12 |
CORS(Cross-Origin Resource Sharing)란 무엇일까? (0) | 2022.07.11 |