ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HTTPS와 SSL인증서 (1)HTTPS, SSL, TLS, 대칭키
    생활코딩 WEB 2022. 11. 28. 00:25

    ---

    http://opentutorials.org/course/228/4894

     

    HTTPS와 SSL 인증서 - 생활코딩

    HTTPS VS HTTP HTTP는 Hypertext Transfer Protocol의 약자다. 즉 Hypertext 인 HTML을 전송하기 위한 통신규약을 의미한다. HTTPS에서 마지막의 S는 Over Secure Socket Layer의 약자로 Secure라는 말을 통해서 알 수 있듯이

    opentutorials.org

     

    ---

    https://youtube.com/playlist?list=PLCZ-8rvakaqbplQZAoUku8uuxUgbLQm-1

     

    생활코딩 - HTTPS와 SSL 인증서

     

    www.youtube.com

     

    ---

    https://edu.goorm.io/lecture/12973/%EC%83%9D%ED%99%9C%EC%BD%94%EB%94%A9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EA%B0%9C%EB%85%90-%EC%9E%A1%EA%B8%B0-%EB%8F%84%EB%A9%94%EC%9D%B8-%EB%84%A4%EC%9E%84%EC%84%9C%EB%B2%84-https

     

     

    ---

    https://youtu.be/0cfUVrQW_yg

    썸네일에 ROUTE 53 마크뭐지

    https://aws.amazon.com/ko/route53/features/ : 유래 : 서비스의 이름(Route 53)은 DNS 서버가 포트 53에서 쿼리에 반응하며 최종 사용자를 인터넷 상의 애플리케이션으로 경로를 지정해 준다는 의미에서 유래한 것입니다.

     

    ---

    HTTPS, SSL, SSL인증서

    복잡한 메커니즘으로 동작하는 정보보호수단

     

    얘네를 적용하는건 검색해서 하란대로 따라가는게 어렵진 않지만,

    문제가 발생했을 때 문제를 해결하기 위해 원리를 잘 따져보자! HTTPS, SSL이 어떻게 동작하는가, 이런 원리를 잘 모르면 HTTPS를 제공하는 과정에서 문제가 생겼을 때 문제를 해결하는데 시간이 너무 많이 걸릴 수 있어. 본질적인 부분을 모르고 있기 때문에 돌아가고 있구나 생각이 든다.

     

    ▽근데 이고잉님 이렇게 원리를 본질적으로 꿰뚫으면서 강의를 만드시는데 어떻게 본질을 꿰뚫으시는지 궁금하네요 영어를 잘해야 하나요?ㅠㅠ

     

    HTTPS, SSL이라는 기술을 구현하기 위해 중간에 암호화, 인증서 같은 기술들이 복합적으로 들어가 있다

    충분히 익혀둘만한 것들

     

    ---

    수업전에 용어 정리부터

     

    Hypertext : 문서와 문서가 링크로 연결돼있는 형태의 문서, 문서체계. 가장 중요한 문서 양식은 HTML. 

    HTTP : HTML을 전송하기 위해 만들어진 통신규약

     

    여러분이 URL을 입력할 때

    http://도메인

    을 적는데

    그것은 그 도메인에 해당되는 컴퓨터와 통신을 할건데 http프로토콜을 이용할 것이다 라는 뜻

     

    ---

    opentutorials.org

    둘다 똑같이 HTTP, html문서를 전송하기 위한 방식인데, S가 Over Secure Socket Layer의 약자이고, Secure라는 말이 중요해. 보안장치가 결합돼 있는 형태의 통신방식이라고~~

     

    ---

    HTTP를 통해서 데이터를 전송하면 전송하는 과정에서 내가 보내고 내가 받는 데이터가 제3자가 감청, 조작, 자신인척 할 수 있어

     

    HTTPS는 그런것을 방지하기위한 포괄적인 기술체계

    HTTP에서 보안적인 약점을 보강한 것. 오고가는 데이터가 암호화된다

     

    ---

    로그인 페이지 누르기 전

    그리고 로그인 페이지 누르면

    없었던 https://가 생겼다

     

    로그인을 하는 과정에서 id, pw를 입력할건데, 이게 노출되면 이 사이트에 로그인할 수 있는 권한이 도둑질 당한 것(만약 다른 사이트도 똑같은 id, pw라면 거기도다. ▽해커는 다 시도해볼테니)

     

    그래서 로그인하는 페이지에서는 https로 프로토콜이 변경되는 걸 볼 수 있다

    그래서 여기서 id, pw를 입력하고 로그인을 하면 서버로 https를 이용해서 전송이 된다

    ▽로그인 페이지에서 부터 https라고 나와야해? 무슨 원리가 있겠지

     

    서비스가 비밀정보를 전송하는 맥락에서 https를 안쓰고 있다면 신뢰도가 많이 떨어지는 서비스라는걸 인지하고 있어야 한다

     

    ---

    HTTPS & SSL

    포괄적으로 보면 같고 디테일하게 보면 다른 것

     

    SSL위에서 HTTPS가 동작한다

    네트워크통신을 할 땐 계층적으로 Layer라고 하는것이 구성돼 있어

     

    저희 엄마는 컴퓨터, MS windows, 웹브라우저, Daum(특정서비스)을 다 똑같은걸로 생각하십니다

    사실 다 다르다. 계층적인 관계를 갖고 있어

     

    SSL이라는 통신방법이 더 포괄적인 것이고, 그 위에서 동작하는 서비스 중에 하나가 HTTP

    HTTP가 SSL이라는것을 이용하게되면 HTTPS가 되는 것

     

    ---

    SSL & TLS

    같은 것이다.

    네스케이프가 인터넷상에서 사용자의 정보를 더 안전하게 주고받기 위해 고안한게 SSL

    SSL이라는것이 보편화되면서, 표준화기구인 IETF로 관리가 이관됨. 그때 TLS라는 이름으로 바뀜

    역사적인 이름 SSL

    정식명칭 TLS

     

    ---

    https://youtu.be/dabaJY3Q3Og

    본론(SSL 인증서)을 이해하기 위해 필요한 일종의 부품 먼저. 결론이 나올때까지 모르는 상태를 좀 견뎌야 해

    근데 부품들이 SSL인증서가 아니래도 그 자체가 알고있을 때의 가치가 커

     

    ---

    일단 SSL 디지털 인증서 개론(일단 기계적으로 되새겨보기)

    제 3자가 뭔지는 뒤에

    공증과 같은 상호간의 신뢰관계를 형성한다

     

    ---

    일단 저 장점 3가지 중,

    '통신 내용이 공격자에게 노출되는 것을 막을 수 있다'라는 부분부터 살펴볼게요

    그러려면 암호화가 필요하겠죠?

     

    암호화 : 내가 원하는 사람만 해석할 수 있게 하는 것

     

    중간에 가로챈 사람은 이해 못하고

    받은 사람은 이해할 수 있게 해야해

     

    ---

    LOVE라는 단어를 전하려고

    MPZF라고 보낸대

     

    각각의 알파벳이 그 다음알파벳으로 치환된다는 사실을 알고 있으면? LOVE -> MPZF 라는 사실을 알 수 있어, 암호화

    그럼 그 반대로 MPZF -> LOVE는 복호화 라고 한다

     

    암호화와 복호화를 할 때 기준이 되는 열쇠가 되는 데이터를 key라고 한다

     

    key를 갖고 있어야 암호화할 수 있고, 복호화를 할 수 있다

    key가 없는 사람은 원래의 내용을 알 수 없도록 하는 것이 암호화의 기본적인 메커니즘

    이런 방식의 암호화 기법을 대칭키 방식이라고 부른다

     

    ---

    암호화를 하는 쪽과 복호화를 하는 쪽이 양쪽 다 동일한 키를 갖고 있어야 한다는 의미에서 대칭키라는 이름!

    openssl이라는 소프트웨어를 이용해서 암호화하고 복호화하는걸 보여드려보면

    우분투 배포판에서 실행할거야(다른 운영체제는 그것에 맞는 소프트웨어로 따라할 수 있다)

     

    ---

    텍스트를 .txt파일로 만드는 명령

    openssl를 이용해서 암호화를 하겠다.

    enc -e -des3 : des3라는 방식으로 암호화를 하겠다. 대칭키 암호화 기법 중 하나. ssl에서 사용되는 암호화 기법

    -salt : 지금 안중요

    -in : 들어온다(~ 파일을 갖고와서)

    -out : 나온다(~로 암호화 하겠다)  ▽.bin확장자?

     

    패스워드 두번 입력하는건 내가 입력하는 것 111111. 이게 key야

    cat해보면 이상하게 나와

     

    ▽풀 때 key입력하라고 나오네

    https://customer.gabia.com/manual/cloud/8201/8202

     

    ---

    남에게 보내줄 때 탈취 당해도 괜찮기 위해 암호화를 했어.

    근데 받은 사람이 이걸 복호화를 하려면 key값인 111111을 알아야 하잖아. 111111은 어떻게 전송해?

     

    이게 대칭키 방식의 결점

     

    *ssl은 대칭키와 공개키 둘다 혼합돼서 사용된다

Designed by Tistory.