대칭키 vs 비대칭키

2023. 1. 6. 15:59카테고리 없음

 

HTTP

-Hypertaxt Transfer Protocol(정보를 담고 있는 문서/파일)

-Hypertext 문서인 HTML을 전송하기 위한 통신규약

-암호화 도지 않은 방법으로 데이터를 전송 -> 메세지 감청이 매우 쉽다

 

HTTPS

-Hypertaxt Transger protocol over (SSL)

-보완이 강화된 HTTP 

 

HTTPS   VS  SSL

-HTTPS와 SSL를 같은 의미로 혼동하는 경우가 많다.

-인터넷 위에서 웹이 작동 -> 유사 개념 -> SSL위에서 HTTPS가 작동한다.

 

통신 계층 과 SSL/TLS관계

 

응용계층 여기서 SSL/TLS가 있다  통과시 "HTTPS"

 

HTTP ( SSL)인증서?

 

-네트워크 통신 암호화 목적

1. 메세지가 노출되더라도 해석할수 없게 한다.

  • 암호와  알고리즘으로 해결, 메세지를 맘대로 훔쳐가도 된다, 하지만 해석은 안됨
  • 접속하려는 서버는 믿을만 하다.
  • 메세지를 함부로 바꾸지 못한다.

SSL 인증서의 목표

-접속한 서버가 신뢰할수 있는지 보장

-SSL 통신에 사용될 공개키(서버)를 클라이언트에게 제공

-인증서 

-> CA이름 , 서비스 도메인 , 서버측 공개키

 

CA

-클라이언트가 접속한 서버가 의도한 서버인지 보장하는 기관

 

EX) 은행 인증서 (유효 기간)

 

 

구글 HTTPS 정책 훝어보기 

 

안전하지 않은 혼합 콘텐츠 

-수동 혼합 콘텐츠 

EX) 이미지 , 비디오 , 오디오 ,컨텐츠

-활성 혼합 콘텐츠

EX)스크립트, 스타일 시트, CSS

 

-> 구글은 기본적으로 HTTPS 로 보완성을 유지하지만 사용자에 의해서  2가지 상황이 발생할 경우 HTTP로 

전달 되기에 보완성이 떨어지는 문제가 발생할 수 있다.

 

SSL 인증서 작동원리 뽀개기 

 

*SSL암호 통신

-대칭키 방식과 

-비대칭키 방식을 모두 사용한다.

 

대칭키 알고리즘

EX) "사랑해" 메시지를 보내게 될시 서로 같은 비밀키를 사용해서 그대로 "사랑해"를 수신자가 받을수 있다.

 

 

비대칭키 알고리즘

EX)"사랑해 "메세지를 보내게 될시 ,  수신측은 본인이 가지고 있는 비밀키가 있고 그것만으로 발신자의 메시지를 풀수있다.

 

 

활용 사이트 : https://www.devglan.com/online-tools/rsa-encryption-decryption

-> 공개키/ 프라이빗 키를 생성수 , 텍스트를 내가 적고  공개키로 알고리즘 돌리면  변환된 값이 나온다 그것을 

수신측에 보내면 그것을 프라이빗 키로 돌렸을때 내가 보낸 "text를 확인 할수 있다"

 

 

 

 

SSL 기본원리

 

- 브라우저가 서버에 접속 -> 서버 자신의 인증서를 제고 ㅇ

-서버가 제공한 인증서가 CA리스트에 포함되어 있는지 확인

-의문점

인증서에 담겨있는 서버의 공개키는 왜 있는 건가?

 

실제 SSL작동

-암호화 방식

실제 데이터-> 대칭키 암호화

대칭키의 키 -> 서버의 공개키

 

-3단계로 구성 

 

1.악수 (Hand shaking)

2.데이터 전송

3.섹션 종료 

대칭키는 빠르지만 , 보안에 취약하다.

비대칭키는 이상적이지만 , 비용에 많이 든다

 

-SSL 솔루션

 초반에 약갼의 삽질을 통해 서버와 클라이언트만 알 수 있는 대칭키를 만들자

3-Way -handshake 통해 둘만 알수 있는 값 즉... pre-master값 생성

 

이후에는 그 대칭키를 이용해서 빠르게 통신하쟈 

 

=pre-master 값을 통신 세션의 대칭키 값으로 그대로 적용 

참고:https://www.youtube.com/watch?v=H6lpFRpyl14
https://www.youtube.com/watch?v=cAInFAY_Ki8&list=PLRUS1nW-CfneHE_Ajr-iYMdyuCUIp1e_r