210628_인증/보안(기초)

Bitnara Lee·2021년 6월 28일
0

HTTPS 프로토콜

HTTPS : 'Hyper Text Transfer Protocol Secure Socket layer'
HTTP over SSL(TLS), HTTP over Secure

HTTP 요청을 SSL 혹은 TLS라는 알고리즘을 이용해, HTTP 통신을 하는 과정에서 내용을 암호화하여 데이터를 전송하는 방법

인증에서 HTTPS 프로토콜을 사용해야만 하는 이유:
HTTP보다 상대적으로 안전한 방법이고, 데이터 제공자의 신원을 보장
중간자 공격

암호화

인증서

인증서의 도메인과 데이터를 제공한 제공자의 도메인을 비교할 수 있기 때문에 인증서의 도메인 정보와 데이터 제공자의 도메인 정보가 다른 '중간자 공격'을 감지하여 보안 위협으로부터 사용자 및 사용자의 데이터를 보호할 수 있습니다.

Hashing

어떠한 문자열에 '임의의 연산'을 적용하여 다른 문자열로 변환하는 것

Salt

암호화해야 하는 값에 어떤 '별도의 값'을 추가하여 결과를 변형하는 것

어떤 웹사이트에 들어갔을 때, 서버가 일방적으로 클라이언트에 전달하는 작은 데이터
쿠키는 서버에서 클라이언트에 데이터를 저장하는 방법의 하나입니다.

그러므로 서버가 원한다면 서버는 클라이언트에서 쿠키를 이용하여 데이터를 가져올 수 있습니다.

그러므로 쿠키를 이용하는 것은 단순히 서버에서 클라이언트에 쿠키를 전송하는 것만 의미하지 않고 클라이언트에서 서버로 쿠키를 전송하는 것도 포함됩니다.

쿠키 옵션

  1. Domain
  1. Path
  1. MaxAge or Expires
  1. Secure
  1. HttpOnly
  1. SameSite

    • Lax :Cross-Origin 요청이면 'GET' 메소드에 대해서만 쿠키를 전송할 수 있다

    • Strict : Cross-Origin이 아닌 same-site 인 경우에만 쿠키를 전송 할 수 있다

    • None: 항상 쿠키를 보내줄 수 있습니다. 다만 쿠키 옵션 중 Secure 옵션이 필요(https,secure)

      이때 'same-site'는 요청을 보낸 Origin과 서버의 도메인이 같은 경우

세션기반 인증 (Session-based Authentication)

서버가 client에 유일하고 암호화된 ID부여
중요 데이터는 서버에서 관리

로그인
세션 : 사용자가 인증에 성공한 상태
이 때에 웹사이트에서 로그인을 유지하기 위한 수단으로 쿠키를 사용합니다. 쿠키에는 서버에서 발급한 세션 아이디를 저장

로그아웃

express-session

profile
Creative Developer

0개의 댓글