Authentication에 대한 고찰

succeeding·2022년 4월 19일
0

TokenAuthentication

DRF에서 실습으로 TokenAuthentication을 진행했다.

장점

  • 토큰을 통해서 간단하게 인증 절차를 처리할 수 있다.

문제점

  • 토큰 key 값이 암호화되지 않은채로 헤더에 담겨 오간다. 따라서 해킹에 취약해질 것이라 판단된다. DRF 문서에서도 이 체계를 사용하는 경우 운영상태에선 반드시 https를 사용하라고 하였다.

해결방법

  • https에서는 SSL방식을 사용하여 http헤더와 요청•응답 데이터를 비롯한 모든 메시지 내용을 대칭키로 암호화 및 복호화 진행하므로 이러한 문제점이 보완될 것으로 판단된다.

JWT

JWT 개념에 대한 입문으로 보기 좋은 영상이다.
위 내용를 요약하자면

  • JWT는 서명이 포함된 토큰이며 토큰을 따로 저장할 필요가 없다.
    • (장점) 유저가 증가함에 따라 인증관련 DB(주로 Reids를 사용한다고 함)를 확장하고 유지 관리해야할 필요가 없다.(예시로 QR코드 방문인증)
    • (단점) 대신 DB에 세션을 저장하는 이점을 사용할 수 없다.
      • DB에서 세션 삭제를 통한 다른 기기 강제 로그아웃 기능(인스타그램에 구현됨)
      • 한 계정에 로그인 된 사람들을 조회하거나 수를 제한하는 기능(넷플릭ㅎ스에 구현됨)
  • JWT 역시 기존의 토큰과 마찬가지로 토큰 내용을 암호화하진 않는다고 한다.

JWT를 사용해도 토큰의 내용이 유출될 것이 우려된다면 역시 HTTPS구현은 필요할 것으로 생각된다.

0개의 댓글