인증과 인가

Peter Oh·2020년 12월 7일
0

Back-end Development

목록 보기
4/5
  1. 인증이란?
  2. 비밀번호 암호화는 어떻게 이루어지는가?
  3. 단방향 해쉬함수 그리고 레인보우 테이블 어택
  4. 설팅과 키스트레칭 그리고 bcrypt
  5. 인가란?
  6. JWT에 대해 배워봅시다.

인증과 인가

인증 - 나라는 것을 증명하는 것(Authentication)
회원가입 / 로그인

서비스를 누가 쓰난가? 어떻게? 추적이 가능하게 하기 위해

인증에 필요한 것
아이디 /이메일주소 / 비밀번호
서비스에 따라서, 필요한 인증방법이 다르긴하다( 일반적으론 비밀번호!)

비밀번호는 어떻게 관리? 법규상의 강제

Backend 개발자의 절대적이ㅣㄴ 책임은 아니지만, 꽤나 큰 책임감이 필요하다

개인정보

Databse에 저장 시 개인정보를 Hashing 해서 복원 불가능하게 해둠

What is Hashing(for further study!!)

Hashing을 하면 정말 복원이 불가능한가?

비밀번호는 어떻게 관리?
통신 시 개인 정보를 주고받을 때 SSL을 적용하여 암호화(HTTPS)

HTTP vs HTTPS

단방향 해쉬란?

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

ex)

  • MD5, SHA-1(보안 취약한 둘) / SHA-256 - 프로젝트에서 사용했던 알고르즘

완벽해보이지만, 사실 나름의 패턴이 있음

Salting and Key Streching

bcrypt - Salting & Streching 대표적 라이브러리

인가 (Authorization)

https://wave1994.tistory.com/66?category=872868

profile
def backend_engineer():

0개의 댓글