금융관련지식

핀테크 : OAuth에 대해

chaebideas77 2026. 6. 17. 23:57

출처 : 금융결제원 오픈 API 개발자사이트

OAuth란?

Open Authorization의 줄임말

기존 방식 (아이디/비밀번호 공유): 내 집(은행 계좌)에 청소 대행업체(핀테크 앱)를 부르기 위해

내 집 현관문 비밀번호(금융사 ID/PW)를 통째로 알려주는 방식 / 대행업체가 내 방 서랍을 뒤질 수도 있고, 비밀번호가

유출될 위험이 있어 매우 위험

OAuth 방식 (안전한 위임): 내가 아파트 관리사무소(은행)에 말해서 "이 청소부에게 딱 오늘 하루만 거실 청소를 할 수 있는 '임시 출입증(Access Token)'을 발급해 주세요"라고 요청하는 방식

대행업체는 현관 비밀번호를 몰라도 이 출입증만 있으면 안전하게 들어와 허락된 일만 할 수 있음.

 

인증 : 은행(Resource Server)이 나(사용자)에게 "당신 우리 은행 고객 맞습니까?"라고 확인

권한부여 : 나(사용자)가 은행(Resource Server)에 "내가 이 토스(프로그램)라는 앱을 믿고 쓸 테니, 내 계좌 잔액을 읽어갈 수 있는 권한을 주겠소"라고 허락, 그러면 토스는 Access Token(임시 출입증)을 획득

 

🧩 OAuth 3-Legged의 핵심 주인공 3인방

1. 자원 소유자 (Resource Owner) ➔ '프로그램을 쓰는 사용자(고객)' • 데이터의 진짜 주인, 오픈뱅킹 앱을 쓸 때 본인 인증을 통해 금융사에 "내 정보를 저 앱에 주라"고 승인해 주는 역할

.2. Client ➔ '이용기관이 만든 핀테크 프로그램(앱/웹)'

• 사용자의 허락을 받아 금융사 API를 호출하는 주체 (예: 카카오페이, 토스)

3. 금융사 서버 (2가지 역할 분담)

인증 서버 (Authorization Server): 사용자가 승인하면, 앱이 안전하게 접근할 수 있도록 가상의 임시 출입증

                                                         (`Access Token`)을 발급해 주는 문지기

자원 서버 (Resource Server): 발급된 출입증을 검증하고, API를 통해 실제 계좌 잔액이나 거래 내역 같은 보호된 자원을 제공하는 금고지기 (예: 신한은행, 국민카드).

 

순서 : Resource Owner가 사용자 인증(로그인) → 오픈뱅킹 서버에서 Access Token을 받게 됨.  

          → 사용자 정보에 접근 할 수 있음.

🔄 [Step 1] 사용자 인증 및 권한 범위(Scope) 설정

  1. 인증 요청: Client(이용기관)가 오픈뱅킹망으로 사용자 인증을 요청 (SMS 본인인증 등 수행)
  2. Multi Scope(멀티 스코프) 처리: 사용자가 로그인함과 동시에 권한 범위를 설정
    • 조회 권한 (inquiry): 단순 잔고 및 거래내역 확인용
    • 출금 권한 (transfer): 송금 및 충전용 (출금 동의를 위해 ARS 인증 및 공인인증 전자서명 등 추가 보안 절차 진행)
  3. 결과 반환: 등록 절차가 완료되면 지정된 Callback URL을 통해 정상등록 여부와 함께 '주요 반환 정보'를 Client에게 안전하게 넘김.

🔑 [Step 2] 이용기관(Client) 인증 및 Access Token 발급

  1. Client 검증: Client가 오픈뱅킹 서버에 Access Token을 요청할 때, 사용자의 동의 결과뿐만 아니라 자신의 고유 키값인 Client ID / Secret을 함께 전달 (금융결제원에 등록된 안전한 이용기관인지 2차 검증)

2. 토큰 생성 및 결과 반환: 오픈뱅킹은 해당 Client가 유효함을 확인한 뒤, JSON 형태로 Access Token, 만료일자, 허용된 Scope, 이용기관코드를 반환

3. API 데이터 접근: Client는 발급받은 유효한 Access Token을 들고 오픈뱅킹 API에 접근하며, 오픈뱅킹은 토큰의 권한 범위 내에 있는 자원만 필터링하여 제공

 

Client(핀테크 앱)가 고객의 실제 은행명과 계좌번호를 자체 DB에 직접 수집·보관하는 것은 금지

(핀테크 이용번호 매핑): 계좌 등록 성공 시 오픈뱅킹은 실제 계좌번호 대신 24자리의 가상 계좌번호인 '핀테크 이용번호'를 발행

Client는 이 가상 번호와 내부 User ID를 매핑 테이블로 연결하여 보관

 

 

이용기관 (Client)는 유효한 Access Token을 갖고 오픈뱅킹한테 간다.

오픈 뱅킹은 유효하네?라고 하면서 Client가 접근할 수 있는 ID 와 비밀번호를 제공

Client은 이제 API에 접근이 가능해지고 오픈뱅킹은 자신이 가지고 있는 API 중에서 요구한 데이터를 준다.

'금융관련지식' 카테고리의 다른 글

FDS  (0) 2026.06.23