HTML을 전송하기 위한 통신규약
"http:// 뒤에 오는 domain에 해당되는 컴퓨터와 통신을 할 때 HTTP (protocol)을 이용할 것이다!"
보안이 강화된 HTTP
SSL 이라는 통신방법 위에서 동작하는 서비스 중 하나가 HTTP 이다.
HTTP 가 SSL을 이용하게 되면 HTTPS가 되는 것이다.
암호화 통신에 사용되는 규약
TLS과 같은 말이다. (정식 명칭이 TLS)
이때 대칭키 암호화 / 비대칭키 암호화 방식이 있다.
SSL 을 따르면...
1) 통신 내용이 제 3자에게 (a.k.a 공격자) 노출되는 것을 막을 수 있다. => 암호화 수반
2) client가 접속하려는 server가 신뢰할 수 있는 것인지 판단할 수 있다.
3) 통신 내용의 악의적인 변경을 방지할 수 있다. => 1번 내용과 동일
암호를 만드는 쪽(암호화 쪽) 과 암호를 푸는 쪽(복호화 쪽) 모두 동일한 key를 갖고 있는 방식
나가 A라는 파일을 암호화 하여 B파일의 형태로 만들었다.
나가 B파일을 멀리 있는 상대에게 전송한 후 상대가 B를 A로 복호화 하여 확인한다.
이를 위해 나는 상대에게 KEY 를 알려주어야 한다.
=> 치명적 단점!! : KEY가 함께 전달된다 = 제 3자가 KEY를 가로챌 수 있다. (대칭KEY 전달의 어려움)
두개의 키 = A /B 일때
if) A 키로 암호화 => B 키로 복호화
if) B 키로 암호화 => A 키로 복호화
=> 이런 식으로 두개의 KEY가 작용할때 각각 공개키(public key) / 비공개키(privatekey / 개인키)로 구분짓는다.
나 는 비공개키
를 갖고있고, 상대에게 공개키
를 알려준다.
그럼 상대는 나가 준 공개키
로 정보를 암호화 해서 나에게 제공한다.
나는 갖고 있던 비공개키
로 복호화 한다.
나 가 비공개키
를 이용해 정보를 암호화 한 후 상대에게 공개키
와 함께 암호화 된 정보를 제고안다.
상대는 제공받은 공개키
로 복호화 한다.
=> 이때 제 3자가 KEY를 가로챌 수 있다!! 그러나 이 경우 데이터 보호의 목적이 아니라 공개키
가 데이터를 제공한 나의 신원을 보장시켜준다.