인증과 인가란

chloe·2020년 10월 15일
0

TIL

목록 보기
13/81
post-thumbnail

인증

쉽게 설명해서 유저의 아이디와 비번을 확인하는 절차

비밀번호 어떻게 관리해야하는가?
우선적으로 법에 정해져있어서!( 보안규칙)

데이터베이스에 저장 시 개인정보를 해싱하여 복원할 수 없도록 함

암호화는 어떻게 할까?
단방향 해쉬란?

  • 본래 해쉬 함수는 자료구조에서 빠른 자료의 검색, 데이터의 위변조 체크를 위해 쓰이지만 복원이 불가능한 단방향 해쉬함수는 암호학적 용도로 사용한다.

그런데 허점을 이용해서 가능한 경우의 수를 모두 해시값으로 만들어 판매하는 서비스도 존재한다.
rainbow Table이라고 부른다
bcrypt (Salting& key stretching 대표적 라이브러리)
salting: 실제 비밀번호 이외에 추가적으로 랜덤 데이터를 더해서 해시값을 계산하는 방법
key stretching: 단방향 해쉬값을 계산한 후 그 해쉬값을 또 또 해쉬하고 이를 계속 반복하는 것을 의미한다.

인가
사용자가 서버에 로그인하면 해당 사용자가 맞는지 확인하는 과정
서버는 사용자가 로그인 했을 경우, 로그인했다는 것을 어떻게 알 수 있을까?
-바로 headers에 메타 데이터를 보내서 확인한다.
-이 메타 정보를 바로 JSON web Token 일명 'JWT'라고 한다.
http의 특징은? 바로 request/response 요청과 응답. stateless한 성질(저장하지 않는 성질)

인증,인가 관련 다음에 꼭 읽어봐야 할 글 !
https://medium.com/datadriveninvestor/authentication-vs-authorization-716fea914d55

profile
Front-end Developer 👩🏻‍💻

0개의 댓글