프로토콜 : 메세지를 주고 받는 양식이나 규칙을 의미하는 통신규약
HTTP로 데이터를 전송하면 네트워크로 전달되는 데이터는 원본 그 자체 이므로 중간에 해커가 가로채고 해당 데이터의 내용을 알 수 있다.
HTTPS 는 데이터를 암호화해서 전송하므로 해커가 중간에 가로채도 이 데이터가 어떤 내용을 가지고 있는지 알기가 어렵다.
AMP : 모바일 기기에서 컨텐츠를 훨씬 빠르게 로딩하기 위한 방법으로 구글에서 만들었다.
대칭키 : 암호화/복호화에 사용되는 키가 동일한 방식, A와 B가 암호 통신을 하려 한다면 A와 B는 공통된 대칭키를 가지고 있어야한다.
공개키 : 대칭키와 다르게 공개키와 비밀키 두가지로 나눈 방식. 공개키는 다른사람들에게 공개된다. 하지만 비밀키는 오직 비밀키의 소유자만이 알고있는 키다.
공개키로 암호화된 평문은 비밀키로 복호화가 가능하고, 비밀키로 암호화된 평문은 공개키로 복호화가 가능하다. 대칭키 방식보다 암호화 연산 시간이 더 소요되어 비용이 크다.
A와 B가 암호화 통신을 하려고 한다고 하자.
A는 B의 공개키를 알고 있고, B는 A의 공개키를 알고있다.
A-> B : B의 공개키 암호화
: A는 B의 공개키를 알고 있기 때문에 B의 공개키로 Text를 암호화 하면 B는 본인의 비밀키로 복호화할수있다.
A-> C : B의 공개키 암호화
: A는 B의 공개키로 암호화한 Text를 C에게 전송한다면 C는 B의 비밀키를 모르므로 복호화 할 수 없다.
즉, 공개키로 암호화 하는 것은 해당 공개키의 소유자만이 해당 암호문을 복호화 할수 있음을 의미함
A -> B : A의 비밀키암호화
: A 가 본인의 비밀키로 Text를 암호화 한다면 B는 A의 공개키로 복호화 할수 있다.
A -> C : A의 비밀키암호화
: A가 본인의 비밀키로 Text를 암호화 한다면 C역시 A의 공개키로 복호화 할 수 있다.
즉, 비밀키로 암호화 하는 것은 해당 암호문은 A에 의해 생성된 것이라는 일종의 인증의 기능을 갖는다.
SSL 은 위와 같은 목적을 위해 인증서를 사용한다.
이 인증서는 믿을만한 공인된 기관에서 발급해준다. 그러한 기관을 CA(Certificate Authority)라고 한다. 믿을 만한 기관이 CS 에서 인증받은 서버는 클라이언트 입장에서 믿고 사용할 수 있다 SSL은 이런한 인증서를 통해 클라이언트와 서버가 보안적으로 안전한 상태로 통신하게 돕는다.
공개키 방식으로 대칭키를 전달한다. 그리고 이 대칭키로 암호화, 복호화를 하고 서버와 브라우저간의 통신을 진행한다.
주소창에 왼쪽 끝에 좌물쇠 아이콘이 있다. 클릭 해보면 아래와 같이 뜨는데,
'이 사이트는 보안 연결(HTTPS)이 사용되었습니다' 클릭 -> 자세히 알아보기 누르면
아래와 같이 인증서 탭이 뜨고 공개키를 확인할 수 있다.
출처
http://www.ktword.co.kr/test/view/view.php?m_temp1=648
https://nukw0n-dev.tistory.com/11?category=940859#%EC%-D%B-%EC%A-%-D%EC%--%-C%EC%--%--%--SSL%EC%-D%--%--%EB%-F%--%EC%-E%--%--%EA%B-%BC%EC%A-%--