TIL_인증/보안

해달·2021년 9월 6일
0

TIL

목록 보기
45/80
post-thumbnail

Today 공부

  • HTTPS
  • Salt

HTTPS (HTTP + Secure)

HTTP 프로토콜 내용을 암호화

  • 인증서 (데이터 제공자 신원 보장, 도메인 종속)
  • CA (공인인증서 발급 기관, Certificate Authority)
  • 비대칭암호키 (전혀 다른 키 한쌍으로 암호화 및 복호화)
    세가지 방법 이용


암호화는 일련의 정보를 임의의 방식을 사용하여 다른 형태로 변환하여
해당 방식에 대한 정보를 소유한 사람을 제외하고 이해할 수 없도록
'알고리즘'을 이용해 정보를 관리하는 과정


해싱

어떠한 문자열에 '임의의 연산'을 적용하여 다른 문자열로 변환하는 것
1. 모든 값에 대해 해시 값을 계산하는데 오래걸리지 않아야 한다.
2. 최대한 해시 값을 피해야 하며, 모든 값은 고유한 해시 값을 가진다.
3. 아주 작은 단위의 변경이라도 완전히 다른 해시 값을 가져야 한다.


Salt

암호화해야 하는 값에 어떤 '별도의 값'을 추가하여 결과를 변형하는 것
1. 암호화만 해놓는다면 해시된 결과가 늘 동일
해시된 값과 원래 값을 테이블(레인보우 테이블)로 만들어서 decoding 해버리는 경우도 생긴다
2. 원본값에 임의로 약속된 '별도의 문자열'을 추가하여 해시를 진행한다면
기존 해시값과 전혀 다른 해시값이 반환되어 알고리즘이 노출되더라도 원본값을 보호할 수 있도록 하는 안전 장치
3. 기존: (암호화 하려는 값) => (hash 값)
slat 사용: (암호화 하려는 값) + (Salt용 값) => (hash값)

Salt 사용시 주의점

  • Salt는 유저와 패스워드 별로 유일한 값을 가져야 합니다.
  • 사용자 계정을 생성할 때와 비밀번호를 변경할 때 마다 새로운 임의의 Salt를 사용해서 해싱해야 합니다.
  • Salt는 절대 재사용하지 말아야 합니다.
  • Salte는 DB의 유저 테이블에 같이 저장되어야 합니다.

  • 어떤 웹사이트에 들어갔을 때, 서버가 일방적으로 클라이언트에 전달하는 작은 데이터
  • 서버가 웹 브라우저에 정보를 저장하고 불러올 수 있는 수단
  • 해당 도메인에 대해 쿠키가 존재하면, 웹 브라우저는 도메인에게 http요청 시 쿠키를 함께 전달
  • ex ) 로그인상태유지, 장바구니 유지 등
  • Domain
  • Path
  • MaxAge or Expires (유효기간지정, 일정시간 후 자동 소멸)
  • HttpOnly (스크립트 태그로 접근이 불가하게 보안 강화)
  • Secure
  • SameSite (cors요청에 따라서 서버가 쿠키를 전송할지 막을지 결정)

0개의 댓글