Authentication & Authorization

JiMin LEE·2022년 11월 17일
0

로그인

목록 보기
2/7

1️⃣ Authentication(인증) & Authorization(권한)

  • session, cookie : 서버가 로그인을 통해 user를 판별하는데 필요한 것

Authentication(인증)

: 요청이 왔을 때, 그 요청을 보낸 사람이 누구인지를 증명하고, 그 요청에 대한 답(정보)를 줄 것인지를 결정할 때 확인하는 절차
ex - 아이디와 비밀번호를 통해 이 사이트 회원인지를 확인하는 절차

Authorization(권한)

: 인증을 통해 증명된 누군가가, 어떤 권한을 가지고 있어서, 어떠한 액션을 허용하는지 확인하는 절차
ex - 로그인한 유저의 등급(admin, 일반회원 등등)을 확인하여 그 사용자가 할 수 있는 행동을 확인하는 절차

2️⃣ 암호화

  1. 클라이언트가 서버에게 email과 password를 주면서 요청
  2. 서버는 이를 암호화(Encryption)시킨다.
  3. 암호화 시킨 결과와 DB에 암호화되어 저장되어 있던 문자열을 비교한다.
  4. 위에서 비교한 것이 일치하다면 DB에서 이메일을 포함한 정보를 DB에 요청한다.
  5. DB는 이를 반환해 준다.

3️⃣ 보안 방법

1. Hashing

: 어떠한 문자열에 ‘임의의 연산’을 적용하여 다른 문자로 변환하는 것을 말한다.

  • 상대적으로 정보가 노출되기 쉬운 클라이언트 상에서의 보안을 위해 서버 내에서 이루어진다.
  • 단점 : 임의의 연산을 다른 사람이 알아버린다면 의미 없어진다

2. Salt

: hashing 하기 전에 원본에 임의로 문자열을 추가한 후, hashing을 진행한다.

  • 연산 알고리즘이 노출되더라도 원본 값을 보호할 수 있다.

0개의 댓글