HyperText Transfer Protocol(HTTP) (Port : 80)
인터넷에서 데이터를 주고 받을 수 있는 프로토콜이다.
서로 다른 시스템들 사이에서 통신을 주고받게 해주는 가장 기초적인 프로토콜.
서버에서부터 브라우저로 전송되는 정보가 암호화되지 않는다는 점.
그래서 데이터가 도난당할 수 있다는 것이다.
HTTP의 단점을 보완하여 만들어진 것이 HTTPS이다.
HyperText Transfer Protocol Secure(HTTPS) (Port : 443)
SSL은 서버와 브라우저 사이에 안전하게 암호화된 연결을 만들 수 있게 도와주고 서버 브라우저가 민감한 정보를 주고받을 때 이것이 도난당하는 것을 막아준다.
암호화가 되어있기 때문에 누군가 중간에서 데이터를 가로채도 해독이 불가능 하다.
간단히 말하면 들어오고 나가는 데이터들을 암호화하는 보안 기능을 갖고 있는 '보안 인증서'이다.
SSL은 15년도를 기점으로 보안취약점이 발견되어 더이상 사용하지 않고 그 상위 버전이라 불리는 TLS를 사용한다.
SSL은 폐기 되었지만 고유명사느낌으로 모든 보안 인증서는 SSL이라고 부른다.
인터넷에서의 정보를 암호화해서 송수신하는 프로토콜
TLS와 HTTPS는 같지 않다.
TLS는 HTTPS뿐만아니라 FTP, SMTP등에도 쓰임
HTTPS는 HTTP에 TLS(SSL)을 결합한 느낌
대표적인 키로는 공개키, 개인키, 대칭키, 비대칭키
말 그대로 개인이 가지고 있는 열쇠이다.
누구나 열람할 수 있는 공개된 열쇠를 말한다.
1. 대칭키 : 암호화, 복호화 시 키가 동일한 경우
ex) A의 개인키로 암호화를 진행 한 경우 보낼 데이터와 A의 개인키를 B에게 전달
B는 A의 개인키를 이용하여 데이터를 복호화 진행
2. 비대칭키 : 암호화, 복호화 시 키가 다른 경우
ex)
2-1. (상대방)공개키로 암호화 하는 경우
B의 공개키로 암호화를 해서 데이터를 보내면 B는 자신의 개인키(B개인키)로
암호화된 데이터를 복호화 처리하면 됨. 정보 자체에 대한 암호화가 필요할 때 사용
2-2. 개인키로 암호화 하는 경우
A의 개인키로 암호화를 해서 데이터를 보내면 A의 공개키는 누구나 열람할 수 있으니
A의 공개키로 데이터를 복호화 처리.
이때 데이터가 중간에서 가로챔 당할 수 있어서 보안에 취약할 수 있다고 생각하지만
이런 방식은 전자서명 같은 보낸 사람의 신원에 대한 정보가 필요할 때 사용 한다.