2021-11-2 그림으로배우는 HTTP (9주차)
HTTPS
HTTP의 약점
- 암호화 하지 않은 통신이기 때문에 도청 가능
- 통신 상대를 확인하지 않기 때문에 위장 가능
- 완전성을 증명할 수 없기 때문에 변조 가능
암호화
- 통신 암호화
- SSL이나 TLS라는 다른 프로토콜을 조합함으로써 HTTP의 통신 내용을 암호화할 수 있습니다
- SSL 등을 이용해 안전한 통로를 확립하고 나서 그 통신로를 사용해 HTTP통신을 한다.
- 콘텐츠 암호화
- 콘텐츠의 내용 자체를 암호화해 버리는 방법 - HTTP에 함호화기능은 없기에 운반하는 내용을 암호화
통신 상대를 확인하지 않기 때문에 위장 가능
- 통신 상대를 확인하지 않기에 누구나 리퀘스트할 수 있다
- 리퀘스트를 보낸곳의 웹서버가 원래 의도한 서버인지 아닌지 확인불가 - 위장한 웹서버일 우려
- 리스폰스 반환한 곳의 클라이언트 - 위장한 클라이언트일 우려
- 통신하고 있는 상대가 접근이 허가된 상대인지 아닌지 확인 불가
상대를 확인하는 증명서
- HTTP에서는 상대를 확인할 수 없지만 SSL로 확인할 수 있다.
완전성을 증명할 수 없기 때문에 변조 간으
- 리퀘스트나 리스폰스가 발신된 후에 상대가 수신할 때까지의 사이에 변조되었더라도 알 수 없다.
- 해시 값을 확인하는 방법과 파일의 디지털 서명을 확닝하는 방법
HTTPS는 SSL의 껍질을 덮어쓴 HTTP
- 보통 HTTP는 직접 TCP와 통신하지만 SSL을 사용한 경우에는 HTTP는 SSL과 통신하고 SSL이 TCP와 통신
- 공통키 암호화의 딜레마
- 어떻게 안전하게 키를 배송할지
- 두 개의 키를 사용하는 공개키 암호
- 서로 다른 두 개의 키 페어를 사용한다 - public, private key
- 암호를 보내는 측이 상대의 공개키를 사용해 암호화, 받아들인 상대는 비밀키를 사용해 복호화
Written on November 2, 2021