인증 & 인가

Jivyy·2020년 5월 22일
0
post-thumbnail

인증

인증은 무엇이고 왜 할까요?

  • 인증 : 회원가입 & 로그인
  • 인증이 필요한 이유?

인증에서 필요한 것?
-아이디, 이메일주소, 비밀번호 등. 비밀번호가 가장 중요

  • 비밀번호를 어떻게 관리해야 하는가?
    : 법규상의 강제. 개인정보보호법에서 개인정보의 암호화에 대해 규정하고 있다.

  • 통신시 : 개인정보를 주고받을 때 SSL를 적용해서 암호화해야함(HTTP)

  • DATABASE 에 저장시 개인정보를 해싱하여 복원할 수 없게 해야 함

암호화를 하는 방법?

  • 단방향 해쉬 : 본래 자료구조에서 빠른 자료의 검색, 데이터의 위변조 체크를 위해서 쓰이지만 암호학적 용도로도 사용한다.
  • MD5, SHA-1(둘은 보안이 취약), SHA-256 등이 있다.
  • 결과만 봐서는 당장 식별이 불가능하므로 완벽해보이지만 같은 알고리즙이기 때문에 같은1234에 대해서는 항상 같은 결과가 도축된다.
  • 이와 같은 허점을 이용해서 가능한 모든 경우의 수를 모두 해시값으로 만들어서 판매하는 서비스도 존재(rainbowtable)
  • 이런 허점ㅇ르 보완하고자 salting 과 key Stretching 이라는 방법이 생겨남.
    소금을 치듯 : 생성된 해시에 임의로 생성한 문자열을 합쳐서 해싱하는 것.

인가

  • 사용자가 서버에 로그인 하면 해당 사용자가 맞는지 확인하는 과정
  • http 의 특징 :
    - request/response 요청과 응답
    • stateless(저장하지 않음)
  • 위의 특징 때문에 서버는 사용자가 로그인 했을 경우 사용자를 어떻게 식별하는가?
    - 헤더에 토큰을 저장해서 request를 보낸다.




profile
나만의 속도로

0개의 댓글