728x90
반응형

인증과 인가의 기본 개념

  • 인증(Authentication): 사용자의 신원을 확인하는 과정 (놀이공원 입장권)
  • 인가(Authorization): 인증된 사용자에게 특정 리소스에 대한 접근 권한을 부여하는 과정 (놀이공원에서만 사용가능)

 

인증 방법의 발전

3.1. 기본 인증

- 사용자 ID와 비밀번호를 직접 입력

- 보안상 취약점 존재

 

3.2. 쿠키/세션 기반 인증

- 브라우저의 쿠키를 이용한 사용자 정보 저장 (클라이언트 저장)

- 서버 측 세션 관리의 도입 (서버 저장)

 

3.3. 토큰 기반 인증

- JWT(JSON Web Token) 활용

- 무상태성(Stateless) 구현으로 서버 부하 감소

- 토큰 기반 인증의 구체적 구현

 

4.1. 액세스 토큰과 리프레시 토큰

- 액세스 토큰: 짧은 유효기간, 실제 인증에 사용

- 리프레시 토큰: 긴 유효기간, 액세스 토큰 갱신에 사용

 

4.2. 토큰 기반 인증의 장단점

장점: 서버 확장성 개선, DB 조회 최소화

단점: 토큰 탈취 시 보안 위험

 

보안 강화 방법

- HTTPS 사용

- HttpOnly 옵션 활용

- 토큰 만료 시간 조절

 

기타 고려사항

- OAuth를 통한 외부 서비스 인증

- 인증 서버 분리

- SSL/TLS 활용

 

결론

인증과 인가 구현보안과 사용자 편의성 사이의 균형을 맞추는 과정입니다. 서비스의 특성과 요구사항에 맞는 최적의 방식을 선택하는 것이 중요합니다.

728x90
반응형

+ Recent posts