2023.01.12.THU

ronglong·2023년 1월 12일
0
  1. HTTPS
    = HTTP + TLS(SSL, secure)
  • SSL, TLS : CA를 통해 서버를 인증하는 과정과 데이터를 암호화하는 과정

  • 암호화
    : HTTP 통신 중 데이터를 암호화해서 전송
    https://liveyourit.tistory.com/183
    - 대칭키 : 하나의 공통 비밀키를 가지고 데이터를 암호화 및 복호화
    - 비대칭키 : 각각 공개키와 비밀키를 가짐. 상대가 나의 공개키로 암호화한 데이터를 개인이 가진 비밀키로 복호화
    - HTTPS에서는 대칭키, 비대칭키 방식을 혼용해서 사용
    - 대칭키는 키를 교환해야하고, 비대칭키는 키 교환이 필요없다는 게 가장 큰 차이로 보임

  • 인증서
    : Certificate Authority(CA, 인증 기관)를 통해 서버의 신원 보장.
    - CA : 서버의 공개키 및 정보를 CA의 비밀키로 암호화하여 인증서를 발급
    -> 클라이언트 측이 내장된 CA리스트와 비교하여 서버와의 연결 안전성 확인
    -> CA의 공개키로 복호화

  • 실습
    : mkcert 설치를 통해 로컬을 인증된 발급기관(CA)로 추가하고, Spring boot project를 생성하여 HTTPS 서버를 만들어 봄.

    • mkcert로 만든 PKCS12 형식의 인증서를 복사하여 resource 폴더에 추가
    • application.properties에서 관련 설정 추가
  1. Hashing
  • 데이터를 알고리즘을 통해 다른 형식으로 변환
  • 모든 값은 고유한 해시값 가짐
  • 고정된 출력 길이
    https://dev-kani.tistory.com/2
  • DB를 뚫려도, 해독이 어렵고 알고리즘이 노출되지 않았다면 해킹 어려움
  • 사이트마다 다른 알고리즘을 사용하면 사용자가 비밀번호를 다 똑같이 설정해도, 각 사이트마다 DB에 저장된 값은 모두 달라서 연쇄적인 해킹을 막을 수 있음
  • salt 라는 별도의 값을 원본 값에 추가하여 해싱. id마다 고유값.
    https://ko.wikipedia.org/wiki/%EC%86%94%ED%8A%B8_(%EC%95%94%ED%98%B8%ED%95%99)
  1. Cookie
  • HTTP의 무상태성을 보완
  • 서버가 클라이언트에 데이터 저장
  • 데이터를 저장 후, 특정 조건들(options)이 만족하는 경우에 재사용 가능
  • Cookie options : Domain, Path, MaxAge/Expires, Secure, HttpOnly(Js로 쿠키 접근 불가), SameSite(Lax, Strict, None)
    - Lax는 다른 사이트의 요청이면 get 메서드만 가능
    - Strict는 같은 사이트만 쿠키 전송 허용
    - None은 모든 사이트에 쿠키 전송 가능하나, HTTPS 프로토콜 이용해야함
    https://velog.io/@sms8377/Network-%EC%BF%A0%ED%82%A4-%EC%98%B5%EC%85%98%EC%9D%98-%EC%97%AD%ED%95%A0
  • origin(스킴+호스트 네임+포트)과 site(도메인)의 차이
    https://minjung-jeon.github.io/same-site-same-origin/
  • 쿠키에 민감정보 담는 것 지양
  1. Session
  1. 웹 보안 공격
  1. 기타

<느낀 점>
섹션4 시작.
이번에는 거의 한 달 내내 보안에 대해서 배우는 것 같다. 그만큼 중요하겠지.

용어들이 낯설어서 감이 좀 안 왔었는데, 오후 줌 세션도 듣고, 혼자서 자료를 좀 더 찾아 읽어보니까 조금 낫다.

공부하다가 토큰과 라우터라는 용어가 나왔는데, 따로 설명은 없어서 좀 찾아봤다.
아마 곧 배우지 않을까 싶다.
.
.
오전에 꾸준히 프로그래머스 0단계 알고리즘 문제를 풀고 있다.
1월 3일부터 풀었으니까, 오늘 포함 8일정도 푼 것 같다.

현재 0단계 100문제 중에서 쉬운 순서(정답률이 높은 순서)대로 68문제를 풀었고, 32문제가 남았다. 하루 평균 8.5문제씩 풀었군.. 잘 풀려서 좋았던 시간...ㅋㅋㅋ

지금까지는 술술 풀었는데 이쯤되니까 난이도가 올라가서 내일부터는 막힐 것 같다,,⭐️
만약에 너무 막히면, 오전에 문제 풀지 말고 유튜브 바킹독 보면서 공부를 좀 더 해봐야겠다.
0단계도 후반 가니까 이런데, 1단계는 어떤 세상인 것이냐,,

이제 섹션4 끝나기까지 29일 남았다. 그러고 나면 프로젝트..!
엄청 잘하지는 못하더라도 중간은 가보도록 하자.
일단 포기하지 않고 완주하는 게 중요하다.

요즘 산책을 너무 안 했다. 주말에는 가능하면 산책 좀 해야겠다.

0개의 댓글