HTTPS : Hyper Text Transfer Protocol Secure Socket layer 의 약자
> HTTP over SSL(TLS), HTTP over Secure라고도 부르기도 함
> HTTPS : HTTP 요청을 SSL 혹은 TLS라는 알고리즘을 이용해, HTTP 통신을 하는 과정에서 내용을 암호화하여 데이터를 전송하는 방법
★ SSL (Secure Sockets Layer)과 TLS (Transport Layer Security)는 모두 인터넷에서 안전한 통신을 할 수 있도록 하는 프로토콜, 암호화 기술을 제공
※ SSL : Secure Sockets Layer의 약자, 초기에 넷스케이프(Netscape)에서 개발되었으며, 현재는 TLS로 대체
※ TLS : Transport Layer Security의 약자, SSL의 업그레이드 버전으로서, 더욱 강력한 보안 기능을 제공
※ CA : 인증기관, SSL 및 TLS 인증서를 발행하는 기관, SSL/TLS 통신에서 사용되며, 이를 통해 서버와 클라이언트 간의 안전한 통신이 가능
> 서버의 공개키를 포함하고 있으며, 이를 클라이언트가 검증하여 서버의 신원을 확인
> 인증기관(CA)이 발급하며, 인증기관은 발급하는 인증서의 신뢰성을 보장하기 위해 검증 과정을 거침
> 보통 인증서 요청자의 신원 확인 및 도메인 소유권 확인을 포함
★ 중간자 공격 : 클라이언트와 서버 사이에서 공격자가 서로의 요청, 응답의 데이터를 탈취 및 변조하여 다시 전송하는 공격
> 서버가 해당 데이터는 https://example.com 도메인에서 제공되었습니다.라는 추가데이터를 응답객체에 실어 보낸다면 '중간자 공격'으로 인해 다른 도메인에서 데이터를 받은 클라이언트는 데이터를 제공한 도메인과 전달받은 내용의 도메인을 비교하여 '중간자 공격'이 존재하는지 아닌지 확인
> 물론 중간자 공격으로 인해 이런 추가 데이터 또한 변조 -> 데이터를 암호화시키는 작업이 필요
★ 암호화
> 데이터를 전송하는 요청을 'wireshark'라는 패킷 분석 프로그램을 이용하여 캡처한 사진
> HTTPS로 변경했을 때의 데이터를 캡처한 사진
★ 인증서
> HTTPS 프로토콜의 또 다른 특징 중 하나는 브라우저가 응답과 함께 전달된 인증서 정보를 확인할 수 있다는 점
> 브라우저는 인증서에서 해당 인증서를 발급한 CA 정보를 확인하고 인증된 CA가 발급한 인증서가 아니라면 아래와 같이 화면에 경고창을 띄워 서버와 연결이 안전하지 않다는 화면을 보여줌
'DevOps BootCamp > HTTP' 카테고리의 다른 글
REST API (0) | 2023.03.22 |
---|---|
HTTP 주요 헤더 (0) | 2023.03.22 |
Cookie (0) | 2023.03.22 |