KR20120010756A - Otp 서명을 이용한 id 기반의 소액 결제 시스템 및 그 방법 - Google Patents
Otp 서명을 이용한 id 기반의 소액 결제 시스템 및 그 방법 Download PDFInfo
- Publication number
- KR20120010756A KR20120010756A KR1020100072301A KR20100072301A KR20120010756A KR 20120010756 A KR20120010756 A KR 20120010756A KR 1020100072301 A KR1020100072301 A KR 1020100072301A KR 20100072301 A KR20100072301 A KR 20100072301A KR 20120010756 A KR20120010756 A KR 20120010756A
- Authority
- KR
- South Korea
- Prior art keywords
- payment
- credential
- otp
- password
- user
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/22—Payment schemes or models
- G06Q20/29—Payment schemes or models characterised by micropayments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4012—Verifying personal identification numbers [PIN]
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
본 발명은 OTP(One-Time Password) 서명을 이용한 ID 기반의 소액 결제 시스템 및 그 방법에 관한 것으로, 일반적인 브라우저 환경에서 OTP(One-Time Password) 서명을 이용하여 ID 기반의 소액 결제 서비스를 제공하기 위한 시스템 및 그 방법을 제공하고자 한다.
이를 위하여, 본 발명은, 외부의 유료 서비스 시스템의 과금 요청을 처리하기 위한 결제 방법에 있어서, 사용자를 ID(Identifier) 기반으로 결제 서비스에 가입시키는 가입 단계; 결제 서비스 가입자로부터의 ID와 비밀번호를 이용하여 OTP(One-Time Password)를 생성하고 결제 크리덴셜을 생성하여 상기 생성된 OTP를 상기 결제 서비스 가입자에게 발급하고 쿠키를 설정하는 결제 크리덴셜 설정 단계; 및 결제 크리덴셜이 설정되어 있음에 따라 결제 내역을 확인한 상기 결제 서비스 가입자로부터 OTP 서명(Signature)을 이용한 결제를 요청받음에 따라 상기 OTP 서명(Signature)을 검증하여 결제 처리를 수행하는 결제 처리 단계를 포함한다.
이를 위하여, 본 발명은, 외부의 유료 서비스 시스템의 과금 요청을 처리하기 위한 결제 방법에 있어서, 사용자를 ID(Identifier) 기반으로 결제 서비스에 가입시키는 가입 단계; 결제 서비스 가입자로부터의 ID와 비밀번호를 이용하여 OTP(One-Time Password)를 생성하고 결제 크리덴셜을 생성하여 상기 생성된 OTP를 상기 결제 서비스 가입자에게 발급하고 쿠키를 설정하는 결제 크리덴셜 설정 단계; 및 결제 크리덴셜이 설정되어 있음에 따라 결제 내역을 확인한 상기 결제 서비스 가입자로부터 OTP 서명(Signature)을 이용한 결제를 요청받음에 따라 상기 OTP 서명(Signature)을 검증하여 결제 처리를 수행하는 결제 처리 단계를 포함한다.
Description
본 발명은 OTP(One-Time Password) 서명을 이용한 ID 기반의 소액 결제 시스템 및 그 방법에 관한 것으로, 더욱 상세하게는 OTP 해쉬를 이용하여 CP/SP(Contents Provider/Service Provider)와 브로커(Broker)와 컨텐츠 사용자 간의 보안성과 신뢰성 문제를 해결하여 간단하게 컨텐츠를 소비할 수 있는 매커니즘을 제공하고, 또한 가상의 ID에 통신사 합산이나 신용카드 또는 포인트 등의 여러 결제 수단이 연동될 수 있도록 하여 소액 결제 서비스를 제공하기 위한 시스템 및 그 방법에 관한 것이다.
본 발명의 일실시예에서 사용되는 용어를 살펴보면 다음과 같다.
먼저, 크리덴셜(Credential)은 정보 시스템의 특정 응용에서 사용하는 암호학적 개인 정보(Personal Information)로서, 한 개인이 사용하는 공개 키 암호 알고리듬을 위한 공개 키/개인 키 쌍, 공인 인증 기관이 발행하는 공개 키 인증서(Certificate), 신뢰하는 루트 인증 기관(예 : KISA 최상위 인증 기관) 관련 정보, 패스워드, 인가 정보 등을 포함하는 암호학적 정보의 총합을 말한다.
그리고 서명(Signature)은 데이터 통신에서 자신임을 나타내는 특정 문자열을 말한다.
그리고 OTP(One-Time Password)는 로그인할 때마다 그 세션에서만 사용할 수 있도록 생성된 1회성 패스워드로서, 동일한 패스워드가 반복하여 사용됨으로써 발생할 수 있는 패스워드 도난 문제를 예방할 수 있다. 일반 패스워드와는 달리 단방향 암호 기반의 해쉬라는 패스워드를 사용하며, 그 세션이 끝나면 폐기되기 때문에 재사용이 불가능하여 안전하다.
유/무선 인터넷 등의 사용 증가와 다양한 단말들이 출시됨에 따라 온라인상에서 유료 컨텐츠를 유통하고자 하는 요구가 크게 증대되었다. 최근에는 "아마존사"의 전자책 단말인 킨들과 "애플사"의 테블릿 단말인 아이패드와 같은 단말들이 출시되고, 이들 단말이 와이파이(WiFi) 또는 3세대(3G) 이동통신 시스템과 같은 무선 네트워크 인터페이스를 탑재함으로써 온라인 컨텐츠 유통 시장에 대한 기대가 증대되고 있다.
유료 온라인 컨텐츠 유통을 위해서는 컨텐츠 공급자인 CP/SP(Contents Provider/Service Provider)와 컨텐츠 소비자인 사용자 사이에 이용료를 교환할 수 있도록 해주는 지불 결제 수단이 필수적으로 요구된다. 전자책(e-book) 컨텐츠의 경우 "아마존사"의 킨들에서는 아마존 계정에 킨들 디바이스 시리얼 넘버를 등록하고 구매 시 매핑된 아마존 계정의 신용카드를 통하여 결제가 이루어진다. 그리고 "애플사"의 아이팟, 아이폰 등에서는 해당 단말에 등록된 애플 ID(Identifier, 식별자)에 매핑된 신용카드를 통해서 결제가 이루어진다. 그리고 "구글사"의 안드로이드 단말에서는 구글 앱스토어 이용 시 구글 계정에 등록된 신용카드를 통하여 결제가 이루어진다.
개인용 컴퓨터(PC) 기반의 브라우저상에서 온라인에서의 물건 구매를 위한 결제는 페이팔 체크아웃(PayPal Checkout)이나 구글 체크아웃(Checkout) 또는 클릭앤바이(ClickandBuy)와 같이 해당 결제 서비스 제공자의 ID를 생성하고 신용카드를 매핑하여 결제 시 결제 서비스 제공자의 ID와 비밀번호로 결제 서비스 제공자의 웹 페이지에서 인증을 받고 매핑된 신용카드를 확인하는 등으로 결제가 이루어진다.
온라인에서의 컨텐츠는 대부분 1만원 이하의 소액으로 이루어져 있으며, 국내에서는 통신사 요금에 합산하여 청구하는 회수 대행 서비스와 도서 상품권 등을 이용하여 결제를 처리하는 경우가 많이 있다.
최근에는 휴대 단말의 등장과 신문, 전자책(e-book) 등의 유료화로 온라인 컨텐츠 시장에 대한 기대가 커지고 있다. 뿐만 아니라 롱-테일(Long-Tail)의 소액의 컨텐츠들을 유통하기 위해서는 소액의 결제를 빠르고 안전하게 제공할 수 있는 소액 결제 방법이 필요하다. 그리고 이런 소액 컨텐츠들은 예를 들어 유료화된 온라인 신문 서비스의 기사와 같이 소액의 컨텐츠를 다량으로 소비할 수 있도록 해주어야 한다.
전술한 바와 같은 결제 방법들은 아주 작은 금액(1천원 이하)의 온라인 컨텐츠를 결제하기에는 적합하지 않은 단점이 있다. "구글사" 또는 "페이팔(PayPal)사" 등이 제공하는 체크아웃(Checkout) 서비스의 경우 결제 발생 시에 매번 해당 회사의 인증 페이지로 이동하여 ID/비밀번호(Password)를 입력하도록 되어 있으며, 매번 결제 시에 신용카드 또는 계좌이체 등의 트랜잭션(Transaction)이 발생하여 비용이 증가하게 되는 단점이 있다. 그리고 통신사 요금에 합산하여 청구하는 회수 대행 서비스의 경우 인증을 위하여 ARS(Automatic Response Service) 인증 또는 SMS(Short Message Service) 인증 등을 수행하여야 하기 때문에 비용이 크게 발생하며, 한 번에 여러 컨텐츠를 소비하기에는 적합하지 않은 단점이 있다.
또한, 킨들이나 아이팟 등에서 사용하는 하드웨어에 매핑된 ID(Identifier) 기반의 결제 서비스는 단말을 제어할 수 있는 폐쇄적인 환경에서만 사용이 가능하고, 특히 특정 하드웨어와 특정 클라이언트에서만 사용이 가능하며 일반적인 웹 환경에서는 사용이 불가능하다. 또한, 신용카드가 필수적으로 이용되어야 하기 때문에 이용이 불편하다.
전술한 바와 같이, 상기와 같은 종래 기술은 소액 결제에 적합하지 않거나 특정 환경에 제약되는 문제점이 있으며, 이러한 문제점을 해결하고자 하는 것이 본 발명의 과제이다.
따라서 본 발명은 일반적인 브라우저 환경에서 OTP(One-Time Password) 서명을 이용하여 ID 기반의 소액 결제 서비스를 제공하기 위한 시스템 및 그 방법을 제공하는 데 그 목적이 있다.
즉, 본 발명은 OTP(One-Time Password) 해쉬를 이용하여 CP/SP(Contents Provider/Service Provider)와 브로커(Broker)와 컨텐츠 사용자 간의 보안성과 신뢰성 문제를 해결하여 간단하게 컨텐츠를 소비할 수 있는 매커니즘을 제공하고, 또한 가상의 ID에 통신사 합산이나 신용카드 또는 포인트 등의 여러 결제 수단이 연동될 수 있도록 하여 소액 결제 서비스를 제공하기 위한 시스템 및 그 방법을 제공하는 데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시 예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 시스템은, 외부의 유료 서비스 시스템의 과금 요청을 처리하는 결제 시스템에 있어서, 결제 서비스 가입자의 ID(Identifier)를 관리하기 위한 ID 관리부; 상기 결제 서비스 가입자와 하나 이상의 외부의 결제 시스템 간의 매핑 정보를 저장하고 있는 저장부; 및 가입자 단말기로부터 수신한 ID와 결제 비밀번호를 이용하여 크리덴셜(Credential)과 OTP(One-Time Password)를 생성하여 상기 가입자 단말기로 발급하며, 상기 외부의 유료 서비스 시스템의 과금 요청에 따라 상기 결제 서비스 가입자의 OTP 서명(Signature)을 검증하고 상기 저장부의 매핑 정보에 따라 상기 하나 이상의 외부의 결제 시스템 중 해당하는 결제 시스템으로 과금을 요청하기 위한 결제 처리부를 포함한다.
한편, 상기 목적을 달성하기 위한 본 발명의 방법은, 사용자를 ID(Identifier) 기반으로 결제 서비스에 가입시키는 가입 단계; 결제 서비스 가입자로부터의 ID와 비밀번호를 이용하여 OTP(One-Time Password)를 생성하고 결제 크리덴셜을 생성하여 상기 생성된 OTP를 상기 결제 서비스 가입자에게 발급하고 쿠키를 설정하는 결제 크리덴셜 설정 단계; 및 결제 크리덴셜이 설정되어 있음에 따라 결제 내역을 확인한 상기 결제 서비스 가입자로부터 OTP 서명(Signature)을 이용한 결제를 요청받음에 따라 상기 OTP 서명(Signature)을 검증하여 결제 처리를 수행하는 결제 처리 단계를 포함한다.
상기와 같은 본 발명은, 자바스크립트(Javascript)가 동작하는 범용 브라우저 환경(PC, 모바일 단말, 셋탑박스 등)에서 안전하고 편리한 소액 결제 서비스를 제공할 수 있는 효과가 있다.
즉, 본 발명은 가입자가 한번 인증 이후 간단히 OTP만을 입력하여 결제를 발생시킬 수 있으며, 이는 아주 작은 단위의 다량의 결제를 발생시키는데 있어서 가입자에게 편리함을 제공하며, 특히 모바일 단말의 브라우저에서 결제를 발생시키는 경우 가입자가 한 번의 ID/비밀번호(Password)를 입력하고 그 이후부터는 간단히 4자리의 OTP를 입력함으로써 결제 서비스를 받을 수 있다. 다시 말하면, 본 발명에서는 가입자의 본인 정보와 결제 수단을 이용하기 위한 정보들은 사전에 가입 사이트에서만 한번 처리되고 이후에는 ID/비밀번호(Password)와 OTP(One-Time Password)를 이용하여 결제를 진행하기 때문에 고객의 중요한 정보가 노출될 가능성이 없다.
또한, 본 발명에서는 결제 크리덴셜(Credential)이 CNT만큼 OTP(One-Time Password)가 포함되어 해슁(Hashing)되기 때문에 결제 발생 시마다 변경되므로, 패킷 캡쳐 등을 통하여 크리덴셜(Credential) 값을 획득하였다 하더라도 다음 결제 시에는 무의미한 값이 되기 때문에 해킹에 의한 도용이 불가능하다.
또한, 본 발명은 과금 로그가 일정 수준이 쌓이게 되면 이를 수합하여 한 번에 과금 시스템(Billing System)으로 전달함으로써, 과금 시스템(Billing System)과 소액 지불 처리부 간의 트랜잭션(Transaction) 비용을 감소시킬 수 있다.
도 1a는 본 발명에 따른 OTP 서명을 이용한 ID 기반의 소액 결제 시스템의 일실시예 구성도,
도 1b는 본 발명에 따른 도 1의 소액 결제 처리부의 일실시예 상세 구성도,
도 1c는 본 발명에 따른 OTP 서명을 이용한 ID 기반의 소액 결제 방법에 대한 일실시예 흐름도,
도 2는 본 발명에 따른 통신회사 합산 청구 시의 가입 과정에 대한 일실시예 흐름도,
도 3은 본 발명에 따른 신용카드 합산 청구 시의 가입 과정에 대한 일실시예 구성도,
도 4는 본 발명에 따른 결제 크리덴셜(Credential) 설정 과정에 대한 일실시예 흐름도,
도 5는 본 발명에 따른 결제 크리덴셜(Credential)이 쿠키에 설정되어 있는 경우의 결제 처리 과정에 대한 일실시예 흐름도,
도 6은 본 발명에 따른 결제 크리덴셜(Credential)이 쿠키에 설정되어 있으나 유효하지 않은 경우의 결제 처리 과정에 대한 일실시예 흐름도이다.
도 1b는 본 발명에 따른 도 1의 소액 결제 처리부의 일실시예 상세 구성도,
도 1c는 본 발명에 따른 OTP 서명을 이용한 ID 기반의 소액 결제 방법에 대한 일실시예 흐름도,
도 2는 본 발명에 따른 통신회사 합산 청구 시의 가입 과정에 대한 일실시예 흐름도,
도 3은 본 발명에 따른 신용카드 합산 청구 시의 가입 과정에 대한 일실시예 구성도,
도 4는 본 발명에 따른 결제 크리덴셜(Credential) 설정 과정에 대한 일실시예 흐름도,
도 5는 본 발명에 따른 결제 크리덴셜(Credential)이 쿠키에 설정되어 있는 경우의 결제 처리 과정에 대한 일실시예 흐름도,
도 6은 본 발명에 따른 결제 크리덴셜(Credential)이 쿠키에 설정되어 있으나 유효하지 않은 경우의 결제 처리 과정에 대한 일실시예 흐름도이다.
상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되어 있는 상세한 설명을 통하여 보다 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다.
그리고 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때 이는 "직접적으로 연결"되어 있는 경우뿐만 아니라 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함" 또는 "구비"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함하거나 구비할 수 있는 것을 의미한다.
도 1a는 본 발명에 따른 OTP 서명을 이용한 ID 기반의 소액 결제 시스템의 일실시예 구성도이다.
도 1a에 도시된 바와 같이, 본 발명에 따른 OTP 서명을 이용한 ID 기반의 소액 결제 시스템은, 결제 서비스 가입자의 ID(Identifier)를 관리하기 위한 ID 관리부(11), 소액 결제 서비스의 가입자와 하나 이상의 결제 시스템(과금 시스템) 간의 매핑 정보를 저장하고 있는 매핑 데이터베이스(DB, 12), 및 외부 가입자 단말기의 브라우저(16)를 통하여 입력되는 ID와 결제 비밀번호를 이용하여 크리덴셜(Credential)과 OTP(One-Time Password)를 생성하여 OTP를 브라우저(16, 가입자 단말기)에게 발급하며, CP/SP 시스템(15)으로부터의 소액 과금 요청에 따라 가입자의 OTP 서명(Signature)을 검증하고 상기 매핑 데이터베이스(DB, 12)의 매핑 정보에 따라 해당 과금 시스템(Billing System, 14)으로 과금을 요청하며, 상기 CP/SP 시스템(15)에 소액 결제를 위한 API(Application Programming Interface)을 제공하기 위한 소액 결제 처리부(13)를 포함한다.
부가적으로, 상기 본 발명에 따른 OTP 서명을 이용한 ID 기반의 소액 결제 시스템은, 가입자의 신용카드나 통신회사와의 계약 또는 선불카드(포인트 포함) 등의 과금 관련 정보를 이용하여 가입자에게 소액을 과금하기 위한 과금 시스템(Billing System, 결제 수단, 14), 가입자에게 유료 컨텐츠 또는 유료 서비스를 제공하기 위한 CP/SP 시스템(15), 및 가입자의 단말에 탑재되어 있는 브라우저(16) 등을 더 포함한다.
여기서, 상기 과금 시스템(Billing System, 14)은 신용카드사 과금 시스템, 통신회사 과금 시스템, 및 포인트 과금 시스템 등을 포함한다.
이처럼, 본 발명에서는 소액 결제가 발생할 때 결제 인증을 수행하고, 이때 소액 결제 처리부(13)가 해당 세션에 임시적으로 사용 가능한 OTP(One-Time Password)를 브라우저(16)에게 발급하여 가입자에게 보여주며, 가입자는 이 OTP(One-Time Password)를 이용하여 CP/SP 사이트에서 별도의 인증 과정 없이 소액의 유료 컨텐츠 또는 유료 서비스를 이용할 수 있도록 한다. 이때, 본 발명에서는 가입자의 결제에 대한 동의와 CP/SP에 대한 신뢰성 확인을 위해 OTP 기반 서명(Signature)을 이용한다.
도 1b는 본 발명에 따른 도 1의 소액 결제 처리부의 일실시예 상세 구성도이다.
도 1b에 도시된 바와 같이, 본 발명에 따른 도 1의 소액 결제 처리부(13)는, 외부 자바스크립트(External Javascript) 코드를 생성하여 브라우저(16)로 제공하고, 내부의 각 모듈과 외부 시스템 간의 연동을 위한 외부 API(예 : REST/SOAP)를 제공하기 위한 외부 API 제공 모듈(131), 결제 인증 UI(User Interface)를 브라우저(16)로 제공하여 입력되는 ID/비밀번호를 확인하고, 결제 크리덴셜(Credential)을 발급, 처리 및 확인하며, OTP를 생성하여 발급하기 위한 결제 인증 모듈(132), 가입 UI(User Interface)를 브라우저(16)로 제공하여 가입 처리를 수행하고, ID 관리부(11)와의 연동을 수행하며, 이메일 전송과 콜백 처리를 수행하기 위한 ID 관리 모듈(133), 본인 인증 시스템(예 : 휴대폰, 신용카드, 공인 인증 등)과 연동하여 본인 인증을 수행하기 위한 본인 인증 모듈(134), 페이토큰(Paytoken)을 계산하여 인증하고, 서명(Signature)을 인증하기 위한 서명(Signature) 처리 모듈(135), 합산 계약이나 신용카드의 정보(지불 정보)를 조회하고 결제 키(Key)의 유효성을 체크하여 과금 로그를 생성하고 과금 트랜잭션(Transaction)을 처리하기 위한 과금 처리 모듈(136), CP/SP를 인증하고, CP/SP 크리덴셜(Credential)을 생성하여 관리하며, 접속(Access) 제어를 수행하기 위한 CP/SP 인증 모듈(137), CP/SP 코드를 발급하고 CP/SP 정보를 등록하여 관리하기 위한 CP/SP 관리 모듈(138), 및 CP/SP에 대한 정산 처리를 수행하기 위한 정산 처리 모듈(139)을 포함한다.
도 1c는 본 발명에 따른 OTP 서명을 이용한 ID 기반의 소액 결제 방법에 대한 일실시예 흐름도이다.
먼저, 사용자를 ID(Identifier) 기반으로 소액 결제 서비스에 가입시킨다(151, 도 2 및 도 3 참조).
그리고 가입자로부터의 ID와 비밀번호를 이용하여 OTP(One-Time Password)를 생성하고 결제 크리덴셜을 생성하여 상기 생성된 OTP를 상기 가입자에게 발급하고 쿠키를 설정한다(152, 도 4 참조).
그리고 결제 크리덴셜이 설정되어 있음에 따라 결제 내역을 확인한 상기 가입자로부터 OTP 서명(Signature)을 이용한 결제를 요청받음에 따라 상기 OTP 서명(Signature)을 검증하여 결제 처리를 수행한다(153, 도 5 및 도 6 참조).
도 2는 본 발명에 따른 통신회사 합산 청구 시의 가입 과정에 대한 일실시예 흐름도이다.
본 발명에서는 사용자가 우선 소액 결제 서비스에 대해서 가입을 해야 한다. 가입 과정은 크게 통신사 요금 합산과 신용카드 청구인 경우로 나누어 살펴볼 수 있다. 여기서, 포인트 정산의 경우 신용카드 청구와 유사하게 처리가 가능하므로 별도로 설명하지 않기로 한다. 이때, 통신사 요금 합산인 경우의 가입 과정은 도 2에 도시된 바와 같다. 그리고 신용카드 청구인 경우의 가입 과정은 후술되는 도 3에 도시된 바와 같다.
한편, 가입 과정의 ID로는 일예로 사용자의 이메일(e-mail) 주소를 활용한다. 물론, 이메일(e-mail) 주소를 사용하지 않고 소액 결제 처리부(13)에서 관리하는 ID(Identifier)를 발급받아 사용할 수도 있다. 이는 소액 결제 서비스 가입에 있어서 ID를 만드는 정책과 관련된 부분으로 여러 응용이 가능하다.
먼저, 사용자는 CP/SP의 링크 또는 직접 URL(Uniform Resource Locator)에 주소를 입력하여 혹은 소액 결제 처리부(13)의 결제 시에 ID/비밀번호(Password) 입력창의 링크 등을 통해서 소액 결제 처리부(13)의 가입자 페이지에 접속(Access)한다(201). 이때, 소액 결제 처리부(13)의 가입자 페이지에서는 이미 가입한 가입자의 경우 로그인하여 관리할 수 있는 페이지를 보여주며, 가입하지 않은 사용자에 대해서는 가입 링크로 이동시킨다. 이때, 소액 결제 처리부(13)에서는 사용자에게 서비스 이용 안내/약관 동의 UI(User Interface)를 보여준다(202).
그에 따라, 사용자가 가입 의사 표현으로 약관 동의를 하면(203) 소액 결제 처리부(13)에서는 가입할 이메일 ID를 입력하는 화면(입력창)을 사용자에게 보여준다(204).
그에 따라, 사용자가 이메일 ID를 입력하면(205) 소액 결제 처리부(13)는 ID 관리부(11)로 컨펌-유알엘(Confirm-URL)이 들어가 있는 이메일을 발송한다(206).
그에 따라, 사용자가 ID 관리부(11)의 이메일을 확인하고(207) 해당 이메일에 링크되어 있는 컨펌-유알엘(Confirm-URL)을 클릭하면 소액 결제 처리부(13)로 관련 내용이 전송된다(208).
그러면, 소액 결제 처리부(13)는 결제 수단 종류를 선택하는 UI를 사용자에게 보여준다(209).
그에 따라, 사용자가 결제 수단 종류를 선택하면(210) 소액 결제 처리부(13)는 본인 인증 방법을 선택하는 화면을 사용자에게 보여준다(211).
그에 따라, 사용자가 자신의 환경에 맞는 본인 인증 방법을 선택한다(212). 이때, 가능한 본인 인증 방법으로는 예를 들어 휴대폰 인증, 공인 인증, 신용카드 인증 등이 있을 수 있다.
그러면, 소액 결제 처리부(13)는 선택된 본인 인증 방법(수단)에 따라 본인 인증 정보를 입력하는 UI(User Interface)를 사용자에게 보여준다(213).
그에 따라, 사용자가 본인 인증 방법(수단)에 따른 본인 인증 정보를 입력하면(214) 소액 결제 처리부(13)는 해당 본인 인증 정보를 기반으로 관련 본인 인증 기관 또는 본인 인증 시스템과 연동하여 본인 인증을 수행한다(215).
이후에, 소액 결제 처리부(13)는 해당 사용자의 주민등록번호를 가지고 통신회사 과금 시스템으로 통신회사의 합산 가능한 계약을 조회한다(216).
그러면, 통신회사 과금 시스템은 해당 고객의 합산 가능한 계약을 조회하여 합산 가능 계약 리스트와 실제 결제를 발생시킬 수 있는 결제 키(Key)를 매핑하여 저장하고(217) 합산 가능 계약 리스트(해당 계약 ID=결제 키 포함)와 같은 관련 정보를 소액 결제 처리부(13)로 전달한다(218).
그러면, 소액 결제 처리부(13)는 합산할 계약을 선택하는 UI를 사용자에게 보여준다(219). 이때, 결제 키(Key)는 통신회사 과금 시스템(Billing System)에서 합산 청구를 위한 계약 구별 키로 통신회사 과금 시스템(Billing System)에서 관리하고 있는 키(Key) 값이어도 무관하다.
그에 따라, 사용자(고객)가 합산할 계약을 선택하면(220) 소액 결제 처리부(13)는 결제 비밀번호를 입력하라는 UI(User Interface)를 사용자에게 보여준다(221).
그에 따라, 사용자가 결제 비밀번호를 입력하면(222) 소액 결제 처리부(13)의 데이터베이스에는 이메일 ID 주소와 고객의 동의 여부 그리고 암호화된 결제 비밀번호, 결제 수단 종류와 합산 청구가 가능한 결제 키(Key)와 기타 정보들이 저장된다(223).
도 3은 본 발명에 따른 신용카드 합산 청구 시의 가입 과정에 대한 일실시예 구성도이다.
먼저, 사용자는 CP/SP의 링크 또는 직접 URL(Uniform Resource Locator)에 주소를 입력하여 혹은 소액 결제 처리부(13)의 결제 시에 ID/비밀번호(Password) 입력창의 링크 등을 통해서 소액 결제 처리부(13)의 가입자 페이지에 접속(Access)한다(301). 그러면, 소액 결제 처리부(13)에서는 사용자에게 서비스 이용 안내/약관 동의 UI(User Interface)를 보여준다(302).
그에 따라, 사용자가 가입 의사 표현으로 약관 동의를 하면(303) 소액 결제 처리부(13)에서는 가입할 이메일 ID를 입력하는 화면(입력창)을 사용자에게 보여준다(304).
그에 따라, 사용자가 이메일 ID를 입력하면(305) 소액 결제 처리부(13)는 ID 관리부(11)로 컨펌-유알엘(Confirm-URL)이 들어가 있는 이메일을 발송한다(306).
그에 따라, 사용자가 ID 관리부(11)의 이메일을 확인하고 해당 이메일에 링크되어 있는 콜-백(Call-Back)을 클릭하면 ID 관리부(11)로 관련 내용이 전송되며(307), 그에 따라 ID 관리부(11)가 소액 결제 처리부(13)로 콜-백(Call-Back)을 전송한다(308).
이후, 소액 결제 처리부(13)는 결제 수단 종류를 선택하는 UI를 사용자에게 보여준다(309).
그에 따라, 사용자가 결제 수단 종류 중에서 신용카드를 선택하면(310) 소액 결제 처리부(13)는 신용카드 인증 정보 입력창을 사용자에게 보여준다(311).
그에 따라, 사용자가 신용카드 번호와 유효 기간과 같은 신용카드 인증 정보를 입력하면(312) 소액 결제 처리부(13)에서는 해당 신용카드 인증 정보를 신용카드사 과금 시스템으로 전달한다(313).
그러면, 신용카드사 과금 시스템은 해당 신용카드 인증 정보를 확인하여(314) 고객이 해당 신용카드로 결제 가능한 결제 키(Key) 값을 생성하고 상기 생성된 결제 키 값과 해당 신용카드 번호를 매핑하여(315) 소액 결제 처리부(13)로 전달한다(316).
그러면, 소액 결제 처리부(13)는 결제 비밀번호를 입력하는 UI(User Interface)를 사용자(고객)에게 보여주고(317), 그에 따라 사용자가 결제 비밀번호를 입력하면(318) 소액 결제 처리부(13)의 데이터베이스에 이메일 ID 주소와 고객의 동의 여부 그리고 암호화된 결제 비밀번호, 결제 수단 종류와 신용카드로 결제 가능한 결제 키(Key)와 기타 정보들이 저장된다(319). 이때, 결제 키(Key)는 신용카드를 매핑하여 결제를 발생시키기 위한 키(Key) 값으로, 암호화된 신용카드 번호 또는 신용카드사 과금 시스템의 관리 값이 될 수도 있다.
전술한 도 2 또는 도 3의 가입 프로세스(과정)를 통해서 가입된 가입자가 CP/SP의 서비스 이용 시에 본 발명의 소액 결제 서비스를 사용하는 방법은 1) 결제 크리덴셜 설정 과정(도 4 참조), 2) 결제 크리덴셜(Credential)이 쿠키에 설정되어 있는 경우의 결제 처리 과정(도 5 참조), 3) 결제 크리덴셜(Credential)이 쿠키에 설정되어 있으나 유효하지 않은 경우의 결제 처리 과정(도 6 참조)을 포함한다.
도 4는 본 발명에 따른 결제 크리덴셜(Credential) 설정 과정에 대한 일실시예 흐름도로서, ID/비밀번호(Password)를 이용하여 결제 크리덴셜(Credential)을 설정하는 과정을 나타내고 있다.
먼저, 가입자가 CP/SP 시스템(15)의 서비스 중 유료 웹 페이지에 접속(Access)한다(401). 이때, 브라우저(16)는 CP/SP에 대한 외부 자바스크립트(External Javascript) 코드를 소액 결제 처리부(13)로 로딩한다(402). 여기서, 외부 자바스크립트(External Javascript)를 로드할 때 CP/SP의 키(Key) 값과 cpcode 등을 URL에 넘겨주도록 하여 소액 결제 처리부(13)로 전달하고, 소액 결제 처리부(13)는 CP/SP의 키(Key) 값과 IP/도메인(Domain) 주소 및 CP 코드(이하, "cpcode"라 함)를 가지고 CP를 인증하고 CP의 크리덴셜(C0)을 생성한다. 그리고 사이트 피슁을 방지하는데 이용하기 위하여 브라우저의 IP 주소(IPO)를 CP 크리덴셜(Credential)과 매핑하여 저장한다(403). 여기서, cpcode는 CP/SP가 소액 결제 처리부(13)에 서비스 등록 시 할당받는 코드로 CP/SP별 과금 및 정산 분류 코드이다.
그리고 소액 결제 처리부(13)는 상기 생성된 CP 크리덴셜(Credential)에 대한 해쉬(Hash) 함수(H0)를 생성하고 자바스크립트(Javascript)에 함수로 로드한다(404).
이후, 소액 결제 처리부(13)는 자바스크립트(Javascript)를 포함하면서 페이지 로딩을 완료할 때 CP 크리덴셜(Credential)인 C0를 쿠키(CPC=C0)로 설정한다(405).
이후, 가입자(브라우저)가 CP/SP 시스템(15)의 유료 컨텐츠에 접속(Access)하면(406) CP/SP 시스템(15)이 브라우저(16)로 소액 결제 처리부(13)에서 제공하는 자바스크립트(Javascript)의 결제 API를 호출(유료 결제를 위한 결제 함수를 호출, 결제 정보와 cpcode를 포함함)하게 되고(407) 브라우저(16) 상의 자바스크립트(Javascript) 결제 API는 쿠키 값을 조회하여 결제 크리덴셜(Credential)이 있는지 확인한다(408).
상기 확인 결과(408), 결제 크리덴셜(Credential)이 있는 경우 결제 함수 호출 과정(421)으로 진행하고, 결제 크리덴셜(Credential)이 없는 경우 브라우저(16) 상의 자바스크립트(Javascript) 결제 API가 소액 결제 처리부(13)의 결제 인증 페이지로 HTTPS 프로토콜 기반으로 포워딩(Forwarding)한다. 이때, URL로 cpcode 및 CP 크리덴셜 C0를 소액 결제 처리부(13)로 전달한다(409).
그러면, 소액 결제 처리부(13)에서는 "409" 과정에서 전달받은 브라우저 IP(IP0) 및 C0를 "403" 과정에서 저장한 브라우저 IP(IP0) 및 C0와 비교하여 피슁 가능성을 제거한다(410). 그리고 소액 결제 처리부(13)는 ID/비밀번호(Password) 입력창을 가입자에게 보여준다(411).
그에 따라, 가입자가 ID/비밀번호(Password) 입력창에 소액 결제 서비스 가입 시에 설정한 ID/비밀번호(Password)를 입력하면(412), 소액 결제 처리부(13)는 ID/비밀번호(Password)를 검증(확인)하고(413) 해당 ID에 매핑되어 있는 결제 키(Key) 값이 유효한 것인지 과금 시스템(Billing System, 14)에 확인(검증)을 요청한다(414).
그러면, 과금 시스템(14)은 해당 결제 키(Key)와 매핑된 합산 청구 계약 및 신용카드의 유효성을 체크(결제 키 유효성 체크)하여 그 결과를 소액 결제 처리부(13)로 전달한다(415).
그러면, 소액 결제 처리부(13)는 4자리의 OTP(One-Time Password)를 생성하고(416) 결제 크리덴셜(U)을 생성하여 해당 ID에 매핑하여 저장한다(417). 그리고 소액 결제 처리부(13)는 OTP를 브라우저(16)로 출력해 준다(418).
그에 따라, 브라우저(16)가 OTP를 확인하면(419), 소액 결제 처리부(13)는 CP가 설정한 리턴(Return) URL 또는 콜-백(Call_Back) 함수를 이용하여 브라우저(16)의 CP 페이지로 포워딩(Forwarding)한다. 이때, 소액 결제 처리부(13)는 CPC=C0, PTKEN=P(0)=U, CNT=0를 쿠키로 설정한다(420). 그리고 브라우저(16) 상의 CP 페이지에서는 유료 결제를 위한 결제 함수를 다시 호출하여(421) 도 5 또는 도 6의 결제 처리 과정을 통해서 결제가 처리되도록 한다.
도 5는 본 발명에 따른 결제 크리덴셜(Credential)이 쿠키에 설정되어 있는 경우의 결제 처리 과정에 대한 일실시예 흐름도이다.
먼저, CP/SP 시스템(15)이 브라우저(16)로 유료 결제를 위한 결제 함수를 호출하면(501) 브라우저(16) 상에서 결제 함수가 쿠키에 결제 크리덴셜(Credential)이 설정되어 있는지 확인한다(502). 이때, 결제 크리덴셜(Credential)이 설정되어 있는 경우 CP 크리덴셜 C0(CPC=C0), 결제 크리덴셜(PTKEN=P(n+1)), 이용 카운트(CNT=n+1)의 쿠키값이 존재한다. 그리고 CP 크리덴셜 CPC=C0, 결제 크리덴셜 PTKEN=P(n+1), 이용 카운트 CNT=n+1의 결제 함수 호출 시에는 가입자가 해당 결제를 인지하고 금액에 대해서 확인할 수 있도록 결제 정보와 cpcode 정보를 포함하여 결제 함수를 호출한다.
상기 확인 결과(502), 쿠키에 결제 크리덴셜(Credential)이 존재하면 자바스크립트(Javascript) API가 결제 UI(User Interface)를 팝업(Popup)하여 결제 정보를 보여준다(503). 여기서, 결제 UI(User Interface)는 결제 정보(CP/서비스명, 금액) 등을 가입자에게 보여주고, 가입자로부터 OTP(One-Time Password)를 입력받을 수 있는 입력창을 제공한다.
그에 따라, 가입자가 도 4의 결제 크리덴셜 설정 과정에서 ID/비밀번호(Password) 입력을 통해서 소액 결제 처리부(13)로부터 전달받았던 OTP(O0)를 입력한다(504). 그러면, 브라우저(16) 상에서 자바스크립트(Javascript) 함수가 페이토큰(Paytoken, M)을 계산하는데 그 계산식은 다음의 [수학식 1]과 같다(505).
이후, 브라우저(16) 상에서 자바스크립트(Javascript) API가 소액 결제 처리부(13)로 결제 요청을 하는데, 이때 cpcode, C0, cnt, P(n+1), M, 금액, P(n)과 같은 정보를 같이 전달한다(506).
여기서, 소액 결제 처리부(13)에는 기본적으로 이 결제 세션에서의 해쉬 함수인 H0, 자바스크립트(Javascript)가 로드된 브라우저의 IP0, 초기 결제 크리덴셜 P(0), 가입자에게 발급한 OTP(O0), 현재까지 사용된 횟수(이용 카운트, n) 및 현재 결제 크리덴셜 P(n)을 가지고 있다.
따라서 소액 결제 처리부(13)에서는 상기 "506" 과정에서 CP 크리덴셜(Credential, C0)을 받을 때, 기 설정된 브라우저 IP인 IP0와 결제 요청 시의 IP를 확인하여 자바스크립트(Javascript)가 정상 호출된 것인지 또는 피슁에 의해서 호출된 것인지 확인하는 것이 가능하다.
상기 "506" 과정의 정보를 전달받게 되면, 소액 결제 처리부(13)는 결제 크리덴셜 P(n)의 유효 조건을 확인한다(507). 이때, 유효 조건은 초기 결제 크리덴셜 발급 시점 이후 특정 시간, 또는 특정 이용 카운트(cnt) 한도, 또는 특정 금액 한도 등을 유효 조건으로 설정할 수 있다.
상기 확인 결과(507), 결제 크리덴셜 P(n)이 유효하면 소액 결제 처리부(13)는 자체에 저장된 값들을 이용하여 페이토큰(Paytoken, M)을 계산한다(508, 509).
이러한 페이토큰(Paytoken, M) 계산 과정을 좀 더 상세히 살펴보면, 소액 결제 처리부(13)는 먼저 내부에 저장된 정보들을 이용하여 다음의 [수학식 2]와 같이 P(n+1)을 계산한다(508).
그리고 소액 결제 처리부(13)는 상기 계산된 P(n+1) 값과 상기 "506" 과정에서 전달받은 금액을 이용하여 다음의 [수학식 3]과 같이 페이토큰(Paytoken, M)을 계산한다(509).
그리고 소액 결제 처리부(13)는 상기 계산한 페이토큰(Paytoken, M) 값과 상기 "506" 과정에서 전달받은 페이토큰(Paytoken, M) 값을 비교하여 일치하면, 과금 로그를 생성하고 과금 로그의 키값인 트랜잭션 ID(Trid)를 생성한다. 이때, 과금 로그의 상태는 과금 대기 상태가 된다(510).
이후, 소액 결제 처리부(13)는 상기 생성된 트랜잭션 ID(Trid)를 자바스크립트(Javascript) API로 전달하고, 그에 따라 자바스크립트(Javascript) API는 브라우저의 쿠키를 CPC=C0, PTKEN=P(n+1), CNT=n+1로 설정한다(511).
이후, 자바스크립트(Javascript) API는 결제 결과로 트랜잭션 ID(Trid)를 CP/SP 시스템(15)으로 전달하고(512), 그에 따라 CP/SP 시스템(15)에서는 트랜잭션 ID(Trid)를 가지고 소액 결제 처리부(13)로 결제 확인을 요청한다(513).
그에 따라, 소액 결제 처리부(13)는 정상 과금 로그가 있으면 해당 트랜잭션 ID(Trid)에 대한 과금 로그를 과금 확인 상태로 변경하고(514), 과금 확인 결과를 CP/SP 시스템(15)으로 전달한다(515). 그에 따라, CP/SP 시스템(15)에서는 과금 확인 결과를 전달받으면 그 결과에 따라 브라우저(16)로 서비스를 제공한다(516).
그리고 소액 결제 처리부(13)에서는 특정의 과금 전송 조건(예를 들어, 일정 시간이 지나면, 또는 일정 결제 횟수에 따라서, 또는 일정 금액에 도달하면)을 확인하여(517), 해당 과금 전송 조건을 만족하면 한 번에 과금 시스템(Billing System)으로 과금 요청(결제 키)을 한다(518).
한편, 본 발명에서는 도 4에서 전술한 바와 같이 ID/비밀번호(Password)로 한번 인증을 받고, 도 5에서 전술한 바와 같이 OTP를 이용하여 반복적으로 결제를 발생시킬 수 있다. 여기서, OTP는 숫자 4자로 발급하여 고객의 입력 항목을 줄일 수 있을 뿐만 아니라 결제 내역을 고객이 확인하고 고객만이 알고 있는 임시적인 값인 OTP로 서명(Signature)을 생성하기 때문에 도용을 막을 수 있다. 뿐만 아니라 반복적인 결제 시에 ID/비밀번호(Password) 입력을 최소화하여 정보 유출을 크게 줄일 수 있다. 또한, 페이토큰(Paytoken) 값은 CP/SP가 생성할 수가 없으며 결제 크리덴셜(Credential) 값이 매번 바뀌고 결제 크리덴셜(Credential) 값은 OTP를 모르면 생성이 불가능하며 초기 크리덴셜(Credential) 값을 유추할 수 없기 때문에 도용은 불가능하다.
따라서 본 발명에 따르면 가입자는 한번 인증 이후에 간단히 OTP만을 입력하여 결제를 발생시킬 수 있다. 이러한 방식은 아주 작은 단위의 다량의 결제를 발생시키는데 있어서 가입자에게 편리함을 제공할 수 있다. 특히, 모바일 단말의 브라우저에서 결제를 발생시키는 경우 가입자는 한 번의 ID/비밀번호(Password)를 입력하고 그 이후부터는 간단히 4자리의 OTP를 입력함으로써 소액 결제 서비스를 받을 수 있다.
그리고 본 발명에서 결제 크리덴셜(Credential)은 이용 카운트(CNT)만큼 OTP(One-Time Password)가 포함되어 해슁(Hashing)되기 때문에 결제 발생 시마다 변경된다. 즉, 본 발명에서는 OTP(One-Time Password)와 이용 카운트(CNT) 및 이전 이용 카운트의 결제 크리덴셜(Credential)을 이용하여 매 사용 시마다 결제 크리덴셜(Credential)을 변경시킨다. 따라서 패킷 캡쳐 등을 통하여 결제 크리덴셜(Credential) 값을 획득하였다 하더라도 다음 결제 시에는 무의미한 값이 되기 때문에 해킹에 의한 도용이 불가능하다.
그리고 본 발명에서 결제 크리덴셜(Credential)은 특정 조건 동안만 유효하도록 설정이 가능하다. 특정 시간 동안 유효 조건을 체크할 경우 소액 결제 처리부(13)에는 결제 크리덴셜(Credential) 발급 시간을 저장하면서 유효 기간을 지정하고 ID/비밀번호(Password)를 다시 입력하도록 하여 OTP를 발급받도록 할 수 있다. 또는, 이용 카운트(CNT) 값이나 총 이용 금액들을 가지고도 유효 조건을 만들 수 있다. 이때의 결제 처리 과정은 도 6과 같다.
도 6은 본 발명에 따른 결제 크리덴셜(Credential)이 쿠키에 설정되어 있으나 유효하지 않은 경우의 결제 처리 과정에 대한 일실시예 흐름도이다.
먼저, CP/SP 시스템(15)이 브라우저(16)로 유료 결제를 위한 결제 함수를 호출하면(601) 브라우저(16) 상에서 결제 함수가 쿠키에 결제 크리덴셜(Credential)이 설정되어 있는지 확인한다(602). 이때, 결제 크리덴셜(Credential)이 설정되어 있는 경우 CP 크리덴셜 C0(CPC=C0), 결제 크리덴셜(PTKEN=P(n+1)), 이용 카운트(CNT=n+1)의 쿠키값이 존재한다. 그리고 CP 크리덴셜 CPC=C0, 결제 크리덴셜 PTKEN=P(n+1), 이용 카운트 CNT=n+1의 결제 함수 호출 시에는 가입자가 해당 결제를 인지하고 금액에 대해서 확인할 수 있도록 결제 정보와 cpcode 정보를 포함하여 결제 함수를 호출한다.
상기 확인 결과(602), 쿠키에 결제 크리덴셜(Credential)이 존재하면 자바스크립트(Javascript) API가 결제 UI(User Interface)를 팝업(Popup)하여 결제 정보를 보여준다(603). 여기서, 결제 UI(User Interface)는 결제 정보(CP/서비스명, 금액) 등을 가입자에게 보여주고, 가입자로부터 OTP(One-Time Password)를 입력받을 수 있는 입력창을 제공한다.
그에 따라, 가입자가 도 4의 결제 크리덴셜 설정 과정에서 ID/비밀번호(Password) 입력을 통해서 소액 결제 처리부(13)로부터 전달받았던 OTP(O0)를 입력한다(604). 그러면, 브라우저(16) 상에서 자바스크립트(Javascript) 함수가 페이토큰(Paytoken, M)을 계산하는데 그 계산식은 상기 [수학식 1]과 같다(605).
이후, 브라우저(16) 상에서 자바스크립트(Javascript) API가 소액 결제 처리부(13)로 결제 요청을 하는데, 이때 cpcode, C0, cnt, P(n+1), M, 금액, P(n)과 같은 정보를 같이 전달한다(606).
여기서, 소액 결제 처리부(13)에는 기본적으로 이 결제 세션에서의 해쉬 함수인 H0, 자바스크립트(Javascript)가 로드된 브라우저의 IP0, 초기 결제 크리덴셜 P(0), 가입자에게 발급한 OTP(O0), 현재까지 사용된 횟수(이용 카운트, n) 및 현재 결제 크리덴셜 P(n)을 가지고 있다.
따라서 소액 결제 처리부(13)에서는 상기 "606" 과정에서 CP 크리덴셜(Credential, C0)을 받을 때, 기 설정된 브라우저 IP인 IP0와 결제 요청 시의 IP를 확인하여 자바스크립트(Javascript)가 정상 호출된 것인지 또는 피슁에 의해서 호출된 것인지 확인하는 것이 가능하다.
상기 "606" 과정의 정보를 전달받게 되면, 소액 결제 처리부(13)는 결제 크리덴셜 P(n)의 유효 조건을 확인한다(607). 이때, 유효 조건은 초기 결제 크리덴셜 발급 시점 이후 특정 시간, 또는 특정 이용 카운트(cnt) 한도, 또는 특정 금액 한도 등을 유효 조건으로 설정할 수 있다.
상기 확인 결과(607), 결제 크리덴셜 P(n)이 유효하지 않으면 소액 결제 처리부(13)는 브라우저(16) 상의 자바스크립트(Javascript) 결제 API에게 결제 인증 페이지로 포워딩(forwarding)하도록 요청한다(608).
그러면, 브라우저(16) 상의 자바스크립트(Javascript) 결제 API가 소액 결제 처리부(13)의 결제 인증 페이지로 HTTPS 프로토콜 기반으로 포워딩(Forwarding)한다. 이때, URL로 cpcode, CP 크리덴셜 C0 및 결제 크리덴셜 P(n)을 소액 결제 처리부(13)로 전달한다(609).
그러면, 소액 결제 처리부(13)에서는 "609" 과정에서 전달받은 브라우저 IP(IP0) 및 C0를 결제 크리덴셜 설정 과정(403 과정)에서 저장한 브라우저 IP(IP0) 및 C0와 비교하여 피슁 가능성을 제거한다(610). 그리고 소액 결제 처리부(13)는 P(n)으로 ID(Identifier)를 추출하고(611) 비밀번호(Password) 입력창을 가입자에게 보여준다(612). 이때, ID/비밀번호(Password) 입력창에서 ID는 기본 설정하여 가입자의 입력을 최소화할 수 있다. 즉, ID는 결제 크리덴셜(Credential)에 매핑된 ID를 ID/비밀번호(Password) 입력창에 보여주어 결제 비밀번호만 입력하도록 하여 가입자의 편의성을 도모할 수 있다.
그에 따라, 가입자가 비밀번호(Password) 입력창에 소액 결제 서비스 가입 시에 설정한 비밀번호(Password)를 입력하면(613), 소액 결제 처리부(13)는 ID/비밀번호(Password)를 검증(확인)하고(614) 해당 ID에 매핑되어 있는 결제 키(Key) 값이 유효한 것인지 과금 시스템(Billing System, 14)에 확인(검증)을 요청한다(615).
그러면, 과금 시스템(14)은 해당 결제 키(Key)와 매핑된 합산 청구 계약 및 신용카드의 유효성을 체크(결제 키 유효성 체크)하여 그 결과를 소액 결제 처리부(13)로 전달한다(616).
그러면, 소액 결제 처리부(13)는 4자리의 OTP(One-Time Password)를 생성하고(617) 결제 크리덴셜(U)을 생성하여 해당 ID에 매핑하여 저장한다(618). 그리고 소액 결제 처리부(13)는 OTP를 브라우저(16)로 출력해 준다(619).
그에 따라, 브라우저(16)가 OTP를 확인하면(620), 소액 결제 처리부(13)는 CP가 설정한 리턴(Return) URL 또는 콜-백(Call_Back) 함수를 이용하여 브라우저(16)의 CP 페이지로 포워딩(Forwarding)한다. 이때, 소액 결제 처리부(13)는 CPC=C0, PTKEN=P(0)=U, CNT=0를 쿠키로 설정한다(621). 그리고 브라우저(16) 상의 CP 페이지에서는 유료 결제를 위한 결제 함수를 다시 호출하여(622) 결제 처리 과정을 통해서 결제가 처리되도록 한다.
전술한 바와 같이, 실제 과금 시스템(Billing System)으로의 과금 요청은 결제 키(Key)로 과금 요청을 하게 되며, 이때 과금 로그가 일정 수준 이상 누적되면 수합하여 한 번에 전달한다. 따라서 과금 시스템(Billing System)과 소액 결제 처리부 간의 트랜잭션(Transaction) 비용이 감소하게 된다.
뿐만 아니라 가입자의 본인 정보와 결제 수단을 이용하기 위한 정보들은 사전에 가입 사이트에서만 한번 처리되고, 이후에는 ID/비밀번호(Password)와 OTP(One-Time Password)를 이용하여 결제를 진행하기 때문에 고객의 중요한 정보가 노출될 가능성이 없다.
한편, 전술한 바와 같은 본 발명에 따른 소액 결제 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시 예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시 예에 한정되는 것은 아니며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 치환, 변형 및 변경이 가능하다.
그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
본 발명은 개인용 컴퓨터(PC), 셋탑박스, 및 휴대 단말 등과 같은 단말기에서 자바 스크립트가 동작하는 일반적인 브라우저 환경에서의 소액 결제 서비스 등에 이용될 수 있다.
11 : ID 관리부 12 : 매핑 데이터베이스(DB)
13 : 소액 결제 처리부 14 : 과금 시스템(Billing System)
15 : CP/SP 시스템 16 : 브라우저
13 : 소액 결제 처리부 14 : 과금 시스템(Billing System)
15 : CP/SP 시스템 16 : 브라우저
Claims (13)
- 외부의 유료 서비스 시스템의 과금 요청을 처리하는 결제 시스템에 있어서,
결제 서비스 가입자의 ID(Identifier)를 관리하기 위한 ID 관리부;
상기 결제 서비스 가입자와 하나 이상의 외부의 결제 시스템 간의 매핑 정보를 저장하고 있는 저장부; 및
가입자 단말기로부터 수신한 ID와 결제 비밀번호를 이용하여 크리덴셜(Credential)과 OTP(One-Time Password)를 생성하여 상기 가입자 단말기로 발급하며, 상기 외부의 유료 서비스 시스템의 과금 요청에 따라 상기 결제 서비스 가입자의 OTP 서명(Signature)을 검증하고 상기 저장부의 매핑 정보에 따라 상기 하나 이상의 외부의 결제 시스템 중 해당하는 결제 시스템으로 과금을 요청하기 위한 결제 처리부
를 포함하는 결제 시스템.
- 제 1 항에 있어서,
상기 결제 처리부는,
외부 자바스크립트(External Javascript) 코드를 생성하여 상기 가입자 단말기의 브라우저로 제공하고, 외부 시스템과의 연동을 위한 외부 API를 제공하기 위한 외부 API 제공 모듈;
결제 인증 UI(User Interface)를 상기 브라우저로 제공하여 입력되는 ID/비밀번호를 확인하고, 결제 크리덴셜(Credential)을 발급, 처리 및 확인하며, OTP를 생성하여 발급하기 위한 결제 인증 모듈;
가입 UI(User Interface)를 상기 브라우저로 제공하여 가입 처리를 수행하고, 상기 ID 관리부와의 연동을 수행하며, 이메일 전송과 콜백 처리를 수행하기 위한 ID 관리 모듈;
외부의 본인 인증 시스템과 연동하여 본인 인증을 수행하기 위한 본인 인증 모듈;
페이토큰(Paytoken)을 계산하여 인증하고, 서명(Signature)을 인증하기 위한 서명(Signature) 처리 모듈;
지불 정보를 조회하고 결제 키(Key)의 유효성을 체크하여 과금 로그를 생성하고 과금 트랜잭션(Transaction)을 처리하기 위한 과금 처리 모듈;
상기 유료 서비스 시스템을 인증하고, 상기 유료 서비스 시스템에 대한 크리덴셜(Credential)을 생성하여 관리하며, 접속(Access) 제어를 수행하기 위한 유료 서비스 시스템 인증 모듈;
상기 유료 서비스 시스템에 대한 코드를 발급하고 상기 유료 서비스 시스템에 대한 정보를 등록하여 관리하기 위한 유료 서비스 시스템 관리 모듈; 및
상기 유료 서비스 시스템에 대한 정산 처리를 수행하기 위한 정산 처리 모듈
을 포함하는 결제 시스템.
- 외부의 유료 서비스 시스템의 과금 요청을 처리하기 위한 결제 방법에 있어서,
사용자를 ID(Identifier) 기반으로 결제 서비스에 가입시키는 가입 단계;
결제 서비스 가입자로부터의 ID와 비밀번호를 이용하여 OTP(One-Time Password)를 생성하고 결제 크리덴셜을 생성하여 상기 생성된 OTP를 상기 결제 서비스 가입자에게 발급하고 쿠키를 설정하는 결제 크리덴셜 설정 단계; 및
결제 크리덴셜이 설정되어 있음에 따라 결제 내역을 확인한 상기 결제 서비스 가입자로부터 OTP 서명(Signature)을 이용한 결제를 요청받음에 따라 상기 OTP 서명(Signature)을 검증하여 결제 처리를 수행하는 결제 처리 단계
를 포함하는 결제 방법.
- 제 3 항에 있어서,
상기 발급된 OTP를 반복적으로 이용하여 결제 처리를 반복적으로 수행하는 것을 특징으로 하는 결제 방법.
- 제 4 항에 있어서,
상기 발급된 OTP(One-Time Password)와 이용 카운트(CNT) 및 이전 이용 카운트의 결제 크리덴셜(Credential)을 이용하여 매 사용 시마다 결제 크리덴셜(Credential)을 변경시키는 것을 특징으로 하는 결제 방법.
- 제 3 항 내지 제 5 항 중 어느 한 항에 있어서,
상기 가입 단계는,
상기 ID에 상기 결제 서비스 가입자의 동의 여부, 결제 비밀번호, 결제 수단 종류, 및 결제 키(Key)를 매핑하여 저장하는 결제 방법.
- 제 6 항에 있어서,
상기 가입 단계는,
상기 사용자의 가입자 페이지로의 접속(Access)에 따라 상기 사용자의 동의를 받고 이메일 ID를 입력받아 검증하는 과정;
상기 사용자로부터 결제 수단 종류를 선택받는 과정;
상기 사용자에 대한 본인 인증을 수행하는 과정;
상기 사용자의 주민등록번호를 이용하여 합산 가능 계약을 조회하여 상기 사용자로부터 합산할 계약을 선택받는 과정;
상기 사용자로부터 결제 비밀번호를 입력받는 과정; 및
이메일 ID 주소와 상기 사용자의 동의 여부 그리고 암호화된 결제 비밀번호, 결제 수단 종류와 합산 청구가 가능한 결제 키(Key)를 저장하는 과정
을 포함하는 결제 방법.
- 제 6 항에 있어서,
상기 가입 단계는,
상기 사용자의 가입자 페이지로의 접속(Access)에 따라 상기 사용자의 동의를 받고 이메일 ID를 입력받아 검증하는 과정;
상기 사용자로부터 결제 시스템으로 신용카드를 선택받는 과정;
상기 사용자로부터 신용카드 인증 정보를 입력받아 결제 가능한 신용카드 결제 키(Key)를 획득하는 과정;
상기 사용자로부터 결제 비밀번호를 입력받는 과정; 및
이메일 ID 주소와 상기 사용자의 동의 여부 그리고 암호화된 결제 비밀번호, 결제 수단 종류와 신용카드로 결제 가능한 결제 키(Key)를 저장하는 과정
을 포함하는 결제 방법.
- 제 3 항 내지 제 5 항 중 어느 한 항에 있어서,
상기 결제 크리덴셜 설정 단계는,
상기 유료 서비스 시스템에 대한 외부 자바스크립트(External Javascript) 코드의 로딩에 따라 상기 유료 서비스 시스템을 인증하고 상기 유료 서비스 시스템에 대한 크리덴셜(C0)을 생성하여 브라우저 IP 주소(IPO)와 매핑하여 저장하는 제 1 과정;
상기 생성된 유료 서비스 시스템 크리덴셜(C0)에 대한 해쉬 함수(H0)를 생성하고 상기 생성된 유료 서비스 시스템 크리덴셜(C0)을 쿠키로 설정하는 제 2 과정;
유료 결제를 위한 결제 함수를 호출에 따라 결제 크리덴셜(Credential)의 유무를 확인한 결과, 결제 크리덴셜(Credential)이 없음에 따라 결제 인증 페이지로 포워딩(Forwarding)이 이루어지는 제 3 과정;
상기 결제 서비스 가입자로부터 결제 서비스 가입 시에 설정한 ID와 비밀번호를 입력받아 검증하고, 해당 ID에 매핑되어 있는 결제 키(Key)에 대한 검증을 요청하여 유효성을 확인받는 제 4 과정;
상기 검증된 ID와 비밀번호를 이용하여 OTP를 생성하고 결제 크리덴셜(U)을 생성하여 해당 ID에 매핑하여 저장하고 상기 생성된 OTP를 상기 결제 서비스 가입자에게 발급하는 제 5 과정; 및
상기 발급된 OTP가 확인됨에 따라 유료 서비스 페이지로 포워딩(Forwarding)하고, 상기 생성된 유료 서비스 시스템 크리덴셜(C0), 상기 생성된 결제 크리덴셜(U), 및 이용 카운트 "0"을 쿠키로 설정하는 제 6 과정
을 포함하는 결제 방법.
- 제 9 항에 있어서,
상기 제 3 과정에서의 포워딩 시에 전달받은 브라우저 IP 주소 및 유료 서비스 시스템 크리덴셜(C0)을 상기 제 1 과정에서 저장된 브라우저 IP 주소 및 유료 서비스 시스템 크리덴셜(C0)과 비교하여 피슁 가능성을 제거하는 제 7 과정
을 더 포함하는 결제 방법.
- 제 10 항에 있어서,
상기 결제 처리 단계는,
결제 크리덴셜이 설정되어 있음에 따라 결제 내역을 확인한 상기 결제 서비스 가입자로부터 입력받은 OTP를 이용하여 계산된 페이토큰(M)을 이용한 결제를 요청받는 제 8 과정;
상기 설정되어 있는 결제 크리덴셜의 유효 조건을 확인하여 유효함에 따라 기 저장된 값들을 이용하여 페이토큰(M)을 계산하는 제 9 과정;
상기 제 8 과정의 페이토큰(M) 값과 상기 제 9 과정의 페이토큰(M) 값이 일치함에 따라 과금 로그를 생성하고 트랜잭션 ID(Trid)를 생성하는 제 10 과정;
상기 생성된 트랜잭션 ID(Trid)를 이용하여 상기 유료 서비스 시스템에 대한 결제를 확인받아 상기 생성된 과금 로그를 과금 확인 상태로 변경하는 제 11 과정; 및
과금 전송 조건을 만족함에 따라 외부의 결제 시스템으로 과금을 요청하는 제 12 과정
을 포함하는 결제 방법.
- 제 11 항에 있어서,
상기 설정되어 있는 결제 크리덴셜의 유효 조건을 확인하여 유효하지 않음에 따라 결제 인증 페이지로 포워딩(Forwarding)이 이루어지는 제 13 과정; 및
상기 결제 크리덴셜으로 ID(Identifier)를 추출하고, 상기 결제 서비스 가입자로부터 결제 서비스 가입 시에 설정한 비밀번호를 입력받아 검증하고, 해당 ID에 매핑되어 있는 결제 키(Key)에 대한 검증을 요청하여 유효성을 확인받은 후에 상기 제 5 과정으로 진행하는 제 14 과정
을 더 포함하는 결제 방법.
- 제 12 항에 있어서,
상기 결제 크리덴셜의 유효 조건은,
초기 결제 크리덴셜 발급 시점 이후 특정 시간, 또는 이용 카운트(cnt) 한도, 또는 특정 금액 한도 중 어느 하나를 포함하는 것을 특징으로 하는 결제 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100072301A KR20120010756A (ko) | 2010-07-27 | 2010-07-27 | Otp 서명을 이용한 id 기반의 소액 결제 시스템 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100072301A KR20120010756A (ko) | 2010-07-27 | 2010-07-27 | Otp 서명을 이용한 id 기반의 소액 결제 시스템 및 그 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20120010756A true KR20120010756A (ko) | 2012-02-06 |
Family
ID=45835190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100072301A KR20120010756A (ko) | 2010-07-27 | 2010-07-27 | Otp 서명을 이용한 id 기반의 소액 결제 시스템 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20120010756A (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013141456A1 (ko) * | 2012-03-20 | 2013-09-26 | 에스케이플래닛 주식회사 | 전자 결제 서비스 회원 가입 시스템, 장치, 단말기 및 방법 |
KR102130321B1 (ko) * | 2019-04-03 | 2020-08-05 | 주식회사 인포바인 | 비설치형 인증 방법 및 장치 |
-
2010
- 2010-07-27 KR KR1020100072301A patent/KR20120010756A/ko not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013141456A1 (ko) * | 2012-03-20 | 2013-09-26 | 에스케이플래닛 주식회사 | 전자 결제 서비스 회원 가입 시스템, 장치, 단말기 및 방법 |
KR102130321B1 (ko) * | 2019-04-03 | 2020-08-05 | 주식회사 인포바인 | 비설치형 인증 방법 및 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10885138B2 (en) | Methods and computer-readable media for enabling secure online transactions with simplified user experience | |
US9684891B2 (en) | System and a method for access management and billing | |
US20150026062A1 (en) | Payment collection, aggregation and realization apparatuses, methods and systems | |
US20150135279A1 (en) | Personal identity control | |
US8595815B2 (en) | System and method for selectively granting access to digital content | |
EP2495695A1 (en) | Method and system for conducting a monetary transaction using a mobile communication device | |
US20110173105A1 (en) | Utilizing AAA/HLR infrastructure for Web-SSO service charging | |
US9485258B2 (en) | Mediation system and method for restricted access item distribution | |
JP2009534739A5 (ko) | ||
KR102116587B1 (ko) | 사이버 id를 이용하여 보안 트랜잭션을 제공하는 방법 및 시스템 | |
JP4747273B2 (ja) | 電子商取引の実行方法 | |
KR20110114872A (ko) | 통합인증 시스템 및 방법 | |
US20040143521A1 (en) | Method and device for paying for services in networks with a single sign-on | |
US20150127546A1 (en) | Methods for providing internet services through a toll free connection to a user and devices thereof | |
KR20160147015A (ko) | 크레딧 제공 시스템 및 방법 | |
WO2023124107A1 (zh) | 信息查询方法、装置、设备及计算机可读存储介质 | |
RU2321060C1 (ru) | Способ осуществления платежей пользователями мобильной сотовой связи | |
KR20120010756A (ko) | Otp 서명을 이용한 id 기반의 소액 결제 시스템 및 그 방법 | |
KR101346705B1 (ko) | 소액 결제 처리 시스템 | |
US20080028207A1 (en) | Method & system for selectively granting access to digital content | |
CN110365646B (zh) | 将实体关联到第一服务器的方法及装置 | |
KR101383160B1 (ko) | 휴대전화번호를 이용한 청구지불 시스템 및 그 방법 | |
KR20120013666A (ko) | 오티피 장치 등록 방법 및 시스템 | |
KR20100136041A (ko) | 질문/답변 인터페이스를 이용한 휴대폰 소액결제 처리방법 및 시스템 | |
Lin et al. | Automatic Form Filling with Secure Payment Credentials and Biometric Authentication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |