인증과 인가

sunwoo·2020년 12월 13일
0

TIL

목록 보기
7/8
post-thumbnail

인증

인증이 필요한 이유 : 우리 서비스의 사용자 및 사용자 행동양식 파악을 위해서
비밀번호가 중요한 이유 : 법규상의 강제 및 개인정보 보호를 위해서
DB에 저장 할때, 개인 정보를 해싱하여 복원할 수 없도록 한다.


암호화

>단방향 해쉬

원래 해쉬함수는 자료구조에서 빠른 자료의 검색.
데이터의 위변조 체크를 위해 사용되지만,
복원이 불가능한 단방향 해쉬함수는 암호학적 용도로 사용한다.
SHA-256
하지만 문제점은 역추적이 가능하다는 점이다.
그래서 모든 경우의 수에 대한 해쉬값을 생성해놓은 Rainbow Table 탄생한다.
또한 saltingKey Stretching탄생.
Key Stretching : 비밀번호와 임의로 생성란 문자열(Salt) & 해싱을 여러번 반복하여 유추하기 어렵게 저장하는 방법.
Rainbow Attack : 가능한 경우의 수를 모두 해시값으로 만들어 놓은 것.


인가

사용자가 서버에 로그인 하면 해당 사용자가 맞는지 확인하는 과정이 바로 인가

Http의 특징

  • Request/Response
  • Stateless
  • 로그인 시, 백엔드에서 Json Web Token(JWT)를 발행하고 로그인하면 프런트에게 토큰을 body에 실어서 보낸다.
    토큰은 requestheader에 저장된다.
  • Json Web Token(JWT): 웹에서 인증 인가를 할 때 쓰이는 암호화 과정.
profile
고영희를 모시고 있는 Backend 개발자 🐈

0개의 댓글