OAuth2.0 승인 코드 라이센스 + PKCE 개요

2817 단어 승인OAuth2.0
공용 클라이언트(특히 로컬 응용)를 위한 허가 유형으로 추천되는 허가 코드 허가증 + PKCE를 설명합니다.PKCE는'Proof Key for Code Exchange'의 약자로 picci로 읽힌다.
OAuth2.0 개요 필요성
"OAuth2.0 인증 코드 라이센스 개요"을 참조하십시오.
OAuth2.0의 역할 및 관계성

롤러
설명
자원 소유자
서비스 관리 리소스의 소유자입니다.제3자에게 접근권을 양도하고 자원을 방문한다.
클라이언트
자원 서버를 이용한 응용 프로그램.사용자가 권한을 부여한 접근 권한 범위 내에서 자원에 접근합니다.
자원 서버
데이터와 기능을 제공하는 서비스.자원 소유자의 자원을 관리하고 자원 소유자가 허가한 접근만 받습니다.접속 영패를 사용하여 접속권을 확인하세요.
라이센스 서버
다음 기능이 있는 서버입니다.· 자원 소유자를 인증한다(자원 소유자임을 확인한다).● 자원 소유자의 동의를 얻어 클라이언트의 자원에 접근한다.· 방문 영패를 발행한다.
라이센스 코드 라이센스 + PKCE
라이선스 코드 라이선스 + PKCE는 라이선스 코드 라이선스 요구에 인증 파라미터를 추가해 라이선스 코드의 횡포 공격을 방지하는 방법이다.
인증 코드를 가로로 추출하는 공격
라이선스 코드 가로채기 공격은 자원 소유자가 보유한 장치가 다음과 같은 조건을 충족시킬 때
1. 장치에 제3자 응용 프로그램(클라이언트)과 악성 응용 프로그램이 설치되어 있다.
2. 악성 응용은 클라이언트와 같은 사용자 정의 방안을 설정했다.
3. 악성 응용 프로그램은 클라이언트의 클라이언트 ID를 안다.
권한 수여 서버에서 발행한 권한 수여 코드를 악의적으로 사용하고 이 권한 수여 코드를 사용하여 접근 영패를 얻는 것을 말한다.
라이센스 코드 가로채기 공격 시퀀스

라이센스 코드 라이센스 + PKCE 매개변수
라이선스 코드 라이선스 + PKCE에서 다음 인증용 파라미터를 라이선스 코드 라이선스 요청에 추가합니다.
매개 변수
설명
code_verifier
길이는 43자(최대 128자)[A-Z]/[a-z]/[0-9]/"-"/"."/"_"/"~"로 구성된 임의 문자열입니다.
code_challenge
code_verifier,codechallenge_method로 계산된 값
code_challenge_method
plain 또는 S256기본적으로 S256을 활용합니다.plain:code_challenge=code_verifierS256:code_challenge=BASE64_URL_ENCODE(SHA256(ASCII(code_verifier)))
승인 코드 접지 + PKCE 시퀀스

위에서 말한 바와 같이 code_verifier 매개 변수로부터 원본을 검증함으로써 권한 수여 코드에 대한 악성 응용을 방지할 수 있다.
참고서
  • 분위기 속에서 사용하지 말고 잘 이해해라!OAuth2 정리해.0 사용 자습서
  • 좋은 웹페이지 즐겨찾기