마이데이터 서비스 시범 시행 : 스크래핑 금지? API 의무 적용? 뭐가 다른 거죠
12월 1일, 마이데이터(본인신용정보관리업) 본허가를 받은 사업자 중 일부가 참여한 시범 서비스가 출범하였습니다. 이번 시범 서비스 시행에 참여한 것은 국민 ・ 농협 ・ 신한 ・ 우리 등 은행권이 6개로 가장 많았으며, 금융투자는 3개사, 카드는 5개사, 상호금융 1개사, 그리고 핀테크 ・ IT 업계는 2개사였습니다.
당초 마이데이터 사업은 올해 8월 4일부터 시행될 예정이었습니다. 하지만 마이데이터의 핵심인 스크래핑 금지, API 구축에 더 많은 시간이 필요하다는 업체들의 요구에 의해 내년 1월로 밀렸죠.¹ 그럼에도 불구하고 시중은행이나 대형 증권사 등 일부 사업자만이 시범 기간에 맞추어 서비스를 내놓았습니다. 이는 금융보안원이 요구하는 기능적합성 심사를 통과하기 위해선 표준 API를 구축해야 하는데, 개발 리소스 투입 및 구축 비용 등 업체들이 직면한 많은 어려움이 있었기 때문입니다.
대체 스크래핑이 무엇이고, API는 뭐길래 마이데이터에 관심을 갖는 사업자들이 큰 여러움을 겪는 것인지! 최대한 쉽게 알아보겠습니다.
고객의 개인정보 인증하고 필요한 정보 가져갈게 : "스크래핑"
스크래핑(Scraping), 이름에서도 알 수 있듯이 스크래핑은 시스템이나 웹사이트에 있는 데이터 중 특정 정보를 긁어오는 기술을 뜻합니다. 1990년대 말부터 국내에 보편화되었으며, 기술 도입 초기에는 웹사이트에서 원하는 콘텐츠를 수집하고 저장하여 정보화하기 위해 사용되었습니다. 현재 많은 플랫폼 사업자들이 스크래핑 기술을 활용하고 있습니다. 고객의 동의에 기반하여 얻어진 개인정보를 이용하여 특정 금융사나 공공기관, 그리고 정부 사이트에서 필요한 정보를 자동으로 추출하는 형태로 말이죠.
비대면 금융 서비스를 떠올리면 좀 더 쉽게 이해가 되실 겁니다. 토스와 카카오뱅크와 같은 비대면 금융 서비스가 나오기 전까지만 해도, 우리는 특정 은행의 계좌정보를 보기 위해 은행에 직접 방문하거나 각 은행사의 홈페이지 또는 앱을 이용해야 했습니다. 하지만 이제는 여러 금융 정보를 모아 볼 수 있는 플랫폼사 하나만 선택하면 됩니다. 가입과 개인 인증 절차만 거친다면, 플랫폼사가 고객을 대신하여 스크래핑 기술로 여러 금융사의 데이터를 모아옵니다. 때문에 하나의 앱에서 여러 은행의 계좌 내역을 모아 볼 수 있는 것이죠.
고객의 개인정보 여기 있어, 그러니 정보 줘 : "API"
API는 애플리케이션 프로그래밍 인터페이스(Application Programming Interface)의 줄임말입니다. 마이데이터 관련 여러 기사를 보면 스크래핑이 금지되고 API를 도입한다는 이야기가 많은데요. 때문에 두 가지가 반대되는 개념이라고 생각하기 쉽습니다. 하지만 스크래핑과 API가 반대되거나 별개의 개념이라고 여기면 이해가 어렵습니다.
API는 서로 다른 응용 프로그램 사이에 데이터를 주고 받기 위한 일종의 매개체를 의미합니다. 예를 들어, 식당에서 주문을 하는 상황을 떠올려볼까요? 손님은 메뉴판을 보고 원하는 음식을 주문합니다. "짜장면 1그릇, 짬뽕 1그릇, 콜라 1잔 주세요" 주문을 들은 웨이터는 주방에 요구사항을 전달하고 완성된 음식을 손님에게 줍니다. 이때 주문을 전달하고 음식을 나르는 역할을 하는 웨이터가 API라고 볼 수 있습니다.
위와 같은 상황이 서로 다른 프로그램 사이에서 벌어졌다고 상상해 봅시다. 클라이언트*는 비대면 금융 서비스 플랫폼을 통해 가입한 모든 은행의 계좌 정보를 보고 싶습니다. 정해진 규칙에 맞게 이름, 휴대폰 번호, 주민등록번호 등을 입력합니다. API는 입력된 값을 금융사 홈페이지로 전달하고, 요청된 값에 맞게 금융사는 API에게 데이터를 전달합니다. 이러한 과정을 통해 최종적으로 클라이언트는 알맞은 정보를 볼 수 있는 것이죠.
프로그램 상에는 모든 과정이 코드로 진행되기 때문에 API가 데이터를 호출하는 과정을 간단히 그리기는 어렵습니다. 하지만 API의 역할이 각기 다른 프로그램 간에 원하는 데이터를 주고받기 위해 "어떠한 내용을, 어디에, 어떻게 넣어야 하는지"를 명시한 규칙의 집합이자, 데이터 전달 중개자임을 이해한다면 충분합니다.
* 클라이언트 : 서버를 통해 정보를 요청하고 제공받는 응용프로그램 또는 서비스, 혹은 프로그램을 이용하고 있는 고객을 의미하기도 한다.
스크래핑과 API의 차이점
앞선 스크래핑과 API 설명의 소제목에 '가져갈게'와 '줘'의 차이점이 보이시나요? 두 개념의 차이는 정보 전달의 주체가 다른 것에서 발생합니다. 스크래핑은 플랫폼사가 고객의 정보를 가지고 고객 대신 인증 절차를 거쳐 직접 필요한 정보를 '가져오는' 기술입니다. 따라서 정보를 전달하는 주체가 플랫폼사가 되는 것이죠.
반면에 API를 이용하면 고객의 개인정보가 필요한 것은 스크래핑과 동일하지만, 금융기관이나 정부 사이트 등에 '내가 00 고객의 정보를 가지고 있어, 이런 정보가 필요하니 줘!'라고 요구하고 고객의 정보를 '받아올 수' 있습니다. 즉, 정보 전달 주체가 데이터를 가지고 있는 해당 기관 또는 업체가 되는 것입니다.
데이터를 다루는 사업은 매우 복잡하기 때문에 많은 금융 IT 사업자들이 필요와 적용 가능 여부에 맞추어 스크래핑과 API 방식을 복합적으로 활용하고 있습니다. 하지만 내년부터 개인신용정보에 대한 스크래핑 기술 이용은 전면 금지되고 마이데이터 사업자는 의무적으로 API를 적용해야 합니다.
오늘 전달드린 컨텐츠만으로는 스크래핑과 API에 대해 이해하기 어려웠을 수 있습니다. 그만큼 복잡한 개념이기 때문이죠. API에 대해 더 많은 정보를 얻고 싶다면, 코드에프가 업로드한 다른 컨텐츠들을 참고하시기 바랍니다.
[API, 더 자세히 알고 싶다면?]
- 스크래핑과 API, 뭐가 다르죠?
- 금융권은 왜 오픈 API(Open API)를 주목하고 있을까?
- CODEF API상품이 궁금하다면? CODEF API 개별 상품 소개 (1원 계좌인증, 실명계좌 인증)
코드에프는 앞으로도 스크래핑 기술과 API에 대해 다양하고 알찬 이야기를 전달할 예정입니다. 마이데이터 사업 전개 과정과 얽힌 키워드들의 개념이 궁금하다면 앞으로도 코드에프 블로그에 관심 가져주시기 바랍니다 : )
[참고 자료]
코드에프는 데이터를 활용한 핀테크 서비스를 지원하며 서비스 제공 기업이 온전히 서비스에만 집중할 수 있도록 돕습니다. 코드에프는 복잡한 절차를 간결하게 바꾸고, 수고로움을 줄이고자 노력합니다. 또한 국내시장에서만 머무르지 않고 전세계의 데이터를 중계해 주는 것을 목표로 합니다. 코드에프가 궁금하시다면 아래 배너를 눌러 자세한 내용을 확인해보세요 : )