학교에서 알려주지 않는 17가지 실무 개발 기술 17장

💡 필자가 책을 읽고, 몰랐던 부분이나, 특별히 메모할만한 내용을 추출하여 기록한 포스팅입니다. 책 내용 외에 추가 설명을 덧붙인 부분들이 있습니다.

[학교에서 알려주지 않는 17가지 실무 개발 기술] 구매하러 가기 ⬇

 

학교에서 알려주지 않는 17가지 실무 개발 기술:문자열 인코딩부터 웹 필수 지식까지

COUPANG

www.coupang.com

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."


OAuth

  • ID/PW 대신 액세스토큰 access token을 기반으로 사용자를 식별
  • API 를 제공하는 리소스서버 resource server만이 발급 가능
  • 일정 시간이 지나면 폐기 revoke

OAuth 의 장점

  • 토큰 발급시 권한을 설정할 수 있음 (가령 읽기만 가능한 토큰을 가지고서는 글쓰기가 불가)
  • 페이스북, 구글과 같은 권한제공기관 authorization server 을 통해서 로그인을 하면 모바일 앱이나 서버에서 ID/PW 를 가지고 있지 않아도 된다. (보안 관리 포인트가 줄어든다.)
  • 해킹시 피해를 최소화 할 수 있다. 필요에 따라 토큰을 폐기할 수도 있다.

OAuth 1.0 vs 2.0

  • 2.0 은 1.0 에 있던 인증(자신을 증명) 절차가 삭제되고 인가(권한을 확인) 절차만 남아있다.
  • 따라서 2.0 은 1.0 에 비해 구조가 간단하고 사용하기가 쉽다.
  • 1.0 에서는 서명, 요청토큰 등 여러 보안 요소들을 직접 구현해야 한다.
  • 2.0은 가로채기 형태의 공격에 취약하다.

OAuth2.0 보안 강화하기

  • https 위에서 OAuth2.0 을 사용하는 것으로 메시지를 암호화해 가로채기 공격을 무효화할 수 있다.
  • 액세스 토큰 만료 시간을 분 단위로 줄인다.
  • 액세스 토큰을 발급한 IP 만 토큰을 사용 가능하게 만든다.
반응형

Designed by JB FACTORY